using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines { // Token: 0x020016B2 RID: 5810 [Token(Token = "0x20016B2")] [StructLayout(3)] public class Dstu7624Engine : IBlockCipher { // Token: 0x06009B98 RID: 39832 RVA: 0x00231D5C File Offset: 0x0022FF5C [Token(Token = "0x6009B98")] [Address(RVA = "0x211DBB0", Offset = "0x211C5B0", VA = "0x18211DBB0")] public Dstu7624Engine(int blockSizeBits) { /* An exception occurred when decompiling this method (06009B98) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Dstu7624Engine::.ctor(System.Int32) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_26: stloc:ArgumentException(var_2_30, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("unsupported block length: only 128/256/512 are allowed"))) } 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: 0x06009B99 RID: 39833 RVA: 0x00231D9C File Offset: 0x0022FF9C [Token(Token = "0x6009B99")] [Address(RVA = "0x211A9E0", Offset = "0x21193E0", VA = "0x18211A9E0", Slot = "10")] public virtual void Init(bool forEncryption, ICipherParameters parameters) { /* An exception occurred when decompiling this method (06009B99) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Dstu7624Engine::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_1A8: stloc:ArgumentException(var_23_1B2, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Unsupported key length"))) } 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.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.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.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.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.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: 0x06009B9A RID: 39834 RVA: 0x00231F5C File Offset: 0x0023015C [Token(Token = "0x6009B9A")] [Address(RVA = "0x211D580", Offset = "0x211BF80", VA = "0x18211D580")] private void WorkingKeyExpandKT(ulong[] workingKey, ulong[] tempKeys) { do { ulong[] array = new ulong[this.wordsInBlock]; ulong[] array2 = new ulong[this.wordsInBlock]; ulong[] array3 = new ulong[this.wordsInBlock]; this.internalState = array3; int num = this.wordsInBlock; num++; int num2 = this.wordsInBlock; if (num2 != this.wordsInKey) { int num3 = 0; int num4 = 0; Array.Copy(workingKey, num4, array, num3, num2); } int length = array.Length; int num5 = 0; int num6 = 0; Array.Copy(workingKey, num6, array, num5, length); int length2 = array2.Length; int num7 = 0; int num8 = 0; Array.Copy(workingKey, num7, array2, num8, length2); ulong[] array4 = this.internalState; int num9 = 0; int num10 = 0; if (num10 < array4.Length) { num9++; ulong[] array5 = this.internalState; } this.EncryptionRound(); ulong[] array6 = this.internalState; int num11 = 0; int num12 = 0; if (num12 < array6.Length) { num11++; if (this.internalState != 0) { continue; } } this.EncryptionRound(); ulong[] array7 = this.internalState; int num13 = 0; int num14 = 0; if (num14 >= array7.Length) { break; } num13++; } while (this.internalState != 0); this.EncryptionRound(); int num15 = this.wordsInBlock; int num16 = 0; ulong[] array8 = this.internalState; int num17 = 0; Array.Copy(array8, num17, tempKeys, num16, num15); } // Token: 0x06009B9B RID: 39835 RVA: 0x002320CC File Offset: 0x002302CC [Token(Token = "0x6009B9B")] [Address(RVA = "0x211CFA0", Offset = "0x211B9A0", VA = "0x18211CFA0")] private void WorkingKeyExpandEven(ulong[] workingKey, ulong[] tempKey) { ulong[] array; ulong[] array2; int num2; ulong num6; for (;;) { array = new ulong[this.wordsInKey]; array2 = new ulong[this.wordsInBlock]; int num = this.wordsInKey; num2 = 0; int num3 = 0; int num4 = 0; Array.Copy(workingKey, num4, array, num3, num); if (this.wordsInBlock > 0) { ulong num5 = tempKey[num2]; num2++; num5 += num6; array2[0] = num5; if (this.wordsInBlock > 0) { ulong[] array3 = this.internalState; ulong num7 = array2[num2]; num2++; array3[0] = num7; } this.EncryptionRound(); if (this.T1 > num2) { ulong[] array4 = this.internalState; num2++; } this.EncryptionRound(); int num8; if (this.wordsInBlock > 0) { ulong[] array5 = this.internalState; num2++; num8 = this.wordsInBlock; } ulong[][] array6 = this.roundKeys; int num9 = 0; int num10 = 0; ulong[] array7 = array6[num2]; Array.Copy(this.internalState, num10, array7, num9, num8); if (this.T2 == num2) { return; } int num11 = this.wordsInBlock; if (this.wordsInKey == num11) { goto IL_1DE; } num2 += 2; num6 += num6; if (num11 > 0) { break; } } } ulong num12 = tempKey[num2]; num2++; num12 += num6; array2[0] = num12; if (this.wordsInBlock > 0) { ulong[] array8 = this.internalState; num2++; ulong num13 = array[(int)num12]; array8[0] = num13; int num14 = this.wordsInBlock; } this.EncryptionRound(); if (this.T1 > num2) { ulong[] array9 = this.internalState; num2++; } this.EncryptionRound(); int num15; if (this.wordsInBlock > 0) { ulong[] array10 = this.internalState; num2++; num15 = this.wordsInBlock; } ulong[][] array11 = this.roundKeys; int num16 = 0; int num17 = 0; ulong[] array12 = array11[num2]; Array.Copy(this.internalState, num17, array12, num16, num15); if (this.T2 == num2) { return; } IL_1DE: num2 += 2; num6 += num6; ulong num18 = array[0]; int length = array.Length; uint num19; ulong num21; if (num19 < (uint)length) { uint num20 = num19 - 1U; num21 = array[(int)num19]; num19 += (uint)1; array[0] = num21; } ulong num22 = num21 - 1UL; array[0] = num18; } // Token: 0x06009B9C RID: 39836 RVA: 0x00232310 File Offset: 0x00230510 [Token(Token = "0x6009B9C")] [Address(RVA = "0x211D8A0", Offset = "0x211C2A0", VA = "0x18211D8A0")] private void WorkingKeyExpandOdd() { uint num; if (this.T2 > num) { ulong[][] array = this.roundKeys; int length = array.Length; uint num2 = num - 1U; ulong[] array2 = array[(int)num]; ulong[] array3 = array[(int)num2]; this.RotateLeft(array3, array2); num += (uint)2; } } // Token: 0x06009B9D RID: 39837 RVA: 0x00232360 File Offset: 0x00230560 [Token(Token = "0x6009B9D")] [Address(RVA = "0x211BD10", Offset = "0x211A710", VA = "0x18211BD10", Slot = "11")] public virtual int ProcessBlock(byte[] input, int inOff, byte[] output, int outOff) { /* An exception occurred when decompiling this method (06009B9D) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Dstu7624Engine::ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_12B: stloc:InvalidOperationException(var_21_135, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Dstu7624Engine 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.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: 0x06009B9E RID: 39838 RVA: 0x002324A4 File Offset: 0x002306A4 [Token(Token = "0x6009B9E")] [Address(RVA = "0x211A8E0", Offset = "0x21192E0", VA = "0x18211A8E0")] private void EncryptionRound() { this.SubBytes(); this.ShiftRows(); int num = 0; if (this.T1 > num) { ulong[] array = this.internalState; ulong num2 = Dstu7624Engine.MixColumn(array[num]); num++; array[0] = num2; } } // Token: 0x06009B9F RID: 39839 RVA: 0x002324F0 File Offset: 0x002306F0 [Token(Token = "0x6009B9F")] [Address(RVA = "0x211A190", Offset = "0x2118B90", VA = "0x18211A190")] private void DecryptionRound() { int num = 0; if (this.T1 > num) { ulong[] array = this.internalState; ulong num3; ulong num2 = Dstu7624Engine.MixColumnInv(num3); num++; } this.InvShiftRows(); this.InvSubBytes(); } // Token: 0x06009BA0 RID: 39840 RVA: 0x0023252C File Offset: 0x0023072C [Token(Token = "0x6009BA0")] [Address(RVA = "0x2119B50", Offset = "0x2118550", VA = "0x182119B50")] private void DecryptBlock_128(byte[] input, int inOff, byte[] output, int outOff) { ulong num = Pack.LE_To_UInt64(input, inOff); ulong num2 = Pack.LE_To_UInt64(input, inOff); ulong[][] array = this.roundKeys; int num3 = this.roundsAmount; int length = array[num3].Length; ulong num4 = Dstu7624Engine.MixColumnInv(num); num = num2; ulong num5 = Dstu7624Engine.MixColumnInv(num); int length2 = Dstu7624Engine.T0.Length; int length3 = Dstu7624Engine.T1.Length; int length4 = Dstu7624Engine.T2.Length; byte[] t = Dstu7624Engine.T3; int length5 = t.Length; if (num4 != (ulong)t.Length) { } byte b; byte b2; b -= b2; b2 = b; byte b3; b2 = b3; } // Token: 0x06009BA1 RID: 39841 RVA: 0x002325EC File Offset: 0x002307EC [Token(Token = "0x6009BA1")] [Address(RVA = "0x211A290", Offset = "0x2118C90", VA = "0x18211A290")] private void EncryptBlock_128(byte[] input, int inOff, byte[] output, int outOff) { ulong num = Pack.LE_To_UInt64(input, inOff); ulong num2 = Pack.LE_To_UInt64(input, inOff); int length = this.roundKeys[0].Length; int length2 = Dstu7624Engine.S0.Length; int length3 = Dstu7624Engine.S1.Length; int length4 = Dstu7624Engine.S2.Length; int length5 = Dstu7624Engine.S3.Length; byte b; num = Dstu7624Engine.MixColumn((ulong)b); byte b2; b = b2; ulong num3 = Dstu7624Engine.MixColumn((ulong)b); ulong num4; num4 += (ulong)1L; if (num4 != num3) { } b = (byte)((ulong)b + num); } // Token: 0x06009BA2 RID: 39842 RVA: 0x00232684 File Offset: 0x00230884 [Token(Token = "0x6009BA2")] [Address(RVA = "0x211CBF0", Offset = "0x211B5F0", VA = "0x18211CBF0")] private void SubBytes() { int num = 0; if (this.T1 > num) { ulong[] array = this.internalState; int length = Dstu7624Engine.S0.Length; int length2 = Dstu7624Engine.S1.Length; int length3 = Dstu7624Engine.S2.Length; int length4 = Dstu7624Engine.S3.Length; ulong[] array2 = this.internalState; num++; byte b; num.m_value = (int)b; } } // Token: 0x06009BA3 RID: 39843 RVA: 0x002326EC File Offset: 0x002308EC [Token(Token = "0x6009BA3")] [Address(RVA = "0x211B470", Offset = "0x2119E70", VA = "0x18211B470")] private void InvSubBytes() { int num = 0; if (this.T1 > num) { ulong[] array = this.internalState; int length = Dstu7624Engine.T0.Length; int length2 = Dstu7624Engine.T1.Length; int length3 = Dstu7624Engine.T2.Length; int length4 = Dstu7624Engine.T3.Length; ulong[] array2 = this.internalState; num++; byte b; num.m_value = (int)b; } } // Token: 0x06009BA4 RID: 39844 RVA: 0x00232754 File Offset: 0x00230954 [Token(Token = "0x6009BA4")] [Address(RVA = "0x211C560", Offset = "0x211AF60", VA = "0x18211C560")] private void ShiftRows() { /* An exception occurred when decompiling this method (06009BA4) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Dstu7624Engine::ShiftRows() ---> System.Exception: Basic block has to end with unconditional control flow. { IL_145: stloc:InvalidOperationException(var_14_14F, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("unsupported block length: only 128/256/512 are allowed"))) } 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: 0x06009BA5 RID: 39845 RVA: 0x002328B4 File Offset: 0x00230AB4 [Token(Token = "0x6009BA5")] [Address(RVA = "0x211ADF0", Offset = "0x21197F0", VA = "0x18211ADF0")] private void InvShiftRows() { /* An exception occurred when decompiling this method (06009BA5) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Dstu7624Engine::InvShiftRows() ---> System.Exception: Basic block has to end with unconditional control flow. { IL_161: stloc:InvalidOperationException(var_18_16B, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("unsupported block length: only 128/256/512 are allowed"))) } 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: 0x06009BA6 RID: 39846 RVA: 0x00232A30 File Offset: 0x00230C30 [Token(Token = "0x6009BA6")] [Address(RVA = "0x2119AC0", Offset = "0x21184C0", VA = "0x182119AC0")] private void AddRoundKey(int round) { ulong[][] array = this.roundKeys; int num = 0; if (this.T1 > num) { ulong[] array2 = array[round]; ulong[] array3 = this.internalState; num++; } } // Token: 0x06009BA7 RID: 39847 RVA: 0x00232A68 File Offset: 0x00230C68 [Token(Token = "0x6009BA7")] [Address(RVA = "0x211CF10", Offset = "0x211B910", VA = "0x18211CF10")] private void SubRoundKey(int round) { ulong[][] array = this.roundKeys; int num = 0; if (this.T1 > num) { ulong[] array2 = array[round]; ulong[] array3 = this.internalState; num++; } } // Token: 0x06009BA8 RID: 39848 RVA: 0x00232AA0 File Offset: 0x00230CA0 [Token(Token = "0x6009BA8")] [Address(RVA = "0x211D930", Offset = "0x211C330", VA = "0x18211D930")] private void XorRoundKey(int round) { ulong[][] array = this.roundKeys; int num = 0; if (this.T1 > num) { ulong[] array2 = array[round]; ulong[] array3 = this.internalState; num++; } } // Token: 0x06009BA9 RID: 39849 RVA: 0x00232AD8 File Offset: 0x00230CD8 [Token(Token = "0x6009BA9")] [Address(RVA = "0x211B9A0", Offset = "0x211A3A0", VA = "0x18211B9A0")] private static ulong MixColumn(ulong c) { return c; } // Token: 0x06009BAA RID: 39850 RVA: 0x00232AE8 File Offset: 0x00230CE8 [Token(Token = "0x6009BAA")] [Address(RVA = "0x211BBB0", Offset = "0x211A5B0", VA = "0x18211BBB0")] private void MixColumns() { int num = 0; if (this.T1 > num) { ulong[] array = this.internalState; ulong num2 = Dstu7624Engine.MixColumn(array[num]); num++; array[0] = num2; } } // Token: 0x06009BAB RID: 39851 RVA: 0x00232B28 File Offset: 0x00230D28 [Token(Token = "0x6009BAB")] [Address(RVA = "0x211B790", Offset = "0x211A190", VA = "0x18211B790")] private static ulong MixColumnInv(ulong c) { /* An exception occurred when decompiling this method (06009BAB) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.UInt64 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Dstu7624Engine::MixColumnInv(System.UInt64) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:int64(var_0_06, mul:uint64[exp:int64](ldloc:uint64(c), conv.u8:uint64(ldc.i8:int64[exp:uint64](29)))) stloc:int64(var_0_0A, add:int64(ldloc:int64(var_0_06), ldloc:int64(var_0_06))) stloc:int64(var_1_11, mul:int64(ldloc:int64(var_0_0A), conv.u8:uint64[exp:int64](ldc.i8:int64[exp:uint64](29)))) stloc:int64(var_1_15, add:int64(ldloc:int64(var_1_11), ldloc:int64(var_1_11))) stloc:int64(var_2_1C, mul:uint64[exp:int64](ldloc:uint64(c), conv.u8:uint64(ldc.i8:int64[exp:uint64](29)))) } 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: 0x06009BAC RID: 39852 RVA: 0x00232B54 File Offset: 0x00230D54 [Token(Token = "0x6009BAC")] [Address(RVA = "0x211BAD0", Offset = "0x211A4D0", VA = "0x18211BAD0")] private void MixColumnsInv() { int num = 0; if (this.T1 > num) { ulong[] array = this.internalState; ulong num2 = Dstu7624Engine.MixColumnInv(array[num]); num++; array[0] = num2; } } // Token: 0x06009BAD RID: 39853 RVA: 0x00232B94 File Offset: 0x00230D94 [Token(Token = "0x6009BAD")] [Address(RVA = "0x211BCE0", Offset = "0x211A6E0", VA = "0x18211BCE0")] private static ulong MulX(ulong n) { /* An exception occurred when decompiling this method (06009BAD) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.UInt64 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Dstu7624Engine::MulX(System.UInt64) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:int64(var_0_06, mul:uint64[exp:int64](ldloc:uint64(n), conv.u8:uint64(ldc.i8:int64[exp:uint64](29)))) } 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: 0x06009BAE RID: 39854 RVA: 0x00232BA8 File Offset: 0x00230DA8 [Token(Token = "0x6009BAE")] [Address(RVA = "0x211BC90", Offset = "0x211A690", VA = "0x18211BC90")] private static ulong MulX2(ulong n) { /* An exception occurred when decompiling this method (06009BAE) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.UInt64 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Dstu7624Engine::MulX2(System.UInt64) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:int64(var_0_06, mul:uint64[exp:int64](ldloc:uint64(n), conv.u8:uint64(ldc.i8:int64[exp:uint64](29)))) } 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: 0x06009BAF RID: 39855 RVA: 0x00232BBC File Offset: 0x00230DBC [Token(Token = "0x6009BAF")] [Address(RVA = "0x211C540", Offset = "0x211AF40", VA = "0x18211C540")] private static ulong Rotate(int n, ulong x) { return x; } // Token: 0x06009BB0 RID: 39856 RVA: 0x00232BCC File Offset: 0x00230DCC [Token(Token = "0x6009BB0")] [Address(RVA = "0x211C050", Offset = "0x211AA50", VA = "0x18211C050")] private void RotateLeft(ulong[] x, ulong[] z) { /* An exception occurred when decompiling this method (06009BB0) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Dstu7624Engine::RotateLeft(System.UInt64[],System.UInt64[]) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_140: stloc:InvalidOperationException(var_17_14A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("unsupported block length: only 128/256/512 are allowed"))) } 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: 0x170018C9 RID: 6345 // (get) Token: 0x06009BB1 RID: 39857 RVA: 0x00232D24 File Offset: 0x00230F24 [Token(Token = "0x170018C9")] public virtual string AlgorithmName { [Token(Token = "0x6009BB1")] [Address(RVA = "0x211DC60", Offset = "0x211C660", VA = "0x18211DC60", Slot = "12")] get { return "DSTU7624"; } } // Token: 0x06009BB2 RID: 39858 RVA: 0x00232D38 File Offset: 0x00230F38 [Token(Token = "0x6009BB2")] [Address(RVA = "0x211A9D0", Offset = "0x21193D0", VA = "0x18211A9D0", Slot = "13")] public virtual int GetBlockSize() { return this.wordsInBlock; } // Token: 0x170018CA RID: 6346 // (get) Token: 0x06009BB3 RID: 39859 RVA: 0x00232D4C File Offset: 0x00230F4C [Token(Token = "0x170018CA")] public virtual bool IsPartialBlockOkay { [Token(Token = "0x6009BB3")] [Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "14")] get { } } // Token: 0x06009BB4 RID: 39860 RVA: 0x00232D5C File Offset: 0x00230F5C [Token(Token = "0x6009BB4")] [Address(RVA = "0x211C020", Offset = "0x211AA20", VA = "0x18211C020", Slot = "15")] public virtual void Reset() { ulong[] array = this.internalState; int length = array.Length; int num = 0; Array.Clear(array, num, length); } // Token: 0x06009BB5 RID: 39861 RVA: 0x00232D88 File Offset: 0x00230F88 // Note: this type is marked as 'beforefieldinit'. [Token(Token = "0x6009BB5")] [Address(RVA = "0x211D9C0", Offset = "0x211C3C0", VA = "0x18211D9C0")] static Dstu7624Engine() { byte[] array = new byte[256]; RuntimeHelpers.InitializeArray(array, fieldof(.6F5D2C37DFCDB1E72B86BC606C0E717C70E188A4).FieldHandle); Dstu7624Engine.S0 = array; byte[] array2 = new byte[256]; RuntimeHelpers.InitializeArray(array2, fieldof(.79039C5C22F863E8EAE0E08E1318F343680E50A8).FieldHandle); Dstu7624Engine.S1 = array2; byte[] array3 = new byte[256]; RuntimeHelpers.InitializeArray(array3, fieldof(.340B4B55E1DFD4BADC69CA57007FC1A4CDBA7943).FieldHandle); Dstu7624Engine.S2 = array3; byte[] array4 = new byte[256]; RuntimeHelpers.InitializeArray(array4, fieldof(.5CFF612F2058DE2C287ECA5C6407ECC471F65576).FieldHandle); Dstu7624Engine.S3 = array4; byte[] array5 = new byte[256]; RuntimeHelpers.InitializeArray(array5, fieldof(.C1C8DE48D8C0FA876F4ED0086BB93D7EAF61E4B2).FieldHandle); Dstu7624Engine.T0 = array5; byte[] array6 = new byte[256]; RuntimeHelpers.InitializeArray(array6, fieldof(.9F198D04FF67738AE583484145F45103ECE550CC).FieldHandle); Dstu7624Engine.T1 = array6; byte[] array7 = new byte[256]; RuntimeHelpers.InitializeArray(array7, fieldof(.C2443D9DBCD3810F90475C6F404BEDCFEF58661E).FieldHandle); Dstu7624Engine.T2 = array7; byte[] array8 = new byte[256]; RuntimeHelpers.InitializeArray(array8, fieldof(.BD0C733AC85AB335526865FA6269790347865705).FieldHandle); Dstu7624Engine.T3 = array8; } // Token: 0x04006617 RID: 26135 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x4006617")] private ulong[] internalState; // Token: 0x04006618 RID: 26136 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4006618")] private ulong[] workingKey; // Token: 0x04006619 RID: 26137 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x4006619")] private ulong[][] roundKeys; // Token: 0x0400661A RID: 26138 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x400661A")] private int wordsInBlock; // Token: 0x0400661B RID: 26139 [global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")] [Token(Token = "0x400661B")] private int wordsInKey; // Token: 0x0400661C RID: 26140 [Token(Token = "0x400661C")] private const int ROUNDS_128 = 10; // Token: 0x0400661D RID: 26141 [Token(Token = "0x400661D")] private const int ROUNDS_256 = 14; // Token: 0x0400661E RID: 26142 [Token(Token = "0x400661E")] private const int ROUNDS_512 = 18; // Token: 0x0400661F RID: 26143 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x400661F")] private int roundsAmount; // Token: 0x04006620 RID: 26144 [global::Cpp2IlInjected.FieldOffset(Offset = "0x34")] [Token(Token = "0x4006620")] private bool forEncryption; // Token: 0x04006621 RID: 26145 [Token(Token = "0x4006621")] private const ulong mdsMatrix = 290207332435296513UL; // Token: 0x04006622 RID: 26146 [Token(Token = "0x4006622")] private const ulong mdsInvMatrix = 14616231584692868525UL; // Token: 0x04006623 RID: 26147 [Token(Token = "0x4006623")] private static readonly byte[] S0; // Token: 0x04006624 RID: 26148 [Token(Token = "0x4006624")] private static readonly byte[] S1; // Token: 0x04006625 RID: 26149 [Token(Token = "0x4006625")] private static readonly byte[] S2; // Token: 0x04006626 RID: 26150 [Token(Token = "0x4006626")] private static readonly byte[] S3; // Token: 0x04006627 RID: 26151 [Token(Token = "0x4006627")] private static readonly byte[] T0; // Token: 0x04006628 RID: 26152 [Token(Token = "0x4006628")] private static readonly byte[] T1; // Token: 0x04006629 RID: 26153 [Token(Token = "0x4006629")] private static readonly byte[] T2; // Token: 0x0400662A RID: 26154 [Token(Token = "0x400662A")] private static readonly byte[] T3; } }