using System; using BestHTTP.SecureProtocol.Org.BouncyCastle.Security; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls { // Token: 0x02001B10 RID: 6928 [Token(Token = "0x2001B10")] internal class CombinedHash : TlsHandshakeHash, IDigest { // Token: 0x0600AC3D RID: 44093 RVA: 0x00257AF4 File Offset: 0x00255CF4 [Token(Token = "0x600AC3D")] [Address(RVA = "0x18AC430", Offset = "0x18AB230", VA = "0x1818AC430")] internal CombinedHash() { this.SealHashAlgorithms(); IDigest digest; this.mMd5 = digest; IDigest digest2; this.mSha1 = digest2; } // Token: 0x0600AC3E RID: 44094 RVA: 0x00257B18 File Offset: 0x00255D18 [Token(Token = "0x600AC3E")] [Address(RVA = "0x18AC380", Offset = "0x18AB180", VA = "0x1818AC380")] internal CombinedHash(CombinedHash t) { this.SealHashAlgorithms(); TlsContext tlsContext = t.mContext; this.mContext = tlsContext; IDigest digest = t.mMd5; IDigest digest2; this.mMd5 = digest2; IDigest digest3 = t.mSha1; IDigest digest4; this.mSha1 = digest4; } // Token: 0x0600AC3F RID: 44095 RVA: 0x00257B5C File Offset: 0x00255D5C [Token(Token = "0x600AC3F")] [Address(RVA = "0x3F7200", Offset = "0x3F6000", VA = "0x1803F7200", Slot = "18")] public virtual void Init(TlsContext context) { this.mContext = context; } // Token: 0x0600AC40 RID: 44096 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600AC40")] [Address(RVA = "0x434BD0", Offset = "0x4339D0", VA = "0x180434BD0", Slot = "19")] public virtual TlsHandshakeHash NotifyPrfDetermined() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600AC41 RID: 44097 RVA: 0x00257B70 File Offset: 0x00255D70 [Token(Token = "0x600AC41")] [Address(RVA = "0x18AC2A0", Offset = "0x18AB0A0", VA = "0x1818AC2A0", Slot = "20")] public virtual void TrackHashAlgorithm(byte hashAlgorithm) { /* An exception occurred when decompiling this method (0600AC41) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CombinedHash::TrackHashAlgorithm(System.Byte) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:InvalidOperationException(var_0_0A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("CombinedHash only supports calculating the legacy PRF for handshake hash"))) } 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: 0x0600AC42 RID: 44098 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600AC42")] [Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "21")] public virtual void SealHashAlgorithms() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600AC43 RID: 44099 RVA: 0x00257B88 File Offset: 0x00255D88 [Token(Token = "0x600AC43")] [Address(RVA = "0x18AC240", Offset = "0x18AB040", VA = "0x1818AC240", Slot = "22")] public virtual TlsHandshakeHash StopTracking() { /* An exception occurred when decompiling this method (0600AC43) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsHandshakeHash BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CombinedHash::StopTracking() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:CombinedHash(var_0_06, newobj:CombinedHash(CombinedHash::.ctor, ldloc:CombinedHash(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 1660 */; } // Token: 0x0600AC44 RID: 44100 RVA: 0x00257B9C File Offset: 0x00255D9C [Token(Token = "0x600AC44")] [Address(RVA = "0x18ABE70", Offset = "0x18AAC70", VA = "0x1818ABE70", Slot = "23")] public virtual IDigest ForkPrfHash() { /* An exception occurred when decompiling this method (0600AC44) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CombinedHash::ForkPrfHash() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:CombinedHash(var_0_06, newobj:CombinedHash(CombinedHash::.ctor, ldloc:CombinedHash(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 1660 */; } // Token: 0x0600AC45 RID: 44101 RVA: 0x00257BB0 File Offset: 0x00255DB0 [Token(Token = "0x600AC45")] [Address(RVA = "0x18ABFF0", Offset = "0x18AADF0", VA = "0x1818ABFF0", Slot = "24")] public virtual byte[] GetFinalHash(byte hashAlgorithm) { /* An exception occurred when decompiling this method (0600AC45) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CombinedHash::GetFinalHash(System.Byte) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:InvalidOperationException(var_0_0A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("CombinedHash doesn't support multiple hashes"))) } 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: 0x17001B57 RID: 6999 // (get) Token: 0x0600AC46 RID: 44102 RVA: 0x00257BC8 File Offset: 0x00255DC8 [Token(Token = "0x17001B57")] public virtual string AlgorithmName { [Token(Token = "0x600AC46")] [Address(RVA = "0x18AC4A0", Offset = "0x18AB2A0", VA = "0x1818AC4A0", Slot = "25")] get { IDigest digest = this.mMd5; IDigest digest2 = this.mSha1; string text; return text; } } // Token: 0x0600AC47 RID: 44103 RVA: 0x00257BEC File Offset: 0x00255DEC [Token(Token = "0x600AC47")] [Address(RVA = "0x18ABED0", Offset = "0x18AACD0", VA = "0x1818ABED0", Slot = "26")] public virtual int GetByteLength() { IDigest digest = this.mMd5; IDigest digest2 = this.mSha1; int num; return num; } // Token: 0x0600AC48 RID: 44104 RVA: 0x00257C10 File Offset: 0x00255E10 [Token(Token = "0x600AC48")] [Address(RVA = "0x18ABF70", Offset = "0x18AAD70", VA = "0x1818ABF70", Slot = "27")] public virtual int GetDigestSize() { IDigest digest = this.mMd5; IDigest digest2 = this.mSha1; throw new NullReferenceException(); } // Token: 0x0600AC49 RID: 44105 RVA: 0x00257C30 File Offset: 0x00255E30 [Token(Token = "0x600AC49")] [Address(RVA = "0x18AC300", Offset = "0x18AB100", VA = "0x1818AC300", Slot = "28")] public virtual void Update(byte input) { IDigest digest = this.mMd5; IDigest digest2 = this.mSha1; throw new NullReferenceException(); } // Token: 0x0600AC4A RID: 44106 RVA: 0x00257C50 File Offset: 0x00255E50 [Token(Token = "0x600AC4A")] [Address(RVA = "0x18ABC50", Offset = "0x18AAA50", VA = "0x1818ABC50", Slot = "29")] public virtual void BlockUpdate(byte[] input, int inOff, int len) { IDigest digest = this.mMd5; IDigest digest2 = this.mSha1; } // Token: 0x0600AC4B RID: 44107 RVA: 0x00257C74 File Offset: 0x00255E74 [Token(Token = "0x600AC4B")] [Address(RVA = "0x18ABCF0", Offset = "0x18AAAF0", VA = "0x1818ABCF0", Slot = "30")] public virtual int DoFinal(byte[] output, int outOff) { TlsContext tlsContext = this.mContext; if (tlsContext != 0 && TlsUtilities.IsSsl(tlsContext)) { this.Reset(); this.Reset(); } IDigest digest = this.mMd5; IDigest digest2 = this.mSha1; throw new NullReferenceException(); } // Token: 0x0600AC4C RID: 44108 RVA: 0x00257CB8 File Offset: 0x00255EB8 [Token(Token = "0x600AC4C")] [Address(RVA = "0x18AC050", Offset = "0x18AAE50", VA = "0x1818AC050", Slot = "31")] public virtual void Reset() { IDigest digest = this.mMd5; IDigest digest2 = this.mSha1; throw new NullReferenceException(); } // Token: 0x0600AC4D RID: 44109 RVA: 0x00257CD8 File Offset: 0x00255ED8 [Token(Token = "0x600AC4D")] [Address(RVA = "0x18AC0C0", Offset = "0x18AAEC0", VA = "0x1818AC0C0", Slot = "32")] protected virtual void Ssl3Complete(IDigest d, byte[] ipad, byte[] opad, int padLength) { TlsContext tlsContext = this.mContext; IDigest digest = this.mMd5; byte[] array = DigestUtilities.DoFinal(d); IDigest digest2 = this.mMd5; int length = array.Length; throw new NullReferenceException(); } // Token: 0x04006E3C RID: 28220 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4006E3C")] protected TlsContext mContext; // Token: 0x04006E3D RID: 28221 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4006E3D")] protected IDigest mMd5; // Token: 0x04006E3E RID: 28222 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4006E3E")] protected IDigest mSha1; } }