Files
Aug2021-Cpp2IL-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Crypto/Engines/AesLightEngine.cs
T
2026-04-10 22:50:51 +02:00

581 lines
24 KiB
C#

using System;
using System.Runtime.CompilerServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Rfc8032;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
{
// Token: 0x02001C82 RID: 7298
[Token(Token = "0x2001C82")]
public class AesLightEngine : IBlockCipher
{
// Token: 0x0600B6DE RID: 46814 RVA: 0x00283040 File Offset: 0x00281240
[Token(Token = "0x600B6DE")]
[Address(RVA = "0x1A607B0", Offset = "0x1A5F5B0", VA = "0x181A607B0")]
private static uint Shift(uint r, int shift)
{
return r;
}
// Token: 0x0600B6DF RID: 46815 RVA: 0x00283050 File Offset: 0x00281250
[Token(Token = "0x600B6DF")]
[Address(RVA = "0x1A5ED00", Offset = "0x1A5DB00", VA = "0x181A5ED00")]
private static uint FFmulX(uint x)
{
/*
An exception occurred when decompiling this method (0600B6DF)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.UInt32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.AesLightEngine::FFmulX(System.UInt32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int64(var_0_05, mul:uint32[exp:int64](ldloc:uint32(x), conv.u4:uint32(ldc.i4:int32[exp:uint32](27))))
}
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: 0x0600B6E0 RID: 46816 RVA: 0x00283064 File Offset: 0x00281264
[Token(Token = "0x600B6E0")]
[Address(RVA = "0x1A5ECD0", Offset = "0x1A5DAD0", VA = "0x181A5ECD0")]
private static uint FFmulX2(uint x)
{
return x;
}
// Token: 0x0600B6E1 RID: 46817 RVA: 0x00283074 File Offset: 0x00281274
[Token(Token = "0x600B6E1")]
[Address(RVA = "0x1A68B10", Offset = "0x1A67910", VA = "0x181A68B10")]
private static uint Mcol(uint x)
{
return x;
}
// Token: 0x0600B6E2 RID: 46818 RVA: 0x00283084 File Offset: 0x00281284
[Token(Token = "0x600B6E2")]
[Address(RVA = "0x1A68A50", Offset = "0x1A67850", VA = "0x181A68A50")]
private static uint Inv_Mcol(uint x)
{
return x;
}
// Token: 0x0600B6E3 RID: 46819 RVA: 0x00283094 File Offset: 0x00281294
[Token(Token = "0x600B6E3")]
[Address(RVA = "0x1A68D20", Offset = "0x1A67B20", VA = "0x181A68D20")]
private static uint SubWord(uint x)
{
int length = AesLightEngine.S.Length;
throw new NullReferenceException();
}
// Token: 0x0600B6E4 RID: 46820 RVA: 0x002830B4 File Offset: 0x002812B4
[Token(Token = "0x600B6E4")]
[Address(RVA = "0x1A67310", Offset = "0x1A66110", VA = "0x181A67310")]
private uint[][] GenerateWorkingKey(byte[] key, bool forEncryption)
{
uint[][] array;
int i;
for (;;)
{
if (key.Length == 7)
{
this.ROUNDS = key;
array = new uint[key][];
i = 0;
uint[] array2 = new uint[4];
if (array2 != 0)
{
}
i++;
array[0] = array2;
while (i <= this.rcon)
{
}
if (typeof(uint[]).TypeHandle == 0)
{
goto IL_3FB;
}
if (typeof(uint[]).TypeHandle != 0)
{
if (typeof(uint[]).TypeHandle == 0)
{
goto IL_1E5;
}
uint num;
if (typeof(uint[]).TypeHandle != 0 && typeof(uint[]).TypeHandle == num)
{
break;
}
}
}
}
uint[] array3 = array[0];
array3[0] = (uint)i;
uint[] array4 = array[0];
array4[0] = array3;
uint[] array5 = array[0];
array5[1] = array4;
uint[] array6 = array[0];
array6[1] = array5;
uint[] array7 = array[1];
array7[0] = array6;
uint[] array8 = array[1];
array8[0] = array7;
uint[] array9 = array[1];
array9[1] = array8;
array[1][1] = array9;
uint num2;
num2 += num2;
uint num3 = AesLightEngine.SubWord(array9);
ulong num4;
array[(int)num4][0] = i;
array[(int)num4][0] = array3;
array[(int)num4][1] = array4;
array[(int)num4][1] = array5;
uint num5 = AesLightEngine.SubWord(array5);
ulong num6 = num4 + 1UL;
array[(int)num6][0] = array6;
array[(int)num6][0] = array7;
array[(int)num6][1] = array8;
array[(int)num6][1] = array9;
uint num7 = AesLightEngine.SubWord(array9);
array[14][0] = (uint)i;
array[14][0] = array3;
array[14][1] = array4;
uint[] array10 = array[14];
array10[1] = array5;
IL_1E5:
uint[] array11 = array[0];
array11[0] = array10;
uint[] array12 = array[0];
array12[0] = array11;
uint[] array13 = array[0];
array13[1] = array12;
uint[] array14 = array[0];
array14[1] = array13;
uint[] array15 = array[1];
array15[0] = array14;
array[1][0] = array15;
uint num8 = AesLightEngine.SubWord(array15);
array[1][1] = num8;
array[1][1] = array11;
array[2][0] = array12;
array[2][0] = array13;
array[2][1] = array14;
array[2][1] = array15;
ulong num9;
num9 += num9;
uint num10 = AesLightEngine.SubWord(array15);
uint num11;
array[(int)num11][0] = num8;
array[(int)num11][0] = array11;
array[(int)num11][1] = array12;
array[(int)num11][1] = array13;
uint num12 = num11 + 1U;
array[(int)num12][0] = array14;
array[(int)num12][0] = array15;
num9 += num9;
uint num13 = AesLightEngine.SubWord(array15);
array[(int)num12][1] = num8;
array[(int)num12][1] = array11;
num11 += (uint)2;
array[(int)num11][0] = array12;
array[(int)num11][0] = array13;
array[(int)num11][1] = array14;
uint[] array16 = array[(int)num11];
num11 += (uint)3;
array16[1] = array15;
uint num14 = AesLightEngine.SubWord(array15);
array[12][0] = num8;
array[12][0] = array11;
array[12][1] = array12;
uint[] array17 = array[12];
array17[1] = array13;
IL_3FB:
uint[] array18 = array[0];
array18[0] = array17;
uint[] array19 = array[0];
array19[0] = array18;
uint[] array20 = array[0];
array20[1] = array19;
array[0][1] = array20;
uint num15 = AesLightEngine.SubWord(array20);
byte[] array21 = AesLightEngine.rcon;
uint num17;
uint num16 = num17 - 1U;
array[(int)num17][0] = array17;
array[(int)num17][0] = array18;
array[(int)num17][1] = array19;
uint[] array22 = array[(int)num17];
num17 += (uint)1;
array22[1] = array20;
while (num17 <= (uint)10)
{
}
int num18 = 0;
uint[] array23 = array[(int)num17];
uint num19 = AesLightEngine.Inv_Mcol(array23[num18]);
num18++;
array23[0] = num19;
num17 += (uint)1;
return array;
}
// Token: 0x0600B6E5 RID: 46821 RVA: 0x002835A8 File Offset: 0x002817A8
[Token(Token = "0x600B6E5")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public AesLightEngine()
{
this.Reset();
}
// Token: 0x0600B6E6 RID: 46822 RVA: 0x002835BC File Offset: 0x002817BC
[Token(Token = "0x600B6E6")]
[Address(RVA = "0x1A68940", Offset = "0x1A67740", VA = "0x181A68940", Slot = "10")]
public virtual void Init(bool forEncryption, ICipherParameters parameters)
{
/*
An exception occurred when decompiling this method (0600B6E6)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.AesLightEngine::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_22:
stloc:ArgumentException(var_4_32, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("invalid parameter passed to AES init - "), ldloc:string(var_3))))
}
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: 0x17001CB8 RID: 7352
// (get) Token: 0x0600B6E7 RID: 46823 RVA: 0x002835FC File Offset: 0x002817FC
[Token(Token = "0x17001CB8")]
public virtual string AlgorithmName
{
[Token(Token = "0x600B6E7")]
[Address(RVA = "0x1A68F10", Offset = "0x1A67D10", VA = "0x181A68F10", Slot = "11")]
get
{
return "AES";
}
}
// Token: 0x17001CB9 RID: 7353
// (get) Token: 0x0600B6E8 RID: 46824 RVA: 0x00283610 File Offset: 0x00281810
[Token(Token = "0x17001CB9")]
public virtual bool IsPartialBlockOkay
{
[Token(Token = "0x600B6E8")]
[Address(RVA = "0x403930", Offset = "0x402730", VA = "0x180403930", Slot = "12")]
get
{
}
}
// Token: 0x0600B6E9 RID: 46825 RVA: 0x00283620 File Offset: 0x00281820
[Token(Token = "0x600B6E9")]
[Address(RVA = "0x4B6B10", Offset = "0x4B5910", VA = "0x1804B6B10", Slot = "13")]
public virtual int GetBlockSize()
{
return 16;
}
// Token: 0x0600B6EA RID: 46826 RVA: 0x00283630 File Offset: 0x00281830
[Token(Token = "0x600B6EA")]
[Address(RVA = "0x1A68BA0", Offset = "0x1A679A0", VA = "0x181A68BA0", Slot = "14")]
public virtual int ProcessBlock(byte[] input, int inOff, byte[] output, int outOff)
{
/*
An exception occurred when decompiling this method (0600B6EA)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.AesLightEngine::ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_5D:
stloc:InvalidOperationException(var_7_67, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("AES engine not initialised")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
*/;
}
// Token: 0x0600B6EB RID: 46827 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600B6EB")]
[Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "15")]
public virtual void Reset()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600B6EC RID: 46828 RVA: 0x002836A8 File Offset: 0x002818A8
[Token(Token = "0x600B6EC")]
[Address(RVA = "0x1A608F0", Offset = "0x1A5F6F0", VA = "0x181A608F0")]
private void UnPackBlock(byte[] bytes, int off)
{
}
// Token: 0x0600B6ED RID: 46829 RVA: 0x002836B8 File Offset: 0x002818B8
[Token(Token = "0x600B6ED")]
[Address(RVA = "0x1A605C0", Offset = "0x1A5F3C0", VA = "0x181A605C0")]
private void PackBlock(byte[] bytes, int off)
{
Ed25519.Encode32(this.C0, bytes, off);
Ed25519.Encode32(this.C1, bytes, off);
Ed25519.Encode32(this.C2, bytes, off);
Ed25519.Encode32(this.C3, bytes, off);
}
// Token: 0x0600B6EE RID: 46830 RVA: 0x002836FC File Offset: 0x002818FC
[Token(Token = "0x600B6EE")]
[Address(RVA = "0x1A65FD0", Offset = "0x1A64DD0", VA = "0x181A65FD0")]
private void EncryptBlock(uint[][] KW)
{
int length = KW.Length;
uint[] array = KW[0];
int length2 = array.Length;
uint num = array[0];
uint num2 = array[0];
uint num3 = array[1];
uint num4 = array[1];
if (array > (uint)1)
{
int length3 = AesLightEngine.S.Length;
num2 = num4;
byte b;
uint num5 = AesLightEngine.Mcol((uint)b);
uint[] array2;
uint num6 = array2[0];
int length4 = AesLightEngine.S.Length;
byte b2;
uint num7 = AesLightEngine.Mcol((uint)b2);
uint num8 = array2[0];
int length5 = AesLightEngine.S.Length;
num4 = num2;
byte b3;
uint num9 = AesLightEngine.Mcol((uint)b3);
uint num10 = array2[1];
int length6 = AesLightEngine.S.Length;
byte b4;
uint num11 = AesLightEngine.Mcol((uint)b4);
uint num12 = array2[1];
int length7 = AesLightEngine.S.Length;
byte b5;
uint num13 = AesLightEngine.Mcol((uint)b5);
int length8 = AesLightEngine.S.Length;
byte b6;
uint num14 = AesLightEngine.Mcol((uint)b6);
int length9 = AesLightEngine.S.Length;
byte b7;
uint num15 = AesLightEngine.Mcol((uint)b7);
int length10 = AesLightEngine.S.Length;
byte b8;
uint num16 = AesLightEngine.Mcol((uint)b8);
}
int length11 = AesLightEngine.S.Length;
byte b9;
uint num17 = AesLightEngine.Mcol((uint)b9);
uint[] array3;
uint num18 = array3[0];
int length12 = AesLightEngine.S.Length;
byte b10;
uint num19 = AesLightEngine.Mcol((uint)b10);
uint num20 = array3[0];
int length13 = AesLightEngine.S.Length;
byte b11;
uint num21 = AesLightEngine.Mcol((uint)b11);
uint num22 = array3[1];
int length14 = AesLightEngine.S.Length;
byte b12;
uint num23 = AesLightEngine.Mcol((uint)b12);
uint num24 = array3[1];
uint num25;
num25 += (uint)1;
int length15 = AesLightEngine.S.Length;
int length16 = AesLightEngine.S.Length;
int length17 = AesLightEngine.S.Length;
int length18 = AesLightEngine.S.Length;
}
// Token: 0x0600B6EF RID: 46831 RVA: 0x0028397C File Offset: 0x00281B7C
[Token(Token = "0x600B6EF")]
[Address(RVA = "0x1A64CB0", Offset = "0x1A63AB0", VA = "0x181A64CB0")]
private void DecryptBlock(uint[][] KW)
{
int length = KW.Length;
uint[] array;
int length2 = array.Length;
uint num = array[0];
uint num2 = array[0];
uint num3 = array[1];
uint num4 = array[1];
uint[] array2 = KW[array];
int length3 = AesLightEngine.Si.Length;
byte b;
uint num5 = AesLightEngine.Inv_Mcol((uint)b);
uint num6 = array2[0];
int length4 = AesLightEngine.Si.Length;
byte b2;
uint num7 = AesLightEngine.Inv_Mcol((uint)b2);
uint num8 = array2[0];
int length5 = AesLightEngine.Si.Length;
byte b3;
uint num9 = AesLightEngine.Inv_Mcol((uint)b3);
uint num10 = array2[1];
int length6 = AesLightEngine.Si.Length;
byte b4;
uint num11 = AesLightEngine.Inv_Mcol((uint)b4);
uint num12 = array2[1];
int length7 = AesLightEngine.Si.Length;
byte b5;
uint num13 = AesLightEngine.Inv_Mcol((uint)b5);
int length8 = AesLightEngine.Si.Length;
byte b6;
uint num14 = AesLightEngine.Inv_Mcol((uint)b6);
int length9 = AesLightEngine.Si.Length;
byte b7;
uint num15 = AesLightEngine.Inv_Mcol((uint)b7);
int length10 = AesLightEngine.Si.Length;
byte b8;
uint num16 = AesLightEngine.Inv_Mcol((uint)b8);
uint[] array3 = KW[1];
int length11 = AesLightEngine.Si.Length;
byte b9;
uint num17 = AesLightEngine.Inv_Mcol((uint)b9);
uint num18 = array3[0];
int length12 = AesLightEngine.Si.Length;
byte b10;
uint num19 = AesLightEngine.Inv_Mcol((uint)b10);
uint num20 = array3[0];
int length13 = AesLightEngine.Si.Length;
byte b11;
uint num21 = AesLightEngine.Inv_Mcol((uint)b11);
uint num22 = array3[1];
int length14 = AesLightEngine.Si.Length;
byte b12;
uint num23 = AesLightEngine.Inv_Mcol((uint)b12);
uint num24 = array3[1];
int length15 = AesLightEngine.Si.Length;
int length16 = AesLightEngine.Si.Length;
int length17 = AesLightEngine.Si.Length;
int length18 = AesLightEngine.Si.Length;
}
// Token: 0x0600B6F0 RID: 46832 RVA: 0x00283BF4 File Offset: 0x00281DF4
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600B6F0")]
[Address(RVA = "0x1A68E40", Offset = "0x1A67C40", VA = "0x181A68E40")]
static AesLightEngine()
{
byte[] array = new byte[256];
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.8F22C9ECE1331718CBD268A9BBFD2F5E451441E3).FieldHandle);
AesLightEngine.S = array;
byte[] array2 = new byte[256];
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.0C4110BC17D746F018F47B49E0EB0D6590F69939).FieldHandle);
AesLightEngine.Si = array2;
byte[] array3 = new byte[30];
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.B8DB0CB599EDD82A386D1A154FB3EB9235513DAD).FieldHandle);
AesLightEngine.rcon = array3;
}
// Token: 0x040073F3 RID: 29683
[Token(Token = "0x40073F3")]
private static readonly byte[] S;
// Token: 0x040073F4 RID: 29684
[Token(Token = "0x40073F4")]
private static readonly byte[] Si;
// Token: 0x040073F5 RID: 29685
[Token(Token = "0x40073F5")]
private static readonly byte[] rcon;
// Token: 0x040073F6 RID: 29686
[Token(Token = "0x40073F6")]
private const uint m1 = 2155905152U;
// Token: 0x040073F7 RID: 29687
[Token(Token = "0x40073F7")]
private const uint m2 = 2139062143U;
// Token: 0x040073F8 RID: 29688
[Token(Token = "0x40073F8")]
private const uint m3 = 27U;
// Token: 0x040073F9 RID: 29689
[Token(Token = "0x40073F9")]
private const uint m4 = 3233857728U;
// Token: 0x040073FA RID: 29690
[Token(Token = "0x40073FA")]
private const uint m5 = 1061109567U;
// Token: 0x040073FB RID: 29691
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40073FB")]
private int ROUNDS;
// Token: 0x040073FC RID: 29692
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40073FC")]
private uint[][] WorkingKey;
// Token: 0x040073FD RID: 29693
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40073FD")]
private uint C0;
// Token: 0x040073FE RID: 29694
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x40073FE")]
private uint C1;
// Token: 0x040073FF RID: 29695
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x40073FF")]
private uint C2;
// Token: 0x04007400 RID: 29696
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x4007400")]
private uint C3;
// Token: 0x04007401 RID: 29697
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4007401")]
private bool forEncryption;
// Token: 0x04007402 RID: 29698
[Token(Token = "0x4007402")]
private const int BLOCK_SIZE = 16;
}
}