877 lines
44 KiB
C#
877 lines
44 KiB
C#
using System;
|
|
using System.Runtime.CompilerServices;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
|
{
|
|
// Token: 0x02001DC4 RID: 7620
|
|
[Token(Token = "0x2001DC4")]
|
|
public abstract class GOST3411_2012Digest : IDigest, IMemoable
|
|
{
|
|
// Token: 0x0600BE21 RID: 48673 RVA: 0x002A8414 File Offset: 0x002A6614
|
|
[Token(Token = "0x600BE21")]
|
|
[Address(RVA = "0x25A3D70", Offset = "0x25A2D70", VA = "0x1825A3D70")]
|
|
protected GOST3411_2012Digest(byte[] IV)
|
|
{
|
|
byte[] array = new byte[64];
|
|
this.IV = array;
|
|
byte[] array2 = new byte[64];
|
|
this.N = array2;
|
|
byte[] array3 = new byte[64];
|
|
this.Sigma = array3;
|
|
byte[] array4 = new byte[64];
|
|
this.Ki = array4;
|
|
byte[] array5 = new byte[64];
|
|
this.m = array5;
|
|
byte[] array6 = new byte[64];
|
|
this.h = array6;
|
|
byte[] array7 = new byte[64];
|
|
this.tmp = array7;
|
|
byte[] array8 = new byte[64];
|
|
this.block = array8;
|
|
this.bOff = (int)((ulong)64L);
|
|
base..ctor();
|
|
byte[] iv = this.IV;
|
|
Array.Copy(IV, iv, 64);
|
|
byte[] array9 = this.h;
|
|
Array.Copy(IV, array9, 64);
|
|
}
|
|
|
|
// Token: 0x17001DA9 RID: 7593
|
|
// (get) Token: 0x0600BE22 RID: 48674
|
|
[Token(Token = "0x17001DA9")]
|
|
public abstract string AlgorithmName
|
|
{
|
|
[Token(Token = "0x600BE22")]
|
|
[Address(Slot = "13")]
|
|
get;
|
|
}
|
|
|
|
// Token: 0x0600BE23 RID: 48675
|
|
[Token(Token = "0x600BE23")]
|
|
[Address(Slot = "14")]
|
|
public abstract IMemoable Copy();
|
|
|
|
// Token: 0x0600BE24 RID: 48676 RVA: 0x002A84D8 File Offset: 0x002A66D8
|
|
[Token(Token = "0x600BE24")]
|
|
[Address(RVA = "0x25A0580", Offset = "0x259F580", VA = "0x1825A0580", Slot = "15")]
|
|
public virtual int DoFinal(byte[] output, int outOff)
|
|
{
|
|
int num = this.bOff;
|
|
int num2 = 0;
|
|
uint num3;
|
|
num3 -= (uint)num;
|
|
if (num != 0)
|
|
{
|
|
byte[] array = this.m;
|
|
num2++;
|
|
while (num2 != num)
|
|
{
|
|
}
|
|
}
|
|
byte[] array2 = this.m;
|
|
uint num4;
|
|
num4 -= num3;
|
|
int num5 = this.bOff;
|
|
if (num5 != 64)
|
|
{
|
|
byte[] array3 = this.m;
|
|
Array.Copy(this.block, num5, array3, num, (int)num3);
|
|
}
|
|
byte[] array4 = this.m;
|
|
byte[] n = this.N;
|
|
byte[] array5 = this.h;
|
|
this.g_N(array5, n, array4);
|
|
byte[] sigma = this.Sigma;
|
|
byte[] array6 = this.m;
|
|
byte b = (byte)((int)b + num2);
|
|
byte b2;
|
|
b2 += b;
|
|
byte[] array7 = this.h;
|
|
byte[] n2 = this.N;
|
|
byte[] zero = GOST3411_2012Digest.Zero;
|
|
this.g_N(array7, zero, n2);
|
|
byte[] sigma2 = this.Sigma;
|
|
byte[] array8 = this.h;
|
|
byte[] zero2 = GOST3411_2012Digest.Zero;
|
|
this.g_N(array8, zero2, sigma2);
|
|
byte[] array9 = this.h;
|
|
byte[] array10 = this.tmp;
|
|
int length = array9.Length;
|
|
byte[] array11;
|
|
if (length > 0)
|
|
{
|
|
num2++;
|
|
array11 = this.tmp;
|
|
}
|
|
int num6 = 0;
|
|
ulong num7;
|
|
Array.Copy(array11, num6, output, outOff, (int)num7);
|
|
byte[] n3 = this.N;
|
|
this.bOff = (int)((ulong)64L);
|
|
int num8 = 0;
|
|
Arrays.Fill(n3, (byte)num8);
|
|
byte[] sigma3 = this.Sigma;
|
|
int num9 = 0;
|
|
Arrays.Fill(sigma3, (byte)num9);
|
|
byte[] array12 = this.h;
|
|
int num10 = 0;
|
|
byte[] iv = this.IV;
|
|
int num11 = 0;
|
|
ulong num12;
|
|
Array.Copy(iv, num11, array12, num10, (int)num12);
|
|
byte[] array13 = this.block;
|
|
int num13 = 0;
|
|
Arrays.Fill(array13, (byte)num13);
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600BE25 RID: 48677 RVA: 0x002A8670 File Offset: 0x002A6870
|
|
[Token(Token = "0x600BE25")]
|
|
[Address(RVA = "0x8BCFC0", Offset = "0x8BBFC0", VA = "0x1808BCFC0", Slot = "6")]
|
|
public int GetByteLength()
|
|
{
|
|
return 64;
|
|
}
|
|
|
|
// Token: 0x0600BE26 RID: 48678
|
|
[Token(Token = "0x600BE26")]
|
|
[Address(Slot = "16")]
|
|
public abstract int GetDigestSize();
|
|
|
|
// Token: 0x0600BE27 RID: 48679 RVA: 0x002A8680 File Offset: 0x002A6880
|
|
[Token(Token = "0x600BE27")]
|
|
[Address(RVA = "0x25A3100", Offset = "0x25A2100", VA = "0x1825A3100", Slot = "10")]
|
|
public void Reset()
|
|
{
|
|
byte[] n = this.N;
|
|
this.bOff = (int)((ulong)64L);
|
|
int num = 0;
|
|
Arrays.Fill(n, (byte)num);
|
|
byte[] sigma = this.Sigma;
|
|
int num2 = 0;
|
|
Arrays.Fill(sigma, (byte)num2);
|
|
byte[] array = this.h;
|
|
int num3 = 0;
|
|
byte[] iv = this.IV;
|
|
int num4 = 0;
|
|
ulong num5;
|
|
Array.Copy(iv, num4, array, num3, (int)num5);
|
|
byte[] array2 = this.block;
|
|
int num6 = 0;
|
|
Arrays.Fill(array2, (byte)num6);
|
|
}
|
|
|
|
// Token: 0x0600BE28 RID: 48680 RVA: 0x002A86F0 File Offset: 0x002A68F0
|
|
[Token(Token = "0x600BE28")]
|
|
[Address(RVA = "0x25A31B0", Offset = "0x25A21B0", VA = "0x1825A31B0", Slot = "12")]
|
|
public void Reset(IMemoable other)
|
|
{
|
|
int num;
|
|
do
|
|
{
|
|
num = 0;
|
|
}
|
|
while (other == 0);
|
|
this.bOff = num;
|
|
}
|
|
|
|
// Token: 0x0600BE29 RID: 48681 RVA: 0x002A8714 File Offset: 0x002A6914
|
|
[Token(Token = "0x600BE29")]
|
|
[Address(RVA = "0x25A3340", Offset = "0x25A2340", VA = "0x1825A3340", Slot = "7")]
|
|
public void Update(byte input)
|
|
{
|
|
byte[] array = this.block;
|
|
int num = this.bOff;
|
|
int num2 = num - 1;
|
|
this.bOff = num2;
|
|
int num3 = num - 1;
|
|
if (this.bOff == 0)
|
|
{
|
|
byte[] array2 = this.block;
|
|
byte[] n = this.N;
|
|
byte[] array3 = this.h;
|
|
this.g_N(array3, n, array2);
|
|
byte[] n2 = this.N;
|
|
this.addMod512(n2, 512);
|
|
byte[] array4 = this.block;
|
|
byte[] sigma = this.Sigma;
|
|
this.addMod512(sigma, array4);
|
|
this.bOff = (int)((ulong)64L);
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600BE2A RID: 48682 RVA: 0x002A87AC File Offset: 0x002A69AC
|
|
[Token(Token = "0x600BE2A")]
|
|
[Address(RVA = "0x25A0060", Offset = "0x259F060", VA = "0x1825A0060", Slot = "8")]
|
|
public void BlockUpdate(byte[] input, int inOff, int len)
|
|
{
|
|
int num = 0;
|
|
int num2 = this.bOff;
|
|
if (num2 != 64 && len > 0)
|
|
{
|
|
int num3 = num2 - 1;
|
|
byte[] array = this.block;
|
|
this.bOff = num3;
|
|
int num4 = this.bOff;
|
|
if (num4 == 0)
|
|
{
|
|
byte[] array2 = this.block;
|
|
byte[] n = this.N;
|
|
byte[] array3 = this.h;
|
|
this.g_N(array3, n, array2);
|
|
byte[] n2 = this.N;
|
|
uint num5;
|
|
this.addMod512(n2, (int)num5);
|
|
byte[] sigma = this.Sigma;
|
|
uint num6;
|
|
byte b = this.block[(int)num6];
|
|
b = (byte)((int)b + num);
|
|
byte b2;
|
|
b2 += b;
|
|
this.bOff = (int)((ulong)64L);
|
|
}
|
|
while (num4 != 64)
|
|
{
|
|
}
|
|
}
|
|
byte[] array4 = this.tmp;
|
|
int num7 = 0;
|
|
ulong num8;
|
|
Array.Copy(input, inOff, array4, num7, (int)num8);
|
|
if (this.tmp.Length > 0)
|
|
{
|
|
byte[] array5 = this.block;
|
|
num++;
|
|
}
|
|
byte[] array6 = this.block;
|
|
byte[] n3 = this.N;
|
|
byte[] array7 = this.h;
|
|
this.g_N(array7, n3, array6);
|
|
byte[] n4 = this.N;
|
|
int length = n4.Length;
|
|
byte b3 = n4[7];
|
|
n4[7] = b3;
|
|
byte b4;
|
|
b3 += b4;
|
|
byte[] sigma2 = this.Sigma;
|
|
uint num9;
|
|
byte b5 = this.block[(int)num9];
|
|
b5 = (byte)((int)b5 + num);
|
|
byte b6;
|
|
b6 += b5;
|
|
while (len >= 64)
|
|
{
|
|
}
|
|
if (len > 0)
|
|
{
|
|
int num10 = this.bOff;
|
|
byte[] array8 = this.block;
|
|
int num11 = num10 - 1;
|
|
this.bOff = num11;
|
|
int num12 = num10 - 1;
|
|
if (this.bOff == num)
|
|
{
|
|
byte[] array9 = this.block;
|
|
byte[] n5 = this.N;
|
|
byte[] array10 = this.h;
|
|
this.g_N(array10, n5, array9);
|
|
byte[] n6 = this.N;
|
|
int length2 = n6.Length;
|
|
byte b7 = n6[7];
|
|
n6[7] = b7;
|
|
byte b8;
|
|
b7 += b8;
|
|
byte[] sigma3 = this.Sigma;
|
|
byte[] array11 = this.block;
|
|
byte b9 = (byte)((int)b9 + num);
|
|
byte b10;
|
|
b10 += b9;
|
|
this.bOff = (int)((ulong)64L);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600BE2B RID: 48683 RVA: 0x002A89BC File Offset: 0x002A6BBC
|
|
[Token(Token = "0x600BE2B")]
|
|
[Address(RVA = "0x25A0B70", Offset = "0x259FB70", VA = "0x1825A0B70")]
|
|
private void F(byte[] V)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600BE2B)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.GOST3411_2012Digest::F(System.Byte[])
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stloc:uint64[](var_0_06, newarr:uint64[]([mscorlib]System.UInt64, ldc.i4:int32(8)))
|
|
stloc:uint64[][](var_1_0C, ldsfld:uint64[][](GOST3411_2012Digest::T))
|
|
stloc:int32(var_2_13, callgetter:int32(Array::get_Length, ldloc:uint64[][][exp:Array](var_1_0C)))
|
|
stloc:uint64[](var_3_1B, ldelem:uint64[](uint64[], ldloc:uint64[][](var_1_0C), ldc.i4:int32(0)))
|
|
stloc:int32(var_4_22, callgetter:int32(Array::get_Length, ldloc:uint8[][exp:Array](V)))
|
|
stloc:uint8(var_5_2B, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(7)))
|
|
stloc:uint64[](var_6_34, ldelem:uint64[](uint64[], ldloc:uint64[][](var_1_0C), ldc.i4:int32(1)))
|
|
stloc:uint8(var_7_3D, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6)))
|
|
stloc:uint64[](var_8_46, ldelem:uint64[](uint64[], ldloc:uint64[][](var_1_0C), ldc.i4:int32(2)))
|
|
stloc:uint8(var_9_4F, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5)))
|
|
stloc:uint64[](var_10_58, ldelem:uint64[](uint64[], ldloc:uint64[][](var_1_0C), ldc.i4:int32(3)))
|
|
stloc:uint8(var_11_61, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4)))
|
|
stloc:uint64[](var_12_6A, ldelem:uint64[](uint64[], ldloc:uint64[][](var_1_0C), ldc.i4:int32(4)))
|
|
stloc:uint8(var_13_73, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3)))
|
|
stloc:uint64[](var_14_7C, ldelem:uint64[](uint64[], ldloc:uint64[][](var_1_0C), ldc.i4:int32(5)))
|
|
stloc:uint8(var_15_85, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2)))
|
|
stloc:uint64[](var_16_8E, ldelem:uint64[](uint64[], ldloc:uint64[][](var_1_0C), ldc.i4:int32(6)))
|
|
stloc:uint8(var_17_97, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1)))
|
|
stloc:uint64[](var_18_A0, ldelem:uint64[](uint64[], ldloc:uint64[][](var_1_0C), ldc.i4:int32(7)))
|
|
stloc:uint8(var_19_A9, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0)))
|
|
stloc:uint64(var_20_B4, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_18_A0), ldloc:uint8[exp:int32](var_19_A9)))
|
|
stelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(0), ldloc:uint64(var_20_B4))
|
|
stloc:uint64[][](var_21_C4, ldsfld:uint64[][](GOST3411_2012Digest::T))
|
|
stloc:int32(var_22_CD, callgetter:int32(Array::get_Length, ldloc:uint64[][][exp:Array](var_21_C4)))
|
|
stloc:int32(var_23_D5, callgetter:int32(Array::get_Length, ldloc:uint8[][exp:Array](V)))
|
|
stloc:uint64[](var_24_DF, ldelem:uint64[](uint64[], ldloc:uint64[][](var_21_C4), ldc.i4:int32(0)))
|
|
stloc:uint8(var_25_E8, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(7)))
|
|
stloc:uint64[](var_26_F2, ldelem:uint64[](uint64[], ldloc:uint64[][](var_21_C4), ldc.i4:int32(1)))
|
|
stloc:uint8(var_27_FB, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6)))
|
|
stloc:uint64[](var_28_105, ldelem:uint64[](uint64[], ldloc:uint64[][](var_21_C4), ldc.i4:int32(2)))
|
|
stloc:uint8(var_29_10E, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5)))
|
|
stloc:uint64[](var_30_118, ldelem:uint64[](uint64[], ldloc:uint64[][](var_21_C4), ldc.i4:int32(3)))
|
|
stloc:uint8(var_31_121, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4)))
|
|
stloc:uint64[](var_32_12B, ldelem:uint64[](uint64[], ldloc:uint64[][](var_21_C4), ldc.i4:int32(4)))
|
|
stloc:uint8(var_33_134, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3)))
|
|
stloc:uint64[](var_34_13E, ldelem:uint64[](uint64[], ldloc:uint64[][](var_21_C4), ldc.i4:int32(5)))
|
|
stloc:uint8(var_35_147, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2)))
|
|
stloc:uint64[](var_36_151, ldelem:uint64[](uint64[], ldloc:uint64[][](var_21_C4), ldc.i4:int32(6)))
|
|
stloc:uint8(var_37_15A, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1)))
|
|
stloc:uint64[](var_38_164, ldelem:uint64[](uint64[], ldloc:uint64[][](var_21_C4), ldc.i4:int32(7)))
|
|
stloc:uint8(var_39_16D, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0)))
|
|
stloc:uint64(var_40_178, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_38_164), ldloc:uint8[exp:int32](var_39_16D)))
|
|
stelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(1), ldloc:uint64(var_40_178))
|
|
stloc:uint64[][](var_41_188, ldsfld:uint64[][](GOST3411_2012Digest::T))
|
|
stloc:int32(var_42_191, callgetter:int32(Array::get_Length, ldloc:uint64[][][exp:Array](var_41_188)))
|
|
stloc:int32(var_43_199, callgetter:int32(Array::get_Length, ldloc:uint8[][exp:Array](V)))
|
|
stloc:uint64[](var_44_1A3, ldelem:uint64[](uint64[], ldloc:uint64[][](var_41_188), ldc.i4:int32(0)))
|
|
stloc:uint8(var_45_1AC, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(7)))
|
|
stloc:uint64[](var_46_1B6, ldelem:uint64[](uint64[], ldloc:uint64[][](var_41_188), ldc.i4:int32(1)))
|
|
stloc:uint8(var_47_1BF, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6)))
|
|
stloc:uint64[](var_48_1C9, ldelem:uint64[](uint64[], ldloc:uint64[][](var_41_188), ldc.i4:int32(2)))
|
|
stloc:uint8(var_49_1D2, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5)))
|
|
stloc:uint64[](var_50_1DC, ldelem:uint64[](uint64[], ldloc:uint64[][](var_41_188), ldc.i4:int32(3)))
|
|
stloc:uint8(var_51_1E5, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4)))
|
|
stloc:uint64[](var_52_1EF, ldelem:uint64[](uint64[], ldloc:uint64[][](var_41_188), ldc.i4:int32(4)))
|
|
stloc:uint8(var_53_1F8, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3)))
|
|
stloc:uint64[](var_54_202, ldelem:uint64[](uint64[], ldloc:uint64[][](var_41_188), ldc.i4:int32(5)))
|
|
stloc:uint8(var_55_20B, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2)))
|
|
stloc:uint64[](var_56_215, ldelem:uint64[](uint64[], ldloc:uint64[][](var_41_188), ldc.i4:int32(6)))
|
|
stloc:uint8(var_57_21E, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1)))
|
|
stloc:uint64[](var_58_228, ldelem:uint64[](uint64[], ldloc:uint64[][](var_41_188), ldc.i4:int32(7)))
|
|
stloc:uint8(var_59_231, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0)))
|
|
stloc:uint64(var_60_23C, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_58_228), ldloc:uint8[exp:int32](var_59_231)))
|
|
stelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(2), ldloc:uint64(var_60_23C))
|
|
stloc:uint64[][](var_61_24C, ldsfld:uint64[][](GOST3411_2012Digest::T))
|
|
stloc:int32(var_62_255, callgetter:int32(Array::get_Length, ldloc:uint64[][][exp:Array](var_61_24C)))
|
|
stloc:int32(var_63_25D, callgetter:int32(Array::get_Length, ldloc:uint8[][exp:Array](V)))
|
|
stloc:uint64[](var_64_267, ldelem:uint64[](uint64[], ldloc:uint64[][](var_61_24C), ldc.i4:int32(0)))
|
|
stloc:uint8(var_65_270, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(7)))
|
|
stloc:uint64[](var_66_27A, ldelem:uint64[](uint64[], ldloc:uint64[][](var_61_24C), ldc.i4:int32(1)))
|
|
stloc:uint8(var_67_283, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6)))
|
|
stloc:uint64[](var_68_28D, ldelem:uint64[](uint64[], ldloc:uint64[][](var_61_24C), ldc.i4:int32(2)))
|
|
stloc:uint8(var_69_296, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5)))
|
|
stloc:uint64[](var_70_2A0, ldelem:uint64[](uint64[], ldloc:uint64[][](var_61_24C), ldc.i4:int32(3)))
|
|
stloc:uint8(var_71_2A9, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4)))
|
|
stloc:uint64[](var_72_2B3, ldelem:uint64[](uint64[], ldloc:uint64[][](var_61_24C), ldc.i4:int32(4)))
|
|
stloc:uint8(var_73_2BC, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3)))
|
|
stloc:uint64[](var_74_2C6, ldelem:uint64[](uint64[], ldloc:uint64[][](var_61_24C), ldc.i4:int32(5)))
|
|
stloc:uint8(var_75_2CF, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2)))
|
|
stloc:uint64[](var_76_2D9, ldelem:uint64[](uint64[], ldloc:uint64[][](var_61_24C), ldc.i4:int32(6)))
|
|
stloc:uint8(var_77_2E2, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1)))
|
|
stloc:uint64[](var_78_2EC, ldelem:uint64[](uint64[], ldloc:uint64[][](var_61_24C), ldc.i4:int32(7)))
|
|
stloc:uint8(var_79_2F5, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0)))
|
|
stloc:uint64(var_80_300, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_78_2EC), ldloc:uint8[exp:int32](var_79_2F5)))
|
|
stelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(3), ldloc:uint64(var_80_300))
|
|
stloc:uint64[][](var_81_310, ldsfld:uint64[][](GOST3411_2012Digest::T))
|
|
stloc:int32(var_82_319, callgetter:int32(Array::get_Length, ldloc:uint64[][][exp:Array](var_81_310)))
|
|
stloc:int32(var_83_321, callgetter:int32(Array::get_Length, ldloc:uint8[][exp:Array](V)))
|
|
stloc:uint64[](var_84_32B, ldelem:uint64[](uint64[], ldloc:uint64[][](var_81_310), ldc.i4:int32(0)))
|
|
stloc:uint8(var_85_334, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(7)))
|
|
stloc:uint64[](var_86_33E, ldelem:uint64[](uint64[], ldloc:uint64[][](var_81_310), ldc.i4:int32(1)))
|
|
stloc:uint8(var_87_347, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6)))
|
|
stloc:uint64[](var_88_351, ldelem:uint64[](uint64[], ldloc:uint64[][](var_81_310), ldc.i4:int32(2)))
|
|
stloc:uint8(var_89_35A, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5)))
|
|
stloc:uint64[](var_90_364, ldelem:uint64[](uint64[], ldloc:uint64[][](var_81_310), ldc.i4:int32(3)))
|
|
stloc:uint8(var_91_36D, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4)))
|
|
stloc:uint64[](var_92_377, ldelem:uint64[](uint64[], ldloc:uint64[][](var_81_310), ldc.i4:int32(4)))
|
|
stloc:uint8(var_93_380, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3)))
|
|
stloc:uint64[](var_94_38A, ldelem:uint64[](uint64[], ldloc:uint64[][](var_81_310), ldc.i4:int32(5)))
|
|
stloc:uint8(var_95_393, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2)))
|
|
stloc:uint64[](var_96_39D, ldelem:uint64[](uint64[], ldloc:uint64[][](var_81_310), ldc.i4:int32(6)))
|
|
stloc:uint8(var_97_3A6, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1)))
|
|
stloc:uint64[](var_98_3B0, ldelem:uint64[](uint64[], ldloc:uint64[][](var_81_310), ldc.i4:int32(7)))
|
|
stloc:uint8(var_99_3B9, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0)))
|
|
stloc:uint64(var_100_3C4, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_98_3B0), ldloc:uint8[exp:int32](var_99_3B9)))
|
|
stelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(4), ldloc:uint64(var_100_3C4))
|
|
stloc:uint64[][](var_101_3D4, ldsfld:uint64[][](GOST3411_2012Digest::T))
|
|
stloc:int32(var_102_3DD, callgetter:int32(Array::get_Length, ldloc:uint64[][][exp:Array](var_101_3D4)))
|
|
stloc:int32(var_103_3E5, callgetter:int32(Array::get_Length, ldloc:uint8[][exp:Array](V)))
|
|
stloc:uint64[](var_104_3EF, ldelem:uint64[](uint64[], ldloc:uint64[][](var_101_3D4), ldc.i4:int32(0)))
|
|
stloc:uint8(var_105_3F8, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(7)))
|
|
stloc:uint64[](var_106_402, ldelem:uint64[](uint64[], ldloc:uint64[][](var_101_3D4), ldc.i4:int32(1)))
|
|
stloc:uint8(var_107_40B, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6)))
|
|
stloc:uint64[](var_108_415, ldelem:uint64[](uint64[], ldloc:uint64[][](var_101_3D4), ldc.i4:int32(2)))
|
|
stloc:uint8(var_109_41E, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5)))
|
|
stloc:uint64[](var_110_428, ldelem:uint64[](uint64[], ldloc:uint64[][](var_101_3D4), ldc.i4:int32(3)))
|
|
stloc:uint8(var_111_431, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4)))
|
|
stloc:uint64[](var_112_43B, ldelem:uint64[](uint64[], ldloc:uint64[][](var_101_3D4), ldc.i4:int32(4)))
|
|
stloc:uint8(var_113_444, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3)))
|
|
stloc:uint64[](var_114_44E, ldelem:uint64[](uint64[], ldloc:uint64[][](var_101_3D4), ldc.i4:int32(5)))
|
|
stloc:uint8(var_115_457, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2)))
|
|
stloc:uint64[](var_116_461, ldelem:uint64[](uint64[], ldloc:uint64[][](var_101_3D4), ldc.i4:int32(6)))
|
|
stloc:uint8(var_117_46A, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1)))
|
|
stloc:uint64[](var_118_474, ldelem:uint64[](uint64[], ldloc:uint64[][](var_101_3D4), ldc.i4:int32(7)))
|
|
stloc:uint8(var_119_47D, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0)))
|
|
stloc:uint64(var_120_488, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_118_474), ldloc:uint8[exp:int32](var_119_47D)))
|
|
stelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(5), ldloc:uint64(var_120_488))
|
|
stloc:uint64[][](var_121_498, ldsfld:uint64[][](GOST3411_2012Digest::T))
|
|
stloc:int32(var_122_4A1, callgetter:int32(Array::get_Length, ldloc:uint64[][][exp:Array](var_121_498)))
|
|
stloc:int32(var_123_4A9, callgetter:int32(Array::get_Length, ldloc:uint8[][exp:Array](V)))
|
|
stloc:uint64[](var_124_4B3, ldelem:uint64[](uint64[], ldloc:uint64[][](var_121_498), ldc.i4:int32(0)))
|
|
stloc:uint8(var_125_4BC, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(7)))
|
|
stloc:uint64[](var_126_4C6, ldelem:uint64[](uint64[], ldloc:uint64[][](var_121_498), ldc.i4:int32(1)))
|
|
stloc:uint8(var_127_4CF, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6)))
|
|
stloc:uint64[](var_128_4D9, ldelem:uint64[](uint64[], ldloc:uint64[][](var_121_498), ldc.i4:int32(2)))
|
|
stloc:uint8(var_129_4E2, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5)))
|
|
stloc:uint64[](var_130_4EC, ldelem:uint64[](uint64[], ldloc:uint64[][](var_121_498), ldc.i4:int32(3)))
|
|
stloc:uint8(var_131_4F5, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4)))
|
|
stloc:uint64[](var_132_4FF, ldelem:uint64[](uint64[], ldloc:uint64[][](var_121_498), ldc.i4:int32(4)))
|
|
stloc:uint8(var_133_508, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3)))
|
|
stloc:uint64[](var_134_512, ldelem:uint64[](uint64[], ldloc:uint64[][](var_121_498), ldc.i4:int32(5)))
|
|
stloc:uint8(var_135_51B, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2)))
|
|
stloc:uint64[](var_136_525, ldelem:uint64[](uint64[], ldloc:uint64[][](var_121_498), ldc.i4:int32(6)))
|
|
stloc:uint8(var_137_52E, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1)))
|
|
stloc:uint64[](var_138_538, ldelem:uint64[](uint64[], ldloc:uint64[][](var_121_498), ldc.i4:int32(7)))
|
|
stloc:uint8(var_139_541, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0)))
|
|
stloc:uint64(var_140_54C, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_138_538), ldloc:uint8[exp:int32](var_139_541)))
|
|
stelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(6), ldloc:uint64(var_140_54C))
|
|
stloc:uint64[][](var_141_55C, ldsfld:uint64[][](GOST3411_2012Digest::T))
|
|
stloc:int32(var_142_565, callgetter:int32(Array::get_Length, ldloc:uint64[][][exp:Array](var_141_55C)))
|
|
stloc:int32(var_143_56D, callgetter:int32(Array::get_Length, ldloc:uint8[][exp:Array](V)))
|
|
stloc:uint64[](var_144_577, ldelem:uint64[](uint64[], ldloc:uint64[][](var_141_55C), ldc.i4:int32(0)))
|
|
stloc:uint8(var_145_580, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(7)))
|
|
stloc:uint64[](var_146_58A, ldelem:uint64[](uint64[], ldloc:uint64[][](var_141_55C), ldc.i4:int32(1)))
|
|
stloc:uint8(var_147_593, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6)))
|
|
stloc:uint64[](var_148_59D, ldelem:uint64[](uint64[], ldloc:uint64[][](var_141_55C), ldc.i4:int32(2)))
|
|
stloc:uint8(var_149_5A6, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5)))
|
|
stloc:uint64[](var_150_5B0, ldelem:uint64[](uint64[], ldloc:uint64[][](var_141_55C), ldc.i4:int32(3)))
|
|
stloc:uint8(var_151_5B9, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4)))
|
|
stloc:uint64[](var_152_5C3, ldelem:uint64[](uint64[], ldloc:uint64[][](var_141_55C), ldc.i4:int32(4)))
|
|
stloc:uint8(var_153_5CC, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3)))
|
|
stloc:uint64[](var_154_5D6, ldelem:uint64[](uint64[], ldloc:uint64[][](var_141_55C), ldc.i4:int32(5)))
|
|
stloc:uint8(var_155_5DF, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2)))
|
|
stloc:uint64[](var_156_5E9, ldelem:uint64[](uint64[], ldloc:uint64[][](var_141_55C), ldc.i4:int32(6)))
|
|
stloc:uint8(var_157_5F2, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1)))
|
|
stloc:uint64[](var_158_5FC, ldelem:uint64[](uint64[], ldloc:uint64[][](var_141_55C), ldc.i4:int32(7)))
|
|
stloc:uint8(var_159_605, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0)))
|
|
stloc:uint64(var_160_610, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_158_5FC), ldloc:uint8[exp:int32](var_159_605)))
|
|
stelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(7), ldloc:uint64(var_160_610))
|
|
stloc:uint64(var_161_622, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(0)))
|
|
stloc:uint64(var_160_626, ldloc:uint64(var_161_622))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0), ldloc:uint64[exp:uint8](var_160_626))
|
|
stloc:uint64(var_160_633, ldloc:uint64(var_161_622))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0), ldloc:uint64[exp:uint8](var_160_633))
|
|
stloc:uint64(var_160_640, ldloc:uint64(var_161_622))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0), ldloc:uint64[exp:uint8](var_160_640))
|
|
stloc:uint64(var_160_64D, ldloc:uint64(var_161_622))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0), ldloc:uint64[exp:uint8](var_160_64D))
|
|
stloc:uint64(var_160_65A, ldloc:uint64(var_161_622))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0), ldloc:uint64[exp:uint8](var_160_65A))
|
|
stloc:uint64(var_160_667, ldloc:uint64(var_161_622))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0), ldloc:uint64[exp:uint8](var_160_667))
|
|
stloc:uint64(var_160_674, ldloc:uint64(var_161_622))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0), ldloc:uint64[exp:uint8](var_160_674))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0), ldloc:uint64[exp:uint8](var_161_622))
|
|
stloc:uint64(var_162_68F, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(1)))
|
|
stloc:uint64(var_160_693, ldloc:uint64(var_162_68F))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1), ldloc:uint64[exp:uint8](var_160_693))
|
|
stloc:uint64(var_160_6A0, ldloc:uint64(var_162_68F))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1), ldloc:uint64[exp:uint8](var_160_6A0))
|
|
stloc:uint64(var_160_6AD, ldloc:uint64(var_162_68F))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1), ldloc:uint64[exp:uint8](var_160_6AD))
|
|
stloc:uint64(var_160_6BA, ldloc:uint64(var_162_68F))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1), ldloc:uint64[exp:uint8](var_160_6BA))
|
|
stloc:uint64(var_160_6C7, ldloc:uint64(var_162_68F))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1), ldloc:uint64[exp:uint8](var_160_6C7))
|
|
stloc:uint64(var_160_6D4, ldloc:uint64(var_162_68F))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1), ldloc:uint64[exp:uint8](var_160_6D4))
|
|
stloc:uint64(var_160_6E1, ldloc:uint64(var_162_68F))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1), ldloc:uint64[exp:uint8](var_160_6E1))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1), ldloc:uint64[exp:uint8](var_162_68F))
|
|
stloc:uint64(var_163_6FC, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(2)))
|
|
stloc:uint64(var_160_700, ldloc:uint64(var_163_6FC))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2), ldloc:uint64[exp:uint8](var_160_700))
|
|
stloc:uint64(var_160_70D, ldloc:uint64(var_163_6FC))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2), ldloc:uint64[exp:uint8](var_160_70D))
|
|
stloc:uint64(var_160_71A, ldloc:uint64(var_163_6FC))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2), ldloc:uint64[exp:uint8](var_160_71A))
|
|
stloc:uint64(var_160_727, ldloc:uint64(var_163_6FC))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2), ldloc:uint64[exp:uint8](var_160_727))
|
|
stloc:uint64(var_160_734, ldloc:uint64(var_163_6FC))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2), ldloc:uint64[exp:uint8](var_160_734))
|
|
stloc:uint64(var_160_741, ldloc:uint64(var_163_6FC))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2), ldloc:uint64[exp:uint8](var_160_741))
|
|
stloc:uint64(var_160_74E, ldloc:uint64(var_163_6FC))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2), ldloc:uint64[exp:uint8](var_160_74E))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2), ldloc:uint64[exp:uint8](var_163_6FC))
|
|
stloc:uint64(var_164_769, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(3)))
|
|
stloc:uint64(var_160_76D, ldloc:uint64(var_164_769))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3), ldloc:uint64[exp:uint8](var_160_76D))
|
|
stloc:uint64(var_160_77A, ldloc:uint64(var_164_769))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3), ldloc:uint64[exp:uint8](var_160_77A))
|
|
stloc:uint64(var_160_787, ldloc:uint64(var_164_769))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3), ldloc:uint64[exp:uint8](var_160_787))
|
|
stloc:uint64(var_160_794, ldloc:uint64(var_164_769))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3), ldloc:uint64[exp:uint8](var_160_794))
|
|
stloc:uint64(var_160_7A1, ldloc:uint64(var_164_769))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3), ldloc:uint64[exp:uint8](var_160_7A1))
|
|
stloc:uint64(var_160_7AE, ldloc:uint64(var_164_769))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3), ldloc:uint64[exp:uint8](var_160_7AE))
|
|
stloc:uint64(var_160_7BB, ldloc:uint64(var_164_769))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3), ldloc:uint64[exp:uint8](var_160_7BB))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3), ldloc:uint64[exp:uint8](var_164_769))
|
|
stloc:uint64(var_165_7D6, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(4)))
|
|
stloc:uint64(var_160_7DA, ldloc:uint64(var_165_7D6))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4), ldloc:uint64[exp:uint8](var_160_7DA))
|
|
stloc:uint64(var_160_7E7, ldloc:uint64(var_165_7D6))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4), ldloc:uint64[exp:uint8](var_160_7E7))
|
|
stloc:uint64(var_160_7F4, ldloc:uint64(var_165_7D6))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4), ldloc:uint64[exp:uint8](var_160_7F4))
|
|
stloc:uint64(var_160_801, ldloc:uint64(var_165_7D6))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4), ldloc:uint64[exp:uint8](var_160_801))
|
|
stloc:uint64(var_160_80E, ldloc:uint64(var_165_7D6))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4), ldloc:uint64[exp:uint8](var_160_80E))
|
|
stloc:uint64(var_160_81B, ldloc:uint64(var_165_7D6))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4), ldloc:uint64[exp:uint8](var_160_81B))
|
|
stloc:uint64(var_160_828, ldloc:uint64(var_165_7D6))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4), ldloc:uint64[exp:uint8](var_160_828))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4), ldloc:uint64[exp:uint8](var_165_7D6))
|
|
stloc:uint64(var_166_843, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(5)))
|
|
stloc:uint64(var_160_847, ldloc:uint64(var_166_843))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5), ldloc:uint64[exp:uint8](var_160_847))
|
|
stloc:uint64(var_160_854, ldloc:uint64(var_166_843))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5), ldloc:uint64[exp:uint8](var_160_854))
|
|
stloc:uint64(var_160_861, ldloc:uint64(var_166_843))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5), ldloc:uint64[exp:uint8](var_160_861))
|
|
stloc:uint64(var_160_86E, ldloc:uint64(var_166_843))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5), ldloc:uint64[exp:uint8](var_160_86E))
|
|
stloc:uint64(var_160_87B, ldloc:uint64(var_166_843))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5), ldloc:uint64[exp:uint8](var_160_87B))
|
|
stloc:uint64(var_160_888, ldloc:uint64(var_166_843))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5), ldloc:uint64[exp:uint8](var_160_888))
|
|
stloc:uint64(var_160_895, ldloc:uint64(var_166_843))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5), ldloc:uint64[exp:uint8](var_160_895))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5), ldloc:uint64[exp:uint8](var_166_843))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6), ldloc:uint64[exp:uint8](var_160_895))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6), ldloc:uint64[exp:uint8](var_160_895))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6), ldloc:uint64[exp:uint8](var_160_895))
|
|
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6), ldloc:uint64[exp:uint8](var_160_895))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x0600BE2C RID: 48684 RVA: 0x002A9298 File Offset: 0x002A7498
|
|
[Token(Token = "0x600BE2C")]
|
|
[Address(RVA = "0x25A41D0", Offset = "0x25A31D0", VA = "0x1825A41D0")]
|
|
private void xor512(byte[] A, byte[] B)
|
|
{
|
|
int num = 0;
|
|
num++;
|
|
}
|
|
|
|
// Token: 0x0600BE2D RID: 48685 RVA: 0x002A92B4 File Offset: 0x002A74B4
|
|
[Token(Token = "0x600BE2D")]
|
|
[Address(RVA = "0x25A08C0", Offset = "0x259F8C0", VA = "0x1825A08C0")]
|
|
private void E(byte[] K, byte[] m)
|
|
{
|
|
byte[] ki = this.Ki;
|
|
int num = 0;
|
|
int num2 = 0;
|
|
int num3 = 0;
|
|
ulong num4;
|
|
Array.Copy(K, num3, ki, num2, (int)num4);
|
|
num++;
|
|
this.F(K);
|
|
byte[] ki2 = this.Ki;
|
|
byte[] array = GOST3411_2012Digest.C[num];
|
|
this.xor512(ki2, array);
|
|
byte[] ki3 = this.Ki;
|
|
this.F(ki3);
|
|
byte[] ki4 = this.Ki;
|
|
this.xor512(K, ki4);
|
|
this.F(K);
|
|
num++;
|
|
byte[] ki5 = this.Ki;
|
|
byte[] array2 = GOST3411_2012Digest.C[11];
|
|
num++;
|
|
byte[] ki6 = this.Ki;
|
|
this.F(ki6);
|
|
byte[] ki7 = this.Ki;
|
|
num++;
|
|
}
|
|
|
|
// Token: 0x0600BE2E RID: 48686 RVA: 0x002A936C File Offset: 0x002A756C
|
|
[Token(Token = "0x600BE2E")]
|
|
[Address(RVA = "0x25A3FC0", Offset = "0x25A2FC0", VA = "0x1825A3FC0")]
|
|
private void g_N(byte[] h, byte[] N, byte[] m)
|
|
{
|
|
byte[] array = this.tmp;
|
|
int num = 0;
|
|
int num2 = 0;
|
|
int num3 = 0;
|
|
ulong num4;
|
|
Array.Copy(h, num3, array, num2, (int)num4);
|
|
num++;
|
|
this.F(h);
|
|
this.E(h, m);
|
|
byte[] array2 = this.tmp;
|
|
num++;
|
|
num++;
|
|
}
|
|
|
|
// Token: 0x0600BE2F RID: 48687 RVA: 0x002A93BC File Offset: 0x002A75BC
|
|
[Token(Token = "0x600BE2F")]
|
|
[Address(RVA = "0x25A3F10", Offset = "0x25A2F10", VA = "0x1825A3F10")]
|
|
private void addMod512(byte[] A, int num)
|
|
{
|
|
byte b = A[7];
|
|
byte b2 = A[7];
|
|
b2 = (byte)((int)b2 + num);
|
|
A[7] = b2;
|
|
byte b3;
|
|
b2 += b3;
|
|
}
|
|
|
|
// Token: 0x0600BE30 RID: 48688 RVA: 0x002A93F0 File Offset: 0x002A75F0
|
|
[Token(Token = "0x600BE30")]
|
|
[Address(RVA = "0x25A3E90", Offset = "0x25A2E90", VA = "0x1825A3E90")]
|
|
private void addMod512(byte[] A, byte[] B)
|
|
{
|
|
int num = 0;
|
|
byte b = (byte)((int)b + num);
|
|
byte b2;
|
|
b2 += b;
|
|
}
|
|
|
|
// Token: 0x0600BE31 RID: 48689 RVA: 0x002A9410 File Offset: 0x002A7610
|
|
[Token(Token = "0x600BE31")]
|
|
[Address(RVA = "0x25A4150", Offset = "0x25A3150", VA = "0x1825A4150")]
|
|
private void reverse(byte[] src, byte[] dst)
|
|
{
|
|
int length = src.Length;
|
|
int num = 0;
|
|
if (length > 0)
|
|
{
|
|
num++;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600BE32 RID: 48690 RVA: 0x002A9434 File Offset: 0x002A7634
|
|
// Note: this type is marked as 'beforefieldinit'.
|
|
[Token(Token = "0x600BE32")]
|
|
[Address(RVA = "0x25A33E0", Offset = "0x25A23E0", VA = "0x1825A33E0")]
|
|
static GOST3411_2012Digest()
|
|
{
|
|
byte[][] array = new byte[12][];
|
|
byte[] array2 = new byte[64];
|
|
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.498B9317C14CF9004FE6CB88782D926B3E379350).FieldHandle);
|
|
if (array2 != 0)
|
|
{
|
|
}
|
|
array[0] = array2;
|
|
byte[] array3 = new byte[64];
|
|
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.499A21DC530CE4D5D71E97C5D8DB1B3C60F0FC2E).FieldHandle);
|
|
if (array3 != 0)
|
|
{
|
|
}
|
|
array[1] = array3;
|
|
byte[] array4 = new byte[64];
|
|
RuntimeHelpers.InitializeArray(array4, fieldof(<PrivateImplementationDetails>.0BE6B8194AB353640CA66F0A661EA93A3132393A).FieldHandle);
|
|
if (array4 != 0)
|
|
{
|
|
}
|
|
array[2] = array4;
|
|
byte[] array5 = new byte[64];
|
|
RuntimeHelpers.InitializeArray(array5, fieldof(<PrivateImplementationDetails>.7E68A6B197A3AF443FDA77CD8B492D4C72B3CF03).FieldHandle);
|
|
if (array5 != 0)
|
|
{
|
|
}
|
|
array[3] = array5;
|
|
byte[] array6 = new byte[64];
|
|
RuntimeHelpers.InitializeArray(array6, fieldof(<PrivateImplementationDetails>.21305ABEF36592B9C636A4DDFFB419BBEB14AC71).FieldHandle);
|
|
if (array6 != 0)
|
|
{
|
|
}
|
|
array[4] = array6;
|
|
byte[] array7 = new byte[64];
|
|
RuntimeHelpers.InitializeArray(array7, fieldof(<PrivateImplementationDetails>.3BA78FFB102A191597BAC4A2418C57CDF377FEE6).FieldHandle);
|
|
if (array7 != 0)
|
|
{
|
|
}
|
|
array[5] = array7;
|
|
byte[] array8 = new byte[64];
|
|
RuntimeHelpers.InitializeArray(array8, fieldof(<PrivateImplementationDetails>.87BAD4D818823E27FF0CBB935FF88DD21DAD3CC4).FieldHandle);
|
|
if (array8 != 0)
|
|
{
|
|
}
|
|
array[6] = array8;
|
|
byte[] array9 = new byte[64];
|
|
RuntimeHelpers.InitializeArray(array9, fieldof(<PrivateImplementationDetails>.103752E99F3718E46F1AA9EED70682BF3A9B8A65).FieldHandle);
|
|
if (array9 != 0)
|
|
{
|
|
}
|
|
array[7] = array9;
|
|
byte[] array10 = new byte[64];
|
|
RuntimeHelpers.InitializeArray(array10, fieldof(<PrivateImplementationDetails>.A32D5F33452B98E86BE15ED849ED6DF543B5F243).FieldHandle);
|
|
if (array10 != 0)
|
|
{
|
|
}
|
|
array[8] = array10;
|
|
byte[] array11 = new byte[64];
|
|
RuntimeHelpers.InitializeArray(array11, fieldof(<PrivateImplementationDetails>.30A6392FC8DA4E1BBE29B5EEA977D84BE673CAF7).FieldHandle);
|
|
if (array11 != 0)
|
|
{
|
|
}
|
|
array[9] = array11;
|
|
byte[] array12 = new byte[64];
|
|
RuntimeHelpers.InitializeArray(array12, fieldof(<PrivateImplementationDetails>.4A080107805D8F7103F56DD3B0D8FD5D55735937).FieldHandle);
|
|
if (array12 != 0)
|
|
{
|
|
}
|
|
array[10] = array12;
|
|
byte[] array13 = new byte[64];
|
|
RuntimeHelpers.InitializeArray(array13, fieldof(<PrivateImplementationDetails>.083EF765A34AC9DEC41761B4DCEA48EC009115E9).FieldHandle);
|
|
if (array13 != 0)
|
|
{
|
|
}
|
|
array[11] = array13;
|
|
GOST3411_2012Digest.C = array;
|
|
GOST3411_2012Digest.Zero = new byte[64];
|
|
ulong[][] array14 = new ulong[8][];
|
|
ulong[] array15 = new ulong[256];
|
|
RuntimeHelpers.InitializeArray(array15, fieldof(<PrivateImplementationDetails>.547AF924C0A210AD3D72D199002D3CDBC2DBD0CA).FieldHandle);
|
|
if (array15 != 0)
|
|
{
|
|
}
|
|
array14[0] = array15;
|
|
ulong[] array16 = new ulong[256];
|
|
RuntimeHelpers.InitializeArray(array16, fieldof(<PrivateImplementationDetails>.929747B3E91297D56A461EE1B9E054EA31C70EC1).FieldHandle);
|
|
if (array16 != 0)
|
|
{
|
|
}
|
|
array14[1] = array16;
|
|
ulong[] array17 = new ulong[256];
|
|
RuntimeHelpers.InitializeArray(array17, fieldof(<PrivateImplementationDetails>.D73609A97D6906CFFB02ADDA320A4809483C458D).FieldHandle);
|
|
if (array17 != 0)
|
|
{
|
|
}
|
|
array14[2] = array17;
|
|
ulong[] array18 = new ulong[256];
|
|
RuntimeHelpers.InitializeArray(array18, fieldof(<PrivateImplementationDetails>.7C57CFE9FF25243824AF38485BBF41F9E57ECF21).FieldHandle);
|
|
if (array18 != 0)
|
|
{
|
|
}
|
|
array14[3] = array18;
|
|
ulong[] array19 = new ulong[256];
|
|
RuntimeHelpers.InitializeArray(array19, fieldof(<PrivateImplementationDetails>.A19414BB17AF83ECF276AD49117E7F2EE344D567).FieldHandle);
|
|
if (array19 != 0)
|
|
{
|
|
}
|
|
array14[4] = array19;
|
|
ulong[] array20 = new ulong[256];
|
|
RuntimeHelpers.InitializeArray(array20, fieldof(<PrivateImplementationDetails>.7B18F6A671FF25FBD5F195673DAF4902FB2DA4C5).FieldHandle);
|
|
if (array20 != 0)
|
|
{
|
|
}
|
|
array14[5] = array20;
|
|
ulong[] array21 = new ulong[256];
|
|
RuntimeHelpers.InitializeArray(array21, fieldof(<PrivateImplementationDetails>.A43F35160EEC5F8DD047667DD94358EDCD29BA27).FieldHandle);
|
|
if (array21 != 0)
|
|
{
|
|
}
|
|
array14[6] = array21;
|
|
ulong[] array22 = new ulong[256];
|
|
RuntimeHelpers.InitializeArray(array22, fieldof(<PrivateImplementationDetails>.4E16474F9D4C9E164E5F3C5FF50D0FB922D244DD).FieldHandle);
|
|
if (array22 != 0)
|
|
{
|
|
}
|
|
array14[7] = array22;
|
|
GOST3411_2012Digest.T = array14;
|
|
}
|
|
|
|
// Token: 0x0400783F RID: 30783
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x400783F")]
|
|
private readonly byte[] IV;
|
|
|
|
// Token: 0x04007840 RID: 30784
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4007840")]
|
|
private readonly byte[] N;
|
|
|
|
// Token: 0x04007841 RID: 30785
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4007841")]
|
|
private readonly byte[] Sigma;
|
|
|
|
// Token: 0x04007842 RID: 30786
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x4007842")]
|
|
private readonly byte[] Ki;
|
|
|
|
// Token: 0x04007843 RID: 30787
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4007843")]
|
|
private readonly byte[] m;
|
|
|
|
// Token: 0x04007844 RID: 30788
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x4007844")]
|
|
private readonly byte[] h;
|
|
|
|
// Token: 0x04007845 RID: 30789
|
|
[FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x4007845")]
|
|
private readonly byte[] tmp;
|
|
|
|
// Token: 0x04007846 RID: 30790
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x4007846")]
|
|
private readonly byte[] block;
|
|
|
|
// Token: 0x04007847 RID: 30791
|
|
[FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x4007847")]
|
|
private int bOff;
|
|
|
|
// Token: 0x04007848 RID: 30792
|
|
[Token(Token = "0x4007848")]
|
|
private static readonly byte[][] C;
|
|
|
|
// Token: 0x04007849 RID: 30793
|
|
[Token(Token = "0x4007849")]
|
|
private static readonly byte[] Zero;
|
|
|
|
// Token: 0x0400784A RID: 30794
|
|
[Token(Token = "0x400784A")]
|
|
private static readonly ulong[][] T;
|
|
}
|
|
}
|