using System; using System.Runtime.InteropServices; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines { // Token: 0x020016DA RID: 5850 [Token(Token = "0x20016DA")] [StructLayout(3)] public sealed class TwofishEngine : IBlockCipher { // Token: 0x06009D5B RID: 40283 RVA: 0x00240FFC File Offset: 0x0023F1FC [Token(Token = "0x6009D5B")] [Address(RVA = "0x1F60D30", Offset = "0x1F5F730", VA = "0x181F60D30")] public TwofishEngine() { int[] array = new int[256]; this.gMDS0 = array; int[] array2 = new int[256]; this.gMDS1 = array2; int[] array3 = new int[256]; this.gMDS2 = array3; int[] array4 = new int[256]; this.gMDS3 = array4; base..ctor(); int[] array5 = new int[2]; int[] array6 = new int[2]; int[] array7 = new int[2]; byte[,] p = TwofishEngine.P; throw new IndexOutOfRangeException(); } // Token: 0x06009D5C RID: 40284 RVA: 0x00241138 File Offset: 0x0023F338 [Token(Token = "0x6009D5C")] [Address(RVA = "0x1F5FB10", Offset = "0x1F5E510", VA = "0x181F5FB10", Slot = "5")] public void Init(bool forEncryption, ICipherParameters parameters) { /* An exception occurred when decompiling this method (06009D5C) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.TwofishEngine::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_47: stloc:ArgumentException(var_7_58, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("invalid parameter passed to Twofish init - "), ldloc:string(var_6)))) } 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: 0x170018FA RID: 6394 // (get) Token: 0x06009D5D RID: 40285 RVA: 0x002411A0 File Offset: 0x0023F3A0 [Token(Token = "0x170018FA")] public string AlgorithmName { [Token(Token = "0x6009D5D")] [Address(RVA = "0x1F61250", Offset = "0x1F5FC50", VA = "0x181F61250", Slot = "4")] get { return "Twofish"; } } // Token: 0x170018FB RID: 6395 // (get) Token: 0x06009D5E RID: 40286 RVA: 0x002411B4 File Offset: 0x0023F3B4 [Token(Token = "0x170018FB")] public bool IsPartialBlockOkay { [Token(Token = "0x6009D5E")] [Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "7")] get { } } // Token: 0x06009D5F RID: 40287 RVA: 0x002411C4 File Offset: 0x0023F3C4 [Token(Token = "0x6009D5F")] [Address(RVA = "0x1F5FDC0", Offset = "0x1F5E7C0", VA = "0x181F5FDC0", Slot = "8")] public int ProcessBlock(byte[] input, int inOff, byte[] output, int outOff) { /* An exception occurred when decompiling this method (06009D5F) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.TwofishEngine::ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_27: stloc:InvalidOperationException(var_1_31, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Twofish not initialised"))) } 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: 0x06009D60 RID: 40288 RVA: 0x00241204 File Offset: 0x0023F404 [Token(Token = "0x6009D60")] [Address(RVA = "0x1F5FFE0", Offset = "0x1F5E9E0", VA = "0x181F5FFE0", Slot = "9")] public void Reset() { byte[] array = this.workingKey; if (array != 0) { this.SetKey(array); return; } } // Token: 0x06009D61 RID: 40289 RVA: 0x00241224 File Offset: 0x0023F424 [Token(Token = "0x6009D61")] [Address(RVA = "0x11B1BB0", Offset = "0x11B05B0", VA = "0x1811B1BB0", Slot = "6")] public int GetBlockSize() { return 16; } // Token: 0x06009D62 RID: 40290 RVA: 0x00241234 File Offset: 0x0023F434 [Token(Token = "0x6009D62")] [Address(RVA = "0x1F60000", Offset = "0x1F5EA00", VA = "0x181F60000")] private void SetKey(byte[] key) { int[] array = new int[4]; int[] array2 = new int[4]; int[] array3 = new int[4]; int[] array4 = new int[40]; int num = this.k64Cnt; this.gSubKeys = array4; int num2 = 0; if (num > 0) { int num3 = this.BytesTo32Bits(key, num2); int length = key.Length; num2 += 7; int num4 = this.k64Cnt; while (num2 != array2.Length) { } while (num2 != array2.Length) { } num4 -= num2; num2++; byte b; array3[0] = (int)b; num2 += 8; } int num5 = this.F32(num2, array); int num6 = this.F32(16843009, array2); int[] array5 = this.gSubKeys; num5 += num6; array5[0] = num5; num5 += num6; int[] array6 = this.gSubKeys; num2++; num2 += 33686018; num2 += 2; array6[0] = num5; int length2 = array3.Length; int num7 = array3[0]; int num8 = array3[0]; int num9 = array3[1]; int num10 = array3[1]; int[] array7 = new int[1024]; this.gSBox = array7; int num11 = this.k64Cnt; if (length2 != 3) { if (length2 != 3) { if (length2 == 3) { int[] array8 = this.gMDS0; int[] array9 = this.gSBox; byte[,] p = TwofishEngine.P; throw new IndexOutOfRangeException(); } if (num11 == 1) { byte[,] p2 = TwofishEngine.P; throw new IndexOutOfRangeException(); } } int[] array10 = this.gSBox; int[] array11 = this.gMDS0; byte[,] p3 = TwofishEngine.P; throw new IndexOutOfRangeException(); } byte[,] p4 = TwofishEngine.P; throw new IndexOutOfRangeException(); } // Token: 0x06009D63 RID: 40291 RVA: 0x002415B8 File Offset: 0x0023F7B8 [Token(Token = "0x6009D63")] [Address(RVA = "0x1F5E8A0", Offset = "0x1F5D2A0", VA = "0x181F5E8A0")] private void EncryptBlock(byte[] src, int srcIndex, byte[] dst, int dstIndex) { int num = this.BytesTo32Bits(src, srcIndex); int length = this.gSubKeys.Length; int length2 = src.Length; int num2 = this.Fe32_0(length2); byte b; int num3 = this.Fe32_3((int)b); int[] array = this.gSubKeys; int length3 = array.Length; uint num5; int num4 = array[(int)num5]; num4 += num3; num4 += num2; uint num6 = num5 + 1U; array += num2; int[] array2 = this.gSBox; int length4 = array2.Length; byte b2; b2 += b2; int num7 = array2[(int)b2]; int num8 = this.Fe32_3(array); int[] array3 = this.gSubKeys; int length5 = array3.Length; int num9 = array3[this]; num9 += num8; num9 += num7; num5 += (uint)3; uint num10 = num5 + 1U; num8 += num7; int num11 = array3[2]; array3[0] = num11; array3[0] = num11; int[] array4 = this.gSubKeys; int num12 = array4[2]; array4[0] = num12; array3[0] = num12; array3[0] = num12; int[] array5 = this.gSubKeys; int num13 = array5[3]; array5[0] = num13; array3[0] = num13; array3[0] = num13; int[] array6 = this.gSubKeys; int num14 = array6[3]; array6[0] = num14; array3[0] = num14; array3[0] = num14; } // Token: 0x06009D64 RID: 40292 RVA: 0x00241748 File Offset: 0x0023F948 [Token(Token = "0x6009D64")] [Address(RVA = "0x1F5E040", Offset = "0x1F5CA40", VA = "0x181F5E040")] private void DecryptBlock(byte[] src, int srcIndex, byte[] dst, int dstIndex) { int num = this.BytesTo32Bits(src, srcIndex); int length = this.gSubKeys.Length; int length2 = src.Length; byte b2; byte b = b2; int num2 = this.Fe32_0(length2); byte b3; int num3 = this.Fe32_3((int)b3); int[] array = this.gSubKeys; int length3 = array.Length; b3 = (byte)((int)b3 + num2); uint num5; uint num4 = num5 - 1U; byte b4 = b; int num6 = array[(int)num4]; int[] array2 = this.gSBox; num6 += num3; num6 += num2; int length4 = array2.Length; b4 += b4; b = b4; b4 = b; num3++; b = b4; int num7 = array2[(int)b4]; int num8 = this.Fe32_3((int)b); int[] array3 = this.gSubKeys; num3 = num8; int length5 = array3.Length; num5 += (uint)(-2); b = (byte)((int)b + num7); num5 += (uint)(-3); uint num9 = num5 - 1U; int num10 = array3[(int)num5]; num10 += num3; num10 += num7; int num11 = array3[0]; array3[0] = num11; array3[0] = num11; int[] array4 = this.gSubKeys; int num12 = array4[0]; array4[0] = num12; array3[0] = num12; array3[0] = num12; int[] array5 = this.gSubKeys; int num13 = array5[1]; array5[0] = num13; array3[0] = num13; array3[0] = num13; int[] array6 = this.gSubKeys; int num14 = array6[1]; array6[0] = num14; array3[0] = num14; array3[0] = num14; } // Token: 0x06009D65 RID: 40293 RVA: 0x00241904 File Offset: 0x0023FB04 [Token(Token = "0x6009D65")] [Address(RVA = "0x1F5F100", Offset = "0x1F5DB00", VA = "0x181F5F100")] private int F32(int x, int[] k32) { int length = k32.Length; int num = k32[0]; int num2 = k32[1]; int num3 = this.k64Cnt; int num4 = 0; int num5 = k32[1]; if (length != 3) { if (length != 3 && length != 3 && num3 != 1) { return num4; } int[] array = this.gMDS0; byte[,] p = TwofishEngine.P; int[] array2 = this.gMDS1; int[] array3 = this.gMDS2; int[] array4 = this.gMDS3; } byte[,] p2 = TwofishEngine.P; num5 = x + k32; byte[,] p3 = TwofishEngine.P; byte b; b += k32; byte b2; b2 += k32; int[] array5 = this.gMDS0; byte[,] p4 = TwofishEngine.P; int[] array6 = this.gMDS1; byte b3 = (byte)((int)b3 + num); int[] array7 = this.gMDS2; int[] array8 = this.gMDS3; byte b5; byte b4 = b5; b4 = (byte)((int)b4 + num); return num4; } // Token: 0x06009D66 RID: 40294 RVA: 0x002419DC File Offset: 0x0023FBDC [Token(Token = "0x6009D66")] [Address(RVA = "0x1F5FEC0", Offset = "0x1F5E8C0", VA = "0x181F5FEC0")] private int RS_MDS_Encode(int k0, int k1) { return k1; } // Token: 0x06009D67 RID: 40295 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6009D67")] [Address(RVA = "0x1F5FF90", Offset = "0x1F5E990", VA = "0x181F5FF90")] private int RS_rem(int x) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06009D68 RID: 40296 RVA: 0x002419EC File Offset: 0x0023FBEC [Token(Token = "0x6009D68")] [Address(RVA = "0x1F5FCD0", Offset = "0x1F5E6D0", VA = "0x181F5FCD0")] private int LFSR1(int x) { return x; } // Token: 0x06009D69 RID: 40297 RVA: 0x002419FC File Offset: 0x0023FBFC [Token(Token = "0x6009D69")] [Address(RVA = "0x1F5FCF0", Offset = "0x1F5E6F0", VA = "0x181F5FCF0")] private int LFSR2(int x) { return x; } // Token: 0x06009D6A RID: 40298 RVA: 0x00241A0C File Offset: 0x0023FC0C [Token(Token = "0x6009D6A")] [Address(RVA = "0x1F5FD50", Offset = "0x1F5E750", VA = "0x181F5FD50")] private int Mx_X(int x) { return x; } // Token: 0x06009D6B RID: 40299 RVA: 0x00241A1C File Offset: 0x0023FC1C [Token(Token = "0x6009D6B")] [Address(RVA = "0x1F5FD80", Offset = "0x1F5E780", VA = "0x181F5FD80")] private int Mx_Y(int x) { return x; } // Token: 0x06009D6C RID: 40300 RVA: 0x00241A2C File Offset: 0x0023FC2C [Token(Token = "0x6009D6C")] [Address(RVA = "0x1347340", Offset = "0x1345D40", VA = "0x181347340")] private int M_b0(int x) { return x; } // Token: 0x06009D6D RID: 40301 RVA: 0x00241A3C File Offset: 0x0023FC3C [Token(Token = "0x6009D6D")] [Address(RVA = "0x1F5FD20", Offset = "0x1F5E720", VA = "0x181F5FD20")] private int M_b1(int x) { return x; } // Token: 0x06009D6E RID: 40302 RVA: 0x00241A4C File Offset: 0x0023FC4C [Token(Token = "0x6009D6E")] [Address(RVA = "0x1F5FD30", Offset = "0x1F5E730", VA = "0x181F5FD30")] private int M_b2(int x) { return x; } // Token: 0x06009D6F RID: 40303 RVA: 0x00241A5C File Offset: 0x0023FC5C [Token(Token = "0x6009D6F")] [Address(RVA = "0x1F5FD40", Offset = "0x1F5E740", VA = "0x181F5FD40")] private int M_b3(int x) { return x; } // Token: 0x06009D70 RID: 40304 RVA: 0x00241A6C File Offset: 0x0023FC6C [Token(Token = "0x6009D70")] [Address(RVA = "0x1F5F970", Offset = "0x1F5E370", VA = "0x181F5F970")] private int Fe32_0(int x) { int[] array = this.gSBox; int length = array.Length; return array[x]; } // Token: 0x06009D71 RID: 40305 RVA: 0x00241A94 File Offset: 0x0023FC94 [Token(Token = "0x6009D71")] [Address(RVA = "0x1F5FA40", Offset = "0x1F5E440", VA = "0x181F5FA40")] private int Fe32_3(int x) { int[] array = this.gSBox; int length = array.Length; return array[this]; } // Token: 0x06009D72 RID: 40306 RVA: 0x00241ABC File Offset: 0x0023FCBC [Token(Token = "0x6009D72")] [Address(RVA = "0x1F5DF90", Offset = "0x1F5C990", VA = "0x181F5DF90")] private int BytesTo32Bits(byte[] b, int p) { int length = b.Length; int num = p + 1; throw new NullReferenceException(); } // Token: 0x06009D73 RID: 40307 RVA: 0x00241ADC File Offset: 0x0023FCDC [Token(Token = "0x6009D73")] [Address(RVA = "0x1F5DEF0", Offset = "0x1F5C8F0", VA = "0x181F5DEF0")] private void Bits32ToBytes(int inData, byte[] b, int offset) { int num = offset + 1; } // Token: 0x04006785 RID: 26501 [Token(Token = "0x4006785")] private static readonly byte[,] P; // Token: 0x04006786 RID: 26502 [Token(Token = "0x4006786")] private const int P_00 = 1; // Token: 0x04006787 RID: 26503 [Token(Token = "0x4006787")] private const int P_01 = 0; // Token: 0x04006788 RID: 26504 [Token(Token = "0x4006788")] private const int P_02 = 0; // Token: 0x04006789 RID: 26505 [Token(Token = "0x4006789")] private const int P_03 = 1; // Token: 0x0400678A RID: 26506 [Token(Token = "0x400678A")] private const int P_04 = 1; // Token: 0x0400678B RID: 26507 [Token(Token = "0x400678B")] private const int P_10 = 0; // Token: 0x0400678C RID: 26508 [Token(Token = "0x400678C")] private const int P_11 = 0; // Token: 0x0400678D RID: 26509 [Token(Token = "0x400678D")] private const int P_12 = 1; // Token: 0x0400678E RID: 26510 [Token(Token = "0x400678E")] private const int P_13 = 1; // Token: 0x0400678F RID: 26511 [Token(Token = "0x400678F")] private const int P_14 = 0; // Token: 0x04006790 RID: 26512 [Token(Token = "0x4006790")] private const int P_20 = 1; // Token: 0x04006791 RID: 26513 [Token(Token = "0x4006791")] private const int P_21 = 1; // Token: 0x04006792 RID: 26514 [Token(Token = "0x4006792")] private const int P_22 = 0; // Token: 0x04006793 RID: 26515 [Token(Token = "0x4006793")] private const int P_23 = 0; // Token: 0x04006794 RID: 26516 [Token(Token = "0x4006794")] private const int P_24 = 0; // Token: 0x04006795 RID: 26517 [Token(Token = "0x4006795")] private const int P_30 = 0; // Token: 0x04006796 RID: 26518 [Token(Token = "0x4006796")] private const int P_31 = 1; // Token: 0x04006797 RID: 26519 [Token(Token = "0x4006797")] private const int P_32 = 1; // Token: 0x04006798 RID: 26520 [Token(Token = "0x4006798")] private const int P_33 = 0; // Token: 0x04006799 RID: 26521 [Token(Token = "0x4006799")] private const int P_34 = 1; // Token: 0x0400679A RID: 26522 [Token(Token = "0x400679A")] private const int GF256_FDBK = 361; // Token: 0x0400679B RID: 26523 [Token(Token = "0x400679B")] private const int GF256_FDBK_2 = 180; // Token: 0x0400679C RID: 26524 [Token(Token = "0x400679C")] private const int GF256_FDBK_4 = 90; // Token: 0x0400679D RID: 26525 [Token(Token = "0x400679D")] private const int RS_GF_FDBK = 333; // Token: 0x0400679E RID: 26526 [Token(Token = "0x400679E")] private const int ROUNDS = 16; // Token: 0x0400679F RID: 26527 [Token(Token = "0x400679F")] private const int MAX_ROUNDS = 16; // Token: 0x040067A0 RID: 26528 [Token(Token = "0x40067A0")] private const int BLOCK_SIZE = 16; // Token: 0x040067A1 RID: 26529 [Token(Token = "0x40067A1")] private const int MAX_KEY_BITS = 256; // Token: 0x040067A2 RID: 26530 [Token(Token = "0x40067A2")] private const int INPUT_WHITEN = 0; // Token: 0x040067A3 RID: 26531 [Token(Token = "0x40067A3")] private const int OUTPUT_WHITEN = 4; // Token: 0x040067A4 RID: 26532 [Token(Token = "0x40067A4")] private const int ROUND_SUBKEYS = 8; // Token: 0x040067A5 RID: 26533 [Token(Token = "0x40067A5")] private const int TOTAL_SUBKEYS = 40; // Token: 0x040067A6 RID: 26534 [Token(Token = "0x40067A6")] private const int SK_STEP = 33686018; // Token: 0x040067A7 RID: 26535 [Token(Token = "0x40067A7")] private const int SK_BUMP = 16843009; // Token: 0x040067A8 RID: 26536 [Token(Token = "0x40067A8")] private const int SK_ROTL = 9; // Token: 0x040067A9 RID: 26537 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x40067A9")] private bool encrypting; // Token: 0x040067AA RID: 26538 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x40067AA")] private int[] gMDS0; // Token: 0x040067AB RID: 26539 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x40067AB")] private int[] gMDS1; // Token: 0x040067AC RID: 26540 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x40067AC")] private int[] gMDS2; // Token: 0x040067AD RID: 26541 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x40067AD")] private int[] gMDS3; // Token: 0x040067AE RID: 26542 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x40067AE")] private int[] gSubKeys; // Token: 0x040067AF RID: 26543 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x40067AF")] private int[] gSBox; // Token: 0x040067B0 RID: 26544 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x40067B0")] private int k64Cnt; // Token: 0x040067B1 RID: 26545 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x40067B1")] private byte[] workingKey; } }