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; } }