using System; using System.Collections; using System.Runtime.InteropServices; using BestHTTP.SecureProtocol.Org.BouncyCastle.Security; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls { // Token: 0x02001540 RID: 5440 [Token(Token = "0x2001540")] [StructLayout(3)] internal class DeferredHash : TlsHandshakeHash, IDigest { // Token: 0x060090CA RID: 37066 RVA: 0x00201320 File Offset: 0x001FF520 [Token(Token = "0x60090CA")] [Address(RVA = "0x1E7DC50", Offset = "0x1E7C650", VA = "0x181E7DC50")] internal DeferredHash() { DigestInputBuffer digestInputBuffer = new DigestInputBuffer(); this.mBuf = digestInputBuffer; IDictionary dictionary = Platform.CreateHashtable(); this.mHashes = dictionary; this.mPrfHashAlgorithm = (int)((ulong)4294967295L); } // Token: 0x060090CB RID: 37067 RVA: 0x00201360 File Offset: 0x001FF560 [Token(Token = "0x60090CB")] [Address(RVA = "0x1E7DB80", Offset = "0x1E7C580", VA = "0x181E7DB80")] private DeferredHash(byte prfHashAlgorithm, IDigest prfHash) { this.mBuf = (ulong)0L; IDictionary dictionary = Platform.CreateHashtable(); this.mHashes = dictionary; this.mPrfHashAlgorithm = (int)prfHashAlgorithm; } // Token: 0x060090CC RID: 37068 RVA: 0x00201398 File Offset: 0x001FF598 [Token(Token = "0x60090CC")] [Address(RVA = "0x3C39B0", Offset = "0x3C23B0", VA = "0x1803C39B0", Slot = "18")] public virtual void Init(TlsContext context) { this.mContext = context; } // Token: 0x060090CD RID: 37069 RVA: 0x002013AC File Offset: 0x001FF5AC [Token(Token = "0x60090CD")] [Address(RVA = "0x1E7D210", Offset = "0x1E7BC10", VA = "0x181E7D210", 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: 0x060090CE RID: 37070 RVA: 0x00201404 File Offset: 0x001FF604 [Token(Token = "0x60090CE")] [Address(RVA = "0x1E7D820", Offset = "0x1E7C220", VA = "0x181E7D820", Slot = "20")] public virtual void TrackHashAlgorithm(byte hashAlgorithm) { /* An exception occurred when decompiling this method (060090CE) 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: 0x060090CF RID: 37071 RVA: 0x00201430 File Offset: 0x001FF630 [Token(Token = "0x60090CF")] [Address(RVA = "0x1E7D640", Offset = "0x1E7C040", VA = "0x181E7D640", Slot = "21")] public virtual void SealHashAlgorithms() { string algorithmName = ((IDigest)this).AlgorithmName; } // Token: 0x060090D0 RID: 37072 RVA: 0x00201444 File Offset: 0x001FF644 [Token(Token = "0x60090D0")] [Address(RVA = "0x1E7D660", Offset = "0x1E7C060", VA = "0x181E7D660", 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: 0x060090D1 RID: 37073 RVA: 0x002014A8 File Offset: 0x001FF6A8 [Token(Token = "0x60090D1")] [Address(RVA = "0x1E7CE70", Offset = "0x1E7B870", VA = "0x181E7CE70", 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: 0x060090D2 RID: 37074 RVA: 0x002014F0 File Offset: 0x001FF6F0 [Token(Token = "0x60090D2")] [Address(RVA = "0x1E7D090", Offset = "0x1E7BA90", VA = "0x181E7D090", 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: 0x1700175C RID: 5980 // (get) Token: 0x060090D3 RID: 37075 RVA: 0x00201540 File Offset: 0x001FF740 [Token(Token = "0x1700175C")] public virtual string AlgorithmName { [Token(Token = "0x60090D3")] [Address(RVA = "0x1E7DCE0", Offset = "0x1E7C6E0", VA = "0x181E7DCE0", Slot = "25")] get { /* An exception occurred when decompiling this method (060090D3) 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: 0x060090D4 RID: 37076 RVA: 0x00201558 File Offset: 0x001FF758 [Token(Token = "0x60090D4")] [Address(RVA = "0x1E7CFD0", Offset = "0x1E7B9D0", VA = "0x181E7CFD0", Slot = "26")] public virtual int GetByteLength() { /* An exception occurred when decompiling this method (060090D4) 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: 0x060090D5 RID: 37077 RVA: 0x00201570 File Offset: 0x001FF770 [Token(Token = "0x60090D5")] [Address(RVA = "0x1E7D030", Offset = "0x1E7BA30", VA = "0x181E7D030", Slot = "27")] public virtual int GetDigestSize() { /* An exception occurred when decompiling this method (060090D5) 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: 0x060090D6 RID: 37078 RVA: 0x00201588 File Offset: 0x001FF788 [Token(Token = "0x60090D6")] [Address(RVA = "0x1E7D8B0", Offset = "0x1E7C2B0", VA = "0x181E7D8B0", 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++; uint num2; if (num < (int)num2) { num += num; num++; } num++; num += 19; num += 3; num += 19; if (num != 0) { } if (num != -1) { } } while (num != 0); } // Token: 0x060090D7 RID: 37079 RVA: 0x002015E8 File Offset: 0x001FF7E8 [Token(Token = "0x60090D7")] [Address(RVA = "0x1E7C720", Offset = "0x1E7B120", VA = "0x181E7C720", 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) { } if (num != -1) { } } while (num != 0); int num3 = digestInputBuffer.ReadByte(); } // Token: 0x060090D8 RID: 37080 RVA: 0x00201650 File Offset: 0x001FF850 [Token(Token = "0x60090D8")] [Address(RVA = "0x1E7CE10", Offset = "0x1E7B810", VA = "0x181E7CE10", Slot = "30")] public virtual int DoFinal(byte[] output, int outOff) { /* An exception occurred when decompiling this method (060090D8) 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: 0x060090D9 RID: 37081 RVA: 0x00201668 File Offset: 0x001FF868 [Token(Token = "0x60090D9")] [Address(RVA = "0x1E7D390", Offset = "0x1E7BD90", VA = "0x181E7D390", Slot = "31")] public virtual void Reset() { int num; do { num = 0; if (this.mBuf != 0) { break; } IDictionary dictionary = this.mHashes; num += num; num++; uint num2; if (num < (int)num2) { num += num; num++; } num++; num += 19; num += 6; num += 19; if (num != 0) { } if (num != -1) { } } while (num != 0); } // Token: 0x060090DA RID: 37082 RVA: 0x002016C8 File Offset: 0x001FF8C8 [Token(Token = "0x60090DA")] [Address(RVA = "0x1E7CA10", Offset = "0x1E7B410", VA = "0x181E7CA10", 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; num2 = 0; if (digStream != 0) { } if (num != -1) { } } while (num != 0); this.mBuf = num2; } // Token: 0x060090DB RID: 37083 RVA: 0x00201730 File Offset: 0x001FF930 [Token(Token = "0x60090DB")] [Address(RVA = "0x1E7CCB0", Offset = "0x1E7B6B0", VA = "0x181E7CCB0", 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: 0x04006018 RID: 24600 [Token(Token = "0x4006018")] protected const int BUFFERING_HASH_LIMIT = 4; // Token: 0x04006019 RID: 24601 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x4006019")] protected TlsContext mContext; // Token: 0x0400601A RID: 24602 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x400601A")] private DigestInputBuffer mBuf; // Token: 0x0400601B RID: 24603 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x400601B")] private IDictionary mHashes; // Token: 0x0400601C RID: 24604 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x400601C")] private int mPrfHashAlgorithm; } }