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: 0x02001B1D RID: 6941 [Token(Token = "0x2001B1D")] internal class DeferredHash : TlsHandshakeHash, IDigest { // Token: 0x0600ACA4 RID: 44196 RVA: 0x00258954 File Offset: 0x00256B54 [Token(Token = "0x600ACA4")] [Address(RVA = "0x18B1180", Offset = "0x18AFF80", VA = "0x1818B1180")] internal DeferredHash() { DigestInputBuffer digestInputBuffer = new DigestInputBuffer(); this.mBuf = digestInputBuffer; IDictionary dictionary = Platform.CreateHashtable(); this.mHashes = dictionary; this.mPrfHashAlgorithm = (int)((ulong)4294967295L); } // Token: 0x0600ACA5 RID: 44197 RVA: 0x00258994 File Offset: 0x00256B94 [Token(Token = "0x600ACA5")] [Address(RVA = "0x18B10B0", Offset = "0x18AFEB0", VA = "0x1818B10B0")] private DeferredHash(byte prfHashAlgorithm, IDigest prfHash) { this.mBuf = (ulong)0L; IDictionary dictionary = Platform.CreateHashtable(); this.mHashes = dictionary; this.mPrfHashAlgorithm = (int)prfHashAlgorithm; } // Token: 0x0600ACA6 RID: 44198 RVA: 0x002589CC File Offset: 0x00256BCC [Token(Token = "0x600ACA6")] [Address(RVA = "0x3F7200", Offset = "0x3F6000", VA = "0x1803F7200", Slot = "18")] public virtual void Init(TlsContext context) { this.mContext = context; } // Token: 0x0600ACA7 RID: 44199 RVA: 0x002589E0 File Offset: 0x00256BE0 [Token(Token = "0x600ACA7")] [Address(RVA = "0x18B0780", Offset = "0x18AF580", VA = "0x1818B0780", 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: 0x0600ACA8 RID: 44200 RVA: 0x00258A38 File Offset: 0x00256C38 [Token(Token = "0x600ACA8")] [Address(RVA = "0x18B0D80", Offset = "0x18AFB80", VA = "0x1818B0D80", Slot = "20")] public virtual void TrackHashAlgorithm(byte hashAlgorithm) { /* An exception occurred when decompiling this method (0600ACA8) 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 1660 */; } // Token: 0x0600ACA9 RID: 44201 RVA: 0x00258A64 File Offset: 0x00256C64 [Token(Token = "0x600ACA9")] [Address(RVA = "0x18B0BA0", Offset = "0x18AF9A0", VA = "0x1818B0BA0", Slot = "21")] public virtual void SealHashAlgorithms() { string algorithmName = ((IDigest)this).AlgorithmName; } // Token: 0x0600ACAA RID: 44202 RVA: 0x00258A78 File Offset: 0x00256C78 [Token(Token = "0x600ACAA")] [Address(RVA = "0x18B0BC0", Offset = "0x18AF9C0", VA = "0x1818B0BC0", 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: 0x0600ACAB RID: 44203 RVA: 0x00258ADC File Offset: 0x00256CDC [Token(Token = "0x600ACAB")] [Address(RVA = "0x18B03E0", Offset = "0x18AF1E0", VA = "0x1818B03E0", 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: 0x0600ACAC RID: 44204 RVA: 0x00258B24 File Offset: 0x00256D24 [Token(Token = "0x600ACAC")] [Address(RVA = "0x18B0600", Offset = "0x18AF400", VA = "0x1818B0600", 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: 0x17001B5D RID: 7005 // (get) Token: 0x0600ACAD RID: 44205 RVA: 0x00258B74 File Offset: 0x00256D74 [Token(Token = "0x17001B5D")] public virtual string AlgorithmName { [Token(Token = "0x600ACAD")] [Address(RVA = "0x18B1210", Offset = "0x18B0010", VA = "0x1818B1210", Slot = "25")] get { /* An exception occurred when decompiling this method (0600ACAD) 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 1660 */; } } // Token: 0x0600ACAE RID: 44206 RVA: 0x00258B8C File Offset: 0x00256D8C [Token(Token = "0x600ACAE")] [Address(RVA = "0x18B0540", Offset = "0x18AF340", VA = "0x1818B0540", Slot = "26")] public virtual int GetByteLength() { /* An exception occurred when decompiling this method (0600ACAE) 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 1660 */; } // Token: 0x0600ACAF RID: 44207 RVA: 0x00258BA4 File Offset: 0x00256DA4 [Token(Token = "0x600ACAF")] [Address(RVA = "0x18B05A0", Offset = "0x18AF3A0", VA = "0x1818B05A0", Slot = "27")] public virtual int GetDigestSize() { /* An exception occurred when decompiling this method (0600ACAF) 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 1660 */; } // Token: 0x0600ACB0 RID: 44208 RVA: 0x00258BBC File Offset: 0x00256DBC [Token(Token = "0x600ACB0")] [Address(RVA = "0x18B0E10", Offset = "0x18AFC10", VA = "0x1818B0E10", 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: 0x0600ACB1 RID: 44209 RVA: 0x00258C20 File Offset: 0x00256E20 [Token(Token = "0x600ACB1")] [Address(RVA = "0x18AFCE0", Offset = "0x18AEAE0", VA = "0x1818AFCE0", 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: 0x0600ACB2 RID: 44210 RVA: 0x00258C84 File Offset: 0x00256E84 [Token(Token = "0x600ACB2")] [Address(RVA = "0x18B0380", Offset = "0x18AF180", VA = "0x1818B0380", Slot = "30")] public virtual int DoFinal(byte[] output, int outOff) { /* An exception occurred when decompiling this method (0600ACB2) 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 1660 */; } // Token: 0x0600ACB3 RID: 44211 RVA: 0x00258C9C File Offset: 0x00256E9C [Token(Token = "0x600ACB3")] [Address(RVA = "0x18B0900", Offset = "0x18AF700", VA = "0x1818B0900", 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: 0x0600ACB4 RID: 44212 RVA: 0x00258D00 File Offset: 0x00256F00 [Token(Token = "0x600ACB4")] [Address(RVA = "0x18AFFA0", Offset = "0x18AEDA0", VA = "0x1818AFFA0", 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: 0x0600ACB5 RID: 44213 RVA: 0x00258D6C File Offset: 0x00256F6C [Token(Token = "0x600ACB5")] [Address(RVA = "0x18B0220", Offset = "0x18AF020", VA = "0x1818B0220", 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: 0x04006E5B RID: 28251 [Token(Token = "0x4006E5B")] protected const int BUFFERING_HASH_LIMIT = 4; // Token: 0x04006E5C RID: 28252 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4006E5C")] protected TlsContext mContext; // Token: 0x04006E5D RID: 28253 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4006E5D")] private DigestInputBuffer mBuf; // Token: 0x04006E5E RID: 28254 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4006E5E")] private IDictionary mHashes; // Token: 0x04006E5F RID: 28255 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4006E5F")] private int mPrfHashAlgorithm; } }