using System; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines { // Token: 0x02001CB7 RID: 7351 [Token(Token = "0x2001CB7")] public sealed class TwofishEngine : IBlockCipher { // Token: 0x0600B935 RID: 47413 RVA: 0x00299078 File Offset: 0x00297278 [Token(Token = "0x600B935")] [Address(RVA = "0x1A41150", Offset = "0x1A3FF50", VA = "0x181A41150")] 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: 0x0600B936 RID: 47414 RVA: 0x002991B4 File Offset: 0x002973B4 [Token(Token = "0x600B936")] [Address(RVA = "0x1A3FF30", Offset = "0x1A3ED30", VA = "0x181A3FF30", Slot = "5")] public void Init(bool forEncryption, ICipherParameters parameters) { /* An exception occurred when decompiling this method (0600B936) 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 1660 */; } // Token: 0x17001CFB RID: 7419 // (get) Token: 0x0600B937 RID: 47415 RVA: 0x0029921C File Offset: 0x0029741C [Token(Token = "0x17001CFB")] public string AlgorithmName { [Token(Token = "0x600B937")] [Address(RVA = "0x1A41670", Offset = "0x1A40470", VA = "0x181A41670", Slot = "4")] get { return "Twofish"; } } // Token: 0x17001CFC RID: 7420 // (get) Token: 0x0600B938 RID: 47416 RVA: 0x00299230 File Offset: 0x00297430 [Token(Token = "0x17001CFC")] public bool IsPartialBlockOkay { [Token(Token = "0x600B938")] [Address(RVA = "0x403930", Offset = "0x402730", VA = "0x180403930", Slot = "7")] get { } } // Token: 0x0600B939 RID: 47417 RVA: 0x00299240 File Offset: 0x00297440 [Token(Token = "0x600B939")] [Address(RVA = "0x1A401E0", Offset = "0x1A3EFE0", VA = "0x181A401E0", Slot = "8")] public int ProcessBlock(byte[] input, int inOff, byte[] output, int outOff) { /* An exception occurred when decompiling this method (0600B939) 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 1660 */; } // Token: 0x0600B93A RID: 47418 RVA: 0x00299280 File Offset: 0x00297480 [Token(Token = "0x600B93A")] [Address(RVA = "0x1A40400", Offset = "0x1A3F200", VA = "0x181A40400", Slot = "9")] public void Reset() { byte[] array = this.workingKey; if (array != 0) { this.SetKey(array); return; } } // Token: 0x0600B93B RID: 47419 RVA: 0x002992A0 File Offset: 0x002974A0 [Token(Token = "0x600B93B")] [Address(RVA = "0x4B6B10", Offset = "0x4B5910", VA = "0x1804B6B10", Slot = "6")] public int GetBlockSize() { return 16; } // Token: 0x0600B93C RID: 47420 RVA: 0x002992B0 File Offset: 0x002974B0 [Token(Token = "0x600B93C")] [Address(RVA = "0x1A40420", Offset = "0x1A3F220", VA = "0x181A40420")] 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: 0x0600B93D RID: 47421 RVA: 0x00299634 File Offset: 0x00297834 [Token(Token = "0x600B93D")] [Address(RVA = "0x1A3ECC0", Offset = "0x1A3DAC0", VA = "0x181A3ECC0")] 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: 0x0600B93E RID: 47422 RVA: 0x002997C4 File Offset: 0x002979C4 [Token(Token = "0x600B93E")] [Address(RVA = "0x1A3E460", Offset = "0x1A3D260", VA = "0x181A3E460")] 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: 0x0600B93F RID: 47423 RVA: 0x00299980 File Offset: 0x00297B80 [Token(Token = "0x600B93F")] [Address(RVA = "0x1A3F520", Offset = "0x1A3E320", VA = "0x181A3F520")] 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: 0x0600B940 RID: 47424 RVA: 0x00299A58 File Offset: 0x00297C58 [Token(Token = "0x600B940")] [Address(RVA = "0x1A402E0", Offset = "0x1A3F0E0", VA = "0x181A402E0")] private int RS_MDS_Encode(int k0, int k1) { return k1; } // Token: 0x0600B941 RID: 47425 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600B941")] [Address(RVA = "0x1A403B0", Offset = "0x1A3F1B0", VA = "0x181A403B0")] private int RS_rem(int x) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600B942 RID: 47426 RVA: 0x00299A68 File Offset: 0x00297C68 [Token(Token = "0x600B942")] [Address(RVA = "0x1A400F0", Offset = "0x1A3EEF0", VA = "0x181A400F0")] private int LFSR1(int x) { return x; } // Token: 0x0600B943 RID: 47427 RVA: 0x00299A78 File Offset: 0x00297C78 [Token(Token = "0x600B943")] [Address(RVA = "0x1A40110", Offset = "0x1A3EF10", VA = "0x181A40110")] private int LFSR2(int x) { return x; } // Token: 0x0600B944 RID: 47428 RVA: 0x00299A88 File Offset: 0x00297C88 [Token(Token = "0x600B944")] [Address(RVA = "0x1A40170", Offset = "0x1A3EF70", VA = "0x181A40170")] private int Mx_X(int x) { return x; } // Token: 0x0600B945 RID: 47429 RVA: 0x00299A98 File Offset: 0x00297C98 [Token(Token = "0x600B945")] [Address(RVA = "0x1A401A0", Offset = "0x1A3EFA0", VA = "0x181A401A0")] private int Mx_Y(int x) { return x; } // Token: 0x0600B946 RID: 47430 RVA: 0x00299AA8 File Offset: 0x00297CA8 [Token(Token = "0x600B946")] [Address(RVA = "0xAAA850", Offset = "0xAA9650", VA = "0x180AAA850")] private int M_b0(int x) { return x; } // Token: 0x0600B947 RID: 47431 RVA: 0x00299AB8 File Offset: 0x00297CB8 [Token(Token = "0x600B947")] [Address(RVA = "0x1A40140", Offset = "0x1A3EF40", VA = "0x181A40140")] private int M_b1(int x) { return x; } // Token: 0x0600B948 RID: 47432 RVA: 0x00299AC8 File Offset: 0x00297CC8 [Token(Token = "0x600B948")] [Address(RVA = "0x1A40150", Offset = "0x1A3EF50", VA = "0x181A40150")] private int M_b2(int x) { return x; } // Token: 0x0600B949 RID: 47433 RVA: 0x00299AD8 File Offset: 0x00297CD8 [Token(Token = "0x600B949")] [Address(RVA = "0x1A40160", Offset = "0x1A3EF60", VA = "0x181A40160")] private int M_b3(int x) { return x; } // Token: 0x0600B94A RID: 47434 RVA: 0x00299AE8 File Offset: 0x00297CE8 [Token(Token = "0x600B94A")] [Address(RVA = "0x1A3FD90", Offset = "0x1A3EB90", VA = "0x181A3FD90")] private int Fe32_0(int x) { int[] array = this.gSBox; int length = array.Length; return array[x]; } // Token: 0x0600B94B RID: 47435 RVA: 0x00299B10 File Offset: 0x00297D10 [Token(Token = "0x600B94B")] [Address(RVA = "0x1A3FE60", Offset = "0x1A3EC60", VA = "0x181A3FE60")] private int Fe32_3(int x) { int[] array = this.gSBox; int length = array.Length; return array[this]; } // Token: 0x0600B94C RID: 47436 RVA: 0x00299B38 File Offset: 0x00297D38 [Token(Token = "0x600B94C")] [Address(RVA = "0x1A3E3B0", Offset = "0x1A3D1B0", VA = "0x181A3E3B0")] private int BytesTo32Bits(byte[] b, int p) { int length = b.Length; int num = p + 1; throw new NullReferenceException(); } // Token: 0x0600B94D RID: 47437 RVA: 0x00299B58 File Offset: 0x00297D58 [Token(Token = "0x600B94D")] [Address(RVA = "0x1A3E310", Offset = "0x1A3D110", VA = "0x181A3E310")] private void Bits32ToBytes(int inData, byte[] b, int offset) { int num = offset + 1; } // Token: 0x040075C8 RID: 30152 [Token(Token = "0x40075C8")] private static readonly byte[,] P; // Token: 0x040075C9 RID: 30153 [Token(Token = "0x40075C9")] private const int P_00 = 1; // Token: 0x040075CA RID: 30154 [Token(Token = "0x40075CA")] private const int P_01 = 0; // Token: 0x040075CB RID: 30155 [Token(Token = "0x40075CB")] private const int P_02 = 0; // Token: 0x040075CC RID: 30156 [Token(Token = "0x40075CC")] private const int P_03 = 1; // Token: 0x040075CD RID: 30157 [Token(Token = "0x40075CD")] private const int P_04 = 1; // Token: 0x040075CE RID: 30158 [Token(Token = "0x40075CE")] private const int P_10 = 0; // Token: 0x040075CF RID: 30159 [Token(Token = "0x40075CF")] private const int P_11 = 0; // Token: 0x040075D0 RID: 30160 [Token(Token = "0x40075D0")] private const int P_12 = 1; // Token: 0x040075D1 RID: 30161 [Token(Token = "0x40075D1")] private const int P_13 = 1; // Token: 0x040075D2 RID: 30162 [Token(Token = "0x40075D2")] private const int P_14 = 0; // Token: 0x040075D3 RID: 30163 [Token(Token = "0x40075D3")] private const int P_20 = 1; // Token: 0x040075D4 RID: 30164 [Token(Token = "0x40075D4")] private const int P_21 = 1; // Token: 0x040075D5 RID: 30165 [Token(Token = "0x40075D5")] private const int P_22 = 0; // Token: 0x040075D6 RID: 30166 [Token(Token = "0x40075D6")] private const int P_23 = 0; // Token: 0x040075D7 RID: 30167 [Token(Token = "0x40075D7")] private const int P_24 = 0; // Token: 0x040075D8 RID: 30168 [Token(Token = "0x40075D8")] private const int P_30 = 0; // Token: 0x040075D9 RID: 30169 [Token(Token = "0x40075D9")] private const int P_31 = 1; // Token: 0x040075DA RID: 30170 [Token(Token = "0x40075DA")] private const int P_32 = 1; // Token: 0x040075DB RID: 30171 [Token(Token = "0x40075DB")] private const int P_33 = 0; // Token: 0x040075DC RID: 30172 [Token(Token = "0x40075DC")] private const int P_34 = 1; // Token: 0x040075DD RID: 30173 [Token(Token = "0x40075DD")] private const int GF256_FDBK = 361; // Token: 0x040075DE RID: 30174 [Token(Token = "0x40075DE")] private const int GF256_FDBK_2 = 180; // Token: 0x040075DF RID: 30175 [Token(Token = "0x40075DF")] private const int GF256_FDBK_4 = 90; // Token: 0x040075E0 RID: 30176 [Token(Token = "0x40075E0")] private const int RS_GF_FDBK = 333; // Token: 0x040075E1 RID: 30177 [Token(Token = "0x40075E1")] private const int ROUNDS = 16; // Token: 0x040075E2 RID: 30178 [Token(Token = "0x40075E2")] private const int MAX_ROUNDS = 16; // Token: 0x040075E3 RID: 30179 [Token(Token = "0x40075E3")] private const int BLOCK_SIZE = 16; // Token: 0x040075E4 RID: 30180 [Token(Token = "0x40075E4")] private const int MAX_KEY_BITS = 256; // Token: 0x040075E5 RID: 30181 [Token(Token = "0x40075E5")] private const int INPUT_WHITEN = 0; // Token: 0x040075E6 RID: 30182 [Token(Token = "0x40075E6")] private const int OUTPUT_WHITEN = 4; // Token: 0x040075E7 RID: 30183 [Token(Token = "0x40075E7")] private const int ROUND_SUBKEYS = 8; // Token: 0x040075E8 RID: 30184 [Token(Token = "0x40075E8")] private const int TOTAL_SUBKEYS = 40; // Token: 0x040075E9 RID: 30185 [Token(Token = "0x40075E9")] private const int SK_STEP = 33686018; // Token: 0x040075EA RID: 30186 [Token(Token = "0x40075EA")] private const int SK_BUMP = 16843009; // Token: 0x040075EB RID: 30187 [Token(Token = "0x40075EB")] private const int SK_ROTL = 9; // Token: 0x040075EC RID: 30188 [FieldOffset(Offset = "0x10")] [Token(Token = "0x40075EC")] private bool encrypting; // Token: 0x040075ED RID: 30189 [FieldOffset(Offset = "0x18")] [Token(Token = "0x40075ED")] private int[] gMDS0; // Token: 0x040075EE RID: 30190 [FieldOffset(Offset = "0x20")] [Token(Token = "0x40075EE")] private int[] gMDS1; // Token: 0x040075EF RID: 30191 [FieldOffset(Offset = "0x28")] [Token(Token = "0x40075EF")] private int[] gMDS2; // Token: 0x040075F0 RID: 30192 [FieldOffset(Offset = "0x30")] [Token(Token = "0x40075F0")] private int[] gMDS3; // Token: 0x040075F1 RID: 30193 [FieldOffset(Offset = "0x38")] [Token(Token = "0x40075F1")] private int[] gSubKeys; // Token: 0x040075F2 RID: 30194 [FieldOffset(Offset = "0x40")] [Token(Token = "0x40075F2")] private int[] gSBox; // Token: 0x040075F3 RID: 30195 [FieldOffset(Offset = "0x48")] [Token(Token = "0x40075F3")] private int k64Cnt; // Token: 0x040075F4 RID: 30196 [FieldOffset(Offset = "0x50")] [Token(Token = "0x40075F4")] private byte[] workingKey; } }