using System; using BestHTTP.SecureProtocol.Org.BouncyCastle.Security; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls { // Token: 0x02001BF0 RID: 7152 [Token(Token = "0x2001BF0")] internal class CombinedHash : TlsHandshakeHash, IDigest { // Token: 0x0600B00B RID: 45067 RVA: 0x00260B8C File Offset: 0x0025ED8C [Token(Token = "0x600B00B")] [Address(RVA = "0x2333020", Offset = "0x2332020", VA = "0x182333020")] internal CombinedHash() { this.SealHashAlgorithms(); IDigest digest; this.mMd5 = digest; IDigest digest2; this.mSha1 = digest2; } // Token: 0x0600B00C RID: 45068 RVA: 0x00260BB0 File Offset: 0x0025EDB0 [Token(Token = "0x600B00C")] [Address(RVA = "0x2332F70", Offset = "0x2331F70", VA = "0x182332F70")] 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: 0x0600B00D RID: 45069 RVA: 0x00260BF4 File Offset: 0x0025EDF4 [Token(Token = "0x600B00D")] [Address(RVA = "0x415800", Offset = "0x414800", VA = "0x180415800", Slot = "18")] public virtual void Init(TlsContext context) { this.mContext = context; } // Token: 0x0600B00E RID: 45070 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600B00E")] [Address(RVA = "0x4A65C0", Offset = "0x4A55C0", VA = "0x1804A65C0", Slot = "19")] public virtual TlsHandshakeHash NotifyPrfDetermined() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600B00F RID: 45071 RVA: 0x00260C08 File Offset: 0x0025EE08 [Token(Token = "0x600B00F")] [Address(RVA = "0x2332E90", Offset = "0x2331E90", VA = "0x182332E90", Slot = "20")] public virtual void TrackHashAlgorithm(byte hashAlgorithm) { /* An exception occurred when decompiling this method (0600B00F) 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 1663 */; } // Token: 0x0600B010 RID: 45072 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600B010")] [Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "21")] public virtual void SealHashAlgorithms() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600B011 RID: 45073 RVA: 0x00260C20 File Offset: 0x0025EE20 [Token(Token = "0x600B011")] [Address(RVA = "0x2332E30", Offset = "0x2331E30", VA = "0x182332E30", Slot = "22")] public virtual TlsHandshakeHash StopTracking() { /* An exception occurred when decompiling this method (0600B011) 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 1663 */; } // Token: 0x0600B012 RID: 45074 RVA: 0x00260C34 File Offset: 0x0025EE34 [Token(Token = "0x600B012")] [Address(RVA = "0x2332A60", Offset = "0x2331A60", VA = "0x182332A60", Slot = "23")] public virtual IDigest ForkPrfHash() { /* An exception occurred when decompiling this method (0600B012) 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 1663 */; } // Token: 0x0600B013 RID: 45075 RVA: 0x00260C48 File Offset: 0x0025EE48 [Token(Token = "0x600B013")] [Address(RVA = "0x2332BE0", Offset = "0x2331BE0", VA = "0x182332BE0", Slot = "24")] public virtual byte[] GetFinalHash(byte hashAlgorithm) { /* An exception occurred when decompiling this method (0600B013) 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 1663 */; } // Token: 0x17001BF4 RID: 7156 // (get) Token: 0x0600B014 RID: 45076 RVA: 0x00260C60 File Offset: 0x0025EE60 [Token(Token = "0x17001BF4")] public virtual string AlgorithmName { [Token(Token = "0x600B014")] [Address(RVA = "0x2333090", Offset = "0x2332090", VA = "0x182333090", Slot = "25")] get { IDigest digest = this.mMd5; IDigest digest2 = this.mSha1; string text; return text; } } // Token: 0x0600B015 RID: 45077 RVA: 0x00260C84 File Offset: 0x0025EE84 [Token(Token = "0x600B015")] [Address(RVA = "0x2332AC0", Offset = "0x2331AC0", VA = "0x182332AC0", Slot = "26")] public virtual int GetByteLength() { IDigest digest = this.mMd5; IDigest digest2 = this.mSha1; int num; return num; } // Token: 0x0600B016 RID: 45078 RVA: 0x00260CA8 File Offset: 0x0025EEA8 [Token(Token = "0x600B016")] [Address(RVA = "0x2332B60", Offset = "0x2331B60", VA = "0x182332B60", Slot = "27")] public virtual int GetDigestSize() { IDigest digest = this.mMd5; IDigest digest2 = this.mSha1; throw new NullReferenceException(); } // Token: 0x0600B017 RID: 45079 RVA: 0x00260CC8 File Offset: 0x0025EEC8 [Token(Token = "0x600B017")] [Address(RVA = "0x2332EF0", Offset = "0x2331EF0", VA = "0x182332EF0", Slot = "28")] public virtual void Update(byte input) { IDigest digest = this.mMd5; IDigest digest2 = this.mSha1; throw new NullReferenceException(); } // Token: 0x0600B018 RID: 45080 RVA: 0x00260CE8 File Offset: 0x0025EEE8 [Token(Token = "0x600B018")] [Address(RVA = "0x2332840", Offset = "0x2331840", VA = "0x182332840", Slot = "29")] public virtual void BlockUpdate(byte[] input, int inOff, int len) { IDigest digest = this.mMd5; IDigest digest2 = this.mSha1; } // Token: 0x0600B019 RID: 45081 RVA: 0x00260D0C File Offset: 0x0025EF0C [Token(Token = "0x600B019")] [Address(RVA = "0x23328E0", Offset = "0x23318E0", VA = "0x1823328E0", 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: 0x0600B01A RID: 45082 RVA: 0x00260D50 File Offset: 0x0025EF50 [Token(Token = "0x600B01A")] [Address(RVA = "0x2332C40", Offset = "0x2331C40", VA = "0x182332C40", Slot = "31")] public virtual void Reset() { IDigest digest = this.mMd5; IDigest digest2 = this.mSha1; throw new NullReferenceException(); } // Token: 0x0600B01B RID: 45083 RVA: 0x00260D70 File Offset: 0x0025EF70 [Token(Token = "0x600B01B")] [Address(RVA = "0x2332CB0", Offset = "0x2331CB0", VA = "0x182332CB0", 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: 0x04006FF5 RID: 28661 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4006FF5")] protected TlsContext mContext; // Token: 0x04006FF6 RID: 28662 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4006FF6")] protected IDigest mMd5; // Token: 0x04006FF7 RID: 28663 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4006FF7")] protected IDigest mSha1; } }