Files
2026-04-08 23:40:05 +02:00

870 lines
48 KiB
C#

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(<PrivateImplementationDetails>.6F5D2C37DFCDB1E72B86BC606C0E717C70E188A4).FieldHandle);
Dstu7624Engine.S0 = array;
byte[] array2 = new byte[256];
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.79039C5C22F863E8EAE0E08E1318F343680E50A8).FieldHandle);
Dstu7624Engine.S1 = array2;
byte[] array3 = new byte[256];
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.340B4B55E1DFD4BADC69CA57007FC1A4CDBA7943).FieldHandle);
Dstu7624Engine.S2 = array3;
byte[] array4 = new byte[256];
RuntimeHelpers.InitializeArray(array4, fieldof(<PrivateImplementationDetails>.5CFF612F2058DE2C287ECA5C6407ECC471F65576).FieldHandle);
Dstu7624Engine.S3 = array4;
byte[] array5 = new byte[256];
RuntimeHelpers.InitializeArray(array5, fieldof(<PrivateImplementationDetails>.C1C8DE48D8C0FA876F4ED0086BB93D7EAF61E4B2).FieldHandle);
Dstu7624Engine.T0 = array5;
byte[] array6 = new byte[256];
RuntimeHelpers.InitializeArray(array6, fieldof(<PrivateImplementationDetails>.9F198D04FF67738AE583484145F45103ECE550CC).FieldHandle);
Dstu7624Engine.T1 = array6;
byte[] array7 = new byte[256];
RuntimeHelpers.InitializeArray(array7, fieldof(<PrivateImplementationDetails>.C2443D9DBCD3810F90475C6F404BEDCFEF58661E).FieldHandle);
Dstu7624Engine.T2 = array7;
byte[] array8 = new byte[256];
RuntimeHelpers.InitializeArray(array8, fieldof(<PrivateImplementationDetails>.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;
}
}