649 lines
21 KiB
C#
649 lines
21 KiB
C#
using System;
|
|
using System.Runtime.CompilerServices;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
|
{
|
|
// Token: 0x02001DE4 RID: 7652
|
|
[Token(Token = "0x2001DE4")]
|
|
public sealed class WhirlpoolDigest : IDigest, IMemoable
|
|
{
|
|
// Token: 0x0600BFE8 RID: 49128 RVA: 0x002B3E84 File Offset: 0x002B2084
|
|
[Token(Token = "0x600BFE8")]
|
|
[Address(RVA = "0x24A8440", Offset = "0x24A7440", VA = "0x1824A8440")]
|
|
static WhirlpoolDigest()
|
|
{
|
|
int[] array = new int[256];
|
|
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.840B3A53AAF3595FDF3313D46FFD246A7EA6E89E).FieldHandle);
|
|
WhirlpoolDigest.SBOX = array;
|
|
WhirlpoolDigest.C0 = new long[256];
|
|
WhirlpoolDigest.C1 = new long[256];
|
|
WhirlpoolDigest.C2 = new long[256];
|
|
WhirlpoolDigest.C3 = new long[256];
|
|
WhirlpoolDigest.C4 = new long[256];
|
|
WhirlpoolDigest.C5 = new long[256];
|
|
WhirlpoolDigest.C6 = new long[256];
|
|
WhirlpoolDigest.C7 = new long[256];
|
|
WhirlpoolDigest.EIGHT = new short[32];
|
|
short[] eight = WhirlpoolDigest.EIGHT;
|
|
int num = 0;
|
|
eight[7] = (short)((uint)8);
|
|
int[] sbox = WhirlpoolDigest.SBOX;
|
|
int num2 = sbox[num];
|
|
WhirlpoolDigest.C0[0] = (long)num2;
|
|
WhirlpoolDigest.C1[0] = sbox;
|
|
WhirlpoolDigest.C2[0] = sbox;
|
|
WhirlpoolDigest.C3[0] = sbox;
|
|
WhirlpoolDigest.C4[0] = sbox;
|
|
WhirlpoolDigest.C5[0] = (long)num2;
|
|
WhirlpoolDigest.C6[0] = sbox;
|
|
long[] c = WhirlpoolDigest.C7;
|
|
num++;
|
|
c[0] = (long)num2;
|
|
}
|
|
|
|
// Token: 0x0600BFE9 RID: 49129 RVA: 0x002B3FC4 File Offset: 0x002B21C4
|
|
[Token(Token = "0x600BFE9")]
|
|
[Address(RVA = "0x24A8B50", Offset = "0x24A7B50", VA = "0x1824A8B50")]
|
|
public WhirlpoolDigest()
|
|
{
|
|
long[] array = new long[11];
|
|
this._rc = array;
|
|
byte[] array2 = new byte[64];
|
|
this._buffer = array2;
|
|
short[] array3 = new short[32];
|
|
this._bitCount = array3;
|
|
long[] array4 = new long[8];
|
|
this._hash = array4;
|
|
long[] array5 = new long[8];
|
|
this._K = array5;
|
|
long[] array6 = new long[8];
|
|
this._L = array6;
|
|
long[] array7 = new long[8];
|
|
this._block = array7;
|
|
long[] array8 = new long[8];
|
|
this._state = array8;
|
|
base..ctor();
|
|
long[] rc = this._rc;
|
|
long[] rc2 = this._rc;
|
|
long[] c = WhirlpoolDigest.C0;
|
|
long[] c2 = WhirlpoolDigest.C1;
|
|
long[] c3 = WhirlpoolDigest.C2;
|
|
long[] c4 = WhirlpoolDigest.C3;
|
|
long[] c5 = WhirlpoolDigest.C4;
|
|
long[] c6 = WhirlpoolDigest.C5;
|
|
long[] c7 = WhirlpoolDigest.C6;
|
|
uint num2;
|
|
long num = WhirlpoolDigest.C7[(int)num2];
|
|
num2 += (uint)8;
|
|
rc2[0] = num;
|
|
ulong num3;
|
|
num3 += (ulong)1L;
|
|
while (num2 <= (uint)80)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600BFEA RID: 49130 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x600BFEA")]
|
|
[Address(RVA = "0x24A9530", Offset = "0x24A8530", VA = "0x1824A9530")]
|
|
private static long packIntoLong(int b7, int b6, int b5, int b4, int b3, int b2, int b1, int b0)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x0600BFEB RID: 49131 RVA: 0x002B40CC File Offset: 0x002B22CC
|
|
[Token(Token = "0x600BFEB")]
|
|
[Address(RVA = "0x24A9510", Offset = "0x24A8510", VA = "0x1824A9510")]
|
|
private static int maskWithReductionPolynomial(int input)
|
|
{
|
|
return input;
|
|
}
|
|
|
|
// Token: 0x0600BFEC RID: 49132 RVA: 0x002B40DC File Offset: 0x002B22DC
|
|
[Token(Token = "0x600BFEC")]
|
|
[Address(RVA = "0x24A8A50", Offset = "0x24A7A50", VA = "0x1824A8A50")]
|
|
public WhirlpoolDigest(WhirlpoolDigest originalDigest)
|
|
{
|
|
long[] array = new long[11];
|
|
this._rc = array;
|
|
byte[] array2 = new byte[64];
|
|
this._buffer = array2;
|
|
short[] array3 = new short[32];
|
|
this._bitCount = array3;
|
|
long[] array4 = new long[8];
|
|
this._hash = array4;
|
|
long[] array5 = new long[8];
|
|
this._K = array5;
|
|
long[] array6 = new long[8];
|
|
this._L = array6;
|
|
long[] array7 = new long[8];
|
|
this._block = array7;
|
|
long[] array8 = new long[8];
|
|
this._state = array8;
|
|
base..ctor();
|
|
this.Reset(originalDigest);
|
|
}
|
|
|
|
// Token: 0x17001DCC RID: 7628
|
|
// (get) Token: 0x0600BFED RID: 49133 RVA: 0x002B4174 File Offset: 0x002B2374
|
|
[Token(Token = "0x17001DCC")]
|
|
public string AlgorithmName
|
|
{
|
|
[Token(Token = "0x600BFED")]
|
|
[Address(RVA = "0x24A9390", Offset = "0x24A8390", VA = "0x1824A9390", Slot = "4")]
|
|
get
|
|
{
|
|
return "Whirlpool";
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600BFEE RID: 49134 RVA: 0x002B4188 File Offset: 0x002B2388
|
|
[Token(Token = "0x600BFEE")]
|
|
[Address(RVA = "0x8BCFC0", Offset = "0x8BBFC0", VA = "0x1808BCFC0", Slot = "5")]
|
|
public int GetDigestSize()
|
|
{
|
|
return 64;
|
|
}
|
|
|
|
// Token: 0x0600BFEF RID: 49135 RVA: 0x002B4198 File Offset: 0x002B2398
|
|
[Token(Token = "0x600BFEF")]
|
|
[Address(RVA = "0x24A7E30", Offset = "0x24A6E30", VA = "0x1824A7E30", Slot = "9")]
|
|
public int DoFinal(byte[] output, int outOff)
|
|
{
|
|
this.finish();
|
|
int num = 0;
|
|
long num2 = this._hash[num];
|
|
int num3 = 0;
|
|
num3++;
|
|
num++;
|
|
short[] bitCount = this._bitCount;
|
|
int length = bitCount.Length;
|
|
int num4 = 0;
|
|
Array.Clear(bitCount, num4, length);
|
|
byte[] buffer = this._buffer;
|
|
int length2 = buffer.Length;
|
|
int num5 = 0;
|
|
Array.Clear(buffer, num5, length2);
|
|
long[] hash = this._hash;
|
|
int length3 = hash.Length;
|
|
int num6 = 0;
|
|
Array.Clear(hash, num6, length3);
|
|
long[] k = this._K;
|
|
int length4 = k.Length;
|
|
int num7 = 0;
|
|
Array.Clear(k, num7, length4);
|
|
long[] l = this._L;
|
|
int length5 = l.Length;
|
|
int num8 = 0;
|
|
Array.Clear(l, num8, length5);
|
|
long[] block = this._block;
|
|
int length6 = block.Length;
|
|
int num9 = 0;
|
|
Array.Clear(block, num9, length6);
|
|
long[] state = this._state;
|
|
int length7 = state.Length;
|
|
int num10 = 0;
|
|
Array.Clear(state, num10, length7);
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600BFF0 RID: 49136 RVA: 0x002B42A0 File Offset: 0x002B24A0
|
|
[Token(Token = "0x600BFF0")]
|
|
[Address(RVA = "0x24A8010", Offset = "0x24A7010", VA = "0x1824A8010", Slot = "10")]
|
|
public void Reset()
|
|
{
|
|
this._bufferPos = (int)((ulong)0L);
|
|
short[] bitCount = this._bitCount;
|
|
int length = bitCount.Length;
|
|
int num = 0;
|
|
Array.Clear(bitCount, num, length);
|
|
byte[] buffer = this._buffer;
|
|
int length2 = buffer.Length;
|
|
int num2 = 0;
|
|
Array.Clear(buffer, num2, length2);
|
|
long[] hash = this._hash;
|
|
int length3 = hash.Length;
|
|
int num3 = 0;
|
|
Array.Clear(hash, num3, length3);
|
|
long[] k = this._K;
|
|
int length4 = k.Length;
|
|
int num4 = 0;
|
|
Array.Clear(k, num4, length4);
|
|
long[] l = this._L;
|
|
int length5 = l.Length;
|
|
int num5 = 0;
|
|
Array.Clear(l, num5, length5);
|
|
long[] block = this._block;
|
|
int length6 = block.Length;
|
|
int num6 = 0;
|
|
Array.Clear(block, num6, length6);
|
|
long[] state = this._state;
|
|
int length7 = state.Length;
|
|
int num7 = 0;
|
|
Array.Clear(state, num7, length7);
|
|
}
|
|
|
|
// Token: 0x0600BFF1 RID: 49137 RVA: 0x002B438C File Offset: 0x002B258C
|
|
[Token(Token = "0x600BFF1")]
|
|
[Address(RVA = "0x24AA2E0", Offset = "0x24A92E0", VA = "0x1824AA2E0")]
|
|
private void processFilledBuffer()
|
|
{
|
|
long[] state = this._state;
|
|
int num = 0;
|
|
int num2 = 0;
|
|
if (num2 < state.Length)
|
|
{
|
|
long[] block = this._block;
|
|
byte[] buffer = this._buffer;
|
|
num++;
|
|
long num3;
|
|
block[0] = num3;
|
|
long[] state2 = this._state;
|
|
}
|
|
this.processBlock();
|
|
byte[] buffer2 = this._buffer;
|
|
this._bufferPos = (int)((ulong)0L);
|
|
int length = buffer2.Length;
|
|
int num4 = 0;
|
|
Array.Clear(buffer2, num4, length);
|
|
}
|
|
|
|
// Token: 0x0600BFF2 RID: 49138 RVA: 0x002B440C File Offset: 0x002B260C
|
|
[Token(Token = "0x600BFF2")]
|
|
[Address(RVA = "0x24A8F50", Offset = "0x24A7F50", VA = "0x1824A8F50")]
|
|
private static long bytesToLongFromBuffer(byte[] buffer, int startPos)
|
|
{
|
|
int length = buffer.Length;
|
|
int num = startPos + 1;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600BFF3 RID: 49139 RVA: 0x002B442C File Offset: 0x002B262C
|
|
[Token(Token = "0x600BFF3")]
|
|
[Address(RVA = "0x24A9100", Offset = "0x24A8100", VA = "0x1824A9100")]
|
|
private static void convertLongToByteArray(long inputLong, byte[] outputArray, int offSet)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600BFF4 RID: 49140 RVA: 0x002B4440 File Offset: 0x002B2640
|
|
[Token(Token = "0x600BFF4")]
|
|
[Address(RVA = "0x24A9590", Offset = "0x24A8590", VA = "0x1824A9590")]
|
|
private void processBlock()
|
|
{
|
|
int num = 0;
|
|
long[] block = this._block;
|
|
long[] state = this._state;
|
|
long[] hash = this._hash;
|
|
long[] k = this._K;
|
|
long num2 = hash[num];
|
|
k[0] = num2;
|
|
num++;
|
|
state[0] = num2;
|
|
this._L[0] = (long)num;
|
|
long[] l = this._L;
|
|
long[] k2 = this._K;
|
|
long[] c = WhirlpoolDigest.C0;
|
|
long[] l2 = this._L;
|
|
long[] c2 = WhirlpoolDigest.C1;
|
|
long[] k3 = this._K;
|
|
long[] l3 = this._L;
|
|
long[] c3 = WhirlpoolDigest.C2;
|
|
long[] k4 = this._K;
|
|
long[] l4 = this._L;
|
|
long[] c4 = WhirlpoolDigest.C3;
|
|
long[] k5 = this._K;
|
|
long[] l5 = this._L;
|
|
long[] c5 = WhirlpoolDigest.C4;
|
|
long[] k6 = this._K;
|
|
long[] l6 = this._L;
|
|
long[] c6 = WhirlpoolDigest.C5;
|
|
long[] k7 = this._K;
|
|
long[] l7 = this._L;
|
|
long[] c7 = WhirlpoolDigest.C6;
|
|
long[] k8 = this._K;
|
|
long[] l8 = this._L;
|
|
long[] c8 = WhirlpoolDigest.C7;
|
|
long[] k9 = this._K;
|
|
num++;
|
|
long[] k10 = this._K;
|
|
int length = k10.Length;
|
|
int num3 = 0;
|
|
long[] l9 = this._L;
|
|
int num4 = 0;
|
|
Array.Copy(l9, num4, k10, num3, length);
|
|
long[] k11 = this._K;
|
|
long[] rc = this._rc;
|
|
long[] k12 = this._K;
|
|
long[] l10 = this._L;
|
|
long num5 = k12[num];
|
|
l10[0] = num5;
|
|
long[] l11 = this._L;
|
|
long[] state2 = this._state;
|
|
long[] c9 = WhirlpoolDigest.C0;
|
|
long[] l12 = this._L;
|
|
long[] c10 = WhirlpoolDigest.C1;
|
|
long[] state3 = this._state;
|
|
long[] l13 = this._L;
|
|
long[] c11 = WhirlpoolDigest.C2;
|
|
long[] state4 = this._state;
|
|
long[] l14 = this._L;
|
|
long[] c12 = WhirlpoolDigest.C3;
|
|
long[] state5 = this._state;
|
|
long[] l15 = this._L;
|
|
long[] c13 = WhirlpoolDigest.C4;
|
|
long[] state6 = this._state;
|
|
long[] l16 = this._L;
|
|
long[] c14 = WhirlpoolDigest.C5;
|
|
long[] state7 = this._state;
|
|
long[] l17 = this._L;
|
|
long[] c15 = WhirlpoolDigest.C6;
|
|
long[] state8 = this._state;
|
|
long[] l18 = this._L;
|
|
long[] c16 = WhirlpoolDigest.C7;
|
|
long[] state9 = this._state;
|
|
num++;
|
|
long[] state10 = this._state;
|
|
int length2 = state10.Length;
|
|
int num6 = 0;
|
|
long[] l19 = this._L;
|
|
int num7 = 0;
|
|
Array.Copy(l19, num7, state10, num6, length2);
|
|
while ((ulong)((uint)1) <= (ulong)10L)
|
|
{
|
|
}
|
|
long[] hash2 = this._hash;
|
|
long[] state11 = this._state;
|
|
long num8 = this._block[num];
|
|
num++;
|
|
}
|
|
|
|
// Token: 0x0600BFF5 RID: 49141 RVA: 0x002B46D4 File Offset: 0x002B28D4
|
|
[Token(Token = "0x600BFF5")]
|
|
[Address(RVA = "0x24A82A0", Offset = "0x24A72A0", VA = "0x1824A82A0", Slot = "7")]
|
|
public void Update(byte input)
|
|
{
|
|
byte[] buffer = this._buffer;
|
|
int bufferPos = this._bufferPos;
|
|
int num = this._bufferPos;
|
|
byte[] buffer2 = this._buffer;
|
|
num++;
|
|
this._bufferPos = num;
|
|
if (num == buffer2.Length)
|
|
{
|
|
this.processFilledBuffer();
|
|
}
|
|
int length = this._bitCount.Length;
|
|
short[] bitCount = this._bitCount;
|
|
short[] eight = WhirlpoolDigest.EIGHT;
|
|
short[] bitCount2 = this._bitCount;
|
|
}
|
|
|
|
// Token: 0x0600BFF6 RID: 49142 RVA: 0x002B4744 File Offset: 0x002B2944
|
|
[Token(Token = "0x600BFF6")]
|
|
[Address(RVA = "0x24A93C0", Offset = "0x24A83C0", VA = "0x1824A93C0")]
|
|
private void increment()
|
|
{
|
|
int length = this._bitCount.Length;
|
|
short[] bitCount = this._bitCount;
|
|
short[] eight = WhirlpoolDigest.EIGHT;
|
|
short[] bitCount2 = this._bitCount;
|
|
}
|
|
|
|
// Token: 0x0600BFF7 RID: 49143 RVA: 0x002B4778 File Offset: 0x002B2978
|
|
[Token(Token = "0x600BFF7")]
|
|
[Address(RVA = "0x24A7C90", Offset = "0x24A6C90", VA = "0x1824A7C90", Slot = "8")]
|
|
public void BlockUpdate(byte[] input, int inOff, int length)
|
|
{
|
|
if (length > 0)
|
|
{
|
|
byte b;
|
|
this.Update(b);
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600BFF8 RID: 49144 RVA: 0x002B4798 File Offset: 0x002B2998
|
|
[Token(Token = "0x600BFF8")]
|
|
[Address(RVA = "0x24A9210", Offset = "0x24A8210", VA = "0x1824A9210")]
|
|
private void finish()
|
|
{
|
|
byte[] array = new byte[32];
|
|
int num = 0;
|
|
int num2 = 0;
|
|
int length = array.Length;
|
|
if (num2 < length)
|
|
{
|
|
short num3 = this._bitCount[num];
|
|
num++;
|
|
}
|
|
int bufferPos = this._bufferPos;
|
|
byte[] buffer = this._buffer;
|
|
int num4 = bufferPos + 1;
|
|
this._bufferPos = num4;
|
|
byte[] buffer2 = this._buffer;
|
|
int bufferPos2;
|
|
if (this._bufferPos == buffer2.Length)
|
|
{
|
|
this.processFilledBuffer();
|
|
bufferPos2 = this._bufferPos;
|
|
}
|
|
if (bufferPos2 > 32)
|
|
{
|
|
if (bufferPos2 == 0)
|
|
{
|
|
goto IL_A4;
|
|
}
|
|
int num5 = 0;
|
|
this.Update((byte)num5);
|
|
while (this.C3 != (ulong)0L)
|
|
{
|
|
}
|
|
}
|
|
int num6 = 0;
|
|
this.Update((byte)num6);
|
|
while (this.C3 <= (ulong)32L)
|
|
{
|
|
}
|
|
IL_A4:
|
|
int length2 = array.Length;
|
|
byte[] buffer3 = this._buffer;
|
|
int num7 = 0;
|
|
Array.Copy(array, num7, buffer3, 32, length2);
|
|
this.processFilledBuffer();
|
|
}
|
|
|
|
// Token: 0x0600BFF9 RID: 49145 RVA: 0x002B4878 File Offset: 0x002B2A78
|
|
[Token(Token = "0x600BFF9")]
|
|
[Address(RVA = "0x24A9170", Offset = "0x24A8170", VA = "0x1824A9170")]
|
|
private byte[] copyBitLength()
|
|
{
|
|
byte[] array = new byte[32];
|
|
int num = 0;
|
|
int length = array.Length;
|
|
if (num < length)
|
|
{
|
|
short num2 = this._bitCount[num];
|
|
num++;
|
|
}
|
|
return array;
|
|
}
|
|
|
|
// Token: 0x0600BFFA RID: 49146 RVA: 0x002B48B4 File Offset: 0x002B2AB4
|
|
[Token(Token = "0x600BFFA")]
|
|
[Address(RVA = "0x8BCFC0", Offset = "0x8BBFC0", VA = "0x1808BCFC0", Slot = "6")]
|
|
public int GetByteLength()
|
|
{
|
|
return 64;
|
|
}
|
|
|
|
// Token: 0x0600BFFB RID: 49147 RVA: 0x002B48C4 File Offset: 0x002B2AC4
|
|
[Token(Token = "0x600BFFB")]
|
|
[Address(RVA = "0x24A7D10", Offset = "0x24A6D10", VA = "0x1824A7D10", Slot = "11")]
|
|
public IMemoable Copy()
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600BFFB)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.WhirlpoolDigest::Copy()
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stloc:WhirlpoolDigest(var_0_05, newobj:WhirlpoolDigest(WhirlpoolDigest::.ctor))
|
|
stloc:int64[](var_1_0D, newarr:int64[]([mscorlib]System.Int64, ldc.i4:int32(11)))
|
|
stfld:int64[](WhirlpoolDigest::_rc, ldloc:WhirlpoolDigest(var_0_05), ldloc:int64[](var_1_0D))
|
|
stloc:uint8[](var_2_1C, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(64)))
|
|
stfld:uint8[](WhirlpoolDigest::_buffer, ldloc:WhirlpoolDigest(var_0_05), ldloc:uint8[](var_2_1C))
|
|
stloc:int16[](var_3_2B, newarr:int16[]([mscorlib]System.Int16, ldc.i4:int32(32)))
|
|
stfld:int16[](WhirlpoolDigest::_bitCount, ldloc:WhirlpoolDigest(var_0_05), ldloc:int16[](var_3_2B))
|
|
stloc:int64[](var_4_39, newarr:int64[]([mscorlib]System.Int64, ldc.i4:int32(8)))
|
|
stfld:int64[](WhirlpoolDigest::_hash, ldloc:WhirlpoolDigest(var_0_05), ldloc:int64[](var_4_39))
|
|
stloc:int64[](var_5_49, newarr:int64[]([mscorlib]System.Int64, ldc.i4:int32(8)))
|
|
stfld:int64[](WhirlpoolDigest::_K, ldloc:WhirlpoolDigest(var_0_05), ldloc:int64[](var_5_49))
|
|
stloc:int64[](var_6_59, newarr:int64[]([mscorlib]System.Int64, ldc.i4:int32(8)))
|
|
stfld:int64[](WhirlpoolDigest::_L, ldloc:WhirlpoolDigest(var_0_05), ldloc:int64[](var_6_59))
|
|
stloc:int64[](var_7_69, newarr:int64[]([mscorlib]System.Int64, ldc.i4:int32(8)))
|
|
stfld:int64[](WhirlpoolDigest::_block, ldloc:WhirlpoolDigest(var_0_05), ldloc:int64[](var_7_69))
|
|
stloc:int64[](var_8_79, newarr:int64[]([mscorlib]System.Int64, ldc.i4:int32(8)))
|
|
stfld:int64[](WhirlpoolDigest::_state, ldloc:WhirlpoolDigest(var_0_05), ldloc:int64[](var_8_79))
|
|
call:void(WhirlpoolDigest::Reset, ldloc:WhirlpoolDigest(var_0_05), ldloc:WhirlpoolDigest[exp:IMemoable](this))
|
|
}
|
|
|
|
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: 0x0600BFFC RID: 49148 RVA: 0x002B495C File Offset: 0x002B2B5C
|
|
[Token(Token = "0x600BFFC")]
|
|
[Address(RVA = "0x24A80E0", Offset = "0x24A70E0", VA = "0x1824A80E0", Slot = "12")]
|
|
public void Reset(IMemoable other)
|
|
{
|
|
while (other == 0)
|
|
{
|
|
}
|
|
int length = this._rc.Length;
|
|
int length2 = this._buffer.Length;
|
|
short[] bitCount = this._bitCount;
|
|
this._bufferPos = length2;
|
|
int length3 = bitCount.Length;
|
|
int length4 = this._hash.Length;
|
|
int length5 = this._K.Length;
|
|
int length6 = this._L.Length;
|
|
int length7 = this._block.Length;
|
|
int length8 = this._state.Length;
|
|
}
|
|
|
|
// Token: 0x0400792D RID: 31021
|
|
[Token(Token = "0x400792D")]
|
|
private const int BYTE_LENGTH = 64;
|
|
|
|
// Token: 0x0400792E RID: 31022
|
|
[Token(Token = "0x400792E")]
|
|
private const int DIGEST_LENGTH_BYTES = 64;
|
|
|
|
// Token: 0x0400792F RID: 31023
|
|
[Token(Token = "0x400792F")]
|
|
private const int ROUNDS = 10;
|
|
|
|
// Token: 0x04007930 RID: 31024
|
|
[Token(Token = "0x4007930")]
|
|
private const int REDUCTION_POLYNOMIAL = 285;
|
|
|
|
// Token: 0x04007931 RID: 31025
|
|
[Token(Token = "0x4007931")]
|
|
private static readonly int[] SBOX;
|
|
|
|
// Token: 0x04007932 RID: 31026
|
|
[Token(Token = "0x4007932")]
|
|
private static readonly long[] C0;
|
|
|
|
// Token: 0x04007933 RID: 31027
|
|
[Token(Token = "0x4007933")]
|
|
private static readonly long[] C1;
|
|
|
|
// Token: 0x04007934 RID: 31028
|
|
[Token(Token = "0x4007934")]
|
|
private static readonly long[] C2;
|
|
|
|
// Token: 0x04007935 RID: 31029
|
|
[Token(Token = "0x4007935")]
|
|
private static readonly long[] C3;
|
|
|
|
// Token: 0x04007936 RID: 31030
|
|
[Token(Token = "0x4007936")]
|
|
private static readonly long[] C4;
|
|
|
|
// Token: 0x04007937 RID: 31031
|
|
[Token(Token = "0x4007937")]
|
|
private static readonly long[] C5;
|
|
|
|
// Token: 0x04007938 RID: 31032
|
|
[Token(Token = "0x4007938")]
|
|
private static readonly long[] C6;
|
|
|
|
// Token: 0x04007939 RID: 31033
|
|
[Token(Token = "0x4007939")]
|
|
private static readonly long[] C7;
|
|
|
|
// Token: 0x0400793A RID: 31034
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x400793A")]
|
|
private readonly long[] _rc;
|
|
|
|
// Token: 0x0400793B RID: 31035
|
|
[Token(Token = "0x400793B")]
|
|
private static readonly short[] EIGHT;
|
|
|
|
// Token: 0x0400793C RID: 31036
|
|
[Token(Token = "0x400793C")]
|
|
private const int BITCOUNT_ARRAY_SIZE = 32;
|
|
|
|
// Token: 0x0400793D RID: 31037
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x400793D")]
|
|
private byte[] _buffer;
|
|
|
|
// Token: 0x0400793E RID: 31038
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x400793E")]
|
|
private int _bufferPos;
|
|
|
|
// Token: 0x0400793F RID: 31039
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x400793F")]
|
|
private short[] _bitCount;
|
|
|
|
// Token: 0x04007940 RID: 31040
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4007940")]
|
|
private long[] _hash;
|
|
|
|
// Token: 0x04007941 RID: 31041
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x4007941")]
|
|
private long[] _K;
|
|
|
|
// Token: 0x04007942 RID: 31042
|
|
[FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x4007942")]
|
|
private long[] _L;
|
|
|
|
// Token: 0x04007943 RID: 31043
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x4007943")]
|
|
private long[] _block;
|
|
|
|
// Token: 0x04007944 RID: 31044
|
|
[FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x4007944")]
|
|
private long[] _state;
|
|
}
|
|
}
|