1540 lines
50 KiB
C#
1540 lines
50 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
|
|
{
|
|
// Token: 0x020016D4 RID: 5844
|
|
[Token(Token = "0x20016D4")]
|
|
[StructLayout(3)]
|
|
public class ThreefishEngine : IBlockCipher
|
|
{
|
|
// Token: 0x06009D3A RID: 40250 RVA: 0x0023D938 File Offset: 0x0023BB38
|
|
[Token(Token = "0x6009D3A")]
|
|
[Address(RVA = "0x2111FC0", Offset = "0x21109C0", VA = "0x182111FC0")]
|
|
static ThreefishEngine()
|
|
{
|
|
int[] array = new int[ThreefishEngine.MOD9.Length];
|
|
int num = 0;
|
|
ThreefishEngine.MOD3 = array;
|
|
int[] mod = ThreefishEngine.MOD9;
|
|
if (num < mod.Length)
|
|
{
|
|
int[] mod2 = ThreefishEngine.MOD17;
|
|
ulong num2;
|
|
num2 += num2;
|
|
long num3 = (long)(num2 * (ulong)((uint)17));
|
|
num = (int)((long)num - num3);
|
|
int[] mod3 = ThreefishEngine.MOD9;
|
|
ulong num4;
|
|
num4 += num4;
|
|
num = (int)((ulong)num - num4);
|
|
int[] mod4 = ThreefishEngine.MOD5;
|
|
ulong num5;
|
|
num5 += num5;
|
|
num = (int)((ulong)num - num5);
|
|
int[] mod5 = ThreefishEngine.MOD3;
|
|
num++;
|
|
int[] mod6 = ThreefishEngine.MOD9;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009D3B RID: 40251 RVA: 0x0023D9FC File Offset: 0x0023BBFC
|
|
[Token(Token = "0x6009D3B")]
|
|
[Address(RVA = "0x2112240", Offset = "0x2110C40", VA = "0x182112240")]
|
|
public ThreefishEngine(int blocksizeBits)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009D3B)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.ThreefishEngine::.ctor(System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_86:
|
|
stloc:ArgumentException(var_8_90, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Invalid blocksize - Threefish is defined with block size of 256, 512, or 1024 bits")))
|
|
}
|
|
|
|
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: 0x06009D3C RID: 40252 RVA: 0x0023DA9C File Offset: 0x0023BC9C
|
|
[Token(Token = "0x6009D3C")]
|
|
[Address(RVA = "0x2111100", Offset = "0x210FB00", VA = "0x182111100", Slot = "10")]
|
|
public virtual void Init(bool forEncryption, ICipherParameters parameters)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009D3C)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.ThreefishEngine::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_E2:
|
|
stloc:ArgumentException(var_18_F8, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string[exp:object]("Threefish key must be same size as block ("), ldloc:ArgumentException[exp:object](var_17), ldstr:string[exp:object](" bytes)"))))
|
|
stloc:ArgumentException(var_21_110, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string[exp:object]("Threefish tweak must be "), ldloc:int32[exp:object](var_20), ldstr:string[exp:object](" bytes"))))
|
|
}
|
|
|
|
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: 0x06009D3D RID: 40253 RVA: 0x0023DBBC File Offset: 0x0023BDBC
|
|
[Token(Token = "0x6009D3D")]
|
|
[Address(RVA = "0x21110B0", Offset = "0x210FAB0", VA = "0x1821110B0")]
|
|
internal void Init(bool forEncryption, ulong[] key, ulong[] tweak)
|
|
{
|
|
this.forEncryption = forEncryption;
|
|
if (key != 0)
|
|
{
|
|
this.SetKey(key);
|
|
}
|
|
if (tweak != 0)
|
|
{
|
|
this.SetTweak(tweak);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009D3E RID: 40254 RVA: 0x0023DBE8 File Offset: 0x0023BDE8
|
|
[Token(Token = "0x6009D3E")]
|
|
[Address(RVA = "0x2111A20", Offset = "0x2110420", VA = "0x182111A20")]
|
|
private void SetKey(ulong[] key)
|
|
{
|
|
int num;
|
|
do
|
|
{
|
|
num = this.blocksizeWords;
|
|
}
|
|
while (key.Length != num);
|
|
ulong[] array = this.kw;
|
|
int num2 = 0;
|
|
if (num > 0)
|
|
{
|
|
ulong num3 = key[num2];
|
|
array[0] = num3;
|
|
ulong[] array2 = this.kw;
|
|
num2++;
|
|
int num4 = this.blocksizeWords;
|
|
}
|
|
int num5 = 0;
|
|
array[0] = (ulong)2004413935125273122L;
|
|
int num6 = this.blocksizeWords;
|
|
ulong[] array3 = this.kw;
|
|
int num7 = num6 + 1;
|
|
Array.Copy(array3, num5, array3, num7, num6);
|
|
}
|
|
|
|
// Token: 0x06009D3F RID: 40255 RVA: 0x0023DC78 File Offset: 0x0023BE78
|
|
[Token(Token = "0x6009D3F")]
|
|
[Address(RVA = "0x2111BA0", Offset = "0x21105A0", VA = "0x182111BA0")]
|
|
private void SetTweak(ulong[] tweak)
|
|
{
|
|
while (tweak.Length != 2)
|
|
{
|
|
}
|
|
ulong[] array = this.t;
|
|
ulong num = tweak[0];
|
|
array[0] = num;
|
|
ulong[] array2 = this.t;
|
|
ulong num2 = tweak[1];
|
|
array2[1] = num2;
|
|
ulong[] array3 = this.t;
|
|
int length = array3.Length;
|
|
ulong num3 = array3[1];
|
|
array3[2] = num3;
|
|
ulong[] array4 = this.t;
|
|
int length2 = array4.Length;
|
|
ulong num4 = array4[0];
|
|
array4[3] = num4;
|
|
ulong[] array5 = this.t;
|
|
int length3 = array5.Length;
|
|
ulong num5 = array5[1];
|
|
array5[4] = num5;
|
|
}
|
|
|
|
// Token: 0x170018F7 RID: 6391
|
|
// (get) Token: 0x06009D40 RID: 40256 RVA: 0x0023DD34 File Offset: 0x0023BF34
|
|
[Token(Token = "0x170018F7")]
|
|
public virtual string AlgorithmName
|
|
{
|
|
[Token(Token = "0x6009D40")]
|
|
[Address(RVA = "0x2112380", Offset = "0x2110D80", VA = "0x182112380", Slot = "11")]
|
|
get
|
|
{
|
|
int num = this.blocksizeBytes;
|
|
return "Threefish-" + num;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170018F8 RID: 6392
|
|
// (get) Token: 0x06009D41 RID: 40257 RVA: 0x0023DD54 File Offset: 0x0023BF54
|
|
[Token(Token = "0x170018F8")]
|
|
public virtual bool IsPartialBlockOkay
|
|
{
|
|
[Token(Token = "0x6009D41")]
|
|
[Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "12")]
|
|
get
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009D42 RID: 40258 RVA: 0x0023DD64 File Offset: 0x0023BF64
|
|
[Token(Token = "0x6009D42")]
|
|
[Address(RVA = "0x3C1C50", Offset = "0x3C0650", VA = "0x1803C1C50", Slot = "13")]
|
|
public virtual int GetBlockSize()
|
|
{
|
|
return this.blocksizeBytes;
|
|
}
|
|
|
|
// Token: 0x06009D43 RID: 40259 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x6009D43")]
|
|
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "14")]
|
|
public virtual void Reset()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06009D44 RID: 40260 RVA: 0x0023DD78 File Offset: 0x0023BF78
|
|
[Token(Token = "0x6009D44")]
|
|
[Address(RVA = "0x21116F0", Offset = "0x21100F0", VA = "0x1821116F0", Slot = "15")]
|
|
public virtual int ProcessBlock(byte[] inBytes, int inOff, byte[] outBytes, int outOff)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009D44)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.ThreefishEngine::ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_A9:
|
|
stloc:DataLengthException(var_10_B3, newobj:DataLengthException(DataLengthException::.ctor, ldstr:string("Input buffer too short")))
|
|
}
|
|
|
|
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: 0x06009D45 RID: 40261 RVA: 0x0023DE3C File Offset: 0x0023C03C
|
|
[Token(Token = "0x6009D45")]
|
|
[Address(RVA = "0x2111560", Offset = "0x210FF60", VA = "0x182111560")]
|
|
internal int ProcessBlock(ulong[] inWords, ulong[] outWords)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009D45)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.ThreefishEngine::ProcessBlock(System.UInt64[],System.UInt64[])
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_5D:
|
|
stloc:DataLengthException(var_4_67, newobj:DataLengthException(DataLengthException::.ctor, ldstr:string("Output buffer too short")))
|
|
}
|
|
|
|
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: 0x06009D46 RID: 40262 RVA: 0x0023DEB4 File Offset: 0x0023C0B4
|
|
[Token(Token = "0x6009D46")]
|
|
[Address(RVA = "0x2110EB0", Offset = "0x210F8B0", VA = "0x182110EB0")]
|
|
internal static ulong BytesToWord(byte[] bytes, int off)
|
|
{
|
|
int length = bytes.Length;
|
|
int num = off + 1;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009D47 RID: 40263 RVA: 0x0023DED4 File Offset: 0x0023C0D4
|
|
[Token(Token = "0x6009D47")]
|
|
[Address(RVA = "0x2111DE0", Offset = "0x21107E0", VA = "0x182111DE0")]
|
|
internal static void WordToBytes(ulong word, byte[] bytes, int off)
|
|
{
|
|
int num = bytes.Length;
|
|
int num2 = off + 1;
|
|
num = off + 6;
|
|
}
|
|
|
|
// Token: 0x06009D48 RID: 40264 RVA: 0x0023DEF8 File Offset: 0x0023C0F8
|
|
[Token(Token = "0x6009D48")]
|
|
[Address(RVA = "0x2111A00", Offset = "0x2110400", VA = "0x182111A00")]
|
|
private static ulong RotlXor(ulong x, int n, ulong xor)
|
|
{
|
|
return x;
|
|
}
|
|
|
|
// Token: 0x06009D49 RID: 40265 RVA: 0x0023DF08 File Offset: 0x0023C108
|
|
[Token(Token = "0x6009D49")]
|
|
[Address(RVA = "0x2111FA0", Offset = "0x21109A0", VA = "0x182111FA0")]
|
|
private static ulong XorRotr(ulong x, int n, ulong xor)
|
|
{
|
|
return x;
|
|
}
|
|
|
|
// Token: 0x040066FE RID: 26366
|
|
[Token(Token = "0x40066FE")]
|
|
public const int BLOCKSIZE_256 = 256;
|
|
|
|
// Token: 0x040066FF RID: 26367
|
|
[Token(Token = "0x40066FF")]
|
|
public const int BLOCKSIZE_512 = 512;
|
|
|
|
// Token: 0x04006700 RID: 26368
|
|
[Token(Token = "0x4006700")]
|
|
public const int BLOCKSIZE_1024 = 1024;
|
|
|
|
// Token: 0x04006701 RID: 26369
|
|
[Token(Token = "0x4006701")]
|
|
private const int TWEAK_SIZE_BYTES = 16;
|
|
|
|
// Token: 0x04006702 RID: 26370
|
|
[Token(Token = "0x4006702")]
|
|
private const int TWEAK_SIZE_WORDS = 2;
|
|
|
|
// Token: 0x04006703 RID: 26371
|
|
[Token(Token = "0x4006703")]
|
|
private const int ROUNDS_256 = 72;
|
|
|
|
// Token: 0x04006704 RID: 26372
|
|
[Token(Token = "0x4006704")]
|
|
private const int ROUNDS_512 = 72;
|
|
|
|
// Token: 0x04006705 RID: 26373
|
|
[Token(Token = "0x4006705")]
|
|
private const int ROUNDS_1024 = 80;
|
|
|
|
// Token: 0x04006706 RID: 26374
|
|
[Token(Token = "0x4006706")]
|
|
private const int MAX_ROUNDS = 80;
|
|
|
|
// Token: 0x04006707 RID: 26375
|
|
[Token(Token = "0x4006707")]
|
|
private const ulong C_240 = 2004413935125273122UL;
|
|
|
|
// Token: 0x04006708 RID: 26376
|
|
[Token(Token = "0x4006708")]
|
|
private static readonly int[] MOD9 = new int[80];
|
|
|
|
// Token: 0x04006709 RID: 26377
|
|
[Token(Token = "0x4006709")]
|
|
private static readonly int[] MOD17 = new int[ThreefishEngine.MOD9.Length];
|
|
|
|
// Token: 0x0400670A RID: 26378
|
|
[Token(Token = "0x400670A")]
|
|
private static readonly int[] MOD5 = new int[ThreefishEngine.MOD9.Length];
|
|
|
|
// Token: 0x0400670B RID: 26379
|
|
[Token(Token = "0x400670B")]
|
|
private static readonly int[] MOD3;
|
|
|
|
// Token: 0x0400670C RID: 26380
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x400670C")]
|
|
private readonly int blocksizeBytes;
|
|
|
|
// Token: 0x0400670D RID: 26381
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x14")]
|
|
[Token(Token = "0x400670D")]
|
|
private readonly int blocksizeWords;
|
|
|
|
// Token: 0x0400670E RID: 26382
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x400670E")]
|
|
private readonly ulong[] currentBlock;
|
|
|
|
// Token: 0x0400670F RID: 26383
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x400670F")]
|
|
private readonly ulong[] t;
|
|
|
|
// Token: 0x04006710 RID: 26384
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x4006710")]
|
|
private readonly ulong[] kw;
|
|
|
|
// Token: 0x04006711 RID: 26385
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4006711")]
|
|
private readonly ThreefishEngine.ThreefishCipher cipher;
|
|
|
|
// Token: 0x04006712 RID: 26386
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x4006712")]
|
|
private bool forEncryption;
|
|
|
|
// Token: 0x020016D5 RID: 5845
|
|
[Token(Token = "0x20016D5")]
|
|
private abstract class ThreefishCipher
|
|
{
|
|
// Token: 0x06009D4A RID: 40266 RVA: 0x0023DF18 File Offset: 0x0023C118
|
|
[Token(Token = "0x6009D4A")]
|
|
[Address(RVA = "0x641430", Offset = "0x63FE30", VA = "0x180641430")]
|
|
protected ThreefishCipher(ulong[] kw, ulong[] t)
|
|
{
|
|
this.kw = kw;
|
|
this.t = t;
|
|
}
|
|
|
|
// Token: 0x06009D4B RID: 40267
|
|
[Token(Token = "0x6009D4B")]
|
|
[Address(Slot = "4")]
|
|
internal abstract void EncryptBlock(ulong[] block, ulong[] outWords);
|
|
|
|
// Token: 0x06009D4C RID: 40268
|
|
[Token(Token = "0x6009D4C")]
|
|
[Address(Slot = "5")]
|
|
internal abstract void DecryptBlock(ulong[] block, ulong[] outWords);
|
|
|
|
// Token: 0x04006713 RID: 26387
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4006713")]
|
|
protected readonly ulong[] t;
|
|
|
|
// Token: 0x04006714 RID: 26388
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4006714")]
|
|
protected readonly ulong[] kw;
|
|
}
|
|
|
|
// Token: 0x020016D6 RID: 5846
|
|
[Token(Token = "0x20016D6")]
|
|
private sealed class Threefish256Cipher : ThreefishEngine.ThreefishCipher
|
|
{
|
|
// Token: 0x06009D4D RID: 40269 RVA: 0x0023DF3C File Offset: 0x0023C13C
|
|
[Token(Token = "0x6009D4D")]
|
|
[Address(RVA = "0x641430", Offset = "0x63FE30", VA = "0x180641430")]
|
|
public Threefish256Cipher(ulong[] kw, ulong[] t)
|
|
{
|
|
this.kw = kw;
|
|
this.t = t;
|
|
}
|
|
|
|
// Token: 0x06009D4E RID: 40270 RVA: 0x0023DF60 File Offset: 0x0023C160
|
|
[Token(Token = "0x6009D4E")]
|
|
[Address(RVA = "0x210F2E0", Offset = "0x210DCE0", VA = "0x18210F2E0", Slot = "4")]
|
|
internal override void EncryptBlock(ulong[] block, ulong[] outWords)
|
|
{
|
|
ulong[] kw;
|
|
ulong[] t;
|
|
int[] mod;
|
|
int[] mod2;
|
|
do
|
|
{
|
|
kw = this.kw;
|
|
t = this.t;
|
|
mod = ThreefishEngine.MOD5;
|
|
mod2 = ThreefishEngine.MOD3;
|
|
}
|
|
while (kw.Length != 9 || t.Length != 5);
|
|
int length = block.Length;
|
|
ulong num = block[1];
|
|
ulong num2 = block[2];
|
|
ulong num3 = t[0];
|
|
ulong num4 = block[3];
|
|
num += num3;
|
|
ulong num5 = t[1];
|
|
num2 += num5;
|
|
uint num7;
|
|
int num6 = mod[(int)num7];
|
|
int num8 = mod2[(int)num7];
|
|
int length2 = kw.Length;
|
|
num8 = (int)((ulong)num8 + num4);
|
|
num4 = num;
|
|
num = num4;
|
|
int num9 = num6 + 1;
|
|
int length3 = t.Length;
|
|
ulong num10 = kw[num9];
|
|
num4 += num10;
|
|
int num11 = num8 + 1;
|
|
num10 = num;
|
|
num10 += (ulong)num7;
|
|
ulong num12;
|
|
num10 += num12;
|
|
ulong num13 = kw[num6];
|
|
num13 += num4;
|
|
ulong num14 = t[num11];
|
|
num11 = (int)((ulong)num11 + num14);
|
|
num14 = num10;
|
|
num11 = (int)((ulong)num11 + num10);
|
|
num11 = (int)((ulong)num11 + num4);
|
|
num13 += num14;
|
|
num = num14;
|
|
num13 = num;
|
|
int num15 = num6 + 1;
|
|
num10 += num;
|
|
int num16 = num8 + 1;
|
|
num8 += 2;
|
|
ulong num17 = t[num8];
|
|
num6 += 4;
|
|
num17 += (ulong)num11;
|
|
num13 += (ulong)1L;
|
|
num7 = (uint)((ulong)num7 + num13);
|
|
num7 += (uint)2;
|
|
}
|
|
|
|
// Token: 0x06009D4F RID: 40271 RVA: 0x0023E0D8 File Offset: 0x0023C2D8
|
|
[Token(Token = "0x6009D4F")]
|
|
[Address(RVA = "0x210EC20", Offset = "0x210D620", VA = "0x18210EC20", Slot = "5")]
|
|
internal override void DecryptBlock(ulong[] block, ulong[] state)
|
|
{
|
|
ulong[] kw;
|
|
ulong[] t;
|
|
int[] mod;
|
|
int[] mod2;
|
|
int length;
|
|
do
|
|
{
|
|
kw = this.kw;
|
|
t = this.t;
|
|
mod = ThreefishEngine.MOD5;
|
|
mod2 = ThreefishEngine.MOD3;
|
|
length = kw.Length;
|
|
}
|
|
while (length != 9 || t.Length != 5);
|
|
int length2 = block.Length;
|
|
ulong num = block[0];
|
|
ulong num2 = block[1];
|
|
ulong num3 = block[2];
|
|
ulong num4 = block[3];
|
|
int num5 = mod[length2];
|
|
int num6 = mod2[length2];
|
|
num5++;
|
|
int num7 = num6 + 1;
|
|
ulong num8 = t[num7];
|
|
num2 -= num8;
|
|
ulong num9 = t[(int)num8];
|
|
num3 -= num9;
|
|
num4 -= (ulong)length;
|
|
num3 -= num3;
|
|
num -= num4;
|
|
num3 = num4;
|
|
num3 -= num3;
|
|
num -= num3;
|
|
num4 = num3;
|
|
num -= num4;
|
|
num3 -= num3;
|
|
int length3 = kw.Length;
|
|
int num10 = num5 + 1;
|
|
int length4 = t.Length;
|
|
int num11 = num6 + 1;
|
|
ulong num12 = t[num11];
|
|
num12 += num4;
|
|
num3 -= num12;
|
|
ulong num13 = kw[num5];
|
|
num13 += num3;
|
|
num -= num13;
|
|
num4 -= num13;
|
|
num13 = num3;
|
|
num -= num4;
|
|
num3 -= num13;
|
|
num3 = num13;
|
|
num13 = num4;
|
|
num -= num3;
|
|
num3 -= num13;
|
|
num4 = num13;
|
|
num13 = num3;
|
|
num -= num4;
|
|
num3 = num13;
|
|
num3 -= num3;
|
|
num3 -= num4;
|
|
num -= num3;
|
|
ulong num14 = kw[1];
|
|
ulong num15 = t[0];
|
|
ulong num16 = kw[2];
|
|
ulong num17 = t[1];
|
|
ulong num18 = kw[3];
|
|
num3 -= num15;
|
|
num3 -= num14;
|
|
num3 -= num17;
|
|
num3 -= num16;
|
|
num4 -= num18;
|
|
}
|
|
|
|
// Token: 0x04006715 RID: 26389
|
|
[Token(Token = "0x4006715")]
|
|
private const int ROTATION_0_0 = 14;
|
|
|
|
// Token: 0x04006716 RID: 26390
|
|
[Token(Token = "0x4006716")]
|
|
private const int ROTATION_0_1 = 16;
|
|
|
|
// Token: 0x04006717 RID: 26391
|
|
[Token(Token = "0x4006717")]
|
|
private const int ROTATION_1_0 = 52;
|
|
|
|
// Token: 0x04006718 RID: 26392
|
|
[Token(Token = "0x4006718")]
|
|
private const int ROTATION_1_1 = 57;
|
|
|
|
// Token: 0x04006719 RID: 26393
|
|
[Token(Token = "0x4006719")]
|
|
private const int ROTATION_2_0 = 23;
|
|
|
|
// Token: 0x0400671A RID: 26394
|
|
[Token(Token = "0x400671A")]
|
|
private const int ROTATION_2_1 = 40;
|
|
|
|
// Token: 0x0400671B RID: 26395
|
|
[Token(Token = "0x400671B")]
|
|
private const int ROTATION_3_0 = 5;
|
|
|
|
// Token: 0x0400671C RID: 26396
|
|
[Token(Token = "0x400671C")]
|
|
private const int ROTATION_3_1 = 37;
|
|
|
|
// Token: 0x0400671D RID: 26397
|
|
[Token(Token = "0x400671D")]
|
|
private const int ROTATION_4_0 = 25;
|
|
|
|
// Token: 0x0400671E RID: 26398
|
|
[Token(Token = "0x400671E")]
|
|
private const int ROTATION_4_1 = 33;
|
|
|
|
// Token: 0x0400671F RID: 26399
|
|
[Token(Token = "0x400671F")]
|
|
private const int ROTATION_5_0 = 46;
|
|
|
|
// Token: 0x04006720 RID: 26400
|
|
[Token(Token = "0x4006720")]
|
|
private const int ROTATION_5_1 = 12;
|
|
|
|
// Token: 0x04006721 RID: 26401
|
|
[Token(Token = "0x4006721")]
|
|
private const int ROTATION_6_0 = 58;
|
|
|
|
// Token: 0x04006722 RID: 26402
|
|
[Token(Token = "0x4006722")]
|
|
private const int ROTATION_6_1 = 22;
|
|
|
|
// Token: 0x04006723 RID: 26403
|
|
[Token(Token = "0x4006723")]
|
|
private const int ROTATION_7_0 = 32;
|
|
|
|
// Token: 0x04006724 RID: 26404
|
|
[Token(Token = "0x4006724")]
|
|
private const int ROTATION_7_1 = 32;
|
|
}
|
|
|
|
// Token: 0x020016D7 RID: 5847
|
|
[Token(Token = "0x20016D7")]
|
|
private sealed class Threefish512Cipher : ThreefishEngine.ThreefishCipher
|
|
{
|
|
// Token: 0x06009D50 RID: 40272 RVA: 0x0023E2B8 File Offset: 0x0023C4B8
|
|
[Token(Token = "0x6009D50")]
|
|
[Address(RVA = "0x641430", Offset = "0x63FE30", VA = "0x180641430")]
|
|
internal Threefish512Cipher(ulong[] kw, ulong[] t)
|
|
{
|
|
this.kw = kw;
|
|
this.t = t;
|
|
}
|
|
|
|
// Token: 0x06009D51 RID: 40273 RVA: 0x0023E2DC File Offset: 0x0023C4DC
|
|
[Token(Token = "0x6009D51")]
|
|
[Address(RVA = "0x2110480", Offset = "0x210EE80", VA = "0x182110480", Slot = "4")]
|
|
internal override void EncryptBlock(ulong[] block, ulong[] outWords)
|
|
{
|
|
ulong[] t;
|
|
ulong[] kw;
|
|
int[] mod;
|
|
int[] mod2;
|
|
do
|
|
{
|
|
t = this.t;
|
|
kw = this.kw;
|
|
mod = ThreefishEngine.MOD9;
|
|
mod2 = ThreefishEngine.MOD3;
|
|
}
|
|
while (kw.Length != 17 || t.Length != 5);
|
|
int length = block.Length;
|
|
ulong num = block[1];
|
|
ulong num2 = block[2];
|
|
ulong num3 = block[3];
|
|
ulong num4 = block[4];
|
|
ulong num5 = block[5];
|
|
ulong num6 = block[6];
|
|
ulong num7 = t[0];
|
|
ulong num8 = block[7];
|
|
num5 += num7;
|
|
ulong num9 = t[1];
|
|
num6 += num9;
|
|
uint num11;
|
|
int num10 = mod[(int)num11];
|
|
int num12 = mod2[(int)num11];
|
|
num2 += num3;
|
|
num = num3;
|
|
num4 = num;
|
|
num3 = num8;
|
|
num8 = num;
|
|
num6 = num8;
|
|
num = num4;
|
|
num5 = num3;
|
|
int length2 = kw.Length;
|
|
int num13 = num10 + 1;
|
|
ulong num14 = kw[num13];
|
|
num += num14;
|
|
ulong num15 = kw[(int)num14];
|
|
num4 = num6;
|
|
num4 += num15;
|
|
int length3 = t.Length;
|
|
ulong num16 = kw[mod];
|
|
num5 += num16;
|
|
int num17 = num12 + 1;
|
|
ulong num18 = kw[length3];
|
|
num16 = num5;
|
|
num6 = num4;
|
|
num3 += num4;
|
|
ulong num19 = kw[num10];
|
|
num16 += (ulong)num11;
|
|
num16 += num18;
|
|
ulong num20 = t[num17];
|
|
num19 += num;
|
|
num5 = num;
|
|
num4 = num5;
|
|
num += num5;
|
|
num5 += num20;
|
|
num20 = num16;
|
|
num5 += num16;
|
|
num16 = num5;
|
|
num += num20;
|
|
num5 += num4;
|
|
num20 = num6;
|
|
num6 = num20;
|
|
num5 = num20;
|
|
num3 = num5;
|
|
num += num5;
|
|
num4 += num6;
|
|
int num21 = num10 + 1;
|
|
num14 += num;
|
|
num15 += num5;
|
|
num16 += num4;
|
|
int length4 = t.Length;
|
|
num5 = num3;
|
|
num12 += 2;
|
|
num10 += 8;
|
|
uint num22 = num11 + 1U;
|
|
num11 += (uint)2;
|
|
num22 = (uint)((ulong)num22 + num5);
|
|
}
|
|
|
|
// Token: 0x06009D52 RID: 40274 RVA: 0x0023E4F4 File Offset: 0x0023C6F4
|
|
[Token(Token = "0x6009D52")]
|
|
[Address(RVA = "0x210F910", Offset = "0x210E310", VA = "0x18210F910", Slot = "5")]
|
|
internal override void DecryptBlock(ulong[] block, ulong[] state)
|
|
{
|
|
ulong[] t;
|
|
ulong[] kw;
|
|
int[] mod;
|
|
int[] mod2;
|
|
int length;
|
|
do
|
|
{
|
|
t = this.t;
|
|
kw = this.kw;
|
|
mod = ThreefishEngine.MOD9;
|
|
mod2 = ThreefishEngine.MOD3;
|
|
length = kw.Length;
|
|
}
|
|
while (length != 17 || t.Length != 5);
|
|
int i = block.Length;
|
|
ulong num = block[0];
|
|
ulong num2 = block[1];
|
|
ulong num3 = block[2];
|
|
ulong num4 = block[3];
|
|
ulong num5 = block[4];
|
|
ulong num6 = block[5];
|
|
ulong num7 = block[6];
|
|
ulong num8 = block[7];
|
|
i = length;
|
|
int num9 = mod[i];
|
|
int num10 = mod2[i];
|
|
int num11 = num9 + 1;
|
|
int num12 = num10 + 1;
|
|
ulong num13 = t[num12];
|
|
num6 -= num13;
|
|
ulong num14;
|
|
num14 -= (ulong)i;
|
|
num8 += num14;
|
|
ulong num15 = t[(int)num13];
|
|
num7 -= num15;
|
|
num15 = num5;
|
|
num7 -= num2;
|
|
num2 = num8;
|
|
num5 -= num15;
|
|
num3 -= num6;
|
|
num -= num2;
|
|
num15 = num5;
|
|
num2 = num15;
|
|
num5 -= num2;
|
|
num15 = num7;
|
|
num -= num6;
|
|
num8 = num15;
|
|
num15 = num2;
|
|
num7 -= num8;
|
|
num3 -= num15;
|
|
num15 = num3;
|
|
num6 = num15;
|
|
num2 = num15;
|
|
num3 -= num2;
|
|
num5 -= num6;
|
|
num15 = num8;
|
|
num7 -= num15;
|
|
num -= num15;
|
|
num6 = num2;
|
|
int length2 = kw.Length;
|
|
num2 = num15;
|
|
num15 = num6;
|
|
ulong num16 = kw[num9];
|
|
int num17 = num9 + 1;
|
|
num16 += num6;
|
|
num -= num16;
|
|
ulong num18 = kw[(int)num16];
|
|
num18 += num2;
|
|
num3 -= num18;
|
|
ulong num19 = kw[(int)num18];
|
|
num19 += num2;
|
|
num5 -= num19;
|
|
int length3 = t.Length;
|
|
num10++;
|
|
ulong num20 = t[num10];
|
|
num7 -= num20;
|
|
num2 = num6;
|
|
num7 -= num2;
|
|
num -= num15;
|
|
num6 = num2;
|
|
num3 -= num6;
|
|
num2 = num6;
|
|
num5 -= num2;
|
|
num18 = num5;
|
|
num2 = num18;
|
|
num -= num2;
|
|
num5 -= num2;
|
|
num2 = num15;
|
|
num3 -= num2;
|
|
num18 = num3;
|
|
num6 = num2;
|
|
num2 = num18;
|
|
num7 -= num2;
|
|
num3 -= num2;
|
|
num5 -= num6;
|
|
num18 = num7;
|
|
num2 = num18;
|
|
num18 = num2;
|
|
num7 -= num2;
|
|
num -= num18;
|
|
num15 = num6;
|
|
num2 = num18;
|
|
num7 -= num15;
|
|
num -= num2;
|
|
num3 -= num2;
|
|
num5 -= num2;
|
|
while (i >= 1)
|
|
{
|
|
}
|
|
ulong num21 = kw[1];
|
|
ulong num22 = kw[2];
|
|
ulong num23 = kw[3];
|
|
ulong num24 = kw[4];
|
|
ulong num25 = kw[5];
|
|
int length4 = t.Length;
|
|
ulong num26 = t[0];
|
|
ulong num27 = kw[6];
|
|
ulong num28 = t[1];
|
|
ulong num29 = kw[7];
|
|
num5 -= num24;
|
|
num2 -= num26;
|
|
num7 -= num28;
|
|
num7 -= num27;
|
|
num15 -= num29;
|
|
}
|
|
|
|
// Token: 0x04006725 RID: 26405
|
|
[Token(Token = "0x4006725")]
|
|
private const int ROTATION_0_0 = 46;
|
|
|
|
// Token: 0x04006726 RID: 26406
|
|
[Token(Token = "0x4006726")]
|
|
private const int ROTATION_0_1 = 36;
|
|
|
|
// Token: 0x04006727 RID: 26407
|
|
[Token(Token = "0x4006727")]
|
|
private const int ROTATION_0_2 = 19;
|
|
|
|
// Token: 0x04006728 RID: 26408
|
|
[Token(Token = "0x4006728")]
|
|
private const int ROTATION_0_3 = 37;
|
|
|
|
// Token: 0x04006729 RID: 26409
|
|
[Token(Token = "0x4006729")]
|
|
private const int ROTATION_1_0 = 33;
|
|
|
|
// Token: 0x0400672A RID: 26410
|
|
[Token(Token = "0x400672A")]
|
|
private const int ROTATION_1_1 = 27;
|
|
|
|
// Token: 0x0400672B RID: 26411
|
|
[Token(Token = "0x400672B")]
|
|
private const int ROTATION_1_2 = 14;
|
|
|
|
// Token: 0x0400672C RID: 26412
|
|
[Token(Token = "0x400672C")]
|
|
private const int ROTATION_1_3 = 42;
|
|
|
|
// Token: 0x0400672D RID: 26413
|
|
[Token(Token = "0x400672D")]
|
|
private const int ROTATION_2_0 = 17;
|
|
|
|
// Token: 0x0400672E RID: 26414
|
|
[Token(Token = "0x400672E")]
|
|
private const int ROTATION_2_1 = 49;
|
|
|
|
// Token: 0x0400672F RID: 26415
|
|
[Token(Token = "0x400672F")]
|
|
private const int ROTATION_2_2 = 36;
|
|
|
|
// Token: 0x04006730 RID: 26416
|
|
[Token(Token = "0x4006730")]
|
|
private const int ROTATION_2_3 = 39;
|
|
|
|
// Token: 0x04006731 RID: 26417
|
|
[Token(Token = "0x4006731")]
|
|
private const int ROTATION_3_0 = 44;
|
|
|
|
// Token: 0x04006732 RID: 26418
|
|
[Token(Token = "0x4006732")]
|
|
private const int ROTATION_3_1 = 9;
|
|
|
|
// Token: 0x04006733 RID: 26419
|
|
[Token(Token = "0x4006733")]
|
|
private const int ROTATION_3_2 = 54;
|
|
|
|
// Token: 0x04006734 RID: 26420
|
|
[Token(Token = "0x4006734")]
|
|
private const int ROTATION_3_3 = 56;
|
|
|
|
// Token: 0x04006735 RID: 26421
|
|
[Token(Token = "0x4006735")]
|
|
private const int ROTATION_4_0 = 39;
|
|
|
|
// Token: 0x04006736 RID: 26422
|
|
[Token(Token = "0x4006736")]
|
|
private const int ROTATION_4_1 = 30;
|
|
|
|
// Token: 0x04006737 RID: 26423
|
|
[Token(Token = "0x4006737")]
|
|
private const int ROTATION_4_2 = 34;
|
|
|
|
// Token: 0x04006738 RID: 26424
|
|
[Token(Token = "0x4006738")]
|
|
private const int ROTATION_4_3 = 24;
|
|
|
|
// Token: 0x04006739 RID: 26425
|
|
[Token(Token = "0x4006739")]
|
|
private const int ROTATION_5_0 = 13;
|
|
|
|
// Token: 0x0400673A RID: 26426
|
|
[Token(Token = "0x400673A")]
|
|
private const int ROTATION_5_1 = 50;
|
|
|
|
// Token: 0x0400673B RID: 26427
|
|
[Token(Token = "0x400673B")]
|
|
private const int ROTATION_5_2 = 10;
|
|
|
|
// Token: 0x0400673C RID: 26428
|
|
[Token(Token = "0x400673C")]
|
|
private const int ROTATION_5_3 = 17;
|
|
|
|
// Token: 0x0400673D RID: 26429
|
|
[Token(Token = "0x400673D")]
|
|
private const int ROTATION_6_0 = 25;
|
|
|
|
// Token: 0x0400673E RID: 26430
|
|
[Token(Token = "0x400673E")]
|
|
private const int ROTATION_6_1 = 29;
|
|
|
|
// Token: 0x0400673F RID: 26431
|
|
[Token(Token = "0x400673F")]
|
|
private const int ROTATION_6_2 = 39;
|
|
|
|
// Token: 0x04006740 RID: 26432
|
|
[Token(Token = "0x4006740")]
|
|
private const int ROTATION_6_3 = 43;
|
|
|
|
// Token: 0x04006741 RID: 26433
|
|
[Token(Token = "0x4006741")]
|
|
private const int ROTATION_7_0 = 8;
|
|
|
|
// Token: 0x04006742 RID: 26434
|
|
[Token(Token = "0x4006742")]
|
|
private const int ROTATION_7_1 = 35;
|
|
|
|
// Token: 0x04006743 RID: 26435
|
|
[Token(Token = "0x4006743")]
|
|
private const int ROTATION_7_2 = 56;
|
|
|
|
// Token: 0x04006744 RID: 26436
|
|
[Token(Token = "0x4006744")]
|
|
private const int ROTATION_7_3 = 22;
|
|
}
|
|
|
|
// Token: 0x020016D8 RID: 5848
|
|
[Token(Token = "0x20016D8")]
|
|
private sealed class Threefish1024Cipher : ThreefishEngine.ThreefishCipher
|
|
{
|
|
// Token: 0x06009D53 RID: 40275 RVA: 0x0023E818 File Offset: 0x0023CA18
|
|
[Token(Token = "0x6009D53")]
|
|
[Address(RVA = "0x641430", Offset = "0x63FE30", VA = "0x180641430")]
|
|
public Threefish1024Cipher(ulong[] kw, ulong[] t)
|
|
{
|
|
this.kw = kw;
|
|
this.t = t;
|
|
}
|
|
|
|
// Token: 0x06009D54 RID: 40276 RVA: 0x0023E83C File Offset: 0x0023CA3C
|
|
[Token(Token = "0x6009D54")]
|
|
[Address(RVA = "0x210D770", Offset = "0x210C170", VA = "0x18210D770", Slot = "4")]
|
|
internal override void EncryptBlock(ulong[] block, ulong[] outWords)
|
|
{
|
|
ulong[] array;
|
|
ulong[] array2;
|
|
int[] array3;
|
|
int[] array4;
|
|
do
|
|
{
|
|
array = this.kw;
|
|
array2 = this.t;
|
|
array3 = ThreefishEngine.MOD17;
|
|
array4 = ThreefishEngine.MOD3;
|
|
}
|
|
while (array.Length != 33 || array2.Length != 5);
|
|
ulong num = array2[0];
|
|
ulong num2 = array2[1];
|
|
array4 += num2;
|
|
uint num4;
|
|
int num3 = array3[(int)num4];
|
|
int num5 = array4[(int)num4];
|
|
array += typeof(ThreefishEngine).TypeHandle;
|
|
array4 += this;
|
|
array += this;
|
|
array4 += array4;
|
|
array3 += array4;
|
|
int length = array.Length;
|
|
int num6 = num3 + 1;
|
|
int length2 = array2.Length;
|
|
int num7 = num5 + 1;
|
|
num3 += 15;
|
|
array3 += num4;
|
|
ulong num8 = array[num3];
|
|
num8 += this;
|
|
ulong num9 = array[num6];
|
|
array3 += num9;
|
|
array3 += this;
|
|
ulong num10 = array[array4];
|
|
array4 += num10;
|
|
array4 += this;
|
|
ulong num11 = array[this];
|
|
array4 += num11;
|
|
array4 += array4;
|
|
ulong num12 = array[this];
|
|
ulong num13 = array[this];
|
|
array += num12;
|
|
num13 += array4;
|
|
ulong num14 = array[this];
|
|
array2 += array3;
|
|
array += this;
|
|
num13 += this;
|
|
array4 += array4;
|
|
ulong num15 = array[num6];
|
|
ulong num16 = array[array4];
|
|
num16 += array3;
|
|
ulong num17 = array[array4];
|
|
num17 += array4;
|
|
ulong num18 = array[this];
|
|
ulong num19 = array[this];
|
|
num19 += num8;
|
|
ulong num20 = array[this];
|
|
ulong num21 = array[this];
|
|
num21 += this;
|
|
num5++;
|
|
int length3 = array2.Length;
|
|
num5 += 2;
|
|
ulong num22 = array2[num5];
|
|
num4 += (uint)1;
|
|
num4 += array3;
|
|
num4 += (uint)2;
|
|
}
|
|
|
|
// Token: 0x06009D55 RID: 40277 RVA: 0x0023E9F8 File Offset: 0x0023CBF8
|
|
[Token(Token = "0x6009D55")]
|
|
[Address(RVA = "0x210C020", Offset = "0x210AA20", VA = "0x18210C020", Slot = "5")]
|
|
internal override void DecryptBlock(ulong[] block, ulong[] state)
|
|
{
|
|
ulong[] t;
|
|
ulong[] kw;
|
|
int[] mod;
|
|
int[] mod2;
|
|
do
|
|
{
|
|
t = this.t;
|
|
kw = this.kw;
|
|
mod = ThreefishEngine.MOD17;
|
|
mod2 = ThreefishEngine.MOD3;
|
|
}
|
|
while (kw.Length != 33 || t.Length != 5);
|
|
int length = block.Length;
|
|
ulong num = block[1];
|
|
ulong num2 = block[2];
|
|
ulong num3 = block[3];
|
|
ulong num4 = block[5];
|
|
ulong num5 = block[6];
|
|
ulong num6 = block[7];
|
|
ulong num7 = block[8];
|
|
ulong num8 = block[9];
|
|
ulong num9 = block[10];
|
|
ulong num10 = block[11];
|
|
ulong num11 = block[12];
|
|
ulong num12 = block[13];
|
|
ulong num13 = block[14];
|
|
ulong num14 = block[15];
|
|
uint num16;
|
|
int num15 = mod[(int)num16];
|
|
int num17 = mod2[(int)num16];
|
|
int num18 = num15 + 1;
|
|
num17++;
|
|
ulong num19 = t[num17];
|
|
num17 += 2;
|
|
ulong num20 = t[num17];
|
|
num13 -= num20;
|
|
num14 -= (ulong)num16;
|
|
num2 -= num10;
|
|
num13 = num12;
|
|
num5 -= num13;
|
|
num14 = num8;
|
|
num8 = num7;
|
|
num13 -= num8;
|
|
num5 = num8;
|
|
num8 = num9;
|
|
num7 -= num5;
|
|
num7 = num8;
|
|
num8 = num11;
|
|
num9 -= num7;
|
|
num13 = num8;
|
|
num11 -= num13;
|
|
num11 = num13;
|
|
num2 -= num5;
|
|
num5 -= num5;
|
|
num8 = num14;
|
|
num11 -= num8;
|
|
num5 = num10;
|
|
num11 = num13;
|
|
num7 = num11;
|
|
num7 -= num5;
|
|
num13 -= num7;
|
|
num13 = num9;
|
|
num9 -= num13;
|
|
num7 = num13;
|
|
num10 = num7;
|
|
num2 -= num10;
|
|
num5 -= num5;
|
|
num14 = num8;
|
|
num9 = num11;
|
|
num5 = num9;
|
|
num11 -= num5;
|
|
num9 = num13;
|
|
num7 = num9;
|
|
num13 -= num7;
|
|
num9 = num7;
|
|
num13 = num9;
|
|
num7 -= num13;
|
|
num5 = num13;
|
|
num9 = num14;
|
|
int length2 = kw.Length;
|
|
ulong num21 = kw[num15];
|
|
num21 += num5;
|
|
int num22 = num15 + 1;
|
|
ulong num23 = kw[num22];
|
|
num23 += num5;
|
|
num2 -= num23;
|
|
ulong num24 = kw[(int)num23];
|
|
ulong num25 = kw[(int)num24];
|
|
num5 -= num25;
|
|
ulong num26 = kw[(int)num25];
|
|
num7 -= num26;
|
|
ulong num27 = kw[(int)num26];
|
|
num9 -= num27;
|
|
ulong num28 = kw[(int)num27];
|
|
num28 += num10;
|
|
num11 -= num28;
|
|
int length3 = t.Length;
|
|
num17++;
|
|
ulong num29 = t[num17];
|
|
num15 += 15;
|
|
num29 += num9;
|
|
num13 -= num29;
|
|
num9 -= (ulong)num16;
|
|
num2 -= num9;
|
|
num5 -= num10;
|
|
num13 -= num5;
|
|
num5 = num9;
|
|
num7 -= num5;
|
|
num9 = num5;
|
|
num9 -= num9;
|
|
num25 = num9;
|
|
num11 -= num25;
|
|
num9 = num5;
|
|
num11 = num9;
|
|
num2 -= num9;
|
|
num2 = num5;
|
|
num5 -= num2;
|
|
num5 = num13;
|
|
num13 -= num5;
|
|
num5 = num9;
|
|
num7 -= num5;
|
|
num13 = num9;
|
|
num9 -= num13;
|
|
num9 = num5;
|
|
num2 -= num9;
|
|
num5 -= num5;
|
|
num9 = num11;
|
|
num11 = num9;
|
|
num9 = num11;
|
|
num9 -= num11;
|
|
num5 = num9;
|
|
num9 = num13;
|
|
num11 -= num5;
|
|
num5 = num9;
|
|
num9 = num7;
|
|
num13 -= num5;
|
|
num11 = num9;
|
|
num7 -= num11;
|
|
num9 = num5;
|
|
num2 -= num9;
|
|
num5 -= num11;
|
|
num11 = num9;
|
|
num2 = num9;
|
|
num7 -= num11;
|
|
num11 = num5;
|
|
num13 -= num2;
|
|
num5 = num9;
|
|
num5 -= num11;
|
|
num11 -= num9;
|
|
while (num16 >= (uint)1)
|
|
{
|
|
}
|
|
ulong num30 = kw[1];
|
|
ulong num31 = kw[2];
|
|
ulong num32 = kw[3];
|
|
ulong num33 = kw[4];
|
|
ulong num34 = kw[5];
|
|
ulong num35 = kw[6];
|
|
ulong num36 = kw[7];
|
|
ulong num37 = kw[8];
|
|
ulong num38 = kw[9];
|
|
ulong num39 = kw[10];
|
|
ulong num40 = kw[11];
|
|
ulong num41 = kw[12];
|
|
ulong num42 = kw[13];
|
|
int length4 = t.Length;
|
|
ulong num43 = t[0];
|
|
ulong num44 = kw[14];
|
|
ulong num45 = t[1];
|
|
ulong num46 = kw[15];
|
|
num13 -= num45;
|
|
num13 -= num44;
|
|
num2 -= num46;
|
|
}
|
|
|
|
// Token: 0x04006745 RID: 26437
|
|
[Token(Token = "0x4006745")]
|
|
private const int ROTATION_0_0 = 24;
|
|
|
|
// Token: 0x04006746 RID: 26438
|
|
[Token(Token = "0x4006746")]
|
|
private const int ROTATION_0_1 = 13;
|
|
|
|
// Token: 0x04006747 RID: 26439
|
|
[Token(Token = "0x4006747")]
|
|
private const int ROTATION_0_2 = 8;
|
|
|
|
// Token: 0x04006748 RID: 26440
|
|
[Token(Token = "0x4006748")]
|
|
private const int ROTATION_0_3 = 47;
|
|
|
|
// Token: 0x04006749 RID: 26441
|
|
[Token(Token = "0x4006749")]
|
|
private const int ROTATION_0_4 = 8;
|
|
|
|
// Token: 0x0400674A RID: 26442
|
|
[Token(Token = "0x400674A")]
|
|
private const int ROTATION_0_5 = 17;
|
|
|
|
// Token: 0x0400674B RID: 26443
|
|
[Token(Token = "0x400674B")]
|
|
private const int ROTATION_0_6 = 22;
|
|
|
|
// Token: 0x0400674C RID: 26444
|
|
[Token(Token = "0x400674C")]
|
|
private const int ROTATION_0_7 = 37;
|
|
|
|
// Token: 0x0400674D RID: 26445
|
|
[Token(Token = "0x400674D")]
|
|
private const int ROTATION_1_0 = 38;
|
|
|
|
// Token: 0x0400674E RID: 26446
|
|
[Token(Token = "0x400674E")]
|
|
private const int ROTATION_1_1 = 19;
|
|
|
|
// Token: 0x0400674F RID: 26447
|
|
[Token(Token = "0x400674F")]
|
|
private const int ROTATION_1_2 = 10;
|
|
|
|
// Token: 0x04006750 RID: 26448
|
|
[Token(Token = "0x4006750")]
|
|
private const int ROTATION_1_3 = 55;
|
|
|
|
// Token: 0x04006751 RID: 26449
|
|
[Token(Token = "0x4006751")]
|
|
private const int ROTATION_1_4 = 49;
|
|
|
|
// Token: 0x04006752 RID: 26450
|
|
[Token(Token = "0x4006752")]
|
|
private const int ROTATION_1_5 = 18;
|
|
|
|
// Token: 0x04006753 RID: 26451
|
|
[Token(Token = "0x4006753")]
|
|
private const int ROTATION_1_6 = 23;
|
|
|
|
// Token: 0x04006754 RID: 26452
|
|
[Token(Token = "0x4006754")]
|
|
private const int ROTATION_1_7 = 52;
|
|
|
|
// Token: 0x04006755 RID: 26453
|
|
[Token(Token = "0x4006755")]
|
|
private const int ROTATION_2_0 = 33;
|
|
|
|
// Token: 0x04006756 RID: 26454
|
|
[Token(Token = "0x4006756")]
|
|
private const int ROTATION_2_1 = 4;
|
|
|
|
// Token: 0x04006757 RID: 26455
|
|
[Token(Token = "0x4006757")]
|
|
private const int ROTATION_2_2 = 51;
|
|
|
|
// Token: 0x04006758 RID: 26456
|
|
[Token(Token = "0x4006758")]
|
|
private const int ROTATION_2_3 = 13;
|
|
|
|
// Token: 0x04006759 RID: 26457
|
|
[Token(Token = "0x4006759")]
|
|
private const int ROTATION_2_4 = 34;
|
|
|
|
// Token: 0x0400675A RID: 26458
|
|
[Token(Token = "0x400675A")]
|
|
private const int ROTATION_2_5 = 41;
|
|
|
|
// Token: 0x0400675B RID: 26459
|
|
[Token(Token = "0x400675B")]
|
|
private const int ROTATION_2_6 = 59;
|
|
|
|
// Token: 0x0400675C RID: 26460
|
|
[Token(Token = "0x400675C")]
|
|
private const int ROTATION_2_7 = 17;
|
|
|
|
// Token: 0x0400675D RID: 26461
|
|
[Token(Token = "0x400675D")]
|
|
private const int ROTATION_3_0 = 5;
|
|
|
|
// Token: 0x0400675E RID: 26462
|
|
[Token(Token = "0x400675E")]
|
|
private const int ROTATION_3_1 = 20;
|
|
|
|
// Token: 0x0400675F RID: 26463
|
|
[Token(Token = "0x400675F")]
|
|
private const int ROTATION_3_2 = 48;
|
|
|
|
// Token: 0x04006760 RID: 26464
|
|
[Token(Token = "0x4006760")]
|
|
private const int ROTATION_3_3 = 41;
|
|
|
|
// Token: 0x04006761 RID: 26465
|
|
[Token(Token = "0x4006761")]
|
|
private const int ROTATION_3_4 = 47;
|
|
|
|
// Token: 0x04006762 RID: 26466
|
|
[Token(Token = "0x4006762")]
|
|
private const int ROTATION_3_5 = 28;
|
|
|
|
// Token: 0x04006763 RID: 26467
|
|
[Token(Token = "0x4006763")]
|
|
private const int ROTATION_3_6 = 16;
|
|
|
|
// Token: 0x04006764 RID: 26468
|
|
[Token(Token = "0x4006764")]
|
|
private const int ROTATION_3_7 = 25;
|
|
|
|
// Token: 0x04006765 RID: 26469
|
|
[Token(Token = "0x4006765")]
|
|
private const int ROTATION_4_0 = 41;
|
|
|
|
// Token: 0x04006766 RID: 26470
|
|
[Token(Token = "0x4006766")]
|
|
private const int ROTATION_4_1 = 9;
|
|
|
|
// Token: 0x04006767 RID: 26471
|
|
[Token(Token = "0x4006767")]
|
|
private const int ROTATION_4_2 = 37;
|
|
|
|
// Token: 0x04006768 RID: 26472
|
|
[Token(Token = "0x4006768")]
|
|
private const int ROTATION_4_3 = 31;
|
|
|
|
// Token: 0x04006769 RID: 26473
|
|
[Token(Token = "0x4006769")]
|
|
private const int ROTATION_4_4 = 12;
|
|
|
|
// Token: 0x0400676A RID: 26474
|
|
[Token(Token = "0x400676A")]
|
|
private const int ROTATION_4_5 = 47;
|
|
|
|
// Token: 0x0400676B RID: 26475
|
|
[Token(Token = "0x400676B")]
|
|
private const int ROTATION_4_6 = 44;
|
|
|
|
// Token: 0x0400676C RID: 26476
|
|
[Token(Token = "0x400676C")]
|
|
private const int ROTATION_4_7 = 30;
|
|
|
|
// Token: 0x0400676D RID: 26477
|
|
[Token(Token = "0x400676D")]
|
|
private const int ROTATION_5_0 = 16;
|
|
|
|
// Token: 0x0400676E RID: 26478
|
|
[Token(Token = "0x400676E")]
|
|
private const int ROTATION_5_1 = 34;
|
|
|
|
// Token: 0x0400676F RID: 26479
|
|
[Token(Token = "0x400676F")]
|
|
private const int ROTATION_5_2 = 56;
|
|
|
|
// Token: 0x04006770 RID: 26480
|
|
[Token(Token = "0x4006770")]
|
|
private const int ROTATION_5_3 = 51;
|
|
|
|
// Token: 0x04006771 RID: 26481
|
|
[Token(Token = "0x4006771")]
|
|
private const int ROTATION_5_4 = 4;
|
|
|
|
// Token: 0x04006772 RID: 26482
|
|
[Token(Token = "0x4006772")]
|
|
private const int ROTATION_5_5 = 53;
|
|
|
|
// Token: 0x04006773 RID: 26483
|
|
[Token(Token = "0x4006773")]
|
|
private const int ROTATION_5_6 = 42;
|
|
|
|
// Token: 0x04006774 RID: 26484
|
|
[Token(Token = "0x4006774")]
|
|
private const int ROTATION_5_7 = 41;
|
|
|
|
// Token: 0x04006775 RID: 26485
|
|
[Token(Token = "0x4006775")]
|
|
private const int ROTATION_6_0 = 31;
|
|
|
|
// Token: 0x04006776 RID: 26486
|
|
[Token(Token = "0x4006776")]
|
|
private const int ROTATION_6_1 = 44;
|
|
|
|
// Token: 0x04006777 RID: 26487
|
|
[Token(Token = "0x4006777")]
|
|
private const int ROTATION_6_2 = 47;
|
|
|
|
// Token: 0x04006778 RID: 26488
|
|
[Token(Token = "0x4006778")]
|
|
private const int ROTATION_6_3 = 46;
|
|
|
|
// Token: 0x04006779 RID: 26489
|
|
[Token(Token = "0x4006779")]
|
|
private const int ROTATION_6_4 = 19;
|
|
|
|
// Token: 0x0400677A RID: 26490
|
|
[Token(Token = "0x400677A")]
|
|
private const int ROTATION_6_5 = 42;
|
|
|
|
// Token: 0x0400677B RID: 26491
|
|
[Token(Token = "0x400677B")]
|
|
private const int ROTATION_6_6 = 44;
|
|
|
|
// Token: 0x0400677C RID: 26492
|
|
[Token(Token = "0x400677C")]
|
|
private const int ROTATION_6_7 = 25;
|
|
|
|
// Token: 0x0400677D RID: 26493
|
|
[Token(Token = "0x400677D")]
|
|
private const int ROTATION_7_0 = 9;
|
|
|
|
// Token: 0x0400677E RID: 26494
|
|
[Token(Token = "0x400677E")]
|
|
private const int ROTATION_7_1 = 48;
|
|
|
|
// Token: 0x0400677F RID: 26495
|
|
[Token(Token = "0x400677F")]
|
|
private const int ROTATION_7_2 = 35;
|
|
|
|
// Token: 0x04006780 RID: 26496
|
|
[Token(Token = "0x4006780")]
|
|
private const int ROTATION_7_3 = 52;
|
|
|
|
// Token: 0x04006781 RID: 26497
|
|
[Token(Token = "0x4006781")]
|
|
private const int ROTATION_7_4 = 23;
|
|
|
|
// Token: 0x04006782 RID: 26498
|
|
[Token(Token = "0x4006782")]
|
|
private const int ROTATION_7_5 = 31;
|
|
|
|
// Token: 0x04006783 RID: 26499
|
|
[Token(Token = "0x4006783")]
|
|
private const int ROTATION_7_6 = 37;
|
|
|
|
// Token: 0x04006784 RID: 26500
|
|
[Token(Token = "0x4006784")]
|
|
private const int ROTATION_7_7 = 20;
|
|
}
|
|
}
|
|
}
|