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

560 lines
22 KiB
C#

using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
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: 0x02001705 RID: 5893
[Token(Token = "0x2001705")]
[StructLayout(3)]
public class Dstu7564Digest : IDigest, IMemoable
{
// Token: 0x06009E4D RID: 40525 RVA: 0x00246238 File Offset: 0x00244438
[Token(Token = "0x6009E4D")]
[Address(RVA = "0x217B5F0", Offset = "0x2179FF0", VA = "0x18217B5F0")]
public Dstu7564Digest(Dstu7564Digest digest)
{
this.CopyIn(digest);
}
// Token: 0x06009E4E RID: 40526 RVA: 0x00246254 File Offset: 0x00244454
[Token(Token = "0x6009E4E")]
[Address(RVA = "0x2179B60", Offset = "0x2178560", VA = "0x182179B60")]
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: 0x06009E4F RID: 40527 RVA: 0x00246384 File Offset: 0x00244584
[Token(Token = "0x6009E4F")]
[Address(RVA = "0x217B620", Offset = "0x217A020", VA = "0x18217B620")]
public Dstu7564Digest(int hashSizeBits)
{
/*
An exception occurred when decompiling this method (06009E4F)
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: 0x17001909 RID: 6409
// (get) Token: 0x06009E50 RID: 40528 RVA: 0x00246444 File Offset: 0x00244644
[Token(Token = "0x17001909")]
public virtual string AlgorithmName
{
[Token(Token = "0x6009E50")]
[Address(RVA = "0x217B770", Offset = "0x217A170", VA = "0x18217B770", Slot = "13")]
get
{
return "DSTU7564";
}
}
// Token: 0x06009E51 RID: 40529 RVA: 0x00246458 File Offset: 0x00244658
[Token(Token = "0x6009E51")]
[Address(RVA = "0x3C1C50", Offset = "0x3C0650", VA = "0x1803C1C50", Slot = "14")]
public virtual int GetDigestSize()
{
return this.hashSize;
}
// Token: 0x06009E52 RID: 40530 RVA: 0x0024646C File Offset: 0x0024466C
[Token(Token = "0x6009E52")]
[Address(RVA = "0x55D550", Offset = "0x55BF50", VA = "0x18055D550", Slot = "15")]
public virtual int GetByteLength()
{
return this.blockSize;
}
// Token: 0x06009E53 RID: 40531 RVA: 0x00246480 File Offset: 0x00244680
[Token(Token = "0x6009E53")]
[Address(RVA = "0x217B460", Offset = "0x2179E60", VA = "0x18217B460", 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: 0x06009E54 RID: 40532 RVA: 0x002464CC File Offset: 0x002446CC
[Token(Token = "0x6009E54")]
[Address(RVA = "0x2179A40", Offset = "0x2178440", VA = "0x182179A40", 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: 0x06009E55 RID: 40533 RVA: 0x00246520 File Offset: 0x00244720
[Token(Token = "0x6009E55")]
[Address(RVA = "0x2179CF0", Offset = "0x21786F0", VA = "0x182179CF0", 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: 0x06009E56 RID: 40534 RVA: 0x002466BC File Offset: 0x002448BC
[Token(Token = "0x6009E56")]
[Address(RVA = "0x217A590", Offset = "0x2178F90", VA = "0x18217A590", 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: 0x06009E57 RID: 40535 RVA: 0x00246714 File Offset: 0x00244914
[Token(Token = "0x6009E57")]
[Address(RVA = "0x217A270", Offset = "0x2178C70", VA = "0x18217A270", 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: 0x06009E58 RID: 40536 RVA: 0x002467F0 File Offset: 0x002449F0
[Token(Token = "0x6009E58")]
[Address(RVA = "0x217A1C0", Offset = "0x2178BC0", VA = "0x18217A1C0")]
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: 0x06009E59 RID: 40537 RVA: 0x0024683C File Offset: 0x00244A3C
[Token(Token = "0x6009E59")]
[Address(RVA = "0x217A4B0", Offset = "0x2178EB0", VA = "0x18217A4B0")]
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: 0x06009E5A RID: 40538 RVA: 0x00246888 File Offset: 0x00244A88
[Token(Token = "0x6009E5A")]
[Address(RVA = "0x2179FB0", Offset = "0x21789B0", VA = "0x182179FB0")]
private static ulong MixColumn(ulong c)
{
return c;
}
// Token: 0x06009E5B RID: 40539 RVA: 0x00246898 File Offset: 0x00244A98
[Token(Token = "0x6009E5B")]
[Address(RVA = "0x217A0F0", Offset = "0x2178AF0", VA = "0x18217A0F0")]
private void MixColumns(ulong[] s)
{
int num = 0;
if (this.S3 > num)
{
ulong num2 = Dstu7564Digest.MixColumn(s[num]);
num++;
s[0] = num2;
}
}
// Token: 0x06009E5C RID: 40540 RVA: 0x002468D0 File Offset: 0x00244AD0
[Token(Token = "0x6009E5C")]
[Address(RVA = "0x211C540", Offset = "0x211AF40", VA = "0x18211C540")]
private static ulong Rotate(int n, ulong x)
{
return x;
}
// Token: 0x06009E5D RID: 40541 RVA: 0x002468E0 File Offset: 0x00244AE0
[Token(Token = "0x6009E5D")]
[Address(RVA = "0x217A690", Offset = "0x2179090", VA = "0x18217A690")]
private void ShiftRows(ulong[] s)
{
/*
An exception occurred when decompiling this method (06009E5D)
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: 0x06009E5E RID: 40542 RVA: 0x00246A38 File Offset: 0x00244C38
[Token(Token = "0x6009E5E")]
[Address(RVA = "0x217B160", Offset = "0x2179B60", VA = "0x18217B160")]
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: 0x06009E5F RID: 40543 RVA: 0x00246A94 File Offset: 0x00244C94
[Token(Token = "0x6009E5F")]
[Address(RVA = "0x2179C90", Offset = "0x2178690", VA = "0x182179C90", Slot = "21")]
public virtual IMemoable Copy()
{
/*
An exception occurred when decompiling this method (06009E5F)
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: 0x06009E60 RID: 40544 RVA: 0x00246AA8 File Offset: 0x00244CA8
[Token(Token = "0x6009E60")]
[Address(RVA = "0x217A5F0", Offset = "0x2178FF0", VA = "0x18217A5F0", Slot = "22")]
public virtual void Reset(IMemoable other)
{
do
{
if (other == 0)
{
}
}
while (other == 0);
}
// Token: 0x06009E61 RID: 40545 RVA: 0x00246AC0 File Offset: 0x00244CC0
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x6009E61")]
[Address(RVA = "0x217B4E0", Offset = "0x2179EE0", VA = "0x18217B4E0")]
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: 0x0400681D RID: 26653
[Token(Token = "0x400681D")]
private const int NB_512 = 8;
// Token: 0x0400681E RID: 26654
[Token(Token = "0x400681E")]
private const int NB_1024 = 16;
// Token: 0x0400681F RID: 26655
[Token(Token = "0x400681F")]
private const int NR_512 = 10;
// Token: 0x04006820 RID: 26656
[Token(Token = "0x4006820")]
private const int NR_1024 = 14;
// Token: 0x04006821 RID: 26657
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006821")]
private int hashSize;
// Token: 0x04006822 RID: 26658
[global::Cpp2IlInjected.FieldOffset(Offset = "0x14")]
[Token(Token = "0x4006822")]
private int blockSize;
// Token: 0x04006823 RID: 26659
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006823")]
private int columns;
// Token: 0x04006824 RID: 26660
[global::Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
[Token(Token = "0x4006824")]
private int rounds;
// Token: 0x04006825 RID: 26661
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006825")]
private ulong[] state;
// Token: 0x04006826 RID: 26662
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x4006826")]
private ulong[] tempState1;
// Token: 0x04006827 RID: 26663
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x4006827")]
private ulong[] tempState2;
// Token: 0x04006828 RID: 26664
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x4006828")]
private ulong inputBlocks;
// Token: 0x04006829 RID: 26665
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x4006829")]
private int bufOff;
// Token: 0x0400682A RID: 26666
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x400682A")]
private byte[] buf;
// Token: 0x0400682B RID: 26667
[Token(Token = "0x400682B")]
private static readonly byte[] S0;
// Token: 0x0400682C RID: 26668
[Token(Token = "0x400682C")]
private static readonly byte[] S1;
// Token: 0x0400682D RID: 26669
[Token(Token = "0x400682D")]
private static readonly byte[] S2;
// Token: 0x0400682E RID: 26670
[Token(Token = "0x400682E")]
private static readonly byte[] S3;
}
}