Files
Jan2021-Cpp2Il-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Crypto/Digests/WhirlpoolDigest.cs
T
2026-04-08 23:40:05 +02:00

651 lines
21 KiB
C#

using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
{
// Token: 0x02001727 RID: 5927
[Token(Token = "0x2001727")]
[StructLayout(3)]
public sealed class WhirlpoolDigest : IDigest, IMemoable
{
// Token: 0x0600A040 RID: 41024 RVA: 0x002531DC File Offset: 0x002513DC
[Token(Token = "0x600A040")]
[Address(RVA = "0x2065D10", Offset = "0x2064710", VA = "0x182065D10")]
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: 0x0600A041 RID: 41025 RVA: 0x0025331C File Offset: 0x0025151C
[Token(Token = "0x600A041")]
[Address(RVA = "0x2066420", Offset = "0x2064E20", VA = "0x182066420")]
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: 0x0600A042 RID: 41026 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600A042")]
[Address(RVA = "0x2066E00", Offset = "0x2065800", VA = "0x182066E00")]
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: 0x0600A043 RID: 41027 RVA: 0x00253424 File Offset: 0x00251624
[Token(Token = "0x600A043")]
[Address(RVA = "0x2066DE0", Offset = "0x20657E0", VA = "0x182066DE0")]
private static int maskWithReductionPolynomial(int input)
{
return input;
}
// Token: 0x0600A044 RID: 41028 RVA: 0x00253434 File Offset: 0x00251634
[Token(Token = "0x600A044")]
[Address(RVA = "0x2066320", Offset = "0x2064D20", VA = "0x182066320")]
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: 0x1700192E RID: 6446
// (get) Token: 0x0600A045 RID: 41029 RVA: 0x002534CC File Offset: 0x002516CC
[Token(Token = "0x1700192E")]
public string AlgorithmName
{
[Token(Token = "0x600A045")]
[Address(RVA = "0x2066C60", Offset = "0x2065660", VA = "0x182066C60", Slot = "4")]
get
{
return "Whirlpool";
}
}
// Token: 0x0600A046 RID: 41030 RVA: 0x002534E0 File Offset: 0x002516E0
[Token(Token = "0x600A046")]
[Address(RVA = "0x2062AA0", Offset = "0x20614A0", VA = "0x182062AA0", Slot = "5")]
public int GetDigestSize()
{
return 64;
}
// Token: 0x0600A047 RID: 41031 RVA: 0x002534F0 File Offset: 0x002516F0
[Token(Token = "0x600A047")]
[Address(RVA = "0x2065700", Offset = "0x2064100", VA = "0x182065700", 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: 0x0600A048 RID: 41032 RVA: 0x002535F8 File Offset: 0x002517F8
[Token(Token = "0x600A048")]
[Address(RVA = "0x20658E0", Offset = "0x20642E0", VA = "0x1820658E0", 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: 0x0600A049 RID: 41033 RVA: 0x002536E4 File Offset: 0x002518E4
[Token(Token = "0x600A049")]
[Address(RVA = "0x2067BB0", Offset = "0x20665B0", VA = "0x182067BB0")]
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: 0x0600A04A RID: 41034 RVA: 0x00253764 File Offset: 0x00251964
[Token(Token = "0x600A04A")]
[Address(RVA = "0x2066820", Offset = "0x2065220", VA = "0x182066820")]
private static long bytesToLongFromBuffer(byte[] buffer, int startPos)
{
int length = buffer.Length;
int num = startPos + 1;
throw new NullReferenceException();
}
// Token: 0x0600A04B RID: 41035 RVA: 0x00253784 File Offset: 0x00251984
[Token(Token = "0x600A04B")]
[Address(RVA = "0x20669D0", Offset = "0x20653D0", VA = "0x1820669D0")]
private static void convertLongToByteArray(long inputLong, byte[] outputArray, int offSet)
{
}
// Token: 0x0600A04C RID: 41036 RVA: 0x00253798 File Offset: 0x00251998
[Token(Token = "0x600A04C")]
[Address(RVA = "0x2066E60", Offset = "0x2065860", VA = "0x182066E60")]
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: 0x0600A04D RID: 41037 RVA: 0x00253A2C File Offset: 0x00251C2C
[Token(Token = "0x600A04D")]
[Address(RVA = "0x2065B70", Offset = "0x2064570", VA = "0x182065B70", 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: 0x0600A04E RID: 41038 RVA: 0x00253A9C File Offset: 0x00251C9C
[Token(Token = "0x600A04E")]
[Address(RVA = "0x2066C90", Offset = "0x2065690", VA = "0x182066C90")]
private void increment()
{
int length = this._bitCount.Length;
short[] bitCount = this._bitCount;
short[] eight = WhirlpoolDigest.EIGHT;
short[] bitCount2 = this._bitCount;
}
// Token: 0x0600A04F RID: 41039 RVA: 0x00253AD0 File Offset: 0x00251CD0
[Token(Token = "0x600A04F")]
[Address(RVA = "0x2065560", Offset = "0x2063F60", VA = "0x182065560", Slot = "8")]
public void BlockUpdate(byte[] input, int inOff, int length)
{
if (length > 0)
{
byte b;
this.Update(b);
}
}
// Token: 0x0600A050 RID: 41040 RVA: 0x00253AF0 File Offset: 0x00251CF0
[Token(Token = "0x600A050")]
[Address(RVA = "0x2066AE0", Offset = "0x20654E0", VA = "0x182066AE0")]
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: 0x0600A051 RID: 41041 RVA: 0x00253BD0 File Offset: 0x00251DD0
[Token(Token = "0x600A051")]
[Address(RVA = "0x2066A40", Offset = "0x2065440", VA = "0x182066A40")]
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: 0x0600A052 RID: 41042 RVA: 0x00253C0C File Offset: 0x00251E0C
[Token(Token = "0x600A052")]
[Address(RVA = "0x2062AA0", Offset = "0x20614A0", VA = "0x182062AA0", Slot = "6")]
public int GetByteLength()
{
return 64;
}
// Token: 0x0600A053 RID: 41043 RVA: 0x00253C1C File Offset: 0x00251E1C
[Token(Token = "0x600A053")]
[Address(RVA = "0x20655E0", Offset = "0x2063FE0", VA = "0x1820655E0", Slot = "11")]
public IMemoable Copy()
{
/*
An exception occurred when decompiling this method (0600A053)
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: 0x0600A054 RID: 41044 RVA: 0x00253CB4 File Offset: 0x00251EB4
[Token(Token = "0x600A054")]
[Address(RVA = "0x20659B0", Offset = "0x20643B0", VA = "0x1820659B0", 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: 0x04006931 RID: 26929
[Token(Token = "0x4006931")]
private const int BYTE_LENGTH = 64;
// Token: 0x04006932 RID: 26930
[Token(Token = "0x4006932")]
private const int DIGEST_LENGTH_BYTES = 64;
// Token: 0x04006933 RID: 26931
[Token(Token = "0x4006933")]
private const int ROUNDS = 10;
// Token: 0x04006934 RID: 26932
[Token(Token = "0x4006934")]
private const int REDUCTION_POLYNOMIAL = 285;
// Token: 0x04006935 RID: 26933
[Token(Token = "0x4006935")]
private static readonly int[] SBOX;
// Token: 0x04006936 RID: 26934
[Token(Token = "0x4006936")]
private static readonly long[] C0;
// Token: 0x04006937 RID: 26935
[Token(Token = "0x4006937")]
private static readonly long[] C1;
// Token: 0x04006938 RID: 26936
[Token(Token = "0x4006938")]
private static readonly long[] C2;
// Token: 0x04006939 RID: 26937
[Token(Token = "0x4006939")]
private static readonly long[] C3;
// Token: 0x0400693A RID: 26938
[Token(Token = "0x400693A")]
private static readonly long[] C4;
// Token: 0x0400693B RID: 26939
[Token(Token = "0x400693B")]
private static readonly long[] C5;
// Token: 0x0400693C RID: 26940
[Token(Token = "0x400693C")]
private static readonly long[] C6;
// Token: 0x0400693D RID: 26941
[Token(Token = "0x400693D")]
private static readonly long[] C7;
// Token: 0x0400693E RID: 26942
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x400693E")]
private readonly long[] _rc;
// Token: 0x0400693F RID: 26943
[Token(Token = "0x400693F")]
private static readonly short[] EIGHT;
// Token: 0x04006940 RID: 26944
[Token(Token = "0x4006940")]
private const int BITCOUNT_ARRAY_SIZE = 32;
// Token: 0x04006941 RID: 26945
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006941")]
private byte[] _buffer;
// Token: 0x04006942 RID: 26946
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006942")]
private int _bufferPos;
// Token: 0x04006943 RID: 26947
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x4006943")]
private short[] _bitCount;
// Token: 0x04006944 RID: 26948
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x4006944")]
private long[] _hash;
// Token: 0x04006945 RID: 26949
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x4006945")]
private long[] _K;
// Token: 0x04006946 RID: 26950
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x4006946")]
private long[] _L;
// Token: 0x04006947 RID: 26951
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x4006947")]
private long[] _block;
// Token: 0x04006948 RID: 26952
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
[Token(Token = "0x4006948")]
private long[] _state;
}
}