using System; using System.Runtime.CompilerServices; using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests { // Token: 0x02001DC0 RID: 7616 [Token(Token = "0x2001DC0")] public class Blake2bDigest : IDigest { // Token: 0x0600BDCD RID: 48589 RVA: 0x002A52CC File Offset: 0x002A34CC [Token(Token = "0x600BDCD")] [Address(RVA = "0x2597DE0", Offset = "0x2596DE0", VA = "0x182597DE0")] public Blake2bDigest() { this.digestLength = (int)((ulong)64L); ulong[] array = new ulong[16]; this.internalState = array; base..ctor(); byte[] array2 = new byte[128]; this.buffer = array2; this.digestLength = (int)((ulong)64L); this.Init(); } // Token: 0x0600BDCE RID: 48590 RVA: 0x002A531C File Offset: 0x002A351C [Token(Token = "0x600BDCE")] [Address(RVA = "0x2597E60", Offset = "0x2596E60", VA = "0x182597E60")] public Blake2bDigest(Blake2bDigest digest) { this.digestLength = (int)((ulong)64L); ulong[] array = new ulong[16]; this.internalState = array; base..ctor(); int num = digest.bufferPos; this.bufferPos = num; byte[] array2 = Arrays.Clone(digest.buffer); this.buffer = array2; int num2 = digest.keyLength; this.keyLength = num2; byte[] array3 = Arrays.Clone(digest.key); this.key = array3; int num3 = digest.digestLength; this.digestLength = num3; ulong[] array4 = Arrays.Clone(digest.chainValue); this.chainValue = array4; byte[] array5 = Arrays.Clone(digest.personalization); this.personalization = array5; byte[] array6 = Arrays.Clone(digest.salt); this.salt = array6; ulong num4 = digest.t0; this.t0 = num4; ulong num5 = digest.t1; this.t1 = num5; ulong num6 = digest.f0; this.f0 = num6; } // Token: 0x0600BDCF RID: 48591 RVA: 0x002A5414 File Offset: 0x002A3614 [Token(Token = "0x600BDCF")] [Address(RVA = "0x2597D00", Offset = "0x2596D00", VA = "0x182597D00")] public Blake2bDigest(int digestSize) { /* An exception occurred when decompiling this method (0600BDCF) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Blake2bDigest::.ctor(System.Int32) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_5A: stloc:ArgumentException(var_5_64, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("BLAKE2b digest bit length must be a multiple of 8 and not greater than 512"))) } 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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 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: 0x0600BDD0 RID: 48592 RVA: 0x002A5488 File Offset: 0x002A3688 [Token(Token = "0x600BDD0")] [Address(RVA = "0x2597BE0", Offset = "0x2596BE0", VA = "0x182597BE0")] public Blake2bDigest(byte[] key) { this.digestLength = (int)((ulong)64L); ulong[] array = new ulong[16]; this.internalState = array; base..ctor(); byte[] array2 = new byte[128]; this.buffer = array2; if (key != 0) { byte[] array3 = new byte[key.Length]; this.key = array3; int num = 0; int length = key.Length; int num2 = 0; Array.Copy(key, num2, array3, num, length); int length2 = key.Length; byte[] array4 = this.buffer; int num3 = 0; this.keyLength = length2; int num4 = 0; int length3 = key.Length; Array.Copy(key, num4, array4, num3, length3); this.bufferPos = (int)((ulong)128L); } this.digestLength = (int)((ulong)64L); this.Init(); } // Token: 0x0600BDD1 RID: 48593 RVA: 0x002A5554 File Offset: 0x002A3754 [Token(Token = "0x600BDD1")] [Address(RVA = "0x2597F70", Offset = "0x2596F70", VA = "0x182597F70")] public Blake2bDigest(byte[] key, int digestLength, byte[] salt, byte[] personalization) { /* An exception occurred when decompiling this method (0600BDD1) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Blake2bDigest::.ctor(System.Byte[],System.Int32,System.Byte[],System.Byte[]) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_118: stloc:ArgumentException(var_19_122, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("salt length must be exactly 16 bytes"))) } 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: 0x0600BDD2 RID: 48594 RVA: 0x002A5684 File Offset: 0x002A3884 [Token(Token = "0x600BDD2")] [Address(RVA = "0x25972C0", Offset = "0x25962C0", VA = "0x1825972C0")] private void Init() { if (this.chainValue == (ulong)0L) { ulong[] array = new ulong[8]; this.chainValue = array; ulong[] array2 = Blake2bDigest.blake2b_IV; int num = this.keyLength; array[0] = (ulong)num; ulong[] array3 = this.chainValue; ulong num2 = Blake2bDigest.blake2b_IV[1]; array3[1] = num2; ulong[] array4 = this.chainValue; ulong num3 = Blake2bDigest.blake2b_IV[2]; array4[2] = num3; ulong[] array5 = this.chainValue; ulong num4 = Blake2bDigest.blake2b_IV[3]; array5[3] = num4; ulong[] array6 = this.chainValue; ulong num5 = Blake2bDigest.blake2b_IV[4]; array6[4] = num5; ulong[] array7 = this.chainValue; ulong num6 = Blake2bDigest.blake2b_IV[5]; array7[5] = num6; byte[] array8 = this.salt; if (array8 != 0) { ulong[] array9 = this.chainValue; int num7 = 0; ulong num8 = Pack.LE_To_UInt64(array8, num7); array9[4] = num8; ulong[] array10 = this.chainValue; ulong num9 = Pack.LE_To_UInt64(this.salt, 8); array10[5] = num9; } ulong[] array11 = this.chainValue; ulong num10 = Blake2bDigest.blake2b_IV[6]; array11[6] = num10; ulong[] array12 = this.chainValue; ulong num11 = Blake2bDigest.blake2b_IV[7]; array12[7] = num11; byte[] array13 = this.personalization; if (array13 != 0) { ulong[] array14 = this.chainValue; int num12 = 0; ulong num13 = Pack.LE_To_UInt64(array13, num12); array14[6] = num13; ulong[] array15 = this.chainValue; ulong num14 = Pack.LE_To_UInt64(this.personalization, 8); array15[7] = num14; } } } // Token: 0x0600BDD3 RID: 48595 RVA: 0x002A583C File Offset: 0x002A3A3C [Token(Token = "0x600BDD3")] [Address(RVA = "0x25977A0", Offset = "0x25967A0", VA = "0x1825977A0")] private void InitializeInternalState() { ulong[] array = this.chainValue; int length = array.Length; int num = 0; ulong[] array2 = this.internalState; int num2 = 0; Array.Copy(array, num2, array2, num, length); ulong[] array3 = this.chainValue; int num3 = 0; int length2 = array3.Length; ulong[] array4 = this.internalState; ulong num4; Array.Copy(Blake2bDigest.blake2b_IV, num3, array4, length2, (int)num4); ulong[] array5 = this.internalState; ulong num5 = Blake2bDigest.blake2b_IV[4]; array5[12] = num5; ulong[] array6 = this.internalState; ulong num6 = Blake2bDigest.blake2b_IV[5]; array6[13] = num6; ulong[] array7 = this.internalState; ulong num7 = Blake2bDigest.blake2b_IV[6]; array7[14] = num7; ulong[] array8 = this.internalState; ulong num8 = Blake2bDigest.blake2b_IV[7]; array8[15] = num8; } // Token: 0x0600BDD4 RID: 48596 RVA: 0x002A5924 File Offset: 0x002A3B24 [Token(Token = "0x600BDD4")] [Address(RVA = "0x2597A70", Offset = "0x2596A70", VA = "0x182597A70", Slot = "11")] public virtual void Update(byte b) { int num = this.bufferPos; uint num2; byte[] array; if (num2 != (uint)num) { array = this.buffer; return; } if (num == array.Length) { } byte[] array2 = this.buffer; int num3 = 0; this.Compress(array2, num3); byte[] array3 = this.buffer; int length = array3.Length; int num4 = 0; Array.Clear(array3, num4, length); this.buffer[0] = b; this.bufferPos = (int)((ulong)1L); } // Token: 0x0600BDD5 RID: 48597 RVA: 0x002A599C File Offset: 0x002A3B9C [Token(Token = "0x600BDD5")] [Address(RVA = "0x25963A0", Offset = "0x25953A0", VA = "0x1825963A0", Slot = "12")] public virtual void BlockUpdate(byte[] message, int offset, int len) { if (message != 0 && len != 0) { int num = this.bufferPos; int num2 = 0; if (num != 0) { byte[] array = this.buffer; uint num3; num3 -= (uint)num; Array.Copy(message, offset, array, num, len); Array.Copy(message, offset, array, num, (int)num3); if (num3 == (uint)len) { } byte[] array2 = this.buffer; int num4 = 0; this.Compress(array2, num4); byte[] array3 = this.buffer; this.bufferPos = num2; int length = array3.Length; int num5 = 0; Array.Clear(array3, num5, length); } num2 += offset; this.Compress(message, num2); byte[] array4 = this.buffer; int num6 = 0; Array.Copy(message, num2, array4, num6, offset); } } // Token: 0x0600BDD6 RID: 48598 RVA: 0x002A5A4C File Offset: 0x002A3C4C [Token(Token = "0x600BDD6")] [Address(RVA = "0x2596D10", Offset = "0x2595D10", VA = "0x182596D10", Slot = "13")] public virtual int DoFinal(byte[] output, int outOffset) { int num = this.bufferPos; this.f0 = (ulong)(-1L); this.t0 = (ulong)num; if (num <= 0 || num == 0) { } byte[] array = this.buffer; int num2 = 0; this.Compress(array, num2); byte[] array2 = this.buffer; int length = array2.Length; int num3 = 0; Array.Clear(array2, num3, length); ulong[] array3 = this.internalState; int length2 = array3.Length; int num4 = 0; Array.Clear(array3, num4, length2); ulong[] array4 = this.chainValue; int num5 = 0; ulong[] array6; if (num5 < array4.Length && num5 < this.digestLength) { byte[] array5 = Pack.UInt64_To_LE(array4[num5]); int num6 = this.digestLength; num6 -= num5; int num7 = 0; uint num8; Array.Copy(array5, num7, output, 0, (int)num8); array6 = this.chainValue; num5++; num5 += 8; } int length3 = array6.Length; int num9 = 0; Array.Clear(array6, num9, length3); return this.digestLength; } // Token: 0x0600BDD7 RID: 48599 RVA: 0x002A5B4C File Offset: 0x002A3D4C [Token(Token = "0x600BDD7")] [Address(RVA = "0x25979F0", Offset = "0x25969F0", VA = "0x1825979F0", Slot = "14")] public virtual void Reset() { int num = 0; this.bufferPos = num; this.f0 = (ulong)num; this.t0 = (ulong)num; this.t1 = (ulong)num; this.chainValue = num; byte[] array = this.buffer; int length = array.Length; int num2 = 0; Array.Clear(array, num2, length); byte[] array2 = this.key; if (array2 != 0) { int length2 = array2.Length; int num3 = 0; byte[] array3 = this.buffer; int num4 = 0; Array.Copy(array2, num4, array3, num3, length2); this.bufferPos = (int)((ulong)128L); } this.Init(); } // Token: 0x0600BDD8 RID: 48600 RVA: 0x002A5BE4 File Offset: 0x002A3DE4 [Token(Token = "0x600BDD8")] [Address(RVA = "0x2596560", Offset = "0x2595560", VA = "0x182596560")] private void Compress(byte[] message, int messagePos) { this.InitializeInternalState(); ulong[] array = new ulong[16]; int num = 0; ulong num2 = Pack.LE_To_UInt64(message, messagePos); num++; array[0] = num2; byte[,] array2 = Blake2bDigest.blake2b_sigma; throw new IndexOutOfRangeException(); } // Token: 0x0600BDD9 RID: 48601 RVA: 0x002A5E50 File Offset: 0x002A4050 [Token(Token = "0x600BDD9")] [Address(RVA = "0x2596E90", Offset = "0x2595E90", VA = "0x182596E90")] private void G(ulong m1, ulong m2, int posA, int posB, int posC, int posD) { ulong[] array = this.internalState; int length = array.Length; ulong num; ulong num2; num += num2; num += m1; int length2 = this.internalState.Length; ulong num3; array.m_value = num3; ulong[] array2 = this.internalState; int length3 = array2.Length; ulong num4; ulong num5; num4 += num5; array2[0] = num4; int length4 = this.internalState.Length; int length5 = this.internalState.Length; ulong num6; ulong num7; num6 += num7; int length6 = this.internalState.Length; ulong num8; array.m_value = num8; ulong[] array3 = this.internalState; int length7 = array3.Length; ulong num9; ulong num10; num9 += num10; array3[0] = num9; int length8 = this.internalState.Length; ulong num11; num11 += num11; } // Token: 0x0600BDDA RID: 48602 RVA: 0x002A5F1C File Offset: 0x002A411C [Token(Token = "0x600BDDA")] [Address(RVA = "0x1031DE0", Offset = "0x1030DE0", VA = "0x181031DE0")] private static ulong Rotr64(ulong x, int rot) { return x; } // Token: 0x17001DA5 RID: 7589 // (get) Token: 0x0600BDDB RID: 48603 RVA: 0x002A5F2C File Offset: 0x002A412C [Token(Token = "0x17001DA5")] public virtual string AlgorithmName { [Token(Token = "0x600BDDB")] [Address(RVA = "0x25981D0", Offset = "0x25971D0", VA = "0x1825981D0", Slot = "15")] get { return "BLAKE2b"; } } // Token: 0x0600BDDC RID: 48604 RVA: 0x002A5F40 File Offset: 0x002A4140 [Token(Token = "0x600BDDC")] [Address(RVA = "0x40F000", Offset = "0x40E000", VA = "0x18040F000", Slot = "16")] public virtual int GetDigestSize() { return this.digestLength; } // Token: 0x0600BDDD RID: 48605 RVA: 0x002A5F54 File Offset: 0x002A4154 [Token(Token = "0x600BDDD")] [Address(RVA = "0x8BB370", Offset = "0x8BA370", VA = "0x1808BB370", Slot = "17")] public virtual int GetByteLength() { return 128; } // Token: 0x0600BDDE RID: 48606 RVA: 0x002A5F68 File Offset: 0x002A4168 [Token(Token = "0x600BDDE")] [Address(RVA = "0x25964F0", Offset = "0x25954F0", VA = "0x1825964F0", Slot = "18")] public virtual void ClearKey() { byte[] array = this.key; if (array != 0) { int length = array.Length; int num = 0; Array.Clear(array, num, length); byte[] array2 = this.buffer; int length2 = array2.Length; int num2 = 0; Array.Clear(array2, num2, length2); return; } } // Token: 0x0600BDDF RID: 48607 RVA: 0x002A5FB4 File Offset: 0x002A41B4 [Token(Token = "0x600BDDF")] [Address(RVA = "0x2596540", Offset = "0x2595540", VA = "0x182596540", Slot = "19")] public virtual void ClearSalt() { byte[] array = this.salt; if (array != 0) { int length = array.Length; int num = 0; Array.Clear(array, num, length); return; } } // Token: 0x0600BDE0 RID: 48608 RVA: 0x002A5FE0 File Offset: 0x002A41E0 // Note: this type is marked as 'beforefieldinit'. [Token(Token = "0x600BDE0")] [Address(RVA = "0x2597B30", Offset = "0x2596B30", VA = "0x182597B30")] static Blake2bDigest() { ulong[] array = new ulong[8]; RuntimeHelpers.InitializeArray(array, fieldof(.22F13A28C218AA9B43303043F2CF664790D12BD7).FieldHandle); Blake2bDigest.blake2b_IV = array; RuntimeHelpers.InitializeArray(array, fieldof(.DB8FE39060DF4E7BC9CC190D08EFF78F0C61F289).FieldHandle); Blake2bDigest.blake2b_sigma = array; } // Token: 0x040077F9 RID: 30713 [Token(Token = "0x40077F9")] private static readonly ulong[] blake2b_IV; // Token: 0x040077FA RID: 30714 [Token(Token = "0x40077FA")] private static readonly byte[,] blake2b_sigma; // Token: 0x040077FB RID: 30715 [Token(Token = "0x40077FB")] private const int ROUNDS = 12; // Token: 0x040077FC RID: 30716 [Token(Token = "0x40077FC")] private const int BLOCK_LENGTH_BYTES = 128; // Token: 0x040077FD RID: 30717 [FieldOffset(Offset = "0x10")] [Token(Token = "0x40077FD")] private int digestLength; // Token: 0x040077FE RID: 30718 [FieldOffset(Offset = "0x14")] [Token(Token = "0x40077FE")] private int keyLength; // Token: 0x040077FF RID: 30719 [FieldOffset(Offset = "0x18")] [Token(Token = "0x40077FF")] private byte[] salt; // Token: 0x04007800 RID: 30720 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4007800")] private byte[] personalization; // Token: 0x04007801 RID: 30721 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4007801")] private byte[] key; // Token: 0x04007802 RID: 30722 [FieldOffset(Offset = "0x30")] [Token(Token = "0x4007802")] private byte[] buffer; // Token: 0x04007803 RID: 30723 [FieldOffset(Offset = "0x38")] [Token(Token = "0x4007803")] private int bufferPos; // Token: 0x04007804 RID: 30724 [FieldOffset(Offset = "0x40")] [Token(Token = "0x4007804")] private ulong[] internalState; // Token: 0x04007805 RID: 30725 [FieldOffset(Offset = "0x48")] [Token(Token = "0x4007805")] private ulong[] chainValue; // Token: 0x04007806 RID: 30726 [FieldOffset(Offset = "0x50")] [Token(Token = "0x4007806")] private ulong t0; // Token: 0x04007807 RID: 30727 [FieldOffset(Offset = "0x58")] [Token(Token = "0x4007807")] private ulong t1; // Token: 0x04007808 RID: 30728 [FieldOffset(Offset = "0x60")] [Token(Token = "0x4007808")] private ulong f0; } }