m
This commit is contained in:
+585
@@ -0,0 +1,585 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DC0 RID: 7616
|
||||
[Token(Token = "0x2001DC0")]
|
||||
public class Blake2bDigest : IDigest
|
||||
{
|
||||
// Token: 0x0600BDCD RID: 48589 RVA: 0x002A52CC File Offset: 0x002A34CC
|
||||
[Token(Token = "0x600BDCD")]
|
||||
[Address(RVA = "0x2597DE0", Offset = "0x2596DE0", VA = "0x182597DE0")]
|
||||
public Blake2bDigest()
|
||||
{
|
||||
this.digestLength = (int)((ulong)64L);
|
||||
ulong[] array = new ulong[16];
|
||||
this.internalState = array;
|
||||
base..ctor();
|
||||
byte[] array2 = new byte[128];
|
||||
this.buffer = array2;
|
||||
this.digestLength = (int)((ulong)64L);
|
||||
this.Init();
|
||||
}
|
||||
|
||||
// Token: 0x0600BDCE RID: 48590 RVA: 0x002A531C File Offset: 0x002A351C
|
||||
[Token(Token = "0x600BDCE")]
|
||||
[Address(RVA = "0x2597E60", Offset = "0x2596E60", VA = "0x182597E60")]
|
||||
public Blake2bDigest(Blake2bDigest digest)
|
||||
{
|
||||
this.digestLength = (int)((ulong)64L);
|
||||
ulong[] array = new ulong[16];
|
||||
this.internalState = array;
|
||||
base..ctor();
|
||||
int num = digest.bufferPos;
|
||||
this.bufferPos = num;
|
||||
byte[] array2 = Arrays.Clone(digest.buffer);
|
||||
this.buffer = array2;
|
||||
int num2 = digest.keyLength;
|
||||
this.keyLength = num2;
|
||||
byte[] array3 = Arrays.Clone(digest.key);
|
||||
this.key = array3;
|
||||
int num3 = digest.digestLength;
|
||||
this.digestLength = num3;
|
||||
ulong[] array4 = Arrays.Clone(digest.chainValue);
|
||||
this.chainValue = array4;
|
||||
byte[] array5 = Arrays.Clone(digest.personalization);
|
||||
this.personalization = array5;
|
||||
byte[] array6 = Arrays.Clone(digest.salt);
|
||||
this.salt = array6;
|
||||
ulong num4 = digest.t0;
|
||||
this.t0 = num4;
|
||||
ulong num5 = digest.t1;
|
||||
this.t1 = num5;
|
||||
ulong num6 = digest.f0;
|
||||
this.f0 = num6;
|
||||
}
|
||||
|
||||
// Token: 0x0600BDCF RID: 48591 RVA: 0x002A5414 File Offset: 0x002A3614
|
||||
[Token(Token = "0x600BDCF")]
|
||||
[Address(RVA = "0x2597D00", Offset = "0x2596D00", VA = "0x182597D00")]
|
||||
public Blake2bDigest(int digestSize)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BDCF)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Blake2bDigest::.ctor(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_5A:
|
||||
stloc:ArgumentException(var_5_64, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("BLAKE2b digest bit length must be a multiple of 8 and not greater than 512")))
|
||||
}
|
||||
|
||||
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: 0x0600BDD0 RID: 48592 RVA: 0x002A5488 File Offset: 0x002A3688
|
||||
[Token(Token = "0x600BDD0")]
|
||||
[Address(RVA = "0x2597BE0", Offset = "0x2596BE0", VA = "0x182597BE0")]
|
||||
public Blake2bDigest(byte[] key)
|
||||
{
|
||||
this.digestLength = (int)((ulong)64L);
|
||||
ulong[] array = new ulong[16];
|
||||
this.internalState = array;
|
||||
base..ctor();
|
||||
byte[] array2 = new byte[128];
|
||||
this.buffer = array2;
|
||||
if (key != 0)
|
||||
{
|
||||
byte[] array3 = new byte[key.Length];
|
||||
this.key = array3;
|
||||
int num = 0;
|
||||
int length = key.Length;
|
||||
int num2 = 0;
|
||||
Array.Copy(key, num2, array3, num, length);
|
||||
int length2 = key.Length;
|
||||
byte[] array4 = this.buffer;
|
||||
int num3 = 0;
|
||||
this.keyLength = length2;
|
||||
int num4 = 0;
|
||||
int length3 = key.Length;
|
||||
Array.Copy(key, num4, array4, num3, length3);
|
||||
this.bufferPos = (int)((ulong)128L);
|
||||
}
|
||||
this.digestLength = (int)((ulong)64L);
|
||||
this.Init();
|
||||
}
|
||||
|
||||
// Token: 0x0600BDD1 RID: 48593 RVA: 0x002A5554 File Offset: 0x002A3754
|
||||
[Token(Token = "0x600BDD1")]
|
||||
[Address(RVA = "0x2597F70", Offset = "0x2596F70", VA = "0x182597F70")]
|
||||
public Blake2bDigest(byte[] key, int digestLength, byte[] salt, byte[] personalization)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BDD1)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Blake2bDigest::.ctor(System.Byte[],System.Int32,System.Byte[],System.Byte[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_118:
|
||||
stloc:ArgumentException(var_19_122, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("salt length must be exactly 16 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.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: 0x0600BDD2 RID: 48594 RVA: 0x002A5684 File Offset: 0x002A3884
|
||||
[Token(Token = "0x600BDD2")]
|
||||
[Address(RVA = "0x25972C0", Offset = "0x25962C0", VA = "0x1825972C0")]
|
||||
private void Init()
|
||||
{
|
||||
if (this.chainValue == (ulong)0L)
|
||||
{
|
||||
ulong[] array = new ulong[8];
|
||||
this.chainValue = array;
|
||||
ulong[] array2 = Blake2bDigest.blake2b_IV;
|
||||
int num = this.keyLength;
|
||||
array[0] = (ulong)num;
|
||||
ulong[] array3 = this.chainValue;
|
||||
ulong num2 = Blake2bDigest.blake2b_IV[1];
|
||||
array3[1] = num2;
|
||||
ulong[] array4 = this.chainValue;
|
||||
ulong num3 = Blake2bDigest.blake2b_IV[2];
|
||||
array4[2] = num3;
|
||||
ulong[] array5 = this.chainValue;
|
||||
ulong num4 = Blake2bDigest.blake2b_IV[3];
|
||||
array5[3] = num4;
|
||||
ulong[] array6 = this.chainValue;
|
||||
ulong num5 = Blake2bDigest.blake2b_IV[4];
|
||||
array6[4] = num5;
|
||||
ulong[] array7 = this.chainValue;
|
||||
ulong num6 = Blake2bDigest.blake2b_IV[5];
|
||||
array7[5] = num6;
|
||||
byte[] array8 = this.salt;
|
||||
if (array8 != 0)
|
||||
{
|
||||
ulong[] array9 = this.chainValue;
|
||||
int num7 = 0;
|
||||
ulong num8 = Pack.LE_To_UInt64(array8, num7);
|
||||
array9[4] = num8;
|
||||
ulong[] array10 = this.chainValue;
|
||||
ulong num9 = Pack.LE_To_UInt64(this.salt, 8);
|
||||
array10[5] = num9;
|
||||
}
|
||||
ulong[] array11 = this.chainValue;
|
||||
ulong num10 = Blake2bDigest.blake2b_IV[6];
|
||||
array11[6] = num10;
|
||||
ulong[] array12 = this.chainValue;
|
||||
ulong num11 = Blake2bDigest.blake2b_IV[7];
|
||||
array12[7] = num11;
|
||||
byte[] array13 = this.personalization;
|
||||
if (array13 != 0)
|
||||
{
|
||||
ulong[] array14 = this.chainValue;
|
||||
int num12 = 0;
|
||||
ulong num13 = Pack.LE_To_UInt64(array13, num12);
|
||||
array14[6] = num13;
|
||||
ulong[] array15 = this.chainValue;
|
||||
ulong num14 = Pack.LE_To_UInt64(this.personalization, 8);
|
||||
array15[7] = num14;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BDD3 RID: 48595 RVA: 0x002A583C File Offset: 0x002A3A3C
|
||||
[Token(Token = "0x600BDD3")]
|
||||
[Address(RVA = "0x25977A0", Offset = "0x25967A0", VA = "0x1825977A0")]
|
||||
private void InitializeInternalState()
|
||||
{
|
||||
ulong[] array = this.chainValue;
|
||||
int length = array.Length;
|
||||
int num = 0;
|
||||
ulong[] array2 = this.internalState;
|
||||
int num2 = 0;
|
||||
Array.Copy(array, num2, array2, num, length);
|
||||
ulong[] array3 = this.chainValue;
|
||||
int num3 = 0;
|
||||
int length2 = array3.Length;
|
||||
ulong[] array4 = this.internalState;
|
||||
ulong num4;
|
||||
Array.Copy(Blake2bDigest.blake2b_IV, num3, array4, length2, (int)num4);
|
||||
ulong[] array5 = this.internalState;
|
||||
ulong num5 = Blake2bDigest.blake2b_IV[4];
|
||||
array5[12] = num5;
|
||||
ulong[] array6 = this.internalState;
|
||||
ulong num6 = Blake2bDigest.blake2b_IV[5];
|
||||
array6[13] = num6;
|
||||
ulong[] array7 = this.internalState;
|
||||
ulong num7 = Blake2bDigest.blake2b_IV[6];
|
||||
array7[14] = num7;
|
||||
ulong[] array8 = this.internalState;
|
||||
ulong num8 = Blake2bDigest.blake2b_IV[7];
|
||||
array8[15] = num8;
|
||||
}
|
||||
|
||||
// Token: 0x0600BDD4 RID: 48596 RVA: 0x002A5924 File Offset: 0x002A3B24
|
||||
[Token(Token = "0x600BDD4")]
|
||||
[Address(RVA = "0x2597A70", Offset = "0x2596A70", VA = "0x182597A70", Slot = "11")]
|
||||
public virtual void Update(byte b)
|
||||
{
|
||||
int num = this.bufferPos;
|
||||
uint num2;
|
||||
byte[] array;
|
||||
if (num2 != (uint)num)
|
||||
{
|
||||
array = this.buffer;
|
||||
return;
|
||||
}
|
||||
if (num == array.Length)
|
||||
{
|
||||
}
|
||||
byte[] array2 = this.buffer;
|
||||
int num3 = 0;
|
||||
this.Compress(array2, num3);
|
||||
byte[] array3 = this.buffer;
|
||||
int length = array3.Length;
|
||||
int num4 = 0;
|
||||
Array.Clear(array3, num4, length);
|
||||
this.buffer[0] = b;
|
||||
this.bufferPos = (int)((ulong)1L);
|
||||
}
|
||||
|
||||
// Token: 0x0600BDD5 RID: 48597 RVA: 0x002A599C File Offset: 0x002A3B9C
|
||||
[Token(Token = "0x600BDD5")]
|
||||
[Address(RVA = "0x25963A0", Offset = "0x25953A0", VA = "0x1825963A0", Slot = "12")]
|
||||
public virtual void BlockUpdate(byte[] message, int offset, int len)
|
||||
{
|
||||
if (message != 0 && len != 0)
|
||||
{
|
||||
int num = this.bufferPos;
|
||||
int num2 = 0;
|
||||
if (num != 0)
|
||||
{
|
||||
byte[] array = this.buffer;
|
||||
uint num3;
|
||||
num3 -= (uint)num;
|
||||
Array.Copy(message, offset, array, num, len);
|
||||
Array.Copy(message, offset, array, num, (int)num3);
|
||||
if (num3 == (uint)len)
|
||||
{
|
||||
}
|
||||
byte[] array2 = this.buffer;
|
||||
int num4 = 0;
|
||||
this.Compress(array2, num4);
|
||||
byte[] array3 = this.buffer;
|
||||
this.bufferPos = num2;
|
||||
int length = array3.Length;
|
||||
int num5 = 0;
|
||||
Array.Clear(array3, num5, length);
|
||||
}
|
||||
num2 += offset;
|
||||
this.Compress(message, num2);
|
||||
byte[] array4 = this.buffer;
|
||||
int num6 = 0;
|
||||
Array.Copy(message, num2, array4, num6, offset);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BDD6 RID: 48598 RVA: 0x002A5A4C File Offset: 0x002A3C4C
|
||||
[Token(Token = "0x600BDD6")]
|
||||
[Address(RVA = "0x2596D10", Offset = "0x2595D10", VA = "0x182596D10", Slot = "13")]
|
||||
public virtual int DoFinal(byte[] output, int outOffset)
|
||||
{
|
||||
int num = this.bufferPos;
|
||||
this.f0 = (ulong)(-1L);
|
||||
this.t0 = (ulong)num;
|
||||
if (num <= 0 || num == 0)
|
||||
{
|
||||
}
|
||||
byte[] array = this.buffer;
|
||||
int num2 = 0;
|
||||
this.Compress(array, num2);
|
||||
byte[] array2 = this.buffer;
|
||||
int length = array2.Length;
|
||||
int num3 = 0;
|
||||
Array.Clear(array2, num3, length);
|
||||
ulong[] array3 = this.internalState;
|
||||
int length2 = array3.Length;
|
||||
int num4 = 0;
|
||||
Array.Clear(array3, num4, length2);
|
||||
ulong[] array4 = this.chainValue;
|
||||
int num5 = 0;
|
||||
ulong[] array6;
|
||||
if (num5 < array4.Length && num5 < this.digestLength)
|
||||
{
|
||||
byte[] array5 = Pack.UInt64_To_LE(array4[num5]);
|
||||
int num6 = this.digestLength;
|
||||
num6 -= num5;
|
||||
int num7 = 0;
|
||||
uint num8;
|
||||
Array.Copy(array5, num7, output, 0, (int)num8);
|
||||
array6 = this.chainValue;
|
||||
num5++;
|
||||
num5 += 8;
|
||||
}
|
||||
int length3 = array6.Length;
|
||||
int num9 = 0;
|
||||
Array.Clear(array6, num9, length3);
|
||||
return this.digestLength;
|
||||
}
|
||||
|
||||
// Token: 0x0600BDD7 RID: 48599 RVA: 0x002A5B4C File Offset: 0x002A3D4C
|
||||
[Token(Token = "0x600BDD7")]
|
||||
[Address(RVA = "0x25979F0", Offset = "0x25969F0", VA = "0x1825979F0", Slot = "14")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
int num = 0;
|
||||
this.bufferPos = num;
|
||||
this.f0 = (ulong)num;
|
||||
this.t0 = (ulong)num;
|
||||
this.t1 = (ulong)num;
|
||||
this.chainValue = num;
|
||||
byte[] array = this.buffer;
|
||||
int length = array.Length;
|
||||
int num2 = 0;
|
||||
Array.Clear(array, num2, length);
|
||||
byte[] array2 = this.key;
|
||||
if (array2 != 0)
|
||||
{
|
||||
int length2 = array2.Length;
|
||||
int num3 = 0;
|
||||
byte[] array3 = this.buffer;
|
||||
int num4 = 0;
|
||||
Array.Copy(array2, num4, array3, num3, length2);
|
||||
this.bufferPos = (int)((ulong)128L);
|
||||
}
|
||||
this.Init();
|
||||
}
|
||||
|
||||
// Token: 0x0600BDD8 RID: 48600 RVA: 0x002A5BE4 File Offset: 0x002A3DE4
|
||||
[Token(Token = "0x600BDD8")]
|
||||
[Address(RVA = "0x2596560", Offset = "0x2595560", VA = "0x182596560")]
|
||||
private void Compress(byte[] message, int messagePos)
|
||||
{
|
||||
this.InitializeInternalState();
|
||||
ulong[] array = new ulong[16];
|
||||
int num = 0;
|
||||
ulong num2 = Pack.LE_To_UInt64(message, messagePos);
|
||||
num++;
|
||||
array[0] = num2;
|
||||
byte[,] array2 = Blake2bDigest.blake2b_sigma;
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600BDD9 RID: 48601 RVA: 0x002A5E50 File Offset: 0x002A4050
|
||||
[Token(Token = "0x600BDD9")]
|
||||
[Address(RVA = "0x2596E90", Offset = "0x2595E90", VA = "0x182596E90")]
|
||||
private void G(ulong m1, ulong m2, int posA, int posB, int posC, int posD)
|
||||
{
|
||||
ulong[] array = this.internalState;
|
||||
int length = array.Length;
|
||||
ulong num;
|
||||
ulong num2;
|
||||
num += num2;
|
||||
num += m1;
|
||||
int length2 = this.internalState.Length;
|
||||
ulong num3;
|
||||
array.m_value = num3;
|
||||
ulong[] array2 = this.internalState;
|
||||
int length3 = array2.Length;
|
||||
ulong num4;
|
||||
ulong num5;
|
||||
num4 += num5;
|
||||
array2[0] = num4;
|
||||
int length4 = this.internalState.Length;
|
||||
int length5 = this.internalState.Length;
|
||||
ulong num6;
|
||||
ulong num7;
|
||||
num6 += num7;
|
||||
int length6 = this.internalState.Length;
|
||||
ulong num8;
|
||||
array.m_value = num8;
|
||||
ulong[] array3 = this.internalState;
|
||||
int length7 = array3.Length;
|
||||
ulong num9;
|
||||
ulong num10;
|
||||
num9 += num10;
|
||||
array3[0] = num9;
|
||||
int length8 = this.internalState.Length;
|
||||
ulong num11;
|
||||
num11 += num11;
|
||||
}
|
||||
|
||||
// Token: 0x0600BDDA RID: 48602 RVA: 0x002A5F1C File Offset: 0x002A411C
|
||||
[Token(Token = "0x600BDDA")]
|
||||
[Address(RVA = "0x1031DE0", Offset = "0x1030DE0", VA = "0x181031DE0")]
|
||||
private static ulong Rotr64(ulong x, int rot)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x17001DA5 RID: 7589
|
||||
// (get) Token: 0x0600BDDB RID: 48603 RVA: 0x002A5F2C File Offset: 0x002A412C
|
||||
[Token(Token = "0x17001DA5")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BDDB")]
|
||||
[Address(RVA = "0x25981D0", Offset = "0x25971D0", VA = "0x1825981D0", Slot = "15")]
|
||||
get
|
||||
{
|
||||
return "BLAKE2b";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BDDC RID: 48604 RVA: 0x002A5F40 File Offset: 0x002A4140
|
||||
[Token(Token = "0x600BDDC")]
|
||||
[Address(RVA = "0x40F000", Offset = "0x40E000", VA = "0x18040F000", Slot = "16")]
|
||||
public virtual int GetDigestSize()
|
||||
{
|
||||
return this.digestLength;
|
||||
}
|
||||
|
||||
// Token: 0x0600BDDD RID: 48605 RVA: 0x002A5F54 File Offset: 0x002A4154
|
||||
[Token(Token = "0x600BDDD")]
|
||||
[Address(RVA = "0x8BB370", Offset = "0x8BA370", VA = "0x1808BB370", Slot = "17")]
|
||||
public virtual int GetByteLength()
|
||||
{
|
||||
return 128;
|
||||
}
|
||||
|
||||
// Token: 0x0600BDDE RID: 48606 RVA: 0x002A5F68 File Offset: 0x002A4168
|
||||
[Token(Token = "0x600BDDE")]
|
||||
[Address(RVA = "0x25964F0", Offset = "0x25954F0", VA = "0x1825964F0", Slot = "18")]
|
||||
public virtual void ClearKey()
|
||||
{
|
||||
byte[] array = this.key;
|
||||
if (array != 0)
|
||||
{
|
||||
int length = array.Length;
|
||||
int num = 0;
|
||||
Array.Clear(array, num, length);
|
||||
byte[] array2 = this.buffer;
|
||||
int length2 = array2.Length;
|
||||
int num2 = 0;
|
||||
Array.Clear(array2, num2, length2);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BDDF RID: 48607 RVA: 0x002A5FB4 File Offset: 0x002A41B4
|
||||
[Token(Token = "0x600BDDF")]
|
||||
[Address(RVA = "0x2596540", Offset = "0x2595540", VA = "0x182596540", Slot = "19")]
|
||||
public virtual void ClearSalt()
|
||||
{
|
||||
byte[] array = this.salt;
|
||||
if (array != 0)
|
||||
{
|
||||
int length = array.Length;
|
||||
int num = 0;
|
||||
Array.Clear(array, num, length);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BDE0 RID: 48608 RVA: 0x002A5FE0 File Offset: 0x002A41E0
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600BDE0")]
|
||||
[Address(RVA = "0x2597B30", Offset = "0x2596B30", VA = "0x182597B30")]
|
||||
static Blake2bDigest()
|
||||
{
|
||||
ulong[] array = new ulong[8];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.22F13A28C218AA9B43303043F2CF664790D12BD7).FieldHandle);
|
||||
Blake2bDigest.blake2b_IV = array;
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.DB8FE39060DF4E7BC9CC190D08EFF78F0C61F289).FieldHandle);
|
||||
Blake2bDigest.blake2b_sigma = array;
|
||||
}
|
||||
|
||||
// Token: 0x040077F9 RID: 30713
|
||||
[Token(Token = "0x40077F9")]
|
||||
private static readonly ulong[] blake2b_IV;
|
||||
|
||||
// Token: 0x040077FA RID: 30714
|
||||
[Token(Token = "0x40077FA")]
|
||||
private static readonly byte[,] blake2b_sigma;
|
||||
|
||||
// Token: 0x040077FB RID: 30715
|
||||
[Token(Token = "0x40077FB")]
|
||||
private const int ROUNDS = 12;
|
||||
|
||||
// Token: 0x040077FC RID: 30716
|
||||
[Token(Token = "0x40077FC")]
|
||||
private const int BLOCK_LENGTH_BYTES = 128;
|
||||
|
||||
// Token: 0x040077FD RID: 30717
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40077FD")]
|
||||
private int digestLength;
|
||||
|
||||
// Token: 0x040077FE RID: 30718
|
||||
[FieldOffset(Offset = "0x14")]
|
||||
[Token(Token = "0x40077FE")]
|
||||
private int keyLength;
|
||||
|
||||
// Token: 0x040077FF RID: 30719
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x40077FF")]
|
||||
private byte[] salt;
|
||||
|
||||
// Token: 0x04007800 RID: 30720
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4007800")]
|
||||
private byte[] personalization;
|
||||
|
||||
// Token: 0x04007801 RID: 30721
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4007801")]
|
||||
private byte[] key;
|
||||
|
||||
// Token: 0x04007802 RID: 30722
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4007802")]
|
||||
private byte[] buffer;
|
||||
|
||||
// Token: 0x04007803 RID: 30723
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4007803")]
|
||||
private int bufferPos;
|
||||
|
||||
// Token: 0x04007804 RID: 30724
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4007804")]
|
||||
private ulong[] internalState;
|
||||
|
||||
// Token: 0x04007805 RID: 30725
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4007805")]
|
||||
private ulong[] chainValue;
|
||||
|
||||
// Token: 0x04007806 RID: 30726
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4007806")]
|
||||
private ulong t0;
|
||||
|
||||
// Token: 0x04007807 RID: 30727
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4007807")]
|
||||
private ulong t1;
|
||||
|
||||
// Token: 0x04007808 RID: 30728
|
||||
[FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x4007808")]
|
||||
private ulong f0;
|
||||
}
|
||||
}
|
||||
+573
@@ -0,0 +1,573 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.Serialization.Formatters.Binary;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DC1 RID: 7617
|
||||
[Token(Token = "0x2001DC1")]
|
||||
public class Blake2sDigest : IDigest
|
||||
{
|
||||
// Token: 0x0600BDE1 RID: 48609 RVA: 0x002A6018 File Offset: 0x002A4218
|
||||
[Token(Token = "0x600BDE1")]
|
||||
[Address(RVA = "0x2599DF0", Offset = "0x2598DF0", VA = "0x182599DF0")]
|
||||
public Blake2sDigest()
|
||||
{
|
||||
this.digestLength = (int)((ulong)32L);
|
||||
uint[] array = new uint[16];
|
||||
this.internalState = array;
|
||||
base..ctor();
|
||||
byte[] array2 = new byte[64];
|
||||
this.buffer = array2;
|
||||
this.digestLength = (int)((ulong)32L);
|
||||
this.Init();
|
||||
}
|
||||
|
||||
// Token: 0x0600BDE2 RID: 48610 RVA: 0x002A6064 File Offset: 0x002A4264
|
||||
[Token(Token = "0x600BDE2")]
|
||||
[Address(RVA = "0x25998A0", Offset = "0x25988A0", VA = "0x1825998A0")]
|
||||
public Blake2sDigest(Blake2sDigest digest)
|
||||
{
|
||||
this.digestLength = (int)((ulong)32L);
|
||||
uint[] array = new uint[16];
|
||||
this.internalState = array;
|
||||
base..ctor();
|
||||
int num = digest.bufferPos;
|
||||
this.bufferPos = num;
|
||||
byte[] array2 = Arrays.Clone(digest.buffer);
|
||||
this.buffer = array2;
|
||||
int num2 = digest.keyLength;
|
||||
this.keyLength = num2;
|
||||
byte[] array3 = Arrays.Clone(digest.key);
|
||||
this.key = array3;
|
||||
int num3 = digest.digestLength;
|
||||
this.digestLength = num3;
|
||||
uint[] array4 = Arrays.Clone(digest.chainValue);
|
||||
this.chainValue = array4;
|
||||
byte[] array5 = Arrays.Clone(digest.personalization);
|
||||
this.personalization = array5;
|
||||
}
|
||||
|
||||
// Token: 0x0600BDE3 RID: 48611 RVA: 0x002A6114 File Offset: 0x002A4314
|
||||
[Token(Token = "0x600BDE3")]
|
||||
[Address(RVA = "0x2599AB0", Offset = "0x2598AB0", VA = "0x182599AB0")]
|
||||
public Blake2sDigest(int digestBits)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BDE3)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Blake2sDigest::.ctor(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_57:
|
||||
stloc:ArgumentException(var_5_61, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("BLAKE2s digest bit length must be a multiple of 8 and not greater than 256")))
|
||||
}
|
||||
|
||||
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: 0x0600BDE4 RID: 48612 RVA: 0x002A6184 File Offset: 0x002A4384
|
||||
[Token(Token = "0x600BDE4")]
|
||||
[Address(RVA = "0x2599990", Offset = "0x2598990", VA = "0x182599990")]
|
||||
public Blake2sDigest(byte[] key)
|
||||
{
|
||||
this.digestLength = (int)((ulong)32L);
|
||||
uint[] array = new uint[16];
|
||||
this.internalState = array;
|
||||
base..ctor();
|
||||
byte[] array2 = new byte[64];
|
||||
this.buffer = array2;
|
||||
if (key != 0)
|
||||
{
|
||||
byte[] array3 = new byte[key.Length];
|
||||
this.key = array3;
|
||||
int num = 0;
|
||||
int length = key.Length;
|
||||
int num2 = 0;
|
||||
Array.Copy(key, num2, array3, num, length);
|
||||
int length2 = key.Length;
|
||||
int num3 = 0;
|
||||
byte[] array4 = this.buffer;
|
||||
int num4 = 0;
|
||||
this.keyLength = length2;
|
||||
int length3 = key.Length;
|
||||
Array.Copy(key, num4, array4, num3, length3);
|
||||
this.bufferPos = (int)((ulong)64L);
|
||||
}
|
||||
this.digestLength = (int)((ulong)32L);
|
||||
this.Init();
|
||||
}
|
||||
|
||||
// Token: 0x0600BDE5 RID: 48613 RVA: 0x002A624C File Offset: 0x002A444C
|
||||
[Token(Token = "0x600BDE5")]
|
||||
[Address(RVA = "0x2599B90", Offset = "0x2598B90", VA = "0x182599B90")]
|
||||
public Blake2sDigest(byte[] key, int digestBytes, byte[] salt, byte[] personalization)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BDE5)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Blake2sDigest::.ctor(System.Byte[],System.Int32,System.Byte[],System.Byte[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_110:
|
||||
stloc:ArgumentException(var_19_11A, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Salt length must be exactly 8 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.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: 0x0600BDE6 RID: 48614 RVA: 0x002A6374 File Offset: 0x002A4574
|
||||
[Token(Token = "0x600BDE6")]
|
||||
[Address(RVA = "0x2598FC0", Offset = "0x2597FC0", VA = "0x182598FC0")]
|
||||
private void Init()
|
||||
{
|
||||
if (this.chainValue == (ulong)0L)
|
||||
{
|
||||
uint[] array = new uint[8];
|
||||
this.chainValue = array;
|
||||
uint[] array2 = Blake2sDigest.blake2s_IV;
|
||||
int num = this.keyLength;
|
||||
array[0] = (uint)num;
|
||||
uint[] array3 = this.chainValue;
|
||||
uint num2 = Blake2sDigest.blake2s_IV[0];
|
||||
array3[0] = num2;
|
||||
uint[] array4 = this.chainValue;
|
||||
uint num3 = Blake2sDigest.blake2s_IV[1];
|
||||
array4[1] = num3;
|
||||
uint[] array5 = this.chainValue;
|
||||
uint num4 = Blake2sDigest.blake2s_IV[1];
|
||||
array5[1] = num4;
|
||||
uint[] array6 = this.chainValue;
|
||||
uint num5 = Blake2sDigest.blake2s_IV[2];
|
||||
array6[2] = num5;
|
||||
uint[] array7 = this.chainValue;
|
||||
uint num6 = Blake2sDigest.blake2s_IV[2];
|
||||
array7[2] = num6;
|
||||
byte[] array8 = this.salt;
|
||||
if (array8 != 0)
|
||||
{
|
||||
uint[] array9 = this.chainValue;
|
||||
int num7 = 0;
|
||||
int @int = SerializationHeaderRecord.GetInt32(array8, num7);
|
||||
array9[2] = (uint)@int;
|
||||
uint[] array10 = this.chainValue;
|
||||
int int2 = SerializationHeaderRecord.GetInt32(this.salt, 4);
|
||||
array10[2] = (uint)int2;
|
||||
}
|
||||
uint[] array11 = this.chainValue;
|
||||
uint num8 = Blake2sDigest.blake2s_IV[3];
|
||||
array11[3] = num8;
|
||||
uint[] array12 = this.chainValue;
|
||||
uint num9 = Blake2sDigest.blake2s_IV[3];
|
||||
array12[3] = num9;
|
||||
byte[] array13 = this.personalization;
|
||||
if (array13 != 0)
|
||||
{
|
||||
uint[] array14 = this.chainValue;
|
||||
int num10 = 0;
|
||||
int int3 = SerializationHeaderRecord.GetInt32(array13, num10);
|
||||
array14[3] = (uint)int3;
|
||||
uint[] array15 = this.chainValue;
|
||||
int int4 = SerializationHeaderRecord.GetInt32(this.personalization, 4);
|
||||
array15[3] = (uint)int4;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BDE7 RID: 48615 RVA: 0x002A652C File Offset: 0x002A472C
|
||||
[Token(Token = "0x600BDE7")]
|
||||
[Address(RVA = "0x2599480", Offset = "0x2598480", VA = "0x182599480")]
|
||||
private void InitializeInternalState()
|
||||
{
|
||||
uint[] array = this.chainValue;
|
||||
int length = array.Length;
|
||||
int num = 0;
|
||||
uint[] array2 = this.internalState;
|
||||
int num2 = 0;
|
||||
Array.Copy(array, num2, array2, num, length);
|
||||
uint[] array3 = this.chainValue;
|
||||
int num3 = 0;
|
||||
int length2 = array3.Length;
|
||||
uint[] array4 = this.internalState;
|
||||
ulong num4;
|
||||
Array.Copy(Blake2sDigest.blake2s_IV, num3, array4, length2, (int)num4);
|
||||
uint[] array5 = this.internalState;
|
||||
uint num5 = Blake2sDigest.blake2s_IV[2];
|
||||
array5[6] = num5;
|
||||
uint[] array6 = this.internalState;
|
||||
uint num6 = Blake2sDigest.blake2s_IV[2];
|
||||
array6[6] = num6;
|
||||
uint[] array7 = this.internalState;
|
||||
uint num7 = Blake2sDigest.blake2s_IV[3];
|
||||
array7[7] = num7;
|
||||
uint[] array8 = this.internalState;
|
||||
uint num8 = Blake2sDigest.blake2s_IV[3];
|
||||
array8[7] = num8;
|
||||
}
|
||||
|
||||
// Token: 0x0600BDE8 RID: 48616 RVA: 0x002A6610 File Offset: 0x002A4810
|
||||
[Token(Token = "0x600BDE8")]
|
||||
[Address(RVA = "0x2599730", Offset = "0x2598730", VA = "0x182599730", Slot = "11")]
|
||||
public virtual void Update(byte b)
|
||||
{
|
||||
int num = this.bufferPos;
|
||||
uint num2;
|
||||
byte[] array;
|
||||
if (num2 != (uint)num)
|
||||
{
|
||||
array = this.buffer;
|
||||
return;
|
||||
}
|
||||
if (num == array.Length)
|
||||
{
|
||||
}
|
||||
byte[] array2 = this.buffer;
|
||||
int num3 = 0;
|
||||
this.Compress(array2, num3);
|
||||
byte[] array3 = this.buffer;
|
||||
int length = array3.Length;
|
||||
int num4 = 0;
|
||||
Array.Clear(array3, num4, length);
|
||||
this.buffer[0] = b;
|
||||
this.bufferPos = (int)((ulong)1L);
|
||||
}
|
||||
|
||||
// Token: 0x0600BDE9 RID: 48617 RVA: 0x002A6688 File Offset: 0x002A4888
|
||||
[Token(Token = "0x600BDE9")]
|
||||
[Address(RVA = "0x2598200", Offset = "0x2597200", VA = "0x182598200", Slot = "12")]
|
||||
public virtual void BlockUpdate(byte[] message, int offset, int len)
|
||||
{
|
||||
if (message != 0 && len != 0)
|
||||
{
|
||||
int num = this.bufferPos;
|
||||
int num2 = 0;
|
||||
if (num != 0)
|
||||
{
|
||||
byte[] array = this.buffer;
|
||||
uint num3;
|
||||
num3 -= (uint)num;
|
||||
Array.Copy(message, offset, array, num, len);
|
||||
Array.Copy(message, offset, array, num, (int)num3);
|
||||
if (num3 == (uint)len)
|
||||
{
|
||||
}
|
||||
byte[] array2 = this.buffer;
|
||||
int num4 = 0;
|
||||
this.Compress(array2, num4);
|
||||
byte[] array3 = this.buffer;
|
||||
this.bufferPos = num2;
|
||||
int length = array3.Length;
|
||||
int num5 = 0;
|
||||
Array.Clear(array3, num5, length);
|
||||
}
|
||||
num2 += offset;
|
||||
this.Compress(message, num2);
|
||||
num2 += 64;
|
||||
byte[] array4 = this.buffer;
|
||||
int num6 = 0;
|
||||
Array.Copy(message, num2, array4, num6, offset);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BDEA RID: 48618 RVA: 0x002A673C File Offset: 0x002A493C
|
||||
[Token(Token = "0x600BDEA")]
|
||||
[Address(RVA = "0x2598AD0", Offset = "0x2597AD0", VA = "0x182598AD0", Slot = "13")]
|
||||
public virtual int DoFinal(byte[] output, int outOffset)
|
||||
{
|
||||
this.f0 = (uint)((ulong)4294967295L);
|
||||
byte[] array = this.buffer;
|
||||
int num = 0;
|
||||
this.Compress(array, num);
|
||||
byte[] array2 = this.buffer;
|
||||
int length = array2.Length;
|
||||
int num2 = 0;
|
||||
Array.Clear(array2, num2, length);
|
||||
uint[] array3 = this.internalState;
|
||||
int length2 = array3.Length;
|
||||
int num3 = 0;
|
||||
Array.Clear(array3, num3, length2);
|
||||
uint[] array4 = this.chainValue;
|
||||
int num4 = 0;
|
||||
uint[] array6;
|
||||
if (num4 < array4.Length && num4 < this.digestLength)
|
||||
{
|
||||
byte[] array5 = Pack.UInt32_To_LE(array4[num4]);
|
||||
int num5 = this.digestLength;
|
||||
num5 -= num4;
|
||||
int num6 = 0;
|
||||
uint num7;
|
||||
Array.Copy(array5, num6, output, 0, (int)num7);
|
||||
array6 = this.chainValue;
|
||||
num4++;
|
||||
num4 += 4;
|
||||
}
|
||||
int length3 = array6.Length;
|
||||
int num8 = 0;
|
||||
Array.Clear(array6, num8, length3);
|
||||
return this.digestLength;
|
||||
}
|
||||
|
||||
// Token: 0x0600BDEB RID: 48619 RVA: 0x002A682C File Offset: 0x002A4A2C
|
||||
[Token(Token = "0x600BDEB")]
|
||||
[Address(RVA = "0x25996B0", Offset = "0x25986B0", VA = "0x1825996B0", Slot = "14")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
int num = 0;
|
||||
this.bufferPos = num;
|
||||
this.t1 = (uint)num;
|
||||
this.t0 = (uint)num;
|
||||
this.chainValue = num;
|
||||
byte[] array = this.buffer;
|
||||
int length = array.Length;
|
||||
int num2 = 0;
|
||||
Array.Clear(array, num2, length);
|
||||
byte[] array2 = this.key;
|
||||
if (array2 != 0)
|
||||
{
|
||||
int length2 = array2.Length;
|
||||
int num3 = 0;
|
||||
byte[] array3 = this.buffer;
|
||||
int num4 = 0;
|
||||
Array.Copy(array2, num4, array3, num3, length2);
|
||||
this.bufferPos = (int)((ulong)64L);
|
||||
}
|
||||
this.Init();
|
||||
}
|
||||
|
||||
// Token: 0x0600BDEC RID: 48620 RVA: 0x002A68B8 File Offset: 0x002A4AB8
|
||||
[Token(Token = "0x600BDEC")]
|
||||
[Address(RVA = "0x2598340", Offset = "0x2597340", VA = "0x182598340")]
|
||||
private void Compress(byte[] message, int messagePos)
|
||||
{
|
||||
this.InitializeInternalState();
|
||||
uint[] array = new uint[16];
|
||||
int num = 0;
|
||||
num++;
|
||||
array[0] = array;
|
||||
byte[,] array2 = Blake2sDigest.blake2s_sigma;
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600BDED RID: 48621 RVA: 0x002A6B20 File Offset: 0x002A4D20
|
||||
[Token(Token = "0x600BDED")]
|
||||
[Address(RVA = "0x2598C30", Offset = "0x2597C30", VA = "0x182598C30")]
|
||||
private void G(uint m1, uint m2, int posA, int posB, int posC, int posD)
|
||||
{
|
||||
uint[] array = this.internalState;
|
||||
int length = array.Length;
|
||||
uint num;
|
||||
uint num2;
|
||||
num += num2;
|
||||
num += m1;
|
||||
posA.m_value = (int)num;
|
||||
int length2 = this.internalState.Length;
|
||||
uint num3;
|
||||
array.m_value = num3;
|
||||
uint[] array2 = this.internalState;
|
||||
int length3 = array2.Length;
|
||||
uint num4;
|
||||
uint num5;
|
||||
num4 += num5;
|
||||
array2[0] = num4;
|
||||
int length4 = this.internalState.Length;
|
||||
int length5 = this.internalState.Length;
|
||||
uint num6;
|
||||
uint num7;
|
||||
num6 += num7;
|
||||
num6 += m2;
|
||||
posA.m_value = (int)num6;
|
||||
int length6 = this.internalState.Length;
|
||||
uint num8;
|
||||
array.m_value = num8;
|
||||
uint[] array3 = this.internalState;
|
||||
int length7 = array3.Length;
|
||||
uint num9;
|
||||
uint num10;
|
||||
num9 += num10;
|
||||
array3[0] = num9;
|
||||
int length8 = this.internalState.Length;
|
||||
}
|
||||
|
||||
// Token: 0x0600BDEE RID: 48622 RVA: 0x002A6BFC File Offset: 0x002A4DFC
|
||||
[Token(Token = "0x600BDEE")]
|
||||
[Address(RVA = "0x2599EA0", Offset = "0x2598EA0", VA = "0x182599EA0")]
|
||||
private uint rotr32(uint x, int rot)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x17001DA6 RID: 7590
|
||||
// (get) Token: 0x0600BDEF RID: 48623 RVA: 0x002A6C0C File Offset: 0x002A4E0C
|
||||
[Token(Token = "0x17001DA6")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BDEF")]
|
||||
[Address(RVA = "0x2599E70", Offset = "0x2598E70", VA = "0x182599E70", Slot = "15")]
|
||||
get
|
||||
{
|
||||
return "BLAKE2s";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BDF0 RID: 48624 RVA: 0x002A6C20 File Offset: 0x002A4E20
|
||||
[Token(Token = "0x600BDF0")]
|
||||
[Address(RVA = "0x40F000", Offset = "0x40E000", VA = "0x18040F000", Slot = "16")]
|
||||
public virtual int GetDigestSize()
|
||||
{
|
||||
return this.digestLength;
|
||||
}
|
||||
|
||||
// Token: 0x0600BDF1 RID: 48625 RVA: 0x002A6C34 File Offset: 0x002A4E34
|
||||
[Token(Token = "0x600BDF1")]
|
||||
[Address(RVA = "0x8BCFC0", Offset = "0x8BBFC0", VA = "0x1808BCFC0", Slot = "17")]
|
||||
public virtual int GetByteLength()
|
||||
{
|
||||
return 64;
|
||||
}
|
||||
|
||||
// Token: 0x0600BDF2 RID: 48626 RVA: 0x002A6C44 File Offset: 0x002A4E44
|
||||
[Token(Token = "0x600BDF2")]
|
||||
[Address(RVA = "0x25964F0", Offset = "0x25954F0", VA = "0x1825964F0", Slot = "18")]
|
||||
public virtual void ClearKey()
|
||||
{
|
||||
byte[] array = this.key;
|
||||
if (array != 0)
|
||||
{
|
||||
int length = array.Length;
|
||||
int num = 0;
|
||||
Array.Clear(array, num, length);
|
||||
byte[] array2 = this.buffer;
|
||||
int length2 = array2.Length;
|
||||
int num2 = 0;
|
||||
Array.Clear(array2, num2, length2);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BDF3 RID: 48627 RVA: 0x002A6C90 File Offset: 0x002A4E90
|
||||
[Token(Token = "0x600BDF3")]
|
||||
[Address(RVA = "0x2596540", Offset = "0x2595540", VA = "0x182596540", Slot = "19")]
|
||||
public virtual void ClearSalt()
|
||||
{
|
||||
byte[] array = this.salt;
|
||||
if (array != 0)
|
||||
{
|
||||
int length = array.Length;
|
||||
int num = 0;
|
||||
Array.Clear(array, num, length);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BDF4 RID: 48628 RVA: 0x002A6CBC File Offset: 0x002A4EBC
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600BDF4")]
|
||||
[Address(RVA = "0x25997F0", Offset = "0x25987F0", VA = "0x1825997F0")]
|
||||
static Blake2sDigest()
|
||||
{
|
||||
uint[] array = new uint[8];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.013B76F7DD3E0346CB351F079CC062EFBD293457).FieldHandle);
|
||||
Blake2sDigest.blake2s_IV = array;
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.7F817443C1F736721DD92BD67C7C8994C7B8DEBF).FieldHandle);
|
||||
Blake2sDigest.blake2s_sigma = array;
|
||||
}
|
||||
|
||||
// Token: 0x04007809 RID: 30729
|
||||
[Token(Token = "0x4007809")]
|
||||
private static readonly uint[] blake2s_IV;
|
||||
|
||||
// Token: 0x0400780A RID: 30730
|
||||
[Token(Token = "0x400780A")]
|
||||
private static readonly byte[,] blake2s_sigma;
|
||||
|
||||
// Token: 0x0400780B RID: 30731
|
||||
[Token(Token = "0x400780B")]
|
||||
private const int ROUNDS = 10;
|
||||
|
||||
// Token: 0x0400780C RID: 30732
|
||||
[Token(Token = "0x400780C")]
|
||||
private const int BLOCK_LENGTH_BYTES = 64;
|
||||
|
||||
// Token: 0x0400780D RID: 30733
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400780D")]
|
||||
private int digestLength;
|
||||
|
||||
// Token: 0x0400780E RID: 30734
|
||||
[FieldOffset(Offset = "0x14")]
|
||||
[Token(Token = "0x400780E")]
|
||||
private int keyLength;
|
||||
|
||||
// Token: 0x0400780F RID: 30735
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400780F")]
|
||||
private byte[] salt;
|
||||
|
||||
// Token: 0x04007810 RID: 30736
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4007810")]
|
||||
private byte[] personalization;
|
||||
|
||||
// Token: 0x04007811 RID: 30737
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4007811")]
|
||||
private byte[] key;
|
||||
|
||||
// Token: 0x04007812 RID: 30738
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4007812")]
|
||||
private byte[] buffer;
|
||||
|
||||
// Token: 0x04007813 RID: 30739
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4007813")]
|
||||
private int bufferPos;
|
||||
|
||||
// Token: 0x04007814 RID: 30740
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4007814")]
|
||||
private uint[] internalState;
|
||||
|
||||
// Token: 0x04007815 RID: 30741
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4007815")]
|
||||
private uint[] chainValue;
|
||||
|
||||
// Token: 0x04007816 RID: 30742
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4007816")]
|
||||
private uint t0;
|
||||
|
||||
// Token: 0x04007817 RID: 30743
|
||||
[FieldOffset(Offset = "0x54")]
|
||||
[Token(Token = "0x4007817")]
|
||||
private uint t1;
|
||||
|
||||
// Token: 0x04007818 RID: 30744
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4007818")]
|
||||
private uint f0;
|
||||
}
|
||||
}
|
||||
+557
@@ -0,0 +1,557 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Rfc8032;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DC2 RID: 7618
|
||||
[Token(Token = "0x2001DC2")]
|
||||
public class Dstu7564Digest : IDigest, IMemoable
|
||||
{
|
||||
// Token: 0x0600BDF5 RID: 48629 RVA: 0x002A6CF4 File Offset: 0x002A4EF4
|
||||
[Token(Token = "0x600BDF5")]
|
||||
[Address(RVA = "0x259FA80", Offset = "0x259EA80", VA = "0x18259FA80")]
|
||||
public Dstu7564Digest(Dstu7564Digest digest)
|
||||
{
|
||||
this.CopyIn(digest);
|
||||
}
|
||||
|
||||
// Token: 0x0600BDF6 RID: 48630 RVA: 0x002A6D10 File Offset: 0x002A4F10
|
||||
[Token(Token = "0x600BDF6")]
|
||||
[Address(RVA = "0x259DFD0", Offset = "0x259CFD0", VA = "0x18259DFD0")]
|
||||
private void CopyIn(Dstu7564Digest digest)
|
||||
{
|
||||
int num = digest.hashSize;
|
||||
this.hashSize = num;
|
||||
int num2 = digest.blockSize;
|
||||
this.blockSize = num2;
|
||||
int num3 = digest.rounds;
|
||||
this.rounds = num3;
|
||||
int num4 = this.columns;
|
||||
if (num4 > 0 && num4 == digest.S3)
|
||||
{
|
||||
ulong[] array = this.state;
|
||||
ulong[] array2 = digest.state;
|
||||
int num5 = 0;
|
||||
int num6 = 0;
|
||||
Array.Copy(array2, num6, array, num5, num4);
|
||||
int num7 = this.blockSize;
|
||||
int num8 = 0;
|
||||
byte[] array3 = this.buf;
|
||||
int num9 = 0;
|
||||
Array.Copy(digest.buf, num9, array3, num8, num7);
|
||||
}
|
||||
int num10 = digest.columns;
|
||||
this.columns = num10;
|
||||
ulong[] array4 = Arrays.Clone(digest.state);
|
||||
int num11 = this.columns;
|
||||
this.state = array4;
|
||||
ulong[] array5 = new ulong[num11];
|
||||
int num12 = this.columns;
|
||||
this.tempState1 = array5;
|
||||
ulong[] array6 = new ulong[num12];
|
||||
this.tempState2 = array6;
|
||||
byte[] array7 = Arrays.Clone(digest.buf);
|
||||
this.buf = array7;
|
||||
ulong num13 = digest.inputBlocks;
|
||||
this.inputBlocks = num13;
|
||||
int num14 = digest.bufOff;
|
||||
this.bufOff = num14;
|
||||
}
|
||||
|
||||
// Token: 0x0600BDF7 RID: 48631 RVA: 0x002A6E40 File Offset: 0x002A5040
|
||||
[Token(Token = "0x600BDF7")]
|
||||
[Address(RVA = "0x259FAB0", Offset = "0x259EAB0", VA = "0x18259FAB0")]
|
||||
public Dstu7564Digest(int hashSizeBits)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BDF7)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Dstu7564Digest::.ctor(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_A6:
|
||||
stloc:ArgumentException(var_11_B0, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Hash size is not recommended. Use 256/384/512 instead")))
|
||||
}
|
||||
|
||||
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: 0x17001DA7 RID: 7591
|
||||
// (get) Token: 0x0600BDF8 RID: 48632 RVA: 0x002A6F00 File Offset: 0x002A5100
|
||||
[Token(Token = "0x17001DA7")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BDF8")]
|
||||
[Address(RVA = "0x259FC00", Offset = "0x259EC00", VA = "0x18259FC00", Slot = "13")]
|
||||
get
|
||||
{
|
||||
return "DSTU7564";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BDF9 RID: 48633 RVA: 0x002A6F14 File Offset: 0x002A5114
|
||||
[Token(Token = "0x600BDF9")]
|
||||
[Address(RVA = "0x40F000", Offset = "0x40E000", VA = "0x18040F000", Slot = "14")]
|
||||
public virtual int GetDigestSize()
|
||||
{
|
||||
return this.hashSize;
|
||||
}
|
||||
|
||||
// Token: 0x0600BDFA RID: 48634 RVA: 0x002A6F28 File Offset: 0x002A5128
|
||||
[Token(Token = "0x600BDFA")]
|
||||
[Address(RVA = "0x4936D0", Offset = "0x4926D0", VA = "0x1804936D0", Slot = "15")]
|
||||
public virtual int GetByteLength()
|
||||
{
|
||||
return this.blockSize;
|
||||
}
|
||||
|
||||
// Token: 0x0600BDFB RID: 48635 RVA: 0x002A6F3C File Offset: 0x002A513C
|
||||
[Token(Token = "0x600BDFB")]
|
||||
[Address(RVA = "0x259F8F0", Offset = "0x259E8F0", VA = "0x18259F8F0", Slot = "16")]
|
||||
public virtual void Update(byte input)
|
||||
{
|
||||
byte[] array = this.buf;
|
||||
int num = this.bufOff + 1;
|
||||
this.bufOff = num;
|
||||
int num2 = this.blockSize;
|
||||
if (this.bufOff == num2)
|
||||
{
|
||||
this.Reset();
|
||||
this.bufOff = (int)((ulong)0L);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BDFC RID: 48636 RVA: 0x002A6F88 File Offset: 0x002A5188
|
||||
[Token(Token = "0x600BDFC")]
|
||||
[Address(RVA = "0x259DEB0", Offset = "0x259CEB0", VA = "0x18259DEB0", Slot = "17")]
|
||||
public virtual void BlockUpdate(byte[] input, int inOff, int length)
|
||||
{
|
||||
if (this.bufOff != 0)
|
||||
{
|
||||
if (length <= 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
int byteLength = this.GetByteLength();
|
||||
while (this.bufOff != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
if (length > 0)
|
||||
{
|
||||
this.Reset();
|
||||
int num = this.blockSize;
|
||||
while (length >= num)
|
||||
{
|
||||
}
|
||||
if (length > 0)
|
||||
{
|
||||
int byteLength2 = this.GetByteLength();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BDFD RID: 48637 RVA: 0x002A6FDC File Offset: 0x002A51DC
|
||||
[Token(Token = "0x600BDFD")]
|
||||
[Address(RVA = "0x259E160", Offset = "0x259D160", VA = "0x18259E160", Slot = "18")]
|
||||
public virtual int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
int num = this.bufOff;
|
||||
byte[] array = this.buf;
|
||||
int num2 = num + 1;
|
||||
this.bufOff = num2;
|
||||
int num3 = 0;
|
||||
int num4 = this.blockSize;
|
||||
int num5 = this.bufOff;
|
||||
if (num5 < num4)
|
||||
{
|
||||
byte[] array2 = this.buf;
|
||||
int num6 = num5 + 1;
|
||||
this.bufOff = num6;
|
||||
int num7 = this.bufOff;
|
||||
}
|
||||
this.bufOff = num3;
|
||||
this.Reset();
|
||||
int num8 = this.bufOff;
|
||||
byte[] array3 = this.buf;
|
||||
int num9 = num5 + 1;
|
||||
this.bufOff = num9;
|
||||
int num10 = this.bufOff;
|
||||
ulong num11 = this.inputBlocks;
|
||||
int num12 = this.blockSize;
|
||||
byte[] array4 = this.buf;
|
||||
ulong num13 = num11 * (ulong)num12;
|
||||
num13 += (ulong)num;
|
||||
Ed25519.Encode32((uint)num13, array4, num10);
|
||||
ulong num14 = this.inputBlocks;
|
||||
int num15 = this.blockSize;
|
||||
int num16 = this.bufOff;
|
||||
byte[] array5 = this.buf;
|
||||
Pack.UInt64_To_LE(num14 * (ulong)num15, array5, num16);
|
||||
this.Reset();
|
||||
int num17 = this.columns;
|
||||
int num18 = 0;
|
||||
ulong[] array6 = this.tempState1;
|
||||
int num19 = 0;
|
||||
Array.Copy(this.state, num19, array6, num18, num17);
|
||||
ulong[] array7 = this.tempState1;
|
||||
this.P(array7);
|
||||
int num20;
|
||||
if (this.columns > 0)
|
||||
{
|
||||
ulong[] array8 = this.state;
|
||||
ulong[] array9 = this.tempState1;
|
||||
num3++;
|
||||
num20 = this.columns;
|
||||
}
|
||||
int num21 = this.hashSize;
|
||||
num21 += num3;
|
||||
num20 -= num21;
|
||||
if (num20 < num20)
|
||||
{
|
||||
Pack.UInt64_To_LE(this.state[num20], output, outOff);
|
||||
num20++;
|
||||
}
|
||||
return this.hashSize;
|
||||
}
|
||||
|
||||
// Token: 0x0600BDFE RID: 48638 RVA: 0x002A7178 File Offset: 0x002A5378
|
||||
[Token(Token = "0x600BDFE")]
|
||||
[Address(RVA = "0x259EA00", Offset = "0x259DA00", VA = "0x18259EA00", Slot = "19")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
ulong[] array = this.state;
|
||||
int length = array.Length;
|
||||
int num = 0;
|
||||
Array.Clear(array, num, length);
|
||||
ulong[] array2 = this.state;
|
||||
int num2 = this.blockSize;
|
||||
array2[0] = (ulong)num2;
|
||||
int num3 = 0;
|
||||
this.inputBlocks = (ulong)num3;
|
||||
this.bufOff = num3;
|
||||
}
|
||||
|
||||
// Token: 0x0600BDFF RID: 48639 RVA: 0x002A71D0 File Offset: 0x002A53D0
|
||||
[Token(Token = "0x600BDFF")]
|
||||
[Address(RVA = "0x259E6E0", Offset = "0x259D6E0", VA = "0x18259E6E0", Slot = "20")]
|
||||
protected virtual void ProcessBlock(byte[] input, int inOff)
|
||||
{
|
||||
int num = 0;
|
||||
if (this.S3 > num)
|
||||
{
|
||||
ulong num2 = Pack.LE_To_UInt64(input, inOff);
|
||||
ulong[] array = this.state;
|
||||
ulong[] array2 = this.tempState1;
|
||||
ulong num3 = array[num];
|
||||
array2[0] = num3;
|
||||
ulong[] array3 = this.tempState2;
|
||||
num++;
|
||||
array3[0] = num2;
|
||||
}
|
||||
ulong[] array4 = this.tempState1;
|
||||
this.P(array4);
|
||||
ulong[] array5 = this.tempState2;
|
||||
if (this.rounds > num)
|
||||
{
|
||||
int num4 = this.columns;
|
||||
if (num4 > 0)
|
||||
{
|
||||
num++;
|
||||
ulong num5;
|
||||
num4 = (int)((ulong)num4 - num5);
|
||||
}
|
||||
this.ShiftRows(array5);
|
||||
this.SubBytes(array5);
|
||||
this.MixColumns(array5);
|
||||
num++;
|
||||
}
|
||||
if (this.S3 > num)
|
||||
{
|
||||
ulong[] array6 = this.state;
|
||||
ulong[] array7 = this.tempState1;
|
||||
ulong num6 = this.tempState2[num];
|
||||
num++;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE00 RID: 48640 RVA: 0x002A72AC File Offset: 0x002A54AC
|
||||
[Token(Token = "0x600BE00")]
|
||||
[Address(RVA = "0x259E630", Offset = "0x259D630", VA = "0x18259E630")]
|
||||
private void P(ulong[] s)
|
||||
{
|
||||
int num = 0;
|
||||
if (this.rounds > num)
|
||||
{
|
||||
int num2 = 0;
|
||||
if (this.S3 > num2)
|
||||
{
|
||||
num2++;
|
||||
num += 16;
|
||||
}
|
||||
this.ShiftRows(s);
|
||||
this.SubBytes(s);
|
||||
this.MixColumns(s);
|
||||
num++;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE01 RID: 48641 RVA: 0x002A72F8 File Offset: 0x002A54F8
|
||||
[Token(Token = "0x600BE01")]
|
||||
[Address(RVA = "0x259E920", Offset = "0x259D920", VA = "0x18259E920")]
|
||||
private void Q(ulong[] s)
|
||||
{
|
||||
int num = 0;
|
||||
if (this.rounds > num)
|
||||
{
|
||||
int num2 = this.columns;
|
||||
int num3 = 0;
|
||||
if (num2 > 0)
|
||||
{
|
||||
num3++;
|
||||
ulong num4;
|
||||
num2 = (int)((ulong)num2 - num4);
|
||||
}
|
||||
this.ShiftRows(s);
|
||||
this.SubBytes(s);
|
||||
this.MixColumns(s);
|
||||
num++;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE02 RID: 48642 RVA: 0x002A7344 File Offset: 0x002A5544
|
||||
[Token(Token = "0x600BE02")]
|
||||
[Address(RVA = "0x259E420", Offset = "0x259D420", VA = "0x18259E420")]
|
||||
private static ulong MixColumn(ulong c)
|
||||
{
|
||||
return c;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE03 RID: 48643 RVA: 0x002A7354 File Offset: 0x002A5554
|
||||
[Token(Token = "0x600BE03")]
|
||||
[Address(RVA = "0x259E560", Offset = "0x259D560", VA = "0x18259E560")]
|
||||
private void MixColumns(ulong[] s)
|
||||
{
|
||||
int num = 0;
|
||||
if (this.S3 > num)
|
||||
{
|
||||
ulong num2 = Dstu7564Digest.MixColumn(s[num]);
|
||||
num++;
|
||||
s[0] = num2;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE04 RID: 48644 RVA: 0x002A738C File Offset: 0x002A558C
|
||||
[Token(Token = "0x600BE04")]
|
||||
[Address(RVA = "0x259EB00", Offset = "0x259DB00", VA = "0x18259EB00")]
|
||||
private static ulong Rotate(int n, ulong x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE05 RID: 48645 RVA: 0x002A739C File Offset: 0x002A559C
|
||||
[Token(Token = "0x600BE05")]
|
||||
[Address(RVA = "0x259EB20", Offset = "0x259DB20", VA = "0x18259EB20")]
|
||||
private void ShiftRows(ulong[] s)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BE05)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Dstu7564Digest::ShiftRows(System.UInt64[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_13E:
|
||||
stloc:InvalidOperationException(var_18_148, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("unsupported state size: only 512/1024 are allowed")))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE06 RID: 48646 RVA: 0x002A74F4 File Offset: 0x002A56F4
|
||||
[Token(Token = "0x600BE06")]
|
||||
[Address(RVA = "0x259F5F0", Offset = "0x259E5F0", VA = "0x18259F5F0")]
|
||||
private void SubBytes(ulong[] s)
|
||||
{
|
||||
int num = 0;
|
||||
if (this.S3 > num)
|
||||
{
|
||||
num += 4;
|
||||
int length = Dstu7564Digest.S0.Length;
|
||||
int length2 = Dstu7564Digest.S1.Length;
|
||||
int length3 = Dstu7564Digest.S2.Length;
|
||||
int length4 = Dstu7564Digest.S3.Length;
|
||||
num++;
|
||||
byte b;
|
||||
num.m_value = (int)b;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE07 RID: 48647 RVA: 0x002A7550 File Offset: 0x002A5750
|
||||
[Token(Token = "0x600BE07")]
|
||||
[Address(RVA = "0x259E100", Offset = "0x259D100", VA = "0x18259E100", Slot = "21")]
|
||||
public virtual IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BE07)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Dstu7564Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
call:void(Dstu7564Digest::CopyIn, ldloc:Dstu7564Digest(var_0), ldloc:Dstu7564Digest(this))
|
||||
}
|
||||
|
||||
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: 0x0600BE08 RID: 48648 RVA: 0x002A7564 File Offset: 0x002A5764
|
||||
[Token(Token = "0x600BE08")]
|
||||
[Address(RVA = "0x259EA60", Offset = "0x259DA60", VA = "0x18259EA60", Slot = "22")]
|
||||
public virtual void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x0600BE09 RID: 48649 RVA: 0x002A757C File Offset: 0x002A577C
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600BE09")]
|
||||
[Address(RVA = "0x259F970", Offset = "0x259E970", VA = "0x18259F970")]
|
||||
static Dstu7564Digest()
|
||||
{
|
||||
byte[] array = new byte[256];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.6F5D2C37DFCDB1E72B86BC606C0E717C70E188A4).FieldHandle);
|
||||
Dstu7564Digest.S0 = array;
|
||||
byte[] array2 = new byte[256];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.79039C5C22F863E8EAE0E08E1318F343680E50A8).FieldHandle);
|
||||
Dstu7564Digest.S1 = array2;
|
||||
byte[] array3 = new byte[256];
|
||||
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.340B4B55E1DFD4BADC69CA57007FC1A4CDBA7943).FieldHandle);
|
||||
Dstu7564Digest.S2 = array3;
|
||||
byte[] array4 = new byte[256];
|
||||
RuntimeHelpers.InitializeArray(array4, fieldof(<PrivateImplementationDetails>.5CFF612F2058DE2C287ECA5C6407ECC471F65576).FieldHandle);
|
||||
Dstu7564Digest.S3 = array4;
|
||||
}
|
||||
|
||||
// Token: 0x04007819 RID: 30745
|
||||
[Token(Token = "0x4007819")]
|
||||
private const int NB_512 = 8;
|
||||
|
||||
// Token: 0x0400781A RID: 30746
|
||||
[Token(Token = "0x400781A")]
|
||||
private const int NB_1024 = 16;
|
||||
|
||||
// Token: 0x0400781B RID: 30747
|
||||
[Token(Token = "0x400781B")]
|
||||
private const int NR_512 = 10;
|
||||
|
||||
// Token: 0x0400781C RID: 30748
|
||||
[Token(Token = "0x400781C")]
|
||||
private const int NR_1024 = 14;
|
||||
|
||||
// Token: 0x0400781D RID: 30749
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400781D")]
|
||||
private int hashSize;
|
||||
|
||||
// Token: 0x0400781E RID: 30750
|
||||
[FieldOffset(Offset = "0x14")]
|
||||
[Token(Token = "0x400781E")]
|
||||
private int blockSize;
|
||||
|
||||
// Token: 0x0400781F RID: 30751
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400781F")]
|
||||
private int columns;
|
||||
|
||||
// Token: 0x04007820 RID: 30752
|
||||
[FieldOffset(Offset = "0x1C")]
|
||||
[Token(Token = "0x4007820")]
|
||||
private int rounds;
|
||||
|
||||
// Token: 0x04007821 RID: 30753
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4007821")]
|
||||
private ulong[] state;
|
||||
|
||||
// Token: 0x04007822 RID: 30754
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4007822")]
|
||||
private ulong[] tempState1;
|
||||
|
||||
// Token: 0x04007823 RID: 30755
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4007823")]
|
||||
private ulong[] tempState2;
|
||||
|
||||
// Token: 0x04007824 RID: 30756
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4007824")]
|
||||
private ulong inputBlocks;
|
||||
|
||||
// Token: 0x04007825 RID: 30757
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4007825")]
|
||||
private int bufOff;
|
||||
|
||||
// Token: 0x04007826 RID: 30758
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4007826")]
|
||||
private byte[] buf;
|
||||
|
||||
// Token: 0x04007827 RID: 30759
|
||||
[Token(Token = "0x4007827")]
|
||||
private static readonly byte[] S0;
|
||||
|
||||
// Token: 0x04007828 RID: 30760
|
||||
[Token(Token = "0x4007828")]
|
||||
private static readonly byte[] S1;
|
||||
|
||||
// Token: 0x04007829 RID: 30761
|
||||
[Token(Token = "0x4007829")]
|
||||
private static readonly byte[] S2;
|
||||
|
||||
// Token: 0x0400782A RID: 30762
|
||||
[Token(Token = "0x400782A")]
|
||||
private static readonly byte[] S3;
|
||||
}
|
||||
}
|
||||
+876
@@ -0,0 +1,876 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DC4 RID: 7620
|
||||
[Token(Token = "0x2001DC4")]
|
||||
public abstract class GOST3411_2012Digest : IDigest, IMemoable
|
||||
{
|
||||
// Token: 0x0600BE21 RID: 48673 RVA: 0x002A8414 File Offset: 0x002A6614
|
||||
[Token(Token = "0x600BE21")]
|
||||
[Address(RVA = "0x25A3D70", Offset = "0x25A2D70", VA = "0x1825A3D70")]
|
||||
protected GOST3411_2012Digest(byte[] IV)
|
||||
{
|
||||
byte[] array = new byte[64];
|
||||
this.IV = array;
|
||||
byte[] array2 = new byte[64];
|
||||
this.N = array2;
|
||||
byte[] array3 = new byte[64];
|
||||
this.Sigma = array3;
|
||||
byte[] array4 = new byte[64];
|
||||
this.Ki = array4;
|
||||
byte[] array5 = new byte[64];
|
||||
this.m = array5;
|
||||
byte[] array6 = new byte[64];
|
||||
this.h = array6;
|
||||
byte[] array7 = new byte[64];
|
||||
this.tmp = array7;
|
||||
byte[] array8 = new byte[64];
|
||||
this.block = array8;
|
||||
this.bOff = (int)((ulong)64L);
|
||||
base..ctor();
|
||||
byte[] iv = this.IV;
|
||||
Array.Copy(IV, iv, 64);
|
||||
byte[] array9 = this.h;
|
||||
Array.Copy(IV, array9, 64);
|
||||
}
|
||||
|
||||
// Token: 0x17001DA9 RID: 7593
|
||||
// (get) Token: 0x0600BE22 RID: 48674
|
||||
[Token(Token = "0x17001DA9")]
|
||||
public abstract string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BE22")]
|
||||
[Address(Slot = "13")]
|
||||
get;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE23 RID: 48675
|
||||
[Token(Token = "0x600BE23")]
|
||||
[Address(Slot = "14")]
|
||||
public abstract IMemoable Copy();
|
||||
|
||||
// Token: 0x0600BE24 RID: 48676 RVA: 0x002A84D8 File Offset: 0x002A66D8
|
||||
[Token(Token = "0x600BE24")]
|
||||
[Address(RVA = "0x25A0580", Offset = "0x259F580", VA = "0x1825A0580", Slot = "15")]
|
||||
public virtual int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
int num = this.bOff;
|
||||
int num2 = 0;
|
||||
uint num3;
|
||||
num3 -= (uint)num;
|
||||
if (num != 0)
|
||||
{
|
||||
byte[] array = this.m;
|
||||
num2++;
|
||||
while (num2 != num)
|
||||
{
|
||||
}
|
||||
}
|
||||
byte[] array2 = this.m;
|
||||
uint num4;
|
||||
num4 -= num3;
|
||||
int num5 = this.bOff;
|
||||
if (num5 != 64)
|
||||
{
|
||||
byte[] array3 = this.m;
|
||||
Array.Copy(this.block, num5, array3, num, (int)num3);
|
||||
}
|
||||
byte[] array4 = this.m;
|
||||
byte[] n = this.N;
|
||||
byte[] array5 = this.h;
|
||||
this.g_N(array5, n, array4);
|
||||
byte[] sigma = this.Sigma;
|
||||
byte[] array6 = this.m;
|
||||
byte b = (byte)((int)b + num2);
|
||||
byte b2;
|
||||
b2 += b;
|
||||
byte[] array7 = this.h;
|
||||
byte[] n2 = this.N;
|
||||
byte[] zero = GOST3411_2012Digest.Zero;
|
||||
this.g_N(array7, zero, n2);
|
||||
byte[] sigma2 = this.Sigma;
|
||||
byte[] array8 = this.h;
|
||||
byte[] zero2 = GOST3411_2012Digest.Zero;
|
||||
this.g_N(array8, zero2, sigma2);
|
||||
byte[] array9 = this.h;
|
||||
byte[] array10 = this.tmp;
|
||||
int length = array9.Length;
|
||||
byte[] array11;
|
||||
if (length > 0)
|
||||
{
|
||||
num2++;
|
||||
array11 = this.tmp;
|
||||
}
|
||||
int num6 = 0;
|
||||
ulong num7;
|
||||
Array.Copy(array11, num6, output, outOff, (int)num7);
|
||||
byte[] n3 = this.N;
|
||||
this.bOff = (int)((ulong)64L);
|
||||
int num8 = 0;
|
||||
Arrays.Fill(n3, (byte)num8);
|
||||
byte[] sigma3 = this.Sigma;
|
||||
int num9 = 0;
|
||||
Arrays.Fill(sigma3, (byte)num9);
|
||||
byte[] array12 = this.h;
|
||||
int num10 = 0;
|
||||
byte[] iv = this.IV;
|
||||
int num11 = 0;
|
||||
ulong num12;
|
||||
Array.Copy(iv, num11, array12, num10, (int)num12);
|
||||
byte[] array13 = this.block;
|
||||
int num13 = 0;
|
||||
Arrays.Fill(array13, (byte)num13);
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600BE25 RID: 48677 RVA: 0x002A8670 File Offset: 0x002A6870
|
||||
[Token(Token = "0x600BE25")]
|
||||
[Address(RVA = "0x8BCFC0", Offset = "0x8BBFC0", VA = "0x1808BCFC0", Slot = "6")]
|
||||
public int GetByteLength()
|
||||
{
|
||||
return 64;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE26 RID: 48678
|
||||
[Token(Token = "0x600BE26")]
|
||||
[Address(Slot = "16")]
|
||||
public abstract int GetDigestSize();
|
||||
|
||||
// Token: 0x0600BE27 RID: 48679 RVA: 0x002A8680 File Offset: 0x002A6880
|
||||
[Token(Token = "0x600BE27")]
|
||||
[Address(RVA = "0x25A3100", Offset = "0x25A2100", VA = "0x1825A3100", Slot = "10")]
|
||||
public void Reset()
|
||||
{
|
||||
byte[] n = this.N;
|
||||
this.bOff = (int)((ulong)64L);
|
||||
int num = 0;
|
||||
Arrays.Fill(n, (byte)num);
|
||||
byte[] sigma = this.Sigma;
|
||||
int num2 = 0;
|
||||
Arrays.Fill(sigma, (byte)num2);
|
||||
byte[] array = this.h;
|
||||
int num3 = 0;
|
||||
byte[] iv = this.IV;
|
||||
int num4 = 0;
|
||||
ulong num5;
|
||||
Array.Copy(iv, num4, array, num3, (int)num5);
|
||||
byte[] array2 = this.block;
|
||||
int num6 = 0;
|
||||
Arrays.Fill(array2, (byte)num6);
|
||||
}
|
||||
|
||||
// Token: 0x0600BE28 RID: 48680 RVA: 0x002A86F0 File Offset: 0x002A68F0
|
||||
[Token(Token = "0x600BE28")]
|
||||
[Address(RVA = "0x25A31B0", Offset = "0x25A21B0", VA = "0x1825A31B0", Slot = "12")]
|
||||
public void Reset(IMemoable other)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
}
|
||||
while (other == 0);
|
||||
this.bOff = num;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE29 RID: 48681 RVA: 0x002A8714 File Offset: 0x002A6914
|
||||
[Token(Token = "0x600BE29")]
|
||||
[Address(RVA = "0x25A3340", Offset = "0x25A2340", VA = "0x1825A3340", Slot = "7")]
|
||||
public void Update(byte input)
|
||||
{
|
||||
byte[] array = this.block;
|
||||
int num = this.bOff;
|
||||
int num2 = num - 1;
|
||||
this.bOff = num2;
|
||||
int num3 = num - 1;
|
||||
if (this.bOff == 0)
|
||||
{
|
||||
byte[] array2 = this.block;
|
||||
byte[] n = this.N;
|
||||
byte[] array3 = this.h;
|
||||
this.g_N(array3, n, array2);
|
||||
byte[] n2 = this.N;
|
||||
this.addMod512(n2, 512);
|
||||
byte[] array4 = this.block;
|
||||
byte[] sigma = this.Sigma;
|
||||
this.addMod512(sigma, array4);
|
||||
this.bOff = (int)((ulong)64L);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE2A RID: 48682 RVA: 0x002A87AC File Offset: 0x002A69AC
|
||||
[Token(Token = "0x600BE2A")]
|
||||
[Address(RVA = "0x25A0060", Offset = "0x259F060", VA = "0x1825A0060", Slot = "8")]
|
||||
public void BlockUpdate(byte[] input, int inOff, int len)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = this.bOff;
|
||||
if (num2 != 64 && len > 0)
|
||||
{
|
||||
int num3 = num2 - 1;
|
||||
byte[] array = this.block;
|
||||
this.bOff = num3;
|
||||
int num4 = this.bOff;
|
||||
if (num4 == 0)
|
||||
{
|
||||
byte[] array2 = this.block;
|
||||
byte[] n = this.N;
|
||||
byte[] array3 = this.h;
|
||||
this.g_N(array3, n, array2);
|
||||
byte[] n2 = this.N;
|
||||
uint num5;
|
||||
this.addMod512(n2, (int)num5);
|
||||
byte[] sigma = this.Sigma;
|
||||
uint num6;
|
||||
byte b = this.block[(int)num6];
|
||||
b = (byte)((int)b + num);
|
||||
byte b2;
|
||||
b2 += b;
|
||||
this.bOff = (int)((ulong)64L);
|
||||
}
|
||||
while (num4 != 64)
|
||||
{
|
||||
}
|
||||
}
|
||||
byte[] array4 = this.tmp;
|
||||
int num7 = 0;
|
||||
ulong num8;
|
||||
Array.Copy(input, inOff, array4, num7, (int)num8);
|
||||
if (this.tmp.Length > 0)
|
||||
{
|
||||
byte[] array5 = this.block;
|
||||
num++;
|
||||
}
|
||||
byte[] array6 = this.block;
|
||||
byte[] n3 = this.N;
|
||||
byte[] array7 = this.h;
|
||||
this.g_N(array7, n3, array6);
|
||||
byte[] n4 = this.N;
|
||||
int length = n4.Length;
|
||||
byte b3 = n4[7];
|
||||
n4[7] = b3;
|
||||
byte b4;
|
||||
b3 += b4;
|
||||
byte[] sigma2 = this.Sigma;
|
||||
uint num9;
|
||||
byte b5 = this.block[(int)num9];
|
||||
b5 = (byte)((int)b5 + num);
|
||||
byte b6;
|
||||
b6 += b5;
|
||||
while (len >= 64)
|
||||
{
|
||||
}
|
||||
if (len > 0)
|
||||
{
|
||||
int num10 = this.bOff;
|
||||
byte[] array8 = this.block;
|
||||
int num11 = num10 - 1;
|
||||
this.bOff = num11;
|
||||
int num12 = num10 - 1;
|
||||
if (this.bOff == num)
|
||||
{
|
||||
byte[] array9 = this.block;
|
||||
byte[] n5 = this.N;
|
||||
byte[] array10 = this.h;
|
||||
this.g_N(array10, n5, array9);
|
||||
byte[] n6 = this.N;
|
||||
int length2 = n6.Length;
|
||||
byte b7 = n6[7];
|
||||
n6[7] = b7;
|
||||
byte b8;
|
||||
b7 += b8;
|
||||
byte[] sigma3 = this.Sigma;
|
||||
byte[] array11 = this.block;
|
||||
byte b9 = (byte)((int)b9 + num);
|
||||
byte b10;
|
||||
b10 += b9;
|
||||
this.bOff = (int)((ulong)64L);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE2B RID: 48683 RVA: 0x002A89BC File Offset: 0x002A6BBC
|
||||
[Token(Token = "0x600BE2B")]
|
||||
[Address(RVA = "0x25A0B70", Offset = "0x259FB70", VA = "0x1825A0B70")]
|
||||
private void F(byte[] V)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BE2B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.GOST3411_2012Digest::F(System.Byte[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint64[](var_0_06, newarr:uint64[]([mscorlib]System.UInt64, ldc.i4:int32(8)))
|
||||
stloc:uint64[][](var_1_0C, ldsfld:uint64[][](GOST3411_2012Digest::T))
|
||||
stloc:int32(var_2_13, callgetter:int32(Array::get_Length, ldloc:uint64[][][exp:Array](var_1_0C)))
|
||||
stloc:uint64[](var_3_1B, ldelem:uint64[](uint64[], ldloc:uint64[][](var_1_0C), ldc.i4:int32(0)))
|
||||
stloc:int32(var_4_22, callgetter:int32(Array::get_Length, ldloc:uint8[][exp:Array](V)))
|
||||
stloc:uint8(var_5_2B, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(7)))
|
||||
stloc:uint64[](var_6_34, ldelem:uint64[](uint64[], ldloc:uint64[][](var_1_0C), ldc.i4:int32(1)))
|
||||
stloc:uint8(var_7_3D, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6)))
|
||||
stloc:uint64[](var_8_46, ldelem:uint64[](uint64[], ldloc:uint64[][](var_1_0C), ldc.i4:int32(2)))
|
||||
stloc:uint8(var_9_4F, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5)))
|
||||
stloc:uint64[](var_10_58, ldelem:uint64[](uint64[], ldloc:uint64[][](var_1_0C), ldc.i4:int32(3)))
|
||||
stloc:uint8(var_11_61, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4)))
|
||||
stloc:uint64[](var_12_6A, ldelem:uint64[](uint64[], ldloc:uint64[][](var_1_0C), ldc.i4:int32(4)))
|
||||
stloc:uint8(var_13_73, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3)))
|
||||
stloc:uint64[](var_14_7C, ldelem:uint64[](uint64[], ldloc:uint64[][](var_1_0C), ldc.i4:int32(5)))
|
||||
stloc:uint8(var_15_85, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2)))
|
||||
stloc:uint64[](var_16_8E, ldelem:uint64[](uint64[], ldloc:uint64[][](var_1_0C), ldc.i4:int32(6)))
|
||||
stloc:uint8(var_17_97, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1)))
|
||||
stloc:uint64[](var_18_A0, ldelem:uint64[](uint64[], ldloc:uint64[][](var_1_0C), ldc.i4:int32(7)))
|
||||
stloc:uint8(var_19_A9, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0)))
|
||||
stloc:uint64(var_20_B4, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_18_A0), ldloc:uint8[exp:int32](var_19_A9)))
|
||||
stelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(0), ldloc:uint64(var_20_B4))
|
||||
stloc:uint64[][](var_21_C4, ldsfld:uint64[][](GOST3411_2012Digest::T))
|
||||
stloc:int32(var_22_CD, callgetter:int32(Array::get_Length, ldloc:uint64[][][exp:Array](var_21_C4)))
|
||||
stloc:int32(var_23_D5, callgetter:int32(Array::get_Length, ldloc:uint8[][exp:Array](V)))
|
||||
stloc:uint64[](var_24_DF, ldelem:uint64[](uint64[], ldloc:uint64[][](var_21_C4), ldc.i4:int32(0)))
|
||||
stloc:uint8(var_25_E8, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(7)))
|
||||
stloc:uint64[](var_26_F2, ldelem:uint64[](uint64[], ldloc:uint64[][](var_21_C4), ldc.i4:int32(1)))
|
||||
stloc:uint8(var_27_FB, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6)))
|
||||
stloc:uint64[](var_28_105, ldelem:uint64[](uint64[], ldloc:uint64[][](var_21_C4), ldc.i4:int32(2)))
|
||||
stloc:uint8(var_29_10E, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5)))
|
||||
stloc:uint64[](var_30_118, ldelem:uint64[](uint64[], ldloc:uint64[][](var_21_C4), ldc.i4:int32(3)))
|
||||
stloc:uint8(var_31_121, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4)))
|
||||
stloc:uint64[](var_32_12B, ldelem:uint64[](uint64[], ldloc:uint64[][](var_21_C4), ldc.i4:int32(4)))
|
||||
stloc:uint8(var_33_134, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3)))
|
||||
stloc:uint64[](var_34_13E, ldelem:uint64[](uint64[], ldloc:uint64[][](var_21_C4), ldc.i4:int32(5)))
|
||||
stloc:uint8(var_35_147, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2)))
|
||||
stloc:uint64[](var_36_151, ldelem:uint64[](uint64[], ldloc:uint64[][](var_21_C4), ldc.i4:int32(6)))
|
||||
stloc:uint8(var_37_15A, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1)))
|
||||
stloc:uint64[](var_38_164, ldelem:uint64[](uint64[], ldloc:uint64[][](var_21_C4), ldc.i4:int32(7)))
|
||||
stloc:uint8(var_39_16D, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0)))
|
||||
stloc:uint64(var_40_178, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_38_164), ldloc:uint8[exp:int32](var_39_16D)))
|
||||
stelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(1), ldloc:uint64(var_40_178))
|
||||
stloc:uint64[][](var_41_188, ldsfld:uint64[][](GOST3411_2012Digest::T))
|
||||
stloc:int32(var_42_191, callgetter:int32(Array::get_Length, ldloc:uint64[][][exp:Array](var_41_188)))
|
||||
stloc:int32(var_43_199, callgetter:int32(Array::get_Length, ldloc:uint8[][exp:Array](V)))
|
||||
stloc:uint64[](var_44_1A3, ldelem:uint64[](uint64[], ldloc:uint64[][](var_41_188), ldc.i4:int32(0)))
|
||||
stloc:uint8(var_45_1AC, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(7)))
|
||||
stloc:uint64[](var_46_1B6, ldelem:uint64[](uint64[], ldloc:uint64[][](var_41_188), ldc.i4:int32(1)))
|
||||
stloc:uint8(var_47_1BF, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6)))
|
||||
stloc:uint64[](var_48_1C9, ldelem:uint64[](uint64[], ldloc:uint64[][](var_41_188), ldc.i4:int32(2)))
|
||||
stloc:uint8(var_49_1D2, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5)))
|
||||
stloc:uint64[](var_50_1DC, ldelem:uint64[](uint64[], ldloc:uint64[][](var_41_188), ldc.i4:int32(3)))
|
||||
stloc:uint8(var_51_1E5, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4)))
|
||||
stloc:uint64[](var_52_1EF, ldelem:uint64[](uint64[], ldloc:uint64[][](var_41_188), ldc.i4:int32(4)))
|
||||
stloc:uint8(var_53_1F8, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3)))
|
||||
stloc:uint64[](var_54_202, ldelem:uint64[](uint64[], ldloc:uint64[][](var_41_188), ldc.i4:int32(5)))
|
||||
stloc:uint8(var_55_20B, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2)))
|
||||
stloc:uint64[](var_56_215, ldelem:uint64[](uint64[], ldloc:uint64[][](var_41_188), ldc.i4:int32(6)))
|
||||
stloc:uint8(var_57_21E, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1)))
|
||||
stloc:uint64[](var_58_228, ldelem:uint64[](uint64[], ldloc:uint64[][](var_41_188), ldc.i4:int32(7)))
|
||||
stloc:uint8(var_59_231, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0)))
|
||||
stloc:uint64(var_60_23C, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_58_228), ldloc:uint8[exp:int32](var_59_231)))
|
||||
stelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(2), ldloc:uint64(var_60_23C))
|
||||
stloc:uint64[][](var_61_24C, ldsfld:uint64[][](GOST3411_2012Digest::T))
|
||||
stloc:int32(var_62_255, callgetter:int32(Array::get_Length, ldloc:uint64[][][exp:Array](var_61_24C)))
|
||||
stloc:int32(var_63_25D, callgetter:int32(Array::get_Length, ldloc:uint8[][exp:Array](V)))
|
||||
stloc:uint64[](var_64_267, ldelem:uint64[](uint64[], ldloc:uint64[][](var_61_24C), ldc.i4:int32(0)))
|
||||
stloc:uint8(var_65_270, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(7)))
|
||||
stloc:uint64[](var_66_27A, ldelem:uint64[](uint64[], ldloc:uint64[][](var_61_24C), ldc.i4:int32(1)))
|
||||
stloc:uint8(var_67_283, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6)))
|
||||
stloc:uint64[](var_68_28D, ldelem:uint64[](uint64[], ldloc:uint64[][](var_61_24C), ldc.i4:int32(2)))
|
||||
stloc:uint8(var_69_296, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5)))
|
||||
stloc:uint64[](var_70_2A0, ldelem:uint64[](uint64[], ldloc:uint64[][](var_61_24C), ldc.i4:int32(3)))
|
||||
stloc:uint8(var_71_2A9, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4)))
|
||||
stloc:uint64[](var_72_2B3, ldelem:uint64[](uint64[], ldloc:uint64[][](var_61_24C), ldc.i4:int32(4)))
|
||||
stloc:uint8(var_73_2BC, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3)))
|
||||
stloc:uint64[](var_74_2C6, ldelem:uint64[](uint64[], ldloc:uint64[][](var_61_24C), ldc.i4:int32(5)))
|
||||
stloc:uint8(var_75_2CF, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2)))
|
||||
stloc:uint64[](var_76_2D9, ldelem:uint64[](uint64[], ldloc:uint64[][](var_61_24C), ldc.i4:int32(6)))
|
||||
stloc:uint8(var_77_2E2, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1)))
|
||||
stloc:uint64[](var_78_2EC, ldelem:uint64[](uint64[], ldloc:uint64[][](var_61_24C), ldc.i4:int32(7)))
|
||||
stloc:uint8(var_79_2F5, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0)))
|
||||
stloc:uint64(var_80_300, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_78_2EC), ldloc:uint8[exp:int32](var_79_2F5)))
|
||||
stelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(3), ldloc:uint64(var_80_300))
|
||||
stloc:uint64[][](var_81_310, ldsfld:uint64[][](GOST3411_2012Digest::T))
|
||||
stloc:int32(var_82_319, callgetter:int32(Array::get_Length, ldloc:uint64[][][exp:Array](var_81_310)))
|
||||
stloc:int32(var_83_321, callgetter:int32(Array::get_Length, ldloc:uint8[][exp:Array](V)))
|
||||
stloc:uint64[](var_84_32B, ldelem:uint64[](uint64[], ldloc:uint64[][](var_81_310), ldc.i4:int32(0)))
|
||||
stloc:uint8(var_85_334, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(7)))
|
||||
stloc:uint64[](var_86_33E, ldelem:uint64[](uint64[], ldloc:uint64[][](var_81_310), ldc.i4:int32(1)))
|
||||
stloc:uint8(var_87_347, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6)))
|
||||
stloc:uint64[](var_88_351, ldelem:uint64[](uint64[], ldloc:uint64[][](var_81_310), ldc.i4:int32(2)))
|
||||
stloc:uint8(var_89_35A, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5)))
|
||||
stloc:uint64[](var_90_364, ldelem:uint64[](uint64[], ldloc:uint64[][](var_81_310), ldc.i4:int32(3)))
|
||||
stloc:uint8(var_91_36D, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4)))
|
||||
stloc:uint64[](var_92_377, ldelem:uint64[](uint64[], ldloc:uint64[][](var_81_310), ldc.i4:int32(4)))
|
||||
stloc:uint8(var_93_380, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3)))
|
||||
stloc:uint64[](var_94_38A, ldelem:uint64[](uint64[], ldloc:uint64[][](var_81_310), ldc.i4:int32(5)))
|
||||
stloc:uint8(var_95_393, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2)))
|
||||
stloc:uint64[](var_96_39D, ldelem:uint64[](uint64[], ldloc:uint64[][](var_81_310), ldc.i4:int32(6)))
|
||||
stloc:uint8(var_97_3A6, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1)))
|
||||
stloc:uint64[](var_98_3B0, ldelem:uint64[](uint64[], ldloc:uint64[][](var_81_310), ldc.i4:int32(7)))
|
||||
stloc:uint8(var_99_3B9, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0)))
|
||||
stloc:uint64(var_100_3C4, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_98_3B0), ldloc:uint8[exp:int32](var_99_3B9)))
|
||||
stelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(4), ldloc:uint64(var_100_3C4))
|
||||
stloc:uint64[][](var_101_3D4, ldsfld:uint64[][](GOST3411_2012Digest::T))
|
||||
stloc:int32(var_102_3DD, callgetter:int32(Array::get_Length, ldloc:uint64[][][exp:Array](var_101_3D4)))
|
||||
stloc:int32(var_103_3E5, callgetter:int32(Array::get_Length, ldloc:uint8[][exp:Array](V)))
|
||||
stloc:uint64[](var_104_3EF, ldelem:uint64[](uint64[], ldloc:uint64[][](var_101_3D4), ldc.i4:int32(0)))
|
||||
stloc:uint8(var_105_3F8, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(7)))
|
||||
stloc:uint64[](var_106_402, ldelem:uint64[](uint64[], ldloc:uint64[][](var_101_3D4), ldc.i4:int32(1)))
|
||||
stloc:uint8(var_107_40B, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6)))
|
||||
stloc:uint64[](var_108_415, ldelem:uint64[](uint64[], ldloc:uint64[][](var_101_3D4), ldc.i4:int32(2)))
|
||||
stloc:uint8(var_109_41E, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5)))
|
||||
stloc:uint64[](var_110_428, ldelem:uint64[](uint64[], ldloc:uint64[][](var_101_3D4), ldc.i4:int32(3)))
|
||||
stloc:uint8(var_111_431, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4)))
|
||||
stloc:uint64[](var_112_43B, ldelem:uint64[](uint64[], ldloc:uint64[][](var_101_3D4), ldc.i4:int32(4)))
|
||||
stloc:uint8(var_113_444, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3)))
|
||||
stloc:uint64[](var_114_44E, ldelem:uint64[](uint64[], ldloc:uint64[][](var_101_3D4), ldc.i4:int32(5)))
|
||||
stloc:uint8(var_115_457, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2)))
|
||||
stloc:uint64[](var_116_461, ldelem:uint64[](uint64[], ldloc:uint64[][](var_101_3D4), ldc.i4:int32(6)))
|
||||
stloc:uint8(var_117_46A, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1)))
|
||||
stloc:uint64[](var_118_474, ldelem:uint64[](uint64[], ldloc:uint64[][](var_101_3D4), ldc.i4:int32(7)))
|
||||
stloc:uint8(var_119_47D, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0)))
|
||||
stloc:uint64(var_120_488, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_118_474), ldloc:uint8[exp:int32](var_119_47D)))
|
||||
stelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(5), ldloc:uint64(var_120_488))
|
||||
stloc:uint64[][](var_121_498, ldsfld:uint64[][](GOST3411_2012Digest::T))
|
||||
stloc:int32(var_122_4A1, callgetter:int32(Array::get_Length, ldloc:uint64[][][exp:Array](var_121_498)))
|
||||
stloc:int32(var_123_4A9, callgetter:int32(Array::get_Length, ldloc:uint8[][exp:Array](V)))
|
||||
stloc:uint64[](var_124_4B3, ldelem:uint64[](uint64[], ldloc:uint64[][](var_121_498), ldc.i4:int32(0)))
|
||||
stloc:uint8(var_125_4BC, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(7)))
|
||||
stloc:uint64[](var_126_4C6, ldelem:uint64[](uint64[], ldloc:uint64[][](var_121_498), ldc.i4:int32(1)))
|
||||
stloc:uint8(var_127_4CF, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6)))
|
||||
stloc:uint64[](var_128_4D9, ldelem:uint64[](uint64[], ldloc:uint64[][](var_121_498), ldc.i4:int32(2)))
|
||||
stloc:uint8(var_129_4E2, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5)))
|
||||
stloc:uint64[](var_130_4EC, ldelem:uint64[](uint64[], ldloc:uint64[][](var_121_498), ldc.i4:int32(3)))
|
||||
stloc:uint8(var_131_4F5, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4)))
|
||||
stloc:uint64[](var_132_4FF, ldelem:uint64[](uint64[], ldloc:uint64[][](var_121_498), ldc.i4:int32(4)))
|
||||
stloc:uint8(var_133_508, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3)))
|
||||
stloc:uint64[](var_134_512, ldelem:uint64[](uint64[], ldloc:uint64[][](var_121_498), ldc.i4:int32(5)))
|
||||
stloc:uint8(var_135_51B, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2)))
|
||||
stloc:uint64[](var_136_525, ldelem:uint64[](uint64[], ldloc:uint64[][](var_121_498), ldc.i4:int32(6)))
|
||||
stloc:uint8(var_137_52E, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1)))
|
||||
stloc:uint64[](var_138_538, ldelem:uint64[](uint64[], ldloc:uint64[][](var_121_498), ldc.i4:int32(7)))
|
||||
stloc:uint8(var_139_541, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0)))
|
||||
stloc:uint64(var_140_54C, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_138_538), ldloc:uint8[exp:int32](var_139_541)))
|
||||
stelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(6), ldloc:uint64(var_140_54C))
|
||||
stloc:uint64[][](var_141_55C, ldsfld:uint64[][](GOST3411_2012Digest::T))
|
||||
stloc:int32(var_142_565, callgetter:int32(Array::get_Length, ldloc:uint64[][][exp:Array](var_141_55C)))
|
||||
stloc:int32(var_143_56D, callgetter:int32(Array::get_Length, ldloc:uint8[][exp:Array](V)))
|
||||
stloc:uint64[](var_144_577, ldelem:uint64[](uint64[], ldloc:uint64[][](var_141_55C), ldc.i4:int32(0)))
|
||||
stloc:uint8(var_145_580, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(7)))
|
||||
stloc:uint64[](var_146_58A, ldelem:uint64[](uint64[], ldloc:uint64[][](var_141_55C), ldc.i4:int32(1)))
|
||||
stloc:uint8(var_147_593, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6)))
|
||||
stloc:uint64[](var_148_59D, ldelem:uint64[](uint64[], ldloc:uint64[][](var_141_55C), ldc.i4:int32(2)))
|
||||
stloc:uint8(var_149_5A6, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5)))
|
||||
stloc:uint64[](var_150_5B0, ldelem:uint64[](uint64[], ldloc:uint64[][](var_141_55C), ldc.i4:int32(3)))
|
||||
stloc:uint8(var_151_5B9, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4)))
|
||||
stloc:uint64[](var_152_5C3, ldelem:uint64[](uint64[], ldloc:uint64[][](var_141_55C), ldc.i4:int32(4)))
|
||||
stloc:uint8(var_153_5CC, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3)))
|
||||
stloc:uint64[](var_154_5D6, ldelem:uint64[](uint64[], ldloc:uint64[][](var_141_55C), ldc.i4:int32(5)))
|
||||
stloc:uint8(var_155_5DF, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2)))
|
||||
stloc:uint64[](var_156_5E9, ldelem:uint64[](uint64[], ldloc:uint64[][](var_141_55C), ldc.i4:int32(6)))
|
||||
stloc:uint8(var_157_5F2, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1)))
|
||||
stloc:uint64[](var_158_5FC, ldelem:uint64[](uint64[], ldloc:uint64[][](var_141_55C), ldc.i4:int32(7)))
|
||||
stloc:uint8(var_159_605, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0)))
|
||||
stloc:uint64(var_160_610, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_158_5FC), ldloc:uint8[exp:int32](var_159_605)))
|
||||
stelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(7), ldloc:uint64(var_160_610))
|
||||
stloc:uint64(var_161_622, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(0)))
|
||||
stloc:uint64(var_160_626, ldloc:uint64(var_161_622))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0), ldloc:uint64[exp:uint8](var_160_626))
|
||||
stloc:uint64(var_160_633, ldloc:uint64(var_161_622))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0), ldloc:uint64[exp:uint8](var_160_633))
|
||||
stloc:uint64(var_160_640, ldloc:uint64(var_161_622))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0), ldloc:uint64[exp:uint8](var_160_640))
|
||||
stloc:uint64(var_160_64D, ldloc:uint64(var_161_622))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0), ldloc:uint64[exp:uint8](var_160_64D))
|
||||
stloc:uint64(var_160_65A, ldloc:uint64(var_161_622))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0), ldloc:uint64[exp:uint8](var_160_65A))
|
||||
stloc:uint64(var_160_667, ldloc:uint64(var_161_622))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0), ldloc:uint64[exp:uint8](var_160_667))
|
||||
stloc:uint64(var_160_674, ldloc:uint64(var_161_622))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0), ldloc:uint64[exp:uint8](var_160_674))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0), ldloc:uint64[exp:uint8](var_161_622))
|
||||
stloc:uint64(var_162_68F, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(1)))
|
||||
stloc:uint64(var_160_693, ldloc:uint64(var_162_68F))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1), ldloc:uint64[exp:uint8](var_160_693))
|
||||
stloc:uint64(var_160_6A0, ldloc:uint64(var_162_68F))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1), ldloc:uint64[exp:uint8](var_160_6A0))
|
||||
stloc:uint64(var_160_6AD, ldloc:uint64(var_162_68F))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1), ldloc:uint64[exp:uint8](var_160_6AD))
|
||||
stloc:uint64(var_160_6BA, ldloc:uint64(var_162_68F))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1), ldloc:uint64[exp:uint8](var_160_6BA))
|
||||
stloc:uint64(var_160_6C7, ldloc:uint64(var_162_68F))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1), ldloc:uint64[exp:uint8](var_160_6C7))
|
||||
stloc:uint64(var_160_6D4, ldloc:uint64(var_162_68F))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1), ldloc:uint64[exp:uint8](var_160_6D4))
|
||||
stloc:uint64(var_160_6E1, ldloc:uint64(var_162_68F))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1), ldloc:uint64[exp:uint8](var_160_6E1))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1), ldloc:uint64[exp:uint8](var_162_68F))
|
||||
stloc:uint64(var_163_6FC, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(2)))
|
||||
stloc:uint64(var_160_700, ldloc:uint64(var_163_6FC))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2), ldloc:uint64[exp:uint8](var_160_700))
|
||||
stloc:uint64(var_160_70D, ldloc:uint64(var_163_6FC))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2), ldloc:uint64[exp:uint8](var_160_70D))
|
||||
stloc:uint64(var_160_71A, ldloc:uint64(var_163_6FC))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2), ldloc:uint64[exp:uint8](var_160_71A))
|
||||
stloc:uint64(var_160_727, ldloc:uint64(var_163_6FC))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2), ldloc:uint64[exp:uint8](var_160_727))
|
||||
stloc:uint64(var_160_734, ldloc:uint64(var_163_6FC))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2), ldloc:uint64[exp:uint8](var_160_734))
|
||||
stloc:uint64(var_160_741, ldloc:uint64(var_163_6FC))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2), ldloc:uint64[exp:uint8](var_160_741))
|
||||
stloc:uint64(var_160_74E, ldloc:uint64(var_163_6FC))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2), ldloc:uint64[exp:uint8](var_160_74E))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2), ldloc:uint64[exp:uint8](var_163_6FC))
|
||||
stloc:uint64(var_164_769, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(3)))
|
||||
stloc:uint64(var_160_76D, ldloc:uint64(var_164_769))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3), ldloc:uint64[exp:uint8](var_160_76D))
|
||||
stloc:uint64(var_160_77A, ldloc:uint64(var_164_769))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3), ldloc:uint64[exp:uint8](var_160_77A))
|
||||
stloc:uint64(var_160_787, ldloc:uint64(var_164_769))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3), ldloc:uint64[exp:uint8](var_160_787))
|
||||
stloc:uint64(var_160_794, ldloc:uint64(var_164_769))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3), ldloc:uint64[exp:uint8](var_160_794))
|
||||
stloc:uint64(var_160_7A1, ldloc:uint64(var_164_769))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3), ldloc:uint64[exp:uint8](var_160_7A1))
|
||||
stloc:uint64(var_160_7AE, ldloc:uint64(var_164_769))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3), ldloc:uint64[exp:uint8](var_160_7AE))
|
||||
stloc:uint64(var_160_7BB, ldloc:uint64(var_164_769))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3), ldloc:uint64[exp:uint8](var_160_7BB))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3), ldloc:uint64[exp:uint8](var_164_769))
|
||||
stloc:uint64(var_165_7D6, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(4)))
|
||||
stloc:uint64(var_160_7DA, ldloc:uint64(var_165_7D6))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4), ldloc:uint64[exp:uint8](var_160_7DA))
|
||||
stloc:uint64(var_160_7E7, ldloc:uint64(var_165_7D6))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4), ldloc:uint64[exp:uint8](var_160_7E7))
|
||||
stloc:uint64(var_160_7F4, ldloc:uint64(var_165_7D6))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4), ldloc:uint64[exp:uint8](var_160_7F4))
|
||||
stloc:uint64(var_160_801, ldloc:uint64(var_165_7D6))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4), ldloc:uint64[exp:uint8](var_160_801))
|
||||
stloc:uint64(var_160_80E, ldloc:uint64(var_165_7D6))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4), ldloc:uint64[exp:uint8](var_160_80E))
|
||||
stloc:uint64(var_160_81B, ldloc:uint64(var_165_7D6))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4), ldloc:uint64[exp:uint8](var_160_81B))
|
||||
stloc:uint64(var_160_828, ldloc:uint64(var_165_7D6))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4), ldloc:uint64[exp:uint8](var_160_828))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4), ldloc:uint64[exp:uint8](var_165_7D6))
|
||||
stloc:uint64(var_166_843, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(5)))
|
||||
stloc:uint64(var_160_847, ldloc:uint64(var_166_843))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5), ldloc:uint64[exp:uint8](var_160_847))
|
||||
stloc:uint64(var_160_854, ldloc:uint64(var_166_843))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5), ldloc:uint64[exp:uint8](var_160_854))
|
||||
stloc:uint64(var_160_861, ldloc:uint64(var_166_843))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5), ldloc:uint64[exp:uint8](var_160_861))
|
||||
stloc:uint64(var_160_86E, ldloc:uint64(var_166_843))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5), ldloc:uint64[exp:uint8](var_160_86E))
|
||||
stloc:uint64(var_160_87B, ldloc:uint64(var_166_843))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5), ldloc:uint64[exp:uint8](var_160_87B))
|
||||
stloc:uint64(var_160_888, ldloc:uint64(var_166_843))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5), ldloc:uint64[exp:uint8](var_160_888))
|
||||
stloc:uint64(var_160_895, ldloc:uint64(var_166_843))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5), ldloc:uint64[exp:uint8](var_160_895))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5), ldloc:uint64[exp:uint8](var_166_843))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6), ldloc:uint64[exp:uint8](var_160_895))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6), ldloc:uint64[exp:uint8](var_160_895))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6), ldloc:uint64[exp:uint8](var_160_895))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6), ldloc:uint64[exp:uint8](var_160_895))
|
||||
}
|
||||
|
||||
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: 0x0600BE2C RID: 48684 RVA: 0x002A9298 File Offset: 0x002A7498
|
||||
[Token(Token = "0x600BE2C")]
|
||||
[Address(RVA = "0x25A41D0", Offset = "0x25A31D0", VA = "0x1825A41D0")]
|
||||
private void xor512(byte[] A, byte[] B)
|
||||
{
|
||||
int num = 0;
|
||||
num++;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE2D RID: 48685 RVA: 0x002A92B4 File Offset: 0x002A74B4
|
||||
[Token(Token = "0x600BE2D")]
|
||||
[Address(RVA = "0x25A08C0", Offset = "0x259F8C0", VA = "0x1825A08C0")]
|
||||
private void E(byte[] K, byte[] m)
|
||||
{
|
||||
byte[] ki = this.Ki;
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
int num3 = 0;
|
||||
ulong num4;
|
||||
Array.Copy(K, num3, ki, num2, (int)num4);
|
||||
num++;
|
||||
this.F(K);
|
||||
byte[] ki2 = this.Ki;
|
||||
byte[] array = GOST3411_2012Digest.C[num];
|
||||
this.xor512(ki2, array);
|
||||
byte[] ki3 = this.Ki;
|
||||
this.F(ki3);
|
||||
byte[] ki4 = this.Ki;
|
||||
this.xor512(K, ki4);
|
||||
this.F(K);
|
||||
num++;
|
||||
byte[] ki5 = this.Ki;
|
||||
byte[] array2 = GOST3411_2012Digest.C[11];
|
||||
num++;
|
||||
byte[] ki6 = this.Ki;
|
||||
this.F(ki6);
|
||||
byte[] ki7 = this.Ki;
|
||||
num++;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE2E RID: 48686 RVA: 0x002A936C File Offset: 0x002A756C
|
||||
[Token(Token = "0x600BE2E")]
|
||||
[Address(RVA = "0x25A3FC0", Offset = "0x25A2FC0", VA = "0x1825A3FC0")]
|
||||
private void g_N(byte[] h, byte[] N, byte[] m)
|
||||
{
|
||||
byte[] array = this.tmp;
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
int num3 = 0;
|
||||
ulong num4;
|
||||
Array.Copy(h, num3, array, num2, (int)num4);
|
||||
num++;
|
||||
this.F(h);
|
||||
this.E(h, m);
|
||||
byte[] array2 = this.tmp;
|
||||
num++;
|
||||
num++;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE2F RID: 48687 RVA: 0x002A93BC File Offset: 0x002A75BC
|
||||
[Token(Token = "0x600BE2F")]
|
||||
[Address(RVA = "0x25A3F10", Offset = "0x25A2F10", VA = "0x1825A3F10")]
|
||||
private void addMod512(byte[] A, int num)
|
||||
{
|
||||
byte b = A[7];
|
||||
byte b2 = A[7];
|
||||
b2 = (byte)((int)b2 + num);
|
||||
A[7] = b2;
|
||||
byte b3;
|
||||
b2 += b3;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE30 RID: 48688 RVA: 0x002A93F0 File Offset: 0x002A75F0
|
||||
[Token(Token = "0x600BE30")]
|
||||
[Address(RVA = "0x25A3E90", Offset = "0x25A2E90", VA = "0x1825A3E90")]
|
||||
private void addMod512(byte[] A, byte[] B)
|
||||
{
|
||||
int num = 0;
|
||||
byte b = (byte)((int)b + num);
|
||||
byte b2;
|
||||
b2 += b;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE31 RID: 48689 RVA: 0x002A9410 File Offset: 0x002A7610
|
||||
[Token(Token = "0x600BE31")]
|
||||
[Address(RVA = "0x25A4150", Offset = "0x25A3150", VA = "0x1825A4150")]
|
||||
private void reverse(byte[] src, byte[] dst)
|
||||
{
|
||||
int length = src.Length;
|
||||
int num = 0;
|
||||
if (length > 0)
|
||||
{
|
||||
num++;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE32 RID: 48690 RVA: 0x002A9434 File Offset: 0x002A7634
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600BE32")]
|
||||
[Address(RVA = "0x25A33E0", Offset = "0x25A23E0", VA = "0x1825A33E0")]
|
||||
static GOST3411_2012Digest()
|
||||
{
|
||||
byte[][] array = new byte[12][];
|
||||
byte[] array2 = new byte[64];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.498B9317C14CF9004FE6CB88782D926B3E379350).FieldHandle);
|
||||
if (array2 != 0)
|
||||
{
|
||||
}
|
||||
array[0] = array2;
|
||||
byte[] array3 = new byte[64];
|
||||
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.499A21DC530CE4D5D71E97C5D8DB1B3C60F0FC2E).FieldHandle);
|
||||
if (array3 != 0)
|
||||
{
|
||||
}
|
||||
array[1] = array3;
|
||||
byte[] array4 = new byte[64];
|
||||
RuntimeHelpers.InitializeArray(array4, fieldof(<PrivateImplementationDetails>.0BE6B8194AB353640CA66F0A661EA93A3132393A).FieldHandle);
|
||||
if (array4 != 0)
|
||||
{
|
||||
}
|
||||
array[2] = array4;
|
||||
byte[] array5 = new byte[64];
|
||||
RuntimeHelpers.InitializeArray(array5, fieldof(<PrivateImplementationDetails>.7E68A6B197A3AF443FDA77CD8B492D4C72B3CF03).FieldHandle);
|
||||
if (array5 != 0)
|
||||
{
|
||||
}
|
||||
array[3] = array5;
|
||||
byte[] array6 = new byte[64];
|
||||
RuntimeHelpers.InitializeArray(array6, fieldof(<PrivateImplementationDetails>.21305ABEF36592B9C636A4DDFFB419BBEB14AC71).FieldHandle);
|
||||
if (array6 != 0)
|
||||
{
|
||||
}
|
||||
array[4] = array6;
|
||||
byte[] array7 = new byte[64];
|
||||
RuntimeHelpers.InitializeArray(array7, fieldof(<PrivateImplementationDetails>.3BA78FFB102A191597BAC4A2418C57CDF377FEE6).FieldHandle);
|
||||
if (array7 != 0)
|
||||
{
|
||||
}
|
||||
array[5] = array7;
|
||||
byte[] array8 = new byte[64];
|
||||
RuntimeHelpers.InitializeArray(array8, fieldof(<PrivateImplementationDetails>.87BAD4D818823E27FF0CBB935FF88DD21DAD3CC4).FieldHandle);
|
||||
if (array8 != 0)
|
||||
{
|
||||
}
|
||||
array[6] = array8;
|
||||
byte[] array9 = new byte[64];
|
||||
RuntimeHelpers.InitializeArray(array9, fieldof(<PrivateImplementationDetails>.103752E99F3718E46F1AA9EED70682BF3A9B8A65).FieldHandle);
|
||||
if (array9 != 0)
|
||||
{
|
||||
}
|
||||
array[7] = array9;
|
||||
byte[] array10 = new byte[64];
|
||||
RuntimeHelpers.InitializeArray(array10, fieldof(<PrivateImplementationDetails>.A32D5F33452B98E86BE15ED849ED6DF543B5F243).FieldHandle);
|
||||
if (array10 != 0)
|
||||
{
|
||||
}
|
||||
array[8] = array10;
|
||||
byte[] array11 = new byte[64];
|
||||
RuntimeHelpers.InitializeArray(array11, fieldof(<PrivateImplementationDetails>.30A6392FC8DA4E1BBE29B5EEA977D84BE673CAF7).FieldHandle);
|
||||
if (array11 != 0)
|
||||
{
|
||||
}
|
||||
array[9] = array11;
|
||||
byte[] array12 = new byte[64];
|
||||
RuntimeHelpers.InitializeArray(array12, fieldof(<PrivateImplementationDetails>.4A080107805D8F7103F56DD3B0D8FD5D55735937).FieldHandle);
|
||||
if (array12 != 0)
|
||||
{
|
||||
}
|
||||
array[10] = array12;
|
||||
byte[] array13 = new byte[64];
|
||||
RuntimeHelpers.InitializeArray(array13, fieldof(<PrivateImplementationDetails>.083EF765A34AC9DEC41761B4DCEA48EC009115E9).FieldHandle);
|
||||
if (array13 != 0)
|
||||
{
|
||||
}
|
||||
array[11] = array13;
|
||||
GOST3411_2012Digest.C = array;
|
||||
GOST3411_2012Digest.Zero = new byte[64];
|
||||
ulong[][] array14 = new ulong[8][];
|
||||
ulong[] array15 = new ulong[256];
|
||||
RuntimeHelpers.InitializeArray(array15, fieldof(<PrivateImplementationDetails>.547AF924C0A210AD3D72D199002D3CDBC2DBD0CA).FieldHandle);
|
||||
if (array15 != 0)
|
||||
{
|
||||
}
|
||||
array14[0] = array15;
|
||||
ulong[] array16 = new ulong[256];
|
||||
RuntimeHelpers.InitializeArray(array16, fieldof(<PrivateImplementationDetails>.929747B3E91297D56A461EE1B9E054EA31C70EC1).FieldHandle);
|
||||
if (array16 != 0)
|
||||
{
|
||||
}
|
||||
array14[1] = array16;
|
||||
ulong[] array17 = new ulong[256];
|
||||
RuntimeHelpers.InitializeArray(array17, fieldof(<PrivateImplementationDetails>.D73609A97D6906CFFB02ADDA320A4809483C458D).FieldHandle);
|
||||
if (array17 != 0)
|
||||
{
|
||||
}
|
||||
array14[2] = array17;
|
||||
ulong[] array18 = new ulong[256];
|
||||
RuntimeHelpers.InitializeArray(array18, fieldof(<PrivateImplementationDetails>.7C57CFE9FF25243824AF38485BBF41F9E57ECF21).FieldHandle);
|
||||
if (array18 != 0)
|
||||
{
|
||||
}
|
||||
array14[3] = array18;
|
||||
ulong[] array19 = new ulong[256];
|
||||
RuntimeHelpers.InitializeArray(array19, fieldof(<PrivateImplementationDetails>.A19414BB17AF83ECF276AD49117E7F2EE344D567).FieldHandle);
|
||||
if (array19 != 0)
|
||||
{
|
||||
}
|
||||
array14[4] = array19;
|
||||
ulong[] array20 = new ulong[256];
|
||||
RuntimeHelpers.InitializeArray(array20, fieldof(<PrivateImplementationDetails>.7B18F6A671FF25FBD5F195673DAF4902FB2DA4C5).FieldHandle);
|
||||
if (array20 != 0)
|
||||
{
|
||||
}
|
||||
array14[5] = array20;
|
||||
ulong[] array21 = new ulong[256];
|
||||
RuntimeHelpers.InitializeArray(array21, fieldof(<PrivateImplementationDetails>.A43F35160EEC5F8DD047667DD94358EDCD29BA27).FieldHandle);
|
||||
if (array21 != 0)
|
||||
{
|
||||
}
|
||||
array14[6] = array21;
|
||||
ulong[] array22 = new ulong[256];
|
||||
RuntimeHelpers.InitializeArray(array22, fieldof(<PrivateImplementationDetails>.4E16474F9D4C9E164E5F3C5FF50D0FB922D244DD).FieldHandle);
|
||||
if (array22 != 0)
|
||||
{
|
||||
}
|
||||
array14[7] = array22;
|
||||
GOST3411_2012Digest.T = array14;
|
||||
}
|
||||
|
||||
// Token: 0x0400783F RID: 30783
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400783F")]
|
||||
private readonly byte[] IV;
|
||||
|
||||
// Token: 0x04007840 RID: 30784
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4007840")]
|
||||
private readonly byte[] N;
|
||||
|
||||
// Token: 0x04007841 RID: 30785
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4007841")]
|
||||
private readonly byte[] Sigma;
|
||||
|
||||
// Token: 0x04007842 RID: 30786
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4007842")]
|
||||
private readonly byte[] Ki;
|
||||
|
||||
// Token: 0x04007843 RID: 30787
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4007843")]
|
||||
private readonly byte[] m;
|
||||
|
||||
// Token: 0x04007844 RID: 30788
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4007844")]
|
||||
private readonly byte[] h;
|
||||
|
||||
// Token: 0x04007845 RID: 30789
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4007845")]
|
||||
private readonly byte[] tmp;
|
||||
|
||||
// Token: 0x04007846 RID: 30790
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4007846")]
|
||||
private readonly byte[] block;
|
||||
|
||||
// Token: 0x04007847 RID: 30791
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4007847")]
|
||||
private int bOff;
|
||||
|
||||
// Token: 0x04007848 RID: 30792
|
||||
[Token(Token = "0x4007848")]
|
||||
private static readonly byte[][] C;
|
||||
|
||||
// Token: 0x04007849 RID: 30793
|
||||
[Token(Token = "0x4007849")]
|
||||
private static readonly byte[] Zero;
|
||||
|
||||
// Token: 0x0400784A RID: 30794
|
||||
[Token(Token = "0x400784A")]
|
||||
private static readonly ulong[][] T;
|
||||
}
|
||||
}
|
||||
+100
@@ -0,0 +1,100 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DC5 RID: 7621
|
||||
[Token(Token = "0x2001DC5")]
|
||||
public class GOST3411_2012_256Digest : GOST3411_2012Digest
|
||||
{
|
||||
// Token: 0x17001DAA RID: 7594
|
||||
// (get) Token: 0x0600BE33 RID: 48691 RVA: 0x002A9744 File Offset: 0x002A7944
|
||||
[Token(Token = "0x17001DAA")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BE33")]
|
||||
[Address(RVA = "0x25A4550", Offset = "0x25A3550", VA = "0x1825A4550", Slot = "13")]
|
||||
get
|
||||
{
|
||||
return "GOST3411-2012-256";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE34 RID: 48692 RVA: 0x002A9758 File Offset: 0x002A7958
|
||||
[Token(Token = "0x600BE34")]
|
||||
[Address(RVA = "0x25A4410", Offset = "0x25A3410", VA = "0x1825A4410")]
|
||||
public GOST3411_2012_256Digest()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600BE35 RID: 48693 RVA: 0x002A9768 File Offset: 0x002A7968
|
||||
[Token(Token = "0x600BE35")]
|
||||
[Address(RVA = "0x25A44A0", Offset = "0x25A34A0", VA = "0x1825A44A0")]
|
||||
public GOST3411_2012_256Digest(GOST3411_2012_256Digest other)
|
||||
{
|
||||
base.Reset(other);
|
||||
}
|
||||
|
||||
// Token: 0x0600BE36 RID: 48694 RVA: 0x002A977C File Offset: 0x002A797C
|
||||
[Token(Token = "0x600BE36")]
|
||||
[Address(RVA = "0x8BCAC0", Offset = "0x8BBAC0", VA = "0x1808BCAC0", Slot = "16")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return 32;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE37 RID: 48695 RVA: 0x002A978C File Offset: 0x002A798C
|
||||
[Token(Token = "0x600BE37")]
|
||||
[Address(RVA = "0x25A4310", Offset = "0x25A3310", VA = "0x1825A4310", Slot = "15")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
byte[] array = new byte[64];
|
||||
int num = 0;
|
||||
int num2 = base.DoFinal(array, num);
|
||||
ulong num3;
|
||||
Array.Copy(array, 32, output, outOff, (int)num3);
|
||||
return 32;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE38 RID: 48696 RVA: 0x002A97BC File Offset: 0x002A79BC
|
||||
[Token(Token = "0x600BE38")]
|
||||
[Address(RVA = "0x25A4230", Offset = "0x25A3230", VA = "0x1825A4230", Slot = "14")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BE38)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.GOST3411_2012_256Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
call:void(GOST3411_2012Digest::Reset, ldloc:GOST3411_2012_256Digest[exp:GOST3411_2012Digest](var_0), ldloc:GOST3411_2012_256Digest[exp:IMemoable](this))
|
||||
}
|
||||
|
||||
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: 0x0600BE39 RID: 48697 RVA: 0x002A97D0 File Offset: 0x002A79D0
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600BE39")]
|
||||
[Address(RVA = "0x25A43B0", Offset = "0x25A33B0", VA = "0x1825A43B0")]
|
||||
static GOST3411_2012_256Digest()
|
||||
{
|
||||
RuntimeHelpers.InitializeArray(new byte[64], fieldof(<PrivateImplementationDetails>.320B018758ECE3752FFEDBAEB1A6DB67C80B9359).FieldHandle);
|
||||
}
|
||||
|
||||
// Token: 0x0400784B RID: 30795
|
||||
[Token(Token = "0x400784B")]
|
||||
private static readonly byte[] IV;
|
||||
}
|
||||
}
|
||||
+86
@@ -0,0 +1,86 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DC6 RID: 7622
|
||||
[Token(Token = "0x2001DC6")]
|
||||
public class GOST3411_2012_512Digest : GOST3411_2012Digest
|
||||
{
|
||||
// Token: 0x17001DAB RID: 7595
|
||||
// (get) Token: 0x0600BE3A RID: 48698 RVA: 0x002A97F0 File Offset: 0x002A79F0
|
||||
[Token(Token = "0x17001DAB")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BE3A")]
|
||||
[Address(RVA = "0x25A47F0", Offset = "0x25A37F0", VA = "0x1825A47F0", Slot = "13")]
|
||||
get
|
||||
{
|
||||
return "GOST3411-2012-512";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE3B RID: 48699 RVA: 0x002A9804 File Offset: 0x002A7A04
|
||||
[Token(Token = "0x600BE3B")]
|
||||
[Address(RVA = "0x25A46B0", Offset = "0x25A36B0", VA = "0x1825A46B0")]
|
||||
public GOST3411_2012_512Digest()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600BE3C RID: 48700 RVA: 0x002A9814 File Offset: 0x002A7A14
|
||||
[Token(Token = "0x600BE3C")]
|
||||
[Address(RVA = "0x25A4740", Offset = "0x25A3740", VA = "0x1825A4740")]
|
||||
public GOST3411_2012_512Digest(GOST3411_2012_512Digest other)
|
||||
{
|
||||
base.Reset(other);
|
||||
}
|
||||
|
||||
// Token: 0x0600BE3D RID: 48701 RVA: 0x002A9828 File Offset: 0x002A7A28
|
||||
[Token(Token = "0x600BE3D")]
|
||||
[Address(RVA = "0x8BCFC0", Offset = "0x8BBFC0", VA = "0x1808BCFC0", Slot = "16")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return 64;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE3E RID: 48702 RVA: 0x002A9838 File Offset: 0x002A7A38
|
||||
[Token(Token = "0x600BE3E")]
|
||||
[Address(RVA = "0x25A4580", Offset = "0x25A3580", VA = "0x1825A4580", Slot = "14")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BE3E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.GOST3411_2012_512Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
call:void(GOST3411_2012Digest::Reset, ldloc:GOST3411_2012_512Digest[exp:GOST3411_2012Digest](var_0), ldloc:GOST3411_2012_512Digest[exp:IMemoable](this))
|
||||
}
|
||||
|
||||
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: 0x0600BE3F RID: 48703 RVA: 0x002A984C File Offset: 0x002A7A4C
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600BE3F")]
|
||||
[Address(RVA = "0x25A4660", Offset = "0x25A3660", VA = "0x1825A4660")]
|
||||
static GOST3411_2012_512Digest()
|
||||
{
|
||||
byte[] array = new byte[64];
|
||||
}
|
||||
|
||||
// Token: 0x0400784C RID: 30796
|
||||
[Token(Token = "0x400784C")]
|
||||
private static readonly byte[] IV;
|
||||
}
|
||||
}
|
||||
+232
@@ -0,0 +1,232 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DC7 RID: 7623
|
||||
[Token(Token = "0x2001DC7")]
|
||||
public abstract class GeneralDigest : IDigest, IMemoable
|
||||
{
|
||||
// Token: 0x0600BE40 RID: 48704 RVA: 0x002A9864 File Offset: 0x002A7A64
|
||||
[Token(Token = "0x600BE40")]
|
||||
[Address(RVA = "0x25A4C60", Offset = "0x25A3C60", VA = "0x1825A4C60")]
|
||||
internal GeneralDigest()
|
||||
{
|
||||
byte[] array = new byte[4];
|
||||
this.xBuf = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE41 RID: 48705 RVA: 0x002A9888 File Offset: 0x002A7A88
|
||||
[Token(Token = "0x600BE41")]
|
||||
[Address(RVA = "0x25A4CB0", Offset = "0x25A3CB0", VA = "0x1825A4CB0")]
|
||||
internal GeneralDigest(GeneralDigest t)
|
||||
{
|
||||
byte[] array = new byte[t.xBuf.Length];
|
||||
this.xBuf = array;
|
||||
byte[] array2 = t.xBuf;
|
||||
int length = array2.Length;
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
Array.Copy(array2, num2, array, num, length);
|
||||
int num3 = t.xBufOff;
|
||||
this.xBufOff = num3;
|
||||
long num4 = t.byteCount;
|
||||
this.byteCount = num4;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE42 RID: 48706 RVA: 0x002A98F8 File Offset: 0x002A7AF8
|
||||
[Token(Token = "0x600BE42")]
|
||||
[Address(RVA = "0x25A4A10", Offset = "0x25A3A10", VA = "0x1825A4A10")]
|
||||
protected void CopyIn(GeneralDigest t)
|
||||
{
|
||||
byte[] array = t.xBuf;
|
||||
int length = array.Length;
|
||||
int num = 0;
|
||||
byte[] array2 = this.xBuf;
|
||||
int num2 = 0;
|
||||
Array.Copy(array, num2, array2, num, length);
|
||||
int num3 = t.xBufOff;
|
||||
this.xBufOff = num3;
|
||||
long num4 = t.byteCount;
|
||||
this.byteCount = num4;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE43 RID: 48707 RVA: 0x002A9950 File Offset: 0x002A7B50
|
||||
[Token(Token = "0x600BE43")]
|
||||
[Address(RVA = "0x25A4BE0", Offset = "0x25A3BE0", VA = "0x1825A4BE0", Slot = "7")]
|
||||
public void Update(byte input)
|
||||
{
|
||||
byte[] array = this.xBuf;
|
||||
int num = this.xBufOff + 1;
|
||||
this.xBufOff = num;
|
||||
int length = this.xBuf.Length;
|
||||
if (this.xBufOff == length)
|
||||
{
|
||||
this.Reset();
|
||||
this.xBufOff = (int)((ulong)0L);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE44 RID: 48708 RVA: 0x002A99A0 File Offset: 0x002A7BA0
|
||||
[Token(Token = "0x600BE44")]
|
||||
[Address(RVA = "0x25A4820", Offset = "0x25A3820", VA = "0x1825A4820", Slot = "8")]
|
||||
public void BlockUpdate(byte[] input, int inOff, int length)
|
||||
{
|
||||
int num = Math.Max(0, length);
|
||||
int num2 = this.xBufOff;
|
||||
int num3 = 0;
|
||||
if (num2 != 0 && num > 0)
|
||||
{
|
||||
byte[] array = this.xBuf;
|
||||
int num4 = num2 + 1;
|
||||
this.xBufOff = num4;
|
||||
num3++;
|
||||
num3 += inOff;
|
||||
int num5 = this.xBufOff;
|
||||
if (num5 == 4)
|
||||
{
|
||||
this.Reset();
|
||||
this.xBufOff = (int)((ulong)0L);
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
num -= num3;
|
||||
num += num3;
|
||||
if (num3 < num)
|
||||
{
|
||||
this.Reset();
|
||||
num3 += 4;
|
||||
}
|
||||
if (num3 < num)
|
||||
{
|
||||
int num6 = this.xBufOff;
|
||||
byte[] array2 = this.xBuf;
|
||||
int num7 = num6 + 1;
|
||||
this.xBufOff = num7;
|
||||
num3++;
|
||||
num3 += inOff;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE45 RID: 48709 RVA: 0x002A9A48 File Offset: 0x002A7C48
|
||||
[Token(Token = "0x600BE45")]
|
||||
[Address(RVA = "0x25A4A70", Offset = "0x25A3A70", VA = "0x1825A4A70")]
|
||||
public void Finish()
|
||||
{
|
||||
byte[] array = this.xBuf;
|
||||
int num = this.xBufOff + 1;
|
||||
this.xBufOff = num;
|
||||
byte[] array2 = this.xBuf;
|
||||
int num2 = this.xBufOff;
|
||||
int num3 = 0;
|
||||
if (num2 == array2.Length)
|
||||
{
|
||||
this.Reset();
|
||||
this.xBufOff = num3;
|
||||
}
|
||||
if (num2 != 0)
|
||||
{
|
||||
byte[] array3 = this.xBuf;
|
||||
int num4 = num2 + 1;
|
||||
this.xBufOff = num4;
|
||||
byte[] array4 = this.xBuf;
|
||||
if (this.xBufOff == array4.Length)
|
||||
{
|
||||
this.Reset();
|
||||
this.xBufOff = num3;
|
||||
}
|
||||
while (num3 != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
this.ProcessBlock();
|
||||
}
|
||||
|
||||
// Token: 0x0600BE46 RID: 48710 RVA: 0x002A9AE8 File Offset: 0x002A7CE8
|
||||
[Token(Token = "0x600BE46")]
|
||||
[Address(RVA = "0x25A4BB0", Offset = "0x25A3BB0", VA = "0x1825A4BB0", Slot = "13")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
int num = 0;
|
||||
this.byteCount = (long)num;
|
||||
this.xBufOff = num;
|
||||
byte[] array = this.xBuf;
|
||||
int length = array.Length;
|
||||
int num2 = 0;
|
||||
Array.Clear(array, num2, length);
|
||||
}
|
||||
|
||||
// Token: 0x0600BE47 RID: 48711 RVA: 0x002A9B24 File Offset: 0x002A7D24
|
||||
[Token(Token = "0x600BE47")]
|
||||
[Address(RVA = "0x8BCFC0", Offset = "0x8BBFC0", VA = "0x1808BCFC0", Slot = "6")]
|
||||
public int GetByteLength()
|
||||
{
|
||||
return 64;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE48 RID: 48712
|
||||
[Token(Token = "0x600BE48")]
|
||||
[Address(Slot = "14")]
|
||||
internal abstract void ProcessWord(byte[] input, int inOff);
|
||||
|
||||
// Token: 0x0600BE49 RID: 48713
|
||||
[Token(Token = "0x600BE49")]
|
||||
[Address(Slot = "15")]
|
||||
internal abstract void ProcessLength(long bitLength);
|
||||
|
||||
// Token: 0x0600BE4A RID: 48714
|
||||
[Token(Token = "0x600BE4A")]
|
||||
[Address(Slot = "16")]
|
||||
internal abstract void ProcessBlock();
|
||||
|
||||
// Token: 0x17001DAC RID: 7596
|
||||
// (get) Token: 0x0600BE4B RID: 48715
|
||||
[Token(Token = "0x17001DAC")]
|
||||
public abstract string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BE4B")]
|
||||
[Address(Slot = "17")]
|
||||
get;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE4C RID: 48716
|
||||
[Token(Token = "0x600BE4C")]
|
||||
[Address(Slot = "18")]
|
||||
public abstract int GetDigestSize();
|
||||
|
||||
// Token: 0x0600BE4D RID: 48717
|
||||
[Token(Token = "0x600BE4D")]
|
||||
[Address(Slot = "19")]
|
||||
public abstract int DoFinal(byte[] output, int outOff);
|
||||
|
||||
// Token: 0x0600BE4E RID: 48718
|
||||
[Token(Token = "0x600BE4E")]
|
||||
[Address(Slot = "20")]
|
||||
public abstract IMemoable Copy();
|
||||
|
||||
// Token: 0x0600BE4F RID: 48719
|
||||
[Token(Token = "0x600BE4F")]
|
||||
[Address(Slot = "21")]
|
||||
public abstract void Reset(IMemoable t);
|
||||
|
||||
// Token: 0x0400784D RID: 30797
|
||||
[Token(Token = "0x400784D")]
|
||||
private const int BYTE_LENGTH = 64;
|
||||
|
||||
// Token: 0x0400784E RID: 30798
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400784E")]
|
||||
private byte[] xBuf;
|
||||
|
||||
// Token: 0x0400784F RID: 30799
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400784F")]
|
||||
private int xBufOff;
|
||||
|
||||
// Token: 0x04007850 RID: 30800
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4007850")]
|
||||
private long byteCount;
|
||||
}
|
||||
}
|
||||
+788
@@ -0,0 +1,788 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DC3 RID: 7619
|
||||
[Token(Token = "0x2001DC3")]
|
||||
public class Gost3411Digest : IDigest, IMemoable
|
||||
{
|
||||
// Token: 0x0600BE0A RID: 48650 RVA: 0x002A75FC File Offset: 0x002A57FC
|
||||
[Token(Token = "0x600BE0A")]
|
||||
[Address(RVA = "0x25A5570", Offset = "0x25A4570", VA = "0x1825A5570")]
|
||||
private static byte[][] MakeC()
|
||||
{
|
||||
byte[][] array = new byte[4][];
|
||||
int num = 0;
|
||||
byte[] array2 = new byte[32];
|
||||
if (array2 != 0)
|
||||
{
|
||||
}
|
||||
num++;
|
||||
array[0] = array2;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE0B RID: 48651 RVA: 0x002A7634 File Offset: 0x002A5834
|
||||
[Token(Token = "0x600BE0B")]
|
||||
[Address(RVA = "0x25A5DB0", Offset = "0x25A4DB0", VA = "0x1825A5DB0")]
|
||||
public Gost3411Digest()
|
||||
{
|
||||
byte[] array = new byte[32];
|
||||
this.H = array;
|
||||
byte[] array2 = new byte[32];
|
||||
this.L = array2;
|
||||
byte[] array3 = new byte[32];
|
||||
this.M = array3;
|
||||
byte[] array4 = new byte[32];
|
||||
this.Sum = array4;
|
||||
byte[][] array5 = Gost3411Digest.MakeC();
|
||||
this.C = array5;
|
||||
byte[] array6 = new byte[32];
|
||||
this.xBuf = array6;
|
||||
Gost28147Engine gost28147Engine = new Gost28147Engine();
|
||||
this.cipher = gost28147Engine;
|
||||
byte[] array7 = new byte[32];
|
||||
this.K = array7;
|
||||
byte[] array8 = new byte[8];
|
||||
this.a = array8;
|
||||
short[] array9 = new short[16];
|
||||
this.wS = array9;
|
||||
short[] array10 = new short[16];
|
||||
this.w_S = array10;
|
||||
byte[] array11 = new byte[32];
|
||||
this.S = array11;
|
||||
byte[] array12 = new byte[32];
|
||||
this.U = array12;
|
||||
byte[] array13 = new byte[32];
|
||||
this.V = array13;
|
||||
byte[] array14 = new byte[32];
|
||||
this.W = array14;
|
||||
base..ctor();
|
||||
byte[] sbox = Gost28147Engine.GetSBox("D-A");
|
||||
IBlockCipher blockCipher = this.cipher;
|
||||
this.sBox = sbox;
|
||||
int num;
|
||||
ParametersWithSBox parametersWithSBox = new ParametersWithSBox(num, sbox);
|
||||
num = 0;
|
||||
this.Reset();
|
||||
}
|
||||
|
||||
// Token: 0x0600BE0C RID: 48652 RVA: 0x002A7774 File Offset: 0x002A5974
|
||||
[Token(Token = "0x600BE0C")]
|
||||
[Address(RVA = "0x25A61B0", Offset = "0x25A51B0", VA = "0x1825A61B0")]
|
||||
public Gost3411Digest(byte[] sBoxParam)
|
||||
{
|
||||
byte[] array = new byte[32];
|
||||
this.H = array;
|
||||
byte[] array2 = new byte[32];
|
||||
this.L = array2;
|
||||
byte[] array3 = new byte[32];
|
||||
this.M = array3;
|
||||
byte[] array4 = new byte[32];
|
||||
this.Sum = array4;
|
||||
byte[][] array5 = Gost3411Digest.MakeC();
|
||||
this.C = array5;
|
||||
byte[] array6 = new byte[32];
|
||||
this.xBuf = array6;
|
||||
Gost28147Engine gost28147Engine = new Gost28147Engine();
|
||||
this.cipher = gost28147Engine;
|
||||
byte[] array7 = new byte[32];
|
||||
this.K = array7;
|
||||
byte[] array8 = new byte[8];
|
||||
this.a = array8;
|
||||
short[] array9 = new short[16];
|
||||
this.wS = array9;
|
||||
short[] array10 = new short[16];
|
||||
this.w_S = array10;
|
||||
byte[] array11 = new byte[32];
|
||||
this.S = array11;
|
||||
byte[] array12 = new byte[32];
|
||||
this.U = array12;
|
||||
byte[] array13 = new byte[32];
|
||||
this.V = array13;
|
||||
byte[] array14 = new byte[32];
|
||||
this.W = array14;
|
||||
base..ctor();
|
||||
byte[] array15 = Arrays.Clone(sBoxParam);
|
||||
IBlockCipher blockCipher = this.cipher;
|
||||
this.sBox = array15;
|
||||
int num;
|
||||
ParametersWithSBox parametersWithSBox = new ParametersWithSBox(num, array15);
|
||||
num = 0;
|
||||
this.Reset();
|
||||
}
|
||||
|
||||
// Token: 0x0600BE0D RID: 48653 RVA: 0x002A78B0 File Offset: 0x002A5AB0
|
||||
[Token(Token = "0x600BE0D")]
|
||||
[Address(RVA = "0x25A5FF0", Offset = "0x25A4FF0", VA = "0x1825A5FF0")]
|
||||
public Gost3411Digest(Gost3411Digest t)
|
||||
{
|
||||
byte[] array = new byte[32];
|
||||
this.H = array;
|
||||
byte[] array2 = new byte[32];
|
||||
this.L = array2;
|
||||
byte[] array3 = new byte[32];
|
||||
this.M = array3;
|
||||
byte[] array4 = new byte[32];
|
||||
this.Sum = array4;
|
||||
byte[][] array5 = Gost3411Digest.MakeC();
|
||||
this.C = array5;
|
||||
byte[] array6 = new byte[32];
|
||||
this.xBuf = array6;
|
||||
Gost28147Engine gost28147Engine = new Gost28147Engine();
|
||||
this.cipher = gost28147Engine;
|
||||
byte[] array7 = new byte[32];
|
||||
this.K = array7;
|
||||
byte[] array8 = new byte[8];
|
||||
this.a = array8;
|
||||
short[] array9 = new short[16];
|
||||
this.wS = array9;
|
||||
short[] array10 = new short[16];
|
||||
this.w_S = array10;
|
||||
byte[] array11 = new byte[32];
|
||||
this.S = array11;
|
||||
byte[] array12 = new byte[32];
|
||||
this.U = array12;
|
||||
byte[] array13 = new byte[32];
|
||||
this.V = array13;
|
||||
byte[] array14 = new byte[32];
|
||||
this.W = array14;
|
||||
base..ctor();
|
||||
this.Reset(t);
|
||||
}
|
||||
|
||||
// Token: 0x17001DA8 RID: 7592
|
||||
// (get) Token: 0x0600BE0E RID: 48654 RVA: 0x002A79C0 File Offset: 0x002A5BC0
|
||||
[Token(Token = "0x17001DA8")]
|
||||
public string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BE0E")]
|
||||
[Address(RVA = "0x25A6960", Offset = "0x25A5960", VA = "0x1825A6960", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return "Gost3411";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE0F RID: 48655 RVA: 0x002A79D4 File Offset: 0x002A5BD4
|
||||
[Token(Token = "0x600BE0F")]
|
||||
[Address(RVA = "0x8BCAC0", Offset = "0x8BBAC0", VA = "0x1808BCAC0", Slot = "5")]
|
||||
public int GetDigestSize()
|
||||
{
|
||||
return 32;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE10 RID: 48656 RVA: 0x002A79E4 File Offset: 0x002A5BE4
|
||||
[Token(Token = "0x600BE10")]
|
||||
[Address(RVA = "0x25A5CD0", Offset = "0x25A4CD0", VA = "0x1825A5CD0", Slot = "7")]
|
||||
public void Update(byte input)
|
||||
{
|
||||
byte[] array = this.xBuf;
|
||||
int num = this.xBufOff + 1;
|
||||
this.xBufOff = num;
|
||||
byte[] array2 = this.xBuf;
|
||||
int length = array2.Length;
|
||||
if (this.xBufOff == length)
|
||||
{
|
||||
this.sumByteArray(array2);
|
||||
byte[] array3 = this.xBuf;
|
||||
int num2 = 0;
|
||||
this.processBlock(array3, num2);
|
||||
this.xBufOff = (int)((ulong)0L);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE11 RID: 48657 RVA: 0x002A7A4C File Offset: 0x002A5C4C
|
||||
[Token(Token = "0x600BE11")]
|
||||
[Address(RVA = "0x25A4E40", Offset = "0x25A3E40", VA = "0x1825A4E40", Slot = "8")]
|
||||
public void BlockUpdate(byte[] input, int inOff, int length)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = this.xBufOff;
|
||||
if (num2 != 0 && length > 0)
|
||||
{
|
||||
byte[] array = this.xBuf;
|
||||
int num3 = num2 + 1;
|
||||
this.xBufOff = num3;
|
||||
byte[] array2 = this.xBuf;
|
||||
int num4 = this.xBufOff;
|
||||
if (num4 == array2.Length)
|
||||
{
|
||||
this.sumByteArray(array2);
|
||||
byte[] array3 = this.xBuf;
|
||||
int num5 = 0;
|
||||
this.processBlock(array3, num5);
|
||||
this.xBufOff = num;
|
||||
}
|
||||
while (num4 != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
byte[] array4 = this.xBuf;
|
||||
if (length > array4.Length)
|
||||
{
|
||||
int length2 = array4.Length;
|
||||
int num6 = 0;
|
||||
Array.Copy(input, inOff, array4, num6, length2);
|
||||
byte[] array5 = this.xBuf;
|
||||
int length3 = this.Sum.Length;
|
||||
if (num != length3)
|
||||
{
|
||||
byte b;
|
||||
num += (int)b;
|
||||
byte b2;
|
||||
num += (int)b2;
|
||||
num++;
|
||||
}
|
||||
byte[] array6 = this.xBuf;
|
||||
int num7 = 0;
|
||||
this.processBlock(array6, num7);
|
||||
int length4 = this.xBuf.Length;
|
||||
}
|
||||
if (length > 0)
|
||||
{
|
||||
int num8 = this.xBufOff;
|
||||
byte[] array7 = this.xBuf;
|
||||
int num9 = num8 + 1;
|
||||
this.xBufOff = num9;
|
||||
int length5 = this.xBuf.Length;
|
||||
if (this.xBufOff == length5)
|
||||
{
|
||||
int length6 = this.Sum.Length;
|
||||
if (num != length6)
|
||||
{
|
||||
byte b3;
|
||||
num += (int)b3;
|
||||
byte b4;
|
||||
num += (int)b4;
|
||||
num++;
|
||||
}
|
||||
byte[] array8 = this.xBuf;
|
||||
int num10 = 0;
|
||||
this.processBlock(array8, num10);
|
||||
this.xBufOff = num;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE12 RID: 48658 RVA: 0x002A7BB8 File Offset: 0x002A5DB8
|
||||
[Token(Token = "0x600BE12")]
|
||||
[Address(RVA = "0x25A5630", Offset = "0x25A4630", VA = "0x1825A5630")]
|
||||
private byte[] P(byte[] input)
|
||||
{
|
||||
int num = 0;
|
||||
byte[] k = this.K;
|
||||
byte[] k2 = this.K;
|
||||
byte[] k3 = this.K;
|
||||
num += 2;
|
||||
byte[] k4 = this.K;
|
||||
num++;
|
||||
return this.K;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE13 RID: 48659 RVA: 0x002A7BFC File Offset: 0x002A5DFC
|
||||
[Token(Token = "0x600BE13")]
|
||||
[Address(RVA = "0x25A4D50", Offset = "0x25A3D50", VA = "0x1825A4D50")]
|
||||
private byte[] A(byte[] input)
|
||||
{
|
||||
int num = 0;
|
||||
int length = input.Length;
|
||||
byte[] array = this.a;
|
||||
byte b = input[num];
|
||||
num++;
|
||||
int num2 = 0;
|
||||
ulong num3;
|
||||
Array.Copy(input, 8, input, num2, (int)num3);
|
||||
byte[] array2 = this.a;
|
||||
int num4 = 0;
|
||||
ulong num5;
|
||||
Array.Copy(array2, num4, input, 24, (int)num5);
|
||||
return input;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE14 RID: 48660 RVA: 0x002A7C54 File Offset: 0x002A5E54
|
||||
[Token(Token = "0x600BE14")]
|
||||
[Address(RVA = "0x25A5490", Offset = "0x25A4490", VA = "0x1825A5490")]
|
||||
private void E(byte[] key, byte[] s, int sOff, byte[] input, int inOff)
|
||||
{
|
||||
IBlockCipher blockCipher = this.cipher;
|
||||
KeyParameter keyParameter = new KeyParameter(key);
|
||||
IBlockCipher blockCipher2 = this.cipher;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600BE15 RID: 48661 RVA: 0x002A7C7C File Offset: 0x002A5E7C
|
||||
[Token(Token = "0x600BE15")]
|
||||
[Address(RVA = "0x25A6640", Offset = "0x25A5640", VA = "0x1825A6640")]
|
||||
private void fw(byte[] input)
|
||||
{
|
||||
short[] array = this.wS;
|
||||
int num = 0;
|
||||
int num2 = input.Length;
|
||||
num2 -= input;
|
||||
if (num < num2)
|
||||
{
|
||||
num++;
|
||||
num += 2;
|
||||
byte b;
|
||||
array[0] = (short)b;
|
||||
}
|
||||
short[] array2 = this.wS;
|
||||
short[] array3 = this.w_S;
|
||||
int length = array2.Length;
|
||||
short num3 = array2[3];
|
||||
int num4 = 0;
|
||||
array3[3] = num3;
|
||||
short[] array4 = this.w_S;
|
||||
ulong num5;
|
||||
Array.Copy(this.wS, 1, array4, num4, (int)num5);
|
||||
short[] array5 = this.w_S;
|
||||
int num6 = input.Length;
|
||||
num6--;
|
||||
if (num < num6)
|
||||
{
|
||||
short num7 = array5[num];
|
||||
num++;
|
||||
num += 2;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE16 RID: 48662 RVA: 0x002A7D30 File Offset: 0x002A5F30
|
||||
[Token(Token = "0x600BE16")]
|
||||
[Address(RVA = "0x25A6990", Offset = "0x25A5990", VA = "0x1825A6990")]
|
||||
private void processBlock(byte[] input, int inOff)
|
||||
{
|
||||
byte[] m = this.M;
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
ulong num3;
|
||||
Array.Copy(input, inOff, m, num2, (int)num3);
|
||||
byte[] h = this.H;
|
||||
byte[] u = this.U;
|
||||
byte[] m2 = this.M;
|
||||
byte[] v = this.V;
|
||||
byte[] u2 = this.U;
|
||||
byte[] v2 = this.V;
|
||||
byte[] w = this.W;
|
||||
num++;
|
||||
byte[] w2 = this.W;
|
||||
byte[] array = this.P(w2);
|
||||
byte[] h2 = this.H;
|
||||
int num4 = 0;
|
||||
byte[] s = this.S;
|
||||
this.E(array, s, num4, h2, num);
|
||||
byte[] u3 = this.U;
|
||||
byte[] array2 = this.A(u3);
|
||||
uint num5;
|
||||
byte[] array3 = this.C[(int)num5];
|
||||
byte[] u4 = this.U;
|
||||
num++;
|
||||
byte[] v3 = this.V;
|
||||
byte[] array4 = this.A(v3);
|
||||
byte[] array5 = this.A(array4);
|
||||
this.V = array5;
|
||||
byte[] u5 = this.U;
|
||||
byte[] v4 = this.V;
|
||||
byte[] w3 = this.W;
|
||||
num++;
|
||||
byte[] w4 = this.W;
|
||||
byte[] array6 = this.P(w4);
|
||||
byte[] h3 = this.H;
|
||||
byte[] s2 = this.S;
|
||||
this.E(array6, s2, num, h3, num);
|
||||
num5 += (uint)1;
|
||||
byte[] s3 = this.S;
|
||||
this.fw(s3);
|
||||
byte[] s4 = this.S;
|
||||
byte[] m3 = this.M;
|
||||
num++;
|
||||
byte[] s5 = this.S;
|
||||
this.fw(s5);
|
||||
byte[] h4 = this.H;
|
||||
byte[] s6 = this.S;
|
||||
num++;
|
||||
byte[] s7 = this.S;
|
||||
this.fw(s7);
|
||||
while (num != 32)
|
||||
{
|
||||
}
|
||||
byte[] h5 = this.H;
|
||||
int length = h5.Length;
|
||||
int num6 = 0;
|
||||
byte[] s8 = this.S;
|
||||
int num7 = 0;
|
||||
Array.Copy(s8, num7, h5, num6, length);
|
||||
}
|
||||
|
||||
// Token: 0x0600BE17 RID: 48663 RVA: 0x002A7F00 File Offset: 0x002A6100
|
||||
[Token(Token = "0x600BE17")]
|
||||
[Address(RVA = "0x25A6570", Offset = "0x25A5570", VA = "0x1825A6570")]
|
||||
private void finish()
|
||||
{
|
||||
ulong num = this.byteCount;
|
||||
byte[] l = this.L;
|
||||
Pack.UInt64_To_LE(num, l);
|
||||
int num2 = this.xBufOff;
|
||||
if (num2 != 0)
|
||||
{
|
||||
int num3 = 0;
|
||||
byte[] array = this.xBuf;
|
||||
int num4 = num2 + 1;
|
||||
this.xBufOff = num4;
|
||||
byte[] array2 = this.xBuf;
|
||||
int num5 = this.xBufOff;
|
||||
if (num5 == array2.Length)
|
||||
{
|
||||
this.sumByteArray(array2);
|
||||
byte[] array3 = this.xBuf;
|
||||
int num6 = 0;
|
||||
this.processBlock(array3, num6);
|
||||
this.xBufOff = num3;
|
||||
}
|
||||
while (num5 != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
byte[] l2 = this.L;
|
||||
int num7 = 0;
|
||||
this.processBlock(l2, num7);
|
||||
byte[] sum = this.Sum;
|
||||
int num8 = 0;
|
||||
this.processBlock(sum, num8);
|
||||
}
|
||||
|
||||
// Token: 0x0600BE18 RID: 48664 RVA: 0x002A7FBC File Offset: 0x002A61BC
|
||||
[Token(Token = "0x600BE18")]
|
||||
[Address(RVA = "0x25A5370", Offset = "0x25A4370", VA = "0x1825A5370", Slot = "9")]
|
||||
public int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
ulong num = this.byteCount;
|
||||
byte[] l = this.L;
|
||||
Pack.UInt64_To_LE(num, l);
|
||||
int num2 = this.xBufOff;
|
||||
if (num2 != 0)
|
||||
{
|
||||
int num3 = 0;
|
||||
byte[] array = this.xBuf;
|
||||
int num4 = num2 + 1;
|
||||
this.xBufOff = num4;
|
||||
byte[] array2 = this.xBuf;
|
||||
int num5 = this.xBufOff;
|
||||
if (num5 == array2.Length)
|
||||
{
|
||||
this.sumByteArray(array2);
|
||||
byte[] array3 = this.xBuf;
|
||||
int num6 = 0;
|
||||
this.processBlock(array3, num6);
|
||||
this.xBufOff = num3;
|
||||
}
|
||||
while (num5 != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
byte[] l2 = this.L;
|
||||
int num7 = 0;
|
||||
this.processBlock(l2, num7);
|
||||
byte[] sum = this.Sum;
|
||||
int num8 = 0;
|
||||
this.processBlock(sum, num8);
|
||||
byte[] h = this.H;
|
||||
this.Reset();
|
||||
return 32;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE19 RID: 48665 RVA: 0x002A8088 File Offset: 0x002A6288
|
||||
[Token(Token = "0x600BE19")]
|
||||
[Address(RVA = "0x25A57B0", Offset = "0x25A47B0", VA = "0x1825A57B0", Slot = "10")]
|
||||
public void Reset()
|
||||
{
|
||||
byte[] h = this.H;
|
||||
int num = 0;
|
||||
this.byteCount = (ulong)num;
|
||||
this.xBufOff = num;
|
||||
int length = h.Length;
|
||||
int num2 = 0;
|
||||
Array.Clear(h, num2, length);
|
||||
byte[] l = this.L;
|
||||
int length2 = l.Length;
|
||||
int num3 = 0;
|
||||
Array.Clear(l, num3, length2);
|
||||
byte[] m = this.M;
|
||||
int length3 = m.Length;
|
||||
int num4 = 0;
|
||||
Array.Clear(m, num4, length3);
|
||||
byte[] array = this.C[1];
|
||||
int length4 = array.Length;
|
||||
int num5 = 0;
|
||||
Array.Clear(array, num5, length4);
|
||||
byte[] array2 = this.C[3];
|
||||
int length5 = array2.Length;
|
||||
int num6 = 0;
|
||||
Array.Clear(array2, num6, length5);
|
||||
byte[] sum = this.Sum;
|
||||
int length6 = sum.Length;
|
||||
int num7 = 0;
|
||||
Array.Clear(sum, num7, length6);
|
||||
byte[] array3 = this.xBuf;
|
||||
int length7 = array3.Length;
|
||||
int num8 = 0;
|
||||
Array.Clear(array3, num8, length7);
|
||||
byte[][] c = this.C;
|
||||
byte[] c2 = Gost3411Digest.C2;
|
||||
byte[] array4 = c[2];
|
||||
}
|
||||
|
||||
// Token: 0x0600BE1A RID: 48666 RVA: 0x002A81A8 File Offset: 0x002A63A8
|
||||
[Token(Token = "0x600BE1A")]
|
||||
[Address(RVA = "0x25A6E50", Offset = "0x25A5E50", VA = "0x1825A6E50")]
|
||||
private void sumByteArray(byte[] input)
|
||||
{
|
||||
int num = 0;
|
||||
byte[] sum = this.Sum;
|
||||
if (num != sum.Length)
|
||||
{
|
||||
num++;
|
||||
byte b;
|
||||
num += (int)b;
|
||||
byte b2;
|
||||
num += (int)b2;
|
||||
byte[] sum2 = this.Sum;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE1B RID: 48667 RVA: 0x002A81E4 File Offset: 0x002A63E4
|
||||
[Token(Token = "0x600BE1B")]
|
||||
[Address(RVA = "0x25A63F0", Offset = "0x25A53F0", VA = "0x1825A63F0")]
|
||||
private static void cpyBytesToShort(byte[] S, short[] wS)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = S.Length;
|
||||
num2 -= wS;
|
||||
if (num < num2)
|
||||
{
|
||||
num++;
|
||||
num += 2;
|
||||
byte b;
|
||||
wS[0] = (short)b;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE1C RID: 48668 RVA: 0x002A8218 File Offset: 0x002A6418
|
||||
[Token(Token = "0x600BE1C")]
|
||||
[Address(RVA = "0x25A64A0", Offset = "0x25A54A0", VA = "0x1825A64A0")]
|
||||
private static void cpyShortToBytes(short[] wS, byte[] S)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = S.Length;
|
||||
num2 -= S;
|
||||
if (num < num2)
|
||||
{
|
||||
short num3 = wS[num];
|
||||
num++;
|
||||
num += 2;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE1D RID: 48669 RVA: 0x002A824C File Offset: 0x002A644C
|
||||
[Token(Token = "0x600BE1D")]
|
||||
[Address(RVA = "0x8BCAC0", Offset = "0x8BBAC0", VA = "0x1808BCAC0", Slot = "6")]
|
||||
public int GetByteLength()
|
||||
{
|
||||
return 32;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE1E RID: 48670 RVA: 0x002A825C File Offset: 0x002A645C
|
||||
[Token(Token = "0x600BE1E")]
|
||||
[Address(RVA = "0x25A5180", Offset = "0x25A4180", VA = "0x1825A5180", Slot = "11")]
|
||||
public IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BE1E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Gost3411Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint8[](var_1_07, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(32)))
|
||||
stfld:uint8[](Gost3411Digest::H, ldloc:Gost3411Digest(var_0), ldloc:uint8[](var_1_07))
|
||||
stloc:uint8[](var_2_16, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(32)))
|
||||
stfld:uint8[](Gost3411Digest::L, ldloc:Gost3411Digest(var_0), ldloc:uint8[](var_2_16))
|
||||
stloc:uint8[](var_3_25, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(32)))
|
||||
stfld:uint8[](Gost3411Digest::M, ldloc:Gost3411Digest(var_0), ldloc:uint8[](var_3_25))
|
||||
stloc:uint8[](var_4_34, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(32)))
|
||||
stfld:uint8[](Gost3411Digest::Sum, ldloc:Gost3411Digest(var_0), ldloc:uint8[](var_4_34))
|
||||
stloc:uint8[][](var_6_46, call:uint8[][](Gost3411Digest::MakeC))
|
||||
stfld:uint8[][](Gost3411Digest::C, ldloc:Gost3411Digest(var_0), ldloc:uint8[][](var_6_46))
|
||||
stloc:uint8[](var_7_57, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(32)))
|
||||
stfld:uint8[](Gost3411Digest::xBuf, ldloc:Gost3411Digest(var_0), ldloc:uint8[](var_7_57))
|
||||
stloc:Gost28147Engine(var_8_66, newobj:Gost28147Engine(Gost28147Engine::.ctor))
|
||||
stfld:IBlockCipher(Gost3411Digest::cipher, ldloc:Gost3411Digest(var_0), ldloc:Gost28147Engine[exp:IBlockCipher](var_8_66))
|
||||
stloc:uint8[](var_9_77, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(32)))
|
||||
stfld:uint8[](Gost3411Digest::K, ldloc:Gost3411Digest(var_0), ldloc:uint8[](var_9_77))
|
||||
stloc:uint8[](var_10_87, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(8)))
|
||||
stfld:uint8[](Gost3411Digest::a, ldloc:Gost3411Digest(var_0), ldloc:uint8[](var_10_87))
|
||||
stloc:int16[](var_11_98, newarr:int16[]([mscorlib]System.Int16, ldc.i4:int32(16)))
|
||||
stfld:int16[](Gost3411Digest::wS, ldloc:Gost3411Digest(var_0), ldloc:int16[](var_11_98))
|
||||
stloc:int16[](var_12_A9, newarr:int16[]([mscorlib]System.Int16, ldc.i4:int32(16)))
|
||||
stfld:int16[](Gost3411Digest::w_S, ldloc:Gost3411Digest(var_0), ldloc:int16[](var_12_A9))
|
||||
stloc:uint8[](var_13_BA, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(32)))
|
||||
stfld:uint8[](Gost3411Digest::S, ldloc:Gost3411Digest(var_0), ldloc:uint8[](var_13_BA))
|
||||
stloc:uint8[](var_14_CB, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(32)))
|
||||
stfld:uint8[](Gost3411Digest::U, ldloc:Gost3411Digest(var_0), ldloc:uint8[](var_14_CB))
|
||||
stloc:uint8[](var_15_DC, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(32)))
|
||||
stfld:uint8[](Gost3411Digest::V, ldloc:Gost3411Digest(var_0), ldloc:uint8[](var_15_DC))
|
||||
stloc:uint8[](var_16_ED, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(32)))
|
||||
stfld:uint8[](Gost3411Digest::W, ldloc:Gost3411Digest(var_0), ldloc:uint8[](var_16_ED))
|
||||
call:void(Gost3411Digest::Reset, ldloc:Gost3411Digest(var_0), ldloc:Gost3411Digest[exp:IMemoable](this))
|
||||
}
|
||||
|
||||
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: 0x0600BE1F RID: 48671 RVA: 0x002A8368 File Offset: 0x002A6568
|
||||
[Token(Token = "0x600BE1F")]
|
||||
[Address(RVA = "0x25A5970", Offset = "0x25A4970", VA = "0x1825A5970", Slot = "12")]
|
||||
public void Reset(IMemoable other)
|
||||
{
|
||||
while (other == 0)
|
||||
{
|
||||
}
|
||||
IBlockCipher blockCipher = this.cipher;
|
||||
this.sBox = other;
|
||||
this.Reset();
|
||||
byte[] l = this.L;
|
||||
byte[] l2 = this.L;
|
||||
byte[] l3 = this.L;
|
||||
byte[] l4 = this.L;
|
||||
byte[][] c = this.C;
|
||||
byte b = l4[1];
|
||||
byte[][] c2 = this.C;
|
||||
byte[][] c3 = this.C;
|
||||
this.xBufOff = c3;
|
||||
this.byteCount = c3;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE20 RID: 48672 RVA: 0x002A83EC File Offset: 0x002A65EC
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600BE20")]
|
||||
[Address(RVA = "0x25A5D50", Offset = "0x25A4D50", VA = "0x1825A5D50")]
|
||||
static Gost3411Digest()
|
||||
{
|
||||
byte[] array = new byte[32];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.CC5B8B6FA17DA57B26C3ACA4DA8B2A477C609D63).FieldHandle);
|
||||
Gost3411Digest.C2 = array;
|
||||
}
|
||||
|
||||
// Token: 0x0400782B RID: 30763
|
||||
[Token(Token = "0x400782B")]
|
||||
private const int DIGEST_LENGTH = 32;
|
||||
|
||||
// Token: 0x0400782C RID: 30764
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400782C")]
|
||||
private byte[] H;
|
||||
|
||||
// Token: 0x0400782D RID: 30765
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400782D")]
|
||||
private byte[] L;
|
||||
|
||||
// Token: 0x0400782E RID: 30766
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x400782E")]
|
||||
private byte[] M;
|
||||
|
||||
// Token: 0x0400782F RID: 30767
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x400782F")]
|
||||
private byte[] Sum;
|
||||
|
||||
// Token: 0x04007830 RID: 30768
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4007830")]
|
||||
private byte[][] C;
|
||||
|
||||
// Token: 0x04007831 RID: 30769
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4007831")]
|
||||
private byte[] xBuf;
|
||||
|
||||
// Token: 0x04007832 RID: 30770
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4007832")]
|
||||
private int xBufOff;
|
||||
|
||||
// Token: 0x04007833 RID: 30771
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4007833")]
|
||||
private ulong byteCount;
|
||||
|
||||
// Token: 0x04007834 RID: 30772
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4007834")]
|
||||
private readonly IBlockCipher cipher;
|
||||
|
||||
// Token: 0x04007835 RID: 30773
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4007835")]
|
||||
private byte[] sBox;
|
||||
|
||||
// Token: 0x04007836 RID: 30774
|
||||
[FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x4007836")]
|
||||
private byte[] K;
|
||||
|
||||
// Token: 0x04007837 RID: 30775
|
||||
[FieldOffset(Offset = "0x68")]
|
||||
[Token(Token = "0x4007837")]
|
||||
private byte[] a;
|
||||
|
||||
// Token: 0x04007838 RID: 30776
|
||||
[FieldOffset(Offset = "0x70")]
|
||||
[Token(Token = "0x4007838")]
|
||||
internal short[] wS;
|
||||
|
||||
// Token: 0x04007839 RID: 30777
|
||||
[FieldOffset(Offset = "0x78")]
|
||||
[Token(Token = "0x4007839")]
|
||||
internal short[] w_S;
|
||||
|
||||
// Token: 0x0400783A RID: 30778
|
||||
[FieldOffset(Offset = "0x80")]
|
||||
[Token(Token = "0x400783A")]
|
||||
internal byte[] S;
|
||||
|
||||
// Token: 0x0400783B RID: 30779
|
||||
[FieldOffset(Offset = "0x88")]
|
||||
[Token(Token = "0x400783B")]
|
||||
internal byte[] U;
|
||||
|
||||
// Token: 0x0400783C RID: 30780
|
||||
[FieldOffset(Offset = "0x90")]
|
||||
[Token(Token = "0x400783C")]
|
||||
internal byte[] V;
|
||||
|
||||
// Token: 0x0400783D RID: 30781
|
||||
[FieldOffset(Offset = "0x98")]
|
||||
[Token(Token = "0x400783D")]
|
||||
internal byte[] W;
|
||||
|
||||
// Token: 0x0400783E RID: 30782
|
||||
[Token(Token = "0x400783E")]
|
||||
private static readonly byte[] C2;
|
||||
}
|
||||
}
|
||||
+577
@@ -0,0 +1,577 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DC8 RID: 7624
|
||||
[Token(Token = "0x2001DC8")]
|
||||
public class KeccakDigest : IDigest, IMemoable
|
||||
{
|
||||
// Token: 0x0600BE50 RID: 48720 RVA: 0x002A9B34 File Offset: 0x002A7D34
|
||||
[Token(Token = "0x600BE50")]
|
||||
[Address(RVA = "0x25AB3C0", Offset = "0x25AA3C0", VA = "0x1825AB3C0")]
|
||||
public KeccakDigest()
|
||||
{
|
||||
ulong[] array = new ulong[25];
|
||||
this.state = array;
|
||||
byte[] array2 = new byte[192];
|
||||
this.dataQueue = array2;
|
||||
base..ctor();
|
||||
this.Init(288);
|
||||
}
|
||||
|
||||
// Token: 0x0600BE51 RID: 48721 RVA: 0x002A9B74 File Offset: 0x002A7D74
|
||||
[Token(Token = "0x600BE51")]
|
||||
[Address(RVA = "0x25AB340", Offset = "0x25AA340", VA = "0x1825AB340")]
|
||||
public KeccakDigest(int bitLength)
|
||||
{
|
||||
ulong[] array = new ulong[25];
|
||||
this.state = array;
|
||||
byte[] array2 = new byte[192];
|
||||
this.dataQueue = array2;
|
||||
base..ctor();
|
||||
this.Init(bitLength);
|
||||
}
|
||||
|
||||
// Token: 0x0600BE52 RID: 48722 RVA: 0x002A9BB0 File Offset: 0x002A7DB0
|
||||
[Token(Token = "0x600BE52")]
|
||||
[Address(RVA = "0x25AB2C0", Offset = "0x25AA2C0", VA = "0x1825AB2C0")]
|
||||
public KeccakDigest(KeccakDigest source)
|
||||
{
|
||||
ulong[] array = new ulong[25];
|
||||
this.state = array;
|
||||
byte[] array2 = new byte[192];
|
||||
this.dataQueue = array2;
|
||||
base..ctor();
|
||||
this.CopyIn(source);
|
||||
}
|
||||
|
||||
// Token: 0x0600BE53 RID: 48723 RVA: 0x002A9BEC File Offset: 0x002A7DEC
|
||||
[Token(Token = "0x600BE53")]
|
||||
[Address(RVA = "0x25A98F0", Offset = "0x25A88F0", VA = "0x1825A98F0")]
|
||||
private void CopyIn(KeccakDigest source)
|
||||
{
|
||||
ulong[] array = source.state;
|
||||
int length = array.Length;
|
||||
int num = 0;
|
||||
ulong[] array2 = this.state;
|
||||
int num2 = 0;
|
||||
Array.Copy(array, num2, array2, num, length);
|
||||
byte[] array3 = source.dataQueue;
|
||||
int length2 = array3.Length;
|
||||
int num3 = 0;
|
||||
byte[] array4 = this.dataQueue;
|
||||
int num4 = 0;
|
||||
Array.Copy(array3, num4, array4, num3, length2);
|
||||
int num5 = source.rate;
|
||||
this.rate = num5;
|
||||
int num6 = source.bitsInQueue;
|
||||
this.bitsInQueue = num6;
|
||||
int num7 = source.fixedOutputLength;
|
||||
this.fixedOutputLength = num7;
|
||||
bool flag = source.squeezing;
|
||||
this.squeezing = flag;
|
||||
}
|
||||
|
||||
// Token: 0x17001DAD RID: 7597
|
||||
// (get) Token: 0x0600BE54 RID: 48724 RVA: 0x002A9C94 File Offset: 0x002A7E94
|
||||
[Token(Token = "0x17001DAD")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BE54")]
|
||||
[Address(RVA = "0x25AB430", Offset = "0x25AA430", VA = "0x1825AB430", Slot = "13")]
|
||||
get
|
||||
{
|
||||
int num = this.fixedOutputLength;
|
||||
return "Keccak-" + num;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE55 RID: 48725 RVA: 0x002A9CB4 File Offset: 0x002A7EB4
|
||||
[Token(Token = "0x600BE55")]
|
||||
[Address(RVA = "0x25A9C50", Offset = "0x25A8C50", VA = "0x1825A9C50", Slot = "14")]
|
||||
public virtual int GetDigestSize()
|
||||
{
|
||||
return this.fixedOutputLength;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE56 RID: 48726 RVA: 0x002A9CC8 File Offset: 0x002A7EC8
|
||||
[Token(Token = "0x600BE56")]
|
||||
[Address(RVA = "0x25AB1D0", Offset = "0x25AA1D0", VA = "0x1825AB1D0", Slot = "15")]
|
||||
public virtual void Update(byte input)
|
||||
{
|
||||
byte[] array = new byte[] { input };
|
||||
int num = 0;
|
||||
this.Absorb(array, num, 1);
|
||||
}
|
||||
|
||||
// Token: 0x0600BE57 RID: 48727 RVA: 0x002A9CF8 File Offset: 0x002A7EF8
|
||||
[Token(Token = "0x600BE57")]
|
||||
[Address(RVA = "0x25A98E0", Offset = "0x25A88E0", VA = "0x1825A98E0", Slot = "16")]
|
||||
public virtual void BlockUpdate(byte[] input, int inOff, int len)
|
||||
{
|
||||
this.Absorb(input, inOff, len);
|
||||
}
|
||||
|
||||
// Token: 0x0600BE58 RID: 48728 RVA: 0x002A9D10 File Offset: 0x002A7F10
|
||||
[Token(Token = "0x600BE58")]
|
||||
[Address(RVA = "0x25A9BF0", Offset = "0x25A8BF0", VA = "0x1825A9BF0", Slot = "17")]
|
||||
public virtual int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BE58)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.KeccakDigest::DoFinal(System.Byte[],System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, ldfld:int32(KeccakDigest::fixedOutputLength, ldloc:KeccakDigest(this)))
|
||||
call:void(KeccakDigest::Squeeze, ldloc:KeccakDigest(this), ldloc:uint8[](output), ldloc:int32(outOff), ldloc:int32[exp:int64](var_0_06))
|
||||
stloc:IMemoable(var_3_16, call:IMemoable(IMemoable::Copy, ldloc:KeccakDigest[exp:IMemoable](this)))
|
||||
}
|
||||
|
||||
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: 0x0600BE59 RID: 48729 RVA: 0x002A9D34 File Offset: 0x002A7F34
|
||||
[Token(Token = "0x600BE59")]
|
||||
[Address(RVA = "0x25A9A30", Offset = "0x25A8A30", VA = "0x1825A9A30", Slot = "18")]
|
||||
protected virtual int DoFinal(byte[] output, int outOff, byte partialByte, int partialBits)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BE59)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.KeccakDigest::DoFinal(System.Byte[],System.Int32,System.Byte,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_42:
|
||||
stloc:InvalidOperationException(var_7_4C, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("attempt to absorb while squeezing")))
|
||||
}
|
||||
|
||||
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: 0x0600BE5A RID: 48730 RVA: 0x002A9D90 File Offset: 0x002A7F90
|
||||
[Token(Token = "0x600BE5A")]
|
||||
[Address(RVA = "0x25AB050", Offset = "0x25AA050", VA = "0x1825AB050", Slot = "19")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
int num = this.fixedOutputLength;
|
||||
this.Init(num);
|
||||
}
|
||||
|
||||
// Token: 0x0600BE5B RID: 48731 RVA: 0x002A9DAC File Offset: 0x002A7FAC
|
||||
[Token(Token = "0x600BE5B")]
|
||||
[Address(RVA = "0x25A9C40", Offset = "0x25A8C40", VA = "0x1825A9C40", Slot = "20")]
|
||||
public virtual int GetByteLength()
|
||||
{
|
||||
return this.rate;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE5C RID: 48732 RVA: 0x002A9DC0 File Offset: 0x002A7FC0
|
||||
[Token(Token = "0x600BE5C")]
|
||||
[Address(RVA = "0x25A9D50", Offset = "0x25A8D50", VA = "0x1825A9D50")]
|
||||
private void Init(int bitLength)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BE5C)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.KeccakDigest::Init(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_9C:
|
||||
stloc:ArgumentException(var_7_AB, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("must be one of 128, 224, 256, 288, 384, or 512."), ldstr:string("bitLength")))
|
||||
}
|
||||
|
||||
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: 0x0600BE5D RID: 48733 RVA: 0x002A9E7C File Offset: 0x002A807C
|
||||
[Token(Token = "0x600BE5D")]
|
||||
[Address(RVA = "0x25A9C60", Offset = "0x25A8C60", VA = "0x1825A9C60")]
|
||||
private void InitSponge(int rate)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BE5D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.KeccakDigest::InitSponge(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_5F:
|
||||
stloc:InvalidOperationException(var_6_69, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("invalid rate value")))
|
||||
}
|
||||
|
||||
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: 0x0600BE5E RID: 48734 RVA: 0x002A9EF4 File Offset: 0x002A80F4
|
||||
[Token(Token = "0x600BE5E")]
|
||||
[Address(RVA = "0x25A9740", Offset = "0x25A8740", VA = "0x1825A9740")]
|
||||
protected void Absorb(byte[] data, int off, int len)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BE5E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.KeccakDigest::Absorb(System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_82:
|
||||
stloc:InvalidOperationException(var_9_8C, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("attempt to absorb while squeezing")))
|
||||
}
|
||||
|
||||
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: 0x0600BE5F RID: 48735 RVA: 0x002A9F90 File Offset: 0x002A8190
|
||||
[Token(Token = "0x600BE5F")]
|
||||
[Address(RVA = "0x25A95F0", Offset = "0x25A85F0", VA = "0x1825A95F0")]
|
||||
protected void AbsorbBits(int data, int bits)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BE5F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.KeccakDigest::AbsorbBits(System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_37:
|
||||
stloc:InvalidOperationException(var_5_41, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("attempt to absorb while squeezing")))
|
||||
}
|
||||
|
||||
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: 0x0600BE60 RID: 48736 RVA: 0x002A9FE0 File Offset: 0x002A81E0
|
||||
[Token(Token = "0x600BE60")]
|
||||
[Address(RVA = "0x25AADC0", Offset = "0x25A9DC0", VA = "0x1825AADC0")]
|
||||
private void PadAndSwitchToSqueezingPhase()
|
||||
{
|
||||
byte[] array = this.dataQueue;
|
||||
int num = this.bitsInQueue;
|
||||
array += num;
|
||||
int num2 = 0;
|
||||
array[0] = (byte)num;
|
||||
int num3 = this.bitsInQueue;
|
||||
num3++;
|
||||
this.bitsInQueue = num3;
|
||||
if (num3 == this.rate)
|
||||
{
|
||||
byte[] array2 = this.dataQueue;
|
||||
int num4 = 0;
|
||||
this.KeccakAbsorb(array2, num4);
|
||||
this.bitsInQueue = num2;
|
||||
}
|
||||
ulong[] array3;
|
||||
int num6;
|
||||
if (num3 > 0)
|
||||
{
|
||||
array3 = this.state;
|
||||
ulong num5 = Pack.LE_To_UInt64(this.dataQueue, num2);
|
||||
num2 += 8;
|
||||
num2++;
|
||||
array3[0] = num5;
|
||||
num6 = 0;
|
||||
}
|
||||
if (num3 != 0)
|
||||
{
|
||||
ulong[] array4 = this.state;
|
||||
ulong num7 = Pack.LE_To_UInt64(this.dataQueue, num2);
|
||||
array3[0] = num7;
|
||||
}
|
||||
ulong[] array5 = this.state;
|
||||
int num8 = this.rate;
|
||||
this.KeccakPermutation();
|
||||
int num9 = this.rate;
|
||||
int num10 = 0;
|
||||
byte[] array6 = this.dataQueue;
|
||||
Pack.UInt64_To_LE(this.state, num10, num9, array6, num6);
|
||||
int num11 = this.rate;
|
||||
this.bitsInQueue = num11;
|
||||
this.squeezing = true;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE61 RID: 48737 RVA: 0x002AA0EC File Offset: 0x002A82EC
|
||||
[Token(Token = "0x600BE61")]
|
||||
[Address(RVA = "0x25AB060", Offset = "0x25AA060", VA = "0x1825AB060")]
|
||||
protected void Squeeze(byte[] output, int offset, long outputLength)
|
||||
{
|
||||
if (!this.squeezing)
|
||||
{
|
||||
this.PadAndSwitchToSqueezingPhase();
|
||||
}
|
||||
int num = 0;
|
||||
int num4;
|
||||
if (this.bitsInQueue == 0)
|
||||
{
|
||||
this.KeccakPermutation();
|
||||
int num2 = this.rate;
|
||||
int num3 = 0;
|
||||
byte[] array = this.dataQueue;
|
||||
Pack.UInt64_To_LE(this.state, num3, num2, array, num);
|
||||
num4 = this.rate;
|
||||
this.bitsInQueue = num4;
|
||||
}
|
||||
long num5 = Math.Min((long)num4, outputLength);
|
||||
int num6 = this.rate;
|
||||
byte[] array2 = this.dataQueue;
|
||||
num += offset;
|
||||
Array.Copy(array2, num6, output, num, (int)num5);
|
||||
num = (int)((long)num + num5);
|
||||
}
|
||||
|
||||
// Token: 0x0600BE62 RID: 48738 RVA: 0x002AA184 File Offset: 0x002A8384
|
||||
[Token(Token = "0x600BE62")]
|
||||
[Address(RVA = "0x25A9EF0", Offset = "0x25A8EF0", VA = "0x1825A9EF0")]
|
||||
private void KeccakAbsorb(byte[] data, int off)
|
||||
{
|
||||
int num = this.rate;
|
||||
int num2 = 0;
|
||||
if (num > 0)
|
||||
{
|
||||
ulong[] array = this.state;
|
||||
ulong num3 = Pack.LE_To_UInt64(data, off);
|
||||
num2++;
|
||||
}
|
||||
this.KeccakPermutation();
|
||||
}
|
||||
|
||||
// Token: 0x0600BE63 RID: 48739 RVA: 0x002AA1C0 File Offset: 0x002A83C0
|
||||
[Token(Token = "0x600BE63")]
|
||||
[Address(RVA = "0x25A9FA0", Offset = "0x25A8FA0", VA = "0x1825A9FA0")]
|
||||
private void KeccakExtract()
|
||||
{
|
||||
int num = this.rate;
|
||||
int num2 = 0;
|
||||
byte[] array = this.dataQueue;
|
||||
int num3 = 0;
|
||||
Pack.UInt64_To_LE(this.state, num3, num, array, num2);
|
||||
}
|
||||
|
||||
// Token: 0x0600BE64 RID: 48740 RVA: 0x002AA1F0 File Offset: 0x002A83F0
|
||||
[Token(Token = "0x600BE64")]
|
||||
[Address(RVA = "0x25A9FD0", Offset = "0x25A8FD0", VA = "0x1825A9FD0")]
|
||||
private void KeccakPermutation()
|
||||
{
|
||||
ulong[] array = this.state;
|
||||
int length = array.Length;
|
||||
ulong num = array[0];
|
||||
ulong num2 = array[1];
|
||||
ulong num3 = array[2];
|
||||
ulong num4 = array[3];
|
||||
ulong num5 = array[4];
|
||||
ulong num6 = array[5];
|
||||
ulong num7 = array[6];
|
||||
ulong num8 = array[7];
|
||||
ulong num9 = array[8];
|
||||
ulong num10 = array[9];
|
||||
ulong num11 = array[10];
|
||||
ulong num12 = array[11];
|
||||
ulong num13 = array[12];
|
||||
ulong num14 = array[13];
|
||||
ulong num15 = array[14];
|
||||
ulong num16 = array[15];
|
||||
ulong num17 = array[16];
|
||||
ulong num18 = array[17];
|
||||
ulong num19 = array[18];
|
||||
ulong num20 = array[19];
|
||||
ulong num21 = array[20];
|
||||
ulong num22 = array[21];
|
||||
ulong num23 = array[22];
|
||||
ulong num24 = array[23];
|
||||
ulong num25 = array[24];
|
||||
int num26 = 0;
|
||||
num22 = num23;
|
||||
num3 = num24;
|
||||
num10 = num3;
|
||||
num15 = num21;
|
||||
num21 = num13;
|
||||
num20 = num24;
|
||||
num3 = num25;
|
||||
num24 = num16;
|
||||
num25 = num22;
|
||||
num5 = num19;
|
||||
num6 = num5;
|
||||
num7 = num6;
|
||||
num12 = num3;
|
||||
num3 = num15;
|
||||
num2 = num12;
|
||||
num19 = num20;
|
||||
num6 = num7;
|
||||
num5 = num7;
|
||||
num12 = num24;
|
||||
num16 = num5;
|
||||
ulong[] keccakRoundConstants = KeccakDigest.KeccakRoundConstants;
|
||||
num26++;
|
||||
array[0] = num;
|
||||
array[1] = num7;
|
||||
array[2] = num21;
|
||||
array[3] = num5;
|
||||
array[4] = num3;
|
||||
array[5] = num6;
|
||||
num7 = num6;
|
||||
array[6] = num7;
|
||||
array[7] = num12;
|
||||
array[8] = num5;
|
||||
array[9] = num7;
|
||||
array[10] = num2;
|
||||
array[11] = num12;
|
||||
array[12] = num3;
|
||||
array[13] = num3;
|
||||
array[14] = num15;
|
||||
array[15] = num16;
|
||||
array[16] = num5;
|
||||
array[17] = num19;
|
||||
array[18] = num19;
|
||||
num6 = num20;
|
||||
array[19] = num6;
|
||||
array[20] = num10;
|
||||
array[21] = num5;
|
||||
array[22] = num7;
|
||||
array[23] = num24;
|
||||
array[24] = num25;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE65 RID: 48741 RVA: 0x002AA4EC File Offset: 0x002A86EC
|
||||
[Token(Token = "0x600BE65")]
|
||||
[Address(RVA = "0x25A9980", Offset = "0x25A8980", VA = "0x1825A9980", Slot = "21")]
|
||||
public virtual IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BE65)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.KeccakDigest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:KeccakDigest(var_0_05, newobj:KeccakDigest(KeccakDigest::.ctor))
|
||||
stloc:uint64[](var_1_0D, newarr:uint64[]([mscorlib]System.UInt64, ldc.i4:int32(25)))
|
||||
stfld:uint64[](KeccakDigest::state, ldloc:KeccakDigest(var_0_05), ldloc:uint64[](var_1_0D))
|
||||
stloc:uint8[](var_2_1F, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(192)))
|
||||
stfld:uint8[](KeccakDigest::dataQueue, ldloc:KeccakDigest(var_0_05), ldloc:uint8[](var_2_1F))
|
||||
call:void(KeccakDigest::CopyIn, ldloc:KeccakDigest(var_0_05), ldloc:KeccakDigest(this))
|
||||
}
|
||||
|
||||
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: 0x0600BE66 RID: 48742 RVA: 0x002AA528 File Offset: 0x002A8728
|
||||
[Token(Token = "0x600BE66")]
|
||||
[Address(RVA = "0x25AAFB0", Offset = "0x25A9FB0", VA = "0x1825AAFB0", Slot = "22")]
|
||||
public virtual void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x0600BE67 RID: 48743 RVA: 0x002AA540 File Offset: 0x002A8740
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600BE67")]
|
||||
[Address(RVA = "0x25AB260", Offset = "0x25AA260", VA = "0x1825AB260")]
|
||||
static KeccakDigest()
|
||||
{
|
||||
ulong[] array = new ulong[24];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.6BBA9E7ACC5D57E30438CC78FF7E308399E10FE1).FieldHandle);
|
||||
KeccakDigest.KeccakRoundConstants = array;
|
||||
}
|
||||
|
||||
// Token: 0x04007851 RID: 30801
|
||||
[Token(Token = "0x4007851")]
|
||||
private static readonly ulong[] KeccakRoundConstants;
|
||||
|
||||
// Token: 0x04007852 RID: 30802
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007852")]
|
||||
private ulong[] state;
|
||||
|
||||
// Token: 0x04007853 RID: 30803
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4007853")]
|
||||
protected byte[] dataQueue;
|
||||
|
||||
// Token: 0x04007854 RID: 30804
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4007854")]
|
||||
protected int rate;
|
||||
|
||||
// Token: 0x04007855 RID: 30805
|
||||
[FieldOffset(Offset = "0x24")]
|
||||
[Token(Token = "0x4007855")]
|
||||
protected int bitsInQueue;
|
||||
|
||||
// Token: 0x04007856 RID: 30806
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4007856")]
|
||||
protected int fixedOutputLength;
|
||||
|
||||
// Token: 0x04007857 RID: 30807
|
||||
[FieldOffset(Offset = "0x2C")]
|
||||
[Token(Token = "0x4007857")]
|
||||
protected bool squeezing;
|
||||
}
|
||||
}
|
||||
+629
@@ -0,0 +1,629 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DC9 RID: 7625
|
||||
[Token(Token = "0x2001DC9")]
|
||||
public abstract class LongDigest : IDigest, IMemoable
|
||||
{
|
||||
// Token: 0x0600BE68 RID: 48744 RVA: 0x002AA568 File Offset: 0x002A8768
|
||||
[Token(Token = "0x600BE68")]
|
||||
[Address(RVA = "0x25ACB20", Offset = "0x25ABB20", VA = "0x1825ACB20")]
|
||||
internal LongDigest()
|
||||
{
|
||||
ulong[] array = new ulong[80];
|
||||
this.W = array;
|
||||
base..ctor();
|
||||
byte[] array2 = new byte[8];
|
||||
this.xBuf = array2;
|
||||
string algorithmName = this.AlgorithmName;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE69 RID: 48745 RVA: 0x002AA5AC File Offset: 0x002A87AC
|
||||
[Token(Token = "0x600BE69")]
|
||||
[Address(RVA = "0x25AC9E0", Offset = "0x25AB9E0", VA = "0x1825AC9E0")]
|
||||
internal LongDigest(LongDigest t)
|
||||
{
|
||||
ulong[] array = new ulong[80];
|
||||
this.W = array;
|
||||
base..ctor();
|
||||
byte[] array2 = new byte[t.xBuf.Length];
|
||||
this.xBuf = array2;
|
||||
byte[] array3 = t.xBuf;
|
||||
int length = array3.Length;
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
Array.Copy(array3, num2, array2, num, length);
|
||||
int num3 = t.xBufOff;
|
||||
this.xBufOff = num3;
|
||||
long num4 = t.byteCount1;
|
||||
this.byteCount1 = num4;
|
||||
long num5 = t.byteCount2;
|
||||
this.byteCount2 = num5;
|
||||
ulong h = t.H1;
|
||||
this.H1 = h;
|
||||
ulong h2 = t.H2;
|
||||
this.H2 = h2;
|
||||
ulong h3 = t.H3;
|
||||
this.H3 = h3;
|
||||
ulong h4 = t.H4;
|
||||
this.H4 = h4;
|
||||
ulong h5 = t.H5;
|
||||
this.H5 = h5;
|
||||
ulong h6 = t.H6;
|
||||
this.H6 = h6;
|
||||
ulong h7 = t.H7;
|
||||
this.H7 = h7;
|
||||
ulong h8 = t.H8;
|
||||
this.H8 = h8;
|
||||
ulong[] w = t.W;
|
||||
int length2 = w.Length;
|
||||
int num6 = 0;
|
||||
ulong[] w2 = this.W;
|
||||
int num7 = 0;
|
||||
Array.Copy(w, num7, w2, num6, length2);
|
||||
int num8 = t.wOff;
|
||||
this.wOff = num8;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE6A RID: 48746 RVA: 0x002AA708 File Offset: 0x002A8908
|
||||
[Token(Token = "0x600BE6A")]
|
||||
[Address(RVA = "0x25AB790", Offset = "0x25AA790", VA = "0x1825AB790")]
|
||||
protected void CopyIn(LongDigest t)
|
||||
{
|
||||
byte[] array = t.xBuf;
|
||||
int length = array.Length;
|
||||
int num = 0;
|
||||
byte[] array2 = this.xBuf;
|
||||
int num2 = 0;
|
||||
Array.Copy(array, num2, array2, num, length);
|
||||
int num3 = t.xBufOff;
|
||||
this.xBufOff = num3;
|
||||
long num4 = t.byteCount1;
|
||||
this.byteCount1 = num4;
|
||||
long num5 = t.byteCount2;
|
||||
this.byteCount2 = num5;
|
||||
ulong h = t.H1;
|
||||
this.H1 = h;
|
||||
ulong h2 = t.H2;
|
||||
this.H2 = h2;
|
||||
ulong h3 = t.H3;
|
||||
this.H3 = h3;
|
||||
ulong h4 = t.H4;
|
||||
this.H4 = h4;
|
||||
ulong h5 = t.H5;
|
||||
this.H5 = h5;
|
||||
ulong h6 = t.H6;
|
||||
this.H6 = h6;
|
||||
ulong h7 = t.H7;
|
||||
this.H7 = h7;
|
||||
ulong h8 = t.H8;
|
||||
this.H8 = h8;
|
||||
ulong[] w = t.W;
|
||||
int length2 = w.Length;
|
||||
int num6 = 0;
|
||||
ulong[] w2 = this.W;
|
||||
int num7 = 0;
|
||||
Array.Copy(w, num7, w2, num6, length2);
|
||||
int num8 = t.wOff;
|
||||
this.wOff = num8;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE6B RID: 48747 RVA: 0x002AA830 File Offset: 0x002A8A30
|
||||
[Token(Token = "0x600BE6B")]
|
||||
[Address(RVA = "0x25AC910", Offset = "0x25AB910", VA = "0x1825AC910", Slot = "7")]
|
||||
public void Update(byte input)
|
||||
{
|
||||
byte[] array = this.xBuf;
|
||||
int num = this.xBufOff + 1;
|
||||
this.xBufOff = num;
|
||||
byte[] array2 = this.xBuf;
|
||||
int length = array2.Length;
|
||||
if (this.xBufOff == length)
|
||||
{
|
||||
int num2 = 0;
|
||||
this.ProcessWord(array2, num2);
|
||||
this.xBufOff = (int)((ulong)0L);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE6C RID: 48748 RVA: 0x002AA888 File Offset: 0x002A8A88
|
||||
[Token(Token = "0x600BE6C")]
|
||||
[Address(RVA = "0x25AB4C0", Offset = "0x25AA4C0", VA = "0x1825AB4C0", Slot = "8")]
|
||||
public void BlockUpdate(byte[] input, int inOff, int length)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = this.xBufOff;
|
||||
if (num2 != 0 && length > 0)
|
||||
{
|
||||
byte[] array = this.xBuf;
|
||||
int num3 = num2 + 1;
|
||||
this.xBufOff = num3;
|
||||
byte[] array2 = this.xBuf;
|
||||
int num4 = this.xBufOff;
|
||||
if (num4 == array2.Length)
|
||||
{
|
||||
ulong[] w = this.W;
|
||||
int num5 = this.wOff;
|
||||
int num6 = 0;
|
||||
ulong num7 = Pack.BE_To_UInt64(array2, num6);
|
||||
w[0] = num7;
|
||||
int num8 = this.wOff;
|
||||
num8++;
|
||||
this.wOff = num8;
|
||||
if (num8 == 16)
|
||||
{
|
||||
this.ProcessBlock();
|
||||
}
|
||||
this.xBufOff = num;
|
||||
}
|
||||
while (num4 != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
byte[] array3 = this.xBuf;
|
||||
if (length > array3.Length)
|
||||
{
|
||||
ulong[] w2 = this.W;
|
||||
int num9 = this.wOff;
|
||||
ulong num10 = Pack.BE_To_UInt64(input, inOff);
|
||||
w2[0] = num10;
|
||||
int num11 = this.wOff;
|
||||
num11++;
|
||||
this.wOff = num11;
|
||||
if (num11 == 16)
|
||||
{
|
||||
this.ProcessBlock();
|
||||
}
|
||||
int length2 = this.xBuf.Length;
|
||||
}
|
||||
if (length > 0)
|
||||
{
|
||||
int num12 = this.xBufOff;
|
||||
byte[] array4 = this.xBuf;
|
||||
int num13 = num12 + 1;
|
||||
this.xBufOff = num13;
|
||||
byte[] array5 = this.xBuf;
|
||||
int length3 = array5.Length;
|
||||
if (this.xBufOff == length3)
|
||||
{
|
||||
ulong[] w3 = this.W;
|
||||
int num14 = this.wOff;
|
||||
int num15 = 0;
|
||||
ulong num16 = Pack.BE_To_UInt64(array5, num15);
|
||||
w3[0] = num16;
|
||||
int num17 = this.wOff;
|
||||
num17++;
|
||||
this.wOff = num17;
|
||||
if (num17 == 16)
|
||||
{
|
||||
this.ProcessBlock();
|
||||
}
|
||||
this.xBufOff = num;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE6D RID: 48749 RVA: 0x002AAA34 File Offset: 0x002A8C34
|
||||
[Token(Token = "0x600BE6D")]
|
||||
[Address(RVA = "0x25AB870", Offset = "0x25AA870", VA = "0x1825AB870")]
|
||||
public void Finish()
|
||||
{
|
||||
long num = this.byteCount1;
|
||||
long num2 = this.byteCount2;
|
||||
ulong num3;
|
||||
if (num > (long)num3)
|
||||
{
|
||||
num2 += num;
|
||||
this.byteCount2 = num2;
|
||||
this.byteCount1 = num;
|
||||
}
|
||||
int num4 = this.xBufOff;
|
||||
byte[] array = this.xBuf;
|
||||
int num5 = num4 + 1;
|
||||
this.xBufOff = num5;
|
||||
byte[] array2 = this.xBuf;
|
||||
int num6 = this.xBufOff;
|
||||
int num7 = 0;
|
||||
if (num6 == array2.Length)
|
||||
{
|
||||
int num8 = 0;
|
||||
this.ProcessWord(array2, num8);
|
||||
this.xBufOff = num7;
|
||||
}
|
||||
if (num7 != 0)
|
||||
{
|
||||
byte[] array3 = this.xBuf;
|
||||
this.xBufOff = 1;
|
||||
byte[] array4 = this.xBuf;
|
||||
if (this.xBufOff == array4.Length)
|
||||
{
|
||||
ulong[] w = this.W;
|
||||
int num9 = this.wOff;
|
||||
int num10 = 0;
|
||||
ulong num11 = Pack.BE_To_UInt64(array4, num10);
|
||||
w[0] = num11;
|
||||
int num12 = this.wOff;
|
||||
num12++;
|
||||
this.wOff = num12;
|
||||
if (num12 == 16)
|
||||
{
|
||||
this.ProcessBlock();
|
||||
}
|
||||
this.xBufOff = num7;
|
||||
}
|
||||
while (num7 != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
if (this.wOff > 14)
|
||||
{
|
||||
this.ProcessBlock();
|
||||
}
|
||||
this.W[14] = (ulong)num2;
|
||||
ulong[] w2 = this.W;
|
||||
this.ProcessBlock();
|
||||
}
|
||||
|
||||
// Token: 0x0600BE6E RID: 48750 RVA: 0x002AAB6C File Offset: 0x002A8D6C
|
||||
[Token(Token = "0x600BE6E")]
|
||||
[Address(RVA = "0x25AC7A0", Offset = "0x25AB7A0", VA = "0x1825AC7A0", Slot = "13")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
byte[] array = this.xBuf;
|
||||
int num = 0;
|
||||
this.byteCount1 = (long)num;
|
||||
this.byteCount2 = (long)num;
|
||||
this.xBufOff = num;
|
||||
if (num < array.Length)
|
||||
{
|
||||
num++;
|
||||
byte[] array2 = this.xBuf;
|
||||
}
|
||||
this.wOff = num;
|
||||
ulong[] w = this.W;
|
||||
int length = w.Length;
|
||||
int num2 = 0;
|
||||
Array.Clear(w, num2, length);
|
||||
}
|
||||
|
||||
// Token: 0x0600BE6F RID: 48751 RVA: 0x002AABD4 File Offset: 0x002A8DD4
|
||||
[Token(Token = "0x600BE6F")]
|
||||
[Address(RVA = "0x25AC710", Offset = "0x25AB710", VA = "0x1825AC710")]
|
||||
internal void ProcessWord(byte[] input, int inOff)
|
||||
{
|
||||
ulong[] w = this.W;
|
||||
int num = this.wOff;
|
||||
ulong num2 = Pack.BE_To_UInt64(input, inOff);
|
||||
w[0] = num2;
|
||||
int num3 = this.wOff;
|
||||
num3++;
|
||||
this.wOff = num3;
|
||||
if (num3 == 16)
|
||||
{
|
||||
this.ProcessBlock();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE70 RID: 48752 RVA: 0x002AAC24 File Offset: 0x002A8E24
|
||||
[Token(Token = "0x600BE70")]
|
||||
[Address(RVA = "0x25AB490", Offset = "0x25AA490", VA = "0x1825AB490")]
|
||||
private void AdjustByteCounts()
|
||||
{
|
||||
long num = this.byteCount1;
|
||||
ulong num2;
|
||||
if (num > (long)num2)
|
||||
{
|
||||
this.byteCount1 = num;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE71 RID: 48753 RVA: 0x002AAC44 File Offset: 0x002A8E44
|
||||
[Token(Token = "0x600BE71")]
|
||||
[Address(RVA = "0x25AC680", Offset = "0x25AB680", VA = "0x1825AC680")]
|
||||
internal void ProcessLength(long lowW, long hiW)
|
||||
{
|
||||
if (this.wOff > 14)
|
||||
{
|
||||
this.ProcessBlock();
|
||||
}
|
||||
this.W[14] = (ulong)hiW;
|
||||
this.W[15] = (ulong)lowW;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE72 RID: 48754 RVA: 0x002AAC84 File Offset: 0x002A8E84
|
||||
[Token(Token = "0x600BE72")]
|
||||
[Address(RVA = "0x25ABA70", Offset = "0x25AAA70", VA = "0x1825ABA70")]
|
||||
internal void ProcessBlock()
|
||||
{
|
||||
long num = this.byteCount1;
|
||||
ulong num2;
|
||||
if (num > (long)num2)
|
||||
{
|
||||
this.byteCount1 = num;
|
||||
}
|
||||
ulong[] w = this.W;
|
||||
ulong[] w2 = this.W;
|
||||
int length = w2.Length;
|
||||
ulong num3 = w2[(int)num2];
|
||||
uint num4;
|
||||
num4 += (uint)1;
|
||||
num3 += num3;
|
||||
w[0] = num3;
|
||||
while (num4 <= (uint)79)
|
||||
{
|
||||
}
|
||||
ulong num5 = this.H4;
|
||||
int num6 = 0;
|
||||
ulong num7 = this.H3;
|
||||
ulong num8 = this.H5;
|
||||
ulong num9 = this.H1;
|
||||
ulong num10 = this.H2;
|
||||
ulong num11 = this.H6;
|
||||
ulong num12 = this.H7;
|
||||
ulong num13 = this.H8;
|
||||
num8 = num3;
|
||||
int length2 = LongDigest.K.Length;
|
||||
int length3 = this.W.Length;
|
||||
num3 = num8;
|
||||
num8 = num11;
|
||||
num3 += num8;
|
||||
num13 += num3;
|
||||
num3 = num9;
|
||||
num13 = num10;
|
||||
num13 += num3;
|
||||
num3 = num5;
|
||||
num13 = num5;
|
||||
num3 += num5;
|
||||
num8 = num13;
|
||||
num12 += num3;
|
||||
num3 = num13;
|
||||
num13 += num12;
|
||||
num13 += num3;
|
||||
num3 = num7;
|
||||
num13 = num7;
|
||||
num3 += num7;
|
||||
num11 += num3;
|
||||
num10 += num11;
|
||||
num3 = num13;
|
||||
num5 = num13;
|
||||
num7 = num13;
|
||||
num11 += num7;
|
||||
num11 += num3;
|
||||
num6 += 3;
|
||||
num3 = num10;
|
||||
num13 = num10;
|
||||
num7 = num10;
|
||||
num3 += num7;
|
||||
num8 += num3;
|
||||
num9 += num8;
|
||||
num3 = num11;
|
||||
num8 = num13;
|
||||
num8 += num3;
|
||||
num3 = num9;
|
||||
num9 = num10;
|
||||
num7 = num9;
|
||||
num3 += num7;
|
||||
num5 += num3;
|
||||
num3 = num8;
|
||||
num8 = num11;
|
||||
num8 += num3;
|
||||
num6 += 5;
|
||||
num3 = num13;
|
||||
num8 = num13;
|
||||
num3 += num13;
|
||||
num13 = num8;
|
||||
num7 += num3;
|
||||
num3 = num8;
|
||||
num8 += num7;
|
||||
num8 += num3;
|
||||
num3 = num13;
|
||||
num8 = num13;
|
||||
num3 += num8;
|
||||
num10 += num3;
|
||||
num11 += num10;
|
||||
num3 = num8;
|
||||
num10 += num8;
|
||||
num10 += num3;
|
||||
num6 += 7;
|
||||
num3 = num11;
|
||||
num6 += 8;
|
||||
num8 = num10;
|
||||
num3 += num8;
|
||||
num8 = num10;
|
||||
num9 += num3;
|
||||
num8 += num9;
|
||||
num3 = num10;
|
||||
num8 = num10;
|
||||
num9 += num8;
|
||||
num6++;
|
||||
num9 += num3;
|
||||
int num14 = 0;
|
||||
ulong[] w3 = this.W;
|
||||
this.H5 = num8;
|
||||
this.H6 = num8;
|
||||
this.H7 = num8;
|
||||
Array.Clear(w3, num14, 16);
|
||||
}
|
||||
|
||||
// Token: 0x0600BE73 RID: 48755 RVA: 0x002AAFAC File Offset: 0x002A91AC
|
||||
[Token(Token = "0x600BE73")]
|
||||
[Address(RVA = "0x1031B90", Offset = "0x1030B90", VA = "0x181031B90")]
|
||||
private static ulong Ch(ulong x, ulong y, ulong z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE74 RID: 48756 RVA: 0x002AAFBC File Offset: 0x002A91BC
|
||||
[Token(Token = "0x600BE74")]
|
||||
[Address(RVA = "0x1031DD0", Offset = "0x1030DD0", VA = "0x181031DD0")]
|
||||
private static ulong Maj(ulong x, ulong y, ulong z)
|
||||
{
|
||||
return y;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE75 RID: 48757 RVA: 0x002AAFCC File Offset: 0x002A91CC
|
||||
[Token(Token = "0x600BE75")]
|
||||
[Address(RVA = "0x25AC890", Offset = "0x25AB890", VA = "0x1825AC890")]
|
||||
private static ulong Sum0(ulong x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE76 RID: 48758 RVA: 0x002AAFDC File Offset: 0x002A91DC
|
||||
[Token(Token = "0x600BE76")]
|
||||
[Address(RVA = "0x25AC8D0", Offset = "0x25AB8D0", VA = "0x1825AC8D0")]
|
||||
private static ulong Sum1(ulong x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE77 RID: 48759 RVA: 0x002AAFEC File Offset: 0x002A91EC
|
||||
[Token(Token = "0x600BE77")]
|
||||
[Address(RVA = "0x25AC830", Offset = "0x25AB830", VA = "0x1825AC830")]
|
||||
private static ulong Sigma0(ulong x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE78 RID: 48760 RVA: 0x002AAFFC File Offset: 0x002A91FC
|
||||
[Token(Token = "0x600BE78")]
|
||||
[Address(RVA = "0x25AC860", Offset = "0x25AB860", VA = "0x1825AC860")]
|
||||
private static ulong Sigma1(ulong x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE79 RID: 48761 RVA: 0x002AB00C File Offset: 0x002A920C
|
||||
[Token(Token = "0x600BE79")]
|
||||
[Address(RVA = "0x40F000", Offset = "0x40E000", VA = "0x18040F000", Slot = "6")]
|
||||
public int GetByteLength()
|
||||
{
|
||||
return this.MyByteLength;
|
||||
}
|
||||
|
||||
// Token: 0x17001DAE RID: 7598
|
||||
// (get) Token: 0x0600BE7A RID: 48762
|
||||
[Token(Token = "0x17001DAE")]
|
||||
public abstract string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BE7A")]
|
||||
[Address(Slot = "14")]
|
||||
get;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE7B RID: 48763
|
||||
[Token(Token = "0x600BE7B")]
|
||||
[Address(Slot = "15")]
|
||||
public abstract int GetDigestSize();
|
||||
|
||||
// Token: 0x0600BE7C RID: 48764
|
||||
[Token(Token = "0x600BE7C")]
|
||||
[Address(Slot = "16")]
|
||||
public abstract int DoFinal(byte[] output, int outOff);
|
||||
|
||||
// Token: 0x0600BE7D RID: 48765
|
||||
[Token(Token = "0x600BE7D")]
|
||||
[Address(Slot = "17")]
|
||||
public abstract IMemoable Copy();
|
||||
|
||||
// Token: 0x0600BE7E RID: 48766
|
||||
[Token(Token = "0x600BE7E")]
|
||||
[Address(Slot = "18")]
|
||||
public abstract void Reset(IMemoable t);
|
||||
|
||||
// Token: 0x0600BE7F RID: 48767 RVA: 0x002AB020 File Offset: 0x002A9220
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600BE7F")]
|
||||
[Address(RVA = "0x25AC980", Offset = "0x25AB980", VA = "0x1825AC980")]
|
||||
static LongDigest()
|
||||
{
|
||||
ulong[] array = new ulong[80];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.90A0542282A011472F94E97CEAE59F8B3B1A3291).FieldHandle);
|
||||
LongDigest.K = array;
|
||||
}
|
||||
|
||||
// Token: 0x04007858 RID: 30808
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007858")]
|
||||
private int MyByteLength = (int)((ulong)128L);
|
||||
|
||||
// Token: 0x04007859 RID: 30809
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4007859")]
|
||||
private byte[] xBuf;
|
||||
|
||||
// Token: 0x0400785A RID: 30810
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x400785A")]
|
||||
private int xBufOff;
|
||||
|
||||
// Token: 0x0400785B RID: 30811
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x400785B")]
|
||||
private long byteCount1;
|
||||
|
||||
// Token: 0x0400785C RID: 30812
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x400785C")]
|
||||
private long byteCount2;
|
||||
|
||||
// Token: 0x0400785D RID: 30813
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x400785D")]
|
||||
internal ulong H1;
|
||||
|
||||
// Token: 0x0400785E RID: 30814
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x400785E")]
|
||||
internal ulong H2;
|
||||
|
||||
// Token: 0x0400785F RID: 30815
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x400785F")]
|
||||
internal ulong H3;
|
||||
|
||||
// Token: 0x04007860 RID: 30816
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4007860")]
|
||||
internal ulong H4;
|
||||
|
||||
// Token: 0x04007861 RID: 30817
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4007861")]
|
||||
internal ulong H5;
|
||||
|
||||
// Token: 0x04007862 RID: 30818
|
||||
[FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x4007862")]
|
||||
internal ulong H6;
|
||||
|
||||
// Token: 0x04007863 RID: 30819
|
||||
[FieldOffset(Offset = "0x68")]
|
||||
[Token(Token = "0x4007863")]
|
||||
internal ulong H7;
|
||||
|
||||
// Token: 0x04007864 RID: 30820
|
||||
[FieldOffset(Offset = "0x70")]
|
||||
[Token(Token = "0x4007864")]
|
||||
internal ulong H8;
|
||||
|
||||
// Token: 0x04007865 RID: 30821
|
||||
[FieldOffset(Offset = "0x78")]
|
||||
[Token(Token = "0x4007865")]
|
||||
private ulong[] W;
|
||||
|
||||
// Token: 0x04007866 RID: 30822
|
||||
[FieldOffset(Offset = "0x80")]
|
||||
[Token(Token = "0x4007866")]
|
||||
private int wOff;
|
||||
|
||||
// Token: 0x04007867 RID: 30823
|
||||
[Token(Token = "0x4007867")]
|
||||
internal static readonly ulong[] K;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,376 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DCA RID: 7626
|
||||
[Token(Token = "0x2001DCA")]
|
||||
public class MD2Digest : IDigest, IMemoable
|
||||
{
|
||||
// Token: 0x0600BE80 RID: 48768 RVA: 0x002AB048 File Offset: 0x002A9248
|
||||
[Token(Token = "0x600BE80")]
|
||||
[Address(RVA = "0x25AD600", Offset = "0x25AC600", VA = "0x1825AD600")]
|
||||
public MD2Digest()
|
||||
{
|
||||
byte[] array = new byte[48];
|
||||
this.X = array;
|
||||
byte[] array2 = new byte[16];
|
||||
this.M = array2;
|
||||
byte[] array3 = new byte[16];
|
||||
this.C = array3;
|
||||
base..ctor();
|
||||
this.Reset();
|
||||
}
|
||||
|
||||
// Token: 0x0600BE81 RID: 48769 RVA: 0x002AB090 File Offset: 0x002A9290
|
||||
[Token(Token = "0x600BE81")]
|
||||
[Address(RVA = "0x25AD680", Offset = "0x25AC680", VA = "0x1825AD680")]
|
||||
public MD2Digest(MD2Digest t)
|
||||
{
|
||||
byte[] array = new byte[48];
|
||||
this.X = array;
|
||||
byte[] array2 = new byte[16];
|
||||
this.M = array2;
|
||||
byte[] array3 = new byte[16];
|
||||
this.C = array3;
|
||||
base..ctor();
|
||||
this.CopyIn(t);
|
||||
}
|
||||
|
||||
// Token: 0x0600BE82 RID: 48770 RVA: 0x002AB0D8 File Offset: 0x002A92D8
|
||||
[Token(Token = "0x600BE82")]
|
||||
[Address(RVA = "0x25ACD70", Offset = "0x25ABD70", VA = "0x1825ACD70")]
|
||||
private void CopyIn(MD2Digest t)
|
||||
{
|
||||
byte[] x = t.X;
|
||||
int length = x.Length;
|
||||
int num = 0;
|
||||
byte[] x2 = this.X;
|
||||
int num2 = 0;
|
||||
Array.Copy(x, num2, x2, num, length);
|
||||
int num3 = t.xOff;
|
||||
this.xOff = num3;
|
||||
byte[] m = t.M;
|
||||
int length2 = m.Length;
|
||||
int num4 = 0;
|
||||
byte[] m2 = this.M;
|
||||
int num5 = 0;
|
||||
Array.Copy(m, num5, m2, num4, length2);
|
||||
int num6 = t.mOff;
|
||||
this.mOff = num6;
|
||||
byte[] c = t.C;
|
||||
int length3 = c.Length;
|
||||
int num7 = 0;
|
||||
byte[] c2 = this.C;
|
||||
int num8 = 0;
|
||||
Array.Copy(c, num8, c2, num7, length3);
|
||||
int coff = t.COff;
|
||||
this.COff = coff;
|
||||
}
|
||||
|
||||
// Token: 0x17001DAF RID: 7599
|
||||
// (get) Token: 0x0600BE83 RID: 48771 RVA: 0x002AB19C File Offset: 0x002A939C
|
||||
[Token(Token = "0x17001DAF")]
|
||||
public string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BE83")]
|
||||
[Address(RVA = "0x25AD710", Offset = "0x25AC710", VA = "0x1825AD710", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return "MD2";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE84 RID: 48772 RVA: 0x002AB1B0 File Offset: 0x002A93B0
|
||||
[Token(Token = "0x600BE84")]
|
||||
[Address(RVA = "0x8BB9C0", Offset = "0x8BA9C0", VA = "0x1808BB9C0", Slot = "5")]
|
||||
public int GetDigestSize()
|
||||
{
|
||||
return 16;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE85 RID: 48773 RVA: 0x002AB1C0 File Offset: 0x002A93C0
|
||||
[Token(Token = "0x600BE85")]
|
||||
[Address(RVA = "0x8BB9C0", Offset = "0x8BA9C0", VA = "0x1808BB9C0", Slot = "6")]
|
||||
public int GetByteLength()
|
||||
{
|
||||
return 16;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE86 RID: 48774 RVA: 0x002AB1D0 File Offset: 0x002A93D0
|
||||
[Token(Token = "0x600BE86")]
|
||||
[Address(RVA = "0x25ACEF0", Offset = "0x25ABEF0", VA = "0x1825ACEF0", Slot = "9")]
|
||||
public int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
byte[] m = this.M;
|
||||
int length = m.Length;
|
||||
int num = this.mOff;
|
||||
byte[] m2;
|
||||
if (num < m.Length)
|
||||
{
|
||||
num++;
|
||||
m2 = this.M;
|
||||
}
|
||||
this.ProcessChecksum(m2);
|
||||
byte[] m3 = this.M;
|
||||
this.ProcessBlock(m3);
|
||||
byte[] c = this.C;
|
||||
this.ProcessBlock(c);
|
||||
int num2 = this.xOff;
|
||||
ulong num3;
|
||||
Array.Copy(this.X, num2, output, outOff, (int)num3);
|
||||
this.Reset();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600BE87 RID: 48775 RVA: 0x002AB254 File Offset: 0x002A9454
|
||||
[Token(Token = "0x600BE87")]
|
||||
[Address(RVA = "0x25AD370", Offset = "0x25AC370", VA = "0x1825AD370", Slot = "10")]
|
||||
public void Reset()
|
||||
{
|
||||
do
|
||||
{
|
||||
int num = 0;
|
||||
this.xOff = num;
|
||||
byte[] x = this.X;
|
||||
if (num != x.Length)
|
||||
{
|
||||
num++;
|
||||
byte[] x2 = this.X;
|
||||
}
|
||||
byte[] m = this.M;
|
||||
this.mOff = num;
|
||||
if (num != m.Length)
|
||||
{
|
||||
num++;
|
||||
if (this.M != 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
byte[] c = this.C;
|
||||
this.COff = num;
|
||||
if (num == c.Length)
|
||||
{
|
||||
break;
|
||||
}
|
||||
num++;
|
||||
}
|
||||
while (this.C != 0);
|
||||
}
|
||||
|
||||
// Token: 0x0600BE88 RID: 48776 RVA: 0x002AB2D8 File Offset: 0x002A94D8
|
||||
[Token(Token = "0x600BE88")]
|
||||
[Address(RVA = "0x25AD530", Offset = "0x25AC530", VA = "0x1825AD530", Slot = "7")]
|
||||
public void Update(byte input)
|
||||
{
|
||||
byte[] m = this.M;
|
||||
int num = this.mOff + 1;
|
||||
this.mOff = num;
|
||||
if (this.mOff == 16)
|
||||
{
|
||||
byte[] m2 = this.M;
|
||||
this.ProcessChecksum(m2);
|
||||
byte[] m3 = this.M;
|
||||
this.ProcessBlock(m3);
|
||||
this.mOff = (int)((ulong)0L);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE89 RID: 48777 RVA: 0x002AB334 File Offset: 0x002A9534
|
||||
[Token(Token = "0x600BE89")]
|
||||
[Address(RVA = "0x25ACBA0", Offset = "0x25ABBA0", VA = "0x1825ACBA0", Slot = "8")]
|
||||
public void BlockUpdate(byte[] input, int inOff, int length)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = this.mOff;
|
||||
int num3;
|
||||
if (num2 != 0 && length > 0)
|
||||
{
|
||||
byte[] m = this.M;
|
||||
num3 = num2 + 1;
|
||||
this.mOff = num3;
|
||||
num3 = num2;
|
||||
int num4 = this.mOff;
|
||||
if (num4 == 16)
|
||||
{
|
||||
byte[] m2 = this.M;
|
||||
this.ProcessChecksum(m2);
|
||||
byte[] m3 = this.M;
|
||||
this.ProcessBlock(m3);
|
||||
this.mOff = num;
|
||||
}
|
||||
while (num4 != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
if (length > 16)
|
||||
{
|
||||
num3++;
|
||||
byte[] m4 = this.M;
|
||||
int num5 = 0;
|
||||
ulong num6;
|
||||
Array.Copy(input, inOff, m4, num5, (int)num6);
|
||||
byte[] m5 = this.M;
|
||||
this.ProcessChecksum(m5);
|
||||
byte[] m6 = this.M;
|
||||
this.ProcessBlock(m6);
|
||||
while (length != 16)
|
||||
{
|
||||
}
|
||||
}
|
||||
if (length > 0)
|
||||
{
|
||||
int num7 = this.mOff;
|
||||
byte[] m7 = this.M;
|
||||
num3 = inOff;
|
||||
int num8 = num7 + 1;
|
||||
this.mOff = num8;
|
||||
if (this.mOff == 16)
|
||||
{
|
||||
byte[] m8 = this.M;
|
||||
this.ProcessChecksum(m8);
|
||||
byte[] m9 = this.M;
|
||||
this.ProcessBlock(m9);
|
||||
this.mOff = num;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE8A RID: 48778 RVA: 0x002AB448 File Offset: 0x002A9648
|
||||
[Token(Token = "0x600BE8A")]
|
||||
[Address(RVA = "0x25AD1F0", Offset = "0x25AC1F0", VA = "0x1825AD1F0")]
|
||||
internal void ProcessChecksum(byte[] m)
|
||||
{
|
||||
byte b = this.C[1];
|
||||
int num = 0;
|
||||
byte[] s = MD2Digest.S;
|
||||
byte[] c = this.C;
|
||||
num++;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE8B RID: 48779 RVA: 0x002AB47C File Offset: 0x002A967C
|
||||
[Token(Token = "0x600BE8B")]
|
||||
[Address(RVA = "0x25ACFE0", Offset = "0x25ABFE0", VA = "0x1825ACFE0")]
|
||||
internal void ProcessBlock(byte[] m)
|
||||
{
|
||||
int num = 0;
|
||||
byte[] x = this.X;
|
||||
int length = this.X.Length;
|
||||
num++;
|
||||
int num2 = 0;
|
||||
int num3 = 0;
|
||||
byte[] x2 = this.X;
|
||||
num3 += x2;
|
||||
byte[] s = MD2Digest.S;
|
||||
num3++;
|
||||
byte b = (byte)((int)b + num2);
|
||||
if (num3 < 48)
|
||||
{
|
||||
}
|
||||
num2++;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE8C RID: 48780 RVA: 0x002AB4E0 File Offset: 0x002A96E0
|
||||
[Token(Token = "0x600BE8C")]
|
||||
[Address(RVA = "0x25ACE30", Offset = "0x25ABE30", VA = "0x1825ACE30", Slot = "11")]
|
||||
public IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BE8C)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.MD2Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:MD2Digest(var_0_05, newobj:MD2Digest(MD2Digest::.ctor))
|
||||
stloc:uint8[](var_1_0D, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(48)))
|
||||
stfld:uint8[](MD2Digest::X, ldloc:MD2Digest(var_0_05), ldloc:uint8[](var_1_0D))
|
||||
stloc:uint8[](var_2_1C, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(16)))
|
||||
stfld:uint8[](MD2Digest::M, ldloc:MD2Digest(var_0_05), ldloc:uint8[](var_2_1C))
|
||||
stloc:uint8[](var_3_2B, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(16)))
|
||||
stfld:uint8[](MD2Digest::C, ldloc:MD2Digest(var_0_05), ldloc:uint8[](var_3_2B))
|
||||
call:void(MD2Digest::CopyIn, ldloc:MD2Digest(var_0_05), ldloc:MD2Digest(this))
|
||||
}
|
||||
|
||||
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: 0x0600BE8D RID: 48781 RVA: 0x002AB528 File Offset: 0x002A9728
|
||||
[Token(Token = "0x600BE8D")]
|
||||
[Address(RVA = "0x25AD490", Offset = "0x25AC490", VA = "0x1825AD490", Slot = "12")]
|
||||
public void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x0600BE8E RID: 48782 RVA: 0x002AB540 File Offset: 0x002A9740
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600BE8E")]
|
||||
[Address(RVA = "0x25AD5A0", Offset = "0x25AC5A0", VA = "0x1825AD5A0")]
|
||||
static MD2Digest()
|
||||
{
|
||||
byte[] array = new byte[256];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.D2C5BAE967587C6F3D9F2C4551911E0575A1101F).FieldHandle);
|
||||
MD2Digest.S = array;
|
||||
}
|
||||
|
||||
// Token: 0x04007868 RID: 30824
|
||||
[Token(Token = "0x4007868")]
|
||||
private const int DigestLength = 16;
|
||||
|
||||
// Token: 0x04007869 RID: 30825
|
||||
[Token(Token = "0x4007869")]
|
||||
private const int BYTE_LENGTH = 16;
|
||||
|
||||
// Token: 0x0400786A RID: 30826
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400786A")]
|
||||
private byte[] X;
|
||||
|
||||
// Token: 0x0400786B RID: 30827
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400786B")]
|
||||
private int xOff;
|
||||
|
||||
// Token: 0x0400786C RID: 30828
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x400786C")]
|
||||
private byte[] M;
|
||||
|
||||
// Token: 0x0400786D RID: 30829
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x400786D")]
|
||||
private int mOff;
|
||||
|
||||
// Token: 0x0400786E RID: 30830
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x400786E")]
|
||||
private byte[] C;
|
||||
|
||||
// Token: 0x0400786F RID: 30831
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x400786F")]
|
||||
private int COff;
|
||||
|
||||
// Token: 0x04007870 RID: 30832
|
||||
[Token(Token = "0x4007870")]
|
||||
private static readonly byte[] S;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,453 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DCB RID: 7627
|
||||
[Token(Token = "0x2001DCB")]
|
||||
public class MD4Digest : GeneralDigest
|
||||
{
|
||||
// Token: 0x0600BE8F RID: 48783 RVA: 0x002AB56C File Offset: 0x002A976C
|
||||
[Token(Token = "0x600BE8F")]
|
||||
[Address(RVA = "0x28FF250", Offset = "0x28FE250", VA = "0x1828FF250")]
|
||||
public MD4Digest()
|
||||
{
|
||||
int[] array = new int[16];
|
||||
this.X = array;
|
||||
base..ctor();
|
||||
IMemoable memoable = ((IMemoable)this).Copy();
|
||||
}
|
||||
|
||||
// Token: 0x0600BE90 RID: 48784 RVA: 0x002AB598 File Offset: 0x002A9798
|
||||
[Token(Token = "0x600BE90")]
|
||||
[Address(RVA = "0x28FF1E0", Offset = "0x28FE1E0", VA = "0x1828FF1E0")]
|
||||
public MD4Digest(MD4Digest t)
|
||||
{
|
||||
int[] array = new int[16];
|
||||
this.X = array;
|
||||
base..ctor(t);
|
||||
this.CopyIn(t);
|
||||
}
|
||||
|
||||
// Token: 0x0600BE91 RID: 48785 RVA: 0x002AB5C4 File Offset: 0x002A97C4
|
||||
[Token(Token = "0x600BE91")]
|
||||
[Address(RVA = "0x28FE130", Offset = "0x28FD130", VA = "0x1828FE130")]
|
||||
private void CopyIn(MD4Digest t)
|
||||
{
|
||||
base.CopyIn(t);
|
||||
int h = t.H1;
|
||||
this.H1 = h;
|
||||
int h2 = t.H2;
|
||||
this.H2 = h2;
|
||||
int h3 = t.H3;
|
||||
this.H3 = h3;
|
||||
int h4 = t.H4;
|
||||
this.H4 = h4;
|
||||
int[] x = t.X;
|
||||
int length = x.Length;
|
||||
int num = 0;
|
||||
int[] x2 = this.X;
|
||||
int num2 = 0;
|
||||
Array.Copy(x, num2, x2, num, length);
|
||||
int num3 = t.xOff;
|
||||
this.xOff = num3;
|
||||
}
|
||||
|
||||
// Token: 0x17001DB0 RID: 7600
|
||||
// (get) Token: 0x0600BE92 RID: 48786 RVA: 0x002AB654 File Offset: 0x002A9854
|
||||
[Token(Token = "0x17001DB0")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BE92")]
|
||||
[Address(RVA = "0x28FF2B0", Offset = "0x28FE2B0", VA = "0x1828FF2B0", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return "MD4";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE93 RID: 48787 RVA: 0x002AB668 File Offset: 0x002A9868
|
||||
[Token(Token = "0x600BE93")]
|
||||
[Address(RVA = "0x8BB9C0", Offset = "0x8BA9C0", VA = "0x1808BB9C0", Slot = "18")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return 16;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE94 RID: 48788 RVA: 0x002AB678 File Offset: 0x002A9878
|
||||
[Token(Token = "0x600BE94")]
|
||||
[Address(RVA = "0x28FEEF0", Offset = "0x28FDEF0", VA = "0x1828FEEF0", Slot = "14")]
|
||||
internal override void ProcessWord(byte[] input, int inOff)
|
||||
{
|
||||
int num = this.xOff;
|
||||
int[] x = this.X;
|
||||
int num2 = num + 1;
|
||||
this.xOff = num2;
|
||||
int length = input.Length;
|
||||
int num3 = inOff + 1;
|
||||
byte b;
|
||||
x[0] = (int)b;
|
||||
if (this.xOff == 16)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE95 RID: 48789 RVA: 0x002AB6C4 File Offset: 0x002A98C4
|
||||
[Token(Token = "0x600BE95")]
|
||||
[Address(RVA = "0x28FEE70", Offset = "0x28FDE70", VA = "0x1828FEE70", Slot = "15")]
|
||||
internal override void ProcessLength(long bitLength)
|
||||
{
|
||||
if (this.xOff > 14)
|
||||
{
|
||||
}
|
||||
this.X[7] = (int)bitLength;
|
||||
this.X[7] = (int)bitLength;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE96 RID: 48790 RVA: 0x002AB6FC File Offset: 0x002A98FC
|
||||
[Token(Token = "0x600BE96")]
|
||||
[Address(RVA = "0x28FF140", Offset = "0x28FE140", VA = "0x1828FF140")]
|
||||
private void UnpackWord(int word, byte[] outBytes, int outOff)
|
||||
{
|
||||
int num = outOff + 1;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE97 RID: 48791 RVA: 0x002AB714 File Offset: 0x002A9914
|
||||
[Token(Token = "0x600BE97")]
|
||||
[Address(RVA = "0x28FE250", Offset = "0x28FD250", VA = "0x1828FE250", Slot = "19")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
base.Finish();
|
||||
int h = this.H1;
|
||||
this.UnpackWord(h, output, outOff);
|
||||
int num = this.H2;
|
||||
output[0] = (byte)num;
|
||||
output[0] = (byte)num;
|
||||
int h2 = this.H3;
|
||||
num = h2;
|
||||
output[0] = (byte)num;
|
||||
num = h2;
|
||||
output[0] = (byte)num;
|
||||
int h3 = this.H4;
|
||||
num = h3;
|
||||
output[0] = (byte)num;
|
||||
num = h3;
|
||||
output[0] = (byte)num;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600BE98 RID: 48792 RVA: 0x002AB78C File Offset: 0x002A998C
|
||||
[Token(Token = "0x600BE98")]
|
||||
[Address(RVA = "0x28FF010", Offset = "0x28FE010", VA = "0x1828FF010", Slot = "13")]
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
int[] x = this.X;
|
||||
int num = 0;
|
||||
this.H1 = (int)((ulong)1732584193L);
|
||||
this.H2 = (int)((ulong)4023233417L);
|
||||
this.H3 = (int)((ulong)2562383102L);
|
||||
this.H4 = (int)((ulong)271733878L);
|
||||
this.xOff = num;
|
||||
if (num != x.Length)
|
||||
{
|
||||
num++;
|
||||
x[0] = num;
|
||||
int[] x2 = this.X;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE99 RID: 48793 RVA: 0x002AB80C File Offset: 0x002A9A0C
|
||||
[Token(Token = "0x600BE99")]
|
||||
[Address(RVA = "0x272B5B0", Offset = "0x272A5B0", VA = "0x18272B5B0")]
|
||||
private int RotateLeft(int x, int n)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE9A RID: 48794 RVA: 0x002AB81C File Offset: 0x002A9A1C
|
||||
[Token(Token = "0x600BE9A")]
|
||||
[Address(RVA = "0xE4CF50", Offset = "0xE4BF50", VA = "0x180E4CF50")]
|
||||
private int F(int u, int v, int w)
|
||||
{
|
||||
return u;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE9B RID: 48795 RVA: 0x002AB82C File Offset: 0x002A9A2C
|
||||
[Token(Token = "0x600BE9B")]
|
||||
[Address(RVA = "0xE4CFB0", Offset = "0xE4BFB0", VA = "0x180E4CFB0")]
|
||||
private int G(int u, int v, int w)
|
||||
{
|
||||
return v;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE9C RID: 48796 RVA: 0x002AB83C File Offset: 0x002A9A3C
|
||||
[Token(Token = "0x600BE9C")]
|
||||
[Address(RVA = "0xE4D010", Offset = "0xE4C010", VA = "0x180E4D010")]
|
||||
private int H(int u, int v, int w)
|
||||
{
|
||||
return u;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE9D RID: 48797 RVA: 0x002AB84C File Offset: 0x002A9A4C
|
||||
[Token(Token = "0x600BE9D")]
|
||||
[Address(RVA = "0x28FE490", Offset = "0x28FD490", VA = "0x1828FE490", Slot = "16")]
|
||||
internal override void ProcessBlock()
|
||||
{
|
||||
int[] x = this.X;
|
||||
int num = this.H2;
|
||||
int num2 = this.H3;
|
||||
int h = this.H4;
|
||||
int h2 = this.H1;
|
||||
int num3 = x.Length;
|
||||
num += h2;
|
||||
num += h;
|
||||
num2 = num;
|
||||
num += num2;
|
||||
num += num;
|
||||
num += num;
|
||||
num += num;
|
||||
num += num;
|
||||
num += num;
|
||||
num += num;
|
||||
num += num;
|
||||
num += num;
|
||||
num += num;
|
||||
int num4 = x[6];
|
||||
num += num4;
|
||||
num += num;
|
||||
num += num;
|
||||
num += num;
|
||||
num += num;
|
||||
num2 = num;
|
||||
num2 += num;
|
||||
num2 = num;
|
||||
num2 += num;
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num2 += num;
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num2 += 1518500249;
|
||||
num2 += num4;
|
||||
num2 += num;
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num2 += num;
|
||||
num2 = num;
|
||||
num2 += num;
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num2 += num;
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num2 += num;
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num2 += num;
|
||||
num2 = num;
|
||||
num2 += 1518500249;
|
||||
num2 += num;
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num2 += 1518500249;
|
||||
num2 += num;
|
||||
num4 = num2;
|
||||
num2 = num;
|
||||
num2 += num;
|
||||
num = num2;
|
||||
num2 = num4;
|
||||
num2 += num;
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num2 += num;
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num2 += 1518500249;
|
||||
num2 += num4;
|
||||
num3 = num2;
|
||||
num2 = num;
|
||||
num += 1859775393;
|
||||
num2 += num;
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num2 += num;
|
||||
num = num2;
|
||||
num2 = num3;
|
||||
num += num2;
|
||||
num2 = num;
|
||||
num3 = num;
|
||||
num += num2;
|
||||
num2 = num3;
|
||||
num += num2;
|
||||
num2 += num3;
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num += num2;
|
||||
num2 = num;
|
||||
num3 = num;
|
||||
num += num2;
|
||||
num2 = num3;
|
||||
num += num2;
|
||||
num2 += num3;
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num += num2;
|
||||
num4 = num;
|
||||
num2 = num4;
|
||||
num3 = num4;
|
||||
num += num2;
|
||||
num = num3;
|
||||
num += 1859775393;
|
||||
num += num;
|
||||
num2 += num3;
|
||||
num = num2;
|
||||
num += 1859775393;
|
||||
num += num4;
|
||||
num2 = num;
|
||||
num += num2;
|
||||
num += 1859775393;
|
||||
this.H1 = num2;
|
||||
num += num;
|
||||
num2 = num;
|
||||
num2 += num;
|
||||
this.H2 = num2;
|
||||
this.H3 = num2;
|
||||
int num5 = 0;
|
||||
this.H4 = num2;
|
||||
this.xOff = num5;
|
||||
if (num5 != x.Length)
|
||||
{
|
||||
num5++;
|
||||
x[0] = num5;
|
||||
int[] x2 = this.X;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE9E RID: 48798 RVA: 0x002ABA8C File Offset: 0x002A9C8C
|
||||
[Token(Token = "0x600BE9E")]
|
||||
[Address(RVA = "0x28FE1B0", Offset = "0x28FD1B0", VA = "0x1828FE1B0", Slot = "20")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BE9E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.MD4Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:MD4Digest(var_0_06, newobj:MD4Digest(MD4Digest::.ctor, ldloc:MD4Digest(this)))
|
||||
stloc:int32[](var_1_0E, newarr:int32[]([mscorlib]System.Int32, ldc.i4:int32(16)))
|
||||
stfld:int32[](MD4Digest::X, ldloc:MD4Digest(var_0_06), ldloc:int32[](var_1_0E))
|
||||
call:void(MD4Digest::CopyIn, ldloc:MD4Digest(var_0_06), ldloc:MD4Digest(this))
|
||||
}
|
||||
|
||||
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: 0x0600BE9F RID: 48799 RVA: 0x002ABAB8 File Offset: 0x002A9CB8
|
||||
[Token(Token = "0x600BE9F")]
|
||||
[Address(RVA = "0x28FF0A0", Offset = "0x28FE0A0", VA = "0x1828FF0A0", Slot = "21")]
|
||||
public override void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x04007871 RID: 30833
|
||||
[Token(Token = "0x4007871")]
|
||||
private const int DigestLength = 16;
|
||||
|
||||
// Token: 0x04007872 RID: 30834
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4007872")]
|
||||
private int H1;
|
||||
|
||||
// Token: 0x04007873 RID: 30835
|
||||
[FieldOffset(Offset = "0x2C")]
|
||||
[Token(Token = "0x4007873")]
|
||||
private int H2;
|
||||
|
||||
// Token: 0x04007874 RID: 30836
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4007874")]
|
||||
private int H3;
|
||||
|
||||
// Token: 0x04007875 RID: 30837
|
||||
[FieldOffset(Offset = "0x34")]
|
||||
[Token(Token = "0x4007875")]
|
||||
private int H4;
|
||||
|
||||
// Token: 0x04007876 RID: 30838
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4007876")]
|
||||
private int[] X;
|
||||
|
||||
// Token: 0x04007877 RID: 30839
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4007877")]
|
||||
private int xOff;
|
||||
|
||||
// Token: 0x04007878 RID: 30840
|
||||
[Token(Token = "0x4007878")]
|
||||
private const int S11 = 3;
|
||||
|
||||
// Token: 0x04007879 RID: 30841
|
||||
[Token(Token = "0x4007879")]
|
||||
private const int S12 = 7;
|
||||
|
||||
// Token: 0x0400787A RID: 30842
|
||||
[Token(Token = "0x400787A")]
|
||||
private const int S13 = 11;
|
||||
|
||||
// Token: 0x0400787B RID: 30843
|
||||
[Token(Token = "0x400787B")]
|
||||
private const int S14 = 19;
|
||||
|
||||
// Token: 0x0400787C RID: 30844
|
||||
[Token(Token = "0x400787C")]
|
||||
private const int S21 = 3;
|
||||
|
||||
// Token: 0x0400787D RID: 30845
|
||||
[Token(Token = "0x400787D")]
|
||||
private const int S22 = 5;
|
||||
|
||||
// Token: 0x0400787E RID: 30846
|
||||
[Token(Token = "0x400787E")]
|
||||
private const int S23 = 9;
|
||||
|
||||
// Token: 0x0400787F RID: 30847
|
||||
[Token(Token = "0x400787F")]
|
||||
private const int S24 = 13;
|
||||
|
||||
// Token: 0x04007880 RID: 30848
|
||||
[Token(Token = "0x4007880")]
|
||||
private const int S31 = 3;
|
||||
|
||||
// Token: 0x04007881 RID: 30849
|
||||
[Token(Token = "0x4007881")]
|
||||
private const int S32 = 9;
|
||||
|
||||
// Token: 0x04007882 RID: 30850
|
||||
[Token(Token = "0x4007882")]
|
||||
private const int S33 = 11;
|
||||
|
||||
// Token: 0x04007883 RID: 30851
|
||||
[Token(Token = "0x4007883")]
|
||||
private const int S34 = 15;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,345 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Rfc8032;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DCC RID: 7628
|
||||
[Token(Token = "0x2001DCC")]
|
||||
public class MD5Digest : GeneralDigest
|
||||
{
|
||||
// Token: 0x0600BEA0 RID: 48800 RVA: 0x002ABAD0 File Offset: 0x002A9CD0
|
||||
[Token(Token = "0x600BEA0")]
|
||||
[Address(RVA = "0x2900810", Offset = "0x28FF810", VA = "0x182900810")]
|
||||
public MD5Digest()
|
||||
{
|
||||
uint[] array = new uint[16];
|
||||
this.X = array;
|
||||
base..ctor();
|
||||
IMemoable memoable = ((IMemoable)this).Copy();
|
||||
}
|
||||
|
||||
// Token: 0x0600BEA1 RID: 48801 RVA: 0x002ABAFC File Offset: 0x002A9CFC
|
||||
[Token(Token = "0x600BEA1")]
|
||||
[Address(RVA = "0x2900870", Offset = "0x28FF870", VA = "0x182900870")]
|
||||
public MD5Digest(MD5Digest t)
|
||||
{
|
||||
uint[] array = new uint[16];
|
||||
this.X = array;
|
||||
base..ctor(t);
|
||||
this.CopyIn(t);
|
||||
}
|
||||
|
||||
// Token: 0x0600BEA2 RID: 48802 RVA: 0x002ABB28 File Offset: 0x002A9D28
|
||||
[Token(Token = "0x600BEA2")]
|
||||
[Address(RVA = "0x28FE130", Offset = "0x28FD130", VA = "0x1828FE130")]
|
||||
private void CopyIn(MD5Digest t)
|
||||
{
|
||||
base.CopyIn(t);
|
||||
uint h = t.H1;
|
||||
this.H1 = h;
|
||||
uint h2 = t.H2;
|
||||
this.H2 = h2;
|
||||
uint h3 = t.H3;
|
||||
this.H3 = h3;
|
||||
uint h4 = t.H4;
|
||||
this.H4 = h4;
|
||||
uint[] x = t.X;
|
||||
int length = x.Length;
|
||||
int num = 0;
|
||||
uint[] x2 = this.X;
|
||||
int num2 = 0;
|
||||
Array.Copy(x, num2, x2, num, length);
|
||||
int num3 = t.xOff;
|
||||
this.xOff = num3;
|
||||
}
|
||||
|
||||
// Token: 0x17001DB1 RID: 7601
|
||||
// (get) Token: 0x0600BEA3 RID: 48803 RVA: 0x002ABBB8 File Offset: 0x002A9DB8
|
||||
[Token(Token = "0x17001DB1")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BEA3")]
|
||||
[Address(RVA = "0x29008E0", Offset = "0x28FF8E0", VA = "0x1829008E0", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return "MD5";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BEA4 RID: 48804 RVA: 0x002ABBCC File Offset: 0x002A9DCC
|
||||
[Token(Token = "0x600BEA4")]
|
||||
[Address(RVA = "0x8BB9C0", Offset = "0x8BA9C0", VA = "0x1808BB9C0", Slot = "18")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return 16;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEA5 RID: 48805 RVA: 0x002ABBDC File Offset: 0x002A9DDC
|
||||
[Token(Token = "0x600BEA5")]
|
||||
[Address(RVA = "0x2900560", Offset = "0x28FF560", VA = "0x182900560", Slot = "14")]
|
||||
internal override void ProcessWord(byte[] input, int inOff)
|
||||
{
|
||||
uint[] x = this.X;
|
||||
int num = this.xOff;
|
||||
x[0] = (uint)inOff;
|
||||
int num2 = this.xOff;
|
||||
num2++;
|
||||
this.xOff = num2;
|
||||
if (num2 == 16)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BEA6 RID: 48806 RVA: 0x002ABC1C File Offset: 0x002A9E1C
|
||||
[Token(Token = "0x600BEA6")]
|
||||
[Address(RVA = "0x2900470", Offset = "0x28FF470", VA = "0x182900470", Slot = "15")]
|
||||
internal override void ProcessLength(long bitLength)
|
||||
{
|
||||
int num = this.xOff;
|
||||
int num2 = 0;
|
||||
if (num > 14 && num == 15)
|
||||
{
|
||||
this.X[7] = (uint)num2;
|
||||
}
|
||||
int num3 = this.xOff;
|
||||
if (num3 < 14)
|
||||
{
|
||||
uint[] x = this.X;
|
||||
num3++;
|
||||
x[0] = (uint)num2;
|
||||
}
|
||||
this.X[7] = (uint)bitLength;
|
||||
this.X[7] = (uint)bitLength;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEA7 RID: 48807 RVA: 0x002ABC8C File Offset: 0x002A9E8C
|
||||
[Token(Token = "0x600BEA7")]
|
||||
[Address(RVA = "0x28FF380", Offset = "0x28FE380", VA = "0x1828FF380", Slot = "19")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
base.Finish();
|
||||
Ed25519.Encode32(this.H1, output, outOff);
|
||||
Ed25519.Encode32(this.H2, output, outOff);
|
||||
Ed25519.Encode32(this.H3, output, outOff);
|
||||
Ed25519.Encode32(this.H4, output, outOff);
|
||||
return 16;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEA8 RID: 48808 RVA: 0x002ABCD8 File Offset: 0x002A9ED8
|
||||
[Token(Token = "0x600BEA8")]
|
||||
[Address(RVA = "0x28FF010", Offset = "0x28FE010", VA = "0x1828FF010", Slot = "13")]
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
uint[] x = this.X;
|
||||
int num = 0;
|
||||
this.H1 = (uint)((ulong)1732584193L);
|
||||
this.H2 = (uint)((ulong)4023233417L);
|
||||
this.H3 = (uint)((ulong)2562383102L);
|
||||
this.H4 = (uint)((ulong)271733878L);
|
||||
this.xOff = num;
|
||||
if (num != x.Length)
|
||||
{
|
||||
num++;
|
||||
x[0] = (uint)num;
|
||||
uint[] x2 = this.X;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BEA9 RID: 48809 RVA: 0x002ABD58 File Offset: 0x002A9F58
|
||||
[Token(Token = "0x600BEA9")]
|
||||
[Address(RVA = "0x273A370", Offset = "0x2739370", VA = "0x18273A370")]
|
||||
private static uint RotateLeft(uint x, int n)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEAA RID: 48810 RVA: 0x002ABD68 File Offset: 0x002A9F68
|
||||
[Token(Token = "0x600BEAA")]
|
||||
[Address(RVA = "0x101E210", Offset = "0x101D210", VA = "0x18101E210")]
|
||||
private static uint F(uint u, uint v, uint w)
|
||||
{
|
||||
return u;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEAB RID: 48811 RVA: 0x002ABD78 File Offset: 0x002A9F78
|
||||
[Token(Token = "0x600BEAB")]
|
||||
[Address(RVA = "0x101E250", Offset = "0x101D250", VA = "0x18101E250")]
|
||||
private static uint G(uint u, uint v, uint w)
|
||||
{
|
||||
return w;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEAC RID: 48812 RVA: 0x002ABD88 File Offset: 0x002A9F88
|
||||
[Token(Token = "0x600BEAC")]
|
||||
[Address(RVA = "0x101E200", Offset = "0x101D200", VA = "0x18101E200")]
|
||||
private static uint H(uint u, uint v, uint w)
|
||||
{
|
||||
return u;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEAD RID: 48813 RVA: 0x002ABD98 File Offset: 0x002A9F98
|
||||
[Token(Token = "0x600BEAD")]
|
||||
[Address(RVA = "0x28FF410", Offset = "0x28FE410", VA = "0x1828FF410")]
|
||||
private static uint K(uint u, uint v, uint w)
|
||||
{
|
||||
return w;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEAE RID: 48814 RVA: 0x002ABDA8 File Offset: 0x002A9FA8
|
||||
[Token(Token = "0x600BEAE")]
|
||||
[Address(RVA = "0x28FF420", Offset = "0x28FE420", VA = "0x1828FF420", Slot = "16")]
|
||||
internal override void ProcessBlock()
|
||||
{
|
||||
uint h = this.H2;
|
||||
uint[] x = this.X;
|
||||
int length = x.Length;
|
||||
int num = MD5Digest.S21;
|
||||
uint num2 = x[7];
|
||||
num += -2022574463;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEAF RID: 48815 RVA: 0x002ABDE8 File Offset: 0x002A9FE8
|
||||
[Token(Token = "0x600BEAF")]
|
||||
[Address(RVA = "0x28FF2E0", Offset = "0x28FE2E0", VA = "0x1828FF2E0", Slot = "20")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BEAF)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.MD5Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:MD5Digest(var_0_06, newobj:MD5Digest(MD5Digest::.ctor, ldloc:MD5Digest(this)))
|
||||
stloc:uint32[](var_1_0E, newarr:uint32[]([mscorlib]System.UInt32, ldc.i4:int32(16)))
|
||||
stfld:uint32[](MD5Digest::X, ldloc:MD5Digest(var_0_06), ldloc:uint32[](var_1_0E))
|
||||
call:void(MD5Digest::CopyIn, ldloc:MD5Digest(var_0_06), ldloc:MD5Digest(this))
|
||||
}
|
||||
|
||||
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: 0x0600BEB0 RID: 48816 RVA: 0x002ABE14 File Offset: 0x002AA014
|
||||
[Token(Token = "0x600BEB0")]
|
||||
[Address(RVA = "0x29005F0", Offset = "0x28FF5F0", VA = "0x1829005F0", Slot = "21")]
|
||||
public override void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x04007884 RID: 30852
|
||||
[Token(Token = "0x4007884")]
|
||||
private const int DigestLength = 16;
|
||||
|
||||
// Token: 0x04007885 RID: 30853
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4007885")]
|
||||
private uint H1;
|
||||
|
||||
// Token: 0x04007886 RID: 30854
|
||||
[FieldOffset(Offset = "0x2C")]
|
||||
[Token(Token = "0x4007886")]
|
||||
private uint H2;
|
||||
|
||||
// Token: 0x04007887 RID: 30855
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4007887")]
|
||||
private uint H3;
|
||||
|
||||
// Token: 0x04007888 RID: 30856
|
||||
[FieldOffset(Offset = "0x34")]
|
||||
[Token(Token = "0x4007888")]
|
||||
private uint H4;
|
||||
|
||||
// Token: 0x04007889 RID: 30857
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4007889")]
|
||||
private uint[] X;
|
||||
|
||||
// Token: 0x0400788A RID: 30858
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x400788A")]
|
||||
private int xOff;
|
||||
|
||||
// Token: 0x0400788B RID: 30859
|
||||
[Token(Token = "0x400788B")]
|
||||
private static readonly int S11;
|
||||
|
||||
// Token: 0x0400788C RID: 30860
|
||||
[Token(Token = "0x400788C")]
|
||||
private static readonly int S12;
|
||||
|
||||
// Token: 0x0400788D RID: 30861
|
||||
[Token(Token = "0x400788D")]
|
||||
private static readonly int S13;
|
||||
|
||||
// Token: 0x0400788E RID: 30862
|
||||
[Token(Token = "0x400788E")]
|
||||
private static readonly int S14;
|
||||
|
||||
// Token: 0x0400788F RID: 30863
|
||||
[Token(Token = "0x400788F")]
|
||||
private static readonly int S21;
|
||||
|
||||
// Token: 0x04007890 RID: 30864
|
||||
[Token(Token = "0x4007890")]
|
||||
private static readonly int S22;
|
||||
|
||||
// Token: 0x04007891 RID: 30865
|
||||
[Token(Token = "0x4007891")]
|
||||
private static readonly int S23;
|
||||
|
||||
// Token: 0x04007892 RID: 30866
|
||||
[Token(Token = "0x4007892")]
|
||||
private static readonly int S24;
|
||||
|
||||
// Token: 0x04007893 RID: 30867
|
||||
[Token(Token = "0x4007893")]
|
||||
private static readonly int S31;
|
||||
|
||||
// Token: 0x04007894 RID: 30868
|
||||
[Token(Token = "0x4007894")]
|
||||
private static readonly int S32;
|
||||
|
||||
// Token: 0x04007895 RID: 30869
|
||||
[Token(Token = "0x4007895")]
|
||||
private static readonly int S33;
|
||||
|
||||
// Token: 0x04007896 RID: 30870
|
||||
[Token(Token = "0x4007896")]
|
||||
private static readonly int S34;
|
||||
|
||||
// Token: 0x04007897 RID: 30871
|
||||
[Token(Token = "0x4007897")]
|
||||
private static readonly int S41;
|
||||
|
||||
// Token: 0x04007898 RID: 30872
|
||||
[Token(Token = "0x4007898")]
|
||||
private static readonly int S42;
|
||||
|
||||
// Token: 0x04007899 RID: 30873
|
||||
[Token(Token = "0x4007899")]
|
||||
private static readonly int S43;
|
||||
|
||||
// Token: 0x0400789A RID: 30874
|
||||
[Token(Token = "0x400789A")]
|
||||
private static readonly int S44;
|
||||
}
|
||||
}
|
||||
+111
@@ -0,0 +1,111 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DCD RID: 7629
|
||||
[Token(Token = "0x2001DCD")]
|
||||
public class NonMemoableDigest : IDigest
|
||||
{
|
||||
// Token: 0x0600BEB2 RID: 48818 RVA: 0x002ABE3C File Offset: 0x002AA03C
|
||||
[Token(Token = "0x600BEB2")]
|
||||
[Address(RVA = "0x2900B50", Offset = "0x28FFB50", VA = "0x182900B50")]
|
||||
public NonMemoableDigest(IDigest baseDigest)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BEB2)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.NonMemoableDigest::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_12:
|
||||
stloc:ArgumentNullException(var_0_1C, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("baseDigest")))
|
||||
}
|
||||
|
||||
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: 0x17001DB2 RID: 7602
|
||||
// (get) Token: 0x0600BEB3 RID: 48819 RVA: 0x002ABE68 File Offset: 0x002AA068
|
||||
[Token(Token = "0x17001DB2")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BEB3")]
|
||||
[Address(RVA = "0x2900BD0", Offset = "0x28FFBD0", VA = "0x182900BD0", Slot = "11")]
|
||||
get
|
||||
{
|
||||
IDigest digest = this.mBaseDigest;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BEB4 RID: 48820 RVA: 0x002ABE84 File Offset: 0x002AA084
|
||||
[Token(Token = "0x600BEB4")]
|
||||
[Address(RVA = "0x2900A50", Offset = "0x28FFA50", VA = "0x182900A50", Slot = "12")]
|
||||
public virtual int GetDigestSize()
|
||||
{
|
||||
IDigest digest = this.mBaseDigest;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600BEB5 RID: 48821 RVA: 0x002ABEA0 File Offset: 0x002AA0A0
|
||||
[Token(Token = "0x600BEB5")]
|
||||
[Address(RVA = "0x2900AF0", Offset = "0x28FFAF0", VA = "0x182900AF0", Slot = "13")]
|
||||
public virtual void Update(byte input)
|
||||
{
|
||||
IDigest digest = this.mBaseDigest;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600BEB6 RID: 48822 RVA: 0x002ABEBC File Offset: 0x002AA0BC
|
||||
[Token(Token = "0x600BEB6")]
|
||||
[Address(RVA = "0x2900910", Offset = "0x28FF910", VA = "0x182900910", Slot = "14")]
|
||||
public virtual void BlockUpdate(byte[] input, int inOff, int len)
|
||||
{
|
||||
IDigest digest = this.mBaseDigest;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEB7 RID: 48823 RVA: 0x002ABED8 File Offset: 0x002AA0D8
|
||||
[Token(Token = "0x600BEB7")]
|
||||
[Address(RVA = "0x2900990", Offset = "0x28FF990", VA = "0x182900990", Slot = "15")]
|
||||
public virtual int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
IDigest digest = this.mBaseDigest;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600BEB8 RID: 48824 RVA: 0x002ABEF4 File Offset: 0x002AA0F4
|
||||
[Token(Token = "0x600BEB8")]
|
||||
[Address(RVA = "0x2900AA0", Offset = "0x28FFAA0", VA = "0x182900AA0", Slot = "16")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
IDigest digest = this.mBaseDigest;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600BEB9 RID: 48825 RVA: 0x002ABF10 File Offset: 0x002AA110
|
||||
[Token(Token = "0x600BEB9")]
|
||||
[Address(RVA = "0x2900A00", Offset = "0x28FFA00", VA = "0x182900A00", Slot = "17")]
|
||||
public virtual int GetByteLength()
|
||||
{
|
||||
IDigest digest = this.mBaseDigest;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0400789B RID: 30875
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400789B")]
|
||||
protected readonly IDigest mBaseDigest;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,98 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DCE RID: 7630
|
||||
[Token(Token = "0x2001DCE")]
|
||||
public class NullDigest : IDigest
|
||||
{
|
||||
// Token: 0x17001DB3 RID: 7603
|
||||
// (get) Token: 0x0600BEBA RID: 48826 RVA: 0x002ABF2C File Offset: 0x002AA12C
|
||||
[Token(Token = "0x17001DB3")]
|
||||
public string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BEBA")]
|
||||
[Address(RVA = "0x2900D50", Offset = "0x28FFD50", VA = "0x182900D50", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return "NULL";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BEBB RID: 48827 RVA: 0x002ABF40 File Offset: 0x002AA140
|
||||
[Token(Token = "0x600BEBB")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "6")]
|
||||
public int GetByteLength()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEBC RID: 48828 RVA: 0x002ABF50 File Offset: 0x002AA150
|
||||
[Token(Token = "0x600BEBC")]
|
||||
[Address(RVA = "0x4DB0F0", Offset = "0x4DA0F0", VA = "0x1804DB0F0", Slot = "5")]
|
||||
public int GetDigestSize()
|
||||
{
|
||||
((IDisposable)this.bOut).Dispose();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600BEBD RID: 48829 RVA: 0x002ABF70 File Offset: 0x002AA170
|
||||
[Token(Token = "0x600BEBD")]
|
||||
[Address(RVA = "0xAC4CC0", Offset = "0xAC3CC0", VA = "0x180AC4CC0", Slot = "7")]
|
||||
public void Update(byte b)
|
||||
{
|
||||
((IDisposable)this.bOut).Dispose();
|
||||
}
|
||||
|
||||
// Token: 0x0600BEBE RID: 48830 RVA: 0x002ABF90 File Offset: 0x002AA190
|
||||
[Token(Token = "0x600BEBE")]
|
||||
[Address(RVA = "0x2358F30", Offset = "0x2357F30", VA = "0x182358F30", Slot = "8")]
|
||||
public void BlockUpdate(byte[] inBytes, int inOff, int len)
|
||||
{
|
||||
int num = this.bOut.Read(inBytes, inOff, len);
|
||||
}
|
||||
|
||||
// Token: 0x0600BEBF RID: 48831 RVA: 0x002ABFB4 File Offset: 0x002AA1B4
|
||||
[Token(Token = "0x600BEBF")]
|
||||
[Address(RVA = "0x2900C20", Offset = "0x28FFC20", VA = "0x182900C20", Slot = "9")]
|
||||
public int DoFinal(byte[] outBytes, int outOff)
|
||||
{
|
||||
int num;
|
||||
int num2;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
num2 = Streams.WriteBufTo(this.bOut, outBytes, outOff);
|
||||
MemoryStream memoryStream = this.bOut;
|
||||
}
|
||||
while (num != 0);
|
||||
return num2;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEC0 RID: 48832 RVA: 0x002ABFE4 File Offset: 0x002AA1E4
|
||||
[Token(Token = "0x600BEC0")]
|
||||
[Address(RVA = "0x2900CC0", Offset = "0x28FFCC0", VA = "0x182900CC0", Slot = "10")]
|
||||
public void Reset()
|
||||
{
|
||||
((IDisposable)this.bOut).Dispose();
|
||||
}
|
||||
|
||||
// Token: 0x0600BEC1 RID: 48833 RVA: 0x002AC004 File Offset: 0x002AA204
|
||||
[Token(Token = "0x600BEC1")]
|
||||
[Address(RVA = "0x2900CF0", Offset = "0x28FFCF0", VA = "0x182900CF0")]
|
||||
public NullDigest()
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
this.bOut = memoryStream;
|
||||
base..ctor();
|
||||
}
|
||||
|
||||
// Token: 0x0400789C RID: 30876
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400789C")]
|
||||
private readonly MemoryStream bOut;
|
||||
}
|
||||
}
|
||||
+816
@@ -0,0 +1,816 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DCF RID: 7631
|
||||
[Token(Token = "0x2001DCF")]
|
||||
public class RipeMD128Digest : GeneralDigest
|
||||
{
|
||||
// Token: 0x0600BEC2 RID: 48834 RVA: 0x002AC024 File Offset: 0x002AA224
|
||||
[Token(Token = "0x600BEC2")]
|
||||
[Address(RVA = "0x2902560", Offset = "0x2901560", VA = "0x182902560")]
|
||||
public RipeMD128Digest()
|
||||
{
|
||||
int[] array = new int[16];
|
||||
this.X = array;
|
||||
base..ctor();
|
||||
IMemoable memoable = ((IMemoable)this).Copy();
|
||||
}
|
||||
|
||||
// Token: 0x0600BEC3 RID: 48835 RVA: 0x002AC050 File Offset: 0x002AA250
|
||||
[Token(Token = "0x600BEC3")]
|
||||
[Address(RVA = "0x29025C0", Offset = "0x29015C0", VA = "0x1829025C0")]
|
||||
public RipeMD128Digest(RipeMD128Digest t)
|
||||
{
|
||||
int[] array = new int[16];
|
||||
this.X = array;
|
||||
base..ctor(t);
|
||||
this.CopyIn(t);
|
||||
}
|
||||
|
||||
// Token: 0x0600BEC4 RID: 48836 RVA: 0x002AC07C File Offset: 0x002AA27C
|
||||
[Token(Token = "0x600BEC4")]
|
||||
[Address(RVA = "0x28FE130", Offset = "0x28FD130", VA = "0x1828FE130")]
|
||||
private void CopyIn(RipeMD128Digest t)
|
||||
{
|
||||
base.CopyIn(t);
|
||||
int h = t.H0;
|
||||
this.H0 = h;
|
||||
int h2 = t.H1;
|
||||
this.H1 = h2;
|
||||
int h3 = t.H2;
|
||||
this.H2 = h3;
|
||||
int h4 = t.H3;
|
||||
this.H3 = h4;
|
||||
int[] x = t.X;
|
||||
int length = x.Length;
|
||||
int num = 0;
|
||||
int[] x2 = this.X;
|
||||
int num2 = 0;
|
||||
Array.Copy(x, num2, x2, num, length);
|
||||
int num3 = t.xOff;
|
||||
this.xOff = num3;
|
||||
}
|
||||
|
||||
// Token: 0x17001DB4 RID: 7604
|
||||
// (get) Token: 0x0600BEC5 RID: 48837 RVA: 0x002AC10C File Offset: 0x002AA30C
|
||||
[Token(Token = "0x17001DB4")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BEC5")]
|
||||
[Address(RVA = "0x2902630", Offset = "0x2901630", VA = "0x182902630", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return "RIPEMD128";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BEC6 RID: 48838 RVA: 0x002AC120 File Offset: 0x002AA320
|
||||
[Token(Token = "0x600BEC6")]
|
||||
[Address(RVA = "0x8BB9C0", Offset = "0x8BA9C0", VA = "0x1808BB9C0", Slot = "18")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return 16;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEC7 RID: 48839 RVA: 0x002AC130 File Offset: 0x002AA330
|
||||
[Token(Token = "0x600BEC7")]
|
||||
[Address(RVA = "0x28FEEF0", Offset = "0x28FDEF0", VA = "0x1828FEEF0", Slot = "14")]
|
||||
internal override void ProcessWord(byte[] input, int inOff)
|
||||
{
|
||||
int num = this.xOff;
|
||||
int[] x = this.X;
|
||||
int num2 = num + 1;
|
||||
this.xOff = num2;
|
||||
int length = input.Length;
|
||||
int num3 = inOff + 1;
|
||||
byte b;
|
||||
x[0] = (int)b;
|
||||
if (this.xOff == 16)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BEC8 RID: 48840 RVA: 0x002AC17C File Offset: 0x002AA37C
|
||||
[Token(Token = "0x600BEC8")]
|
||||
[Address(RVA = "0x28FEE70", Offset = "0x28FDE70", VA = "0x1828FEE70", Slot = "15")]
|
||||
internal override void ProcessLength(long bitLength)
|
||||
{
|
||||
if (this.xOff > 14)
|
||||
{
|
||||
}
|
||||
this.X[7] = (int)bitLength;
|
||||
this.X[7] = (int)bitLength;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEC9 RID: 48841 RVA: 0x002AC1B4 File Offset: 0x002AA3B4
|
||||
[Token(Token = "0x600BEC9")]
|
||||
[Address(RVA = "0x28FF140", Offset = "0x28FE140", VA = "0x1828FF140")]
|
||||
private void UnpackWord(int word, byte[] outBytes, int outOff)
|
||||
{
|
||||
int num = outOff + 1;
|
||||
}
|
||||
|
||||
// Token: 0x0600BECA RID: 48842 RVA: 0x002AC1CC File Offset: 0x002AA3CC
|
||||
[Token(Token = "0x600BECA")]
|
||||
[Address(RVA = "0x28FE250", Offset = "0x28FD250", VA = "0x1828FE250", Slot = "19")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
base.Finish();
|
||||
int h = this.H0;
|
||||
this.UnpackWord(h, output, outOff);
|
||||
int num = this.H1;
|
||||
output[0] = (byte)num;
|
||||
output[0] = (byte)num;
|
||||
int h2 = this.H2;
|
||||
num = h2;
|
||||
output[0] = (byte)num;
|
||||
num = h2;
|
||||
output[0] = (byte)num;
|
||||
int h3 = this.H3;
|
||||
num = h3;
|
||||
output[0] = (byte)num;
|
||||
num = h3;
|
||||
output[0] = (byte)num;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600BECB RID: 48843 RVA: 0x002AC244 File Offset: 0x002AA444
|
||||
[Token(Token = "0x600BECB")]
|
||||
[Address(RVA = "0x28FF010", Offset = "0x28FE010", VA = "0x1828FF010", Slot = "13")]
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
int[] x = this.X;
|
||||
int num = 0;
|
||||
this.H0 = (int)((ulong)1732584193L);
|
||||
this.H1 = (int)((ulong)4023233417L);
|
||||
this.H2 = (int)((ulong)2562383102L);
|
||||
this.H3 = (int)((ulong)271733878L);
|
||||
this.xOff = num;
|
||||
if (num != x.Length)
|
||||
{
|
||||
num++;
|
||||
x[0] = num;
|
||||
int[] x2 = this.X;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BECC RID: 48844 RVA: 0x002AC2C4 File Offset: 0x002AA4C4
|
||||
[Token(Token = "0x600BECC")]
|
||||
[Address(RVA = "0x272B5B0", Offset = "0x272A5B0", VA = "0x18272B5B0")]
|
||||
private int RL(int x, int n)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BECD RID: 48845 RVA: 0x002AC2D4 File Offset: 0x002AA4D4
|
||||
[Token(Token = "0x600BECD")]
|
||||
[Address(RVA = "0xE4D010", Offset = "0xE4C010", VA = "0x180E4D010")]
|
||||
private int F1(int x, int y, int z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BECE RID: 48846 RVA: 0x002AC2E4 File Offset: 0x002AA4E4
|
||||
[Token(Token = "0x600BECE")]
|
||||
[Address(RVA = "0xE4CF50", Offset = "0xE4BF50", VA = "0x180E4CF50")]
|
||||
private int F2(int x, int y, int z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BECF RID: 48847 RVA: 0x002AC2F4 File Offset: 0x002AA4F4
|
||||
[Token(Token = "0x600BECF")]
|
||||
[Address(RVA = "0x2900E90", Offset = "0x28FFE90", VA = "0x182900E90")]
|
||||
private int F3(int x, int y, int z)
|
||||
{
|
||||
return y;
|
||||
}
|
||||
|
||||
// Token: 0x0600BED0 RID: 48848 RVA: 0x002AC304 File Offset: 0x002AA504
|
||||
[Token(Token = "0x600BED0")]
|
||||
[Address(RVA = "0x2900F20", Offset = "0x28FFF20", VA = "0x182900F20")]
|
||||
private int F4(int x, int y, int z)
|
||||
{
|
||||
return z;
|
||||
}
|
||||
|
||||
// Token: 0x0600BED1 RID: 48849 RVA: 0x002AC314 File Offset: 0x002AA514
|
||||
[Token(Token = "0x600BED1")]
|
||||
[Address(RVA = "0x2900E20", Offset = "0x28FFE20", VA = "0x182900E20")]
|
||||
private int F1(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600BED2 RID: 48850 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600BED2")]
|
||||
[Address(RVA = "0x2900E50", Offset = "0x28FFE50", VA = "0x182900E50")]
|
||||
private int F2(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600BED3 RID: 48851 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600BED3")]
|
||||
[Address(RVA = "0x2900EA0", Offset = "0x28FFEA0", VA = "0x182900EA0")]
|
||||
private int F3(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600BED4 RID: 48852 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600BED4")]
|
||||
[Address(RVA = "0x2900EE0", Offset = "0x28FFEE0", VA = "0x182900EE0")]
|
||||
private int F4(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600BED5 RID: 48853 RVA: 0x002AC324 File Offset: 0x002AA524
|
||||
[Token(Token = "0x600BED5")]
|
||||
[Address(RVA = "0x2900E20", Offset = "0x28FFE20", VA = "0x182900E20")]
|
||||
private int FF1(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600BED6 RID: 48854 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600BED6")]
|
||||
[Address(RVA = "0x2900F30", Offset = "0x28FFF30", VA = "0x182900F30")]
|
||||
private int FF2(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600BED7 RID: 48855 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600BED7")]
|
||||
[Address(RVA = "0x2900F70", Offset = "0x28FFF70", VA = "0x182900F70")]
|
||||
private int FF3(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600BED8 RID: 48856 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600BED8")]
|
||||
[Address(RVA = "0x2900FB0", Offset = "0x28FFFB0", VA = "0x182900FB0")]
|
||||
private int FF4(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600BED9 RID: 48857 RVA: 0x002AC334 File Offset: 0x002AA534
|
||||
[Token(Token = "0x600BED9")]
|
||||
[Address(RVA = "0x2900FF0", Offset = "0x28FFFF0", VA = "0x182900FF0", Slot = "16")]
|
||||
internal override void ProcessBlock()
|
||||
{
|
||||
int[] x = this.X;
|
||||
int num = this.H0;
|
||||
int h = this.H1;
|
||||
int num2 = this.H2;
|
||||
int num3 = this.H3;
|
||||
int num4 = x.Length;
|
||||
num3 += num;
|
||||
num = num3;
|
||||
num3 = num2;
|
||||
num3 += num3;
|
||||
num3 = h;
|
||||
num3 += num2;
|
||||
num2 = num3;
|
||||
num3 = num2;
|
||||
num3 += h;
|
||||
num2 += num;
|
||||
num = num2;
|
||||
num3 += num3;
|
||||
num3 += num3;
|
||||
num2 = num3;
|
||||
num3 = num2;
|
||||
num3 += num3;
|
||||
num2 += num;
|
||||
num = num2;
|
||||
num3 += num3;
|
||||
num3 += num3;
|
||||
num2 = num3;
|
||||
num3 = num2;
|
||||
num3 += num3;
|
||||
num2 += num;
|
||||
int num5 = x[6];
|
||||
num3 += num5;
|
||||
num3 += num3;
|
||||
num2 = num3;
|
||||
int num6 = x[7];
|
||||
num3 = num2;
|
||||
num3 += num6;
|
||||
num3 += num3;
|
||||
int num7 = x[7];
|
||||
num3 = num2;
|
||||
num3 += num7;
|
||||
num3 += num3;
|
||||
num4 = num3;
|
||||
num3 += num4;
|
||||
num = num3;
|
||||
num4 = num;
|
||||
num3 += num4;
|
||||
num3 += 1518500249;
|
||||
num3 += num5;
|
||||
int num8 = x[1];
|
||||
num3 += num3;
|
||||
num4 = num3;
|
||||
num3 += num4;
|
||||
num4 = num3;
|
||||
num3 += num4;
|
||||
num3 += 1518500249;
|
||||
num3 += num3;
|
||||
num = num3;
|
||||
num4 = num;
|
||||
num3 = num;
|
||||
num4 += num7;
|
||||
num3 += num4;
|
||||
num3 = num;
|
||||
num3 += 1518500249;
|
||||
num3 += num8;
|
||||
num3 += num3;
|
||||
num4 = num3;
|
||||
num3 += num4;
|
||||
num4 = num3;
|
||||
num3 += num4;
|
||||
num = num3;
|
||||
num4 = num;
|
||||
num3 = num;
|
||||
num3 += num4;
|
||||
num2 = num3;
|
||||
num3 = num;
|
||||
num3 += 1518500249;
|
||||
num3 += num3;
|
||||
num3 = num2;
|
||||
num4 = num3;
|
||||
num3 += num4;
|
||||
num4 = num3;
|
||||
num4 += num6;
|
||||
num3 += num4;
|
||||
num = num3;
|
||||
num4 = num;
|
||||
num3 = num;
|
||||
int num9 = x[5];
|
||||
num4 += num9;
|
||||
num3 += num4;
|
||||
num3 = num;
|
||||
num3 += 1518500249;
|
||||
num3 += num3;
|
||||
num4 = num3;
|
||||
num += 1859775393;
|
||||
num3 += 1859775393;
|
||||
num3 += num3;
|
||||
num2 = num3;
|
||||
num3 = num4;
|
||||
num3 += 1859775393;
|
||||
num3 += num;
|
||||
num = num3;
|
||||
num3 = num2;
|
||||
num4 += 1859775393;
|
||||
num3 += num6;
|
||||
num3 += num3;
|
||||
num3 = num;
|
||||
num2 += 1859775393;
|
||||
num3 += num4;
|
||||
num4 = num3;
|
||||
num3 += num2;
|
||||
num2 = num3;
|
||||
num3 = num4;
|
||||
num3 += num7;
|
||||
num += 1859775393;
|
||||
num3 += num;
|
||||
num3 += 1859775393;
|
||||
num = num3;
|
||||
num3 = num2;
|
||||
num4 += 1859775393;
|
||||
num3 += num3;
|
||||
num3 = num;
|
||||
num2 += 1859775393;
|
||||
num3 += num4;
|
||||
num += 1859775393;
|
||||
num3 += num2;
|
||||
num4 = num3;
|
||||
num3 += 1859775393;
|
||||
num3 += num;
|
||||
num2 = num3;
|
||||
num3 = num4;
|
||||
num3 += 1859775393;
|
||||
num3 += num3;
|
||||
num = num3;
|
||||
num3 = num2;
|
||||
num3 += num3;
|
||||
int num10 = x[6];
|
||||
num10 += 1859775393;
|
||||
num3 = num;
|
||||
num3 += num10;
|
||||
num3 += num4;
|
||||
num10 = num3;
|
||||
num2 += 1859775393;
|
||||
num += 1859775393;
|
||||
num3 += num9;
|
||||
num9 += -1894007588;
|
||||
num3 += num2;
|
||||
num3 = num10;
|
||||
num2 = num3;
|
||||
num3 += num;
|
||||
num = num3;
|
||||
num3 = num2;
|
||||
num4 += num3;
|
||||
num3 = num4;
|
||||
num4 = num;
|
||||
num3 += -1894007588;
|
||||
num3 += num10;
|
||||
num3 = num;
|
||||
num3 += num4;
|
||||
num3 += num9;
|
||||
num3 += num;
|
||||
num9 = num3;
|
||||
num3 = num9;
|
||||
num3 += -1894007588;
|
||||
num4 = num3;
|
||||
num3 += num3;
|
||||
num3 += num4;
|
||||
num2 = num3;
|
||||
num3 = num9;
|
||||
num3 += -1894007588;
|
||||
num3 += num3;
|
||||
num = num3;
|
||||
num3 = num;
|
||||
num4 = num2;
|
||||
num3 += -1894007588;
|
||||
num3 += num9;
|
||||
num3 += num4;
|
||||
num4 = num;
|
||||
num10 = num3;
|
||||
num3 = num;
|
||||
num3 += num4;
|
||||
num4 = num3;
|
||||
num2 = num3;
|
||||
num4 += num8;
|
||||
num3 += num4;
|
||||
num = num3;
|
||||
num4 = num10;
|
||||
num6 += -1894007588;
|
||||
num3 = num;
|
||||
num3 += num4;
|
||||
num4 = num2;
|
||||
num4 += num7;
|
||||
num3 += num4;
|
||||
num10 = num3;
|
||||
num3 = num;
|
||||
num4 = num3;
|
||||
num3 += num6;
|
||||
num3 += num2;
|
||||
num6 = num3;
|
||||
num8 = num6;
|
||||
int num11 = this.H3;
|
||||
num3 += num4;
|
||||
num4 = num10;
|
||||
num3 += num4;
|
||||
num4 = num11;
|
||||
num7 = num3;
|
||||
num8 += -1894007588;
|
||||
num8 += num10;
|
||||
int num12 = this.H2;
|
||||
int num13 = this.H0;
|
||||
num13 += 1352829926;
|
||||
num13 += num4;
|
||||
num4 = num12;
|
||||
num2 = num13;
|
||||
num13 = num12;
|
||||
num13 += num4;
|
||||
num4 = h;
|
||||
num11 = num13;
|
||||
num13 = h;
|
||||
num13 += num4;
|
||||
num4 = num2;
|
||||
num12 = num13;
|
||||
num13 = num12;
|
||||
num13 += num4;
|
||||
num4 = num11;
|
||||
num10 = num13;
|
||||
num13 = num11;
|
||||
num13 += num4;
|
||||
num4 = num12;
|
||||
num2 = num13;
|
||||
num13 = num12;
|
||||
num13 += num4;
|
||||
num4 = num10;
|
||||
num11 = num13;
|
||||
num13 = num11;
|
||||
num13 += num4;
|
||||
num4 = num2;
|
||||
num12 = num13;
|
||||
num13 = num12;
|
||||
num13 += num4;
|
||||
num4 = num11;
|
||||
num10 = num13;
|
||||
num13 = num11;
|
||||
num13 += num4;
|
||||
num4 = num12;
|
||||
num2 = num13;
|
||||
num13 = num12;
|
||||
num13 += num4;
|
||||
num4 = num10;
|
||||
num11 = num13;
|
||||
num13 = num11;
|
||||
num13 += num4;
|
||||
num4 = num2;
|
||||
num12 = num13;
|
||||
num13 = num12;
|
||||
num13 += num4;
|
||||
num4 = num11;
|
||||
num10 = num13;
|
||||
num13 = num11;
|
||||
num13 += num4;
|
||||
num4 = num12;
|
||||
num2 = num13;
|
||||
num13 = num12;
|
||||
num13 += num4;
|
||||
num4 = num10;
|
||||
num11 = num13;
|
||||
num13 = num11;
|
||||
num13 += num4;
|
||||
num12 = num13;
|
||||
num13 = num12;
|
||||
num2 += 1548603684;
|
||||
num13 += 1352829926;
|
||||
num13 += num10;
|
||||
num4 = num13;
|
||||
num13 = num12;
|
||||
num11 += 1548603684;
|
||||
num13 += num2;
|
||||
num2 = num13;
|
||||
num13 = num4;
|
||||
num12 += 1548603684;
|
||||
num13 += num11;
|
||||
num11 = num13;
|
||||
num13 = num2;
|
||||
num13 += num12;
|
||||
num12 = num13;
|
||||
num13 = num11;
|
||||
num4 += 1548603684;
|
||||
num2 += 1548603684;
|
||||
num13 += num4;
|
||||
num4 = num13;
|
||||
num13 = num12;
|
||||
num11 += 1548603684;
|
||||
num13 += num2;
|
||||
num2 = num13;
|
||||
num13 = num4;
|
||||
num12 += 1548603684;
|
||||
num13 += num11;
|
||||
num11 = num13;
|
||||
num13 = num2;
|
||||
num4 += 1548603684;
|
||||
num13 += num12;
|
||||
num12 = num13;
|
||||
num13 = num11;
|
||||
num2 += 1548603684;
|
||||
num13 += num4;
|
||||
num4 = num13;
|
||||
num13 = num12;
|
||||
num11 += 1548603684;
|
||||
num13 += num2;
|
||||
num2 = num13;
|
||||
num13 = num4;
|
||||
num13 += num11;
|
||||
num11 = num13;
|
||||
num13 = num2;
|
||||
num12 += 1548603684;
|
||||
num13 += num12;
|
||||
num4 += 1548603684;
|
||||
num12 = num13;
|
||||
num13 = num11;
|
||||
num2 += 1548603684;
|
||||
num13 += num4;
|
||||
num4 = num13;
|
||||
num13 = num12;
|
||||
num11 += 1548603684;
|
||||
num13 += num2;
|
||||
num2 = num13;
|
||||
num13 = num4;
|
||||
num12 += 1548603684;
|
||||
num13 += num11;
|
||||
num11 = num13;
|
||||
num13 = num2;
|
||||
num4 += 1548603684;
|
||||
num13 += num12;
|
||||
num12 = num13;
|
||||
num13 = num11;
|
||||
num13 += num4;
|
||||
num10 = num13;
|
||||
num13 = num12;
|
||||
num4 = num10;
|
||||
num13 += num4;
|
||||
num3 = num13;
|
||||
num13 = num10;
|
||||
num4 = num3;
|
||||
num13 += num4;
|
||||
num2 = num13;
|
||||
num4 = num2;
|
||||
num13 = num2;
|
||||
num13 += num4;
|
||||
num11 = num13;
|
||||
num13 = num2;
|
||||
num4 = num11;
|
||||
num13 += num4;
|
||||
num12 = num13;
|
||||
num13 = num11;
|
||||
num4 = num12;
|
||||
num13 += num4;
|
||||
num10 = num13;
|
||||
num13 = num12;
|
||||
num4 = num10;
|
||||
num13 += num4;
|
||||
num3 = num13;
|
||||
num4 = num3;
|
||||
num13 = num3;
|
||||
num13 += num4;
|
||||
num2 = num13;
|
||||
num13 = num3;
|
||||
num13 += 1836072691;
|
||||
num13 += num12;
|
||||
num11 = num13;
|
||||
num13 = num2;
|
||||
num4 = num11;
|
||||
num13 += num4;
|
||||
num10 = num13;
|
||||
num13 = num11;
|
||||
num4 = num10;
|
||||
num13 += num4;
|
||||
num3 = num13;
|
||||
num13 = num3;
|
||||
num13 += 1836072691;
|
||||
num13 += num2;
|
||||
num9 = num13;
|
||||
num13 = num3;
|
||||
num13 += 1836072691;
|
||||
num13 += num11;
|
||||
num12 = num13;
|
||||
num13 = num9;
|
||||
num4 = num12;
|
||||
num13 += num4;
|
||||
num10 = num13;
|
||||
num13 = num12;
|
||||
num13 += 1836072691;
|
||||
num13 += num3;
|
||||
num2 = num13;
|
||||
num13 = num2;
|
||||
num13 += 1836072691;
|
||||
num13 += num9;
|
||||
num11 = num13;
|
||||
num13 = num2;
|
||||
num4 = num11;
|
||||
num13 += num4;
|
||||
num12 = num13;
|
||||
num13 = num2;
|
||||
num13 += num10;
|
||||
num10 = num13;
|
||||
num13 = num11;
|
||||
num13 += num2;
|
||||
num2 = num13;
|
||||
num13 = num2;
|
||||
num4 = num2;
|
||||
num13 += num11;
|
||||
num11 = num13;
|
||||
num13 = num4;
|
||||
num13 += num12;
|
||||
num12 = num13;
|
||||
num13 = num11;
|
||||
num4 += num10;
|
||||
num10 = num4;
|
||||
num13 += num2;
|
||||
num2 = num13;
|
||||
num13 = num2;
|
||||
num4 = num2;
|
||||
num13 += num11;
|
||||
num3 = num13;
|
||||
num13 = num4;
|
||||
num13 += num12;
|
||||
num11 = num13;
|
||||
num13 = num3;
|
||||
num4 += num10;
|
||||
num12 = num4;
|
||||
num13 += num2;
|
||||
num2 = num13;
|
||||
num13 = num2;
|
||||
num4 = num2;
|
||||
num13 += num3;
|
||||
num3 = num13;
|
||||
num13 = num4;
|
||||
num13 += num11;
|
||||
num10 = num13;
|
||||
num13 = num3;
|
||||
num4 += num12;
|
||||
num11 = num4;
|
||||
num13 += num2;
|
||||
num12 = num13;
|
||||
num13 = num12;
|
||||
num4 = num12;
|
||||
num13 += num3;
|
||||
num2 = num13;
|
||||
num4 += num10;
|
||||
int num14 = this.H2;
|
||||
num14 += num3;
|
||||
num14 += num11;
|
||||
this.H1 = num14;
|
||||
num14 = num4;
|
||||
num14 += num6;
|
||||
this.H2 = num14;
|
||||
num14 = num8;
|
||||
num14 += num2;
|
||||
this.H3 = num14;
|
||||
num14 += num7;
|
||||
int num15 = 0;
|
||||
this.H0 = num14;
|
||||
this.xOff = num15;
|
||||
if (num15 != x.Length)
|
||||
{
|
||||
num15++;
|
||||
x[0] = num15;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BEDA RID: 48858 RVA: 0x002ACD94 File Offset: 0x002AAF94
|
||||
[Token(Token = "0x600BEDA")]
|
||||
[Address(RVA = "0x2900D80", Offset = "0x28FFD80", VA = "0x182900D80", Slot = "20")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BEDA)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.RipeMD128Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:RipeMD128Digest(var_0_06, newobj:RipeMD128Digest(RipeMD128Digest::.ctor, ldloc:RipeMD128Digest(this)))
|
||||
stloc:int32[](var_1_0E, newarr:int32[]([mscorlib]System.Int32, ldc.i4:int32(16)))
|
||||
stfld:int32[](RipeMD128Digest::X, ldloc:RipeMD128Digest(var_0_06), ldloc:int32[](var_1_0E))
|
||||
call:void(RipeMD128Digest::CopyIn, ldloc:RipeMD128Digest(var_0_06), ldloc:RipeMD128Digest(this))
|
||||
}
|
||||
|
||||
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: 0x0600BEDB RID: 48859 RVA: 0x002ACDC0 File Offset: 0x002AAFC0
|
||||
[Token(Token = "0x600BEDB")]
|
||||
[Address(RVA = "0x29024C0", Offset = "0x29014C0", VA = "0x1829024C0", Slot = "21")]
|
||||
public override void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x0400789D RID: 30877
|
||||
[Token(Token = "0x400789D")]
|
||||
private const int DigestLength = 16;
|
||||
|
||||
// Token: 0x0400789E RID: 30878
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x400789E")]
|
||||
private int H0;
|
||||
|
||||
// Token: 0x0400789F RID: 30879
|
||||
[FieldOffset(Offset = "0x2C")]
|
||||
[Token(Token = "0x400789F")]
|
||||
private int H1;
|
||||
|
||||
// Token: 0x040078A0 RID: 30880
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40078A0")]
|
||||
private int H2;
|
||||
|
||||
// Token: 0x040078A1 RID: 30881
|
||||
[FieldOffset(Offset = "0x34")]
|
||||
[Token(Token = "0x40078A1")]
|
||||
private int H3;
|
||||
|
||||
// Token: 0x040078A2 RID: 30882
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x40078A2")]
|
||||
private int[] X;
|
||||
|
||||
// Token: 0x040078A3 RID: 30883
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x40078A3")]
|
||||
private int xOff;
|
||||
}
|
||||
}
|
||||
+755
@@ -0,0 +1,755 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DD0 RID: 7632
|
||||
[Token(Token = "0x2001DD0")]
|
||||
public class RipeMD160Digest : GeneralDigest
|
||||
{
|
||||
// Token: 0x0600BEDC RID: 48860 RVA: 0x002ACDD8 File Offset: 0x002AAFD8
|
||||
[Token(Token = "0x600BEDC")]
|
||||
[Address(RVA = "0x2905110", Offset = "0x2904110", VA = "0x182905110")]
|
||||
public RipeMD160Digest()
|
||||
{
|
||||
int[] array = new int[16];
|
||||
this.X = array;
|
||||
base..ctor();
|
||||
IMemoable memoable = ((IMemoable)this).Copy();
|
||||
}
|
||||
|
||||
// Token: 0x0600BEDD RID: 48861 RVA: 0x002ACE04 File Offset: 0x002AB004
|
||||
[Token(Token = "0x600BEDD")]
|
||||
[Address(RVA = "0x2905170", Offset = "0x2904170", VA = "0x182905170")]
|
||||
public RipeMD160Digest(RipeMD160Digest t)
|
||||
{
|
||||
int[] array = new int[16];
|
||||
this.X = array;
|
||||
base..ctor(t);
|
||||
this.CopyIn(t);
|
||||
}
|
||||
|
||||
// Token: 0x0600BEDE RID: 48862 RVA: 0x002ACE30 File Offset: 0x002AB030
|
||||
[Token(Token = "0x600BEDE")]
|
||||
[Address(RVA = "0x2902660", Offset = "0x2901660", VA = "0x182902660")]
|
||||
private void CopyIn(RipeMD160Digest t)
|
||||
{
|
||||
base.CopyIn(t);
|
||||
int h = t.H0;
|
||||
this.H0 = h;
|
||||
int h2 = t.H1;
|
||||
this.H1 = h2;
|
||||
int h3 = t.H2;
|
||||
this.H2 = h3;
|
||||
int h4 = t.H3;
|
||||
this.H3 = h4;
|
||||
int h5 = t.H4;
|
||||
this.H4 = h5;
|
||||
int[] x = t.X;
|
||||
int length = x.Length;
|
||||
int num = 0;
|
||||
int[] x2 = this.X;
|
||||
int num2 = 0;
|
||||
Array.Copy(x, num2, x2, num, length);
|
||||
int num3 = t.xOff;
|
||||
this.xOff = num3;
|
||||
}
|
||||
|
||||
// Token: 0x17001DB5 RID: 7605
|
||||
// (get) Token: 0x0600BEDF RID: 48863 RVA: 0x002ACED0 File Offset: 0x002AB0D0
|
||||
[Token(Token = "0x17001DB5")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BEDF")]
|
||||
[Address(RVA = "0x29051E0", Offset = "0x29041E0", VA = "0x1829051E0", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return "RIPEMD160";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BEE0 RID: 48864 RVA: 0x002ACEE4 File Offset: 0x002AB0E4
|
||||
[Token(Token = "0x600BEE0")]
|
||||
[Address(RVA = "0xC42C40", Offset = "0xC41C40", VA = "0x180C42C40", Slot = "18")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return 20;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEE1 RID: 48865 RVA: 0x002ACEF4 File Offset: 0x002AB0F4
|
||||
[Token(Token = "0x600BEE1")]
|
||||
[Address(RVA = "0x2904EB0", Offset = "0x2903EB0", VA = "0x182904EB0", Slot = "14")]
|
||||
internal override void ProcessWord(byte[] input, int inOff)
|
||||
{
|
||||
int num = this.xOff;
|
||||
int[] x = this.X;
|
||||
int num2 = num + 1;
|
||||
this.xOff = num2;
|
||||
int length = input.Length;
|
||||
int num3 = inOff + 1;
|
||||
byte b;
|
||||
x[0] = (int)b;
|
||||
if (this.xOff == 16)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BEE2 RID: 48866 RVA: 0x002ACF40 File Offset: 0x002AB140
|
||||
[Token(Token = "0x600BEE2")]
|
||||
[Address(RVA = "0x2904E30", Offset = "0x2903E30", VA = "0x182904E30", Slot = "15")]
|
||||
internal override void ProcessLength(long bitLength)
|
||||
{
|
||||
if (this.xOff > 14)
|
||||
{
|
||||
}
|
||||
this.X[7] = (int)bitLength;
|
||||
this.X[7] = (int)bitLength;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEE3 RID: 48867 RVA: 0x002ACF78 File Offset: 0x002AB178
|
||||
[Token(Token = "0x600BEE3")]
|
||||
[Address(RVA = "0x28FF140", Offset = "0x28FE140", VA = "0x1828FF140")]
|
||||
private void UnpackWord(int word, byte[] outBytes, int outOff)
|
||||
{
|
||||
int num = outOff + 1;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEE4 RID: 48868 RVA: 0x002ACF90 File Offset: 0x002AB190
|
||||
[Token(Token = "0x600BEE4")]
|
||||
[Address(RVA = "0x2902780", Offset = "0x2901780", VA = "0x182902780", Slot = "19")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
base.Finish();
|
||||
int h = this.H0;
|
||||
this.UnpackWord(h, output, outOff);
|
||||
int num = this.H1;
|
||||
output[0] = (byte)num;
|
||||
output[0] = (byte)num;
|
||||
int h2 = this.H2;
|
||||
num = h2;
|
||||
output[0] = (byte)num;
|
||||
num = h2;
|
||||
output[0] = (byte)num;
|
||||
int h3 = this.H3;
|
||||
num = h3;
|
||||
output[0] = (byte)num;
|
||||
num = h3;
|
||||
output[0] = (byte)num;
|
||||
int h4 = this.H4;
|
||||
num = h4;
|
||||
output[0] = (byte)num;
|
||||
num = h4;
|
||||
output[0] = (byte)num;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600BEE5 RID: 48869 RVA: 0x002AD028 File Offset: 0x002AB228
|
||||
[Token(Token = "0x600BEE5")]
|
||||
[Address(RVA = "0x2905070", Offset = "0x2904070", VA = "0x182905070", Slot = "13")]
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
int[] x = this.X;
|
||||
int num = 0;
|
||||
this.H0 = (int)((ulong)1732584193L);
|
||||
this.H1 = (int)((ulong)4023233417L);
|
||||
this.H2 = (int)((ulong)2562383102L);
|
||||
this.H3 = (int)((ulong)271733878L);
|
||||
this.H4 = (int)((ulong)3285377520L);
|
||||
this.xOff = num;
|
||||
if (num != x.Length)
|
||||
{
|
||||
num++;
|
||||
x[0] = num;
|
||||
int[] x2 = this.X;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BEE6 RID: 48870 RVA: 0x002AD0B8 File Offset: 0x002AB2B8
|
||||
[Token(Token = "0x600BEE6")]
|
||||
[Address(RVA = "0x272B5B0", Offset = "0x272A5B0", VA = "0x18272B5B0")]
|
||||
private int RL(int x, int n)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEE7 RID: 48871 RVA: 0x002AD0C8 File Offset: 0x002AB2C8
|
||||
[Token(Token = "0x600BEE7")]
|
||||
[Address(RVA = "0xE4D010", Offset = "0xE4C010", VA = "0x180E4D010")]
|
||||
private int F1(int x, int y, int z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEE8 RID: 48872 RVA: 0x002AD0D8 File Offset: 0x002AB2D8
|
||||
[Token(Token = "0x600BEE8")]
|
||||
[Address(RVA = "0xE4CF50", Offset = "0xE4BF50", VA = "0x180E4CF50")]
|
||||
private int F2(int x, int y, int z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEE9 RID: 48873 RVA: 0x002AD0E8 File Offset: 0x002AB2E8
|
||||
[Token(Token = "0x600BEE9")]
|
||||
[Address(RVA = "0x2900E90", Offset = "0x28FFE90", VA = "0x182900E90")]
|
||||
private int F3(int x, int y, int z)
|
||||
{
|
||||
return y;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEEA RID: 48874 RVA: 0x002AD0F8 File Offset: 0x002AB2F8
|
||||
[Token(Token = "0x600BEEA")]
|
||||
[Address(RVA = "0x2900F20", Offset = "0x28FFF20", VA = "0x182900F20")]
|
||||
private int F4(int x, int y, int z)
|
||||
{
|
||||
return z;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEEB RID: 48875 RVA: 0x002AD108 File Offset: 0x002AB308
|
||||
[Token(Token = "0x600BEEB")]
|
||||
[Address(RVA = "0x2902A60", Offset = "0x2901A60", VA = "0x182902A60")]
|
||||
private int F5(int x, int y, int z)
|
||||
{
|
||||
return z;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEEC RID: 48876 RVA: 0x002AD118 File Offset: 0x002AB318
|
||||
[Token(Token = "0x600BEEC")]
|
||||
[Address(RVA = "0x2902A70", Offset = "0x2901A70", VA = "0x182902A70", Slot = "16")]
|
||||
internal override void ProcessBlock()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BEEC)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.RipeMD160Digest::ProcessBlock()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32[](var_0_06, ldfld:int32[](RipeMD160Digest::X, ldloc:RipeMD160Digest(this)))
|
||||
stloc:int32(var_1_0D, ldfld:int32(RipeMD160Digest::H0, ldloc:RipeMD160Digest(this)))
|
||||
stloc:int32(var_2_14, ldfld:int32(RipeMD160Digest::H1, ldloc:RipeMD160Digest(this)))
|
||||
stloc:int32(var_3_1B, ldfld:int32(RipeMD160Digest::H2, ldloc:RipeMD160Digest(this)))
|
||||
stloc:int32(var_4_22, ldfld:int32(RipeMD160Digest::H4, ldloc:RipeMD160Digest(this)))
|
||||
stloc:int32(var_5_2A, ldfld:int32(RipeMD160Digest::H3, ldloc:RipeMD160Digest(this)))
|
||||
stloc:int32(var_6_32, callgetter:int32(Array::get_Length, ldloc:int32[][exp:Array](var_0_06)))
|
||||
stloc:int32(var_5_38, add:int32(ldloc:int32(var_5_2A), ldloc:int32(var_1_0D)))
|
||||
stloc:int32(var_1_3C, ldloc:int32(var_5_38))
|
||||
stloc:int32(var_1_44, add:int32(ldloc:int32(var_1_3C), ldloc:int32(var_4_22)))
|
||||
stloc:int32(var_5_46, ldloc:int32(var_2_14))
|
||||
stloc:int32(var_5_4D, add:int32(ldloc:int32(var_5_46), ldloc:int32(var_4_22)))
|
||||
stloc:int32(var_4_51, ldloc:int32(var_5_4D))
|
||||
stloc:int32(var_5_54, ldloc:int32(var_2_14))
|
||||
stloc:int32(var_4_5B, add:int32(ldloc:int32(var_4_51), ldloc:int32(var_5_54)))
|
||||
stloc:int32(var_5_5F, ldloc:int32(var_4_5B))
|
||||
stloc:int32(var_5_66, add:int32(ldloc:int32(var_5_5F), ldloc:int32(var_5_5F)))
|
||||
stloc:int32(var_5_6C, add:int32(ldloc:int32(var_5_66), ldloc:int32(var_3_1B)))
|
||||
stloc:int32(var_5_70, ldloc:int32(var_4_5B))
|
||||
stloc:int32(var_5_76, add:int32(ldloc:int32(var_5_70), ldloc:int32(var_3_1B)))
|
||||
stloc:int32(var_1_7A, ldloc:int32(var_5_76))
|
||||
stloc:int32(var_1_7E, add:int32(ldloc:int32(var_1_7A), ldloc:int32(var_2_14)))
|
||||
stloc:int32(var_5_81, ldloc:int32(var_4_5B))
|
||||
stloc:int32(var_5_87, add:int32(ldloc:int32(var_5_81), ldloc:int32(var_2_14)))
|
||||
stloc:int32(var_4_8B, ldloc:int32(var_5_87))
|
||||
stloc:int32(var_4_91, add:int32(ldloc:int32(var_4_8B), ldloc:int32(var_1_7E)))
|
||||
stloc:int32(var_5_97, add:int32(ldloc:int32(var_5_87), ldloc:int32(var_1_7E)))
|
||||
stloc:int32(var_5_9E, add:int32(ldloc:int32(var_5_97), ldloc:int32(var_4_91)))
|
||||
stloc:int32(var_5_A1, ldloc:int32(var_1_7E))
|
||||
stloc:int32(var_5_A8, add:int32(ldloc:int32(var_5_A1), ldloc:int32(var_4_91)))
|
||||
stloc:int32(var_1_AC, ldloc:int32(var_5_A8))
|
||||
stloc:int32(var_1_B1, add:int32(ldloc:int32(var_1_AC), ldloc:int32(var_5_A8)))
|
||||
stloc:int32(var_5_B3, ldloc:int32(var_1_B1))
|
||||
stloc:int32(var_5_BA, add:int32(ldloc:int32(var_5_B3), ldloc:int32(var_5_B3)))
|
||||
stloc:int32(var_4_BE, ldloc:int32(var_5_BA))
|
||||
stloc:int32(var_4_C4, add:int32(ldloc:int32(var_4_BE), ldloc:int32(var_1_B1)))
|
||||
stloc:int32(var_5_C7, ldloc:int32(var_1_B1))
|
||||
stloc:int32(var_5_CD, add:int32(ldloc:int32(var_5_C7), ldloc:int32(var_1_B1)))
|
||||
stloc:int32(var_5_D4, add:int32(ldloc:int32(var_5_CD), ldloc:int32(var_4_C4)))
|
||||
stloc:int32(var_5_D7, ldloc:int32(var_1_B1))
|
||||
stloc:int32(var_5_DE, add:int32(ldloc:int32(var_5_D7), ldloc:int32(var_4_C4)))
|
||||
stloc:int32(var_1_E2, ldloc:int32(var_5_DE))
|
||||
stloc:int32(var_1_E7, add:int32(ldloc:int32(var_1_E2), ldloc:int32(var_5_DE)))
|
||||
stloc:int32(var_5_EA, ldloc:int32(var_4_C4))
|
||||
stloc:int32(var_5_F1, add:int32(ldloc:int32(var_5_EA), ldloc:int32(var_5_EA)))
|
||||
stloc:int32(var_4_F5, ldloc:int32(var_5_F1))
|
||||
stloc:int32(var_4_FB, add:int32(ldloc:int32(var_4_F5), ldloc:int32(var_1_E7)))
|
||||
stloc:int32(var_5_101, add:int32(ldloc:int32(var_5_F1), ldloc:int32(var_1_E7)))
|
||||
stloc:int32(var_5_108, add:int32(ldloc:int32(var_5_101), ldloc:int32(var_4_FB)))
|
||||
stloc:int32(var_5_10F, add:int32(ldloc:int32(var_5_108), ldloc:int32(var_4_FB)))
|
||||
stloc:int32(var_1_113, ldloc:int32(var_5_10F))
|
||||
stloc:int32(var_1_118, add:int32(ldloc:int32(var_1_113), ldloc:int32(var_5_10F)))
|
||||
stloc:int32(var_5_11E, add:int32(ldloc:int32(var_5_10F), ldloc:int32(var_5_10F)))
|
||||
stloc:int32(var_4_122, ldloc:int32(var_5_11E))
|
||||
stloc:int32(var_4_128, add:int32(ldloc:int32(var_4_122), ldloc:int32(var_1_118)))
|
||||
stloc:int32(var_7_131, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_0_06), ldc.i4:int32(7)))
|
||||
stloc:int32(var_5_138, add:int32(ldloc:int32(var_5_11E), ldloc:int32(var_7_131)))
|
||||
stloc:int32(var_5_13E, add:int32(ldloc:int32(var_5_138), ldloc:int32(var_1_118)))
|
||||
stloc:int32(var_5_141, ldloc:int32(var_1_118))
|
||||
stloc:int32(var_5_148, add:int32(ldloc:int32(var_5_141), ldloc:int32(var_4_128)))
|
||||
stloc:int32(var_5_14F, add:int32(ldloc:int32(var_5_148), ldloc:int32(var_4_128)))
|
||||
stloc:int32(var_6_153, ldloc:int32(var_5_14F))
|
||||
stloc:int32(var_5_157, ldloc:int32(var_4_128))
|
||||
stloc:int32(var_6_15E, add:int32(ldloc:int32(var_6_153), ldloc:int32(var_5_157)))
|
||||
stloc:int32(var_1_167, add:int32(ldloc:int32(var_1_118), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_16C, add:int32(ldloc:int32(var_5_157), ldloc:int32(var_1_167)))
|
||||
stloc:int32(var_4_170, ldloc:int32(var_5_16C))
|
||||
stloc:int32(var_4_177, add:int32(ldloc:int32(var_4_170), ldloc:int32(var_4_170)))
|
||||
stloc:int32(var_4_181, add:int32(ldloc:int32(var_4_177), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_184, ldloc:int32(var_3_1B))
|
||||
stloc:int32(var_5_18B, add:int32(ldloc:int32(var_5_184), ldloc:int32(var_7_131)))
|
||||
stloc:int32(var_7_18F, ldloc:int32(var_4_181))
|
||||
stloc:int32(var_5_196, add:int32(ldloc:int32(var_5_18B), ldloc:int32(var_4_181)))
|
||||
stloc:int32(var_4_19A, ldloc:int32(var_5_196))
|
||||
stloc:int32(var_5_19D, ldloc:int32(var_2_14))
|
||||
stloc:int32(var_4_1A4, add:int32(ldloc:int32(var_4_19A), ldloc:int32(var_5_19D)))
|
||||
stloc:int32(var_5_1B1, add:int32(ldloc:int32(var_5_19D), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_1B8, add:int32(ldloc:int32(var_5_1B1), ldloc:int32(var_5_1B1)))
|
||||
stloc:int32(var_1_1BC, ldloc:int32(var_5_1B8))
|
||||
stloc:int32(var_5_1BF, ldloc:int32(var_7_18F))
|
||||
stloc:int32(var_1_1C4, add:int32(ldloc:int32(var_1_1BC), ldloc:int32(var_3_1B)))
|
||||
stloc:int32(var_5_1D0, add:int32(ldloc:int32(var_5_1BF), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_1D6, add:int32(ldloc:int32(var_5_1D0), ldloc:int32(var_3_1B)))
|
||||
stloc:int32(var_4_1DA, ldloc:int32(var_5_1D6))
|
||||
stloc:int32(var_5_1DD, ldloc:int32(var_1_1C4))
|
||||
stloc:int32(var_4_1E3, add:int32(ldloc:int32(var_4_1DA), ldloc:int32(var_2_14)))
|
||||
stloc:int32(var_5_1ED, add:int32(ldloc:int32(var_5_1DD), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_1F3, add:int32(ldloc:int32(var_5_1ED), ldloc:int32(var_2_14)))
|
||||
stloc:int32(var_4_1F7, ldloc:int32(var_5_1F3))
|
||||
stloc:int32(var_5_1FB, ldloc:int32(var_4_1F7))
|
||||
stloc:int32(var_4_202, add:int32(ldloc:int32(var_4_1F7), ldloc:int32(var_7_18F)))
|
||||
stloc:int32(var_7_20C, add:int32(ldloc:int32(var_7_18F), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_213, add:int32(ldloc:int32(var_5_1FB), ldloc:int32(var_7_20C)))
|
||||
stloc:int32(var_7_217, ldloc:int32(var_4_202))
|
||||
stloc:int32(var_1_21B, ldloc:int32(var_5_213))
|
||||
stloc:int32(var_1_21F, add:int32(ldloc:int32(var_1_21B), ldloc:int32(var_1_21B)))
|
||||
stloc:int32(var_5_226, ldloc:int32(var_4_202))
|
||||
stloc:int32(var_1_22F, add:int32(ldloc:int32(var_1_21F), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_234, add:int32(ldloc:int32(var_5_226), ldloc:int32(var_1_22F)))
|
||||
stloc:int32(var_4_238, ldloc:int32(var_5_234))
|
||||
stloc:int32(var_4_23F, add:int32(ldloc:int32(var_4_238), ldloc:int32(var_4_238)))
|
||||
stloc:int32(var_5_249, add:int32(ldloc:int32(var_5_234), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_250, add:int32(ldloc:int32(var_5_249), ldloc:int32(var_4_23F)))
|
||||
stloc:int32(var_4_254, ldloc:int32(var_5_250))
|
||||
stloc:int32(var_5_257, ldloc:int32(var_1_22F))
|
||||
stloc:int32(var_4_25E, add:int32(ldloc:int32(var_4_254), ldloc:int32(var_7_217)))
|
||||
stloc:int32(var_7_268, add:int32(ldloc:int32(var_7_217), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_26F, add:int32(ldloc:int32(var_5_257), ldloc:int32(var_7_268)))
|
||||
stloc:int32(var_7_273, ldloc:int32(var_4_25E))
|
||||
stloc:int32(var_1_277, ldloc:int32(var_5_26F))
|
||||
stloc:int32(var_1_27C, add:int32(ldloc:int32(var_1_277), ldloc:int32(var_5_26F)))
|
||||
stloc:int32(var_5_27F, ldloc:int32(var_7_273))
|
||||
stloc:int32(var_5_289, add:int32(ldloc:int32(var_5_27F), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_290, add:int32(ldloc:int32(var_5_289), ldloc:int32(var_5_289)))
|
||||
stloc:int32(var_4_294, ldloc:int32(var_5_290))
|
||||
stloc:int32(var_5_298, ldloc:int32(var_4_294))
|
||||
stloc:int32(var_4_29E, add:int32(ldloc:int32(var_4_294), ldloc:int32(var_1_27C)))
|
||||
stloc:int32(var_1_2A7, add:int32(ldloc:int32(var_1_27C), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_2AC, add:int32(ldloc:int32(var_5_298), ldloc:int32(var_1_2A7)))
|
||||
stloc:int32(var_4_2B0, ldloc:int32(var_5_2AC))
|
||||
stloc:int32(var_4_2B7, add:int32(ldloc:int32(var_4_2B0), ldloc:int32(var_7_273)))
|
||||
stloc:int32(var_5_2BA, ldloc:int32(var_1_2A7))
|
||||
stloc:int32(var_7_2C4, add:int32(ldloc:int32(var_7_273), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_2CB, add:int32(ldloc:int32(var_5_2BA), ldloc:int32(var_7_2C4)))
|
||||
stloc:int32(var_5_2CF, ldloc:int32(var_4_2B7))
|
||||
stloc:int32(var_1_2D3, ldloc:int32(var_5_2CF))
|
||||
stloc:int32(var_7_2D6, ldloc:int32(var_4_2B7))
|
||||
stloc:int32(var_1_2DC, add:int32(ldloc:int32(var_1_2D3), ldloc:int32(var_4_2B7)))
|
||||
stloc:int32(var_5_2DE, ldloc:int32(var_1_2DC))
|
||||
stloc:int32(var_5_2E8, add:int32(ldloc:int32(var_5_2DE), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_2EF, add:int32(ldloc:int32(var_5_2E8), ldloc:int32(var_4_2B7)))
|
||||
stloc:int32(var_4_2F3, ldloc:int32(var_5_2EF))
|
||||
stloc:int32(var_5_2F7, ldloc:int32(var_7_2D6))
|
||||
stloc:int32(var_4_2FD, add:int32(ldloc:int32(var_4_2F3), ldloc:int32(var_1_2DC)))
|
||||
stloc:int32(var_5_307, add:int32(ldloc:int32(var_5_2F7), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_30D, add:int32(ldloc:int32(var_5_307), ldloc:int32(var_1_2DC)))
|
||||
stloc:int32(var_4_311, ldloc:int32(var_5_30D))
|
||||
stloc:int32(var_4_318, add:int32(ldloc:int32(var_4_311), ldloc:int32(var_5_30D)))
|
||||
stloc:int32(var_5_322, add:int32(ldloc:int32(var_5_30D), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_329, add:int32(ldloc:int32(var_5_322), ldloc:int32(var_5_322)))
|
||||
stloc:int32(var_2_32D, ldloc:int32(var_5_329))
|
||||
stloc:int32(var_5_330, ldloc:int32(var_4_318))
|
||||
stloc:int32(var_2_336, add:int32(ldloc:int32(var_2_32D), ldloc:int32(var_7_2D6)))
|
||||
stloc:int32(var_7_33F, add:int32(ldloc:int32(var_7_2D6), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_346, add:int32(ldloc:int32(var_5_330), ldloc:int32(var_7_33F)))
|
||||
stloc:int32(var_3_34A, ldloc:int32(var_5_346))
|
||||
stloc:int32(var_5_34D, ldloc:int32(var_4_318))
|
||||
stloc:int32(var_3_353, add:int32(ldloc:int32(var_3_34A), ldloc:int32(var_5_34D)))
|
||||
stloc:int32(var_4_35A, ldloc:int32(var_6_15E))
|
||||
stloc:int32(var_5_367, add:int32(ldloc:int32(var_5_34D), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_5_36E, add:int32(ldloc:int32(var_5_367), ldloc:int32(var_4_35A)))
|
||||
stloc:int32(var_1_372, ldloc:int32(var_5_36E))
|
||||
stloc:int32(var_1_377, add:int32(ldloc:int32(var_1_372), ldloc:int32(var_5_36E)))
|
||||
stloc:int32(var_4_379, ldloc:int32(var_1_377))
|
||||
stloc:int32(var_5_37C, ldloc:int32(var_1_377))
|
||||
stloc:int32(var_5_383, add:int32(ldloc:int32(var_5_37C), ldloc:int32(var_4_379)))
|
||||
stloc:int32(var_3_386, ldloc:int32(var_1_377))
|
||||
stloc:int32(var_5_388, ldloc:int32(var_1_377))
|
||||
stloc:int32(var_5_38F, add:int32(ldloc:int32(var_5_388), ldloc:int32(var_5_388)))
|
||||
stloc:int32(var_4_393, ldloc:int32(var_5_38F))
|
||||
stloc:int32(var_5_39A, add:int32(ldloc:int32(var_5_38F), ldloc:int32(var_4_393)))
|
||||
stloc:int32(var_6_39E, ldloc:int32(var_5_39A))
|
||||
stloc:int32(var_6_3A4, add:int32(ldloc:int32(var_6_39E), ldloc:int32(var_1_377)))
|
||||
stloc:int32(var_4_3A8, ldloc:int32(var_6_3A4))
|
||||
stloc:int32(var_5_3AF, add:int32(ldloc:int32(var_5_39A), ldloc:int32(var_4_3A8)))
|
||||
stloc:int32(var_1_3B3, ldloc:int32(var_5_3AF))
|
||||
stloc:int32(var_5_3B6, ldloc:int32(var_6_3A4))
|
||||
stloc:int32(var_1_3BC, add:int32(ldloc:int32(var_1_3B3), ldloc:int32(var_4_3A8)))
|
||||
stloc:int32(var_4_3BE, ldloc:int32(var_1_3BC))
|
||||
stloc:int32(var_5_3C5, add:int32(ldloc:int32(var_5_3B6), ldloc:int32(var_4_3BE)))
|
||||
stloc:int32(var_1_3C9, ldloc:int32(var_5_3C5))
|
||||
stloc:int32(var_1_3D1, add:int32(ldloc:int32(var_1_3C9), ldloc:int32(var_3_386)))
|
||||
stloc:int32(var_5_3D6, ldloc:int32(var_1_3D1))
|
||||
stloc:int32(var_5_3E3, add:int32(ldloc:int32(var_5_3D6), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_5_3E9, add:int32(ldloc:int32(var_5_3E3), ldloc:int32(var_3_386)))
|
||||
stloc:int32(var_5_3F0, add:int32(ldloc:int32(var_5_3E9), ldloc:int32(var_5_3E9)))
|
||||
stloc:int32(var_4_3F4, ldloc:int32(var_5_3F0))
|
||||
stloc:int32(var_5_3F7, ldloc:int32(var_1_3D1))
|
||||
stloc:int32(var_5_3FE, add:int32(ldloc:int32(var_5_3F7), ldloc:int32(var_4_3F4)))
|
||||
stloc:int32(var_6_402, ldloc:int32(var_5_3FE))
|
||||
stloc:int32(var_6_409, add:int32(ldloc:int32(var_6_402), ldloc:int32(var_5_3FE)))
|
||||
stloc:int32(var_4_40D, ldloc:int32(var_6_409))
|
||||
stloc:int32(var_3_411, ldloc:int32(var_6_409))
|
||||
stloc:int32(var_5_417, add:int32(ldloc:int32(var_5_3FE), ldloc:int32(var_4_40D)))
|
||||
stloc:int32(var_1_41B, ldloc:int32(var_5_417))
|
||||
stloc:int32(var_5_41E, ldloc:int32(var_6_409))
|
||||
stloc:int32(var_1_424, add:int32(ldloc:int32(var_1_41B), ldloc:int32(var_4_40D)))
|
||||
stloc:int32(var_4_426, ldloc:int32(var_1_424))
|
||||
stloc:int32(var_5_430, add:int32(ldloc:int32(var_5_41E), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_5_437, add:int32(ldloc:int32(var_5_430), ldloc:int32(var_4_426)))
|
||||
stloc:int32(var_1_43B, ldloc:int32(var_5_437))
|
||||
stloc:int32(var_1_440, add:int32(ldloc:int32(var_1_43B), ldloc:int32(var_5_437)))
|
||||
stloc:int32(var_5_445, ldloc:int32(var_1_440))
|
||||
stloc:int32(var_2_448, ldloc:int32(var_1_440))
|
||||
stloc:int32(var_5_451, add:int32(ldloc:int32(var_5_445), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_5_458, add:int32(ldloc:int32(var_5_451), ldloc:int32(var_5_451)))
|
||||
stloc:int32(var_5_45E, ldloc:int32(var_1_440))
|
||||
stloc:int32(var_5_465, add:int32(ldloc:int32(var_5_45E), ldloc:int32(var_5_45E)))
|
||||
stloc:int32(var_5_473, add:int32(ldloc:int32(var_5_465), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_5_47A, add:int32(ldloc:int32(var_5_473), ldloc:int32(var_5_473)))
|
||||
stloc:int32(var_6_47E, ldloc:int32(var_5_47A))
|
||||
stloc:int32(var_6_484, add:int32(ldloc:int32(var_6_47E), ldloc:int32(var_3_411)))
|
||||
stloc:int32(var_5_48C, ldloc:int32(var_6_484))
|
||||
stloc:int32(var_5_496, add:int32(ldloc:int32(var_5_48C), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_5_49A, ldloc:int32(var_6_484))
|
||||
stloc:int32(var_5_4A0, add:int32(ldloc:int32(var_5_49A), ldloc:int32(var_3_411)))
|
||||
stloc:int32(var_1_4A4, ldloc:int32(var_5_4A0))
|
||||
stloc:int32(var_5_4A7, ldloc:int32(var_6_484))
|
||||
stloc:int32(var_1_4AC, add:int32(ldloc:int32(var_1_4A4), ldloc:int32(var_2_448)))
|
||||
stloc:int32(var_4_4AE, ldloc:int32(var_1_4AC))
|
||||
stloc:int32(var_5_4B8, add:int32(ldloc:int32(var_5_4A7), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_5_4BE, add:int32(ldloc:int32(var_5_4B8), ldloc:int32(var_2_448)))
|
||||
stloc:int32(var_1_4C2, ldloc:int32(var_5_4BE))
|
||||
stloc:int32(var_5_4C4, ldloc:int32(var_1_4C2))
|
||||
stloc:int32(var_1_4CA, add:int32(ldloc:int32(var_1_4C2), ldloc:int32(var_4_4AE)))
|
||||
stloc:int32(var_4_4CC, ldloc:int32(var_1_4CA))
|
||||
stloc:int32(var_5_4D3, add:int32(ldloc:int32(var_5_4C4), ldloc:int32(var_4_4CC)))
|
||||
stloc:int32(var_5_4DD, add:int32(ldloc:int32(var_5_4D3), ldloc:int32(var_5_4D3)))
|
||||
stloc:int32(var_5_4E0, ldloc:int32(var_1_4CA))
|
||||
stloc:int32(var_5_4EE, add:int32(ldloc:int32(var_5_4E0), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_5_4F5, add:int32(ldloc:int32(var_5_4EE), ldloc:int32(var_5_4EE)))
|
||||
stloc:int32(var_6_4F9, ldloc:int32(var_5_4F5))
|
||||
stloc:int32(var_5_4FC, ldloc:int32(var_1_4CA))
|
||||
stloc:int32(var_6_503, add:int32(ldloc:int32(var_6_4F9), ldloc:int32(var_5_4FC)))
|
||||
stloc:int32(var_3_507, ldloc:int32(var_6_503))
|
||||
stloc:int32(var_5_513, add:int32(ldloc:int32(var_5_4FC), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_5_51A, add:int32(ldloc:int32(var_5_513), ldloc:int32(var_5_513)))
|
||||
stloc:int32(var_4_51E, ldloc:int32(var_5_51A))
|
||||
stloc:int32(var_4_525, add:int32(ldloc:int32(var_4_51E), ldloc:int32(var_4_51E)))
|
||||
stloc:int32(var_5_52C, ldloc:int32(var_2_448))
|
||||
stloc:int32(var_5_536, add:int32(ldloc:int32(var_5_52C), ldc.i4:int32(1548603684)))
|
||||
stloc:int32(var_4_53A, ldloc:int32(var_5_536))
|
||||
stloc:int32(var_5_541, add:int32(ldloc:int32(var_5_536), ldloc:int32(var_5_536)))
|
||||
stloc:int32(var_1_545, ldloc:int32(var_5_541))
|
||||
stloc:int32(var_1_54A, add:int32(ldloc:int32(var_1_545), ldloc:int32(var_5_541)))
|
||||
stloc:int32(var_5_54C, ldloc:int32(var_1_54A))
|
||||
stloc:int32(var_5_553, add:int32(ldloc:int32(var_5_54C), ldloc:int32(var_4_53A)))
|
||||
stloc:int32(var_5_556, ldloc:int32(var_1_54A))
|
||||
stloc:int32(var_5_55D, add:int32(ldloc:int32(var_5_556), ldloc:int32(var_5_556)))
|
||||
stloc:int32(var_5_564, ldloc:int32(var_3_507))
|
||||
stloc:int32(var_4_568, ldloc:int32(var_5_564))
|
||||
stloc:int32(var_5_56F, add:int32(ldloc:int32(var_5_564), ldloc:int32(var_4_568)))
|
||||
stloc:int32(var_4_573, ldloc:int32(var_5_56F))
|
||||
stloc:int32(var_5_57A, add:int32(ldloc:int32(var_5_56F), ldloc:int32(var_5_56F)))
|
||||
stloc:int32(var_5_581, add:int32(ldloc:int32(var_5_57A), ldloc:int32(var_4_573)))
|
||||
stloc:int32(var_5_585, ldloc:int32(var_4_573))
|
||||
stloc:int32(var_5_58C, add:int32(ldloc:int32(var_5_585), ldloc:int32(var_5_585)))
|
||||
stloc:int32(var_5_593, add:int32(ldloc:int32(var_5_58C), ldloc:int32(var_4_573)))
|
||||
stloc:int32(var_1_597, ldloc:int32(var_5_593))
|
||||
stloc:int32(var_1_59C, add:int32(ldloc:int32(var_1_597), ldloc:int32(var_5_593)))
|
||||
stloc:int32(var_5_5A9, add:int32(ldloc:int32(var_5_593), ldc.i4:int32(1548603684)))
|
||||
stloc:int32(var_4_5AD, ldloc:int32(var_5_5A9))
|
||||
stloc:int32(var_5_5B4, add:int32(ldloc:int32(var_5_5A9), ldloc:int32(var_5_5A9)))
|
||||
stloc:int32(var_5_5BB, add:int32(ldloc:int32(var_5_5B4), ldloc:int32(var_4_5AD)))
|
||||
stloc:int32(var_4_5BE, ldloc:int32(var_1_59C))
|
||||
stloc:int32(var_5_5C5, add:int32(ldloc:int32(var_5_5BB), ldloc:int32(var_4_5BE)))
|
||||
stloc:int32(var_5_5CC, add:int32(ldloc:int32(var_5_5C5), ldloc:int32(var_5_5C5)))
|
||||
stloc:int32(var_5_5D3, add:int32(ldloc:int32(var_5_5CC), ldloc:int32(var_4_5BE)))
|
||||
stloc:int32(var_1_5D7, ldloc:int32(var_5_5D3))
|
||||
stloc:int32(var_4_5DA, ldloc:int32(var_5_5D3))
|
||||
stloc:int32(var_1_5E0, add:int32(ldloc:int32(var_1_5D7), ldloc:int32(var_5_5D3)))
|
||||
stloc:int32(var_5_5E6, add:int32(ldloc:int32(var_5_5D3), ldloc:int32(var_4_5DA)))
|
||||
stloc:int32(var_4_5EA, ldloc:int32(var_5_5E6))
|
||||
stloc:int32(var_5_5F1, add:int32(ldloc:int32(var_5_5E6), ldloc:int32(var_4_5EA)))
|
||||
stloc:int32(var_4_5F4, ldloc:int32(var_1_5E0))
|
||||
stloc:int32(var_5_5FB, add:int32(ldloc:int32(var_5_5F1), ldloc:int32(var_4_5F4)))
|
||||
stloc:int32(var_5_602, add:int32(ldloc:int32(var_5_5FB), ldloc:int32(var_5_5FB)))
|
||||
stloc:int32(var_5_606, ldloc:int32(var_4_5F4))
|
||||
stloc:int32(var_5_60D, add:int32(ldloc:int32(var_5_606), ldloc:int32(var_4_5F4)))
|
||||
stloc:int32(var_1_611, ldloc:int32(var_5_60D))
|
||||
stloc:int32(var_1_616, add:int32(ldloc:int32(var_1_611), ldloc:int32(var_5_60D)))
|
||||
stloc:int32(var_5_618, ldloc:int32(var_1_616))
|
||||
stloc:int32(var_4_61C, ldloc:int32(var_5_618))
|
||||
stloc:int32(var_5_623, add:int32(ldloc:int32(var_5_618), ldloc:int32(var_4_61C)))
|
||||
stloc:int32(var_4_627, ldloc:int32(var_5_623))
|
||||
stloc:int32(var_5_62E, add:int32(ldloc:int32(var_5_623), ldloc:int32(var_4_627)))
|
||||
stloc:int32(var_4_631, ldloc:int32(var_1_616))
|
||||
stloc:int32(var_5_638, add:int32(ldloc:int32(var_5_62E), ldloc:int32(var_4_631)))
|
||||
stloc:int32(var_5_63F, add:int32(ldloc:int32(var_5_638), ldloc:int32(var_5_638)))
|
||||
stloc:int32(var_5_643, ldloc:int32(var_4_631))
|
||||
stloc:int32(var_3_647, ldloc:int32(var_5_643))
|
||||
stloc:int32(var_5_64D, add:int32(ldloc:int32(var_5_643), ldloc:int32(var_4_631)))
|
||||
stloc:int32(var_1_651, ldloc:int32(var_5_64D))
|
||||
stloc:int32(var_4_654, ldloc:int32(var_5_64D))
|
||||
stloc:int32(var_1_65A, add:int32(ldloc:int32(var_1_651), ldloc:int32(var_5_64D)))
|
||||
stloc:int32(var_5_663, add:int32(ldloc:int32(var_5_64D), ldc.i4:int32(1548603684)))
|
||||
stloc:int32(var_5_66A, add:int32(ldloc:int32(var_5_663), ldloc:int32(var_5_663)))
|
||||
stloc:int32(var_5_671, add:int32(ldloc:int32(var_5_66A), ldloc:int32(var_4_654)))
|
||||
stloc:int32(var_4_674, ldloc:int32(var_3_647))
|
||||
stloc:int32(var_5_67D, ldloc:int32(var_3_647))
|
||||
stloc:int32(var_5_684, add:int32(ldloc:int32(var_5_67D), ldloc:int32(var_4_674)))
|
||||
stloc:int32(var_2_688, ldloc:int32(var_5_684))
|
||||
stloc:int32(var_4_691, add:int32(ldloc:int32(var_4_674), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_2_697, add:int32(ldloc:int32(var_2_688), ldloc:int32(var_5_684)))
|
||||
stloc:int32(var_4_69C, add:int32(ldloc:int32(var_4_691), ldloc:int32(var_3_647)))
|
||||
stloc:int32(var_5_6A0, ldloc:int32(var_6_503))
|
||||
stloc:int32(var_4_6A7, add:int32(ldloc:int32(var_4_69C), ldloc:int32(var_5_6A0)))
|
||||
stloc:int32(var_5_6B1, add:int32(ldloc:int32(var_5_6A0), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_6B5, ldloc:int32(var_4_6A7))
|
||||
stloc:int32(var_6_6BC, add:int32(ldloc:int32(var_6_6B5), ldloc:int32(var_5_6B1)))
|
||||
stloc:int32(var_5_6C0, ldloc:int32(var_6_6BC))
|
||||
stloc:int32(var_6_6C4, ldloc:int32(var_4_6A7))
|
||||
stloc:int32(var_5_6CB, add:int32(ldloc:int32(var_5_6C0), ldloc:int32(var_5_6C0)))
|
||||
stloc:int32(var_5_6D5, add:int32(ldloc:int32(var_5_6CB), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_6DC, add:int32(ldloc:int32(var_6_6C4), ldloc:int32(var_5_6D5)))
|
||||
stloc:int32(var_5_6E0, ldloc:int32(var_4_6A7))
|
||||
stloc:int32(var_4_6E4, ldloc:int32(var_6_6DC))
|
||||
stloc:int32(var_4_6EB, add:int32(ldloc:int32(var_4_6E4), ldloc:int32(var_5_6E0)))
|
||||
stloc:int32(var_5_6F5, add:int32(ldloc:int32(var_5_6E0), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_6F9, ldloc:int32(var_5_6F5))
|
||||
stloc:int32(var_6_700, add:int32(ldloc:int32(var_6_6F9), ldloc:int32(var_5_6F5)))
|
||||
stloc:int32(var_4_704, ldloc:int32(var_6_700))
|
||||
stloc:int32(var_4_70B, add:int32(ldloc:int32(var_4_704), ldloc:int32(var_5_6F5)))
|
||||
stloc:int32(var_6_70F, ldloc:int32(var_4_70B))
|
||||
stloc:int32(var_5_719, add:int32(ldloc:int32(var_5_6F5), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_720, add:int32(ldloc:int32(var_6_70F), ldloc:int32(var_5_719)))
|
||||
stloc:int32(var_5_728, ldloc:int32(var_6_720))
|
||||
stloc:int32(var_5_72F, add:int32(ldloc:int32(var_5_728), ldloc:int32(var_5_728)))
|
||||
stloc:int32(var_6_733, ldloc:int32(var_4_70B))
|
||||
stloc:int32(var_5_73D, add:int32(ldloc:int32(var_5_72F), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_744, add:int32(ldloc:int32(var_6_733), ldloc:int32(var_5_73D)))
|
||||
stloc:int32(var_5_748, ldloc:int32(var_4_70B))
|
||||
stloc:int32(var_4_74C, ldloc:int32(var_6_744))
|
||||
stloc:int32(var_4_753, add:int32(ldloc:int32(var_4_74C), ldloc:int32(var_5_748)))
|
||||
stloc:int32(var_6_757, ldloc:int32(var_5_748))
|
||||
stloc:int32(var_5_75B, ldloc:int32(var_4_753))
|
||||
stloc:int32(var_6_765, add:int32(ldloc:int32(var_6_757), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_76C, add:int32(ldloc:int32(var_6_765), ldloc:int32(var_5_75B)))
|
||||
stloc:int32(var_4_770, ldloc:int32(var_6_76C))
|
||||
stloc:int32(var_6_774, ldloc:int32(var_4_770))
|
||||
stloc:int32(var_4_77B, add:int32(ldloc:int32(var_4_770), ldloc:int32(var_5_75B)))
|
||||
stloc:int32(var_3_77F, ldloc:int32(var_4_77B))
|
||||
stloc:int32(var_6_788, add:int32(ldloc:int32(var_6_774), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_78F, add:int32(ldloc:int32(var_6_788), ldloc:int32(var_5_75B)))
|
||||
stloc:int32(var_5_793, ldloc:int32(var_6_78F))
|
||||
stloc:int32(var_6_797, ldloc:int32(var_4_77B))
|
||||
stloc:int32(var_5_79E, add:int32(ldloc:int32(var_5_793), ldloc:int32(var_5_793)))
|
||||
stloc:int32(var_6_7A8, add:int32(ldloc:int32(var_6_797), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_7AF, add:int32(ldloc:int32(var_6_7A8), ldloc:int32(var_5_79E)))
|
||||
stloc:int32(var_5_7B3, ldloc:int32(var_6_7AF))
|
||||
stloc:int32(var_5_7BA, add:int32(ldloc:int32(var_5_7B3), ldloc:int32(var_5_7B3)))
|
||||
stloc:int32(var_6_7BE, ldloc:int32(var_5_7BA))
|
||||
stloc:int32(var_5_7C8, add:int32(ldloc:int32(var_5_7BA), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_7CF, add:int32(ldloc:int32(var_6_7BE), ldloc:int32(var_5_7C8)))
|
||||
stloc:int32(var_5_7D3, ldloc:int32(var_6_7CF))
|
||||
stloc:int32(var_5_7DA, add:int32(ldloc:int32(var_5_7D3), ldloc:int32(var_5_7D3)))
|
||||
stloc:int32(var_6_7DE, ldloc:int32(var_5_7DA))
|
||||
stloc:int32(var_6_7E8, add:int32(ldloc:int32(var_6_7DE), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_7EF, add:int32(ldloc:int32(var_6_7E8), ldloc:int32(var_5_7DA)))
|
||||
stloc:int32(var_4_7F3, ldloc:int32(var_6_7EF))
|
||||
stloc:int32(var_6_7F7, ldloc:int32(var_5_7DA))
|
||||
stloc:int32(var_4_7FD, add:int32(ldloc:int32(var_4_7F3), ldloc:int32(var_3_77F)))
|
||||
stloc:int32(var_8_806, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_0_06), ldc.i4:int32(6)))
|
||||
stloc:int32(var_8_810, add:int32(ldloc:int32(var_8_806), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_81A, add:int32(ldloc:int32(var_6_7F7), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_820, add:int32(ldloc:int32(var_6_81A), ldloc:int32(var_3_77F)))
|
||||
stloc:int32(var_4_824, ldloc:int32(var_6_820))
|
||||
stloc:int32(var_6_828, ldloc:int32(var_4_824))
|
||||
stloc:int32(var_4_82F, add:int32(ldloc:int32(var_4_824), ldloc:int32(var_5_7DA)))
|
||||
stloc:int32(var_6_836, add:int32(ldloc:int32(var_6_828), ldloc:int32(var_8_810)))
|
||||
stloc:int32(var_8_83A, ldloc:int32(var_4_82F))
|
||||
stloc:int32(var_6_841, add:int32(ldloc:int32(var_6_836), ldloc:int32(var_5_7DA)))
|
||||
stloc:int32(var_5_845, ldloc:int32(var_6_841))
|
||||
stloc:int32(var_6_849, ldloc:int32(var_4_82F))
|
||||
stloc:int32(var_5_850, add:int32(ldloc:int32(var_5_845), ldloc:int32(var_5_845)))
|
||||
stloc:int32(var_5_85A, add:int32(ldloc:int32(var_5_850), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_861, add:int32(ldloc:int32(var_6_849), ldloc:int32(var_5_85A)))
|
||||
stloc:int32(var_5_865, ldloc:int32(var_4_82F))
|
||||
stloc:int32(var_4_869, ldloc:int32(var_6_861))
|
||||
stloc:int32(var_4_870, add:int32(ldloc:int32(var_4_869), ldloc:int32(var_5_865)))
|
||||
stloc:int32(var_9_879, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_0_06), ldc.i4:int32(6)))
|
||||
stloc:int32(var_6_87D, ldloc:int32(var_5_865))
|
||||
stloc:int32(var_4_881, ldloc:int32(var_5_865))
|
||||
stloc:int32(var_6_88B, add:int32(ldloc:int32(var_6_87D), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_892, add:int32(ldloc:int32(var_6_88B), ldloc:int32(var_5_865)))
|
||||
stloc:int32(var_3_896, ldloc:int32(var_6_892))
|
||||
stloc:int32(var_6_899, ldloc:int32(var_4_881))
|
||||
stloc:int32(var_3_89F, add:int32(ldloc:int32(var_3_896), ldloc:int32(var_8_83A)))
|
||||
stloc:int32(var_6_8A8, add:int32(ldloc:int32(var_6_899), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_8AF, add:int32(ldloc:int32(var_6_8A8), ldloc:int32(var_9_879)))
|
||||
stloc:int32(var_6_8B6, add:int32(ldloc:int32(var_6_8AF), ldloc:int32(var_8_83A)))
|
||||
stloc:int32(var_4_8BA, ldloc:int32(var_6_8B6))
|
||||
stloc:int32(var_4_8C5, add:int32(ldloc:int32(var_4_8BA), ldloc:int32(var_5_865)))
|
||||
stloc:int32(var_5_8C8, ldloc:int32(var_2_697))
|
||||
stloc:int32(var_5_8D2, add:int32(ldloc:int32(var_5_8C8), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_6_8D6, ldloc:int32(var_5_8D2))
|
||||
stloc:int32(var_6_8DD, add:int32(ldloc:int32(var_6_8D6), ldloc:int32(var_5_8D2)))
|
||||
stloc:int32(var_5_8E1, ldloc:int32(var_6_8DD))
|
||||
stloc:int32(var_6_8E4, ldloc:int32(var_2_697))
|
||||
stloc:int32(var_5_8EA, add:int32(ldloc:int32(var_5_8E1), ldloc:int32(var_3_89F)))
|
||||
stloc:int32(var_6_8F4, add:int32(ldloc:int32(var_6_8E4), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_6_8FA, add:int32(ldloc:int32(var_6_8F4), ldloc:int32(var_3_89F)))
|
||||
stloc:int32(var_5_8FE, ldloc:int32(var_6_8FA))
|
||||
stloc:int32(var_6_902, ldloc:int32(var_5_8FE))
|
||||
stloc:int32(var_5_908, add:int32(ldloc:int32(var_5_8FE), ldloc:int32(var_2_697)))
|
||||
stloc:int32(var_6_912, add:int32(ldloc:int32(var_6_902), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_6_918, add:int32(ldloc:int32(var_6_912), ldloc:int32(var_2_697)))
|
||||
stloc:int32(var_4_91C, ldloc:int32(var_6_918))
|
||||
stloc:int32(var_8_920, ldloc:int32(var_5_908))
|
||||
stloc:int32(var_4_927, add:int32(ldloc:int32(var_4_91C), ldloc:int32(var_5_908)))
|
||||
stloc:int32(var_6_92B, ldloc:int32(var_5_908))
|
||||
stloc:int32(var_5_935, add:int32(ldloc:int32(var_5_908), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_6_93C, add:int32(ldloc:int32(var_6_92B), ldloc:int32(var_5_935)))
|
||||
stloc:int32(var_5_940, ldloc:int32(var_6_93C))
|
||||
stloc:int32(var_5_947, add:int32(ldloc:int32(var_5_940), ldloc:int32(var_5_940)))
|
||||
stloc:int32(var_6_94B, ldloc:int32(var_4_927))
|
||||
stloc:int32(var_5_955, add:int32(ldloc:int32(var_5_947), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_6_95C, add:int32(ldloc:int32(var_6_94B), ldloc:int32(var_5_955)))
|
||||
stloc:int32(var_5_964, ldloc:int32(var_6_95C))
|
||||
stloc:int32(var_5_96B, add:int32(ldloc:int32(var_5_964), ldloc:int32(var_8_920)))
|
||||
stloc:int32(var_6_96F, ldloc:int32(var_5_96B))
|
||||
stloc:int32(var_8_979, add:int32(ldloc:int32(var_8_920), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_6_980, add:int32(ldloc:int32(var_6_96F), ldloc:int32(var_8_979)))
|
||||
stloc:int32(var_8_984, ldloc:int32(var_5_96B))
|
||||
stloc:int32(var_4_988, ldloc:int32(var_6_980))
|
||||
stloc:int32(var_6_98C, ldloc:int32(var_5_96B))
|
||||
stloc:int32(var_4_993, add:int32(ldloc:int32(var_4_988), ldloc:int32(var_5_96B)))
|
||||
stloc:int32(var_5_99D, add:int32(ldloc:int32(var_5_96B), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_6_9A4, add:int32(ldloc:int32(var_6_98C), ldloc:int32(var_5_99D)))
|
||||
stloc:int32(var_5_9A8, ldloc:int32(var_6_9A4))
|
||||
stloc:int32(var_6_9AC, ldloc:int32(var_4_993))
|
||||
stloc:int32(var_5_9B3, add:int32(ldloc:int32(var_5_9A8), ldloc:int32(var_5_9A8)))
|
||||
stloc:int32(var_6_9BD, add:int32(ldloc:int32(var_6_9AC), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_6_9C4, add:int32(ldloc:int32(var_6_9BD), ldloc:int32(var_5_9B3)))
|
||||
stloc:int32(var_5_9C8, ldloc:int32(var_6_9C4))
|
||||
stloc:int32(var_5_9CF, add:int32(ldloc:int32(var_5_9C8), ldloc:int32(var_8_984)))
|
||||
stloc:int32(var_5_9D3, ldloc:int32(var_4_993))
|
||||
stloc:int32(var_6_9D7, ldloc:int32(var_5_9D3))
|
||||
stloc:int32(var_8_9E1, add:int32(ldloc:int32(var_8_984), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_6_9E8, add:int32(ldloc:int32(var_6_9D7), ldloc:int32(var_8_9E1)))
|
||||
stloc:int32(var_9_9FA, add:int32(ldloc:int32(var_9_879), ldc.i4:int32(1836072691)))
|
||||
}
|
||||
|
||||
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: 0x0600BEED RID: 48877 RVA: 0x002ADB20 File Offset: 0x002ABD20
|
||||
[Token(Token = "0x600BEED")]
|
||||
[Address(RVA = "0x29026E0", Offset = "0x29016E0", VA = "0x1829026E0", Slot = "20")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BEED)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.RipeMD160Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:RipeMD160Digest(var_0_06, newobj:RipeMD160Digest(RipeMD160Digest::.ctor, ldloc:RipeMD160Digest(this)))
|
||||
stloc:int32[](var_1_0E, newarr:int32[]([mscorlib]System.Int32, ldc.i4:int32(16)))
|
||||
stfld:int32[](RipeMD160Digest::X, ldloc:RipeMD160Digest(var_0_06), ldloc:int32[](var_1_0E))
|
||||
call:void(RipeMD160Digest::CopyIn, ldloc:RipeMD160Digest(var_0_06), ldloc:RipeMD160Digest(this))
|
||||
}
|
||||
|
||||
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: 0x0600BEEE RID: 48878 RVA: 0x002ADB4C File Offset: 0x002ABD4C
|
||||
[Token(Token = "0x600BEEE")]
|
||||
[Address(RVA = "0x2904FD0", Offset = "0x2903FD0", VA = "0x182904FD0", Slot = "21")]
|
||||
public override void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x040078A4 RID: 30884
|
||||
[Token(Token = "0x40078A4")]
|
||||
private const int DigestLength = 20;
|
||||
|
||||
// Token: 0x040078A5 RID: 30885
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40078A5")]
|
||||
private int H0;
|
||||
|
||||
// Token: 0x040078A6 RID: 30886
|
||||
[FieldOffset(Offset = "0x2C")]
|
||||
[Token(Token = "0x40078A6")]
|
||||
private int H1;
|
||||
|
||||
// Token: 0x040078A7 RID: 30887
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40078A7")]
|
||||
private int H2;
|
||||
|
||||
// Token: 0x040078A8 RID: 30888
|
||||
[FieldOffset(Offset = "0x34")]
|
||||
[Token(Token = "0x40078A8")]
|
||||
private int H3;
|
||||
|
||||
// Token: 0x040078A9 RID: 30889
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x40078A9")]
|
||||
private int H4;
|
||||
|
||||
// Token: 0x040078AA RID: 30890
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x40078AA")]
|
||||
private int[] X;
|
||||
|
||||
// Token: 0x040078AB RID: 30891
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x40078AB")]
|
||||
private int xOff;
|
||||
}
|
||||
}
|
||||
+872
@@ -0,0 +1,872 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DD1 RID: 7633
|
||||
[Token(Token = "0x2001DD1")]
|
||||
public class RipeMD256Digest : GeneralDigest
|
||||
{
|
||||
// Token: 0x17001DB6 RID: 7606
|
||||
// (get) Token: 0x0600BEEF RID: 48879 RVA: 0x002ADB64 File Offset: 0x002ABD64
|
||||
[Token(Token = "0x17001DB6")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BEEF")]
|
||||
[Address(RVA = "0x2907090", Offset = "0x2906090", VA = "0x182907090", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return "RIPEMD256";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BEF0 RID: 48880 RVA: 0x002ADB78 File Offset: 0x002ABD78
|
||||
[Token(Token = "0x600BEF0")]
|
||||
[Address(RVA = "0x8BCAC0", Offset = "0x8BBAC0", VA = "0x1808BCAC0", Slot = "18")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return 32;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEF1 RID: 48881 RVA: 0x002ADB88 File Offset: 0x002ABD88
|
||||
[Token(Token = "0x600BEF1")]
|
||||
[Address(RVA = "0x2906FC0", Offset = "0x2905FC0", VA = "0x182906FC0")]
|
||||
public RipeMD256Digest()
|
||||
{
|
||||
int[] array = new int[16];
|
||||
this.X = array;
|
||||
base..ctor();
|
||||
IMemoable memoable = ((IMemoable)this).Copy();
|
||||
}
|
||||
|
||||
// Token: 0x0600BEF2 RID: 48882 RVA: 0x002ADBB4 File Offset: 0x002ABDB4
|
||||
[Token(Token = "0x600BEF2")]
|
||||
[Address(RVA = "0x2907020", Offset = "0x2906020", VA = "0x182907020")]
|
||||
public RipeMD256Digest(RipeMD256Digest t)
|
||||
{
|
||||
int[] array = new int[16];
|
||||
this.X = array;
|
||||
base..ctor(t);
|
||||
this.CopyIn(t);
|
||||
}
|
||||
|
||||
// Token: 0x0600BEF3 RID: 48883 RVA: 0x002ADBE0 File Offset: 0x002ABDE0
|
||||
[Token(Token = "0x600BEF3")]
|
||||
[Address(RVA = "0x2905210", Offset = "0x2904210", VA = "0x182905210")]
|
||||
private void CopyIn(RipeMD256Digest t)
|
||||
{
|
||||
base.CopyIn(t);
|
||||
int h = t.H0;
|
||||
this.H0 = h;
|
||||
int h2 = t.H1;
|
||||
this.H1 = h2;
|
||||
int h3 = t.H2;
|
||||
this.H2 = h3;
|
||||
int h4 = t.H3;
|
||||
this.H3 = h4;
|
||||
int h5 = t.H4;
|
||||
this.H4 = h5;
|
||||
int h6 = t.H5;
|
||||
this.H5 = h6;
|
||||
int h7 = t.H6;
|
||||
this.H6 = h7;
|
||||
int h8 = t.H7;
|
||||
this.H7 = h8;
|
||||
int[] x = t.X;
|
||||
int length = x.Length;
|
||||
int num = 0;
|
||||
int[] x2 = this.X;
|
||||
int num2 = 0;
|
||||
Array.Copy(x, num2, x2, num, length);
|
||||
int num3 = t.xOff;
|
||||
this.xOff = num3;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEF4 RID: 48884 RVA: 0x002ADCB0 File Offset: 0x002ABEB0
|
||||
[Token(Token = "0x600BEF4")]
|
||||
[Address(RVA = "0x2906D50", Offset = "0x2905D50", VA = "0x182906D50", Slot = "14")]
|
||||
internal override void ProcessWord(byte[] input, int inOff)
|
||||
{
|
||||
int num = this.xOff;
|
||||
int[] x = this.X;
|
||||
int num2 = num + 1;
|
||||
this.xOff = num2;
|
||||
int length = input.Length;
|
||||
int num3 = inOff + 1;
|
||||
byte b;
|
||||
x[0] = (int)b;
|
||||
if (this.xOff == 16)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BEF5 RID: 48885 RVA: 0x002ADCFC File Offset: 0x002ABEFC
|
||||
[Token(Token = "0x600BEF5")]
|
||||
[Address(RVA = "0x2906CD0", Offset = "0x2905CD0", VA = "0x182906CD0", Slot = "15")]
|
||||
internal override void ProcessLength(long bitLength)
|
||||
{
|
||||
if (this.xOff > 14)
|
||||
{
|
||||
}
|
||||
this.X[7] = (int)bitLength;
|
||||
this.X[7] = (int)bitLength;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEF6 RID: 48886 RVA: 0x002ADD34 File Offset: 0x002ABF34
|
||||
[Token(Token = "0x600BEF6")]
|
||||
[Address(RVA = "0x28FF140", Offset = "0x28FE140", VA = "0x1828FF140")]
|
||||
private void UnpackWord(int word, byte[] outBytes, int outOff)
|
||||
{
|
||||
int num = outOff + 1;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEF7 RID: 48887 RVA: 0x002ADD4C File Offset: 0x002ABF4C
|
||||
[Token(Token = "0x600BEF7")]
|
||||
[Address(RVA = "0x2905340", Offset = "0x2904340", VA = "0x182905340", Slot = "19")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
base.Finish();
|
||||
int h = this.H0;
|
||||
this.UnpackWord(h, output, outOff);
|
||||
int num = this.H1;
|
||||
output[0] = (byte)num;
|
||||
output[0] = (byte)num;
|
||||
int h2 = this.H2;
|
||||
num = h2;
|
||||
output[0] = (byte)num;
|
||||
num = h2;
|
||||
output[0] = (byte)num;
|
||||
int h3 = this.H3;
|
||||
num = h3;
|
||||
output[0] = (byte)num;
|
||||
num = h3;
|
||||
output[0] = (byte)num;
|
||||
int h4 = this.H4;
|
||||
num = h4;
|
||||
output[0] = (byte)num;
|
||||
num = h4;
|
||||
output[0] = (byte)num;
|
||||
int h5 = this.H5;
|
||||
num = h5;
|
||||
output[0] = (byte)num;
|
||||
num = h5;
|
||||
output[0] = (byte)num;
|
||||
int h6 = this.H6;
|
||||
num = h6;
|
||||
output[0] = (byte)num;
|
||||
num = h6;
|
||||
output[0] = (byte)num;
|
||||
int h7 = this.H7;
|
||||
num = h7;
|
||||
output[0] = (byte)num;
|
||||
num = h7;
|
||||
output[0] = (byte)num;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600BEF8 RID: 48888 RVA: 0x002ADE3C File Offset: 0x002AC03C
|
||||
[Token(Token = "0x600BEF8")]
|
||||
[Address(RVA = "0x2906F10", Offset = "0x2905F10", VA = "0x182906F10", Slot = "13")]
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
int[] x = this.X;
|
||||
int num = 0;
|
||||
this.H0 = (int)((ulong)1732584193L);
|
||||
this.H1 = (int)((ulong)4023233417L);
|
||||
this.H2 = (int)((ulong)2562383102L);
|
||||
this.H3 = (int)((ulong)271733878L);
|
||||
this.H4 = (int)((ulong)1985229328L);
|
||||
this.H5 = (int)((ulong)4275878552L);
|
||||
this.H6 = (int)((ulong)2309737967L);
|
||||
this.H7 = (int)((ulong)19088743L);
|
||||
this.xOff = num;
|
||||
if (num != x.Length)
|
||||
{
|
||||
num++;
|
||||
x[0] = num;
|
||||
int[] x2 = this.X;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BEF9 RID: 48889 RVA: 0x002ADEF8 File Offset: 0x002AC0F8
|
||||
[Token(Token = "0x600BEF9")]
|
||||
[Address(RVA = "0x272B5B0", Offset = "0x272A5B0", VA = "0x18272B5B0")]
|
||||
private int RL(int x, int n)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEFA RID: 48890 RVA: 0x002ADF08 File Offset: 0x002AC108
|
||||
[Token(Token = "0x600BEFA")]
|
||||
[Address(RVA = "0xE4D010", Offset = "0xE4C010", VA = "0x180E4D010")]
|
||||
private int F1(int x, int y, int z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEFB RID: 48891 RVA: 0x002ADF18 File Offset: 0x002AC118
|
||||
[Token(Token = "0x600BEFB")]
|
||||
[Address(RVA = "0xE4CF50", Offset = "0xE4BF50", VA = "0x180E4CF50")]
|
||||
private int F2(int x, int y, int z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEFC RID: 48892 RVA: 0x002ADF28 File Offset: 0x002AC128
|
||||
[Token(Token = "0x600BEFC")]
|
||||
[Address(RVA = "0x2900E90", Offset = "0x28FFE90", VA = "0x182900E90")]
|
||||
private int F3(int x, int y, int z)
|
||||
{
|
||||
return y;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEFD RID: 48893 RVA: 0x002ADF38 File Offset: 0x002AC138
|
||||
[Token(Token = "0x600BEFD")]
|
||||
[Address(RVA = "0x2900F20", Offset = "0x28FFF20", VA = "0x182900F20")]
|
||||
private int F4(int x, int y, int z)
|
||||
{
|
||||
return z;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEFE RID: 48894 RVA: 0x002ADF48 File Offset: 0x002AC148
|
||||
[Token(Token = "0x600BEFE")]
|
||||
[Address(RVA = "0x2900E20", Offset = "0x28FFE20", VA = "0x182900E20")]
|
||||
private int F1(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600BEFF RID: 48895 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600BEFF")]
|
||||
[Address(RVA = "0x2900E50", Offset = "0x28FFE50", VA = "0x182900E50")]
|
||||
private int F2(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600BF00 RID: 48896 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600BF00")]
|
||||
[Address(RVA = "0x2900EA0", Offset = "0x28FFEA0", VA = "0x182900EA0")]
|
||||
private int F3(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600BF01 RID: 48897 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600BF01")]
|
||||
[Address(RVA = "0x2900EE0", Offset = "0x28FFEE0", VA = "0x182900EE0")]
|
||||
private int F4(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600BF02 RID: 48898 RVA: 0x002ADF58 File Offset: 0x002AC158
|
||||
[Token(Token = "0x600BF02")]
|
||||
[Address(RVA = "0x2900E20", Offset = "0x28FFE20", VA = "0x182900E20")]
|
||||
private int FF1(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF03 RID: 48899 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600BF03")]
|
||||
[Address(RVA = "0x2900F30", Offset = "0x28FFF30", VA = "0x182900F30")]
|
||||
private int FF2(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600BF04 RID: 48900 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600BF04")]
|
||||
[Address(RVA = "0x2900F70", Offset = "0x28FFF70", VA = "0x182900F70")]
|
||||
private int FF3(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600BF05 RID: 48901 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600BF05")]
|
||||
[Address(RVA = "0x2900FB0", Offset = "0x28FFFB0", VA = "0x182900FB0")]
|
||||
private int FF4(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600BF06 RID: 48902 RVA: 0x002ADF68 File Offset: 0x002AC168
|
||||
[Token(Token = "0x600BF06")]
|
||||
[Address(RVA = "0x29057E0", Offset = "0x29047E0", VA = "0x1829057E0", Slot = "16")]
|
||||
internal override void ProcessBlock()
|
||||
{
|
||||
int num = this.H4;
|
||||
int num2 = this.H5;
|
||||
int num3 = this.H0;
|
||||
int num4 = this.H1;
|
||||
int num5 = this.H2;
|
||||
int num6 = this.H3;
|
||||
int num7 = this.H6;
|
||||
int num8 = this.H7;
|
||||
int[] x = this.X;
|
||||
int num9 = x.Length;
|
||||
num6 += num3;
|
||||
num3 = num6;
|
||||
num6 = num5;
|
||||
num6 += num6;
|
||||
num6 += num5;
|
||||
num5 = num6;
|
||||
num6 = num5;
|
||||
num6 += num4;
|
||||
num4 = num6;
|
||||
num5 += num3;
|
||||
num3 = num5;
|
||||
num6 += num6;
|
||||
num6 += num6;
|
||||
num5 = num6;
|
||||
num6 = num5;
|
||||
num6 += num4;
|
||||
num4 = num6;
|
||||
num5 += num3;
|
||||
num3 = num5;
|
||||
num6 += num6;
|
||||
num6 += num6;
|
||||
int num10 = x[5];
|
||||
num5 = num6;
|
||||
num6 = num5;
|
||||
num6 += num10;
|
||||
num6 += num4;
|
||||
num4 = num6;
|
||||
num5 += num3;
|
||||
int num11 = x[6];
|
||||
num6 += num11;
|
||||
num6 += num6;
|
||||
int num12 = x[7];
|
||||
num6 += num12;
|
||||
num6 += num6;
|
||||
int num13 = x[7];
|
||||
num6 += num13;
|
||||
num6 += num4;
|
||||
num9 = num8;
|
||||
num += 1352829926;
|
||||
num += num9;
|
||||
num3 = num;
|
||||
num9 = num7;
|
||||
num = num7;
|
||||
num9 += num12;
|
||||
num += num9;
|
||||
num9 = num2;
|
||||
num4 = num;
|
||||
num = num4;
|
||||
num += num9;
|
||||
num9 = num3;
|
||||
num12 = num;
|
||||
num = num12;
|
||||
num += num9;
|
||||
num9 = num4;
|
||||
num6 = num;
|
||||
num = num4;
|
||||
num += num9;
|
||||
num9 = num12;
|
||||
num = num12;
|
||||
num += num9;
|
||||
num9 = num6;
|
||||
num4 = num;
|
||||
num = num4;
|
||||
num9 += num10;
|
||||
num += num9;
|
||||
num2 = num;
|
||||
num = num2;
|
||||
num9 = num4;
|
||||
num += 1352829926;
|
||||
num += num6;
|
||||
num12 = num;
|
||||
num = num4;
|
||||
num9 += num11;
|
||||
num += num9;
|
||||
num9 = num2;
|
||||
num3 = num;
|
||||
num = num2;
|
||||
num += num9;
|
||||
num9 = num12;
|
||||
num4 = num;
|
||||
num = num4;
|
||||
num9 += num13;
|
||||
num += num9;
|
||||
num9 = num3;
|
||||
num2 = num;
|
||||
num = num2;
|
||||
num += num9;
|
||||
num9 = num4;
|
||||
num12 = num;
|
||||
num = num4;
|
||||
num += num9;
|
||||
num3 = num;
|
||||
num = num2;
|
||||
num += 1352829926;
|
||||
num9 = num12;
|
||||
num += num4;
|
||||
num10 = num;
|
||||
num = num10;
|
||||
num += num9;
|
||||
num11 = num;
|
||||
num9 = num3;
|
||||
num = num11;
|
||||
num += num9;
|
||||
num13 = num;
|
||||
num = num6;
|
||||
num += num9;
|
||||
num = num9;
|
||||
num += 1518500249;
|
||||
num += num6;
|
||||
num3 = num;
|
||||
num = num3;
|
||||
num += 1518500249;
|
||||
num += num6;
|
||||
num4 = num;
|
||||
num = num3;
|
||||
num9 = num4;
|
||||
num += num9;
|
||||
num9 = num;
|
||||
num = num4;
|
||||
num += num9;
|
||||
num12 = num;
|
||||
num = num9;
|
||||
num9 = num12;
|
||||
num += num9;
|
||||
num3 = num;
|
||||
num9 = num3;
|
||||
num = num3;
|
||||
num += num9;
|
||||
num6 = num;
|
||||
num = num3;
|
||||
num9 = num6;
|
||||
num += num9;
|
||||
num4 = num;
|
||||
num = num6;
|
||||
num9 = num4;
|
||||
num += num9;
|
||||
num9 = num;
|
||||
num = num4;
|
||||
num += num9;
|
||||
num3 = num;
|
||||
num = num3;
|
||||
num += 1518500249;
|
||||
num += num6;
|
||||
num12 = num;
|
||||
num = num3;
|
||||
num9 = num12;
|
||||
num += num9;
|
||||
num4 = num;
|
||||
num = num12;
|
||||
num9 = num4;
|
||||
num += 1518500249;
|
||||
num += num9;
|
||||
num6 = num;
|
||||
num = num4;
|
||||
num9 = num6;
|
||||
int num14 = x[5];
|
||||
num += num9;
|
||||
num6 = num;
|
||||
num = num6;
|
||||
num += 1518500249;
|
||||
num += num14;
|
||||
num += num12;
|
||||
num7 = num;
|
||||
num8 = num7;
|
||||
num6 = num8;
|
||||
num = num11;
|
||||
num6 += 1518500249;
|
||||
num6 += num4;
|
||||
num3 += 1548603684;
|
||||
num += num3;
|
||||
num14 += 1548603684;
|
||||
num3 = num;
|
||||
num = num13;
|
||||
num += num14;
|
||||
num += num10;
|
||||
num12 = num;
|
||||
num = num3;
|
||||
num += 1548603684;
|
||||
num += num11;
|
||||
num14 = num;
|
||||
num = num12;
|
||||
num3 += 1548603684;
|
||||
num += 1548603684;
|
||||
num += num13;
|
||||
num4 = num;
|
||||
num = num14;
|
||||
num12 += 1548603684;
|
||||
num += num3;
|
||||
num3 = num;
|
||||
num = num4;
|
||||
num14 += 1548603684;
|
||||
num += num12;
|
||||
num12 = num;
|
||||
num = num3;
|
||||
num += num14;
|
||||
num9 = num;
|
||||
num = num12;
|
||||
num += 1548603684;
|
||||
num += num4;
|
||||
num3 += 1548603684;
|
||||
num14 = num;
|
||||
num = num9;
|
||||
num12 += 1548603684;
|
||||
num += num3;
|
||||
num3 = num;
|
||||
num = num14;
|
||||
num += num12;
|
||||
num12 = num;
|
||||
num = num3;
|
||||
num14 += 1548603684;
|
||||
num += 1548603684;
|
||||
num += num9;
|
||||
num4 = num;
|
||||
num = num12;
|
||||
num3 += 1548603684;
|
||||
num += num14;
|
||||
num14 = num;
|
||||
num = num4;
|
||||
num += num3;
|
||||
num11 = num;
|
||||
num = num14;
|
||||
num4 += 1548603684;
|
||||
num += 1548603684;
|
||||
num += num12;
|
||||
num10 = num;
|
||||
num = num11;
|
||||
num += num4;
|
||||
num13 = num6;
|
||||
num = num10;
|
||||
num += 1548603684;
|
||||
num += num14;
|
||||
num4 = num;
|
||||
num += num8;
|
||||
num12 = num;
|
||||
num = num4;
|
||||
num += 1859775393;
|
||||
num += num6;
|
||||
num3 = num;
|
||||
num = num12;
|
||||
num4 += 1859775393;
|
||||
num += 1859775393;
|
||||
num += num7;
|
||||
num14 = num;
|
||||
num = num3;
|
||||
num12 += 1859775393;
|
||||
num += num4;
|
||||
num4 = num;
|
||||
num = num14;
|
||||
num3 += 1859775393;
|
||||
num += num12;
|
||||
num12 = num;
|
||||
num = num4;
|
||||
num += num3;
|
||||
num3 = num;
|
||||
num = num12;
|
||||
num4 += 1859775393;
|
||||
num += 1859775393;
|
||||
num += num14;
|
||||
num9 = num;
|
||||
num = num3;
|
||||
num += num4;
|
||||
num6 = num;
|
||||
num = num9;
|
||||
num3 += 1859775393;
|
||||
num += 1859775393;
|
||||
num += num12;
|
||||
num4 = num;
|
||||
num = num6;
|
||||
num += num3;
|
||||
num14 = num;
|
||||
num = num4;
|
||||
num += 1859775393;
|
||||
num += num9;
|
||||
num3 = num;
|
||||
num = num14;
|
||||
num += 1859775393;
|
||||
num += num6;
|
||||
num12 = num;
|
||||
num = num3;
|
||||
num += 1859775393;
|
||||
num += num4;
|
||||
num7 = num;
|
||||
num = num12;
|
||||
num3 += 1859775393;
|
||||
num14 += 1859775393;
|
||||
num += num14;
|
||||
int num15 = x[2];
|
||||
num6 = num;
|
||||
num = num7;
|
||||
num8 = num6;
|
||||
num += num15;
|
||||
num15 += 1836072691;
|
||||
num += num3;
|
||||
num3 = num;
|
||||
num = num8;
|
||||
num3 += num;
|
||||
num = num3;
|
||||
num += 1836072691;
|
||||
num += num11;
|
||||
num = num13;
|
||||
num += num15;
|
||||
num += num10;
|
||||
num15 = num;
|
||||
num3 = num15;
|
||||
num = num15;
|
||||
num += num3;
|
||||
num3 = num;
|
||||
num = num15;
|
||||
num += 1836072691;
|
||||
num += num13;
|
||||
num9 = num;
|
||||
num = num3;
|
||||
num3 = num9;
|
||||
num += num3;
|
||||
num12 = num;
|
||||
num = num9;
|
||||
num3 = num12;
|
||||
num += num3;
|
||||
num6 = num;
|
||||
num3 = num6;
|
||||
num = num6;
|
||||
num += num3;
|
||||
num15 = num;
|
||||
num = num6;
|
||||
num3 = num15;
|
||||
num += num3;
|
||||
num3 = num;
|
||||
num = num15;
|
||||
num += num3;
|
||||
num = num3;
|
||||
num += 1836072691;
|
||||
num += num6;
|
||||
num9 = num;
|
||||
num3 = num9;
|
||||
num = num9;
|
||||
num += num3;
|
||||
num15 = num;
|
||||
num = num9;
|
||||
num3 = num15;
|
||||
num += num3;
|
||||
num3 = num;
|
||||
num = num15;
|
||||
num += num3;
|
||||
num10 = num;
|
||||
num = num3;
|
||||
num += 1836072691;
|
||||
num += num9;
|
||||
num11 = num;
|
||||
num3 = num11;
|
||||
num = num11;
|
||||
num += num3;
|
||||
num15 = num;
|
||||
num = num11;
|
||||
num12 = num15;
|
||||
num3 = num12;
|
||||
num += num3;
|
||||
num13 = num;
|
||||
num = num6;
|
||||
num += num8;
|
||||
num = num15;
|
||||
num += num12;
|
||||
num9 = num;
|
||||
num = num9;
|
||||
num += -1894007588;
|
||||
num += num15;
|
||||
num6 = num;
|
||||
num = num6;
|
||||
num += -1894007588;
|
||||
num += num6;
|
||||
num8 = num;
|
||||
num = num9;
|
||||
num3 = num6;
|
||||
num += -1894007588;
|
||||
num += num3;
|
||||
num = num6;
|
||||
num3 = num8;
|
||||
num += -1894007588;
|
||||
num += num9;
|
||||
num15 = num;
|
||||
num = num15;
|
||||
num += num3;
|
||||
num6 = num;
|
||||
num = num6;
|
||||
num += -1894007588;
|
||||
num += num8;
|
||||
num3 = num;
|
||||
num = num15;
|
||||
num += num3;
|
||||
num3 = num6;
|
||||
num9 = num;
|
||||
num = num6;
|
||||
num += num3;
|
||||
num12 = num;
|
||||
num = num12;
|
||||
num3 = num9;
|
||||
num += -1894007588;
|
||||
num += num6;
|
||||
num15 = num;
|
||||
num = num15;
|
||||
num += num3;
|
||||
num = num12;
|
||||
num += -1894007588;
|
||||
num += num9;
|
||||
num3 = num15;
|
||||
num = num15;
|
||||
num += -1894007588;
|
||||
num += num12;
|
||||
num6 = num;
|
||||
num = num6;
|
||||
num += num3;
|
||||
num3 = num6;
|
||||
num8 += num3;
|
||||
num = num3;
|
||||
num += num10;
|
||||
num15 = num;
|
||||
num = num3;
|
||||
num += num11;
|
||||
num6 = num;
|
||||
num = num6;
|
||||
num += num3;
|
||||
num3 = num;
|
||||
num = num3;
|
||||
num += num13;
|
||||
num9 = num;
|
||||
num3 += num15;
|
||||
num12 = num3;
|
||||
num = num3;
|
||||
num += num6;
|
||||
num15 = num;
|
||||
num = num15;
|
||||
num3 = num15;
|
||||
num += num3;
|
||||
num6 = num;
|
||||
num = num3;
|
||||
num += num9;
|
||||
num3 = num;
|
||||
num = num6;
|
||||
num3 += num12;
|
||||
num12 = num3;
|
||||
num += num15;
|
||||
num15 = num;
|
||||
num = num15;
|
||||
num3 = num15;
|
||||
num += num6;
|
||||
num9 = num;
|
||||
num = num3;
|
||||
num += num3;
|
||||
num3 = num;
|
||||
num = num9;
|
||||
num3 += num12;
|
||||
num6 = num3;
|
||||
num += num15;
|
||||
num15 = num;
|
||||
num = num15;
|
||||
num3 = num15;
|
||||
num += num9;
|
||||
num3 += num6;
|
||||
num3 += num3;
|
||||
if (0 != x.Length)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BF07 RID: 48903 RVA: 0x002AE7C4 File Offset: 0x002AC9C4
|
||||
[Token(Token = "0x600BF07")]
|
||||
[Address(RVA = "0x29052A0", Offset = "0x29042A0", VA = "0x1829052A0", Slot = "20")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BF07)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.RipeMD256Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:RipeMD256Digest(var_0_06, newobj:RipeMD256Digest(RipeMD256Digest::.ctor, ldloc:RipeMD256Digest(this)))
|
||||
stloc:int32[](var_1_0E, newarr:int32[]([mscorlib]System.Int32, ldc.i4:int32(16)))
|
||||
stfld:int32[](RipeMD256Digest::X, ldloc:RipeMD256Digest(var_0_06), ldloc:int32[](var_1_0E))
|
||||
call:void(RipeMD256Digest::CopyIn, ldloc:RipeMD256Digest(var_0_06), ldloc:RipeMD256Digest(this))
|
||||
}
|
||||
|
||||
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: 0x0600BF08 RID: 48904 RVA: 0x002AE7F0 File Offset: 0x002AC9F0
|
||||
[Token(Token = "0x600BF08")]
|
||||
[Address(RVA = "0x2906E70", Offset = "0x2905E70", VA = "0x182906E70", Slot = "21")]
|
||||
public override void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x040078AC RID: 30892
|
||||
[Token(Token = "0x40078AC")]
|
||||
private const int DigestLength = 32;
|
||||
|
||||
// Token: 0x040078AD RID: 30893
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40078AD")]
|
||||
private int H0;
|
||||
|
||||
// Token: 0x040078AE RID: 30894
|
||||
[FieldOffset(Offset = "0x2C")]
|
||||
[Token(Token = "0x40078AE")]
|
||||
private int H1;
|
||||
|
||||
// Token: 0x040078AF RID: 30895
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40078AF")]
|
||||
private int H2;
|
||||
|
||||
// Token: 0x040078B0 RID: 30896
|
||||
[FieldOffset(Offset = "0x34")]
|
||||
[Token(Token = "0x40078B0")]
|
||||
private int H3;
|
||||
|
||||
// Token: 0x040078B1 RID: 30897
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x40078B1")]
|
||||
private int H4;
|
||||
|
||||
// Token: 0x040078B2 RID: 30898
|
||||
[FieldOffset(Offset = "0x3C")]
|
||||
[Token(Token = "0x40078B2")]
|
||||
private int H5;
|
||||
|
||||
// Token: 0x040078B3 RID: 30899
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x40078B3")]
|
||||
private int H6;
|
||||
|
||||
// Token: 0x040078B4 RID: 30900
|
||||
[FieldOffset(Offset = "0x44")]
|
||||
[Token(Token = "0x40078B4")]
|
||||
private int H7;
|
||||
|
||||
// Token: 0x040078B5 RID: 30901
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x40078B5")]
|
||||
private int[] X;
|
||||
|
||||
// Token: 0x040078B6 RID: 30902
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x40078B6")]
|
||||
private int xOff;
|
||||
}
|
||||
}
|
||||
+862
@@ -0,0 +1,862 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DD2 RID: 7634
|
||||
[Token(Token = "0x2001DD2")]
|
||||
public class RipeMD320Digest : GeneralDigest
|
||||
{
|
||||
// Token: 0x17001DB7 RID: 7607
|
||||
// (get) Token: 0x0600BF09 RID: 48905 RVA: 0x002AE808 File Offset: 0x002ACA08
|
||||
[Token(Token = "0x17001DB7")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BF09")]
|
||||
[Address(RVA = "0x2909F70", Offset = "0x2908F70", VA = "0x182909F70", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return "RIPEMD320";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BF0A RID: 48906 RVA: 0x002AE81C File Offset: 0x002ACA1C
|
||||
[Token(Token = "0x600BF0A")]
|
||||
[Address(RVA = "0x90D970", Offset = "0x90C970", VA = "0x18090D970", Slot = "18")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return 40;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF0B RID: 48907 RVA: 0x002AE82C File Offset: 0x002ACA2C
|
||||
[Token(Token = "0x600BF0B")]
|
||||
[Address(RVA = "0x2909EA0", Offset = "0x2908EA0", VA = "0x182909EA0")]
|
||||
public RipeMD320Digest()
|
||||
{
|
||||
int[] array = new int[16];
|
||||
this.X = array;
|
||||
base..ctor();
|
||||
IMemoable memoable = ((IMemoable)this).Copy();
|
||||
}
|
||||
|
||||
// Token: 0x0600BF0C RID: 48908 RVA: 0x002AE858 File Offset: 0x002ACA58
|
||||
[Token(Token = "0x600BF0C")]
|
||||
[Address(RVA = "0x2909F00", Offset = "0x2908F00", VA = "0x182909F00")]
|
||||
public RipeMD320Digest(RipeMD320Digest t)
|
||||
{
|
||||
int[] array = new int[16];
|
||||
this.X = array;
|
||||
base..ctor(t);
|
||||
this.CopyIn(t);
|
||||
}
|
||||
|
||||
// Token: 0x0600BF0D RID: 48909 RVA: 0x002AE884 File Offset: 0x002ACA84
|
||||
[Token(Token = "0x600BF0D")]
|
||||
[Address(RVA = "0x29070C0", Offset = "0x29060C0", VA = "0x1829070C0")]
|
||||
private void CopyIn(RipeMD320Digest t)
|
||||
{
|
||||
base.CopyIn(t);
|
||||
int h = t.H0;
|
||||
this.H0 = h;
|
||||
int h2 = t.H1;
|
||||
this.H1 = h2;
|
||||
int h3 = t.H2;
|
||||
this.H2 = h3;
|
||||
int h4 = t.H3;
|
||||
this.H3 = h4;
|
||||
int h5 = t.H4;
|
||||
this.H4 = h5;
|
||||
int h6 = t.H5;
|
||||
this.H5 = h6;
|
||||
int h7 = t.H6;
|
||||
this.H6 = h7;
|
||||
int h8 = t.H7;
|
||||
this.H7 = h8;
|
||||
int h9 = t.H8;
|
||||
this.H8 = h9;
|
||||
int h10 = t.H9;
|
||||
this.H9 = h10;
|
||||
int[] x = t.X;
|
||||
int length = x.Length;
|
||||
int num = 0;
|
||||
int[] x2 = this.X;
|
||||
int num2 = 0;
|
||||
Array.Copy(x, num2, x2, num, length);
|
||||
int num3 = t.xOff;
|
||||
this.xOff = num3;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF0E RID: 48910 RVA: 0x002AE974 File Offset: 0x002ACB74
|
||||
[Token(Token = "0x600BF0E")]
|
||||
[Address(RVA = "0x2909C20", Offset = "0x2908C20", VA = "0x182909C20", Slot = "14")]
|
||||
internal override void ProcessWord(byte[] input, int inOff)
|
||||
{
|
||||
int num = this.xOff;
|
||||
int[] x = this.X;
|
||||
int num2 = num + 1;
|
||||
this.xOff = num2;
|
||||
int length = input.Length;
|
||||
int num3 = inOff + 1;
|
||||
byte b;
|
||||
x[0] = (int)b;
|
||||
if (this.xOff == 16)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BF0F RID: 48911 RVA: 0x002AE9C0 File Offset: 0x002ACBC0
|
||||
[Token(Token = "0x600BF0F")]
|
||||
[Address(RVA = "0x2909BA0", Offset = "0x2908BA0", VA = "0x182909BA0", Slot = "15")]
|
||||
internal override void ProcessLength(long bitLength)
|
||||
{
|
||||
if (this.xOff > 14)
|
||||
{
|
||||
}
|
||||
this.X[7] = (int)bitLength;
|
||||
this.X[7] = (int)bitLength;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF10 RID: 48912 RVA: 0x002AE9F8 File Offset: 0x002ACBF8
|
||||
[Token(Token = "0x600BF10")]
|
||||
[Address(RVA = "0x28FF140", Offset = "0x28FE140", VA = "0x1828FF140")]
|
||||
private void UnpackWord(int word, byte[] outBytes, int outOff)
|
||||
{
|
||||
int num = outOff + 1;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF11 RID: 48913 RVA: 0x002AEA10 File Offset: 0x002ACC10
|
||||
[Token(Token = "0x600BF11")]
|
||||
[Address(RVA = "0x2907200", Offset = "0x2906200", VA = "0x182907200", Slot = "19")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
base.Finish();
|
||||
int h = this.H0;
|
||||
this.UnpackWord(h, output, outOff);
|
||||
int num = this.H1;
|
||||
output[0] = (byte)num;
|
||||
output[0] = (byte)num;
|
||||
int h2 = this.H2;
|
||||
num = h2;
|
||||
output[0] = (byte)num;
|
||||
num = h2;
|
||||
output[0] = (byte)num;
|
||||
int h3 = this.H3;
|
||||
num = h3;
|
||||
output[0] = (byte)num;
|
||||
num = h3;
|
||||
output[0] = (byte)num;
|
||||
int h4 = this.H4;
|
||||
num = h4;
|
||||
output[0] = (byte)num;
|
||||
num = h4;
|
||||
output[0] = (byte)num;
|
||||
int h5 = this.H5;
|
||||
num = h5;
|
||||
output[0] = (byte)num;
|
||||
num = h5;
|
||||
output[0] = (byte)num;
|
||||
int h6 = this.H6;
|
||||
num = h6;
|
||||
output[0] = (byte)num;
|
||||
num = h6;
|
||||
output[0] = (byte)num;
|
||||
int h7 = this.H7;
|
||||
num = h7;
|
||||
output[0] = (byte)num;
|
||||
num = h7;
|
||||
output[0] = (byte)num;
|
||||
int h8 = this.H8;
|
||||
num = h8;
|
||||
output[0] = (byte)num;
|
||||
num = h8;
|
||||
output[0] = (byte)num;
|
||||
int h9 = this.H9;
|
||||
num = h9;
|
||||
output[0] = (byte)num;
|
||||
num = h9;
|
||||
output[0] = (byte)num;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600BF12 RID: 48914 RVA: 0x002AEB3C File Offset: 0x002ACD3C
|
||||
[Token(Token = "0x600BF12")]
|
||||
[Address(RVA = "0x2909D40", Offset = "0x2908D40", VA = "0x182909D40", Slot = "13")]
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
int[] x = this.X;
|
||||
int num = 0;
|
||||
this.H0 = (int)((ulong)1732584193L);
|
||||
this.H1 = (int)((ulong)4023233417L);
|
||||
this.H2 = (int)((ulong)2562383102L);
|
||||
this.H3 = (int)((ulong)271733878L);
|
||||
this.H4 = (int)((ulong)3285377520L);
|
||||
this.H5 = (int)((ulong)1985229328L);
|
||||
this.H6 = (int)((ulong)4275878552L);
|
||||
this.H7 = (int)((ulong)2309737967L);
|
||||
this.H8 = (int)((ulong)19088743L);
|
||||
this.H9 = (int)((ulong)1009589775L);
|
||||
this.xOff = num;
|
||||
if (num != x.Length)
|
||||
{
|
||||
num++;
|
||||
x[0] = num;
|
||||
int[] x2 = this.X;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BF13 RID: 48915 RVA: 0x002AEC14 File Offset: 0x002ACE14
|
||||
[Token(Token = "0x600BF13")]
|
||||
[Address(RVA = "0x272B5B0", Offset = "0x272A5B0", VA = "0x18272B5B0")]
|
||||
private int RL(int x, int n)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF14 RID: 48916 RVA: 0x002AEC24 File Offset: 0x002ACE24
|
||||
[Token(Token = "0x600BF14")]
|
||||
[Address(RVA = "0xE4D010", Offset = "0xE4C010", VA = "0x180E4D010")]
|
||||
private int F1(int x, int y, int z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF15 RID: 48917 RVA: 0x002AEC34 File Offset: 0x002ACE34
|
||||
[Token(Token = "0x600BF15")]
|
||||
[Address(RVA = "0xE4CF50", Offset = "0xE4BF50", VA = "0x180E4CF50")]
|
||||
private int F2(int x, int y, int z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF16 RID: 48918 RVA: 0x002AEC44 File Offset: 0x002ACE44
|
||||
[Token(Token = "0x600BF16")]
|
||||
[Address(RVA = "0x2900E90", Offset = "0x28FFE90", VA = "0x182900E90")]
|
||||
private int F3(int x, int y, int z)
|
||||
{
|
||||
return y;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF17 RID: 48919 RVA: 0x002AEC54 File Offset: 0x002ACE54
|
||||
[Token(Token = "0x600BF17")]
|
||||
[Address(RVA = "0x2900F20", Offset = "0x28FFF20", VA = "0x182900F20")]
|
||||
private int F4(int x, int y, int z)
|
||||
{
|
||||
return z;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF18 RID: 48920 RVA: 0x002AEC64 File Offset: 0x002ACE64
|
||||
[Token(Token = "0x600BF18")]
|
||||
[Address(RVA = "0x2902A60", Offset = "0x2901A60", VA = "0x182902A60")]
|
||||
private int F5(int x, int y, int z)
|
||||
{
|
||||
return z;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF19 RID: 48921 RVA: 0x002AEC74 File Offset: 0x002ACE74
|
||||
[Token(Token = "0x600BF19")]
|
||||
[Address(RVA = "0x29077D0", Offset = "0x29067D0", VA = "0x1829077D0", Slot = "16")]
|
||||
internal override void ProcessBlock()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BF19)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.RipeMD320Digest::ProcessBlock()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, ldfld:int32(RipeMD320Digest::H5, ldloc:RipeMD320Digest(this)))
|
||||
stloc:int32(var_1_0D, ldfld:int32(RipeMD320Digest::H0, ldloc:RipeMD320Digest(this)))
|
||||
stloc:int32(var_2_14, ldfld:int32(RipeMD320Digest::H1, ldloc:RipeMD320Digest(this)))
|
||||
stloc:int32(var_3_1B, ldfld:int32(RipeMD320Digest::H2, ldloc:RipeMD320Digest(this)))
|
||||
stloc:int32(var_4_22, ldfld:int32(RipeMD320Digest::H3, ldloc:RipeMD320Digest(this)))
|
||||
stloc:int32(var_5_2A, ldfld:int32(RipeMD320Digest::H4, ldloc:RipeMD320Digest(this)))
|
||||
stloc:int32(var_6_32, ldfld:int32(RipeMD320Digest::H7, ldloc:RipeMD320Digest(this)))
|
||||
stloc:int32(var_7_3A, ldfld:int32(RipeMD320Digest::H6, ldloc:RipeMD320Digest(this)))
|
||||
stloc:int32(var_8_42, ldfld:int32(RipeMD320Digest::H8, ldloc:RipeMD320Digest(this)))
|
||||
stloc:int32(var_9_4A, ldfld:int32(RipeMD320Digest::H9, ldloc:RipeMD320Digest(this)))
|
||||
stloc:int32[](var_10_52, ldfld:int32[](RipeMD320Digest::X, ldloc:RipeMD320Digest(this)))
|
||||
stloc:int32(var_11_5B, callgetter:int32(Array::get_Length, ldloc:int32[][exp:Array](var_10_52)))
|
||||
stloc:int32(var_4_61, add:int32(ldloc:int32(var_4_22), ldloc:int32(var_1_0D)))
|
||||
stloc:int32(var_1_65, ldloc:int32(var_4_61))
|
||||
stloc:int32(var_1_6A, add:int32(ldloc:int32(var_1_65), ldloc:int32(var_5_2A)))
|
||||
stloc:int32(var_4_6C, ldloc:int32(var_3_1B))
|
||||
stloc:int32(var_4_73, add:int32(ldloc:int32(var_4_6C), ldloc:int32(var_5_2A)))
|
||||
stloc:int32(var_5_76, ldloc:int32(var_2_14))
|
||||
stloc:int32(var_3_7A, ldloc:int32(var_4_73))
|
||||
stloc:int32(var_3_7F, add:int32(ldloc:int32(var_3_7A), ldloc:int32(var_4_73)))
|
||||
stloc:int32(var_4_81, ldloc:int32(var_3_7F))
|
||||
stloc:int32(var_4_88, add:int32(ldloc:int32(var_4_81), ldloc:int32(var_4_81)))
|
||||
stloc:int32(var_4_8B, ldloc:int32(var_1_6A))
|
||||
stloc:int32(var_2_8F, ldloc:int32(var_4_8B))
|
||||
stloc:int32(var_2_93, add:int32(ldloc:int32(var_2_8F), ldloc:int32(var_3_7F)))
|
||||
stloc:int32(var_4_95, ldloc:int32(var_3_7F))
|
||||
stloc:int32(var_4_9B, add:int32(ldloc:int32(var_4_95), ldloc:int32(var_3_7F)))
|
||||
stloc:int32(var_1_9F, ldloc:int32(var_4_9B))
|
||||
stloc:int32(var_1_A4, add:int32(ldloc:int32(var_1_9F), ldloc:int32(var_5_76)))
|
||||
stloc:int32(var_4_A6, ldloc:int32(var_3_7F))
|
||||
stloc:int32(var_4_AD, add:int32(ldloc:int32(var_4_A6), ldloc:int32(var_5_76)))
|
||||
stloc:int32(var_5_B0, ldloc:int32(var_2_93))
|
||||
stloc:int32(var_3_B4, ldloc:int32(var_4_AD))
|
||||
stloc:int32(var_3_B9, add:int32(ldloc:int32(var_3_B4), ldloc:int32(var_4_AD)))
|
||||
stloc:int32(var_4_BC, ldloc:int32(var_5_B0))
|
||||
stloc:int32(var_4_C3, add:int32(ldloc:int32(var_4_BC), ldloc:int32(var_4_BC)))
|
||||
stloc:int32(var_4_C6, ldloc:int32(var_1_A4))
|
||||
stloc:int32(var_2_CA, ldloc:int32(var_4_C6))
|
||||
stloc:int32(var_2_CE, add:int32(ldloc:int32(var_2_CA), ldloc:int32(var_3_B9)))
|
||||
stloc:int32(var_4_D3, add:int32(ldloc:int32(var_4_C6), ldloc:int32(var_3_B9)))
|
||||
stloc:int32(var_1_D7, ldloc:int32(var_4_D3))
|
||||
stloc:int32(var_1_DC, add:int32(ldloc:int32(var_1_D7), ldloc:int32(var_5_B0)))
|
||||
stloc:int32(var_4_DE, ldloc:int32(var_1_DC))
|
||||
stloc:int32(var_4_E5, add:int32(ldloc:int32(var_4_DE), ldloc:int32(var_5_B0)))
|
||||
stloc:int32(var_5_E8, ldloc:int32(var_2_CE))
|
||||
stloc:int32(var_3_EC, ldloc:int32(var_4_E5))
|
||||
stloc:int32(var_3_F1, add:int32(ldloc:int32(var_3_EC), ldloc:int32(var_4_E5)))
|
||||
stloc:int32(var_4_F3, ldloc:int32(var_1_DC))
|
||||
stloc:int32(var_4_FA, add:int32(ldloc:int32(var_4_F3), ldloc:int32(var_4_F3)))
|
||||
stloc:int32(var_4_FD, ldloc:int32(var_1_DC))
|
||||
stloc:int32(var_2_101, ldloc:int32(var_4_FD))
|
||||
stloc:int32(var_2_105, add:int32(ldloc:int32(var_2_101), ldloc:int32(var_3_F1)))
|
||||
stloc:int32(var_4_10A, add:int32(ldloc:int32(var_4_FD), ldloc:int32(var_3_F1)))
|
||||
stloc:int32(var_1_10E, ldloc:int32(var_4_10A))
|
||||
stloc:int32(var_1_113, add:int32(ldloc:int32(var_1_10E), ldloc:int32(var_5_E8)))
|
||||
stloc:int32(var_4_115, ldloc:int32(var_3_F1))
|
||||
stloc:int32(var_4_11C, add:int32(ldloc:int32(var_4_115), ldloc:int32(var_5_E8)))
|
||||
stloc:int32(var_5_11F, ldloc:int32(var_2_105))
|
||||
stloc:int32(var_3_123, ldloc:int32(var_4_11C))
|
||||
stloc:int32(var_3_128, add:int32(ldloc:int32(var_3_123), ldloc:int32(var_4_11C)))
|
||||
stloc:int32(var_4_12B, ldloc:int32(var_5_11F))
|
||||
stloc:int32(var_4_132, add:int32(ldloc:int32(var_4_12B), ldloc:int32(var_4_12B)))
|
||||
stloc:int32(var_4_135, ldloc:int32(var_1_113))
|
||||
stloc:int32(var_2_139, ldloc:int32(var_4_135))
|
||||
stloc:int32(var_2_13D, add:int32(ldloc:int32(var_2_139), ldloc:int32(var_3_128)))
|
||||
stloc:int32(var_4_13F, ldloc:int32(var_2_13D))
|
||||
stloc:int32(var_4_145, add:int32(ldloc:int32(var_4_13F), ldloc:int32(var_3_128)))
|
||||
stloc:int32(var_3_149, ldloc:int32(var_4_145))
|
||||
stloc:int32(var_3_14E, add:int32(ldloc:int32(var_3_149), ldloc:int32(var_5_11F)))
|
||||
stloc:int32(var_4_150, ldloc:int32(var_2_13D))
|
||||
stloc:int32(var_4_157, add:int32(ldloc:int32(var_4_150), ldloc:int32(var_5_11F)))
|
||||
stloc:int32(var_1_15B, ldloc:int32(var_4_157))
|
||||
stloc:int32(var_4_15D, ldloc:int32(var_2_13D))
|
||||
stloc:int32(var_1_163, add:int32(ldloc:int32(var_1_15B), ldloc:int32(var_4_15D)))
|
||||
stloc:int32(var_12_16C, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_10_52), ldc.i4:int32(7)))
|
||||
stloc:int32(var_4_173, add:int32(ldloc:int32(var_4_15D), ldloc:int32(var_12_16C)))
|
||||
stloc:int32(var_4_17A, add:int32(ldloc:int32(var_4_173), ldloc:int32(var_4_173)))
|
||||
stloc:int32(var_4_180, add:int32(ldloc:int32(var_4_17A), ldloc:int32(var_3_14E)))
|
||||
stloc:int32(var_13_18A, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_10_52), ldc.i4:int32(7)))
|
||||
stloc:int32(var_3_193, add:int32(ldloc:int32(var_3_14E), ldloc:int32(var_13_18A)))
|
||||
stloc:int32(var_3_197, add:int32(ldloc:int32(var_3_193), ldloc:int32(var_3_193)))
|
||||
stloc:int32(var_4_19D, ldloc:int32(var_8_42))
|
||||
stloc:int32(var_0_1A6, add:int32(ldloc:int32(var_0_06), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_4_1AB, add:int32(ldloc:int32(var_4_19D), ldloc:int32(var_0_1A6)))
|
||||
stloc:int32(var_3_1AF, ldloc:int32(var_4_1AB))
|
||||
stloc:int32(var_3_1B4, add:int32(ldloc:int32(var_3_1AF), ldloc:int32(var_9_4A)))
|
||||
stloc:int32(var_9_1BD, add:int32(ldloc:int32(var_9_4A), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_4_1C3, ldloc:int32(var_3_1B4))
|
||||
stloc:int32(var_4_1CA, add:int32(ldloc:int32(var_4_1C3), ldloc:int32(var_12_16C)))
|
||||
stloc:int32(var_12_1CE, ldloc:int32(var_7_3A))
|
||||
stloc:int32(var_4_1D5, add:int32(ldloc:int32(var_4_1CA), ldloc:int32(var_9_1BD)))
|
||||
stloc:int32(var_9_1D9, ldloc:int32(var_4_1D5))
|
||||
stloc:int32(var_4_1DD, ldloc:int32(var_12_1CE))
|
||||
stloc:int32(var_9_1E4, add:int32(ldloc:int32(var_9_1D9), ldloc:int32(var_8_42)))
|
||||
stloc:int32(var_4_1EE, add:int32(ldloc:int32(var_4_1DD), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_4_1F5, add:int32(ldloc:int32(var_4_1EE), ldloc:int32(var_8_42)))
|
||||
stloc:int32(var_7_1F9, ldloc:int32(var_4_1F5))
|
||||
stloc:int32(var_7_1FF, add:int32(ldloc:int32(var_7_1F9), ldloc:int32(var_3_1B4)))
|
||||
stloc:int32(var_8_203, ldloc:int32(var_7_1FF))
|
||||
stloc:int32(var_3_20C, add:int32(ldloc:int32(var_3_1B4), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_4_211, add:int32(ldloc:int32(var_4_1F5), ldloc:int32(var_3_20C)))
|
||||
stloc:int32(var_3_218, ldloc:int32(var_4_211))
|
||||
stloc:int32(var_3_21D, add:int32(ldloc:int32(var_3_218), ldloc:int32(var_12_1CE)))
|
||||
stloc:int32(var_12_226, add:int32(ldloc:int32(var_12_1CE), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_4_229, ldloc:int32(var_3_21D))
|
||||
stloc:int32(var_4_230, add:int32(ldloc:int32(var_4_229), ldloc:int32(var_12_226)))
|
||||
stloc:int32(var_12_233, ldloc:int32(var_3_21D))
|
||||
stloc:int32(var_9_237, ldloc:int32(var_4_230))
|
||||
stloc:int32(var_4_23B, ldloc:int32(var_8_203))
|
||||
stloc:int32(var_9_242, add:int32(ldloc:int32(var_9_237), ldloc:int32(var_4_23B)))
|
||||
stloc:int32(var_4_24C, add:int32(ldloc:int32(var_4_23B), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_4_253, add:int32(ldloc:int32(var_4_24C), ldloc:int32(var_4_24C)))
|
||||
stloc:int32(var_7_257, ldloc:int32(var_4_253))
|
||||
stloc:int32(var_7_25D, add:int32(ldloc:int32(var_7_257), ldloc:int32(var_3_21D)))
|
||||
stloc:int32(var_4_265, ldloc:int32(var_9_242))
|
||||
stloc:int32(var_3_26E, add:int32(ldloc:int32(var_3_21D), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_4_273, add:int32(ldloc:int32(var_4_265), ldloc:int32(var_3_26E)))
|
||||
stloc:int32(var_3_27A, ldloc:int32(var_4_273))
|
||||
stloc:int32(var_3_27F, add:int32(ldloc:int32(var_3_27A), ldloc:int32(var_8_203)))
|
||||
stloc:int32(var_4_288, add:int32(ldloc:int32(var_4_273), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_4_28F, add:int32(ldloc:int32(var_4_288), ldloc:int32(var_8_203)))
|
||||
stloc:int32(var_9_293, ldloc:int32(var_4_28F))
|
||||
stloc:int32(var_4_296, ldloc:int32(var_3_27F))
|
||||
stloc:int32(var_9_29D, add:int32(ldloc:int32(var_9_293), ldloc:int32(var_12_233)))
|
||||
stloc:int32(var_8_2A1, ldloc:int32(var_9_29D))
|
||||
stloc:int32(var_12_2AB, add:int32(ldloc:int32(var_12_233), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_4_2B2, add:int32(ldloc:int32(var_4_296), ldloc:int32(var_12_2AB)))
|
||||
stloc:int32(var_12_2B5, ldloc:int32(var_3_27F))
|
||||
stloc:int32(var_7_2B9, ldloc:int32(var_4_2B2))
|
||||
stloc:int32(var_7_2C0, add:int32(ldloc:int32(var_7_2B9), ldloc:int32(var_4_2B2)))
|
||||
stloc:int32(var_4_2CA, add:int32(ldloc:int32(var_4_2B2), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_4_2CE, ldloc:int32(var_12_2B5))
|
||||
stloc:int32(var_4_2D5, add:int32(ldloc:int32(var_4_2CE), ldloc:int32(var_4_2CE)))
|
||||
stloc:int32(var_4_2D9, ldloc:int32(var_7_2C0))
|
||||
stloc:int32(var_3_2DD, ldloc:int32(var_4_2D9))
|
||||
stloc:int32(var_4_2E0, ldloc:int32(var_8_2A1))
|
||||
stloc:int32(var_3_2E5, add:int32(ldloc:int32(var_3_2DD), ldloc:int32(var_3_2DD)))
|
||||
stloc:int32(var_4_2EE, add:int32(ldloc:int32(var_4_2E0), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_4_2F5, add:int32(ldloc:int32(var_4_2EE), ldloc:int32(var_13_18A)))
|
||||
stloc:int32(var_4_2FB, add:int32(ldloc:int32(var_4_2F5), ldloc:int32(var_3_2E5)))
|
||||
stloc:int32(var_9_2FF, ldloc:int32(var_4_2FB))
|
||||
stloc:int32(var_9_306, add:int32(ldloc:int32(var_9_2FF), ldloc:int32(var_12_2B5)))
|
||||
stloc:int32(var_12_310, add:int32(ldloc:int32(var_12_2B5), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_3_314, ldloc:int32(var_9_306))
|
||||
stloc:int32(var_4_31A, add:int32(ldloc:int32(var_4_2FB), ldloc:int32(var_12_310)))
|
||||
stloc:int32(var_12_31E, ldloc:int32(var_4_31A))
|
||||
stloc:int32(var_12_325, add:int32(ldloc:int32(var_12_31E), ldloc:int32(var_8_2A1)))
|
||||
stloc:int32(var_4_328, ldloc:int32(var_3_314))
|
||||
stloc:int32(var_8_332, add:int32(ldloc:int32(var_8_2A1), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_14_33C, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_10_52), ldc.i4:int32(6)))
|
||||
stloc:int32(var_4_343, add:int32(ldloc:int32(var_4_328), ldloc:int32(var_8_332)))
|
||||
stloc:int32(var_3_347, ldloc:int32(var_4_343))
|
||||
stloc:int32(var_8_34A, ldloc:int32(var_12_325))
|
||||
stloc:int32(var_14_354, add:int32(ldloc:int32(var_14_33C), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_3_35A, add:int32(ldloc:int32(var_3_347), ldloc:int32(var_4_343)))
|
||||
stloc:int32(var_4_35C, ldloc:int32(var_3_35A))
|
||||
stloc:int32(var_4_366, add:int32(ldloc:int32(var_4_35C), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_4_36D, add:int32(ldloc:int32(var_4_366), ldloc:int32(var_4_366)))
|
||||
stloc:int32(var_7_371, ldloc:int32(var_4_36D))
|
||||
stloc:int32(var_4_375, ldloc:int32(var_8_34A))
|
||||
stloc:int32(var_7_37B, add:int32(ldloc:int32(var_7_371), ldloc:int32(var_3_35A)))
|
||||
stloc:int32(var_4_385, add:int32(ldloc:int32(var_4_375), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_4_38B, add:int32(ldloc:int32(var_4_385), ldloc:int32(var_3_35A)))
|
||||
stloc:int32(var_13_38F, ldloc:int32(var_4_38B))
|
||||
stloc:int32(var_4_392, ldloc:int32(var_3_35A))
|
||||
stloc:int32(var_13_398, add:int32(ldloc:int32(var_13_38F), ldloc:int32(var_3_35A)))
|
||||
stloc:int32(var_14_39F, add:int32(ldloc:int32(var_14_354), ldloc:int32(var_4_392)))
|
||||
stloc:int32(var_4_3A3, ldloc:int32(var_7_37B))
|
||||
stloc:int32(var_14_3A9, add:int32(ldloc:int32(var_14_39F), ldloc:int32(var_3_35A)))
|
||||
stloc:int32(var_12_3AD, ldloc:int32(var_14_3A9))
|
||||
stloc:int32(var_12_3B4, add:int32(ldloc:int32(var_12_3AD), ldloc:int32(var_8_34A)))
|
||||
stloc:int32(var_14_3B8, ldloc:int32(var_12_3B4))
|
||||
stloc:int32(var_6_3BB, ldloc:int32(var_3_35A))
|
||||
stloc:int32(var_8_3BF, ldloc:int32(var_12_3B4))
|
||||
stloc:int32(var_4_3C6, add:int32(ldloc:int32(var_4_3A3), ldloc:int32(var_14_3B8)))
|
||||
stloc:int32(var_6_3CD, add:int32(ldloc:int32(var_6_3BB), ldloc:int32(var_4_3C6)))
|
||||
stloc:int32(var_3_3D1, ldloc:int32(var_4_3C6))
|
||||
stloc:int32(var_4_3D6, add:int32(ldloc:int32(var_4_3C6), ldloc:int32(var_3_3D1)))
|
||||
stloc:int32(var_4_3E4, add:int32(ldloc:int32(var_4_3D6), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_3_3E8, ldloc:int32(var_4_3E4))
|
||||
stloc:int32(var_4_3ED, add:int32(ldloc:int32(var_4_3E4), ldloc:int32(var_3_3E8)))
|
||||
stloc:int32(var_3_3F1, ldloc:int32(var_4_3ED))
|
||||
stloc:int32(var_3_3F6, add:int32(ldloc:int32(var_3_3F1), ldloc:int32(var_4_3ED)))
|
||||
stloc:int32(var_14_3F8, ldloc:int32(var_3_3F6))
|
||||
stloc:int32(var_4_3FB, ldloc:int32(var_3_3F6))
|
||||
stloc:int32(var_4_402, add:int32(ldloc:int32(var_4_3FB), ldloc:int32(var_14_3F8)))
|
||||
stloc:int32(var_12_406, ldloc:int32(var_4_402))
|
||||
stloc:int32(var_4_409, ldloc:int32(var_3_3F6))
|
||||
stloc:int32(var_12_40F, add:int32(ldloc:int32(var_12_406), ldloc:int32(var_3_3F6)))
|
||||
stloc:int32(var_14_413, ldloc:int32(var_12_40F))
|
||||
stloc:int32(var_4_41A, add:int32(ldloc:int32(var_4_409), ldloc:int32(var_14_413)))
|
||||
stloc:int32(var_3_41E, ldloc:int32(var_4_41A))
|
||||
stloc:int32(var_3_423, add:int32(ldloc:int32(var_3_41E), ldloc:int32(var_8_3BF)))
|
||||
stloc:int32(var_14_425, ldloc:int32(var_3_423))
|
||||
stloc:int32(var_4_429, ldloc:int32(var_12_40F))
|
||||
stloc:int32(var_3_42D, ldloc:int32(var_12_40F))
|
||||
stloc:int32(var_4_433, add:int32(ldloc:int32(var_4_429), ldloc:int32(var_14_425)))
|
||||
stloc:int32(var_8_436, ldloc:int32(var_3_42D))
|
||||
stloc:int32(var_4_43C, add:int32(ldloc:int32(var_4_433), ldloc:int32(var_3_42D)))
|
||||
stloc:int32(var_4_43F, ldloc:int32(var_3_42D))
|
||||
stloc:int32(var_4_44D, add:int32(ldloc:int32(var_4_43F), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_4_453, add:int32(ldloc:int32(var_4_44D), ldloc:int32(var_3_42D)))
|
||||
stloc:int32(var_3_457, ldloc:int32(var_4_453))
|
||||
stloc:int32(var_3_45C, add:int32(ldloc:int32(var_3_457), ldloc:int32(var_4_453)))
|
||||
stloc:int32(var_14_45E, ldloc:int32(var_3_45C))
|
||||
stloc:int32(var_4_461, ldloc:int32(var_3_45C))
|
||||
stloc:int32(var_4_468, add:int32(ldloc:int32(var_4_461), ldloc:int32(var_14_45E)))
|
||||
stloc:int32(var_12_46C, ldloc:int32(var_4_468))
|
||||
stloc:int32(var_4_46F, ldloc:int32(var_3_45C))
|
||||
stloc:int32(var_12_475, add:int32(ldloc:int32(var_12_46C), ldloc:int32(var_3_45C)))
|
||||
stloc:int32(var_14_479, ldloc:int32(var_12_475))
|
||||
stloc:int32(var_4_480, add:int32(ldloc:int32(var_4_46F), ldloc:int32(var_14_479)))
|
||||
stloc:int32(var_4_484, ldloc:int32(var_12_475))
|
||||
stloc:int32(var_4_48B, add:int32(ldloc:int32(var_4_484), ldloc:int32(var_8_436)))
|
||||
stloc:int32(var_4_499, add:int32(ldloc:int32(var_4_48B), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_4_4A0, add:int32(ldloc:int32(var_4_499), ldloc:int32(var_8_436)))
|
||||
stloc:int32(var_3_4A7, ldloc:int32(var_12_475))
|
||||
stloc:int32(var_3_4AC, add:int32(ldloc:int32(var_3_4A7), ldloc:int32(var_4_4A0)))
|
||||
stloc:int32(var_4_4B8, add:int32(ldloc:int32(var_4_4A0), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_8_4BB, ldloc:int32(var_3_4AC))
|
||||
stloc:int32(var_4_4C2, add:int32(ldloc:int32(var_4_4B8), ldloc:int32(var_4_4B8)))
|
||||
stloc:int32(var_15_4CC, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_10_52), ldc.i4:int32(2)))
|
||||
stloc:int32(var_3_4D0, ldloc:int32(var_4_4C2))
|
||||
stloc:int32(var_15_4D9, add:int32(ldloc:int32(var_15_4CC), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_3_4DE, add:int32(ldloc:int32(var_3_4D0), ldloc:int32(var_3_4D0)))
|
||||
stloc:int32(var_4_4E0, ldloc:int32(var_3_4DE))
|
||||
stloc:int32(var_4_4ED, add:int32(ldloc:int32(var_4_4E0), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_4_4F3, add:int32(ldloc:int32(var_4_4ED), ldloc:int32(var_3_4DE)))
|
||||
stloc:int32(var_12_4F7, ldloc:int32(var_4_4F3))
|
||||
stloc:int32(var_12_4FD, add:int32(ldloc:int32(var_12_4F7), ldloc:int32(var_3_4DE)))
|
||||
stloc:int32(var_4_505, ldloc:int32(var_12_4FD))
|
||||
stloc:int32(var_4_50C, add:int32(ldloc:int32(var_4_505), ldloc:int32(var_15_4D9)))
|
||||
stloc:int32(var_15_50F, ldloc:int32(var_3_4DE))
|
||||
stloc:int32(var_4_515, add:int32(ldloc:int32(var_4_50C), ldloc:int32(var_3_4DE)))
|
||||
stloc:int32(var_3_51C, ldloc:int32(var_12_4FD))
|
||||
stloc:int32(var_3_521, add:int32(ldloc:int32(var_3_51C), ldloc:int32(var_4_515)))
|
||||
stloc:int32(var_4_524, ldloc:int32(var_12_4FD))
|
||||
stloc:int32(var_14_527, ldloc:int32(var_3_521))
|
||||
stloc:int32(var_4_52E, add:int32(ldloc:int32(var_4_524), ldloc:int32(var_14_527)))
|
||||
stloc:int32(var_4_535, add:int32(ldloc:int32(var_4_52E), ldloc:int32(var_8_4BB)))
|
||||
stloc:int32(var_14_539, ldloc:int32(var_4_535))
|
||||
stloc:int32(var_4_53C, ldloc:int32(var_3_521))
|
||||
stloc:int32(var_8_53F, ldloc:int32(var_3_521))
|
||||
stloc:int32(var_4_546, add:int32(ldloc:int32(var_4_53C), ldloc:int32(var_14_539)))
|
||||
stloc:int32(var_4_54D, add:int32(ldloc:int32(var_4_546), ldloc:int32(var_15_50F)))
|
||||
stloc:int32(var_4_55B, add:int32(ldloc:int32(var_4_54D), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_4_562, add:int32(ldloc:int32(var_4_55B), ldloc:int32(var_15_50F)))
|
||||
stloc:int32(var_12_566, ldloc:int32(var_4_562))
|
||||
stloc:int32(var_12_56C, add:int32(ldloc:int32(var_12_566), ldloc:int32(var_3_521)))
|
||||
stloc:int32(var_3_570, ldloc:int32(var_12_56C))
|
||||
stloc:int32(var_14_572, ldloc:int32(var_3_570))
|
||||
stloc:int32(var_4_57C, add:int32(ldloc:int32(var_4_562), ldloc:int32(var_14_572)))
|
||||
stloc:int32(var_3_580, ldloc:int32(var_4_57C))
|
||||
stloc:int32(var_14_583, ldloc:int32(var_4_57C))
|
||||
stloc:int32(var_3_589, add:int32(ldloc:int32(var_3_580), ldloc:int32(var_8_53F)))
|
||||
stloc:int32(var_8_592, add:int32(ldloc:int32(var_8_53F), ldc.i4:int32(1548603684)))
|
||||
stloc:int32(var_8_599, add:int32(ldloc:int32(var_8_592), ldloc:int32(var_14_583)))
|
||||
stloc:int32(var_14_59C, ldloc:int32(var_3_589))
|
||||
stloc:int32(var_4_5A0, ldloc:int32(var_8_599))
|
||||
stloc:int32(var_4_5A7, add:int32(ldloc:int32(var_4_5A0), ldloc:int32(var_4_5A0)))
|
||||
stloc:int32(var_8_5AB, ldloc:int32(var_4_5A7))
|
||||
stloc:int32(var_8_5B2, add:int32(ldloc:int32(var_8_5AB), ldloc:int32(var_14_59C)))
|
||||
stloc:int32(var_3_5B6, ldloc:int32(var_4_5A7))
|
||||
stloc:int32(var_4_5B9, ldloc:int32(var_8_5B2))
|
||||
stloc:int32(var_15_5BD, ldloc:int32(var_6_3CD))
|
||||
stloc:int32(var_4_5C4, add:int32(ldloc:int32(var_4_5B9), ldloc:int32(var_4_5B9)))
|
||||
stloc:int32(var_8_5CC, ldloc:int32(var_4_5C4))
|
||||
stloc:int32(var_14_5D0, ldloc:int32(var_15_5BD))
|
||||
stloc:int32(var_8_5D7, add:int32(ldloc:int32(var_8_5CC), ldloc:int32(var_14_5D0)))
|
||||
stloc:int32(var_14_5DA, ldloc:int32(var_3_5B6))
|
||||
stloc:int32(var_4_5DE, ldloc:int32(var_8_5D7))
|
||||
stloc:int32(var_4_5E4, add:int32(ldloc:int32(var_4_5DE), ldloc:int32(var_3_5B6)))
|
||||
stloc:int32(var_8_5E7, ldloc:int32(var_3_5B6))
|
||||
stloc:int32(var_8_5EE, add:int32(ldloc:int32(var_8_5E7), ldloc:int32(var_14_5DA)))
|
||||
stloc:int32(var_14_5F2, ldloc:int32(var_8_5EE))
|
||||
stloc:int32(var_3_5F6, ldloc:int32(var_8_5EE))
|
||||
stloc:int32(var_3_5FB, add:int32(ldloc:int32(var_3_5F6), ldloc:int32(var_15_5BD)))
|
||||
stloc:int32(var_15_5FE, ldloc:int32(var_4_5E4))
|
||||
stloc:int32(var_8_605, add:int32(ldloc:int32(var_8_5EE), ldloc:int32(var_14_5F2)))
|
||||
stloc:int32(var_4_609, ldloc:int32(var_8_605))
|
||||
stloc:int32(var_4_613, add:int32(ldloc:int32(var_4_609), ldloc:int32(var_3_5FB)))
|
||||
stloc:int32(var_8_617, ldloc:int32(var_15_5FE))
|
||||
stloc:int32(var_8_624, add:int32(ldloc:int32(var_8_617), ldc.i4:int32(1548603684)))
|
||||
stloc:int32(var_8_62A, add:int32(ldloc:int32(var_8_624), ldloc:int32(var_3_5FB)))
|
||||
stloc:int32(var_4_62E, ldloc:int32(var_8_62A))
|
||||
stloc:int32(var_4_635, add:int32(ldloc:int32(var_4_62E), ldloc:int32(var_8_62A)))
|
||||
stloc:int32(var_14_63D, ldloc:int32(var_4_635))
|
||||
stloc:int32(var_8_641, ldloc:int32(var_4_635))
|
||||
stloc:int32(var_8_648, add:int32(ldloc:int32(var_8_641), ldloc:int32(var_14_63D)))
|
||||
stloc:int32(var_3_64C, ldloc:int32(var_8_648))
|
||||
stloc:int32(var_14_64F, ldloc:int32(var_8_648))
|
||||
stloc:int32(var_3_655, add:int32(ldloc:int32(var_3_64C), ldloc:int32(var_15_5FE)))
|
||||
stloc:int32(var_8_657, ldloc:int32(var_3_655))
|
||||
stloc:int32(var_15_65B, ldloc:int32(var_4_635))
|
||||
stloc:int32(var_8_662, add:int32(ldloc:int32(var_8_657), ldloc:int32(var_14_64F)))
|
||||
stloc:int32(var_4_666, ldloc:int32(var_8_662))
|
||||
stloc:int32(var_14_66A, ldloc:int32(var_15_65B))
|
||||
stloc:int32(var_4_671, add:int32(ldloc:int32(var_4_666), ldloc:int32(var_4_666)))
|
||||
stloc:int32(var_8_675, ldloc:int32(var_15_65B))
|
||||
stloc:int32(var_8_67F, add:int32(ldloc:int32(var_8_675), ldloc:int32(var_14_66A)))
|
||||
stloc:int32(var_4_683, ldloc:int32(var_8_67F))
|
||||
stloc:int32(var_14_687, ldloc:int32(var_4_683))
|
||||
stloc:int32(var_4_68E, add:int32(ldloc:int32(var_4_683), ldloc:int32(var_8_67F)))
|
||||
stloc:int32(var_8_696, ldloc:int32(var_4_68E))
|
||||
stloc:int32(var_8_69D, add:int32(ldloc:int32(var_8_696), ldloc:int32(var_14_687)))
|
||||
stloc:int32(var_3_6A1, ldloc:int32(var_8_69D))
|
||||
stloc:int32(var_14_6A4, ldloc:int32(var_8_69D))
|
||||
stloc:int32(var_3_6AA, add:int32(ldloc:int32(var_3_6A1), ldloc:int32(var_15_65B)))
|
||||
stloc:int32(var_8_6B0, add:int32(ldloc:int32(var_8_69D), ldloc:int32(var_14_6A4)))
|
||||
stloc:int32(var_15_6B4, ldloc:int32(var_4_68E))
|
||||
stloc:int32(var_4_6B8, ldloc:int32(var_8_6B0))
|
||||
stloc:int32(var_4_6BF, add:int32(ldloc:int32(var_4_6B8), ldloc:int32(var_4_6B8)))
|
||||
stloc:int32(var_8_6C3, ldloc:int32(var_4_6BF))
|
||||
stloc:int32(var_14_6C7, ldloc:int32(var_15_6B4))
|
||||
stloc:int32(var_8_6D1, add:int32(ldloc:int32(var_8_6C3), ldloc:int32(var_14_6C7)))
|
||||
stloc:int32(var_4_6D5, ldloc:int32(var_8_6D1))
|
||||
stloc:int32(var_14_6D9, ldloc:int32(var_4_6D5))
|
||||
stloc:int32(var_4_6E0, add:int32(ldloc:int32(var_4_6D5), ldloc:int32(var_8_6D1)))
|
||||
stloc:int32(var_8_6E8, ldloc:int32(var_4_6E0))
|
||||
stloc:int32(var_8_6EF, add:int32(ldloc:int32(var_8_6E8), ldloc:int32(var_14_6D9)))
|
||||
stloc:int32(var_3_6F3, ldloc:int32(var_8_6EF))
|
||||
stloc:int32(var_14_6F6, ldloc:int32(var_8_6EF))
|
||||
stloc:int32(var_3_6FC, add:int32(ldloc:int32(var_3_6F3), ldloc:int32(var_15_6B4)))
|
||||
stloc:int32(var_15_6FF, ldloc:int32(var_4_6E0))
|
||||
stloc:int32(var_8_706, add:int32(ldloc:int32(var_8_6EF), ldloc:int32(var_14_6F6)))
|
||||
stloc:int32(var_4_70A, ldloc:int32(var_8_706))
|
||||
stloc:int32(var_4_715, add:int32(ldloc:int32(var_4_70A), ldloc:int32(var_4_70A)))
|
||||
stloc:int32(var_8_719, ldloc:int32(var_15_6FF))
|
||||
stloc:int32(var_8_723, add:int32(ldloc:int32(var_8_719), ldc.i4:int32(1548603684)))
|
||||
stloc:int32(var_8_72A, add:int32(ldloc:int32(var_8_723), ldloc:int32(var_4_715)))
|
||||
stloc:int32(var_13_72E, ldloc:int32(var_8_72A))
|
||||
stloc:int32(var_13_735, add:int32(ldloc:int32(var_13_72E), ldloc:int32(var_8_72A)))
|
||||
stloc:int32(var_8_738, ldloc:int32(var_3_6FC))
|
||||
stloc:int32(var_4_73B, ldloc:int32(var_3_6FC))
|
||||
stloc:int32(var_3_743, ldloc:int32(var_4_73B))
|
||||
stloc:int32(var_8_74C, add:int32(ldloc:int32(var_8_738), ldc.i4:int32(1548603684)))
|
||||
stloc:int32(var_8_753, add:int32(ldloc:int32(var_8_74C), ldloc:int32(var_8_74C)))
|
||||
stloc:int32(var_6_757, ldloc:int32(var_8_753))
|
||||
stloc:int32(var_6_75E, add:int32(ldloc:int32(var_6_757), ldloc:int32(var_15_6FF)))
|
||||
stloc:int32(var_8_768, add:int32(ldloc:int32(var_8_753), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_8_76E, add:int32(ldloc:int32(var_8_768), ldloc:int32(var_3_743)))
|
||||
stloc:int32(var_14_772, ldloc:int32(var_8_76E))
|
||||
stloc:int32(var_4_776, ldloc:int32(var_12_56C))
|
||||
stloc:int32(var_14_77D, add:int32(ldloc:int32(var_14_772), ldloc:int32(var_4_776)))
|
||||
stloc:int32(var_4_787, add:int32(ldloc:int32(var_4_776), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_8_78B, ldloc:int32(var_14_77D))
|
||||
stloc:int32(var_12_78E, ldloc:int32(var_3_743))
|
||||
stloc:int32(var_12_795, add:int32(ldloc:int32(var_12_78E), ldloc:int32(var_4_787)))
|
||||
stloc:int32(var_4_799, ldloc:int32(var_12_795))
|
||||
stloc:int32(var_12_79D, ldloc:int32(var_14_77D))
|
||||
stloc:int32(var_4_7A3, add:int32(ldloc:int32(var_4_799), ldloc:int32(var_3_743)))
|
||||
stloc:int32(var_3_7AC, add:int32(ldloc:int32(var_3_743), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_12_7B1, add:int32(ldloc:int32(var_12_79D), ldloc:int32(var_3_7AC)))
|
||||
stloc:int32(var_3_7B5, ldloc:int32(var_12_7B1))
|
||||
stloc:int32(var_12_7B8, ldloc:int32(var_4_7A3))
|
||||
stloc:int32(var_3_7BE, add:int32(ldloc:int32(var_3_7B5), ldloc:int32(var_4_7A3)))
|
||||
stloc:int32(var_4_7C7, add:int32(ldloc:int32(var_4_7A3), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_12_7CE, add:int32(ldloc:int32(var_12_7B8), ldloc:int32(var_4_7C7)))
|
||||
stloc:int32(var_14_7D2, ldloc:int32(var_12_7CE))
|
||||
stloc:int32(var_14_7D9, add:int32(ldloc:int32(var_14_7D2), ldloc:int32(var_4_7C7)))
|
||||
stloc:int32(var_12_7DC, ldloc:int32(var_3_7BE))
|
||||
stloc:int32(var_4_7E6, add:int32(ldloc:int32(var_4_7C7), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_12_7ED, add:int32(ldloc:int32(var_12_7DC), ldloc:int32(var_4_7E6)))
|
||||
stloc:int32(var_4_7F4, ldloc:int32(var_12_7ED))
|
||||
stloc:int32(var_4_7FB, add:int32(ldloc:int32(var_4_7F4), ldloc:int32(var_8_78B)))
|
||||
stloc:int32(var_12_7FF, ldloc:int32(var_14_7D9))
|
||||
stloc:int32(var_15_803, ldloc:int32(var_4_7FB))
|
||||
stloc:int32(var_8_80D, add:int32(ldloc:int32(var_8_78B), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_12_814, add:int32(ldloc:int32(var_12_7FF), ldloc:int32(var_8_80D)))
|
||||
stloc:int32(var_8_818, ldloc:int32(var_14_7D9))
|
||||
stloc:int32(var_3_81C, ldloc:int32(var_12_814))
|
||||
stloc:int32(var_12_81F, ldloc:int32(var_4_7FB))
|
||||
stloc:int32(var_3_825, add:int32(ldloc:int32(var_3_81C), ldloc:int32(var_4_7FB)))
|
||||
stloc:int32(var_12_82E, add:int32(ldloc:int32(var_12_81F), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_12_835, add:int32(ldloc:int32(var_12_82E), ldloc:int32(var_4_7FB)))
|
||||
stloc:int32(var_14_839, ldloc:int32(var_12_835))
|
||||
stloc:int32(var_12_83C, ldloc:int32(var_3_825))
|
||||
stloc:int32(var_14_843, add:int32(ldloc:int32(var_14_839), ldloc:int32(var_4_7FB)))
|
||||
stloc:int32(var_12_84D, add:int32(ldloc:int32(var_12_83C), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_12_854, add:int32(ldloc:int32(var_12_84D), ldloc:int32(var_4_7FB)))
|
||||
stloc:int32(var_4_858, ldloc:int32(var_12_854))
|
||||
stloc:int32(var_12_85C, ldloc:int32(var_14_843))
|
||||
stloc:int32(var_4_863, add:int32(ldloc:int32(var_4_858), ldloc:int32(var_8_818)))
|
||||
stloc:int32(var_12_86D, add:int32(ldloc:int32(var_12_85C), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_12_874, add:int32(ldloc:int32(var_12_86D), ldloc:int32(var_8_818)))
|
||||
stloc:int32(var_4_878, ldloc:int32(var_12_874))
|
||||
stloc:int32(var_3_87C, ldloc:int32(var_14_843))
|
||||
stloc:int32(var_4_882, add:int32(ldloc:int32(var_4_878), ldloc:int32(var_15_803)))
|
||||
stloc:int32(var_12_886, ldloc:int32(var_4_882))
|
||||
stloc:int32(var_15_890, add:int32(ldloc:int32(var_15_803), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_8_894, ldloc:int32(var_4_882))
|
||||
stloc:int32(var_12_89B, add:int32(ldloc:int32(var_12_886), ldloc:int32(var_15_890)))
|
||||
stloc:int32(var_15_89F, ldloc:int32(var_4_882))
|
||||
stloc:int32(var_4_8A3, ldloc:int32(var_12_89B))
|
||||
stloc:int32(var_4_8A9, add:int32(ldloc:int32(var_4_8A3), ldloc:int32(var_3_87C)))
|
||||
stloc:int32(var_12_8AD, ldloc:int32(var_4_8A9))
|
||||
stloc:int32(var_12_8B7, add:int32(ldloc:int32(var_12_8AD), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_12_8BD, add:int32(ldloc:int32(var_12_8B7), ldloc:int32(var_3_87C)))
|
||||
stloc:int32(var_3_8C1, ldloc:int32(var_12_8BD))
|
||||
stloc:int32(var_12_8C4, ldloc:int32(var_4_8A9))
|
||||
stloc:int32(var_3_8C9, add:int32(ldloc:int32(var_3_8C1), ldloc:int32(var_3_8C1)))
|
||||
stloc:int32(var_12_8D5, add:int32(ldloc:int32(var_12_8C4), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_12_8DB, add:int32(ldloc:int32(var_12_8D5), ldloc:int32(var_3_8C9)))
|
||||
stloc:int32(var_14_8DF, ldloc:int32(var_12_8DB))
|
||||
stloc:int32(var_12_8E2, ldloc:int32(var_3_8C9))
|
||||
stloc:int32(var_14_8E9, add:int32(ldloc:int32(var_14_8DF), ldloc:int32(var_15_89F)))
|
||||
stloc:int32(var_12_8F3, add:int32(ldloc:int32(var_12_8E2), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_12_8FA, add:int32(ldloc:int32(var_12_8F3), ldloc:int32(var_15_89F)))
|
||||
stloc:int32(var_4_8FE, ldloc:int32(var_12_8FA))
|
||||
stloc:int32(var_12_902, ldloc:int32(var_14_8E9))
|
||||
stloc:int32(var_4_909, add:int32(ldloc:int32(var_4_8FE), ldloc:int32(var_8_894)))
|
||||
stloc:int32(var_8_913, add:int32(ldloc:int32(var_8_894), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_12_91A, add:int32(ldloc:int32(var_12_902), ldloc:int32(var_8_913)))
|
||||
stloc:int32(var_3_91E, ldloc:int32(var_12_91A))
|
||||
stloc:int32(var_8_921, ldloc:int32(var_14_8E9))
|
||||
stloc:int32(var_16_92B, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_10_52), ldc.i4:int32(6)))
|
||||
stloc:int32(var_12_92F, ldloc:int32(var_4_909))
|
||||
stloc:int32(var_3_935, add:int32(ldloc:int32(var_3_91E), ldloc:int32(var_4_909)))
|
||||
stloc:int32(var_12_942, add:int32(ldloc:int32(var_12_92F), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_12_949, add:int32(ldloc:int32(var_12_942), ldloc:int32(var_4_909)))
|
||||
stloc:int32(var_3_94D, ldloc:int32(var_12_949))
|
||||
stloc:int32(var_4_950, ldloc:int32(var_13_735))
|
||||
stloc:int32(var_12_953, ldloc:int32(var_3_94D))
|
||||
stloc:int32(var_3_959, add:int32(ldloc:int32(var_3_94D), ldloc:int32(var_4_950)))
|
||||
stloc:int32(var_12_962, add:int32(ldloc:int32(var_12_953), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_15_96C, add:int32(ldloc:int32(var_15_89F), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_12_973, add:int32(ldloc:int32(var_12_962), ldloc:int32(var_16_92B)))
|
||||
stloc:int32(var_12_97A, add:int32(ldloc:int32(var_12_973), ldloc:int32(var_4_950)))
|
||||
stloc:int32(var_3_97E, ldloc:int32(var_12_97A))
|
||||
stloc:int32(var_3_986, add:int32(ldloc:int32(var_3_97E), ldloc:int32(var_8_921)))
|
||||
stloc:int32(var_8_989, ldloc:int32(var_6_75E))
|
||||
stloc:int32(var_12_98D, ldloc:int32(var_13_735))
|
||||
stloc:int32(var_12_994, add:int32(ldloc:int32(var_12_98D), ldloc:int32(var_15_96C)))
|
||||
stloc:int32(var_15_998, ldloc:int32(var_12_994))
|
||||
stloc:int32(var_12_99C, ldloc:int32(var_6_75E))
|
||||
stloc:int32(var_15_9A3, add:int32(ldloc:int32(var_15_998), ldloc:int32(var_8_989)))
|
||||
stloc:int32(var_8_9AD, add:int32(ldloc:int32(var_8_989), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_12_9B4, add:int32(ldloc:int32(var_12_99C), ldloc:int32(var_8_9AD)))
|
||||
stloc:int32(var_8_9B8, ldloc:int32(var_12_9B4))
|
||||
stloc:int32(var_12_9BC, ldloc:int32(var_15_9A3))
|
||||
stloc:int32(var_8_9C3, add:int32(ldloc:int32(var_8_9B8), ldloc:int32(var_4_950)))
|
||||
stloc:int32(var_4_9C7, ldloc:int32(var_15_9A3))
|
||||
stloc:int32(var_12_9D1, add:int32(ldloc:int32(var_12_9BC), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_12_9D8, add:int32(ldloc:int32(var_12_9D1), ldloc:int32(var_4_9C7)))
|
||||
stloc:int32(var_3_9DC, ldloc:int32(var_12_9D8))
|
||||
stloc:int32(var_12_9DF, ldloc:int32(var_8_9C3))
|
||||
stloc:int32(var_3_9E5, add:int32(ldloc:int32(var_3_9DC), ldloc:int32(var_4_9C7)))
|
||||
stloc:int32(var_4_9EE, add:int32(ldloc:int32(var_4_9C7), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_12_9F5, add:int32(ldloc:int32(var_12_9DF), ldloc:int32(var_4_9EE)))
|
||||
stloc:int32(var_4_9F9, ldloc:int32(var_8_9C3))
|
||||
stloc:int32(var_15_9FD, ldloc:int32(var_12_9F5))
|
||||
stloc:int32(var_15_A04, add:int32(ldloc:int32(var_15_9FD), ldloc:int32(var_8_9C3)))
|
||||
stloc:int32(var_12_A07, ldloc:int32(var_3_9E5))
|
||||
stloc:int32(var_8_A11, add:int32(ldloc:int32(var_8_9C3), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_12_A18, add:int32(ldloc:int32(var_12_A07), ldloc:int32(var_8_A11)))
|
||||
stloc:int32(var_8_A1F, ldloc:int32(var_12_A18))
|
||||
stloc:int32(var_8_A26, add:int32(ldloc:int32(var_8_A1F), ldloc:int32(var_4_9F9)))
|
||||
stloc:int32(var_12_A2A, ldloc:int32(var_15_A04))
|
||||
stloc:int32(var_4_A34, add:int32(ldloc:int32(var_4_9F9), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_15_A38, ldloc:int32(var_8_A26))
|
||||
stloc:int32(var_12_A3F, add:int32(ldloc:int32(var_12_A2A), ldloc:int32(var_4_A34)))
|
||||
stloc:int32(var_4_A43, ldloc:int32(var_15_A38))
|
||||
stloc:int32(var_3_A47, ldloc:int32(var_12_A3F))
|
||||
stloc:int32(var_3_A4C, add:int32(ldloc:int32(var_3_A47), ldloc:int32(var_4_A43)))
|
||||
stloc:int32(var_12_A4F, ldloc:int32(var_8_A26))
|
||||
stloc:int32(var_4_A59, add:int32(ldloc:int32(var_4_A43), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_12_A60, add:int32(ldloc:int32(var_12_A4F), ldloc:int32(var_4_A59)))
|
||||
stloc:int32(var_15_A64, ldloc:int32(var_12_A60))
|
||||
stloc:int32(var_12_A67, ldloc:int32(var_3_A4C))
|
||||
stloc:int32(var_15_A6E, add:int32(ldloc:int32(var_15_A64), ldloc:int32(var_8_A26)))
|
||||
stloc:int32(var_12_A78, add:int32(ldloc:int32(var_12_A67), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_16_A85, add:int32(ldloc:int32(var_16_92B), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_12_A8C, add:int32(ldloc:int32(var_12_A78), ldloc:int32(var_8_A26)))
|
||||
}
|
||||
|
||||
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: 0x0600BF1A RID: 48922 RVA: 0x002AF714 File Offset: 0x002AD914
|
||||
[Token(Token = "0x600BF1A")]
|
||||
[Address(RVA = "0x2907160", Offset = "0x2906160", VA = "0x182907160", Slot = "20")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BF1A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.RipeMD320Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:RipeMD320Digest(var_0_06, newobj:RipeMD320Digest(RipeMD320Digest::.ctor, ldloc:RipeMD320Digest(this)))
|
||||
stloc:int32[](var_1_0E, newarr:int32[]([mscorlib]System.Int32, ldc.i4:int32(16)))
|
||||
stfld:int32[](RipeMD320Digest::X, ldloc:RipeMD320Digest(var_0_06), ldloc:int32[](var_1_0E))
|
||||
call:void(RipeMD320Digest::CopyIn, ldloc:RipeMD320Digest(var_0_06), ldloc:RipeMD320Digest(this))
|
||||
}
|
||||
|
||||
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: 0x0600BF1B RID: 48923 RVA: 0x002AF740 File Offset: 0x002AD940
|
||||
[Token(Token = "0x600BF1B")]
|
||||
[Address(RVA = "0x2909E00", Offset = "0x2908E00", VA = "0x182909E00", Slot = "21")]
|
||||
public override void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x040078B7 RID: 30903
|
||||
[Token(Token = "0x40078B7")]
|
||||
private const int DigestLength = 40;
|
||||
|
||||
// Token: 0x040078B8 RID: 30904
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40078B8")]
|
||||
private int H0;
|
||||
|
||||
// Token: 0x040078B9 RID: 30905
|
||||
[FieldOffset(Offset = "0x2C")]
|
||||
[Token(Token = "0x40078B9")]
|
||||
private int H1;
|
||||
|
||||
// Token: 0x040078BA RID: 30906
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40078BA")]
|
||||
private int H2;
|
||||
|
||||
// Token: 0x040078BB RID: 30907
|
||||
[FieldOffset(Offset = "0x34")]
|
||||
[Token(Token = "0x40078BB")]
|
||||
private int H3;
|
||||
|
||||
// Token: 0x040078BC RID: 30908
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x40078BC")]
|
||||
private int H4;
|
||||
|
||||
// Token: 0x040078BD RID: 30909
|
||||
[FieldOffset(Offset = "0x3C")]
|
||||
[Token(Token = "0x40078BD")]
|
||||
private int H5;
|
||||
|
||||
// Token: 0x040078BE RID: 30910
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x40078BE")]
|
||||
private int H6;
|
||||
|
||||
// Token: 0x040078BF RID: 30911
|
||||
[FieldOffset(Offset = "0x44")]
|
||||
[Token(Token = "0x40078BF")]
|
||||
private int H7;
|
||||
|
||||
// Token: 0x040078C0 RID: 30912
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x40078C0")]
|
||||
private int H8;
|
||||
|
||||
// Token: 0x040078C1 RID: 30913
|
||||
[FieldOffset(Offset = "0x4C")]
|
||||
[Token(Token = "0x40078C1")]
|
||||
private int H9;
|
||||
|
||||
// Token: 0x040078C2 RID: 30914
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x40078C2")]
|
||||
private int[] X;
|
||||
|
||||
// Token: 0x040078C3 RID: 30915
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x40078C3")]
|
||||
private int xOff;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,378 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DD4 RID: 7636
|
||||
[Token(Token = "0x2001DD4")]
|
||||
public class SM3Digest : GeneralDigest
|
||||
{
|
||||
// Token: 0x0600BF24 RID: 48932 RVA: 0x002AF880 File Offset: 0x002ADA80
|
||||
[Token(Token = "0x600BF24")]
|
||||
[Address(RVA = "0x290AE10", Offset = "0x2909E10", VA = "0x18290AE10")]
|
||||
static SM3Digest()
|
||||
{
|
||||
uint[] array = new uint[64];
|
||||
int num = 0;
|
||||
SM3Digest.T = array;
|
||||
uint[] t = SM3Digest.T;
|
||||
num++;
|
||||
t[0] = (uint)2043430169;
|
||||
if (32UL < (ulong)16L)
|
||||
{
|
||||
}
|
||||
SM3Digest.T[0] = (uint)2055708042;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF25 RID: 48933 RVA: 0x002AF8D4 File Offset: 0x002ADAD4
|
||||
[Token(Token = "0x600BF25")]
|
||||
[Address(RVA = "0x290AF50", Offset = "0x2909F50", VA = "0x18290AF50")]
|
||||
public SM3Digest()
|
||||
{
|
||||
uint[] array = new uint[8];
|
||||
this.V = array;
|
||||
uint[] array2 = new uint[16];
|
||||
this.inwords = array2;
|
||||
uint[] array3 = new uint[68];
|
||||
this.W = array3;
|
||||
base..ctor();
|
||||
IMemoable memoable = ((IMemoable)this).Copy();
|
||||
}
|
||||
|
||||
// Token: 0x0600BF26 RID: 48934 RVA: 0x002AF91C File Offset: 0x002ADB1C
|
||||
[Token(Token = "0x600BF26")]
|
||||
[Address(RVA = "0x290AFE0", Offset = "0x2909FE0", VA = "0x18290AFE0")]
|
||||
public SM3Digest(SM3Digest t)
|
||||
{
|
||||
uint[] array = new uint[8];
|
||||
this.V = array;
|
||||
uint[] array2 = new uint[16];
|
||||
this.inwords = array2;
|
||||
uint[] array3 = new uint[68];
|
||||
this.W = array3;
|
||||
base..ctor(t);
|
||||
this.CopyIn(t);
|
||||
}
|
||||
|
||||
// Token: 0x0600BF27 RID: 48935 RVA: 0x002AF964 File Offset: 0x002ADB64
|
||||
[Token(Token = "0x600BF27")]
|
||||
[Address(RVA = "0x2909FA0", Offset = "0x2908FA0", VA = "0x182909FA0")]
|
||||
private void CopyIn(SM3Digest t)
|
||||
{
|
||||
uint[] v = this.V;
|
||||
int length = v.Length;
|
||||
int num = 0;
|
||||
uint[] v2 = t.V;
|
||||
int num2 = 0;
|
||||
Array.Copy(v2, num2, v, num, length);
|
||||
uint[] array = this.inwords;
|
||||
int length2 = array.Length;
|
||||
int num3 = 0;
|
||||
uint[] array2 = t.inwords;
|
||||
int num4 = 0;
|
||||
Array.Copy(array2, num4, array, num3, length2);
|
||||
int num5 = t.xOff;
|
||||
this.xOff = num5;
|
||||
}
|
||||
|
||||
// Token: 0x17001DB9 RID: 7609
|
||||
// (get) Token: 0x0600BF28 RID: 48936 RVA: 0x002AF9DC File Offset: 0x002ADBDC
|
||||
[Token(Token = "0x17001DB9")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BF28")]
|
||||
[Address(RVA = "0x290B070", Offset = "0x290A070", VA = "0x18290B070", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return "SM3";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BF29 RID: 48937 RVA: 0x002AF9F0 File Offset: 0x002ADBF0
|
||||
[Token(Token = "0x600BF29")]
|
||||
[Address(RVA = "0x8BCAC0", Offset = "0x8BBAC0", VA = "0x1808BCAC0", Slot = "18")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return 32;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF2A RID: 48938 RVA: 0x002AFA00 File Offset: 0x002ADC00
|
||||
[Token(Token = "0x600BF2A")]
|
||||
[Address(RVA = "0x290A020", Offset = "0x2909020", VA = "0x18290A020", Slot = "20")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BF2A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.SM3Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SM3Digest(var_0_06, newobj:SM3Digest(SM3Digest::.ctor, ldloc:SM3Digest(this)))
|
||||
stloc:uint32[](var_1_0D, newarr:uint32[]([mscorlib]System.UInt32, ldc.i4:int32(8)))
|
||||
stfld:uint32[](SM3Digest::V, ldloc:SM3Digest(var_0_06), ldloc:uint32[](var_1_0D))
|
||||
stloc:uint32[](var_2_1C, newarr:uint32[]([mscorlib]System.UInt32, ldc.i4:int32(16)))
|
||||
stfld:uint32[](SM3Digest::inwords, ldloc:SM3Digest(var_0_06), ldloc:uint32[](var_2_1C))
|
||||
stloc:uint32[](var_3_2B, newarr:uint32[]([mscorlib]System.UInt32, ldc.i4:int32(68)))
|
||||
stfld:uint32[](SM3Digest::W, ldloc:SM3Digest(var_0_06), ldloc:uint32[](var_3_2B))
|
||||
call:void(SM3Digest::CopyIn, ldloc:SM3Digest(var_0_06), ldloc:SM3Digest(this))
|
||||
}
|
||||
|
||||
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: 0x0600BF2B RID: 48939 RVA: 0x002AFA48 File Offset: 0x002ADC48
|
||||
[Token(Token = "0x600BF2B")]
|
||||
[Address(RVA = "0x290ABD0", Offset = "0x2909BD0", VA = "0x18290ABD0", Slot = "21")]
|
||||
public override void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x0600BF2C RID: 48940 RVA: 0x002AFA60 File Offset: 0x002ADC60
|
||||
[Token(Token = "0x600BF2C")]
|
||||
[Address(RVA = "0x290AC80", Offset = "0x2909C80", VA = "0x18290AC80", Slot = "13")]
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
uint[] v = this.V;
|
||||
uint[] v2 = this.V;
|
||||
uint[] v3 = this.V;
|
||||
uint[] v4 = this.V;
|
||||
uint[] v5 = this.V;
|
||||
uint[] v6 = this.V;
|
||||
uint[] v7 = this.V;
|
||||
uint[] v8 = this.V;
|
||||
this.xOff = (int)((ulong)0L);
|
||||
}
|
||||
|
||||
// Token: 0x0600BF2D RID: 48941 RVA: 0x002AFAC0 File Offset: 0x002ADCC0
|
||||
[Token(Token = "0x600BF2D")]
|
||||
[Address(RVA = "0x290A0E0", Offset = "0x29090E0", VA = "0x18290A0E0", Slot = "19")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
base.Finish();
|
||||
Pack.UInt32_To_BE(this.V, output, outOff);
|
||||
return 32;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF2E RID: 48942 RVA: 0x002AFAE4 File Offset: 0x002ADCE4
|
||||
[Token(Token = "0x600BF2E")]
|
||||
[Address(RVA = "0x290AB60", Offset = "0x2909B60", VA = "0x18290AB60", Slot = "14")]
|
||||
internal override void ProcessWord(byte[] input, int inOff)
|
||||
{
|
||||
uint num = Pack.BE_To_UInt32(input, inOff);
|
||||
uint[] array = this.inwords;
|
||||
int num2 = this.xOff;
|
||||
array[0] = num;
|
||||
IMemoable memoable = ((IMemoable)this).Copy();
|
||||
}
|
||||
|
||||
// Token: 0x0600BF2F RID: 48943 RVA: 0x002AFB20 File Offset: 0x002ADD20
|
||||
[Token(Token = "0x600BF2F")]
|
||||
[Address(RVA = "0x290AA30", Offset = "0x2909A30", VA = "0x18290AA30", Slot = "15")]
|
||||
internal override void ProcessLength(long bitLength)
|
||||
{
|
||||
int num;
|
||||
int num2;
|
||||
do
|
||||
{
|
||||
num = this.xOff;
|
||||
num2 = 0;
|
||||
}
|
||||
while (num <= 14);
|
||||
this.inwords[0] = (uint)num2;
|
||||
int num3;
|
||||
if (this.xOff < 14)
|
||||
{
|
||||
this.inwords[0] = (uint)num2;
|
||||
num3 = this.xOff;
|
||||
num3++;
|
||||
this.xOff = num3;
|
||||
}
|
||||
uint[] array = this.inwords;
|
||||
int num4 = num3 + 1;
|
||||
this.xOff = num4;
|
||||
array[0] = (uint)bitLength;
|
||||
int num5 = this.xOff;
|
||||
uint[] array2 = this.inwords;
|
||||
int num6 = num5 + 1;
|
||||
this.xOff = num6;
|
||||
array2[0] = (uint)bitLength;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF30 RID: 48944 RVA: 0x002AFBC0 File Offset: 0x002ADDC0
|
||||
[Token(Token = "0x600BF30")]
|
||||
[Address(RVA = "0x290A140", Offset = "0x2909140", VA = "0x18290A140")]
|
||||
private uint P0(uint x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF31 RID: 48945 RVA: 0x002AFBD0 File Offset: 0x002ADDD0
|
||||
[Token(Token = "0x600BF31")]
|
||||
[Address(RVA = "0x290A170", Offset = "0x2909170", VA = "0x18290A170")]
|
||||
private uint P1(uint x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF32 RID: 48946 RVA: 0x002AFBE0 File Offset: 0x002ADDE0
|
||||
[Token(Token = "0x600BF32")]
|
||||
[Address(RVA = "0xE4D010", Offset = "0xE4C010", VA = "0x180E4D010")]
|
||||
private uint FF0(uint x, uint y, uint z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF33 RID: 48947 RVA: 0x002AFBF0 File Offset: 0x002ADDF0
|
||||
[Token(Token = "0x600BF33")]
|
||||
[Address(RVA = "0xE4CFB0", Offset = "0xE4BFB0", VA = "0x180E4CFB0")]
|
||||
private uint FF1(uint x, uint y, uint z)
|
||||
{
|
||||
return y;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF34 RID: 48948 RVA: 0x002AFC00 File Offset: 0x002ADE00
|
||||
[Token(Token = "0x600BF34")]
|
||||
[Address(RVA = "0xE4D010", Offset = "0xE4C010", VA = "0x180E4D010")]
|
||||
private uint GG0(uint x, uint y, uint z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF35 RID: 48949 RVA: 0x002AFC10 File Offset: 0x002ADE10
|
||||
[Token(Token = "0x600BF35")]
|
||||
[Address(RVA = "0xE4CF50", Offset = "0xE4BF50", VA = "0x180E4CF50")]
|
||||
private uint GG1(uint x, uint y, uint z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF36 RID: 48950 RVA: 0x002AFC20 File Offset: 0x002ADE20
|
||||
[Token(Token = "0x600BF36")]
|
||||
[Address(RVA = "0x290A1A0", Offset = "0x29091A0", VA = "0x18290A1A0", Slot = "16")]
|
||||
internal override void ProcessBlock()
|
||||
{
|
||||
int num = 0;
|
||||
uint[] array = this.inwords;
|
||||
uint[] w = this.W;
|
||||
uint num2 = array[num];
|
||||
num++;
|
||||
w[0] = num2;
|
||||
uint[] w2 = this.W;
|
||||
int length = w2.Length;
|
||||
uint num3 = w2[w];
|
||||
uint num4;
|
||||
num4 += (uint)1;
|
||||
w2[0] = num3;
|
||||
uint[] v = this.V;
|
||||
int length2 = v.Length;
|
||||
uint num5 = v[0];
|
||||
uint num6 = v[0];
|
||||
uint num7 = v[1];
|
||||
uint num8 = v[1];
|
||||
uint num9 = v[2];
|
||||
uint num10 = v[2];
|
||||
uint num11 = v[3];
|
||||
uint num12 = v[3];
|
||||
int num13 = 0;
|
||||
num12 = num5;
|
||||
uint[] t = SM3Digest.T;
|
||||
uint num14;
|
||||
num14 += num5;
|
||||
num14 += num9;
|
||||
uint[] w3 = this.W;
|
||||
int length3 = w3.Length;
|
||||
num13 += 4;
|
||||
num7 += num8;
|
||||
num6 = num11;
|
||||
num6 += num12;
|
||||
uint num15;
|
||||
num6 += num15;
|
||||
num6 += num14;
|
||||
num13++;
|
||||
num5 = num14;
|
||||
uint num16 = w3[num13];
|
||||
num7 += num16;
|
||||
num5 += num7;
|
||||
num7 = num10;
|
||||
num9 = num6;
|
||||
uint[] t2 = SM3Digest.T;
|
||||
uint[] w4 = this.W;
|
||||
uint num17;
|
||||
num17 += num5;
|
||||
num17 += num9;
|
||||
num14 = num17;
|
||||
int length4 = w4.Length;
|
||||
num6 = num5;
|
||||
num5 = num9;
|
||||
uint num18 = w4[t2];
|
||||
num18 += num7;
|
||||
num18 += num6;
|
||||
num5 += num18;
|
||||
num5 += num11;
|
||||
uint num19;
|
||||
num5 += num19;
|
||||
num5 += num14;
|
||||
num4 += (uint)1;
|
||||
uint[] v2 = this.V;
|
||||
uint[] v3 = this.V;
|
||||
uint[] v4 = this.V;
|
||||
uint[] v5 = this.V;
|
||||
uint[] v6 = this.V;
|
||||
uint[] v7 = this.V;
|
||||
uint[] v8 = this.V;
|
||||
uint[] v9 = this.V;
|
||||
this.xOff = (int)((ulong)0L);
|
||||
}
|
||||
|
||||
// Token: 0x040078C4 RID: 30916
|
||||
[Token(Token = "0x40078C4")]
|
||||
private const int DIGEST_LENGTH = 32;
|
||||
|
||||
// Token: 0x040078C5 RID: 30917
|
||||
[Token(Token = "0x40078C5")]
|
||||
private const int BLOCK_SIZE = 16;
|
||||
|
||||
// Token: 0x040078C6 RID: 30918
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40078C6")]
|
||||
private uint[] V;
|
||||
|
||||
// Token: 0x040078C7 RID: 30919
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40078C7")]
|
||||
private uint[] inwords;
|
||||
|
||||
// Token: 0x040078C8 RID: 30920
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x40078C8")]
|
||||
private int xOff;
|
||||
|
||||
// Token: 0x040078C9 RID: 30921
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x40078C9")]
|
||||
private uint[] W;
|
||||
|
||||
// Token: 0x040078CA RID: 30922
|
||||
[Token(Token = "0x40078CA")]
|
||||
private static readonly uint[] T;
|
||||
}
|
||||
}
|
||||
+349
@@ -0,0 +1,349 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DD5 RID: 7637
|
||||
[Token(Token = "0x2001DD5")]
|
||||
public class Sha1Digest : GeneralDigest
|
||||
{
|
||||
// Token: 0x0600BF37 RID: 48951 RVA: 0x002AFE50 File Offset: 0x002AE050
|
||||
[Token(Token = "0x600BF37")]
|
||||
[Address(RVA = "0x290BE70", Offset = "0x290AE70", VA = "0x18290BE70")]
|
||||
public Sha1Digest()
|
||||
{
|
||||
uint[] array = new uint[80];
|
||||
this.X = array;
|
||||
base..ctor();
|
||||
IMemoable memoable = ((IMemoable)this).Copy();
|
||||
}
|
||||
|
||||
// Token: 0x0600BF38 RID: 48952 RVA: 0x002AFE7C File Offset: 0x002AE07C
|
||||
[Token(Token = "0x600BF38")]
|
||||
[Address(RVA = "0x290BE00", Offset = "0x290AE00", VA = "0x18290BE00")]
|
||||
public Sha1Digest(Sha1Digest t)
|
||||
{
|
||||
uint[] array = new uint[80];
|
||||
this.X = array;
|
||||
base..ctor(t);
|
||||
this.CopyIn(t);
|
||||
}
|
||||
|
||||
// Token: 0x0600BF39 RID: 48953 RVA: 0x002AFEA8 File Offset: 0x002AE0A8
|
||||
[Token(Token = "0x600BF39")]
|
||||
[Address(RVA = "0x2902660", Offset = "0x2901660", VA = "0x182902660")]
|
||||
private void CopyIn(Sha1Digest t)
|
||||
{
|
||||
base.CopyIn(t);
|
||||
uint h = t.H1;
|
||||
this.H1 = h;
|
||||
uint h2 = t.H2;
|
||||
this.H2 = h2;
|
||||
uint h3 = t.H3;
|
||||
this.H3 = h3;
|
||||
uint h4 = t.H4;
|
||||
this.H4 = h4;
|
||||
uint h5 = t.H5;
|
||||
this.H5 = h5;
|
||||
uint[] x = t.X;
|
||||
int length = x.Length;
|
||||
int num = 0;
|
||||
uint[] x2 = this.X;
|
||||
int num2 = 0;
|
||||
Array.Copy(x, num2, x2, num, length);
|
||||
int num3 = t.xOff;
|
||||
this.xOff = num3;
|
||||
}
|
||||
|
||||
// Token: 0x17001DBA RID: 7610
|
||||
// (get) Token: 0x0600BF3A RID: 48954 RVA: 0x002AFF48 File Offset: 0x002AE148
|
||||
[Token(Token = "0x17001DBA")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BF3A")]
|
||||
[Address(RVA = "0x290BED0", Offset = "0x290AED0", VA = "0x18290BED0", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return "SHA-1";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BF3B RID: 48955 RVA: 0x002AFF5C File Offset: 0x002AE15C
|
||||
[Token(Token = "0x600BF3B")]
|
||||
[Address(RVA = "0xC42C40", Offset = "0xC41C40", VA = "0x180C42C40", Slot = "18")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return 20;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF3C RID: 48956 RVA: 0x002AFF6C File Offset: 0x002AE16C
|
||||
[Token(Token = "0x600BF3C")]
|
||||
[Address(RVA = "0x290BC70", Offset = "0x290AC70", VA = "0x18290BC70", Slot = "14")]
|
||||
internal override void ProcessWord(byte[] input, int inOff)
|
||||
{
|
||||
uint[] x = this.X;
|
||||
int num = this.xOff;
|
||||
uint num2 = Pack.BE_To_UInt32(input, inOff);
|
||||
x[0] = num2;
|
||||
int num3 = this.xOff;
|
||||
num3++;
|
||||
this.xOff = num3;
|
||||
if (num3 == 16)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BF3D RID: 48957 RVA: 0x002AFFB4 File Offset: 0x002AE1B4
|
||||
[Token(Token = "0x600BF3D")]
|
||||
[Address(RVA = "0x290BBE0", Offset = "0x290ABE0", VA = "0x18290BBE0", Slot = "15")]
|
||||
internal override void ProcessLength(long bitLength)
|
||||
{
|
||||
if (this.xOff > 14)
|
||||
{
|
||||
}
|
||||
this.X[7] = (uint)bitLength;
|
||||
this.X[7] = (uint)bitLength;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF3E RID: 48958 RVA: 0x002AFFEC File Offset: 0x002AE1EC
|
||||
[Token(Token = "0x600BF3E")]
|
||||
[Address(RVA = "0x290B140", Offset = "0x290A140", VA = "0x18290B140", Slot = "19")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
base.Finish();
|
||||
Pack.UInt32_To_BE(this.H1, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H2, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H3, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H4, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H5, output, outOff);
|
||||
return 20;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF3F RID: 48959 RVA: 0x002B0044 File Offset: 0x002AE244
|
||||
[Token(Token = "0x600BF3F")]
|
||||
[Address(RVA = "0x290BD00", Offset = "0x290AD00", VA = "0x18290BD00", Slot = "13")]
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
uint[] x = this.X;
|
||||
this.H1 = (uint)((ulong)1732584193L);
|
||||
this.H2 = (uint)((ulong)4023233417L);
|
||||
this.H3 = (uint)((ulong)2562383102L);
|
||||
this.H4 = (uint)((ulong)271733878L);
|
||||
this.H5 = (uint)((ulong)3285377520L);
|
||||
this.xOff = (int)((ulong)0L);
|
||||
int length = x.Length;
|
||||
int num = 0;
|
||||
Array.Clear(x, num, length);
|
||||
}
|
||||
|
||||
// Token: 0x0600BF40 RID: 48960 RVA: 0x002B00C8 File Offset: 0x002AE2C8
|
||||
[Token(Token = "0x600BF40")]
|
||||
[Address(RVA = "0x101E210", Offset = "0x101D210", VA = "0x18101E210")]
|
||||
private static uint F(uint u, uint v, uint w)
|
||||
{
|
||||
return u;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF41 RID: 48961 RVA: 0x002B00D8 File Offset: 0x002AE2D8
|
||||
[Token(Token = "0x600BF41")]
|
||||
[Address(RVA = "0x101E200", Offset = "0x101D200", VA = "0x18101E200")]
|
||||
private static uint H(uint u, uint v, uint w)
|
||||
{
|
||||
return u;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF42 RID: 48962 RVA: 0x002B00E8 File Offset: 0x002AE2E8
|
||||
[Token(Token = "0x600BF42")]
|
||||
[Address(RVA = "0x290B1E0", Offset = "0x290A1E0", VA = "0x18290B1E0")]
|
||||
private static uint G(uint u, uint v, uint w)
|
||||
{
|
||||
return v;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF43 RID: 48963 RVA: 0x002B00F8 File Offset: 0x002AE2F8
|
||||
[Token(Token = "0x600BF43")]
|
||||
[Address(RVA = "0x290B1F0", Offset = "0x290A1F0", VA = "0x18290B1F0", Slot = "16")]
|
||||
internal override void ProcessBlock()
|
||||
{
|
||||
uint[] x = this.X;
|
||||
int length = x.Length;
|
||||
uint num;
|
||||
num += (uint)1;
|
||||
uint num2;
|
||||
num2 += num2;
|
||||
x[0] = num2;
|
||||
uint num3 = this.H1;
|
||||
int num4 = 0;
|
||||
uint num5 = this.H2;
|
||||
uint num6 = this.H3;
|
||||
uint num7 = this.H4;
|
||||
uint num8 = this.H5;
|
||||
uint[] x2 = this.X;
|
||||
int length2 = x2.Length;
|
||||
num8 += (uint)1518500249;
|
||||
num3 = num6;
|
||||
num2 = num3;
|
||||
num5 += num2;
|
||||
num5 += num8;
|
||||
num2 = num5;
|
||||
num3 = num5;
|
||||
num2 += (uint)1518500249;
|
||||
num3 += num2;
|
||||
num3 += num7;
|
||||
num3 = num5;
|
||||
num2 = num3;
|
||||
num5 += (uint)1518500249;
|
||||
num8 = num5;
|
||||
num5 += num2;
|
||||
num5 += num6;
|
||||
num4 += 3;
|
||||
num7 = num3;
|
||||
num2 = num5;
|
||||
num3 = num5;
|
||||
num3 += num2;
|
||||
num8 += (uint)1518500249;
|
||||
num8 += num3;
|
||||
num6 = num5;
|
||||
num3 = num8;
|
||||
num2 = num8;
|
||||
num3 += num2;
|
||||
num4++;
|
||||
int length3 = x2.Length;
|
||||
num3 = num8;
|
||||
num7 += num8;
|
||||
num6 += num7;
|
||||
num4 += 2;
|
||||
num4 += 4;
|
||||
num4 += 3;
|
||||
ulong num9;
|
||||
num9 += (ulong)1L;
|
||||
int length4 = x2.Length;
|
||||
num4 += -1894007588;
|
||||
num4 += 4;
|
||||
num4 += 4;
|
||||
num4 += -1894007588;
|
||||
num4 += 1859775393;
|
||||
num4 += 4;
|
||||
num4 += -1894007588;
|
||||
num4 += num4;
|
||||
num4 += num4;
|
||||
num4 += 3;
|
||||
num4 += num4;
|
||||
num4 += -1894007588;
|
||||
ulong num10;
|
||||
num10 += (ulong)1L;
|
||||
int length5 = x2.Length;
|
||||
num4 += num4;
|
||||
num4 += num4;
|
||||
num4 += 2;
|
||||
num4 += -1894007588;
|
||||
num4 += 3;
|
||||
ulong num11;
|
||||
num11 += (ulong)1L;
|
||||
int num12 = 0;
|
||||
num3 += 2400959708U;
|
||||
Array.Clear(x2, num12, 16);
|
||||
}
|
||||
|
||||
// Token: 0x0600BF44 RID: 48964 RVA: 0x002B030C File Offset: 0x002AE50C
|
||||
[Token(Token = "0x600BF44")]
|
||||
[Address(RVA = "0x290B0A0", Offset = "0x290A0A0", VA = "0x18290B0A0", Slot = "20")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BF44)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Sha1Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:Sha1Digest(var_0_06, newobj:Sha1Digest(Sha1Digest::.ctor, ldloc:Sha1Digest(this)))
|
||||
stloc:uint32[](var_1_0E, newarr:uint32[]([mscorlib]System.UInt32, ldc.i4:int32(80)))
|
||||
stfld:uint32[](Sha1Digest::X, ldloc:Sha1Digest(var_0_06), ldloc:uint32[](var_1_0E))
|
||||
call:void(Sha1Digest::CopyIn, ldloc:Sha1Digest(var_0_06), ldloc:Sha1Digest(this))
|
||||
}
|
||||
|
||||
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: 0x0600BF45 RID: 48965 RVA: 0x002B0338 File Offset: 0x002AE538
|
||||
[Token(Token = "0x600BF45")]
|
||||
[Address(RVA = "0x290BD60", Offset = "0x290AD60", VA = "0x18290BD60", Slot = "21")]
|
||||
public override void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x040078CB RID: 30923
|
||||
[Token(Token = "0x40078CB")]
|
||||
private const int DigestLength = 20;
|
||||
|
||||
// Token: 0x040078CC RID: 30924
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40078CC")]
|
||||
private uint H1;
|
||||
|
||||
// Token: 0x040078CD RID: 30925
|
||||
[FieldOffset(Offset = "0x2C")]
|
||||
[Token(Token = "0x40078CD")]
|
||||
private uint H2;
|
||||
|
||||
// Token: 0x040078CE RID: 30926
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40078CE")]
|
||||
private uint H3;
|
||||
|
||||
// Token: 0x040078CF RID: 30927
|
||||
[FieldOffset(Offset = "0x34")]
|
||||
[Token(Token = "0x40078CF")]
|
||||
private uint H4;
|
||||
|
||||
// Token: 0x040078D0 RID: 30928
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x40078D0")]
|
||||
private uint H5;
|
||||
|
||||
// Token: 0x040078D1 RID: 30929
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x40078D1")]
|
||||
private uint[] X;
|
||||
|
||||
// Token: 0x040078D2 RID: 30930
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x40078D2")]
|
||||
private int xOff;
|
||||
|
||||
// Token: 0x040078D3 RID: 30931
|
||||
[Token(Token = "0x40078D3")]
|
||||
private const uint Y1 = 1518500249U;
|
||||
|
||||
// Token: 0x040078D4 RID: 30932
|
||||
[Token(Token = "0x40078D4")]
|
||||
private const uint Y2 = 1859775393U;
|
||||
|
||||
// Token: 0x040078D5 RID: 30933
|
||||
[Token(Token = "0x40078D5")]
|
||||
private const uint Y3 = 2400959708U;
|
||||
|
||||
// Token: 0x040078D6 RID: 30934
|
||||
[Token(Token = "0x40078D6")]
|
||||
private const uint Y4 = 3395469782U;
|
||||
}
|
||||
}
|
||||
+424
@@ -0,0 +1,424 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DD6 RID: 7638
|
||||
[Token(Token = "0x2001DD6")]
|
||||
public class Sha224Digest : GeneralDigest
|
||||
{
|
||||
// Token: 0x0600BF46 RID: 48966 RVA: 0x002B0350 File Offset: 0x002AE550
|
||||
[Token(Token = "0x600BF46")]
|
||||
[Address(RVA = "0x290CE80", Offset = "0x290BE80", VA = "0x18290CE80")]
|
||||
public Sha224Digest()
|
||||
{
|
||||
uint[] array = new uint[64];
|
||||
this.X = array;
|
||||
base..ctor();
|
||||
IMemoable memoable = ((IMemoable)this).Copy();
|
||||
}
|
||||
|
||||
// Token: 0x0600BF47 RID: 48967 RVA: 0x002B037C File Offset: 0x002AE57C
|
||||
[Token(Token = "0x600BF47")]
|
||||
[Address(RVA = "0x290CE10", Offset = "0x290BE10", VA = "0x18290CE10")]
|
||||
public Sha224Digest(Sha224Digest t)
|
||||
{
|
||||
uint[] array = new uint[64];
|
||||
this.X = array;
|
||||
base..ctor(t);
|
||||
this.CopyIn(t);
|
||||
}
|
||||
|
||||
// Token: 0x0600BF48 RID: 48968 RVA: 0x002B03A8 File Offset: 0x002AE5A8
|
||||
[Token(Token = "0x600BF48")]
|
||||
[Address(RVA = "0x2905210", Offset = "0x2904210", VA = "0x182905210")]
|
||||
private void CopyIn(Sha224Digest t)
|
||||
{
|
||||
base.CopyIn(t);
|
||||
uint h = t.H1;
|
||||
this.H1 = h;
|
||||
uint h2 = t.H2;
|
||||
this.H2 = h2;
|
||||
uint h3 = t.H3;
|
||||
this.H3 = h3;
|
||||
uint h4 = t.H4;
|
||||
this.H4 = h4;
|
||||
uint h5 = t.H5;
|
||||
this.H5 = h5;
|
||||
uint h6 = t.H6;
|
||||
this.H6 = h6;
|
||||
uint h7 = t.H7;
|
||||
this.H7 = h7;
|
||||
uint h8 = t.H8;
|
||||
this.H8 = h8;
|
||||
uint[] x = t.X;
|
||||
int length = x.Length;
|
||||
int num = 0;
|
||||
uint[] x2 = this.X;
|
||||
int num2 = 0;
|
||||
Array.Copy(x, num2, x2, num, length);
|
||||
int num3 = t.xOff;
|
||||
this.xOff = num3;
|
||||
}
|
||||
|
||||
// Token: 0x17001DBB RID: 7611
|
||||
// (get) Token: 0x0600BF49 RID: 48969 RVA: 0x002B0478 File Offset: 0x002AE678
|
||||
[Token(Token = "0x17001DBB")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BF49")]
|
||||
[Address(RVA = "0x290CEE0", Offset = "0x290BEE0", VA = "0x18290CEE0", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return "SHA-224";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BF4A RID: 48970 RVA: 0x002B048C File Offset: 0x002AE68C
|
||||
[Token(Token = "0x600BF4A")]
|
||||
[Address(RVA = "0xC41240", Offset = "0xC40240", VA = "0x180C41240", Slot = "18")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return 28;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF4B RID: 48971 RVA: 0x002B049C File Offset: 0x002AE69C
|
||||
[Token(Token = "0x600BF4B")]
|
||||
[Address(RVA = "0x290CB80", Offset = "0x290BB80", VA = "0x18290CB80", Slot = "14")]
|
||||
internal override void ProcessWord(byte[] input, int inOff)
|
||||
{
|
||||
uint[] x = this.X;
|
||||
int num = this.xOff;
|
||||
uint num2 = Pack.BE_To_UInt32(input, inOff);
|
||||
x[0] = num2;
|
||||
int num3 = this.xOff;
|
||||
num3++;
|
||||
this.xOff = num3;
|
||||
if (num3 == 16)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BF4C RID: 48972 RVA: 0x002B04E4 File Offset: 0x002AE6E4
|
||||
[Token(Token = "0x600BF4C")]
|
||||
[Address(RVA = "0x290CAF0", Offset = "0x290BAF0", VA = "0x18290CAF0", Slot = "15")]
|
||||
internal override void ProcessLength(long bitLength)
|
||||
{
|
||||
if (this.xOff > 14)
|
||||
{
|
||||
}
|
||||
this.X[7] = (uint)bitLength;
|
||||
this.X[7] = (uint)bitLength;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF4D RID: 48973 RVA: 0x002B051C File Offset: 0x002AE71C
|
||||
[Token(Token = "0x600BF4D")]
|
||||
[Address(RVA = "0x290BFA0", Offset = "0x290AFA0", VA = "0x18290BFA0", Slot = "19")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
base.Finish();
|
||||
Pack.UInt32_To_BE(this.H1, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H2, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H3, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H4, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H5, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H6, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H7, output, outOff);
|
||||
return 28;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF4E RID: 48974 RVA: 0x002B058C File Offset: 0x002AE78C
|
||||
[Token(Token = "0x600BF4E")]
|
||||
[Address(RVA = "0x290CCB0", Offset = "0x290BCB0", VA = "0x18290CCB0", Slot = "13")]
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
uint[] x = this.X;
|
||||
this.H1 = (uint)((ulong)3238371032L);
|
||||
this.H2 = (uint)((ulong)914150663L);
|
||||
this.H3 = (uint)((ulong)812702999L);
|
||||
this.H4 = (uint)((ulong)4144912697L);
|
||||
this.H5 = (uint)((ulong)4290775857L);
|
||||
this.H6 = (uint)((ulong)1750603025L);
|
||||
this.H7 = (uint)((ulong)1694076839L);
|
||||
this.H8 = (uint)((ulong)3204075428L);
|
||||
this.xOff = (int)((ulong)0L);
|
||||
int length = x.Length;
|
||||
int num = 0;
|
||||
Array.Clear(x, num, length);
|
||||
}
|
||||
|
||||
// Token: 0x0600BF4F RID: 48975 RVA: 0x002B063C File Offset: 0x002AE83C
|
||||
[Token(Token = "0x600BF4F")]
|
||||
[Address(RVA = "0x290C070", Offset = "0x290B070", VA = "0x18290C070", Slot = "16")]
|
||||
internal override void ProcessBlock()
|
||||
{
|
||||
uint[] x = this.X;
|
||||
int length = this.X.Length;
|
||||
uint num;
|
||||
num += (uint)1;
|
||||
uint num2;
|
||||
num2 += num2;
|
||||
x[0] = num2;
|
||||
while (num <= (uint)63)
|
||||
{
|
||||
}
|
||||
uint num3 = this.H4;
|
||||
int num4 = 0;
|
||||
uint num5 = this.H3;
|
||||
uint num6 = this.H5;
|
||||
uint num7 = this.H1;
|
||||
uint num8 = this.H2;
|
||||
uint num9 = this.H6;
|
||||
uint num10 = this.H7;
|
||||
uint num11 = this.H8;
|
||||
num6 = num2;
|
||||
int length2 = Sha224Digest.K.Length;
|
||||
int length3 = this.X.Length;
|
||||
num2 = num6;
|
||||
num6 = num9;
|
||||
num2 += num6;
|
||||
num11 += num2;
|
||||
num2 = num7;
|
||||
num11 = num8;
|
||||
num11 += num2;
|
||||
num2 = num3;
|
||||
num11 = num3;
|
||||
num2 += num3;
|
||||
num6 = num11;
|
||||
num10 += num2;
|
||||
num2 = num11;
|
||||
num11 += num10;
|
||||
num11 += num2;
|
||||
num2 = num5;
|
||||
num11 = num5;
|
||||
num2 += num5;
|
||||
num9 += num2;
|
||||
num8 += num9;
|
||||
num2 = num11;
|
||||
num3 = num11;
|
||||
num5 = num11;
|
||||
num9 += num5;
|
||||
num9 += num2;
|
||||
num4 += 3;
|
||||
num2 = num8;
|
||||
num11 = num8;
|
||||
num5 = num9;
|
||||
num2 += num5;
|
||||
num6 += num2;
|
||||
num2 = num9;
|
||||
num7 += num6;
|
||||
num11 += num6;
|
||||
num11 += num2;
|
||||
num2 = num7;
|
||||
num11 = num8;
|
||||
num5 = num7;
|
||||
num2 += num5;
|
||||
num3 += num2;
|
||||
num2 = num11;
|
||||
num3 = num9;
|
||||
num5 = num9;
|
||||
num3 += num2;
|
||||
num4 += 5;
|
||||
num2 = num11;
|
||||
num3 = num11;
|
||||
num2 += num11;
|
||||
num11 = num3;
|
||||
num5 += num2;
|
||||
num2 = num3;
|
||||
num11 += num5;
|
||||
num11 += num2;
|
||||
num2 = num11;
|
||||
num3 = num11;
|
||||
num2 += num3;
|
||||
num8 += num2;
|
||||
num9 += num8;
|
||||
num2 = num11;
|
||||
num3 = num11;
|
||||
num8 += num3;
|
||||
num8 += num2;
|
||||
num4 += 7;
|
||||
num2 = num9;
|
||||
num4 += 8;
|
||||
num3 = num8;
|
||||
num2 += num3;
|
||||
num7 += num2;
|
||||
num11 += num7;
|
||||
num2 = num8;
|
||||
num3 = num11;
|
||||
num7 += num3;
|
||||
num4++;
|
||||
num7 += num2;
|
||||
int num12 = 0;
|
||||
uint[] x2 = this.X;
|
||||
this.H5 = num3;
|
||||
this.H6 = num3;
|
||||
this.H7 = num3;
|
||||
this.xOff = (int)((ulong)0L);
|
||||
Array.Clear(x2, num12, 16);
|
||||
}
|
||||
|
||||
// Token: 0x0600BF50 RID: 48976 RVA: 0x002B0930 File Offset: 0x002AEB30
|
||||
[Token(Token = "0x600BF50")]
|
||||
[Address(RVA = "0x10308B0", Offset = "0x102F8B0", VA = "0x1810308B0")]
|
||||
private static uint Ch(uint x, uint y, uint z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF51 RID: 48977 RVA: 0x002B0940 File Offset: 0x002AEB40
|
||||
[Token(Token = "0x600BF51")]
|
||||
[Address(RVA = "0x1030AB0", Offset = "0x102FAB0", VA = "0x181030AB0")]
|
||||
private static uint Maj(uint x, uint y, uint z)
|
||||
{
|
||||
return y;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF52 RID: 48978 RVA: 0x002B0950 File Offset: 0x002AEB50
|
||||
[Token(Token = "0x600BF52")]
|
||||
[Address(RVA = "0x290CD30", Offset = "0x290BD30", VA = "0x18290CD30")]
|
||||
private static uint Sum0(uint x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF53 RID: 48979 RVA: 0x002B0960 File Offset: 0x002AEB60
|
||||
[Token(Token = "0x600BF53")]
|
||||
[Address(RVA = "0x290CD70", Offset = "0x290BD70", VA = "0x18290CD70")]
|
||||
private static uint Sum1(uint x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF54 RID: 48980 RVA: 0x002B0970 File Offset: 0x002AEB70
|
||||
[Token(Token = "0x600BF54")]
|
||||
[Address(RVA = "0x27F07F0", Offset = "0x27EF7F0", VA = "0x1827F07F0")]
|
||||
private static uint Theta0(uint x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF55 RID: 48981 RVA: 0x002B0980 File Offset: 0x002AEB80
|
||||
[Token(Token = "0x600BF55")]
|
||||
[Address(RVA = "0x27F0820", Offset = "0x27EF820", VA = "0x1827F0820")]
|
||||
private static uint Theta1(uint x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF56 RID: 48982 RVA: 0x002B0990 File Offset: 0x002AEB90
|
||||
[Token(Token = "0x600BF56")]
|
||||
[Address(RVA = "0x290BF00", Offset = "0x290AF00", VA = "0x18290BF00", Slot = "20")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BF56)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Sha224Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:Sha224Digest(var_0_06, newobj:Sha224Digest(Sha224Digest::.ctor, ldloc:Sha224Digest(this)))
|
||||
stloc:uint32[](var_1_0E, newarr:uint32[]([mscorlib]System.UInt32, ldc.i4:int32(64)))
|
||||
stfld:uint32[](Sha224Digest::X, ldloc:Sha224Digest(var_0_06), ldloc:uint32[](var_1_0E))
|
||||
call:void(Sha224Digest::CopyIn, ldloc:Sha224Digest(var_0_06), ldloc:Sha224Digest(this))
|
||||
}
|
||||
|
||||
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: 0x0600BF57 RID: 48983 RVA: 0x002B09BC File Offset: 0x002AEBBC
|
||||
[Token(Token = "0x600BF57")]
|
||||
[Address(RVA = "0x290CC10", Offset = "0x290BC10", VA = "0x18290CC10", Slot = "21")]
|
||||
public override void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x0600BF58 RID: 48984 RVA: 0x002B09D4 File Offset: 0x002AEBD4
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600BF58")]
|
||||
[Address(RVA = "0x290CDB0", Offset = "0x290BDB0", VA = "0x18290CDB0")]
|
||||
static Sha224Digest()
|
||||
{
|
||||
uint[] array = new uint[64];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.433175D38B13FFE177FDD661A309F1B528B3F6E2).FieldHandle);
|
||||
Sha224Digest.K = array;
|
||||
}
|
||||
|
||||
// Token: 0x040078D7 RID: 30935
|
||||
[Token(Token = "0x40078D7")]
|
||||
private const int DigestLength = 28;
|
||||
|
||||
// Token: 0x040078D8 RID: 30936
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40078D8")]
|
||||
private uint H1;
|
||||
|
||||
// Token: 0x040078D9 RID: 30937
|
||||
[FieldOffset(Offset = "0x2C")]
|
||||
[Token(Token = "0x40078D9")]
|
||||
private uint H2;
|
||||
|
||||
// Token: 0x040078DA RID: 30938
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40078DA")]
|
||||
private uint H3;
|
||||
|
||||
// Token: 0x040078DB RID: 30939
|
||||
[FieldOffset(Offset = "0x34")]
|
||||
[Token(Token = "0x40078DB")]
|
||||
private uint H4;
|
||||
|
||||
// Token: 0x040078DC RID: 30940
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x40078DC")]
|
||||
private uint H5;
|
||||
|
||||
// Token: 0x040078DD RID: 30941
|
||||
[FieldOffset(Offset = "0x3C")]
|
||||
[Token(Token = "0x40078DD")]
|
||||
private uint H6;
|
||||
|
||||
// Token: 0x040078DE RID: 30942
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x40078DE")]
|
||||
private uint H7;
|
||||
|
||||
// Token: 0x040078DF RID: 30943
|
||||
[FieldOffset(Offset = "0x44")]
|
||||
[Token(Token = "0x40078DF")]
|
||||
private uint H8;
|
||||
|
||||
// Token: 0x040078E0 RID: 30944
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x40078E0")]
|
||||
private uint[] X;
|
||||
|
||||
// Token: 0x040078E1 RID: 30945
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x40078E1")]
|
||||
private int xOff;
|
||||
|
||||
// Token: 0x040078E2 RID: 30946
|
||||
[Token(Token = "0x40078E2")]
|
||||
internal static readonly uint[] K;
|
||||
}
|
||||
}
|
||||
+431
@@ -0,0 +1,431 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DD7 RID: 7639
|
||||
[Token(Token = "0x2001DD7")]
|
||||
public class Sha256Digest : GeneralDigest
|
||||
{
|
||||
// Token: 0x0600BF59 RID: 48985 RVA: 0x002B09FC File Offset: 0x002AEBFC
|
||||
[Token(Token = "0x600BF59")]
|
||||
[Address(RVA = "0x290DD30", Offset = "0x290CD30", VA = "0x18290DD30")]
|
||||
public Sha256Digest()
|
||||
{
|
||||
uint[] array = new uint[64];
|
||||
this.X = array;
|
||||
base..ctor();
|
||||
this.H1 = (uint)((ulong)1779033703L);
|
||||
this.H2 = (uint)((ulong)3144134277L);
|
||||
this.H3 = (uint)((ulong)1013904242L);
|
||||
this.H4 = (uint)((ulong)2773480762L);
|
||||
this.H5 = (uint)((ulong)1359893119L);
|
||||
this.H6 = (uint)((ulong)2600822924L);
|
||||
this.H7 = (uint)((ulong)528734635L);
|
||||
this.H8 = (uint)((ulong)1541459225L);
|
||||
}
|
||||
|
||||
// Token: 0x0600BF5A RID: 48986 RVA: 0x002B0A90 File Offset: 0x002AEC90
|
||||
[Token(Token = "0x600BF5A")]
|
||||
[Address(RVA = "0x290DDC0", Offset = "0x290CDC0", VA = "0x18290DDC0")]
|
||||
public Sha256Digest(Sha256Digest t)
|
||||
{
|
||||
uint[] array = new uint[64];
|
||||
this.X = array;
|
||||
base..ctor(t);
|
||||
this.CopyIn(t);
|
||||
}
|
||||
|
||||
// Token: 0x0600BF5B RID: 48987 RVA: 0x002B0ABC File Offset: 0x002AECBC
|
||||
[Token(Token = "0x600BF5B")]
|
||||
[Address(RVA = "0x2905210", Offset = "0x2904210", VA = "0x182905210")]
|
||||
private void CopyIn(Sha256Digest t)
|
||||
{
|
||||
base.CopyIn(t);
|
||||
uint h = t.H1;
|
||||
this.H1 = h;
|
||||
uint h2 = t.H2;
|
||||
this.H2 = h2;
|
||||
uint h3 = t.H3;
|
||||
this.H3 = h3;
|
||||
uint h4 = t.H4;
|
||||
this.H4 = h4;
|
||||
uint h5 = t.H5;
|
||||
this.H5 = h5;
|
||||
uint h6 = t.H6;
|
||||
this.H6 = h6;
|
||||
uint h7 = t.H7;
|
||||
this.H7 = h7;
|
||||
uint h8 = t.H8;
|
||||
this.H8 = h8;
|
||||
uint[] x = t.X;
|
||||
int length = x.Length;
|
||||
int num = 0;
|
||||
uint[] x2 = this.X;
|
||||
int num2 = 0;
|
||||
Array.Copy(x, num2, x2, num, length);
|
||||
int num3 = t.xOff;
|
||||
this.xOff = num3;
|
||||
}
|
||||
|
||||
// Token: 0x17001DBC RID: 7612
|
||||
// (get) Token: 0x0600BF5C RID: 48988 RVA: 0x002B0B8C File Offset: 0x002AED8C
|
||||
[Token(Token = "0x17001DBC")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BF5C")]
|
||||
[Address(RVA = "0x290DE30", Offset = "0x290CE30", VA = "0x18290DE30", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return "SHA-256";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BF5D RID: 48989 RVA: 0x002B0BA0 File Offset: 0x002AEDA0
|
||||
[Token(Token = "0x600BF5D")]
|
||||
[Address(RVA = "0x8BCAC0", Offset = "0x8BBAC0", VA = "0x1808BCAC0", Slot = "18")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return 32;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF5E RID: 48990 RVA: 0x002B0BB0 File Offset: 0x002AEDB0
|
||||
[Token(Token = "0x600BF5E")]
|
||||
[Address(RVA = "0x290CB80", Offset = "0x290BB80", VA = "0x18290CB80", Slot = "14")]
|
||||
internal override void ProcessWord(byte[] input, int inOff)
|
||||
{
|
||||
uint[] x = this.X;
|
||||
int num = this.xOff;
|
||||
uint num2 = Pack.BE_To_UInt32(input, inOff);
|
||||
x[0] = num2;
|
||||
int num3 = this.xOff;
|
||||
num3++;
|
||||
this.xOff = num3;
|
||||
if (num3 == 16)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BF5F RID: 48991 RVA: 0x002B0BF8 File Offset: 0x002AEDF8
|
||||
[Token(Token = "0x600BF5F")]
|
||||
[Address(RVA = "0x290CAF0", Offset = "0x290BAF0", VA = "0x18290CAF0", Slot = "15")]
|
||||
internal override void ProcessLength(long bitLength)
|
||||
{
|
||||
if (this.xOff > 14)
|
||||
{
|
||||
}
|
||||
this.X[7] = (uint)bitLength;
|
||||
this.X[7] = (uint)bitLength;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF60 RID: 48992 RVA: 0x002B0C30 File Offset: 0x002AEE30
|
||||
[Token(Token = "0x600BF60")]
|
||||
[Address(RVA = "0x290CFB0", Offset = "0x290BFB0", VA = "0x18290CFB0", Slot = "19")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
base.Finish();
|
||||
Pack.UInt32_To_BE(this.H1, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H2, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H3, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H4, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H5, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H6, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H7, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H8, output, outOff);
|
||||
return 32;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF61 RID: 48993 RVA: 0x002B0CB0 File Offset: 0x002AEEB0
|
||||
[Token(Token = "0x600BF61")]
|
||||
[Address(RVA = "0x290DBB0", Offset = "0x290CBB0", VA = "0x18290DBB0", Slot = "13")]
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
uint[] x = this.X;
|
||||
this.H1 = (uint)((ulong)1779033703L);
|
||||
this.H2 = (uint)((ulong)3144134277L);
|
||||
this.H3 = (uint)((ulong)1013904242L);
|
||||
this.H4 = (uint)((ulong)2773480762L);
|
||||
this.H5 = (uint)((ulong)1359893119L);
|
||||
this.H6 = (uint)((ulong)2600822924L);
|
||||
this.H7 = (uint)((ulong)528734635L);
|
||||
this.H8 = (uint)((ulong)1541459225L);
|
||||
this.xOff = (int)((ulong)0L);
|
||||
int length = x.Length;
|
||||
int num = 0;
|
||||
Array.Clear(x, num, length);
|
||||
}
|
||||
|
||||
// Token: 0x0600BF62 RID: 48994 RVA: 0x002B0D5C File Offset: 0x002AEF5C
|
||||
[Token(Token = "0x600BF62")]
|
||||
[Address(RVA = "0x290DE60", Offset = "0x290CE60", VA = "0x18290DE60")]
|
||||
private void initHs()
|
||||
{
|
||||
this.H1 = (uint)((ulong)1779033703L);
|
||||
this.H2 = (uint)((ulong)3144134277L);
|
||||
this.H3 = (uint)((ulong)1013904242L);
|
||||
this.H4 = (uint)((ulong)2773480762L);
|
||||
this.H5 = (uint)((ulong)1359893119L);
|
||||
this.H6 = (uint)((ulong)2600822924L);
|
||||
this.H7 = (uint)((ulong)528734635L);
|
||||
this.H8 = (uint)((ulong)1541459225L);
|
||||
}
|
||||
|
||||
// Token: 0x0600BF63 RID: 48995 RVA: 0x002B0DDC File Offset: 0x002AEFDC
|
||||
[Token(Token = "0x600BF63")]
|
||||
[Address(RVA = "0x290D090", Offset = "0x290C090", VA = "0x18290D090", Slot = "16")]
|
||||
internal override void ProcessBlock()
|
||||
{
|
||||
uint[] x = this.X;
|
||||
int length = this.X.Length;
|
||||
uint num;
|
||||
num += (uint)1;
|
||||
uint num2;
|
||||
num2 += num2;
|
||||
x[0] = num2;
|
||||
while (num <= (uint)63)
|
||||
{
|
||||
}
|
||||
uint num3 = this.H4;
|
||||
int num4 = 0;
|
||||
uint num5 = this.H3;
|
||||
uint num6 = this.H5;
|
||||
uint num7 = this.H1;
|
||||
uint num8 = this.H2;
|
||||
uint num9 = this.H6;
|
||||
uint num10 = this.H7;
|
||||
uint num11 = this.H8;
|
||||
num6 = num2;
|
||||
int length2 = Sha256Digest.K.Length;
|
||||
int length3 = this.X.Length;
|
||||
num2 = num6;
|
||||
num6 = num9;
|
||||
num2 += num6;
|
||||
num11 += num2;
|
||||
num2 = num7;
|
||||
num11 = num8;
|
||||
num11 += num2;
|
||||
num2 = num3;
|
||||
num11 = num3;
|
||||
num2 += num3;
|
||||
num6 = num11;
|
||||
num10 += num2;
|
||||
num2 = num11;
|
||||
num11 += num10;
|
||||
num11 += num2;
|
||||
num2 = num5;
|
||||
num11 = num5;
|
||||
num2 += num5;
|
||||
num9 += num2;
|
||||
num8 += num9;
|
||||
num2 = num11;
|
||||
num3 = num11;
|
||||
num5 = num11;
|
||||
num9 += num5;
|
||||
num9 += num2;
|
||||
num4 += 3;
|
||||
num2 = num8;
|
||||
num11 = num8;
|
||||
num5 = num9;
|
||||
num2 += num5;
|
||||
num6 += num2;
|
||||
num2 = num9;
|
||||
num7 += num6;
|
||||
num11 += num6;
|
||||
num11 += num2;
|
||||
num2 = num7;
|
||||
num11 = num8;
|
||||
num5 = num7;
|
||||
num2 += num5;
|
||||
num3 += num2;
|
||||
num2 = num11;
|
||||
num3 = num9;
|
||||
num5 = num9;
|
||||
num3 += num2;
|
||||
num4 += 5;
|
||||
num2 = num11;
|
||||
num3 = num11;
|
||||
num2 += num11;
|
||||
num11 = num3;
|
||||
num5 += num2;
|
||||
num2 = num3;
|
||||
num11 += num5;
|
||||
num11 += num2;
|
||||
num2 = num11;
|
||||
num3 = num11;
|
||||
num2 += num3;
|
||||
num8 += num2;
|
||||
num9 += num8;
|
||||
num2 = num11;
|
||||
num3 = num11;
|
||||
num8 += num3;
|
||||
num8 += num2;
|
||||
num4 += 7;
|
||||
num2 = num9;
|
||||
num4 += 8;
|
||||
num3 = num8;
|
||||
num2 += num3;
|
||||
num7 += num2;
|
||||
num11 += num7;
|
||||
num2 = num8;
|
||||
num3 = num11;
|
||||
num7 += num3;
|
||||
num4++;
|
||||
num7 += num2;
|
||||
int num12 = 0;
|
||||
uint[] x2 = this.X;
|
||||
this.H5 = num3;
|
||||
this.H6 = num3;
|
||||
this.H7 = num3;
|
||||
this.xOff = (int)((ulong)0L);
|
||||
Array.Clear(x2, num12, 16);
|
||||
}
|
||||
|
||||
// Token: 0x0600BF64 RID: 48996 RVA: 0x002B10D0 File Offset: 0x002AF2D0
|
||||
[Token(Token = "0x600BF64")]
|
||||
[Address(RVA = "0x290DC80", Offset = "0x290CC80", VA = "0x18290DC80")]
|
||||
private static uint Sum1Ch(uint x, uint y, uint z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF65 RID: 48997 RVA: 0x002B10E0 File Offset: 0x002AF2E0
|
||||
[Token(Token = "0x600BF65")]
|
||||
[Address(RVA = "0x290DC30", Offset = "0x290CC30", VA = "0x18290DC30")]
|
||||
private static uint Sum0Maj(uint x, uint y, uint z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF66 RID: 48998 RVA: 0x002B10F0 File Offset: 0x002AF2F0
|
||||
[Token(Token = "0x600BF66")]
|
||||
[Address(RVA = "0x27F07F0", Offset = "0x27EF7F0", VA = "0x1827F07F0")]
|
||||
private static uint Theta0(uint x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF67 RID: 48999 RVA: 0x002B1100 File Offset: 0x002AF300
|
||||
[Token(Token = "0x600BF67")]
|
||||
[Address(RVA = "0x27F0820", Offset = "0x27EF820", VA = "0x1827F0820")]
|
||||
private static uint Theta1(uint x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF68 RID: 49000 RVA: 0x002B1110 File Offset: 0x002AF310
|
||||
[Token(Token = "0x600BF68")]
|
||||
[Address(RVA = "0x290CF10", Offset = "0x290BF10", VA = "0x18290CF10", Slot = "20")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BF68)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Sha256Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:Sha256Digest(var_0_06, newobj:Sha256Digest(Sha256Digest::.ctor, ldloc:Sha256Digest(this)))
|
||||
stloc:uint32[](var_1_0E, newarr:uint32[]([mscorlib]System.UInt32, ldc.i4:int32(64)))
|
||||
stfld:uint32[](Sha256Digest::X, ldloc:Sha256Digest(var_0_06), ldloc:uint32[](var_1_0E))
|
||||
call:void(Sha256Digest::CopyIn, ldloc:Sha256Digest(var_0_06), ldloc:Sha256Digest(this))
|
||||
}
|
||||
|
||||
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: 0x0600BF69 RID: 49001 RVA: 0x002B113C File Offset: 0x002AF33C
|
||||
[Token(Token = "0x600BF69")]
|
||||
[Address(RVA = "0x290DB10", Offset = "0x290CB10", VA = "0x18290DB10", Slot = "21")]
|
||||
public override void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x0600BF6A RID: 49002 RVA: 0x002B1154 File Offset: 0x002AF354
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600BF6A")]
|
||||
[Address(RVA = "0x290DCD0", Offset = "0x290CCD0", VA = "0x18290DCD0")]
|
||||
static Sha256Digest()
|
||||
{
|
||||
uint[] array = new uint[64];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.433175D38B13FFE177FDD661A309F1B528B3F6E2).FieldHandle);
|
||||
Sha256Digest.K = array;
|
||||
}
|
||||
|
||||
// Token: 0x040078E3 RID: 30947
|
||||
[Token(Token = "0x40078E3")]
|
||||
private const int DigestLength = 32;
|
||||
|
||||
// Token: 0x040078E4 RID: 30948
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40078E4")]
|
||||
private uint H1;
|
||||
|
||||
// Token: 0x040078E5 RID: 30949
|
||||
[FieldOffset(Offset = "0x2C")]
|
||||
[Token(Token = "0x40078E5")]
|
||||
private uint H2;
|
||||
|
||||
// Token: 0x040078E6 RID: 30950
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40078E6")]
|
||||
private uint H3;
|
||||
|
||||
// Token: 0x040078E7 RID: 30951
|
||||
[FieldOffset(Offset = "0x34")]
|
||||
[Token(Token = "0x40078E7")]
|
||||
private uint H4;
|
||||
|
||||
// Token: 0x040078E8 RID: 30952
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x40078E8")]
|
||||
private uint H5;
|
||||
|
||||
// Token: 0x040078E9 RID: 30953
|
||||
[FieldOffset(Offset = "0x3C")]
|
||||
[Token(Token = "0x40078E9")]
|
||||
private uint H6;
|
||||
|
||||
// Token: 0x040078EA RID: 30954
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x40078EA")]
|
||||
private uint H7;
|
||||
|
||||
// Token: 0x040078EB RID: 30955
|
||||
[FieldOffset(Offset = "0x44")]
|
||||
[Token(Token = "0x40078EB")]
|
||||
private uint H8;
|
||||
|
||||
// Token: 0x040078EC RID: 30956
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x40078EC")]
|
||||
private uint[] X;
|
||||
|
||||
// Token: 0x040078ED RID: 30957
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x40078ED")]
|
||||
private int xOff;
|
||||
|
||||
// Token: 0x040078EE RID: 30958
|
||||
[Token(Token = "0x40078EE")]
|
||||
private static readonly uint[] K;
|
||||
}
|
||||
}
|
||||
+123
@@ -0,0 +1,123 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DD8 RID: 7640
|
||||
[Token(Token = "0x2001DD8")]
|
||||
public class Sha384Digest : LongDigest
|
||||
{
|
||||
// Token: 0x0600BF6B RID: 49003 RVA: 0x002B117C File Offset: 0x002AF37C
|
||||
[Token(Token = "0x600BF6B")]
|
||||
[Address(RVA = "0x290E190", Offset = "0x290D190", VA = "0x18290E190")]
|
||||
public Sha384Digest()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600BF6C RID: 49004 RVA: 0x002B1190 File Offset: 0x002AF390
|
||||
[Token(Token = "0x600BF6C")]
|
||||
[Address(RVA = "0x290E120", Offset = "0x290D120", VA = "0x18290E120")]
|
||||
public Sha384Digest(Sha384Digest t)
|
||||
: base(t)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x17001DBD RID: 7613
|
||||
// (get) Token: 0x0600BF6D RID: 49005 RVA: 0x002B11A4 File Offset: 0x002AF3A4
|
||||
[Token(Token = "0x17001DBD")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BF6D")]
|
||||
[Address(RVA = "0x290E1F0", Offset = "0x290D1F0", VA = "0x18290E1F0", Slot = "14")]
|
||||
get
|
||||
{
|
||||
return "SHA-384";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BF6E RID: 49006 RVA: 0x002B11B8 File Offset: 0x002AF3B8
|
||||
[Token(Token = "0x600BF6E")]
|
||||
[Address(RVA = "0xC480A0", Offset = "0xC470A0", VA = "0x180C480A0", Slot = "15")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return 48;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF6F RID: 49007 RVA: 0x002B11C8 File Offset: 0x002AF3C8
|
||||
[Token(Token = "0x600BF6F")]
|
||||
[Address(RVA = "0x290DF30", Offset = "0x290CF30", VA = "0x18290DF30", Slot = "16")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
base.Finish();
|
||||
Pack.UInt64_To_BE(this.H1, output, outOff);
|
||||
Pack.UInt64_To_BE(this.H2, output, outOff);
|
||||
Pack.UInt64_To_BE(this.H3, output, outOff);
|
||||
Pack.UInt64_To_BE(this.H4, output, outOff);
|
||||
Pack.UInt64_To_BE(this.H5, output, outOff);
|
||||
Pack.UInt64_To_BE(this.H6, output, outOff);
|
||||
return 48;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF70 RID: 49008 RVA: 0x002B122C File Offset: 0x002AF42C
|
||||
[Token(Token = "0x600BF70")]
|
||||
[Address(RVA = "0x290DFF0", Offset = "0x290CFF0", VA = "0x18290DFF0", Slot = "13")]
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
this.H1 = (ulong)(-3766243637369397544L);
|
||||
this.H2 = (ulong)7105036623409894663L;
|
||||
this.H3 = (ulong)(-7973340178411365097L);
|
||||
this.H4 = (ulong)1526699215303891257L;
|
||||
this.H5 = (ulong)7436329637833083697L;
|
||||
this.H6 = (ulong)(-8163818279084223215L);
|
||||
this.H7 = (ulong)(-2662702644619276377L);
|
||||
this.H8 = (ulong)5167115440072839076L;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF71 RID: 49009 RVA: 0x002B12C0 File Offset: 0x002AF4C0
|
||||
[Token(Token = "0x600BF71")]
|
||||
[Address(RVA = "0x290DEA0", Offset = "0x290CEA0", VA = "0x18290DEA0", Slot = "17")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BF71)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Sha384Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:Sha384Digest(var_0_06, newobj:Sha384Digest(Sha384Digest::.ctor, ldloc:Sha384Digest(this)))
|
||||
}
|
||||
|
||||
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: 0x0600BF72 RID: 49010 RVA: 0x002B12D4 File Offset: 0x002AF4D4
|
||||
[Token(Token = "0x600BF72")]
|
||||
[Address(RVA = "0x290E080", Offset = "0x290D080", VA = "0x18290E080", Slot = "18")]
|
||||
public override void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x040078EF RID: 30959
|
||||
[Token(Token = "0x40078EF")]
|
||||
private const int DigestLength = 48;
|
||||
}
|
||||
}
|
||||
+112
@@ -0,0 +1,112 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DD3 RID: 7635
|
||||
[Token(Token = "0x2001DD3")]
|
||||
public class Sha3Digest : KeccakDigest
|
||||
{
|
||||
// Token: 0x0600BF1C RID: 48924 RVA: 0x002AF758 File Offset: 0x002AD958
|
||||
[Token(Token = "0x600BF1C")]
|
||||
[Address(RVA = "0x290E220", Offset = "0x290D220", VA = "0x18290E220")]
|
||||
private static int CheckBitLength(int bitLength)
|
||||
{
|
||||
if (bitLength <= 256 || bitLength != 384)
|
||||
{
|
||||
}
|
||||
return bitLength;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF1D RID: 48925 RVA: 0x002AF78C File Offset: 0x002AD98C
|
||||
[Token(Token = "0x600BF1D")]
|
||||
[Address(RVA = "0x290E670", Offset = "0x290D670", VA = "0x18290E670")]
|
||||
public Sha3Digest()
|
||||
: base(256)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600BF1E RID: 48926 RVA: 0x002AF7A4 File Offset: 0x002AD9A4
|
||||
[Token(Token = "0x600BF1E")]
|
||||
[Address(RVA = "0x290E570", Offset = "0x290D570", VA = "0x18290E570")]
|
||||
public Sha3Digest(int bitLength)
|
||||
{
|
||||
if (bitLength <= 256 || bitLength != 384)
|
||||
{
|
||||
}
|
||||
base..ctor(bitLength);
|
||||
}
|
||||
|
||||
// Token: 0x0600BF1F RID: 48927 RVA: 0x002AF7D4 File Offset: 0x002AD9D4
|
||||
[Token(Token = "0x600BF1F")]
|
||||
[Address(RVA = "0x290E500", Offset = "0x290D500", VA = "0x18290E500")]
|
||||
public Sha3Digest(Sha3Digest source)
|
||||
: base(source)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x17001DB8 RID: 7608
|
||||
// (get) Token: 0x0600BF20 RID: 48928 RVA: 0x002AF7E8 File Offset: 0x002AD9E8
|
||||
[Token(Token = "0x17001DB8")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BF20")]
|
||||
[Address(RVA = "0x290E6F0", Offset = "0x290D6F0", VA = "0x18290E6F0", Slot = "13")]
|
||||
get
|
||||
{
|
||||
int fixedOutputLength = this.fixedOutputLength;
|
||||
return "SHA3-" + fixedOutputLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BF21 RID: 48929 RVA: 0x002AF808 File Offset: 0x002ADA08
|
||||
[Token(Token = "0x600BF21")]
|
||||
[Address(RVA = "0x290E4B0", Offset = "0x290D4B0", VA = "0x18290E4B0", Slot = "17")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
base.AbsorbBits(2, 2);
|
||||
return base.DoFinal(output, outOff);
|
||||
}
|
||||
|
||||
// Token: 0x0600BF22 RID: 48930 RVA: 0x002AF828 File Offset: 0x002ADA28
|
||||
[Token(Token = "0x600BF22")]
|
||||
[Address(RVA = "0x290E370", Offset = "0x290D370", VA = "0x18290E370", Slot = "18")]
|
||||
protected override int DoFinal(byte[] output, int outOff, byte partialByte, int partialBits)
|
||||
{
|
||||
int num = 0;
|
||||
byte[] array = new byte[0];
|
||||
uint num2;
|
||||
array[0] = (byte)num2;
|
||||
int num3 = 0;
|
||||
base.Absorb(array, num3, 1);
|
||||
return base.DoFinal(output, outOff, (byte)num2, num);
|
||||
}
|
||||
|
||||
// Token: 0x0600BF23 RID: 48931 RVA: 0x002AF86C File Offset: 0x002ADA6C
|
||||
[Token(Token = "0x600BF23")]
|
||||
[Address(RVA = "0x290E2E0", Offset = "0x290D2E0", VA = "0x18290E2E0", Slot = "21")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BF23)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Sha3Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:Sha3Digest(var_0_06, newobj:Sha3Digest(Sha3Digest::.ctor, ldloc:Sha3Digest[exp:int32](this)))
|
||||
}
|
||||
|
||||
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
|
||||
*/;
|
||||
}
|
||||
}
|
||||
}
|
||||
+125
@@ -0,0 +1,125 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DD9 RID: 7641
|
||||
[Token(Token = "0x2001DD9")]
|
||||
public class Sha512Digest : LongDigest
|
||||
{
|
||||
// Token: 0x0600BF73 RID: 49011 RVA: 0x002B12EC File Offset: 0x002AF4EC
|
||||
[Token(Token = "0x600BF73")]
|
||||
[Address(RVA = "0x290EA60", Offset = "0x290DA60", VA = "0x18290EA60")]
|
||||
public Sha512Digest()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600BF74 RID: 49012 RVA: 0x002B1300 File Offset: 0x002AF500
|
||||
[Token(Token = "0x600BF74")]
|
||||
[Address(RVA = "0x290E9F0", Offset = "0x290D9F0", VA = "0x18290E9F0")]
|
||||
public Sha512Digest(Sha512Digest t)
|
||||
: base(t)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x17001DBE RID: 7614
|
||||
// (get) Token: 0x0600BF75 RID: 49013 RVA: 0x002B1314 File Offset: 0x002AF514
|
||||
[Token(Token = "0x17001DBE")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BF75")]
|
||||
[Address(RVA = "0x290EAC0", Offset = "0x290DAC0", VA = "0x18290EAC0", Slot = "14")]
|
||||
get
|
||||
{
|
||||
return "SHA-512";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BF76 RID: 49014 RVA: 0x002B1328 File Offset: 0x002AF528
|
||||
[Token(Token = "0x600BF76")]
|
||||
[Address(RVA = "0x8BCFC0", Offset = "0x8BBFC0", VA = "0x1808BCFC0", Slot = "15")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return 64;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF77 RID: 49015 RVA: 0x002B1338 File Offset: 0x002AF538
|
||||
[Token(Token = "0x600BF77")]
|
||||
[Address(RVA = "0x290E7E0", Offset = "0x290D7E0", VA = "0x18290E7E0", Slot = "16")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
base.Finish();
|
||||
Pack.UInt64_To_BE(this.H1, output, outOff);
|
||||
Pack.UInt64_To_BE(this.H2, output, outOff);
|
||||
Pack.UInt64_To_BE(this.H3, output, outOff);
|
||||
Pack.UInt64_To_BE(this.H4, output, outOff);
|
||||
Pack.UInt64_To_BE(this.H5, output, outOff);
|
||||
Pack.UInt64_To_BE(this.H6, output, outOff);
|
||||
Pack.UInt64_To_BE(this.H7, output, outOff);
|
||||
Pack.UInt64_To_BE(this.H8, output, outOff);
|
||||
return 64;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF78 RID: 49016 RVA: 0x002B13B8 File Offset: 0x002AF5B8
|
||||
[Token(Token = "0x600BF78")]
|
||||
[Address(RVA = "0x290E960", Offset = "0x290D960", VA = "0x18290E960", Slot = "13")]
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
this.H1 = (ulong)7640891576956012808L;
|
||||
this.H2 = (ulong)(-4942790177534073029L);
|
||||
this.H3 = (ulong)4354685564936845355L;
|
||||
this.H4 = (ulong)(-6534734903238641935L);
|
||||
this.H5 = (ulong)5840696475078001361L;
|
||||
this.H6 = (ulong)(-7276294671716946913L);
|
||||
this.H7 = (ulong)2270897969802886507L;
|
||||
this.H8 = (ulong)6620516959819538809L;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF79 RID: 49017 RVA: 0x002B144C File Offset: 0x002AF64C
|
||||
[Token(Token = "0x600BF79")]
|
||||
[Address(RVA = "0x290E750", Offset = "0x290D750", VA = "0x18290E750", Slot = "17")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BF79)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Sha512Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:Sha512Digest(var_0_06, newobj:Sha512Digest(Sha512Digest::.ctor, ldloc:Sha512Digest(this)))
|
||||
}
|
||||
|
||||
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: 0x0600BF7A RID: 49018 RVA: 0x002B1460 File Offset: 0x002AF660
|
||||
[Token(Token = "0x600BF7A")]
|
||||
[Address(RVA = "0x290E8C0", Offset = "0x290D8C0", VA = "0x18290E8C0", Slot = "18")]
|
||||
public override void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x040078F0 RID: 30960
|
||||
[Token(Token = "0x40078F0")]
|
||||
private const int DigestLength = 64;
|
||||
}
|
||||
}
|
||||
+359
@@ -0,0 +1,359 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DDA RID: 7642
|
||||
[Token(Token = "0x2001DDA")]
|
||||
public class Sha512tDigest : LongDigest
|
||||
{
|
||||
// Token: 0x0600BF7B RID: 49019 RVA: 0x002B1478 File Offset: 0x002AF678
|
||||
[Token(Token = "0x600BF7B")]
|
||||
[Address(RVA = "0x290F210", Offset = "0x290E210", VA = "0x18290F210")]
|
||||
public Sha512tDigest(int bitLength)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BF7B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Sha512tDigest::.ctor(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_42:
|
||||
stloc:ArgumentException(var_3_51, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("cannot be 384 use SHA384 instead"), ldstr:string("bitLength")))
|
||||
}
|
||||
|
||||
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: 0x0600BF7C RID: 49020 RVA: 0x002B14D8 File Offset: 0x002AF6D8
|
||||
[Token(Token = "0x600BF7C")]
|
||||
[Address(RVA = "0x290F180", Offset = "0x290E180", VA = "0x18290F180")]
|
||||
public Sha512tDigest(Sha512tDigest t)
|
||||
: base(t)
|
||||
{
|
||||
int num = t.digestLength;
|
||||
this.digestLength = num;
|
||||
IMemoable memoable = ((IMemoable)this).Copy();
|
||||
}
|
||||
|
||||
// Token: 0x17001DBF RID: 7615
|
||||
// (get) Token: 0x0600BF7D RID: 49021 RVA: 0x002B1508 File Offset: 0x002AF708
|
||||
[Token(Token = "0x17001DBF")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BF7D")]
|
||||
[Address(RVA = "0x290F390", Offset = "0x290E390", VA = "0x18290F390", Slot = "14")]
|
||||
get
|
||||
{
|
||||
int num = this.digestLength;
|
||||
return "SHA-512/" + num;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BF7E RID: 49022 RVA: 0x002B1528 File Offset: 0x002AF728
|
||||
[Token(Token = "0x600BF7E")]
|
||||
[Address(RVA = "0x4F3F50", Offset = "0x4F2F50", VA = "0x1804F3F50", Slot = "15")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return this.digestLength;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF7F RID: 49023 RVA: 0x002B153C File Offset: 0x002AF73C
|
||||
[Token(Token = "0x600BF7F")]
|
||||
[Address(RVA = "0x290EBB0", Offset = "0x290DBB0", VA = "0x18290EBB0", Slot = "16")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
base.Finish();
|
||||
int num = this.digestLength;
|
||||
if (num > 0)
|
||||
{
|
||||
ulong h = this.H1;
|
||||
Sha512tDigest.UInt32_To_BE((uint)h, output, outOff, num);
|
||||
if (num > 4)
|
||||
{
|
||||
Sha512tDigest.UInt32_To_BE((uint)h, output, outOff, num);
|
||||
}
|
||||
}
|
||||
int num2 = this.digestLength;
|
||||
ulong h2;
|
||||
if (num2 > 0)
|
||||
{
|
||||
h2 = this.H2;
|
||||
Sha512tDigest.UInt32_To_BE((uint)h2, output, outOff, num2);
|
||||
if (num2 > 4)
|
||||
{
|
||||
Sha512tDigest.UInt32_To_BE((uint)h2, output, outOff, num2);
|
||||
}
|
||||
}
|
||||
int num3 = this.digestLength;
|
||||
if (num3 > 0)
|
||||
{
|
||||
num2 = num3;
|
||||
Sha512tDigest.UInt32_To_BE((uint)h2, output, outOff, num2);
|
||||
if (num3 > 4)
|
||||
{
|
||||
Sha512tDigest.UInt32_To_BE((uint)h2, output, outOff, num2);
|
||||
}
|
||||
}
|
||||
int num4 = this.digestLength;
|
||||
if (num4 > 0)
|
||||
{
|
||||
num2 = num4;
|
||||
Sha512tDigest.UInt32_To_BE((uint)h2, output, outOff, num2);
|
||||
if (num4 > 4)
|
||||
{
|
||||
Sha512tDigest.UInt32_To_BE((uint)h2, output, outOff, num2);
|
||||
}
|
||||
}
|
||||
int num5 = this.digestLength;
|
||||
if (num5 > 0)
|
||||
{
|
||||
num2 = num5;
|
||||
Sha512tDigest.UInt32_To_BE((uint)h2, output, outOff, num2);
|
||||
if (num5 > 4)
|
||||
{
|
||||
Sha512tDigest.UInt32_To_BE((uint)h2, output, outOff, num2);
|
||||
}
|
||||
}
|
||||
int num6 = this.digestLength;
|
||||
if (num6 > 0)
|
||||
{
|
||||
num2 = num6;
|
||||
Sha512tDigest.UInt32_To_BE((uint)h2, output, outOff, num2);
|
||||
if (num6 > 4)
|
||||
{
|
||||
Sha512tDigest.UInt32_To_BE((uint)h2, output, outOff, num2);
|
||||
}
|
||||
}
|
||||
int num7 = this.digestLength;
|
||||
if (num7 > 0)
|
||||
{
|
||||
num2 = num7;
|
||||
Sha512tDigest.UInt32_To_BE((uint)h2, output, outOff, num2);
|
||||
if (num7 > 4)
|
||||
{
|
||||
Sha512tDigest.UInt32_To_BE((uint)h2, output, outOff, num2);
|
||||
}
|
||||
}
|
||||
int num8 = this.digestLength;
|
||||
if (num8 > 0)
|
||||
{
|
||||
num2 = num8;
|
||||
Sha512tDigest.UInt32_To_BE((uint)h2, output, outOff, num2);
|
||||
if (num8 > 4)
|
||||
{
|
||||
Sha512tDigest.UInt32_To_BE((uint)h2, output, outOff, num2);
|
||||
}
|
||||
}
|
||||
return this.digestLength;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF80 RID: 49024 RVA: 0x002B16A0 File Offset: 0x002AF8A0
|
||||
[Token(Token = "0x600BF80")]
|
||||
[Address(RVA = "0x290EE60", Offset = "0x290DE60", VA = "0x18290EE60", Slot = "13")]
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
ulong h1t = this.H1t;
|
||||
this.H1 = h1t;
|
||||
ulong h2t = this.H2t;
|
||||
this.H2 = h2t;
|
||||
ulong h3t = this.H3t;
|
||||
this.H3 = h3t;
|
||||
ulong h4t = this.H4t;
|
||||
this.H4 = h4t;
|
||||
ulong h5t = this.H5t;
|
||||
this.H5 = h5t;
|
||||
ulong h6t = this.H6t;
|
||||
this.H6 = h6t;
|
||||
ulong h7t = this.H7t;
|
||||
this.H7 = h7t;
|
||||
ulong h8t = this.H8t;
|
||||
this.H8 = h8t;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF81 RID: 49025 RVA: 0x002B172C File Offset: 0x002AF92C
|
||||
[Token(Token = "0x600BF81")]
|
||||
[Address(RVA = "0x290F3F0", Offset = "0x290E3F0", VA = "0x18290F3F0")]
|
||||
private void tIvGenerate(int bitLength)
|
||||
{
|
||||
ulong num;
|
||||
this.H1 = num;
|
||||
ulong num2;
|
||||
this.H2 = num2;
|
||||
ulong num3;
|
||||
this.H3 = num3;
|
||||
ulong num4;
|
||||
this.H4 = num4;
|
||||
ulong num5;
|
||||
this.H5 = num5;
|
||||
ulong num6;
|
||||
this.H6 = num6;
|
||||
ulong num7;
|
||||
this.H7 = num7;
|
||||
ulong num8;
|
||||
this.H8 = num8;
|
||||
ulong num9;
|
||||
base.Update((byte)num9);
|
||||
ulong num10;
|
||||
base.Update((byte)num10);
|
||||
ulong num11;
|
||||
base.Update((byte)num11);
|
||||
ulong num12;
|
||||
base.Update((byte)num12);
|
||||
ulong num13;
|
||||
base.Update((byte)num13);
|
||||
ulong num14;
|
||||
base.Update((byte)num14);
|
||||
ulong num15;
|
||||
base.Update((byte)num15);
|
||||
ulong num16;
|
||||
base.Update((byte)num16);
|
||||
if (bitLength > 10)
|
||||
{
|
||||
ulong num17;
|
||||
num17 += num17;
|
||||
long num18 = (long)(num17 * (ulong)((uint)100));
|
||||
ulong num19;
|
||||
num19 += num19;
|
||||
num19 += num19;
|
||||
num19 += num19;
|
||||
}
|
||||
base.Update((byte)num16);
|
||||
base.Finish();
|
||||
ulong h = this.H1;
|
||||
this.H1t = h;
|
||||
ulong h2 = this.H2;
|
||||
this.H2t = h2;
|
||||
ulong h3 = this.H3;
|
||||
this.H3t = h3;
|
||||
ulong h4 = this.H4;
|
||||
this.H4t = h4;
|
||||
ulong h5 = this.H5;
|
||||
this.H5t = h5;
|
||||
ulong h6 = this.H6;
|
||||
this.H6t = h6;
|
||||
ulong h7 = this.H7;
|
||||
this.H7t = h7;
|
||||
ulong h8 = this.H8;
|
||||
this.H8t = h8;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF82 RID: 49026 RVA: 0x002B186C File Offset: 0x002AFA6C
|
||||
[Token(Token = "0x600BF82")]
|
||||
[Address(RVA = "0x290F110", Offset = "0x290E110", VA = "0x18290F110")]
|
||||
private static void UInt64_To_BE(ulong n, byte[] bs, int off, int max)
|
||||
{
|
||||
if (max > 0)
|
||||
{
|
||||
Sha512tDigest.UInt32_To_BE((uint)n, bs, off, max);
|
||||
if (max > 4)
|
||||
{
|
||||
Sha512tDigest.UInt32_To_BE((uint)n, bs, off, max);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BF83 RID: 49027 RVA: 0x002B1894 File Offset: 0x002AFA94
|
||||
[Token(Token = "0x600BF83")]
|
||||
[Address(RVA = "0x290F030", Offset = "0x290E030", VA = "0x18290F030")]
|
||||
private static void UInt32_To_BE(uint n, byte[] bs, int off, int max)
|
||||
{
|
||||
int num = Math.Min(4, max);
|
||||
uint num2;
|
||||
num2 -= (uint)num;
|
||||
num2 += (uint)8;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF84 RID: 49028 RVA: 0x002B18BC File Offset: 0x002AFABC
|
||||
[Token(Token = "0x600BF84")]
|
||||
[Address(RVA = "0x290EAF0", Offset = "0x290DAF0", VA = "0x18290EAF0", Slot = "17")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
Sha512tDigest sha512tDigest = new Sha512tDigest(this);
|
||||
int num = this.digestLength;
|
||||
sha512tDigest.digestLength = num;
|
||||
IMemoable memoable = sha512tDigest.Copy();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600BF85 RID: 49029 RVA: 0x002B18EC File Offset: 0x002AFAEC
|
||||
[Token(Token = "0x600BF85")]
|
||||
[Address(RVA = "0x290EED0", Offset = "0x290DED0", VA = "0x18290EED0", Slot = "18")]
|
||||
public override void Reset(IMemoable other)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
}
|
||||
while (other == 0 || this.digestLength != num);
|
||||
this.H1t = (ulong)num;
|
||||
this.H2t = (ulong)num;
|
||||
this.H3t = (ulong)num;
|
||||
this.H4t = (ulong)num;
|
||||
this.H5t = (ulong)num;
|
||||
this.H6t = (ulong)num;
|
||||
this.H7t = (ulong)num;
|
||||
this.H8t = (ulong)num;
|
||||
}
|
||||
|
||||
// Token: 0x040078F1 RID: 30961
|
||||
[Token(Token = "0x40078F1")]
|
||||
private const ulong A5 = 11936128518282651045UL;
|
||||
|
||||
// Token: 0x040078F2 RID: 30962
|
||||
[FieldOffset(Offset = "0x88")]
|
||||
[Token(Token = "0x40078F2")]
|
||||
private readonly int digestLength;
|
||||
|
||||
// Token: 0x040078F3 RID: 30963
|
||||
[FieldOffset(Offset = "0x90")]
|
||||
[Token(Token = "0x40078F3")]
|
||||
private ulong H1t;
|
||||
|
||||
// Token: 0x040078F4 RID: 30964
|
||||
[FieldOffset(Offset = "0x98")]
|
||||
[Token(Token = "0x40078F4")]
|
||||
private ulong H2t;
|
||||
|
||||
// Token: 0x040078F5 RID: 30965
|
||||
[FieldOffset(Offset = "0xA0")]
|
||||
[Token(Token = "0x40078F5")]
|
||||
private ulong H3t;
|
||||
|
||||
// Token: 0x040078F6 RID: 30966
|
||||
[FieldOffset(Offset = "0xA8")]
|
||||
[Token(Token = "0x40078F6")]
|
||||
private ulong H4t;
|
||||
|
||||
// Token: 0x040078F7 RID: 30967
|
||||
[FieldOffset(Offset = "0xB0")]
|
||||
[Token(Token = "0x40078F7")]
|
||||
private ulong H5t;
|
||||
|
||||
// Token: 0x040078F8 RID: 30968
|
||||
[FieldOffset(Offset = "0xB8")]
|
||||
[Token(Token = "0x40078F8")]
|
||||
private ulong H6t;
|
||||
|
||||
// Token: 0x040078F9 RID: 30969
|
||||
[FieldOffset(Offset = "0xC0")]
|
||||
[Token(Token = "0x40078F9")]
|
||||
private ulong H7t;
|
||||
|
||||
// Token: 0x040078FA RID: 30970
|
||||
[FieldOffset(Offset = "0xC8")]
|
||||
[Token(Token = "0x40078FA")]
|
||||
private ulong H8t;
|
||||
}
|
||||
}
|
||||
+178
@@ -0,0 +1,178 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DDB RID: 7643
|
||||
[Token(Token = "0x2001DDB")]
|
||||
public class ShakeDigest : KeccakDigest, IXof, IDigest
|
||||
{
|
||||
// Token: 0x0600BF86 RID: 49030 RVA: 0x002B1948 File Offset: 0x002AFB48
|
||||
[Token(Token = "0x600BF86")]
|
||||
[Address(RVA = "0x290F5C0", Offset = "0x290E5C0", VA = "0x18290F5C0")]
|
||||
private static int CheckBitLength(int bitLength)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BF86)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.ShakeDigest::CheckBitLength(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_12:
|
||||
stloc:ArgumentException(var_1_1D, newobj:ArgumentException(ArgumentException::.ctor, ldloc:string(var_0), ldstr:string("bitLength")))
|
||||
}
|
||||
|
||||
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: 0x0600BF87 RID: 49031 RVA: 0x002B1974 File Offset: 0x002AFB74
|
||||
[Token(Token = "0x600BF87")]
|
||||
[Address(RVA = "0x290FB70", Offset = "0x290EB70", VA = "0x18290FB70")]
|
||||
public ShakeDigest()
|
||||
: base(128)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600BF88 RID: 49032 RVA: 0x002B198C File Offset: 0x002AFB8C
|
||||
[Token(Token = "0x600BF88")]
|
||||
[Address(RVA = "0x290FA10", Offset = "0x290EA10", VA = "0x18290FA10")]
|
||||
public ShakeDigest(int bitLength)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BF88)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.ShakeDigest::.ctor(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_18:
|
||||
stloc:ArgumentException(var_1_23, newobj:ArgumentException(ArgumentException::.ctor, ldloc:string(var_0), ldstr:string("bitLength")))
|
||||
}
|
||||
|
||||
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: 0x0600BF89 RID: 49033 RVA: 0x002B19BC File Offset: 0x002AFBBC
|
||||
[Token(Token = "0x600BF89")]
|
||||
[Address(RVA = "0x290FB00", Offset = "0x290EB00", VA = "0x18290FB00")]
|
||||
public ShakeDigest(ShakeDigest source)
|
||||
: base(source)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x17001DC0 RID: 7616
|
||||
// (get) Token: 0x0600BF8A RID: 49034 RVA: 0x002B19D0 File Offset: 0x002AFBD0
|
||||
[Token(Token = "0x17001DC0")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BF8A")]
|
||||
[Address(RVA = "0x290FBF0", Offset = "0x290EBF0", VA = "0x18290FBF0", Slot = "13")]
|
||||
get
|
||||
{
|
||||
int fixedOutputLength = this.fixedOutputLength;
|
||||
return "SHAKE" + fixedOutputLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BF8B RID: 49035 RVA: 0x002B19F0 File Offset: 0x002AFBF0
|
||||
[Token(Token = "0x600BF8B")]
|
||||
[Address(RVA = "0x290F700", Offset = "0x290E700", VA = "0x18290F700", Slot = "17")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
string algorithmName = this.AlgorithmName;
|
||||
int num;
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF8C RID: 49036 RVA: 0x002B1A08 File Offset: 0x002AFC08
|
||||
[Token(Token = "0x600BF8C")]
|
||||
[Address(RVA = "0x290F8D0", Offset = "0x290E8D0", VA = "0x18290F8D0", Slot = "25")]
|
||||
public virtual int DoFinal(byte[] output, int outOff, int outLen)
|
||||
{
|
||||
int num = this.DoFinal(output, outOff, outLen);
|
||||
return outLen;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF8D RID: 49037 RVA: 0x002B1A20 File Offset: 0x002AFC20
|
||||
[Token(Token = "0x600BF8D")]
|
||||
[Address(RVA = "0x290F9A0", Offset = "0x290E9A0", VA = "0x18290F9A0", Slot = "26")]
|
||||
public virtual int DoOutput(byte[] output, int outOff, int outLen)
|
||||
{
|
||||
base.AbsorbBits(15, 4);
|
||||
base.Squeeze(output, outOff, (long)outLen);
|
||||
return outLen;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF8E RID: 49038 RVA: 0x002B1A40 File Offset: 0x002AFC40
|
||||
[Token(Token = "0x600BF8E")]
|
||||
[Address(RVA = "0x290F920", Offset = "0x290E920", VA = "0x18290F920", Slot = "18")]
|
||||
protected override int DoFinal(byte[] output, int outOff, byte partialByte, int partialBits)
|
||||
{
|
||||
string algorithmName = this.AlgorithmName;
|
||||
int num;
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF8F RID: 49039 RVA: 0x002B1A58 File Offset: 0x002AFC58
|
||||
[Token(Token = "0x600BF8F")]
|
||||
[Address(RVA = "0x290F760", Offset = "0x290E760", VA = "0x18290F760", Slot = "27")]
|
||||
protected virtual int DoFinal(byte[] output, int outOff, int outLen, byte partialByte, int partialBits)
|
||||
{
|
||||
uint num;
|
||||
byte[] array = new byte[] { (byte)num };
|
||||
int num2 = 0;
|
||||
uint num3;
|
||||
base.Absorb(array, num2, (int)num3);
|
||||
base.Squeeze(output, outOff, (long)outLen);
|
||||
return outLen;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF90 RID: 49040 RVA: 0x002B1A9C File Offset: 0x002AFC9C
|
||||
[Token(Token = "0x600BF90")]
|
||||
[Address(RVA = "0x290F670", Offset = "0x290E670", VA = "0x18290F670", Slot = "21")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BF90)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.ShakeDigest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:ShakeDigest(var_0_06, newobj:ShakeDigest(ShakeDigest::.ctor, ldloc:ShakeDigest[exp:int32](this)))
|
||||
}
|
||||
|
||||
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
|
||||
*/;
|
||||
}
|
||||
}
|
||||
}
|
||||
+138
@@ -0,0 +1,138 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DDC RID: 7644
|
||||
[Token(Token = "0x2001DDC")]
|
||||
public class ShortenedDigest : IDigest
|
||||
{
|
||||
// Token: 0x0600BF91 RID: 49041 RVA: 0x002B1AB0 File Offset: 0x002AFCB0
|
||||
[Token(Token = "0x600BF91")]
|
||||
[Address(RVA = "0x290FEA0", Offset = "0x290EEA0", VA = "0x18290FEA0")]
|
||||
public ShortenedDigest(IDigest baseDigest, int length)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BF91)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.ShortenedDigest::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_19:
|
||||
stloc:ArgumentNullException(var_0_23, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("baseDigest")))
|
||||
}
|
||||
|
||||
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: 0x17001DC1 RID: 7617
|
||||
// (get) Token: 0x0600BF92 RID: 49042 RVA: 0x002B1AE0 File Offset: 0x002AFCE0
|
||||
[Token(Token = "0x17001DC1")]
|
||||
public string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BF92")]
|
||||
[Address(RVA = "0x290FF80", Offset = "0x290EF80", VA = "0x18290FF80", Slot = "4")]
|
||||
get
|
||||
{
|
||||
object[] array = new object[4];
|
||||
IDigest digest = this.baseDigest;
|
||||
if (array != 0)
|
||||
{
|
||||
}
|
||||
array[0] = array;
|
||||
if ("(" != 0)
|
||||
{
|
||||
}
|
||||
array[1] = "(";
|
||||
int num = this.length;
|
||||
if (num != 0)
|
||||
{
|
||||
}
|
||||
array[2] = num;
|
||||
if (")" != 0)
|
||||
{
|
||||
}
|
||||
array[3] = ")";
|
||||
return string.Concat(array);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BF93 RID: 49043 RVA: 0x002B1B50 File Offset: 0x002AFD50
|
||||
[Token(Token = "0x600BF93")]
|
||||
[Address(RVA = "0x411540", Offset = "0x410540", VA = "0x180411540", Slot = "5")]
|
||||
public int GetDigestSize()
|
||||
{
|
||||
return this.length;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF94 RID: 49044 RVA: 0x002B1B64 File Offset: 0x002AFD64
|
||||
[Token(Token = "0x600BF94")]
|
||||
[Address(RVA = "0x290FE40", Offset = "0x290EE40", VA = "0x18290FE40", Slot = "7")]
|
||||
public void Update(byte input)
|
||||
{
|
||||
IDigest digest = this.baseDigest;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600BF95 RID: 49045 RVA: 0x002B1B80 File Offset: 0x002AFD80
|
||||
[Token(Token = "0x600BF95")]
|
||||
[Address(RVA = "0x290FC50", Offset = "0x290EC50", VA = "0x18290FC50", Slot = "8")]
|
||||
public void BlockUpdate(byte[] input, int inOff, int length)
|
||||
{
|
||||
IDigest digest = this.baseDigest;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF96 RID: 49046 RVA: 0x002B1B9C File Offset: 0x002AFD9C
|
||||
[Token(Token = "0x600BF96")]
|
||||
[Address(RVA = "0x290FCD0", Offset = "0x290ECD0", VA = "0x18290FCD0", Slot = "9")]
|
||||
public int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
IDigest digest = this.baseDigest;
|
||||
byte[] array = new byte[0];
|
||||
IDigest digest2 = this.baseDigest;
|
||||
int num = this.length;
|
||||
int num2 = 0;
|
||||
Array.Copy(array, num2, output, outOff, num);
|
||||
return this.length;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF97 RID: 49047 RVA: 0x002B1BE4 File Offset: 0x002AFDE4
|
||||
[Token(Token = "0x600BF97")]
|
||||
[Address(RVA = "0x290FDF0", Offset = "0x290EDF0", VA = "0x18290FDF0", Slot = "10")]
|
||||
public void Reset()
|
||||
{
|
||||
IDigest digest = this.baseDigest;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600BF98 RID: 49048 RVA: 0x002B1C00 File Offset: 0x002AFE00
|
||||
[Token(Token = "0x600BF98")]
|
||||
[Address(RVA = "0x290FDA0", Offset = "0x290EDA0", VA = "0x18290FDA0", Slot = "6")]
|
||||
public int GetByteLength()
|
||||
{
|
||||
IDigest digest = this.baseDigest;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x040078FB RID: 30971
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40078FB")]
|
||||
private IDigest baseDigest;
|
||||
|
||||
// Token: 0x040078FC RID: 30972
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x40078FC")]
|
||||
private int length;
|
||||
}
|
||||
}
|
||||
+214
@@ -0,0 +1,214 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DDD RID: 7645
|
||||
[Token(Token = "0x2001DDD")]
|
||||
public class SkeinDigest : IDigest, IMemoable
|
||||
{
|
||||
// Token: 0x0600BF99 RID: 49049 RVA: 0x002B1C1C File Offset: 0x002AFE1C
|
||||
[Token(Token = "0x600BF99")]
|
||||
[Address(RVA = "0x2910680", Offset = "0x290F680", VA = "0x182910680")]
|
||||
public SkeinDigest(int stateSizeBits, int digestSizeBits)
|
||||
{
|
||||
SkeinEngine skeinEngine = new SkeinEngine(stateSizeBits, digestSizeBits);
|
||||
this.engine = skeinEngine;
|
||||
int num = 0;
|
||||
skeinEngine.chain = num;
|
||||
skeinEngine.key = num;
|
||||
skeinEngine.preMessageParameters = num;
|
||||
skeinEngine.postMessageParameters = num;
|
||||
skeinEngine.CreateInitialState();
|
||||
skeinEngine.UbiInit(48);
|
||||
}
|
||||
|
||||
// Token: 0x0600BF9A RID: 49050 RVA: 0x002B1C70 File Offset: 0x002AFE70
|
||||
[Token(Token = "0x600BF9A")]
|
||||
[Address(RVA = "0x29105C0", Offset = "0x290F5C0", VA = "0x1829105C0")]
|
||||
public SkeinDigest(SkeinDigest digest)
|
||||
{
|
||||
SkeinEngine skeinEngine = digest.engine;
|
||||
bool isPartialBlockOkay = skeinEngine.threefish.IsPartialBlockOkay;
|
||||
SkeinEngine skeinEngine2;
|
||||
skeinEngine2.CopyIn(skeinEngine);
|
||||
this.engine = skeinEngine2;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF9B RID: 49051 RVA: 0x002B1CAC File Offset: 0x002AFEAC
|
||||
[Token(Token = "0x600BF9B")]
|
||||
[Address(RVA = "0x29103C0", Offset = "0x290F3C0", VA = "0x1829103C0", Slot = "12")]
|
||||
public void Reset(IMemoable other)
|
||||
{
|
||||
int num;
|
||||
SkeinEngine skeinEngine;
|
||||
for (;;)
|
||||
{
|
||||
num = 0;
|
||||
if (other != 0)
|
||||
{
|
||||
skeinEngine = this.engine;
|
||||
if (other == 0 || other != 0)
|
||||
{
|
||||
ThreefishEngine threefish = skeinEngine.threefish;
|
||||
bool isPartialBlockOkay = threefish.IsPartialBlockOkay;
|
||||
bool isPartialBlockOkay2 = threefish.IsPartialBlockOkay;
|
||||
if (isPartialBlockOkay == isPartialBlockOkay2 && skeinEngine.outputSizeBytes == (isPartialBlockOkay2 ? 1 : 0))
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
skeinEngine.CopyIn(num);
|
||||
}
|
||||
|
||||
// Token: 0x0600BF9C RID: 49052 RVA: 0x002B1D0C File Offset: 0x002AFF0C
|
||||
[Token(Token = "0x600BF9C")]
|
||||
[Address(RVA = "0x2910170", Offset = "0x290F170", VA = "0x182910170", Slot = "11")]
|
||||
public IMemoable Copy()
|
||||
{
|
||||
SkeinEngine skeinEngine = this.engine;
|
||||
bool isPartialBlockOkay = skeinEngine.threefish.IsPartialBlockOkay;
|
||||
SkeinEngine skeinEngine2;
|
||||
skeinEngine2.CopyIn(skeinEngine);
|
||||
SkeinDigest skeinDigest;
|
||||
skeinDigest.engine = skeinEngine2;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x17001DC2 RID: 7618
|
||||
// (get) Token: 0x0600BF9D RID: 49053 RVA: 0x002B1D40 File Offset: 0x002AFF40
|
||||
[Token(Token = "0x17001DC2")]
|
||||
public string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BF9D")]
|
||||
[Address(RVA = "0x2910750", Offset = "0x290F750", VA = "0x182910750", Slot = "4")]
|
||||
get
|
||||
{
|
||||
object[] array = new object[4];
|
||||
if ("Skein-" != 0)
|
||||
{
|
||||
}
|
||||
array[0] = "Skein-";
|
||||
bool isPartialBlockOkay = this.engine.threefish.IsPartialBlockOkay;
|
||||
if (isPartialBlockOkay)
|
||||
{
|
||||
}
|
||||
array[1] = isPartialBlockOkay;
|
||||
if ("-" != 0)
|
||||
{
|
||||
}
|
||||
array[2] = "-";
|
||||
int outputSizeBytes = this.engine.outputSizeBytes;
|
||||
if (outputSizeBytes != 0)
|
||||
{
|
||||
}
|
||||
array[3] = outputSizeBytes;
|
||||
return string.Concat(array);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BF9E RID: 49054 RVA: 0x002B1DC0 File Offset: 0x002AFFC0
|
||||
[Token(Token = "0x600BF9E")]
|
||||
[Address(RVA = "0x73E8F0", Offset = "0x73D8F0", VA = "0x18073E8F0", Slot = "5")]
|
||||
public int GetDigestSize()
|
||||
{
|
||||
return this.engine.outputSizeBytes;
|
||||
}
|
||||
|
||||
// Token: 0x0600BF9F RID: 49055 RVA: 0x002B1DE0 File Offset: 0x002AFFE0
|
||||
[Token(Token = "0x600BF9F")]
|
||||
[Address(RVA = "0x2910250", Offset = "0x290F250", VA = "0x182910250", Slot = "6")]
|
||||
public int GetByteLength()
|
||||
{
|
||||
string algorithmName = ((IBlockCipher)this.engine.threefish).AlgorithmName;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600BFA0 RID: 49056 RVA: 0x002B1E04 File Offset: 0x002B0004
|
||||
[Token(Token = "0x600BFA0")]
|
||||
[Address(RVA = "0x2910290", Offset = "0x290F290", VA = "0x182910290")]
|
||||
public void Init(SkeinParameters parameters)
|
||||
{
|
||||
SkeinEngine skeinEngine = this.engine;
|
||||
int num = 0;
|
||||
skeinEngine.chain = num;
|
||||
skeinEngine.key = num;
|
||||
skeinEngine.preMessageParameters = num;
|
||||
skeinEngine.postMessageParameters = num;
|
||||
if (parameters != 0)
|
||||
{
|
||||
byte[] key = parameters.GetKey();
|
||||
IDictionary parameters2 = parameters.parameters;
|
||||
skeinEngine.InitParams(parameters2);
|
||||
}
|
||||
skeinEngine.CreateInitialState();
|
||||
skeinEngine.UbiInit(48);
|
||||
}
|
||||
|
||||
// Token: 0x0600BFA1 RID: 49057 RVA: 0x002B1E64 File Offset: 0x002B0064
|
||||
[Token(Token = "0x600BFA1")]
|
||||
[Address(RVA = "0x2910360", Offset = "0x290F360", VA = "0x182910360", Slot = "10")]
|
||||
public void Reset()
|
||||
{
|
||||
SkeinEngine skeinEngine = this.engine;
|
||||
ulong[] chain = skeinEngine.chain;
|
||||
int length = chain.Length;
|
||||
int num = 0;
|
||||
ulong[] initialState = skeinEngine.initialState;
|
||||
int num2 = 0;
|
||||
Array.Copy(initialState, num2, chain, num, length);
|
||||
skeinEngine.UbiInit(48);
|
||||
}
|
||||
|
||||
// Token: 0x0600BFA2 RID: 49058 RVA: 0x002B1EB0 File Offset: 0x002B00B0
|
||||
[Token(Token = "0x600BFA2")]
|
||||
[Address(RVA = "0x2910560", Offset = "0x290F560", VA = "0x182910560", Slot = "7")]
|
||||
public void Update(byte inByte)
|
||||
{
|
||||
SkeinEngine skeinEngine = this.engine;
|
||||
skeinEngine.singleByte[0] = inByte;
|
||||
byte[] singleByte = skeinEngine.singleByte;
|
||||
int num = 0;
|
||||
skeinEngine.Update(singleByte, num, 1);
|
||||
}
|
||||
|
||||
// Token: 0x0600BFA3 RID: 49059 RVA: 0x002B1EEC File Offset: 0x002B00EC
|
||||
[Token(Token = "0x600BFA3")]
|
||||
[Address(RVA = "0x25C7900", Offset = "0x25C6900", VA = "0x1825C7900", Slot = "8")]
|
||||
public void BlockUpdate(byte[] inBytes, int inOff, int len)
|
||||
{
|
||||
this.engine.Update(inBytes, inOff, len);
|
||||
}
|
||||
|
||||
// Token: 0x0600BFA4 RID: 49060 RVA: 0x002B1F10 File Offset: 0x002B0110
|
||||
[Token(Token = "0x600BFA4")]
|
||||
[Address(RVA = "0x25C7930", Offset = "0x25C6930", VA = "0x1825C7930", Slot = "9")]
|
||||
public int DoFinal(byte[] outBytes, int outOff)
|
||||
{
|
||||
return this.engine.DoFinal(outBytes, outOff);
|
||||
}
|
||||
|
||||
// Token: 0x040078FD RID: 30973
|
||||
[Token(Token = "0x40078FD")]
|
||||
public const int SKEIN_256 = 256;
|
||||
|
||||
// Token: 0x040078FE RID: 30974
|
||||
[Token(Token = "0x40078FE")]
|
||||
public const int SKEIN_512 = 512;
|
||||
|
||||
// Token: 0x040078FF RID: 30975
|
||||
[Token(Token = "0x40078FF")]
|
||||
public const int SKEIN_1024 = 1024;
|
||||
|
||||
// Token: 0x04007900 RID: 30976
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007900")]
|
||||
private readonly SkeinEngine engine;
|
||||
}
|
||||
}
|
||||
+1124
@@ -0,0 +1,1124 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DDE RID: 7646
|
||||
[Token(Token = "0x2001DDE")]
|
||||
public class SkeinEngine : IMemoable
|
||||
{
|
||||
// Token: 0x0600BFA5 RID: 49061 RVA: 0x002B1F30 File Offset: 0x002B0130
|
||||
[Token(Token = "0x600BFA5")]
|
||||
[Address(RVA = "0x2912500", Offset = "0x2911500", VA = "0x182912500")]
|
||||
static SkeinEngine()
|
||||
{
|
||||
ulong[] array = new ulong[4];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.FCDDAA37B8499E00EB7B606D8540AA64DE5AE4D4).FieldHandle);
|
||||
SkeinEngine.InitialState(256, 128, array);
|
||||
RuntimeHelpers.InitializeArray(new ulong[4], fieldof(<PrivateImplementationDetails>.3C3704DB6466D48DD40FE189070F1896D1D45C8B).FieldHandle);
|
||||
RuntimeHelpers.InitializeArray(new ulong[4], fieldof(<PrivateImplementationDetails>.FD9088D5287E3E3A6699200CB6E5DE3E9FDEDD9F).FieldHandle);
|
||||
ulong[] array2 = new ulong[4];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.0B1E7265E67D2458D8EB536A4B36380A5BF6E731).FieldHandle);
|
||||
SkeinEngine.InitialState(256, 256, array2);
|
||||
ulong[] array3 = new ulong[8];
|
||||
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.DA7CFA4F9698F5D02C5D90A5858F65EE43B4D564).FieldHandle);
|
||||
SkeinEngine.InitialState(512, 128, array3);
|
||||
ulong[] array4 = new ulong[8];
|
||||
RuntimeHelpers.InitializeArray(array4, fieldof(<PrivateImplementationDetails>.959C1F7BD85779AAF7AA136A20A9C399A5019AEC).FieldHandle);
|
||||
SkeinEngine.InitialState(512, 160, array4);
|
||||
ulong[] array5 = new ulong[8];
|
||||
RuntimeHelpers.InitializeArray(array5, fieldof(<PrivateImplementationDetails>.5318DA9ACB77B4E0953DA6BF6B04DF138D74EA1E).FieldHandle);
|
||||
SkeinEngine.InitialState(512, 224, array5);
|
||||
ulong[] array6 = new ulong[8];
|
||||
RuntimeHelpers.InitializeArray(array6, fieldof(<PrivateImplementationDetails>.F0AEF81E2E3EC0843206EBA7D65BCD1AF83DE7C9).FieldHandle);
|
||||
SkeinEngine.InitialState(512, 384, array6);
|
||||
ulong[] array7 = new ulong[8];
|
||||
RuntimeHelpers.InitializeArray(array7, fieldof(<PrivateImplementationDetails>.118FE9754A9699004D478E4BF686021154D96EAD).FieldHandle);
|
||||
SkeinEngine.InitialState(512, 512, array7);
|
||||
}
|
||||
|
||||
// Token: 0x0600BFA6 RID: 49062 RVA: 0x002B2064 File Offset: 0x002B0264
|
||||
[Token(Token = "0x600BFA6")]
|
||||
[Address(RVA = "0x2911DB0", Offset = "0x2910DB0", VA = "0x182911DB0")]
|
||||
private static void InitialState(int blockSize, int outputSize, ulong[] state)
|
||||
{
|
||||
IDictionary initial_STATES = SkeinEngine.INITIAL_STATES;
|
||||
int num = 0;
|
||||
if (num < state)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BFA7 RID: 49063 RVA: 0x002B208C File Offset: 0x002B028C
|
||||
[Token(Token = "0x600BFA7")]
|
||||
[Address(RVA = "0x29124F0", Offset = "0x29114F0", VA = "0x1829124F0")]
|
||||
private static int VariantIdentifier(int blockSizeBytes, int outputSizeBytes)
|
||||
{
|
||||
return outputSizeBytes;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFA8 RID: 49064 RVA: 0x002B209C File Offset: 0x002B029C
|
||||
[Token(Token = "0x600BFA8")]
|
||||
[Address(RVA = "0x2912770", Offset = "0x2911770", VA = "0x182912770")]
|
||||
public SkeinEngine(int blockSizeBits, int outputSizeBits)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BFA8)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.SkeinEngine::.ctor(System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_A7:
|
||||
stloc:ArgumentException(var_12_B7, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string[exp:object]("Output size must be a multiple of 8 bits. :"), ldloc:int32[exp:object](outputSizeBits))))
|
||||
}
|
||||
|
||||
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: 0x0600BFA9 RID: 49065 RVA: 0x002B2164 File Offset: 0x002B0364
|
||||
[Token(Token = "0x600BFA9")]
|
||||
[Address(RVA = "0x2912960", Offset = "0x2911960", VA = "0x182912960")]
|
||||
public SkeinEngine(SkeinEngine engine)
|
||||
{
|
||||
bool isPartialBlockOkay = engine.threefish.IsPartialBlockOkay;
|
||||
this.CopyIn(engine);
|
||||
}
|
||||
|
||||
// Token: 0x0600BFAA RID: 49066 RVA: 0x002B218C File Offset: 0x002B038C
|
||||
[Token(Token = "0x600BFAA")]
|
||||
[Address(RVA = "0x2910A80", Offset = "0x290FA80", VA = "0x182910A80")]
|
||||
private void CopyIn(SkeinEngine engine)
|
||||
{
|
||||
SkeinEngine.UBI ubi = this.ubi;
|
||||
SkeinEngine.UBI ubi2 = engine.ubi;
|
||||
byte[] currentBlock = ubi2.currentBlock;
|
||||
byte[] currentBlock2 = ubi.currentBlock;
|
||||
byte[] array = Arrays.Clone(currentBlock, currentBlock2);
|
||||
ulong[] message = ubi.message;
|
||||
ubi.currentBlock = array;
|
||||
int currentOffset = ubi2.currentOffset;
|
||||
ubi.currentOffset = currentOffset;
|
||||
ulong[] array2 = Arrays.Clone(ubi2.message, message);
|
||||
ubi.message = array2;
|
||||
SkeinEngine.UbiTweak tweak = ubi.tweak;
|
||||
SkeinEngine.UbiTweak tweak2 = ubi2.tweak;
|
||||
ulong[] tweak3 = tweak2.tweak;
|
||||
ulong[] tweak4 = tweak.tweak;
|
||||
ulong[] array3 = Arrays.Clone(tweak3, tweak4);
|
||||
tweak.tweak = array3;
|
||||
bool extendedPosition = tweak2.extendedPosition;
|
||||
tweak.extendedPosition = extendedPosition;
|
||||
ulong[] array4 = engine.chain;
|
||||
ulong[] array5 = this.chain;
|
||||
ulong[] array6 = Arrays.Clone(array4, array5);
|
||||
ulong[] array7 = this.initialState;
|
||||
this.chain = array6;
|
||||
ulong[] array8 = Arrays.Clone(engine.initialState, array7);
|
||||
byte[] array9 = this.key;
|
||||
this.initialState = array8;
|
||||
byte[] array10 = Arrays.Clone(engine.key, array9);
|
||||
SkeinEngine.Parameter[] array11 = this.preMessageParameters;
|
||||
this.key = array10;
|
||||
SkeinEngine.Parameter[] array12 = SkeinEngine.Clone(engine.preMessageParameters, array11);
|
||||
SkeinEngine.Parameter[] array13 = this.postMessageParameters;
|
||||
this.preMessageParameters = array12;
|
||||
SkeinEngine.Parameter[] array14 = SkeinEngine.Clone(engine.postMessageParameters, array13);
|
||||
this.postMessageParameters = array14;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFAB RID: 49067 RVA: 0x002B22E4 File Offset: 0x002B04E4
|
||||
[Token(Token = "0x600BFAB")]
|
||||
[Address(RVA = "0x29109E0", Offset = "0x290F9E0", VA = "0x1829109E0")]
|
||||
private static SkeinEngine.Parameter[] Clone(SkeinEngine.Parameter[] data, SkeinEngine.Parameter[] existing)
|
||||
{
|
||||
if (data != 0)
|
||||
{
|
||||
if (existing != 0)
|
||||
{
|
||||
int length = data.Length;
|
||||
if (existing.Length == length)
|
||||
{
|
||||
goto IL_24;
|
||||
}
|
||||
}
|
||||
SkeinEngine.Parameter[] array = new SkeinEngine.Parameter[data.Length];
|
||||
IL_24:
|
||||
int length2 = array.Length;
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
Array.Copy(data, num2, array, num, length2);
|
||||
return array;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600BFAC RID: 49068 RVA: 0x002B2338 File Offset: 0x002B0538
|
||||
[Token(Token = "0x600BFAC")]
|
||||
[Address(RVA = "0x2910C90", Offset = "0x290FC90", VA = "0x182910C90", Slot = "4")]
|
||||
public IMemoable Copy()
|
||||
{
|
||||
bool isPartialBlockOkay = this.threefish.IsPartialBlockOkay;
|
||||
SkeinEngine skeinEngine;
|
||||
skeinEngine.CopyIn(this);
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600BFAD RID: 49069 RVA: 0x002B2360 File Offset: 0x002B0560
|
||||
[Token(Token = "0x600BFAD")]
|
||||
[Address(RVA = "0x29121A0", Offset = "0x29111A0", VA = "0x1829121A0", Slot = "5")]
|
||||
public void Reset(IMemoable other)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BFAD)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.SkeinEngine::Reset(BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_2D:
|
||||
stloc:MemoableResetException(var_4_37, newobj:MemoableResetException(MemoableResetException::.ctor, ldstr:string("Incompatible parameters in provided SkeinEngine.")))
|
||||
}
|
||||
|
||||
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: 0x17001DC3 RID: 7619
|
||||
// (get) Token: 0x0600BFAE RID: 49070 RVA: 0x002B23A8 File Offset: 0x002B05A8
|
||||
[Token(Token = "0x17001DC3")]
|
||||
public int OutputSize
|
||||
{
|
||||
[Token(Token = "0x600BFAE")]
|
||||
[Address(RVA = "0x411540", Offset = "0x410540", VA = "0x180411540")]
|
||||
get
|
||||
{
|
||||
return this.outputSizeBytes;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001DC4 RID: 7620
|
||||
// (get) Token: 0x0600BFAF RID: 49071 RVA: 0x002B23BC File Offset: 0x002B05BC
|
||||
[Token(Token = "0x17001DC4")]
|
||||
public int BlockSize
|
||||
{
|
||||
[Token(Token = "0x600BFAF")]
|
||||
[Address(RVA = "0x4DAE40", Offset = "0x4D9E40", VA = "0x1804DAE40")]
|
||||
get
|
||||
{
|
||||
string algorithmName = ((IBlockCipher)this.threefish).AlgorithmName;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BFB0 RID: 49072 RVA: 0x002B23DC File Offset: 0x002B05DC
|
||||
[Token(Token = "0x600BFB0")]
|
||||
[Address(RVA = "0x2911CF0", Offset = "0x2910CF0", VA = "0x182911CF0")]
|
||||
public void Init(SkeinParameters parameters)
|
||||
{
|
||||
int num = 0;
|
||||
this.chain = num;
|
||||
this.key = num;
|
||||
this.preMessageParameters = num;
|
||||
this.postMessageParameters = num;
|
||||
if (parameters != 0)
|
||||
{
|
||||
byte[] array = parameters.GetKey();
|
||||
IDictionary parameters2 = parameters.parameters;
|
||||
this.InitParams(parameters2);
|
||||
}
|
||||
this.CreateInitialState();
|
||||
this.UbiInit(48);
|
||||
}
|
||||
|
||||
// Token: 0x0600BFB1 RID: 49073 RVA: 0x002B2434 File Offset: 0x002B0634
|
||||
[Token(Token = "0x600BFB1")]
|
||||
[Address(RVA = "0x29118F0", Offset = "0x29108F0", VA = "0x1829118F0")]
|
||||
private void InitParams(IDictionary parameters)
|
||||
{
|
||||
int num;
|
||||
int num3;
|
||||
do
|
||||
{
|
||||
IList list = Platform.CreateArrayList();
|
||||
IList list2 = Platform.CreateArrayList();
|
||||
num = 0;
|
||||
if (num < parameters)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
int num2 = 0;
|
||||
if (list2 == 0)
|
||||
{
|
||||
goto IL_8C;
|
||||
}
|
||||
if (num < num2)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
num3 = num;
|
||||
num += num;
|
||||
num++;
|
||||
if (num == 0)
|
||||
{
|
||||
num += 19;
|
||||
num++;
|
||||
num += 19;
|
||||
num += 19;
|
||||
}
|
||||
}
|
||||
while (num == 0);
|
||||
if (num3 != 0)
|
||||
{
|
||||
SkeinEngine.Parameter parameter;
|
||||
parameter.type = num3;
|
||||
parameter.value = num;
|
||||
}
|
||||
IL_8C:
|
||||
SkeinEngine.Parameter[] array = new SkeinEngine.Parameter[0];
|
||||
SkeinEngine.Parameter[] array2 = new SkeinEngine.Parameter[array];
|
||||
}
|
||||
|
||||
// Token: 0x0600BFB2 RID: 49074 RVA: 0x002B24EC File Offset: 0x002B06EC
|
||||
[Token(Token = "0x600BFB2")]
|
||||
[Address(RVA = "0x2910D30", Offset = "0x290FD30", VA = "0x182910D30")]
|
||||
private void CreateInitialState()
|
||||
{
|
||||
bool isPartialBlockOkay;
|
||||
int num2;
|
||||
do
|
||||
{
|
||||
ThreefishEngine threefishEngine = this.threefish;
|
||||
IDictionary initial_STATES = SkeinEngine.INITIAL_STATES;
|
||||
isPartialBlockOkay = threefishEngine.IsPartialBlockOkay;
|
||||
int num = this.outputSizeBytes;
|
||||
num2 = 0;
|
||||
if (!isPartialBlockOkay)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (!isPartialBlockOkay);
|
||||
if (this.key == num2 && isPartialBlockOkay)
|
||||
{
|
||||
ulong[] array;
|
||||
this.chain = array;
|
||||
}
|
||||
bool isPartialBlockOkay2 = this.threefish.IsPartialBlockOkay;
|
||||
ulong[] array2 = new ulong[0];
|
||||
byte[] array3 = this.key;
|
||||
this.chain = array2;
|
||||
int length;
|
||||
int num5;
|
||||
if (array3 != 0)
|
||||
{
|
||||
int num3 = 0;
|
||||
this.UbiInit(num3);
|
||||
SkeinEngine.UBI ubi = this.ubi;
|
||||
ulong[] array4 = this.chain;
|
||||
int num4 = 0;
|
||||
length = array3.Length;
|
||||
ubi.Update(array3, num4, length, array4);
|
||||
SkeinEngine.UBI ubi2 = this.ubi;
|
||||
ulong[] array5 = this.chain;
|
||||
num5 = 0;
|
||||
ubi2.DoFinal(array5);
|
||||
}
|
||||
byte[] array6 = new byte[32];
|
||||
int num6 = 0;
|
||||
SkeinEngine.Configuration configuration;
|
||||
configuration.bytes = array6;
|
||||
configuration.FieldGetter(num6, num5, length);
|
||||
byte[] bytes = configuration.bytes;
|
||||
byte[] bytes2 = configuration.bytes;
|
||||
byte[] bytes3 = configuration.bytes;
|
||||
byte[] bytes4 = configuration.bytes;
|
||||
byte[] bytes5 = configuration.bytes;
|
||||
configuration.bytes[0] = (byte)num2;
|
||||
byte[] bytes6 = configuration.bytes;
|
||||
this.UbiInit(4);
|
||||
SkeinEngine.UBI ubi3 = this.ubi;
|
||||
ulong[] array7 = this.chain;
|
||||
int num7 = 0;
|
||||
int length2 = bytes6.Length;
|
||||
ubi3.Update(bytes6, num7, length2, array7);
|
||||
SkeinEngine.UBI ubi4 = this.ubi;
|
||||
ulong[] array8 = this.chain;
|
||||
ubi4.DoFinal(array8);
|
||||
SkeinEngine.Parameter[] array9 = this.preMessageParameters;
|
||||
if (array9 != 0 && num2 < array9.Length)
|
||||
{
|
||||
SkeinEngine.Parameter parameter = array9[num2];
|
||||
SkeinEngine.UBI ubi5 = this.ubi;
|
||||
byte[] value = parameter.value;
|
||||
int type = parameter.type;
|
||||
SkeinEngine.UbiTweak tweak = ubi5.tweak;
|
||||
tweak.tweak[0] = (ulong)num2;
|
||||
tweak.tweak[1] = (ulong)num2;
|
||||
ulong[] tweak2 = tweak.tweak;
|
||||
tweak.extendedPosition = num2 != 0;
|
||||
ubi5.tweak.tweak[1] = (ulong)type;
|
||||
ubi5.currentOffset = num2;
|
||||
SkeinEngine.UBI ubi6 = this.ubi;
|
||||
ulong[] array10 = this.chain;
|
||||
int num8 = 0;
|
||||
int length3 = value.Length;
|
||||
ubi6.Update(value, num8, length3, array10);
|
||||
SkeinEngine.UBI ubi7 = this.ubi;
|
||||
ulong[] array11 = this.chain;
|
||||
int num9 = ubi7.currentOffset;
|
||||
int length4 = ubi7.currentBlock.Length;
|
||||
if (num9 < length4)
|
||||
{
|
||||
num9++;
|
||||
}
|
||||
ulong[] tweak3 = ubi7.tweak.tweak;
|
||||
ubi7.ProcessBlock(array11);
|
||||
SkeinEngine.Parameter[] array12 = this.preMessageParameters;
|
||||
num2++;
|
||||
}
|
||||
ulong[] array13 = Arrays.Clone(this.chain);
|
||||
this.initialState = array13;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFB3 RID: 49075 RVA: 0x002B2798 File Offset: 0x002B0998
|
||||
[Token(Token = "0x600BFB3")]
|
||||
[Address(RVA = "0x2912150", Offset = "0x2911150", VA = "0x182912150")]
|
||||
public void Reset()
|
||||
{
|
||||
ulong[] array = this.chain;
|
||||
int length = array.Length;
|
||||
int num = 0;
|
||||
ulong[] array2 = this.initialState;
|
||||
int num2 = 0;
|
||||
Array.Copy(array2, num2, array, num, length);
|
||||
this.UbiInit(48);
|
||||
}
|
||||
|
||||
// Token: 0x0600BFB4 RID: 49076 RVA: 0x002B27D8 File Offset: 0x002B09D8
|
||||
[Token(Token = "0x600BFB4")]
|
||||
[Address(RVA = "0x29122C0", Offset = "0x29112C0", VA = "0x1829122C0")]
|
||||
private void UbiComplete(int type, byte[] value)
|
||||
{
|
||||
this.UbiInit(type);
|
||||
SkeinEngine.UBI ubi = this.ubi;
|
||||
ulong[] array = this.chain;
|
||||
int num = 0;
|
||||
int length = value.Length;
|
||||
ubi.Update(value, num, length, array);
|
||||
SkeinEngine.UBI ubi2 = this.ubi;
|
||||
ulong[] array2 = this.chain;
|
||||
ubi2.DoFinal(array2);
|
||||
}
|
||||
|
||||
// Token: 0x0600BFB5 RID: 49077 RVA: 0x002B282C File Offset: 0x002B0A2C
|
||||
[Token(Token = "0x600BFB5")]
|
||||
[Address(RVA = "0x2912360", Offset = "0x2911360", VA = "0x182912360")]
|
||||
private void UbiInit(int type)
|
||||
{
|
||||
SkeinEngine.UBI ubi = this.ubi;
|
||||
ubi.tweak.Reset();
|
||||
ubi.tweak.tweak[1] = (ulong)type;
|
||||
ubi.currentOffset = (int)((ulong)0L);
|
||||
}
|
||||
|
||||
// Token: 0x0600BFB6 RID: 49078 RVA: 0x002B286C File Offset: 0x002B0A6C
|
||||
[Token(Token = "0x600BFB6")]
|
||||
[Address(RVA = "0x2912330", Offset = "0x2911330", VA = "0x182912330")]
|
||||
private void UbiFinal()
|
||||
{
|
||||
SkeinEngine.UBI ubi = this.ubi;
|
||||
ulong[] array = this.chain;
|
||||
ubi.DoFinal(array);
|
||||
}
|
||||
|
||||
// Token: 0x0600BFB7 RID: 49079 RVA: 0x002B2894 File Offset: 0x002B0A94
|
||||
[Token(Token = "0x600BFB7")]
|
||||
[Address(RVA = "0x2910970", Offset = "0x290F970", VA = "0x182910970")]
|
||||
private void CheckInitialised()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BFB7)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.SkeinEngine::CheckInitialised()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_0C:
|
||||
stloc:ArgumentException(var_0_16, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Skein engine is 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: 0x0600BFB8 RID: 49080 RVA: 0x002B28B8 File Offset: 0x002B0AB8
|
||||
[Token(Token = "0x600BFB8")]
|
||||
[Address(RVA = "0x29124A0", Offset = "0x29114A0", VA = "0x1829124A0")]
|
||||
public void Update(byte inByte)
|
||||
{
|
||||
this.singleByte[0] = inByte;
|
||||
byte[] array = this.singleByte;
|
||||
int num = 0;
|
||||
this.Update(array, num, 1);
|
||||
}
|
||||
|
||||
// Token: 0x0600BFB9 RID: 49081 RVA: 0x002B28EC File Offset: 0x002B0AEC
|
||||
[Token(Token = "0x600BFB9")]
|
||||
[Address(RVA = "0x29123F0", Offset = "0x29113F0", VA = "0x1829123F0")]
|
||||
public void Update(byte[] inBytes, int inOff, int len)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BFB9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.SkeinEngine::Update(System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1D:
|
||||
stloc:ArgumentException(var_3_27, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Skein engine is 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: 0x0600BFBA RID: 49082 RVA: 0x002B2920 File Offset: 0x002B0B20
|
||||
[Token(Token = "0x600BFBA")]
|
||||
[Address(RVA = "0x29113A0", Offset = "0x29103A0", VA = "0x1829113A0")]
|
||||
public int DoFinal(byte[] outBytes, int outOff)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BFBA)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.SkeinEngine::DoFinal(System.Byte[],System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_243:
|
||||
stloc:ArgumentException(var_37_24D, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Skein engine is 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: 0x0600BFBB RID: 49083 RVA: 0x002B2B7C File Offset: 0x002B0D7C
|
||||
[Token(Token = "0x600BFBB")]
|
||||
[Address(RVA = "0x2911EF0", Offset = "0x2910EF0", VA = "0x182911EF0")]
|
||||
private void Output(ulong outputSequence, byte[] outBytes, int outOff, int outputBytes)
|
||||
{
|
||||
byte[] array = new byte[8];
|
||||
int num = 0;
|
||||
ThreefishEngine.WordToBytes(outputSequence, array, num);
|
||||
ulong[] array2 = new ulong[this.chain.Length];
|
||||
this.UbiInit(63);
|
||||
SkeinEngine.UBI ubi = this.ubi;
|
||||
int length = array.Length;
|
||||
int num2 = 0;
|
||||
ubi.Update(array, num2, length, array2);
|
||||
this.ubi.DoFinal(array2);
|
||||
int num3 = 0;
|
||||
array2 += array2;
|
||||
if (array2 > 0)
|
||||
{
|
||||
int num4;
|
||||
if (num4 != 8)
|
||||
{
|
||||
ulong num5 = array2[num3];
|
||||
int num6 = 0;
|
||||
ThreefishEngine.WordToBytes(num5, array, num6);
|
||||
}
|
||||
ThreefishEngine.WordToBytes(array2[num3], outBytes, outOff);
|
||||
num3++;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04007901 RID: 30977
|
||||
[Token(Token = "0x4007901")]
|
||||
public const int SKEIN_256 = 256;
|
||||
|
||||
// Token: 0x04007902 RID: 30978
|
||||
[Token(Token = "0x4007902")]
|
||||
public const int SKEIN_512 = 512;
|
||||
|
||||
// Token: 0x04007903 RID: 30979
|
||||
[Token(Token = "0x4007903")]
|
||||
public const int SKEIN_1024 = 1024;
|
||||
|
||||
// Token: 0x04007904 RID: 30980
|
||||
[Token(Token = "0x4007904")]
|
||||
private const int PARAM_TYPE_KEY = 0;
|
||||
|
||||
// Token: 0x04007905 RID: 30981
|
||||
[Token(Token = "0x4007905")]
|
||||
private const int PARAM_TYPE_CONFIG = 4;
|
||||
|
||||
// Token: 0x04007906 RID: 30982
|
||||
[Token(Token = "0x4007906")]
|
||||
private const int PARAM_TYPE_MESSAGE = 48;
|
||||
|
||||
// Token: 0x04007907 RID: 30983
|
||||
[Token(Token = "0x4007907")]
|
||||
private const int PARAM_TYPE_OUTPUT = 63;
|
||||
|
||||
// Token: 0x04007908 RID: 30984
|
||||
[Token(Token = "0x4007908")]
|
||||
private static readonly IDictionary INITIAL_STATES = Platform.CreateHashtable();
|
||||
|
||||
// Token: 0x04007909 RID: 30985
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007909")]
|
||||
private readonly ThreefishEngine threefish;
|
||||
|
||||
// Token: 0x0400790A RID: 30986
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400790A")]
|
||||
private readonly int outputSizeBytes;
|
||||
|
||||
// Token: 0x0400790B RID: 30987
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x400790B")]
|
||||
private ulong[] chain;
|
||||
|
||||
// Token: 0x0400790C RID: 30988
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x400790C")]
|
||||
private ulong[] initialState;
|
||||
|
||||
// Token: 0x0400790D RID: 30989
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x400790D")]
|
||||
private byte[] key;
|
||||
|
||||
// Token: 0x0400790E RID: 30990
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x400790E")]
|
||||
private SkeinEngine.Parameter[] preMessageParameters;
|
||||
|
||||
// Token: 0x0400790F RID: 30991
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x400790F")]
|
||||
private SkeinEngine.Parameter[] postMessageParameters;
|
||||
|
||||
// Token: 0x04007910 RID: 30992
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4007910")]
|
||||
private readonly SkeinEngine.UBI ubi;
|
||||
|
||||
// Token: 0x04007911 RID: 30993
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4007911")]
|
||||
private readonly byte[] singleByte;
|
||||
|
||||
// Token: 0x02001DDF RID: 7647
|
||||
[Token(Token = "0x2001DDF")]
|
||||
private class Configuration
|
||||
{
|
||||
// Token: 0x0600BFBC RID: 49084 RVA: 0x002B2C24 File Offset: 0x002B0E24
|
||||
[Token(Token = "0x600BFBC")]
|
||||
[Address(RVA = "0x28FDFA0", Offset = "0x28FCFA0", VA = "0x1828FDFA0")]
|
||||
public Configuration(long outputSizeBits)
|
||||
{
|
||||
byte[] array = new byte[32];
|
||||
this.bytes = array;
|
||||
base..ctor();
|
||||
byte[] array2 = this.bytes;
|
||||
byte[] array3 = this.bytes;
|
||||
byte[] array4 = this.bytes;
|
||||
byte[] array5 = this.bytes;
|
||||
byte[] array6 = this.bytes;
|
||||
byte[] array7 = this.bytes;
|
||||
byte[] array8 = this.bytes;
|
||||
ThreefishEngine.WordToBytes((ulong)outputSizeBits, array8, 8);
|
||||
}
|
||||
|
||||
// Token: 0x17001DC5 RID: 7621
|
||||
// (get) Token: 0x0600BFBD RID: 49085 RVA: 0x002B2C8C File Offset: 0x002B0E8C
|
||||
[Token(Token = "0x17001DC5")]
|
||||
public byte[] Bytes
|
||||
{
|
||||
[Token(Token = "0x600BFBD")]
|
||||
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530")]
|
||||
get
|
||||
{
|
||||
return this.bytes;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04007912 RID: 30994
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007912")]
|
||||
private byte[] bytes;
|
||||
}
|
||||
|
||||
// Token: 0x02001DE0 RID: 7648
|
||||
[Token(Token = "0x2001DE0")]
|
||||
public class Parameter
|
||||
{
|
||||
// Token: 0x0600BFBE RID: 49086 RVA: 0x002B2CA0 File Offset: 0x002B0EA0
|
||||
[Token(Token = "0x600BFBE")]
|
||||
[Address(RVA = "0x49A4C0", Offset = "0x4994C0", VA = "0x18049A4C0")]
|
||||
public Parameter(int type, byte[] value)
|
||||
{
|
||||
this.type = type;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
// Token: 0x17001DC6 RID: 7622
|
||||
// (get) Token: 0x0600BFBF RID: 49087 RVA: 0x002B2CC4 File Offset: 0x002B0EC4
|
||||
[Token(Token = "0x17001DC6")]
|
||||
public int Type
|
||||
{
|
||||
[Token(Token = "0x600BFBF")]
|
||||
[Address(RVA = "0x40F000", Offset = "0x40E000", VA = "0x18040F000")]
|
||||
get
|
||||
{
|
||||
return this.type;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001DC7 RID: 7623
|
||||
// (get) Token: 0x0600BFC0 RID: 49088 RVA: 0x002B2CD8 File Offset: 0x002B0ED8
|
||||
[Token(Token = "0x17001DC7")]
|
||||
public byte[] Value
|
||||
{
|
||||
[Token(Token = "0x600BFC0")]
|
||||
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0")]
|
||||
get
|
||||
{
|
||||
return this.value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04007913 RID: 30995
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007913")]
|
||||
private int type;
|
||||
|
||||
// Token: 0x04007914 RID: 30996
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4007914")]
|
||||
private byte[] value;
|
||||
}
|
||||
|
||||
// Token: 0x02001DE1 RID: 7649
|
||||
[Token(Token = "0x2001DE1")]
|
||||
private class UbiTweak
|
||||
{
|
||||
// Token: 0x0600BFC1 RID: 49089 RVA: 0x002B2CEC File Offset: 0x002B0EEC
|
||||
[Token(Token = "0x600BFC1")]
|
||||
[Address(RVA = "0x29136E0", Offset = "0x29126E0", VA = "0x1829136E0")]
|
||||
public UbiTweak()
|
||||
{
|
||||
ulong[] array = new ulong[2];
|
||||
this.tweak = array;
|
||||
base..ctor();
|
||||
this.Reset();
|
||||
}
|
||||
|
||||
// Token: 0x0600BFC2 RID: 49090 RVA: 0x002B2D14 File Offset: 0x002B0F14
|
||||
[Token(Token = "0x600BFC2")]
|
||||
[Address(RVA = "0x2913360", Offset = "0x2912360", VA = "0x182913360")]
|
||||
public void Reset(SkeinEngine.UbiTweak tweak)
|
||||
{
|
||||
ulong[] array = this.tweak;
|
||||
ulong[] array2 = Arrays.Clone(tweak.tweak, array);
|
||||
this.tweak = array2;
|
||||
bool flag = tweak.extendedPosition;
|
||||
this.extendedPosition = flag;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFC3 RID: 49091 RVA: 0x002B2D50 File Offset: 0x002B0F50
|
||||
[Token(Token = "0x600BFC3")]
|
||||
[Address(RVA = "0x29132D0", Offset = "0x29122D0", VA = "0x1829132D0")]
|
||||
public void Reset()
|
||||
{
|
||||
ulong[] array = this.tweak;
|
||||
int num = 0;
|
||||
array[0] = (ulong)num;
|
||||
this.tweak[1] = (ulong)num;
|
||||
ulong[] array2 = this.tweak;
|
||||
this.extendedPosition = num != 0;
|
||||
}
|
||||
|
||||
// Token: 0x17001DC8 RID: 7624
|
||||
// (get) Token: 0x0600BFC4 RID: 49092 RVA: 0x002B2D90 File Offset: 0x002B0F90
|
||||
// (set) Token: 0x0600BFC5 RID: 49093 RVA: 0x002B2DB0 File Offset: 0x002B0FB0
|
||||
[Token(Token = "0x17001DC8")]
|
||||
public uint Type
|
||||
{
|
||||
[Token(Token = "0x600BFC4")]
|
||||
[Address(RVA = "0x29137C0", Offset = "0x29127C0", VA = "0x1829137C0")]
|
||||
get
|
||||
{
|
||||
ulong num = this.tweak[1];
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
[Token(Token = "0x600BFC5")]
|
||||
[Address(RVA = "0x29138E0", Offset = "0x29128E0", VA = "0x1829138E0")]
|
||||
set
|
||||
{
|
||||
this.tweak[1] = (ulong)value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001DC9 RID: 7625
|
||||
// (get) Token: 0x0600BFC6 RID: 49094 RVA: 0x002B2DD0 File Offset: 0x002B0FD0
|
||||
// (set) Token: 0x0600BFC7 RID: 49095 RVA: 0x002B2DEC File Offset: 0x002B0FEC
|
||||
[Token(Token = "0x17001DC9")]
|
||||
public bool First
|
||||
{
|
||||
[Token(Token = "0x600BFC6")]
|
||||
[Address(RVA = "0x2913780", Offset = "0x2912780", VA = "0x182913780")]
|
||||
get
|
||||
{
|
||||
ulong[] array = this.tweak;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
[Token(Token = "0x600BFC7")]
|
||||
[Address(RVA = "0x2913870", Offset = "0x2912870", VA = "0x182913870")]
|
||||
set
|
||||
{
|
||||
ulong[] array = this.tweak;
|
||||
if (!value)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001DCA RID: 7626
|
||||
// (get) Token: 0x0600BFC8 RID: 49096 RVA: 0x002B2E0C File Offset: 0x002B100C
|
||||
// (set) Token: 0x0600BFC9 RID: 49097 RVA: 0x002B2E28 File Offset: 0x002B1028
|
||||
[Token(Token = "0x17001DCA")]
|
||||
public bool Final
|
||||
{
|
||||
[Token(Token = "0x600BFC8")]
|
||||
[Address(RVA = "0x2913740", Offset = "0x2912740", VA = "0x182913740")]
|
||||
get
|
||||
{
|
||||
ulong[] array = this.tweak;
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
[Token(Token = "0x600BFC9")]
|
||||
[Address(RVA = "0x2913800", Offset = "0x2912800", VA = "0x182913800")]
|
||||
set
|
||||
{
|
||||
ulong[] array = this.tweak;
|
||||
if (!value)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BFCA RID: 49098 RVA: 0x002B2E48 File Offset: 0x002B1048
|
||||
[Token(Token = "0x600BFCA")]
|
||||
[Address(RVA = "0x2913030", Offset = "0x2912030", VA = "0x182913030")]
|
||||
public void AdvancePosition(int advance)
|
||||
{
|
||||
if (!this.extendedPosition)
|
||||
{
|
||||
this.tweak[0] = (ulong)advance;
|
||||
ulong num;
|
||||
if ((ulong)advance > num)
|
||||
{
|
||||
this.extendedPosition = true;
|
||||
}
|
||||
return;
|
||||
}
|
||||
ulong[] array = new ulong[3];
|
||||
ulong num2 = this.tweak[0];
|
||||
array[0] = num2;
|
||||
ulong num3 = this.tweak[0];
|
||||
array[1] = num3;
|
||||
ulong num4 = this.tweak[1];
|
||||
array[2] = num4;
|
||||
int num5 = 0;
|
||||
int length = array.Length;
|
||||
if (num5 < length)
|
||||
{
|
||||
num5++;
|
||||
}
|
||||
ulong[] array2 = this.tweak;
|
||||
ulong num6 = array[1];
|
||||
array2[0] = num6;
|
||||
ulong[] array3 = this.tweak;
|
||||
ulong num7 = array[2];
|
||||
array3[1] = num7;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFCB RID: 49099 RVA: 0x002B2F14 File Offset: 0x002B1114
|
||||
[Token(Token = "0x600BFCB")]
|
||||
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530")]
|
||||
public ulong[] GetWords()
|
||||
{
|
||||
return this.tweak;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFCC RID: 49100 RVA: 0x002B2F28 File Offset: 0x002B1128
|
||||
[Token(Token = "0x600BFCC")]
|
||||
[Address(RVA = "0x2913400", Offset = "0x2912400", VA = "0x182913400", Slot = "3")]
|
||||
public override string ToString()
|
||||
{
|
||||
object[] array = new object[5];
|
||||
ulong num = this.tweak[1];
|
||||
if (num != (ulong)0L)
|
||||
{
|
||||
}
|
||||
array[0] = num;
|
||||
if (" first: " != 0)
|
||||
{
|
||||
}
|
||||
array[1] = " first: ";
|
||||
ulong[] array2 = this.tweak;
|
||||
string text;
|
||||
if (text != 0)
|
||||
{
|
||||
}
|
||||
array[2] = text;
|
||||
if (", final: " != 0)
|
||||
{
|
||||
}
|
||||
array[3] = ", final: ";
|
||||
ulong[] array3 = this.tweak;
|
||||
string text2;
|
||||
if (text2 != 0)
|
||||
{
|
||||
}
|
||||
array[4] = text2;
|
||||
return string.Concat(array);
|
||||
}
|
||||
|
||||
// Token: 0x04007915 RID: 30997
|
||||
[Token(Token = "0x4007915")]
|
||||
private const ulong LOW_RANGE = 18446744069414584320UL;
|
||||
|
||||
// Token: 0x04007916 RID: 30998
|
||||
[Token(Token = "0x4007916")]
|
||||
private const ulong T1_FINAL = 9223372036854775808UL;
|
||||
|
||||
// Token: 0x04007917 RID: 30999
|
||||
[Token(Token = "0x4007917")]
|
||||
private const ulong T1_FIRST = 4611686018427387904UL;
|
||||
|
||||
// Token: 0x04007918 RID: 31000
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007918")]
|
||||
private ulong[] tweak;
|
||||
|
||||
// Token: 0x04007919 RID: 31001
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4007919")]
|
||||
private bool extendedPosition;
|
||||
}
|
||||
|
||||
// Token: 0x02001DE2 RID: 7650
|
||||
[Token(Token = "0x2001DE2")]
|
||||
private class UBI
|
||||
{
|
||||
// Token: 0x0600BFCD RID: 49101 RVA: 0x002B2FB8 File Offset: 0x002B11B8
|
||||
[Token(Token = "0x600BFCD")]
|
||||
[Address(RVA = "0x2912F40", Offset = "0x2911F40", VA = "0x182912F40")]
|
||||
public UBI(SkeinEngine engine, int blockSize)
|
||||
{
|
||||
SkeinEngine.UbiTweak ubiTweak = new SkeinEngine.UbiTweak();
|
||||
ulong[] array = new ulong[2];
|
||||
ubiTweak.tweak = array;
|
||||
ubiTweak.Reset();
|
||||
this.tweak = ubiTweak;
|
||||
base..ctor();
|
||||
this.engine = engine;
|
||||
byte[] array2 = new byte[blockSize];
|
||||
this.currentBlock = array2;
|
||||
int length = array2.Length;
|
||||
ulong[] array3 = new ulong[blockSize];
|
||||
this.message = array3;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFCE RID: 49102 RVA: 0x002B3020 File Offset: 0x002B1220
|
||||
[Token(Token = "0x600BFCE")]
|
||||
[Address(RVA = "0x2912C10", Offset = "0x2911C10", VA = "0x182912C10")]
|
||||
public void Reset(SkeinEngine.UBI ubi)
|
||||
{
|
||||
byte[] array = ubi.currentBlock;
|
||||
byte[] array2 = this.currentBlock;
|
||||
byte[] array3 = Arrays.Clone(array, array2);
|
||||
ulong[] array4 = this.message;
|
||||
this.currentBlock = array3;
|
||||
int num = ubi.currentOffset;
|
||||
this.currentOffset = num;
|
||||
ulong[] array5 = Arrays.Clone(ubi.message, array4);
|
||||
this.message = array5;
|
||||
SkeinEngine.UbiTweak ubiTweak = this.tweak;
|
||||
SkeinEngine.UbiTweak ubiTweak2 = ubi.tweak;
|
||||
ulong[] array6 = ubiTweak2.tweak;
|
||||
ulong[] array7 = ubiTweak.tweak;
|
||||
ulong[] array8 = Arrays.Clone(array6, array7);
|
||||
ubiTweak.tweak = array8;
|
||||
bool extendedPosition = ubiTweak2.extendedPosition;
|
||||
ubiTweak.extendedPosition = extendedPosition;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFCF RID: 49103 RVA: 0x002B30C8 File Offset: 0x002B12C8
|
||||
[Token(Token = "0x600BFCF")]
|
||||
[Address(RVA = "0x2912D30", Offset = "0x2911D30", VA = "0x182912D30")]
|
||||
public void Reset(int type)
|
||||
{
|
||||
this.tweak.Reset();
|
||||
this.tweak.tweak[1] = (ulong)type;
|
||||
this.currentOffset = (int)((ulong)0L);
|
||||
}
|
||||
|
||||
// Token: 0x0600BFD0 RID: 49104 RVA: 0x002B3104 File Offset: 0x002B1304
|
||||
[Token(Token = "0x600BFD0")]
|
||||
[Address(RVA = "0x2912DC0", Offset = "0x2911DC0", VA = "0x182912DC0")]
|
||||
public void Update(byte[] value, int offset, int len, ulong[] output)
|
||||
{
|
||||
int num = 0;
|
||||
if (len > 0)
|
||||
{
|
||||
byte[] array = this.currentBlock;
|
||||
int num2 = this.currentOffset;
|
||||
if (num2 == array.Length)
|
||||
{
|
||||
ulong[] array2 = this.tweak.tweak;
|
||||
this.currentOffset = (int)((ulong)0L);
|
||||
}
|
||||
int num3 = array.Length;
|
||||
num3 -= num2;
|
||||
int num4 = Math.Min(len, num3);
|
||||
int num5 = this.currentOffset;
|
||||
byte[] array3 = this.currentBlock;
|
||||
Array.Copy(value, 0, array3, num5, num4);
|
||||
SkeinEngine.UbiTweak ubiTweak = this.tweak;
|
||||
num += num4;
|
||||
ubiTweak.AdvancePosition(num4);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BFD1 RID: 49105 RVA: 0x002B3194 File Offset: 0x002B1394
|
||||
[Token(Token = "0x600BFD1")]
|
||||
[Address(RVA = "0x2912A70", Offset = "0x2911A70", VA = "0x182912A70")]
|
||||
private void ProcessBlock(ulong[] output)
|
||||
{
|
||||
SkeinEngine skeinEngine = this.engine;
|
||||
SkeinEngine.UbiTweak ubiTweak = this.tweak;
|
||||
ThreefishEngine threefish = skeinEngine.threefish;
|
||||
ulong[] array = ubiTweak.tweak;
|
||||
int num = 0;
|
||||
ulong[] chain = skeinEngine.chain;
|
||||
threefish.Init(16777216 != 0, chain, array);
|
||||
ulong[] array2 = this.message;
|
||||
ulong[] array3;
|
||||
if (num < array2.Length)
|
||||
{
|
||||
ulong num2 = ThreefishEngine.BytesToWord(this.currentBlock, 16777216);
|
||||
num++;
|
||||
array2[0] = num2;
|
||||
array3 = this.message;
|
||||
}
|
||||
int num3 = this.engine.threefish.ProcessBlock(array3, output);
|
||||
int length = output.Length;
|
||||
if (num < length)
|
||||
{
|
||||
ulong num4 = this.message[num];
|
||||
num++;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BFD2 RID: 49106 RVA: 0x002B3254 File Offset: 0x002B1454
|
||||
[Token(Token = "0x600BFD2")]
|
||||
[Address(RVA = "0x29129D0", Offset = "0x29119D0", VA = "0x1829129D0")]
|
||||
public void DoFinal(ulong[] output)
|
||||
{
|
||||
byte[] array = this.currentBlock;
|
||||
int num = this.currentOffset;
|
||||
if (num < array.Length)
|
||||
{
|
||||
num++;
|
||||
byte[] array2 = this.currentBlock;
|
||||
}
|
||||
ulong[] array3 = this.tweak.tweak;
|
||||
this.ProcessBlock(output);
|
||||
}
|
||||
|
||||
// Token: 0x0400791A RID: 31002
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400791A")]
|
||||
private readonly SkeinEngine.UbiTweak tweak;
|
||||
|
||||
// Token: 0x0400791B RID: 31003
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400791B")]
|
||||
private readonly SkeinEngine engine;
|
||||
|
||||
// Token: 0x0400791C RID: 31004
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x400791C")]
|
||||
private byte[] currentBlock;
|
||||
|
||||
// Token: 0x0400791D RID: 31005
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x400791D")]
|
||||
private int currentOffset;
|
||||
|
||||
// Token: 0x0400791E RID: 31006
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x400791E")]
|
||||
private ulong[] message;
|
||||
}
|
||||
}
|
||||
}
|
||||
+620
@@ -0,0 +1,620 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DE3 RID: 7651
|
||||
[Token(Token = "0x2001DE3")]
|
||||
public class TigerDigest : IDigest, IMemoable
|
||||
{
|
||||
// Token: 0x0600BFD3 RID: 49107 RVA: 0x002B329C File Offset: 0x002B149C
|
||||
[Token(Token = "0x600BFD3")]
|
||||
[Address(RVA = "0x24A7BF0", Offset = "0x24A6BF0", VA = "0x1824A7BF0")]
|
||||
public TigerDigest()
|
||||
{
|
||||
byte[] array = new byte[8];
|
||||
this.Buffer = array;
|
||||
long[] array2 = new long[8];
|
||||
this.x = array2;
|
||||
base..ctor();
|
||||
this.Reset();
|
||||
}
|
||||
|
||||
// Token: 0x0600BFD4 RID: 49108 RVA: 0x002B32D4 File Offset: 0x002B14D4
|
||||
[Token(Token = "0x600BFD4")]
|
||||
[Address(RVA = "0x24A7A80", Offset = "0x24A6A80", VA = "0x1824A7A80")]
|
||||
public TigerDigest(TigerDigest t)
|
||||
{
|
||||
do
|
||||
{
|
||||
byte[] array = new byte[8];
|
||||
this.Buffer = array;
|
||||
long[] array2 = new long[8];
|
||||
this.x = array2;
|
||||
base..ctor();
|
||||
}
|
||||
while (t == 0);
|
||||
long num = t.a;
|
||||
this.a = num;
|
||||
long num2 = t.b;
|
||||
this.b = num2;
|
||||
long num3 = t.c;
|
||||
this.c = num3;
|
||||
long[] array3 = t.x;
|
||||
int length = array3.Length;
|
||||
int num4 = 0;
|
||||
long[] array4 = this.x;
|
||||
int num5 = 0;
|
||||
Array.Copy(array3, num5, array4, num4, length);
|
||||
int num6 = t.xOff;
|
||||
this.xOff = num6;
|
||||
byte[] buffer = t.Buffer;
|
||||
int length2 = buffer.Length;
|
||||
int num7 = 0;
|
||||
byte[] buffer2 = this.Buffer;
|
||||
int num8 = 0;
|
||||
Array.Copy(buffer, num8, buffer2, num7, length2);
|
||||
int num9 = t.bOff;
|
||||
this.bOff = num9;
|
||||
long num10 = t.byteCount;
|
||||
this.byteCount = num10;
|
||||
}
|
||||
|
||||
// Token: 0x17001DCB RID: 7627
|
||||
// (get) Token: 0x0600BFD5 RID: 49109 RVA: 0x002B33CC File Offset: 0x002B15CC
|
||||
[Token(Token = "0x17001DCB")]
|
||||
public string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BFD5")]
|
||||
[Address(RVA = "0x24A7C60", Offset = "0x24A6C60", VA = "0x1824A7C60", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return "Tiger";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BFD6 RID: 49110 RVA: 0x002B33E0 File Offset: 0x002B15E0
|
||||
[Token(Token = "0x600BFD6")]
|
||||
[Address(RVA = "0xC42F00", Offset = "0xC41F00", VA = "0x180C42F00", Slot = "5")]
|
||||
public int GetDigestSize()
|
||||
{
|
||||
return 24;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFD7 RID: 49111 RVA: 0x002B33F0 File Offset: 0x002B15F0
|
||||
[Token(Token = "0x600BFD7")]
|
||||
[Address(RVA = "0x8BCFC0", Offset = "0x8BBFC0", VA = "0x1808BCFC0", Slot = "6")]
|
||||
public int GetByteLength()
|
||||
{
|
||||
return 64;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFD8 RID: 49112 RVA: 0x002B3400 File Offset: 0x002B1600
|
||||
[Token(Token = "0x600BFD8")]
|
||||
[Address(RVA = "0x24A6C60", Offset = "0x24A5C60", VA = "0x1824A6C60")]
|
||||
private void ProcessWord(byte[] b, int off)
|
||||
{
|
||||
int num = this.xOff;
|
||||
long[] array = this.x;
|
||||
int num2 = num + 1;
|
||||
this.xOff = num2;
|
||||
int length = b.Length;
|
||||
int num3 = off + 1;
|
||||
byte b2;
|
||||
array[0] = (long)b2;
|
||||
int length2 = this.x.Length;
|
||||
if (this.xOff == length2)
|
||||
{
|
||||
this.ProcessBlock();
|
||||
}
|
||||
this.bOff = (int)((ulong)0L);
|
||||
}
|
||||
|
||||
// Token: 0x0600BFD9 RID: 49113 RVA: 0x002B3468 File Offset: 0x002B1668
|
||||
[Token(Token = "0x600BFD9")]
|
||||
[Address(RVA = "0x24A7900", Offset = "0x24A6900", VA = "0x1824A7900", Slot = "7")]
|
||||
public void Update(byte input)
|
||||
{
|
||||
byte[] buffer = this.Buffer;
|
||||
int num = this.bOff + 1;
|
||||
this.bOff = num;
|
||||
byte[] buffer2 = this.Buffer;
|
||||
int length = buffer2.Length;
|
||||
if (this.bOff == length)
|
||||
{
|
||||
int num2 = 0;
|
||||
this.ProcessWord(buffer2, num2);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BFDA RID: 49114 RVA: 0x002B34B8 File Offset: 0x002B16B8
|
||||
[Token(Token = "0x600BFDA")]
|
||||
[Address(RVA = "0x24A5B50", Offset = "0x24A4B50", VA = "0x1824A5B50", Slot = "8")]
|
||||
public void BlockUpdate(byte[] input, int inOff, int length)
|
||||
{
|
||||
int num = this.bOff;
|
||||
int num2;
|
||||
if (num != 0 && length > 0)
|
||||
{
|
||||
byte[] buffer = this.Buffer;
|
||||
num2 = num + 1;
|
||||
this.bOff = num2;
|
||||
num2 = num;
|
||||
byte[] buffer2 = this.Buffer;
|
||||
int num3 = this.bOff;
|
||||
if (num3 == buffer2.Length)
|
||||
{
|
||||
int num4 = 0;
|
||||
this.ProcessWord(buffer2, num4);
|
||||
}
|
||||
while (num3 != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
if (length > 8)
|
||||
{
|
||||
num2++;
|
||||
this.ProcessWord(input, inOff);
|
||||
while (length != 8)
|
||||
{
|
||||
}
|
||||
}
|
||||
if (length > 0)
|
||||
{
|
||||
int num5 = this.bOff;
|
||||
byte[] buffer3 = this.Buffer;
|
||||
num2 = inOff;
|
||||
int num6 = num5 + 1;
|
||||
this.bOff = num6;
|
||||
byte[] buffer4 = this.Buffer;
|
||||
int length2 = buffer4.Length;
|
||||
if (this.bOff == length2)
|
||||
{
|
||||
int num7 = 0;
|
||||
this.ProcessWord(buffer4, num7);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BFDB RID: 49115 RVA: 0x002B357C File Offset: 0x002B177C
|
||||
[Token(Token = "0x600BFDB")]
|
||||
[Address(RVA = "0x24A7080", Offset = "0x24A6080", VA = "0x1824A7080")]
|
||||
private void RoundABC(long x, long mul)
|
||||
{
|
||||
long num = this.a;
|
||||
long[] array = TigerDigest.t1;
|
||||
long num2 = this.c;
|
||||
long[] array2 = TigerDigest.t2;
|
||||
long num3 = this.c;
|
||||
long[] array3 = TigerDigest.t3;
|
||||
long num4 = TigerDigest.t4[(int)num3];
|
||||
num -= num4;
|
||||
this.a = num;
|
||||
long[] array4 = TigerDigest.t4;
|
||||
long[] array5 = TigerDigest.t3;
|
||||
long[] array6 = TigerDigest.t2;
|
||||
long num5 = TigerDigest.t1[(int)num3] * mul;
|
||||
this.b = num5;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFDC RID: 49116 RVA: 0x002B3600 File Offset: 0x002B1800
|
||||
[Token(Token = "0x600BFDC")]
|
||||
[Address(RVA = "0x24A72E0", Offset = "0x24A62E0", VA = "0x1824A72E0")]
|
||||
private void RoundBCA(long x, long mul)
|
||||
{
|
||||
long num = this.b;
|
||||
long[] array = TigerDigest.t1;
|
||||
long num2 = this.a;
|
||||
long[] array2 = TigerDigest.t2;
|
||||
long num3 = this.a;
|
||||
long[] array3 = TigerDigest.t3;
|
||||
long num4 = TigerDigest.t4[(int)num3];
|
||||
num -= num4;
|
||||
this.b = num;
|
||||
long[] array4 = TigerDigest.t4;
|
||||
long[] array5 = TigerDigest.t3;
|
||||
long[] array6 = TigerDigest.t2;
|
||||
long num5 = TigerDigest.t1[(int)num3] * mul;
|
||||
this.c = num5;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFDD RID: 49117 RVA: 0x002B3684 File Offset: 0x002B1884
|
||||
[Token(Token = "0x600BFDD")]
|
||||
[Address(RVA = "0x24A7540", Offset = "0x24A6540", VA = "0x1824A7540")]
|
||||
private void RoundCAB(long x, long mul)
|
||||
{
|
||||
long num = this.c;
|
||||
long[] array = TigerDigest.t1;
|
||||
long num2 = this.b;
|
||||
long[] array2 = TigerDigest.t2;
|
||||
long num3 = this.b;
|
||||
long[] array3 = TigerDigest.t3;
|
||||
long num4 = TigerDigest.t4[(int)num3];
|
||||
num -= num4;
|
||||
this.c = num;
|
||||
long[] array4 = TigerDigest.t4;
|
||||
long[] array5 = TigerDigest.t3;
|
||||
long[] array6 = TigerDigest.t2;
|
||||
long num5 = TigerDigest.t1[(int)num3] * mul;
|
||||
this.a = num5;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFDE RID: 49118 RVA: 0x002B3708 File Offset: 0x002B1908
|
||||
[Token(Token = "0x600BFDE")]
|
||||
[Address(RVA = "0x24A6150", Offset = "0x24A5150", VA = "0x1824A6150")]
|
||||
private void KeySchedule()
|
||||
{
|
||||
long[] array = this.x;
|
||||
int length = array.Length;
|
||||
long num = array[0];
|
||||
long num2 = array[7];
|
||||
num -= num2;
|
||||
array[0] = num;
|
||||
long[] array2 = this.x;
|
||||
long[] array3 = this.x;
|
||||
long[] array4 = this.x;
|
||||
int length2 = array4.Length;
|
||||
long num3 = array4[3];
|
||||
long num4 = array4[1];
|
||||
num3 -= num4;
|
||||
array4[3] = num3;
|
||||
long[] array5 = this.x;
|
||||
long[] array6 = this.x;
|
||||
long[] array7 = this.x;
|
||||
int length3 = array7.Length;
|
||||
long num5 = array7[6];
|
||||
long num6 = array7[4];
|
||||
num5 -= num6;
|
||||
array7[6] = num5;
|
||||
long[] array8 = this.x;
|
||||
long[] array9 = this.x;
|
||||
int length4 = array9.Length;
|
||||
long num7 = array9[0];
|
||||
array9[0] = num7;
|
||||
long[] array10 = this.x;
|
||||
int length5 = array10.Length;
|
||||
long num8 = array10[1];
|
||||
long num9 = array10[7];
|
||||
num8 -= num9;
|
||||
array10[1] = num8;
|
||||
long[] array11 = this.x;
|
||||
long[] array12 = this.x;
|
||||
long[] array13 = this.x;
|
||||
int length6 = array13.Length;
|
||||
long num10 = array13[4];
|
||||
long num11 = array13[2];
|
||||
num10 -= num11;
|
||||
array13[4] = num10;
|
||||
long[] array14 = this.x;
|
||||
long[] array15 = this.x;
|
||||
long num12 = this.x[6];
|
||||
}
|
||||
|
||||
// Token: 0x0600BFDF RID: 49119 RVA: 0x002B3898 File Offset: 0x002B1A98
|
||||
[Token(Token = "0x600BFDF")]
|
||||
[Address(RVA = "0x24A65E0", Offset = "0x24A55E0", VA = "0x1824A65E0")]
|
||||
private void ProcessBlock()
|
||||
{
|
||||
long num = this.x[0];
|
||||
long num2 = this.x[1];
|
||||
long num3 = this.x[2];
|
||||
long num4 = this.x[3];
|
||||
long num5 = this.x[4];
|
||||
long num6 = this.x[5];
|
||||
long num7 = this.x[6];
|
||||
long num8 = this.x[7];
|
||||
this.KeySchedule();
|
||||
long num9 = this.x[0];
|
||||
long num10 = this.x[1];
|
||||
long num11 = this.x[2];
|
||||
long num12 = this.x[3];
|
||||
long num13 = this.x[4];
|
||||
long num14 = this.x[5];
|
||||
long num15 = this.x[6];
|
||||
long num16 = this.x[7];
|
||||
this.KeySchedule();
|
||||
long num17 = this.x[0];
|
||||
long num18 = this.x[1];
|
||||
long num19 = this.x[2];
|
||||
long num20 = this.x[3];
|
||||
long num21 = this.x[4];
|
||||
long num22 = this.x[5];
|
||||
long num23 = this.x[6];
|
||||
long num24 = this.x[7];
|
||||
long[] array = this.x;
|
||||
int num25 = 0;
|
||||
this.xOff = num25;
|
||||
if (num25 != array.Length)
|
||||
{
|
||||
num25++;
|
||||
array[0] = (long)num25;
|
||||
long[] array2 = this.x;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BFE0 RID: 49120 RVA: 0x002B3A3C File Offset: 0x002B1C3C
|
||||
[Token(Token = "0x600BFE0")]
|
||||
[Address(RVA = "0x24A77A0", Offset = "0x24A67A0", VA = "0x1824A77A0")]
|
||||
private void UnpackWord(long r, byte[] output, int outOff)
|
||||
{
|
||||
int num = outOff + 1;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFE1 RID: 49121 RVA: 0x002B3A54 File Offset: 0x002B1C54
|
||||
[Token(Token = "0x600BFE1")]
|
||||
[Address(RVA = "0x24A6C20", Offset = "0x24A5C20", VA = "0x1824A6C20")]
|
||||
private void ProcessLength(long bitLength)
|
||||
{
|
||||
this.x[7] = bitLength;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFE2 RID: 49122 RVA: 0x002B3A74 File Offset: 0x002B1C74
|
||||
[Token(Token = "0x600BFE2")]
|
||||
[Address(RVA = "0x24A6030", Offset = "0x24A5030", VA = "0x1824A6030")]
|
||||
private void Finish()
|
||||
{
|
||||
long num;
|
||||
for (;;)
|
||||
{
|
||||
num = this.byteCount;
|
||||
byte[] buffer = this.Buffer;
|
||||
int num2 = this.bOff + 1;
|
||||
this.bOff = num2;
|
||||
byte[] buffer2 = this.Buffer;
|
||||
int num3 = this.bOff;
|
||||
if (num3 == buffer2.Length)
|
||||
{
|
||||
int num4 = 0;
|
||||
this.ProcessWord(buffer2, num4);
|
||||
}
|
||||
if (num3 == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
byte[] buffer3 = this.Buffer;
|
||||
int num5 = num3 + 1;
|
||||
this.bOff = num5;
|
||||
byte[] buffer4 = this.Buffer;
|
||||
if (this.bOff == buffer4.Length)
|
||||
{
|
||||
int num6 = 0;
|
||||
this.ProcessWord(buffer4, num6);
|
||||
if (this.bOff == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.x[7] = num;
|
||||
this.ProcessBlock();
|
||||
}
|
||||
|
||||
// Token: 0x0600BFE3 RID: 49123 RVA: 0x002B3B2C File Offset: 0x002B1D2C
|
||||
[Token(Token = "0x600BFE3")]
|
||||
[Address(RVA = "0x24A5E90", Offset = "0x24A4E90", VA = "0x1824A5E90", Slot = "9")]
|
||||
public int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
long num;
|
||||
for (;;)
|
||||
{
|
||||
num = this.byteCount;
|
||||
byte[] buffer = this.Buffer;
|
||||
int num2 = this.bOff + 1;
|
||||
this.bOff = num2;
|
||||
byte[] buffer2 = this.Buffer;
|
||||
int num3 = this.bOff;
|
||||
if (num3 == buffer2.Length)
|
||||
{
|
||||
int num4 = 0;
|
||||
this.ProcessWord(buffer2, num4);
|
||||
}
|
||||
if (num3 == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
byte[] buffer3 = this.Buffer;
|
||||
int num5 = num3 + 1;
|
||||
this.bOff = num5;
|
||||
byte[] buffer4 = this.Buffer;
|
||||
if (this.bOff == buffer4.Length)
|
||||
{
|
||||
int num6 = 0;
|
||||
this.ProcessWord(buffer4, num6);
|
||||
if (this.bOff == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.x[7] = num;
|
||||
this.ProcessBlock();
|
||||
long num7 = this.a;
|
||||
this.UnpackWord(num7, output, outOff);
|
||||
long num8 = this.b;
|
||||
this.UnpackWord(num8, output, outOff);
|
||||
long num9 = this.c;
|
||||
this.UnpackWord(num9, output, outOff);
|
||||
this.Reset();
|
||||
return 24;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFE4 RID: 49124 RVA: 0x002B3C28 File Offset: 0x002B1E28
|
||||
[Token(Token = "0x600BFE4")]
|
||||
[Address(RVA = "0x24A6E70", Offset = "0x24A5E70", VA = "0x1824A6E70", Slot = "10")]
|
||||
public void Reset()
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
this.a = (long)((ulong)81985529216486895L);
|
||||
this.xOff = num;
|
||||
this.b = (long)((ulong)(-81985529216486896L));
|
||||
this.c = (long)((ulong)(-1110518062304271993L));
|
||||
long[] array = this.x;
|
||||
if (num != array.Length)
|
||||
{
|
||||
num++;
|
||||
array[0] = (long)num;
|
||||
long[] array2 = this.x;
|
||||
}
|
||||
byte[] buffer = this.Buffer;
|
||||
this.bOff = num;
|
||||
if (num == buffer.Length)
|
||||
{
|
||||
break;
|
||||
}
|
||||
num++;
|
||||
}
|
||||
while (this.Buffer != 0);
|
||||
this.byteCount = (long)num;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFE5 RID: 49125 RVA: 0x002B3CC8 File Offset: 0x002B1EC8
|
||||
[Token(Token = "0x600BFE5")]
|
||||
[Address(RVA = "0x24A5D00", Offset = "0x24A4D00", VA = "0x1824A5D00", Slot = "11")]
|
||||
public IMemoable Copy()
|
||||
{
|
||||
TigerDigest tigerDigest;
|
||||
do
|
||||
{
|
||||
tigerDigest = new TigerDigest();
|
||||
byte[] array = new byte[8];
|
||||
tigerDigest.Buffer = array;
|
||||
long[] array2 = new long[8];
|
||||
tigerDigest.x = array2;
|
||||
}
|
||||
while (this == 0);
|
||||
long num = this.a;
|
||||
tigerDigest.a = num;
|
||||
long num2 = this.b;
|
||||
tigerDigest.b = num2;
|
||||
long num3 = this.c;
|
||||
tigerDigest.c = num3;
|
||||
long[] array3 = this.x;
|
||||
int length = array3.Length;
|
||||
int num4 = 0;
|
||||
long[] array4 = tigerDigest.x;
|
||||
int num5 = 0;
|
||||
Array.Copy(array3, num5, array4, num4, length);
|
||||
int num6 = this.xOff;
|
||||
tigerDigest.xOff = num6;
|
||||
byte[] buffer = this.Buffer;
|
||||
int length2 = buffer.Length;
|
||||
int num7 = 0;
|
||||
byte[] buffer2 = tigerDigest.Buffer;
|
||||
int num8 = 0;
|
||||
Array.Copy(buffer, num8, buffer2, num7, length2);
|
||||
int num9 = this.bOff;
|
||||
tigerDigest.bOff = num9;
|
||||
long num10 = this.byteCount;
|
||||
tigerDigest.byteCount = num10;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600BFE6 RID: 49126 RVA: 0x002B3DC0 File Offset: 0x002B1FC0
|
||||
[Token(Token = "0x600BFE6")]
|
||||
[Address(RVA = "0x24A6F60", Offset = "0x24A5F60", VA = "0x1824A6F60", Slot = "12")]
|
||||
public void Reset(IMemoable other)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
}
|
||||
while (other == 0);
|
||||
this.a = (long)num;
|
||||
this.b = (long)num;
|
||||
this.c = (long)num;
|
||||
this.xOff = num;
|
||||
this.bOff = num;
|
||||
this.byteCount = (long)num;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFE7 RID: 49127 RVA: 0x002B3E04 File Offset: 0x002B2004
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600BFE7")]
|
||||
[Address(RVA = "0x24A7970", Offset = "0x24A6970", VA = "0x1824A7970")]
|
||||
static TigerDigest()
|
||||
{
|
||||
long[] array = new long[256];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.A0FABB8173BA247898A9FA267D0CE05500B667A0).FieldHandle);
|
||||
TigerDigest.t1 = array;
|
||||
long[] array2 = new long[256];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.467C6758F235D3193618192A64129CBB602C9067).FieldHandle);
|
||||
TigerDigest.t2 = array2;
|
||||
long[] array3 = new long[256];
|
||||
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.1648F737A4CFFDA4E6C83A3D742109BF9DBC2446).FieldHandle);
|
||||
TigerDigest.t3 = array3;
|
||||
long[] array4 = new long[256];
|
||||
RuntimeHelpers.InitializeArray(array4, fieldof(<PrivateImplementationDetails>.C079C42AC966756C902EC38C4D7989F3C20D3625).FieldHandle);
|
||||
TigerDigest.t4 = array4;
|
||||
}
|
||||
|
||||
// Token: 0x0400791F RID: 31007
|
||||
[Token(Token = "0x400791F")]
|
||||
private const int MyByteLength = 64;
|
||||
|
||||
// Token: 0x04007920 RID: 31008
|
||||
[Token(Token = "0x4007920")]
|
||||
private static readonly long[] t1;
|
||||
|
||||
// Token: 0x04007921 RID: 31009
|
||||
[Token(Token = "0x4007921")]
|
||||
private static readonly long[] t2;
|
||||
|
||||
// Token: 0x04007922 RID: 31010
|
||||
[Token(Token = "0x4007922")]
|
||||
private static readonly long[] t3;
|
||||
|
||||
// Token: 0x04007923 RID: 31011
|
||||
[Token(Token = "0x4007923")]
|
||||
private static readonly long[] t4;
|
||||
|
||||
// Token: 0x04007924 RID: 31012
|
||||
[Token(Token = "0x4007924")]
|
||||
private const int DigestLength = 24;
|
||||
|
||||
// Token: 0x04007925 RID: 31013
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007925")]
|
||||
private long a;
|
||||
|
||||
// Token: 0x04007926 RID: 31014
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4007926")]
|
||||
private long b;
|
||||
|
||||
// Token: 0x04007927 RID: 31015
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4007927")]
|
||||
private long c;
|
||||
|
||||
// Token: 0x04007928 RID: 31016
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4007928")]
|
||||
private long byteCount;
|
||||
|
||||
// Token: 0x04007929 RID: 31017
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4007929")]
|
||||
private byte[] Buffer;
|
||||
|
||||
// Token: 0x0400792A RID: 31018
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x400792A")]
|
||||
private int bOff;
|
||||
|
||||
// Token: 0x0400792B RID: 31019
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x400792B")]
|
||||
private long[] x;
|
||||
|
||||
// Token: 0x0400792C RID: 31020
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x400792C")]
|
||||
private int xOff;
|
||||
}
|
||||
}
|
||||
+648
@@ -0,0 +1,648 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001DE4 RID: 7652
|
||||
[Token(Token = "0x2001DE4")]
|
||||
public sealed class WhirlpoolDigest : IDigest, IMemoable
|
||||
{
|
||||
// Token: 0x0600BFE8 RID: 49128 RVA: 0x002B3E84 File Offset: 0x002B2084
|
||||
[Token(Token = "0x600BFE8")]
|
||||
[Address(RVA = "0x24A8440", Offset = "0x24A7440", VA = "0x1824A8440")]
|
||||
static WhirlpoolDigest()
|
||||
{
|
||||
int[] array = new int[256];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.840B3A53AAF3595FDF3313D46FFD246A7EA6E89E).FieldHandle);
|
||||
WhirlpoolDigest.SBOX = array;
|
||||
WhirlpoolDigest.C0 = new long[256];
|
||||
WhirlpoolDigest.C1 = new long[256];
|
||||
WhirlpoolDigest.C2 = new long[256];
|
||||
WhirlpoolDigest.C3 = new long[256];
|
||||
WhirlpoolDigest.C4 = new long[256];
|
||||
WhirlpoolDigest.C5 = new long[256];
|
||||
WhirlpoolDigest.C6 = new long[256];
|
||||
WhirlpoolDigest.C7 = new long[256];
|
||||
WhirlpoolDigest.EIGHT = new short[32];
|
||||
short[] eight = WhirlpoolDigest.EIGHT;
|
||||
int num = 0;
|
||||
eight[7] = (short)((uint)8);
|
||||
int[] sbox = WhirlpoolDigest.SBOX;
|
||||
int num2 = sbox[num];
|
||||
WhirlpoolDigest.C0[0] = (long)num2;
|
||||
WhirlpoolDigest.C1[0] = sbox;
|
||||
WhirlpoolDigest.C2[0] = sbox;
|
||||
WhirlpoolDigest.C3[0] = sbox;
|
||||
WhirlpoolDigest.C4[0] = sbox;
|
||||
WhirlpoolDigest.C5[0] = (long)num2;
|
||||
WhirlpoolDigest.C6[0] = sbox;
|
||||
long[] c = WhirlpoolDigest.C7;
|
||||
num++;
|
||||
c[0] = (long)num2;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFE9 RID: 49129 RVA: 0x002B3FC4 File Offset: 0x002B21C4
|
||||
[Token(Token = "0x600BFE9")]
|
||||
[Address(RVA = "0x24A8B50", Offset = "0x24A7B50", VA = "0x1824A8B50")]
|
||||
public WhirlpoolDigest()
|
||||
{
|
||||
long[] array = new long[11];
|
||||
this._rc = array;
|
||||
byte[] array2 = new byte[64];
|
||||
this._buffer = array2;
|
||||
short[] array3 = new short[32];
|
||||
this._bitCount = array3;
|
||||
long[] array4 = new long[8];
|
||||
this._hash = array4;
|
||||
long[] array5 = new long[8];
|
||||
this._K = array5;
|
||||
long[] array6 = new long[8];
|
||||
this._L = array6;
|
||||
long[] array7 = new long[8];
|
||||
this._block = array7;
|
||||
long[] array8 = new long[8];
|
||||
this._state = array8;
|
||||
base..ctor();
|
||||
long[] rc = this._rc;
|
||||
long[] rc2 = this._rc;
|
||||
long[] c = WhirlpoolDigest.C0;
|
||||
long[] c2 = WhirlpoolDigest.C1;
|
||||
long[] c3 = WhirlpoolDigest.C2;
|
||||
long[] c4 = WhirlpoolDigest.C3;
|
||||
long[] c5 = WhirlpoolDigest.C4;
|
||||
long[] c6 = WhirlpoolDigest.C5;
|
||||
long[] c7 = WhirlpoolDigest.C6;
|
||||
uint num2;
|
||||
long num = WhirlpoolDigest.C7[(int)num2];
|
||||
num2 += (uint)8;
|
||||
rc2[0] = num;
|
||||
ulong num3;
|
||||
num3 += (ulong)1L;
|
||||
while (num2 <= (uint)80)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BFEA RID: 49130 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600BFEA")]
|
||||
[Address(RVA = "0x24A9530", Offset = "0x24A8530", VA = "0x1824A9530")]
|
||||
private static long packIntoLong(int b7, int b6, int b5, int b4, int b3, int b2, int b1, int b0)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600BFEB RID: 49131 RVA: 0x002B40CC File Offset: 0x002B22CC
|
||||
[Token(Token = "0x600BFEB")]
|
||||
[Address(RVA = "0x24A9510", Offset = "0x24A8510", VA = "0x1824A9510")]
|
||||
private static int maskWithReductionPolynomial(int input)
|
||||
{
|
||||
return input;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFEC RID: 49132 RVA: 0x002B40DC File Offset: 0x002B22DC
|
||||
[Token(Token = "0x600BFEC")]
|
||||
[Address(RVA = "0x24A8A50", Offset = "0x24A7A50", VA = "0x1824A8A50")]
|
||||
public WhirlpoolDigest(WhirlpoolDigest originalDigest)
|
||||
{
|
||||
long[] array = new long[11];
|
||||
this._rc = array;
|
||||
byte[] array2 = new byte[64];
|
||||
this._buffer = array2;
|
||||
short[] array3 = new short[32];
|
||||
this._bitCount = array3;
|
||||
long[] array4 = new long[8];
|
||||
this._hash = array4;
|
||||
long[] array5 = new long[8];
|
||||
this._K = array5;
|
||||
long[] array6 = new long[8];
|
||||
this._L = array6;
|
||||
long[] array7 = new long[8];
|
||||
this._block = array7;
|
||||
long[] array8 = new long[8];
|
||||
this._state = array8;
|
||||
base..ctor();
|
||||
this.Reset(originalDigest);
|
||||
}
|
||||
|
||||
// Token: 0x17001DCC RID: 7628
|
||||
// (get) Token: 0x0600BFED RID: 49133 RVA: 0x002B4174 File Offset: 0x002B2374
|
||||
[Token(Token = "0x17001DCC")]
|
||||
public string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BFED")]
|
||||
[Address(RVA = "0x24A9390", Offset = "0x24A8390", VA = "0x1824A9390", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return "Whirlpool";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BFEE RID: 49134 RVA: 0x002B4188 File Offset: 0x002B2388
|
||||
[Token(Token = "0x600BFEE")]
|
||||
[Address(RVA = "0x8BCFC0", Offset = "0x8BBFC0", VA = "0x1808BCFC0", Slot = "5")]
|
||||
public int GetDigestSize()
|
||||
{
|
||||
return 64;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFEF RID: 49135 RVA: 0x002B4198 File Offset: 0x002B2398
|
||||
[Token(Token = "0x600BFEF")]
|
||||
[Address(RVA = "0x24A7E30", Offset = "0x24A6E30", VA = "0x1824A7E30", Slot = "9")]
|
||||
public int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
this.finish();
|
||||
int num = 0;
|
||||
long num2 = this._hash[num];
|
||||
int num3 = 0;
|
||||
num3++;
|
||||
num++;
|
||||
short[] bitCount = this._bitCount;
|
||||
int length = bitCount.Length;
|
||||
int num4 = 0;
|
||||
Array.Clear(bitCount, num4, length);
|
||||
byte[] buffer = this._buffer;
|
||||
int length2 = buffer.Length;
|
||||
int num5 = 0;
|
||||
Array.Clear(buffer, num5, length2);
|
||||
long[] hash = this._hash;
|
||||
int length3 = hash.Length;
|
||||
int num6 = 0;
|
||||
Array.Clear(hash, num6, length3);
|
||||
long[] k = this._K;
|
||||
int length4 = k.Length;
|
||||
int num7 = 0;
|
||||
Array.Clear(k, num7, length4);
|
||||
long[] l = this._L;
|
||||
int length5 = l.Length;
|
||||
int num8 = 0;
|
||||
Array.Clear(l, num8, length5);
|
||||
long[] block = this._block;
|
||||
int length6 = block.Length;
|
||||
int num9 = 0;
|
||||
Array.Clear(block, num9, length6);
|
||||
long[] state = this._state;
|
||||
int length7 = state.Length;
|
||||
int num10 = 0;
|
||||
Array.Clear(state, num10, length7);
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600BFF0 RID: 49136 RVA: 0x002B42A0 File Offset: 0x002B24A0
|
||||
[Token(Token = "0x600BFF0")]
|
||||
[Address(RVA = "0x24A8010", Offset = "0x24A7010", VA = "0x1824A8010", Slot = "10")]
|
||||
public void Reset()
|
||||
{
|
||||
this._bufferPos = (int)((ulong)0L);
|
||||
short[] bitCount = this._bitCount;
|
||||
int length = bitCount.Length;
|
||||
int num = 0;
|
||||
Array.Clear(bitCount, num, length);
|
||||
byte[] buffer = this._buffer;
|
||||
int length2 = buffer.Length;
|
||||
int num2 = 0;
|
||||
Array.Clear(buffer, num2, length2);
|
||||
long[] hash = this._hash;
|
||||
int length3 = hash.Length;
|
||||
int num3 = 0;
|
||||
Array.Clear(hash, num3, length3);
|
||||
long[] k = this._K;
|
||||
int length4 = k.Length;
|
||||
int num4 = 0;
|
||||
Array.Clear(k, num4, length4);
|
||||
long[] l = this._L;
|
||||
int length5 = l.Length;
|
||||
int num5 = 0;
|
||||
Array.Clear(l, num5, length5);
|
||||
long[] block = this._block;
|
||||
int length6 = block.Length;
|
||||
int num6 = 0;
|
||||
Array.Clear(block, num6, length6);
|
||||
long[] state = this._state;
|
||||
int length7 = state.Length;
|
||||
int num7 = 0;
|
||||
Array.Clear(state, num7, length7);
|
||||
}
|
||||
|
||||
// Token: 0x0600BFF1 RID: 49137 RVA: 0x002B438C File Offset: 0x002B258C
|
||||
[Token(Token = "0x600BFF1")]
|
||||
[Address(RVA = "0x24AA2E0", Offset = "0x24A92E0", VA = "0x1824AA2E0")]
|
||||
private void processFilledBuffer()
|
||||
{
|
||||
long[] state = this._state;
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (num2 < state.Length)
|
||||
{
|
||||
long[] block = this._block;
|
||||
byte[] buffer = this._buffer;
|
||||
num++;
|
||||
long num3;
|
||||
block[0] = num3;
|
||||
long[] state2 = this._state;
|
||||
}
|
||||
this.processBlock();
|
||||
byte[] buffer2 = this._buffer;
|
||||
this._bufferPos = (int)((ulong)0L);
|
||||
int length = buffer2.Length;
|
||||
int num4 = 0;
|
||||
Array.Clear(buffer2, num4, length);
|
||||
}
|
||||
|
||||
// Token: 0x0600BFF2 RID: 49138 RVA: 0x002B440C File Offset: 0x002B260C
|
||||
[Token(Token = "0x600BFF2")]
|
||||
[Address(RVA = "0x24A8F50", Offset = "0x24A7F50", VA = "0x1824A8F50")]
|
||||
private static long bytesToLongFromBuffer(byte[] buffer, int startPos)
|
||||
{
|
||||
int length = buffer.Length;
|
||||
int num = startPos + 1;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600BFF3 RID: 49139 RVA: 0x002B442C File Offset: 0x002B262C
|
||||
[Token(Token = "0x600BFF3")]
|
||||
[Address(RVA = "0x24A9100", Offset = "0x24A8100", VA = "0x1824A9100")]
|
||||
private static void convertLongToByteArray(long inputLong, byte[] outputArray, int offSet)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600BFF4 RID: 49140 RVA: 0x002B4440 File Offset: 0x002B2640
|
||||
[Token(Token = "0x600BFF4")]
|
||||
[Address(RVA = "0x24A9590", Offset = "0x24A8590", VA = "0x1824A9590")]
|
||||
private void processBlock()
|
||||
{
|
||||
int num = 0;
|
||||
long[] block = this._block;
|
||||
long[] state = this._state;
|
||||
long[] hash = this._hash;
|
||||
long[] k = this._K;
|
||||
long num2 = hash[num];
|
||||
k[0] = num2;
|
||||
num++;
|
||||
state[0] = num2;
|
||||
this._L[0] = (long)num;
|
||||
long[] l = this._L;
|
||||
long[] k2 = this._K;
|
||||
long[] c = WhirlpoolDigest.C0;
|
||||
long[] l2 = this._L;
|
||||
long[] c2 = WhirlpoolDigest.C1;
|
||||
long[] k3 = this._K;
|
||||
long[] l3 = this._L;
|
||||
long[] c3 = WhirlpoolDigest.C2;
|
||||
long[] k4 = this._K;
|
||||
long[] l4 = this._L;
|
||||
long[] c4 = WhirlpoolDigest.C3;
|
||||
long[] k5 = this._K;
|
||||
long[] l5 = this._L;
|
||||
long[] c5 = WhirlpoolDigest.C4;
|
||||
long[] k6 = this._K;
|
||||
long[] l6 = this._L;
|
||||
long[] c6 = WhirlpoolDigest.C5;
|
||||
long[] k7 = this._K;
|
||||
long[] l7 = this._L;
|
||||
long[] c7 = WhirlpoolDigest.C6;
|
||||
long[] k8 = this._K;
|
||||
long[] l8 = this._L;
|
||||
long[] c8 = WhirlpoolDigest.C7;
|
||||
long[] k9 = this._K;
|
||||
num++;
|
||||
long[] k10 = this._K;
|
||||
int length = k10.Length;
|
||||
int num3 = 0;
|
||||
long[] l9 = this._L;
|
||||
int num4 = 0;
|
||||
Array.Copy(l9, num4, k10, num3, length);
|
||||
long[] k11 = this._K;
|
||||
long[] rc = this._rc;
|
||||
long[] k12 = this._K;
|
||||
long[] l10 = this._L;
|
||||
long num5 = k12[num];
|
||||
l10[0] = num5;
|
||||
long[] l11 = this._L;
|
||||
long[] state2 = this._state;
|
||||
long[] c9 = WhirlpoolDigest.C0;
|
||||
long[] l12 = this._L;
|
||||
long[] c10 = WhirlpoolDigest.C1;
|
||||
long[] state3 = this._state;
|
||||
long[] l13 = this._L;
|
||||
long[] c11 = WhirlpoolDigest.C2;
|
||||
long[] state4 = this._state;
|
||||
long[] l14 = this._L;
|
||||
long[] c12 = WhirlpoolDigest.C3;
|
||||
long[] state5 = this._state;
|
||||
long[] l15 = this._L;
|
||||
long[] c13 = WhirlpoolDigest.C4;
|
||||
long[] state6 = this._state;
|
||||
long[] l16 = this._L;
|
||||
long[] c14 = WhirlpoolDigest.C5;
|
||||
long[] state7 = this._state;
|
||||
long[] l17 = this._L;
|
||||
long[] c15 = WhirlpoolDigest.C6;
|
||||
long[] state8 = this._state;
|
||||
long[] l18 = this._L;
|
||||
long[] c16 = WhirlpoolDigest.C7;
|
||||
long[] state9 = this._state;
|
||||
num++;
|
||||
long[] state10 = this._state;
|
||||
int length2 = state10.Length;
|
||||
int num6 = 0;
|
||||
long[] l19 = this._L;
|
||||
int num7 = 0;
|
||||
Array.Copy(l19, num7, state10, num6, length2);
|
||||
while ((ulong)((uint)1) <= (ulong)10L)
|
||||
{
|
||||
}
|
||||
long[] hash2 = this._hash;
|
||||
long[] state11 = this._state;
|
||||
long num8 = this._block[num];
|
||||
num++;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFF5 RID: 49141 RVA: 0x002B46D4 File Offset: 0x002B28D4
|
||||
[Token(Token = "0x600BFF5")]
|
||||
[Address(RVA = "0x24A82A0", Offset = "0x24A72A0", VA = "0x1824A82A0", Slot = "7")]
|
||||
public void Update(byte input)
|
||||
{
|
||||
byte[] buffer = this._buffer;
|
||||
int bufferPos = this._bufferPos;
|
||||
int num = this._bufferPos;
|
||||
byte[] buffer2 = this._buffer;
|
||||
num++;
|
||||
this._bufferPos = num;
|
||||
if (num == buffer2.Length)
|
||||
{
|
||||
this.processFilledBuffer();
|
||||
}
|
||||
int length = this._bitCount.Length;
|
||||
short[] bitCount = this._bitCount;
|
||||
short[] eight = WhirlpoolDigest.EIGHT;
|
||||
short[] bitCount2 = this._bitCount;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFF6 RID: 49142 RVA: 0x002B4744 File Offset: 0x002B2944
|
||||
[Token(Token = "0x600BFF6")]
|
||||
[Address(RVA = "0x24A93C0", Offset = "0x24A83C0", VA = "0x1824A93C0")]
|
||||
private void increment()
|
||||
{
|
||||
int length = this._bitCount.Length;
|
||||
short[] bitCount = this._bitCount;
|
||||
short[] eight = WhirlpoolDigest.EIGHT;
|
||||
short[] bitCount2 = this._bitCount;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFF7 RID: 49143 RVA: 0x002B4778 File Offset: 0x002B2978
|
||||
[Token(Token = "0x600BFF7")]
|
||||
[Address(RVA = "0x24A7C90", Offset = "0x24A6C90", VA = "0x1824A7C90", Slot = "8")]
|
||||
public void BlockUpdate(byte[] input, int inOff, int length)
|
||||
{
|
||||
if (length > 0)
|
||||
{
|
||||
byte b;
|
||||
this.Update(b);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BFF8 RID: 49144 RVA: 0x002B4798 File Offset: 0x002B2998
|
||||
[Token(Token = "0x600BFF8")]
|
||||
[Address(RVA = "0x24A9210", Offset = "0x24A8210", VA = "0x1824A9210")]
|
||||
private void finish()
|
||||
{
|
||||
byte[] array = new byte[32];
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
int length = array.Length;
|
||||
if (num2 < length)
|
||||
{
|
||||
short num3 = this._bitCount[num];
|
||||
num++;
|
||||
}
|
||||
int bufferPos = this._bufferPos;
|
||||
byte[] buffer = this._buffer;
|
||||
int num4 = bufferPos + 1;
|
||||
this._bufferPos = num4;
|
||||
byte[] buffer2 = this._buffer;
|
||||
int bufferPos2;
|
||||
if (this._bufferPos == buffer2.Length)
|
||||
{
|
||||
this.processFilledBuffer();
|
||||
bufferPos2 = this._bufferPos;
|
||||
}
|
||||
if (bufferPos2 > 32)
|
||||
{
|
||||
if (bufferPos2 == 0)
|
||||
{
|
||||
goto IL_A4;
|
||||
}
|
||||
int num5 = 0;
|
||||
this.Update((byte)num5);
|
||||
while (this.C3 != (ulong)0L)
|
||||
{
|
||||
}
|
||||
}
|
||||
int num6 = 0;
|
||||
this.Update((byte)num6);
|
||||
while (this.C3 <= (ulong)32L)
|
||||
{
|
||||
}
|
||||
IL_A4:
|
||||
int length2 = array.Length;
|
||||
byte[] buffer3 = this._buffer;
|
||||
int num7 = 0;
|
||||
Array.Copy(array, num7, buffer3, 32, length2);
|
||||
this.processFilledBuffer();
|
||||
}
|
||||
|
||||
// Token: 0x0600BFF9 RID: 49145 RVA: 0x002B4878 File Offset: 0x002B2A78
|
||||
[Token(Token = "0x600BFF9")]
|
||||
[Address(RVA = "0x24A9170", Offset = "0x24A8170", VA = "0x1824A9170")]
|
||||
private byte[] copyBitLength()
|
||||
{
|
||||
byte[] array = new byte[32];
|
||||
int num = 0;
|
||||
int length = array.Length;
|
||||
if (num < length)
|
||||
{
|
||||
short num2 = this._bitCount[num];
|
||||
num++;
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFFA RID: 49146 RVA: 0x002B48B4 File Offset: 0x002B2AB4
|
||||
[Token(Token = "0x600BFFA")]
|
||||
[Address(RVA = "0x8BCFC0", Offset = "0x8BBFC0", VA = "0x1808BCFC0", Slot = "6")]
|
||||
public int GetByteLength()
|
||||
{
|
||||
return 64;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFFB RID: 49147 RVA: 0x002B48C4 File Offset: 0x002B2AC4
|
||||
[Token(Token = "0x600BFFB")]
|
||||
[Address(RVA = "0x24A7D10", Offset = "0x24A6D10", VA = "0x1824A7D10", Slot = "11")]
|
||||
public IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BFFB)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.WhirlpoolDigest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:WhirlpoolDigest(var_0_05, newobj:WhirlpoolDigest(WhirlpoolDigest::.ctor))
|
||||
stloc:int64[](var_1_0D, newarr:int64[]([mscorlib]System.Int64, ldc.i4:int32(11)))
|
||||
stfld:int64[](WhirlpoolDigest::_rc, ldloc:WhirlpoolDigest(var_0_05), ldloc:int64[](var_1_0D))
|
||||
stloc:uint8[](var_2_1C, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(64)))
|
||||
stfld:uint8[](WhirlpoolDigest::_buffer, ldloc:WhirlpoolDigest(var_0_05), ldloc:uint8[](var_2_1C))
|
||||
stloc:int16[](var_3_2B, newarr:int16[]([mscorlib]System.Int16, ldc.i4:int32(32)))
|
||||
stfld:int16[](WhirlpoolDigest::_bitCount, ldloc:WhirlpoolDigest(var_0_05), ldloc:int16[](var_3_2B))
|
||||
stloc:int64[](var_4_39, newarr:int64[]([mscorlib]System.Int64, ldc.i4:int32(8)))
|
||||
stfld:int64[](WhirlpoolDigest::_hash, ldloc:WhirlpoolDigest(var_0_05), ldloc:int64[](var_4_39))
|
||||
stloc:int64[](var_5_49, newarr:int64[]([mscorlib]System.Int64, ldc.i4:int32(8)))
|
||||
stfld:int64[](WhirlpoolDigest::_K, ldloc:WhirlpoolDigest(var_0_05), ldloc:int64[](var_5_49))
|
||||
stloc:int64[](var_6_59, newarr:int64[]([mscorlib]System.Int64, ldc.i4:int32(8)))
|
||||
stfld:int64[](WhirlpoolDigest::_L, ldloc:WhirlpoolDigest(var_0_05), ldloc:int64[](var_6_59))
|
||||
stloc:int64[](var_7_69, newarr:int64[]([mscorlib]System.Int64, ldc.i4:int32(8)))
|
||||
stfld:int64[](WhirlpoolDigest::_block, ldloc:WhirlpoolDigest(var_0_05), ldloc:int64[](var_7_69))
|
||||
stloc:int64[](var_8_79, newarr:int64[]([mscorlib]System.Int64, ldc.i4:int32(8)))
|
||||
stfld:int64[](WhirlpoolDigest::_state, ldloc:WhirlpoolDigest(var_0_05), ldloc:int64[](var_8_79))
|
||||
call:void(WhirlpoolDigest::Reset, ldloc:WhirlpoolDigest(var_0_05), ldloc:WhirlpoolDigest[exp:IMemoable](this))
|
||||
}
|
||||
|
||||
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: 0x0600BFFC RID: 49148 RVA: 0x002B495C File Offset: 0x002B2B5C
|
||||
[Token(Token = "0x600BFFC")]
|
||||
[Address(RVA = "0x24A80E0", Offset = "0x24A70E0", VA = "0x1824A80E0", Slot = "12")]
|
||||
public void Reset(IMemoable other)
|
||||
{
|
||||
while (other == 0)
|
||||
{
|
||||
}
|
||||
int length = this._rc.Length;
|
||||
int length2 = this._buffer.Length;
|
||||
short[] bitCount = this._bitCount;
|
||||
this._bufferPos = length2;
|
||||
int length3 = bitCount.Length;
|
||||
int length4 = this._hash.Length;
|
||||
int length5 = this._K.Length;
|
||||
int length6 = this._L.Length;
|
||||
int length7 = this._block.Length;
|
||||
int length8 = this._state.Length;
|
||||
}
|
||||
|
||||
// Token: 0x0400792D RID: 31021
|
||||
[Token(Token = "0x400792D")]
|
||||
private const int BYTE_LENGTH = 64;
|
||||
|
||||
// Token: 0x0400792E RID: 31022
|
||||
[Token(Token = "0x400792E")]
|
||||
private const int DIGEST_LENGTH_BYTES = 64;
|
||||
|
||||
// Token: 0x0400792F RID: 31023
|
||||
[Token(Token = "0x400792F")]
|
||||
private const int ROUNDS = 10;
|
||||
|
||||
// Token: 0x04007930 RID: 31024
|
||||
[Token(Token = "0x4007930")]
|
||||
private const int REDUCTION_POLYNOMIAL = 285;
|
||||
|
||||
// Token: 0x04007931 RID: 31025
|
||||
[Token(Token = "0x4007931")]
|
||||
private static readonly int[] SBOX;
|
||||
|
||||
// Token: 0x04007932 RID: 31026
|
||||
[Token(Token = "0x4007932")]
|
||||
private static readonly long[] C0;
|
||||
|
||||
// Token: 0x04007933 RID: 31027
|
||||
[Token(Token = "0x4007933")]
|
||||
private static readonly long[] C1;
|
||||
|
||||
// Token: 0x04007934 RID: 31028
|
||||
[Token(Token = "0x4007934")]
|
||||
private static readonly long[] C2;
|
||||
|
||||
// Token: 0x04007935 RID: 31029
|
||||
[Token(Token = "0x4007935")]
|
||||
private static readonly long[] C3;
|
||||
|
||||
// Token: 0x04007936 RID: 31030
|
||||
[Token(Token = "0x4007936")]
|
||||
private static readonly long[] C4;
|
||||
|
||||
// Token: 0x04007937 RID: 31031
|
||||
[Token(Token = "0x4007937")]
|
||||
private static readonly long[] C5;
|
||||
|
||||
// Token: 0x04007938 RID: 31032
|
||||
[Token(Token = "0x4007938")]
|
||||
private static readonly long[] C6;
|
||||
|
||||
// Token: 0x04007939 RID: 31033
|
||||
[Token(Token = "0x4007939")]
|
||||
private static readonly long[] C7;
|
||||
|
||||
// Token: 0x0400793A RID: 31034
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400793A")]
|
||||
private readonly long[] _rc;
|
||||
|
||||
// Token: 0x0400793B RID: 31035
|
||||
[Token(Token = "0x400793B")]
|
||||
private static readonly short[] EIGHT;
|
||||
|
||||
// Token: 0x0400793C RID: 31036
|
||||
[Token(Token = "0x400793C")]
|
||||
private const int BITCOUNT_ARRAY_SIZE = 32;
|
||||
|
||||
// Token: 0x0400793D RID: 31037
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400793D")]
|
||||
private byte[] _buffer;
|
||||
|
||||
// Token: 0x0400793E RID: 31038
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x400793E")]
|
||||
private int _bufferPos;
|
||||
|
||||
// Token: 0x0400793F RID: 31039
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x400793F")]
|
||||
private short[] _bitCount;
|
||||
|
||||
// Token: 0x04007940 RID: 31040
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4007940")]
|
||||
private long[] _hash;
|
||||
|
||||
// Token: 0x04007941 RID: 31041
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4007941")]
|
||||
private long[] _K;
|
||||
|
||||
// Token: 0x04007942 RID: 31042
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4007942")]
|
||||
private long[] _L;
|
||||
|
||||
// Token: 0x04007943 RID: 31043
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4007943")]
|
||||
private long[] _block;
|
||||
|
||||
// Token: 0x04007944 RID: 31044
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4007944")]
|
||||
private long[] _state;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user