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

729 lines
26 KiB
C#

using System;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
{
// Token: 0x02001CA6 RID: 7334
[Token(Token = "0x2001CA6")]
public class RijndaelEngine : IBlockCipher
{
// Token: 0x0600B878 RID: 47224 RVA: 0x002901D8 File Offset: 0x0028E3D8
[Token(Token = "0x600B878")]
[Address(RVA = "0x1DF78B0", Offset = "0x1DF66B0", VA = "0x181DF78B0")]
private byte Mul0x2(int b)
{
if (b == 0)
{
}
byte[] logtable = RijndaelEngine.Logtable;
byte[] alogtable = RijndaelEngine.Alogtable;
byte b2;
return b2;
}
// Token: 0x0600B879 RID: 47225 RVA: 0x00290200 File Offset: 0x0028E400
[Token(Token = "0x600B879")]
[Address(RVA = "0x1DF7970", Offset = "0x1DF6770", VA = "0x181DF7970")]
private byte Mul0x3(int b)
{
if (b == 0)
{
}
byte[] logtable = RijndaelEngine.Logtable;
byte[] alogtable = RijndaelEngine.Alogtable;
byte b2;
return b2;
}
// Token: 0x0600B87A RID: 47226 RVA: 0x00290228 File Offset: 0x0028E428
[Token(Token = "0x600B87A")]
[Address(RVA = "0x1DF7A30", Offset = "0x1DF6830", VA = "0x181DF7A30")]
private byte Mul0x9(int b)
{
byte[] alogtable = RijndaelEngine.Alogtable;
byte b2;
return b2;
}
// Token: 0x0600B87B RID: 47227 RVA: 0x00290244 File Offset: 0x0028E444
[Token(Token = "0x600B87B")]
[Address(RVA = "0x1DF7AD0", Offset = "0x1DF68D0", VA = "0x181DF7AD0")]
private byte Mul0xb(int b)
{
byte[] alogtable = RijndaelEngine.Alogtable;
byte b2;
return b2;
}
// Token: 0x0600B87C RID: 47228 RVA: 0x00290260 File Offset: 0x0028E460
[Token(Token = "0x600B87C")]
[Address(RVA = "0x1DF7B70", Offset = "0x1DF6970", VA = "0x181DF7B70")]
private byte Mul0xd(int b)
{
byte[] alogtable = RijndaelEngine.Alogtable;
byte b2;
return b2;
}
// Token: 0x0600B87D RID: 47229 RVA: 0x0029027C File Offset: 0x0028E47C
[Token(Token = "0x600B87D")]
[Address(RVA = "0x1DF7C10", Offset = "0x1DF6A10", VA = "0x181DF7C10")]
private byte Mul0xe(int b)
{
byte[] alogtable = RijndaelEngine.Alogtable;
byte b2;
return b2;
}
// Token: 0x0600B87E RID: 47230 RVA: 0x00290298 File Offset: 0x0028E498
[Token(Token = "0x600B87E")]
[Address(RVA = "0x1DF7610", Offset = "0x1DF6410", VA = "0x181DF7610")]
private void KeyAddition(long[] rk)
{
long num = rk[3];
}
// Token: 0x0600B87F RID: 47231 RVA: 0x002902B4 File Offset: 0x0028E4B4
[Token(Token = "0x600B87F")]
[Address(RVA = "0x1DF8350", Offset = "0x1DF7150", VA = "0x181DF8350")]
private long Shift(long r, int shift)
{
int num = this.BC;
num -= shift;
return r;
}
// Token: 0x0600B880 RID: 47232 RVA: 0x002902D0 File Offset: 0x0028E4D0
[Token(Token = "0x600B880")]
[Address(RVA = "0x1DF8230", Offset = "0x1DF7030", VA = "0x181DF8230")]
private void ShiftRow(byte[] shiftsSC)
{
long a = this.A1;
byte b = shiftsSC[0];
int num = this.BC;
num -= (int)b;
this.A1 = a;
byte b2 = shiftsSC[0];
num -= (int)b2;
this.A2 = a;
byte b3 = shiftsSC[0];
num -= (int)b3;
this.A3 = a;
}
// Token: 0x0600B881 RID: 47233 RVA: 0x0029032C File Offset: 0x0028E52C
[Token(Token = "0x600B881")]
[Address(RVA = "0x1DF63B0", Offset = "0x1DF51B0", VA = "0x181DF63B0")]
private long ApplyS(long r, byte[] box)
{
int bc = this.BC;
int num = 0;
if (bc > 0)
{
num += 8;
}
throw new NullReferenceException();
}
// Token: 0x0600B882 RID: 47234 RVA: 0x00290350 File Offset: 0x0028E550
[Token(Token = "0x600B882")]
[Address(RVA = "0x1DF8380", Offset = "0x1DF7180", VA = "0x181DF8380")]
private void Substitution(byte[] box)
{
int bc = this.BC;
int num = 0;
long a = this.A0;
if (bc > 0)
{
num += 8;
}
this.A0 = (long)num;
if (bc > 0)
{
num += 8;
}
this.A1 = (long)num;
if (bc > 0)
{
num += 8;
}
this.A2 = (long)num;
if (bc > 0)
{
num += 8;
}
this.A3 = (long)num;
}
// Token: 0x0600B883 RID: 47235 RVA: 0x002903B0 File Offset: 0x0028E5B0
[Token(Token = "0x600B883")]
[Address(RVA = "0x1DF76A0", Offset = "0x1DF64A0", VA = "0x181DF76A0")]
private void MixColumn()
{
int num = 0;
if (this.Alogtable > num)
{
long num2 = this.A0;
long num3 = this.A1;
long num4 = this.A2;
byte b = this.Mul0x2((int)num2);
num2 = num3;
byte b2 = this.Mul0x3((int)num2);
b = this.Mul0x2((int)num3);
num3 = num4;
byte b3 = this.Mul0x3((int)num3);
b = this.Mul0x2((int)num4);
byte b4 = this.Mul0x3((int)num4);
b = this.Mul0x2((int)num4);
num4 = num2;
byte b5 = this.Mul0x3((int)num4);
num += 8;
}
this.A0 = (long)num;
this.A1 = (long)num;
this.A2 = (long)num;
this.A3 = (long)num;
}
// Token: 0x0600B884 RID: 47236 RVA: 0x00290450 File Offset: 0x0028E650
[Token(Token = "0x600B884")]
[Address(RVA = "0x1DF71D0", Offset = "0x1DF5FD0", VA = "0x181DF71D0")]
private void InvMixColumn()
{
int num = 0;
if (this.Alogtable > num)
{
long num2 = this.A2;
long a = this.A0;
long a2 = this.A1;
num2 = this.A3;
byte[] logtable = RijndaelEngine.Logtable;
byte[] logtable2 = RijndaelEngine.Logtable;
byte[] logtable3 = RijndaelEngine.Logtable;
byte[] logtable4 = RijndaelEngine.Logtable;
uint num3;
byte b = this.Mul0xe((int)num3);
uint num4;
byte b2 = this.Mul0xb((int)num4);
uint num5;
byte b3 = this.Mul0xd((int)num5);
uint num6;
byte b4 = this.Mul0x9((int)num6);
b = this.Mul0xe((int)num4);
b2 = this.Mul0xb((int)num5);
b3 = this.Mul0xd((int)num6);
byte b5 = this.Mul0x9((int)num3);
b = this.Mul0xe((int)num5);
b2 = this.Mul0xb((int)num6);
b3 = this.Mul0xd((int)num3);
byte b6 = this.Mul0x9((int)num4);
b = this.Mul0xe((int)num6);
b2 = this.Mul0xb((int)num3);
b3 = this.Mul0xd((int)num4);
byte b7 = this.Mul0x9((int)num5);
num += 8;
}
this.A0 = (long)num;
this.A1 = (long)num;
this.A2 = (long)num;
this.A3 = (long)num;
}
// Token: 0x0600B885 RID: 47237 RVA: 0x0029056C File Offset: 0x0028E76C
[Token(Token = "0x600B885")]
[Address(RVA = "0x1DF6740", Offset = "0x1DF5540", VA = "0x181DF6740")]
private long[][] GenerateWorkingKey(byte[] key)
{
long[][] array;
int num10;
for (;;)
{
int length = key.Length;
int maxkc = RijndaelEngine.MAXKC;
int num = RijndaelEngine.MAXROUNDS;
num++;
array = new long[num][];
int num2 = 0;
int num3 = RijndaelEngine.MAXROUNDS;
num3++;
if (num2 < num3)
{
long[] array2 = new long[4];
if (array2 != 0)
{
}
num2++;
array[0] = array2;
}
if (length > 160)
{
if (length == 192)
{
}
if (length == 224)
{
}
if (length != 256)
{
continue;
}
}
if (length == 128)
{
}
if (length == 160)
{
if (length < this.blockBits)
{
int num4 = this.BC;
num4 += num;
}
uint num5;
num5 += (uint)6;
int num6 = 0;
int num7 = 0;
this.ROUNDS = (int)num5;
int num8 = 0;
int length2 = key.Length;
if (num8 < length2)
{
num6++;
num7++;
num7 += num8;
int num9 = num7 * (int)num5;
num7++;
}
num10 = 0;
int num11 = this.BC;
int rounds = this.ROUNDS;
num11 += num7;
int num12 = (rounds + 1) * num11;
if (num10 < num12)
{
break;
}
}
}
long[] array3 = array[num10];
throw new IndexOutOfRangeException();
}
// Token: 0x0600B886 RID: 47238 RVA: 0x00290820 File Offset: 0x0028EA20
[Token(Token = "0x600B886")]
[Address(RVA = "0x1DF8D10", Offset = "0x1DF7B10", VA = "0x181DF8D10")]
public RijndaelEngine()
{
}
// Token: 0x0600B887 RID: 47239 RVA: 0x00290830 File Offset: 0x0028EA30
[Token(Token = "0x600B887")]
[Address(RVA = "0x1DF8D20", Offset = "0x1DF7B20", VA = "0x181DF8D20")]
public RijndaelEngine(int blockBits)
{
/*
An exception occurred when decompiling this method (0600B887)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.RijndaelEngine::.ctor(System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_13A:
stloc:ArgumentException(var_10_144, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("unknown blocksize to Rijndael")))
}
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: 0x0600B888 RID: 47240 RVA: 0x00290984 File Offset: 0x0028EB84
[Token(Token = "0x600B888")]
[Address(RVA = "0x1DF7000", Offset = "0x1DF5E00", VA = "0x181DF7000", Slot = "10")]
public virtual void Init(bool forEncryption, ICipherParameters parameters)
{
/*
An exception occurred when decompiling this method (0600B888)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.RijndaelEngine::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_3B:
stloc:ArgumentException(var_7_4C, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("invalid parameter passed to Rijndael init - "), ldloc:string(var_6))))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
*/;
}
// Token: 0x17001CE9 RID: 7401
// (get) Token: 0x0600B889 RID: 47241 RVA: 0x002909E0 File Offset: 0x0028EBE0
[Token(Token = "0x17001CE9")]
public virtual string AlgorithmName
{
[Token(Token = "0x600B889")]
[Address(RVA = "0x1DF9180", Offset = "0x1DF7F80", VA = "0x181DF9180", Slot = "11")]
get
{
return "Rijndael";
}
}
// Token: 0x17001CEA RID: 7402
// (get) Token: 0x0600B88A RID: 47242 RVA: 0x002909F4 File Offset: 0x0028EBF4
[Token(Token = "0x17001CEA")]
public virtual bool IsPartialBlockOkay
{
[Token(Token = "0x600B88A")]
[Address(RVA = "0x403930", Offset = "0x402730", VA = "0x180403930", Slot = "12")]
get
{
}
}
// Token: 0x0600B88B RID: 47243 RVA: 0x00290A04 File Offset: 0x0028EC04
[Token(Token = "0x600B88B")]
[Address(RVA = "0x1DF6FF0", Offset = "0x1DF5DF0", VA = "0x181DF6FF0", Slot = "13")]
public virtual int GetBlockSize()
{
return this.BC;
}
// Token: 0x0600B88C RID: 47244 RVA: 0x00290A18 File Offset: 0x0028EC18
[Token(Token = "0x600B88C")]
[Address(RVA = "0x1DF7D90", Offset = "0x1DF6B90", VA = "0x181DF7D90", Slot = "14")]
public virtual int ProcessBlock(byte[] input, int inOff, byte[] output, int outOff)
{
/*
An exception occurred when decompiling this method (0600B88C)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.RijndaelEngine::ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_1A5:
stloc:InvalidOperationException(var_26_1AF, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Rijndael 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: 0x0600B88D RID: 47245 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600B88D")]
[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: 0x0600B88E RID: 47246 RVA: 0x00290BD8 File Offset: 0x0028EDD8
[Token(Token = "0x600B88E")]
[Address(RVA = "0x1DF8530", Offset = "0x1DF7330", VA = "0x181DF8530")]
private void UnPackBlock(byte[] bytes, int off)
{
byte b;
this.A0 = (long)b;
int num = off + 1;
byte b2;
this.A1 = (long)b2;
byte b3;
this.A2 = (long)b3;
int num2 = off + 1;
int bc = this.BC;
byte b4;
this.A3 = (long)b4;
uint num3;
if (bc != (int)num3)
{
int num4 = num2 + 1;
num2 += 2;
byte b5 = bytes[num2];
num3 += (uint)8;
while (num3 != (uint)bc)
{
}
}
}
// Token: 0x0600B88F RID: 47247 RVA: 0x00290C44 File Offset: 0x0028EE44
[Token(Token = "0x600B88F")]
[Address(RVA = "0x1DF7CB0", Offset = "0x1DF6AB0", VA = "0x181DF7CB0")]
private void PackBlock(byte[] bytes, int off)
{
int num = 0;
if (this.Alogtable != num)
{
long a = this.A0;
int num2 = off + 1;
long a2 = this.A1;
bytes[0] = (byte)a2;
long a3 = this.A2;
bytes[0] = (byte)a3;
long a4 = this.A3;
num += 8;
while (num != this.Alogtable)
{
}
}
}
// Token: 0x0600B890 RID: 47248 RVA: 0x00290CA4 File Offset: 0x0028EEA4
[Token(Token = "0x600B890")]
[Address(RVA = "0x1DF65B0", Offset = "0x1DF53B0", VA = "0x181DF65B0")]
private void EncryptBlock(long[][] rk)
{
long[] array = rk[0];
this.KeyAddition(array);
if (this.ROUNDS > 1)
{
byte[] s = RijndaelEngine.S;
this.Substitution(s);
byte[] array2 = this.shifts0SC;
this.ShiftRow(array2);
this.MixColumn();
long[] array3;
this.KeyAddition(array3);
}
byte[] s2 = RijndaelEngine.S;
this.Substitution(s2);
byte[] array4 = this.shifts0SC;
this.ShiftRow(array4);
int rounds = this.ROUNDS;
long[] array5 = rk[rounds];
this.KeyAddition(array5);
}
// Token: 0x0600B891 RID: 47249 RVA: 0x00290D30 File Offset: 0x0028EF30
[Token(Token = "0x600B891")]
[Address(RVA = "0x1DF6420", Offset = "0x1DF5220", VA = "0x181DF6420")]
private void DecryptBlock(long[][] rk)
{
int rounds = this.ROUNDS;
long[] array = rk[rounds];
this.KeyAddition(array);
byte[] si = RijndaelEngine.Si;
this.Substitution(si);
byte[] array2 = this.shifts1SC;
this.ShiftRow(array2);
int rounds2 = this.ROUNDS;
if (rounds2 > 0)
{
long[] array3 = rk[rounds2];
this.KeyAddition(array3);
this.InvMixColumn();
byte[] si2 = RijndaelEngine.Si;
this.Substitution(si2);
byte[] array4 = this.shifts1SC;
this.ShiftRow(array4);
}
long[] array5 = rk[0];
this.KeyAddition(array5);
}
// Token: 0x0600B892 RID: 47250 RVA: 0x00290DCC File Offset: 0x0028EFCC
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600B892")]
[Address(RVA = "0x1DF86D0", Offset = "0x1DF74D0", VA = "0x181DF86D0")]
static RijndaelEngine()
{
byte[] array = new byte[256];
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.8AC10B57091AFE182D9E4375C05E3FA037FFB3FA).FieldHandle);
RijndaelEngine.Logtable = array;
byte[] array2 = new byte[511];
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.A94DF043C88FB07ACCA327B6A0BB063F20637E71).FieldHandle);
RijndaelEngine.Alogtable = array2;
byte[] array3 = new byte[256];
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.8F22C9ECE1331718CBD268A9BBFD2F5E451441E3).FieldHandle);
RijndaelEngine.S = array3;
byte[] array4 = new byte[256];
RuntimeHelpers.InitializeArray(array4, fieldof(<PrivateImplementationDetails>.0C4110BC17D746F018F47B49E0EB0D6590F69939).FieldHandle);
RijndaelEngine.Si = array4;
byte[] array5 = new byte[30];
RuntimeHelpers.InitializeArray(array5, fieldof(<PrivateImplementationDetails>.B8DB0CB599EDD82A386D1A154FB3EB9235513DAD).FieldHandle);
RijndaelEngine.rcon = array5;
byte[][] array6 = new byte[5][];
byte[] array7 = new byte[4];
RuntimeHelpers.InitializeArray(array7, fieldof(<PrivateImplementationDetails>.8D3FE5CBAB9E7C2A376892E4DD9EF43B5F8A712A).FieldHandle);
if (array7 != 0)
{
}
array6[0] = array7;
byte[] array8 = new byte[4];
RuntimeHelpers.InitializeArray(array8, fieldof(<PrivateImplementationDetails>.8D3FE5CBAB9E7C2A376892E4DD9EF43B5F8A712A).FieldHandle);
if (array8 != 0)
{
}
array6[1] = array8;
byte[] array9 = new byte[4];
RuntimeHelpers.InitializeArray(array9, fieldof(<PrivateImplementationDetails>.8D3FE5CBAB9E7C2A376892E4DD9EF43B5F8A712A).FieldHandle);
if (array9 != 0)
{
}
array6[2] = array9;
byte[] array10 = new byte[4];
RuntimeHelpers.InitializeArray(array10, fieldof(<PrivateImplementationDetails>.18F46E3C2ECF4BAAE65361632BA7C1B4B9028827).FieldHandle);
if (array10 != 0)
{
}
array6[3] = array10;
byte[] array11 = new byte[4];
RuntimeHelpers.InitializeArray(array11, fieldof(<PrivateImplementationDetails>.D5B4B2417720C9E5EDBF83CB4440D9C8B76B5557).FieldHandle);
if (array11 != 0)
{
}
array6[4] = array11;
RijndaelEngine.shifts0 = array6;
byte[][] array12 = new byte[5][];
byte[] array13 = new byte[4];
RuntimeHelpers.InitializeArray(array13, fieldof(<PrivateImplementationDetails>.47A4F979AF156CDA62313B97411B4C6CE62B8B5A).FieldHandle);
if (array13 != 0)
{
}
array12[0] = array13;
byte[] array14 = new byte[4];
RuntimeHelpers.InitializeArray(array14, fieldof(<PrivateImplementationDetails>.3E8E493888B1BFB763D7553A6CC1978C17C198A3).FieldHandle);
if (array14 != 0)
{
}
array12[1] = array14;
byte[] array15 = new byte[4];
RuntimeHelpers.InitializeArray(array15, fieldof(<PrivateImplementationDetails>.3045D5B29BA900304981918A153806D371B02549).FieldHandle);
if (array15 != 0)
{
}
array12[2] = array15;
byte[] array16 = new byte[4];
RuntimeHelpers.InitializeArray(array16, fieldof(<PrivateImplementationDetails>.F3E701C38098B41D23FA88977423371B3C00C0D1).FieldHandle);
if (array16 != 0)
{
}
array12[3] = array16;
byte[] array17 = new byte[4];
RuntimeHelpers.InitializeArray(array17, fieldof(<PrivateImplementationDetails>.6D19ABD7FD0986E382242A9B88C8D8B5F52598DF).FieldHandle);
if (array17 != 0)
{
}
array12[4] = array17;
RijndaelEngine.shifts1 = array12;
}
// Token: 0x040074F0 RID: 29936
[Token(Token = "0x40074F0")]
private static readonly int MAXROUNDS;
// Token: 0x040074F1 RID: 29937
[Token(Token = "0x40074F1")]
private static readonly int MAXKC;
// Token: 0x040074F2 RID: 29938
[Token(Token = "0x40074F2")]
private static readonly byte[] Logtable;
// Token: 0x040074F3 RID: 29939
[Token(Token = "0x40074F3")]
private static readonly byte[] Alogtable;
// Token: 0x040074F4 RID: 29940
[Token(Token = "0x40074F4")]
private static readonly byte[] S;
// Token: 0x040074F5 RID: 29941
[Token(Token = "0x40074F5")]
private static readonly byte[] Si;
// Token: 0x040074F6 RID: 29942
[Token(Token = "0x40074F6")]
private static readonly byte[] rcon;
// Token: 0x040074F7 RID: 29943
[Token(Token = "0x40074F7")]
private static readonly byte[][] shifts0;
// Token: 0x040074F8 RID: 29944
[Token(Token = "0x40074F8")]
private static readonly byte[][] shifts1;
// Token: 0x040074F9 RID: 29945
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40074F9")]
private int BC;
// Token: 0x040074FA RID: 29946
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40074FA")]
private long BC_MASK;
// Token: 0x040074FB RID: 29947
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40074FB")]
private int ROUNDS;
// Token: 0x040074FC RID: 29948
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x40074FC")]
private int blockBits;
// Token: 0x040074FD RID: 29949
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x40074FD")]
private long[][] workingKey;
// Token: 0x040074FE RID: 29950
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40074FE")]
private long A0;
// Token: 0x040074FF RID: 29951
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x40074FF")]
private long A1;
// Token: 0x04007500 RID: 29952
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4007500")]
private long A2;
// Token: 0x04007501 RID: 29953
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4007501")]
private long A3;
// Token: 0x04007502 RID: 29954
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4007502")]
private bool forEncryption;
// Token: 0x04007503 RID: 29955
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4007503")]
private byte[] shifts0SC;
// Token: 0x04007504 RID: 29956
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4007504")]
private byte[] shifts1SC;
}
}