Files
27Aug2021-Cpp2IL-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Crypto/Tls/DeferredHash.cs
T
niko c12fbe3fc6 m
2026-04-12 16:51:38 +02:00

454 lines
23 KiB
C#

using System;
using System.Collections;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
{
// Token: 0x02001BFD RID: 7165
[Token(Token = "0x2001BFD")]
internal class DeferredHash : TlsHandshakeHash, IDigest
{
// Token: 0x0600B072 RID: 45170 RVA: 0x00261A48 File Offset: 0x0025FC48
[Token(Token = "0x600B072")]
[Address(RVA = "0x2337EB0", Offset = "0x2336EB0", VA = "0x182337EB0")]
internal DeferredHash()
{
DigestInputBuffer digestInputBuffer = new DigestInputBuffer();
this.mBuf = digestInputBuffer;
IDictionary dictionary = Platform.CreateHashtable();
this.mHashes = dictionary;
this.mPrfHashAlgorithm = (int)((ulong)4294967295L);
}
// Token: 0x0600B073 RID: 45171 RVA: 0x00261A88 File Offset: 0x0025FC88
[Token(Token = "0x600B073")]
[Address(RVA = "0x2337DE0", Offset = "0x2336DE0", VA = "0x182337DE0")]
private DeferredHash(byte prfHashAlgorithm, IDigest prfHash)
{
this.mBuf = (ulong)0L;
IDictionary dictionary = Platform.CreateHashtable();
this.mHashes = dictionary;
this.mPrfHashAlgorithm = (int)prfHashAlgorithm;
}
// Token: 0x0600B074 RID: 45172 RVA: 0x00261AC0 File Offset: 0x0025FCC0
[Token(Token = "0x600B074")]
[Address(RVA = "0x415800", Offset = "0x414800", VA = "0x180415800", Slot = "18")]
public virtual void Init(TlsContext context)
{
this.mContext = context;
}
// Token: 0x0600B075 RID: 45173 RVA: 0x00261AD4 File Offset: 0x0025FCD4
[Token(Token = "0x600B075")]
[Address(RVA = "0x23374D0", Offset = "0x23364D0", VA = "0x1823374D0", Slot = "19")]
public virtual TlsHandshakeHash NotifyPrfDetermined()
{
TlsContext tlsContext = this.mContext;
byte b;
this.mPrfHashAlgorithm = (int)b;
this.CheckStopBuffering();
CombinedHash combinedHash;
combinedHash.SealHashAlgorithms();
IDigest digest;
combinedHash.mMd5 = digest;
IDigest digest2;
combinedHash.mSha1 = digest2;
combinedHash.Reset();
this.mBuf.UpdateDigest(combinedHash);
string algorithmName = ((IDigest)combinedHash).AlgorithmName;
throw new NullReferenceException();
}
// Token: 0x0600B076 RID: 45174 RVA: 0x00261B2C File Offset: 0x0025FD2C
[Token(Token = "0x600B076")]
[Address(RVA = "0x2337AB0", Offset = "0x2336AB0", VA = "0x182337AB0", Slot = "20")]
public virtual void TrackHashAlgorithm(byte hashAlgorithm)
{
/*
An exception occurred when decompiling this method (0600B076)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DeferredHash::TrackHashAlgorithm(System.Byte)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_13:
stloc:InvalidOperationException(var_1_1D, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Too late to track more hash algorithms")))
}
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: 0x0600B077 RID: 45175 RVA: 0x00261B58 File Offset: 0x0025FD58
[Token(Token = "0x600B077")]
[Address(RVA = "0x12FBB00", Offset = "0x12FAB00", VA = "0x1812FBB00", Slot = "21")]
public virtual void SealHashAlgorithms()
{
string algorithmName = ((IDigest)this).AlgorithmName;
}
// Token: 0x0600B078 RID: 45176 RVA: 0x00261B6C File Offset: 0x0025FD6C
[Token(Token = "0x600B078")]
[Address(RVA = "0x23378F0", Offset = "0x23368F0", VA = "0x1823378F0", Slot = "22")]
public virtual TlsHandshakeHash StopTracking()
{
int num = this.mPrfHashAlgorithm;
if (this.mHashes == 0)
{
}
DigestInputBuffer digestInputBuffer = this.mBuf;
if (digestInputBuffer != 0)
{
IDigest digest;
digestInputBuffer.UpdateDigest(digest);
}
DeferredHash deferredHash = new DeferredHash();
deferredHash.mBuf = (ulong)0L;
IDictionary dictionary = Platform.CreateHashtable();
deferredHash.mHashes = dictionary;
deferredHash.mPrfHashAlgorithm = num;
deferredHash.Reset();
throw new NullReferenceException();
}
// Token: 0x0600B079 RID: 45177 RVA: 0x00261BD0 File Offset: 0x0025FDD0
[Token(Token = "0x600B079")]
[Address(RVA = "0x2337130", Offset = "0x2336130", VA = "0x182337130", Slot = "23")]
public virtual IDigest ForkPrfHash()
{
this.Reset();
int num = this.mPrfHashAlgorithm;
if (this.mBuf == (ulong)0L)
{
IDictionary dictionary = this.mHashes;
IDigest digest;
return digest;
}
IDigest digest2 = TlsUtilities.CreateHash((byte)num);
this.mBuf.UpdateDigest(digest2);
return digest2;
}
// Token: 0x0600B07A RID: 45178 RVA: 0x00261C18 File Offset: 0x0025FE18
[Token(Token = "0x600B07A")]
[Address(RVA = "0x2337350", Offset = "0x2336350", VA = "0x182337350", Slot = "24")]
public virtual byte[] GetFinalHash(byte hashAlgorithm)
{
IDictionary dictionary = this.mHashes;
DigestInputBuffer digestInputBuffer = this.mBuf;
IDigest digest;
if (digestInputBuffer != 0)
{
digestInputBuffer.UpdateDigest(digest);
}
return DigestUtilities.DoFinal(digest);
}
// Token: 0x17001BFA RID: 7162
// (get) Token: 0x0600B07B RID: 45179 RVA: 0x00261C68 File Offset: 0x0025FE68
[Token(Token = "0x17001BFA")]
public virtual string AlgorithmName
{
[Token(Token = "0x600B07B")]
[Address(RVA = "0x2337F40", Offset = "0x2336F40", VA = "0x182337F40", Slot = "25")]
get
{
/*
An exception occurred when decompiling this method (0600B07B)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.String BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DeferredHash::get_AlgorithmName()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:InvalidOperationException(var_0_0A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Use Fork() to get a definite IDigest")))
}
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: 0x0600B07C RID: 45180 RVA: 0x00261C80 File Offset: 0x0025FE80
[Token(Token = "0x600B07C")]
[Address(RVA = "0x2337290", Offset = "0x2336290", VA = "0x182337290", Slot = "26")]
public virtual int GetByteLength()
{
/*
An exception occurred when decompiling this method (0600B07C)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DeferredHash::GetByteLength()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:InvalidOperationException(var_0_0A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Use Fork() to get a definite IDigest")))
}
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: 0x0600B07D RID: 45181 RVA: 0x00261C98 File Offset: 0x0025FE98
[Token(Token = "0x600B07D")]
[Address(RVA = "0x23372F0", Offset = "0x23362F0", VA = "0x1823372F0", Slot = "27")]
public virtual int GetDigestSize()
{
/*
An exception occurred when decompiling this method (0600B07D)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DeferredHash::GetDigestSize()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:InvalidOperationException(var_0_0A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Use Fork() to get a definite IDigest")))
}
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: 0x0600B07E RID: 45182 RVA: 0x00261CB0 File Offset: 0x0025FEB0
[Token(Token = "0x600B07E")]
[Address(RVA = "0x2337B40", Offset = "0x2336B40", VA = "0x182337B40", Slot = "28")]
public virtual void Update(byte input)
{
int num;
do
{
num = 0;
if (this.mBuf != 0)
{
break;
}
IDictionary dictionary = this.mHashes;
num += num;
num++;
if (num == 0 || num == 0)
{
goto IL_49;
}
uint num2;
if (num < (int)num2)
{
num += num;
num++;
}
num++;
num += 19;
num += 3;
num += 19;
if (num != 0)
{
}
}
while (num != 0);
return;
IL_49:
throw new NullReferenceException();
}
// Token: 0x0600B07F RID: 45183 RVA: 0x00261D14 File Offset: 0x0025FF14
[Token(Token = "0x600B07F")]
[Address(RVA = "0x2336A30", Offset = "0x2335A30", VA = "0x182336A30", Slot = "29")]
public virtual void BlockUpdate(byte[] input, int inOff, int len)
{
int num;
DigestInputBuffer digestInputBuffer;
do
{
num = 0;
digestInputBuffer = this.mBuf;
if (digestInputBuffer != 0)
{
break;
}
IDictionary dictionary = this.mHashes;
num += num;
num++;
uint num2;
if (num < (int)num2)
{
num += num;
num++;
}
num++;
num += 19;
num += 4;
num += 19;
if (num != 0)
{
}
}
while (num != 0);
int num3 = digestInputBuffer.ReadByte();
}
// Token: 0x0600B080 RID: 45184 RVA: 0x00261D78 File Offset: 0x0025FF78
[Token(Token = "0x600B080")]
[Address(RVA = "0x23370D0", Offset = "0x23360D0", VA = "0x1823370D0", Slot = "30")]
public virtual int DoFinal(byte[] output, int outOff)
{
/*
An exception occurred when decompiling this method (0600B080)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DeferredHash::DoFinal(System.Byte[],System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:InvalidOperationException(var_0_0A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Use Fork() to get a definite IDigest")))
}
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: 0x0600B081 RID: 45185 RVA: 0x00261D90 File Offset: 0x0025FF90
[Token(Token = "0x600B081")]
[Address(RVA = "0x2337650", Offset = "0x2336650", VA = "0x182337650", Slot = "31")]
public virtual void Reset()
{
int num;
do
{
num = 0;
if (this.mBuf != 0)
{
break;
}
IDictionary dictionary = this.mHashes;
num += num;
num++;
if (num == 0 || num == 0)
{
goto IL_49;
}
uint num2;
if (num < (int)num2)
{
num += num;
num++;
}
num++;
num += 19;
num += 6;
num += 19;
if (num != 0)
{
}
}
while (num != 0);
return;
IL_49:
throw new NullReferenceException();
}
// Token: 0x0600B082 RID: 45186 RVA: 0x00261DF4 File Offset: 0x0025FFF4
[Token(Token = "0x600B082")]
[Address(RVA = "0x2336CF0", Offset = "0x2335CF0", VA = "0x182336CF0", Slot = "32")]
protected virtual void CheckStopBuffering()
{
int num;
int num2;
do
{
num = 0;
if (this.mBuf == num)
{
return;
}
IDictionary dictionary = this.mHashes;
IDictionary dictionary2 = this.mHashes;
num += num;
num++;
DigestInputBuffer digestInputBuffer = this.mBuf;
DigestInputBuffer.DigStream digStream;
digStream.d = 0;
Streams.WriteBufTo(digestInputBuffer, digStream);
num2 = 0;
if (digStream != 0)
{
}
}
while (num != 0);
this.mBuf = num2;
}
// Token: 0x0600B083 RID: 45187 RVA: 0x00261E60 File Offset: 0x00260060
[Token(Token = "0x600B083")]
[Address(RVA = "0x2336F70", Offset = "0x2335F70", VA = "0x182336F70", Slot = "33")]
protected virtual void CheckTrackingHash(byte hashAlgorithm)
{
IDictionary dictionary = this.mHashes;
int num = 0;
num += num;
num++;
IDigest digest = TlsUtilities.CreateHash(hashAlgorithm);
IDictionary dictionary2 = this.mHashes;
}
// Token: 0x04007014 RID: 28692
[Token(Token = "0x4007014")]
protected const int BUFFERING_HASH_LIMIT = 4;
// Token: 0x04007015 RID: 28693
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4007015")]
protected TlsContext mContext;
// Token: 0x04007016 RID: 28694
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4007016")]
private DigestInputBuffer mBuf;
// Token: 0x04007017 RID: 28695
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4007017")]
private IDictionary mHashes;
// Token: 0x04007018 RID: 28696
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4007018")]
private int mPrfHashAlgorithm;
}
}