using System; using System.Collections; using System.IO; using System.Runtime.InteropServices; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Ocsp; using BestHTTP.SecureProtocol.Org.BouncyCastle.Security; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls { // Token: 0x02001551 RID: 5457 [Token(Token = "0x2001551")] [StructLayout(3)] public class DtlsServerProtocol : DtlsProtocol { // Token: 0x06009147 RID: 37191 RVA: 0x002038C8 File Offset: 0x00201AC8 [Token(Token = "0x6009147")] [Address(RVA = "0x1E87290", Offset = "0x1E85C90", VA = "0x181E87290")] public DtlsServerProtocol(SecureRandom secureRandom) : base(secureRandom) { } // Token: 0x1700176C RID: 5996 // (get) Token: 0x06009148 RID: 37192 RVA: 0x002038E4 File Offset: 0x00201AE4 // (set) Token: 0x06009149 RID: 37193 RVA: 0x002038F8 File Offset: 0x00201AF8 [Token(Token = "0x1700176C")] public virtual bool VerifyRequests { [Token(Token = "0x6009148")] [Address(RVA = "0x4FBF40", Offset = "0x4FA940", VA = "0x1804FBF40", Slot = "5")] get { return this.mVerifyRequests; } [Token(Token = "0x6009149")] [Address(RVA = "0x55D5F0", Offset = "0x55BFF0", VA = "0x18055D5F0", Slot = "6")] set { this.mVerifyRequests = value; } } // Token: 0x0600914A RID: 37194 RVA: 0x0020390C File Offset: 0x00201B0C [Token(Token = "0x600914A")] [Address(RVA = "0x1E84DF0", Offset = "0x1E837F0", VA = "0x181E84DF0", Slot = "7")] public virtual DtlsTransport Accept(TlsServer server, DatagramTransport transport) { /* An exception occurred when decompiling this method (0600914A) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsTransport BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::Accept(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsServer,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DatagramTransport) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_6D: stloc:ArgumentNullException(var_16_77, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("transport"))) } 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: 0x0600914B RID: 37195 RVA: 0x00203994 File Offset: 0x00201B94 [Token(Token = "0x600914B")] [Address(RVA = "0x1E84D90", Offset = "0x1E83790", VA = "0x181E84D90", Slot = "8")] internal virtual void AbortServerHandshake(DtlsServerProtocol.ServerHandshakeState state, DtlsRecordLayer recordLayer, byte alertDescription) { recordLayer.Failed(); } // Token: 0x0600914C RID: 37196 RVA: 0x002039B0 File Offset: 0x00201BB0 [Token(Token = "0x600914C")] [Address(RVA = "0x1E867F0", Offset = "0x1E851F0", VA = "0x181E867F0", Slot = "9")] internal virtual DtlsTransport ServerHandshake(DtlsServerProtocol.ServerHandshakeState state, DtlsRecordLayer recordLayer) { /* An exception occurred when decompiling this method (0600914C) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsTransport BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::ServerHandshake(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol/ServerHandshakeState,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsRecordLayer) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_30F: stloc:TlsFatalAlert(var_66_316, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_67))) stloc:TlsFatalAlert(var_68_31F, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_69))) } 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: 0x0600914D RID: 37197 RVA: 0x00203CE0 File Offset: 0x00201EE0 [Token(Token = "0x600914D")] [Address(RVA = "0x1E85A40", Offset = "0x1E84440", VA = "0x181E85A40", Slot = "10")] protected virtual void InvalidateSession(DtlsServerProtocol.ServerHandshakeState state) { SessionParameters sessionParameters = state.sessionParameters; if (sessionParameters != 0) { sessionParameters.Clear(); state.sessionParameters = (ulong)0L; } if (state.tlsSession != 0) { state.tlsSession = (ulong)0L; } } // Token: 0x0600914E RID: 37198 RVA: 0x00203D20 File Offset: 0x00201F20 [Token(Token = "0x600914E")] [Address(RVA = "0x1E851F0", Offset = "0x1E83BF0", VA = "0x181E851F0", Slot = "11")] protected virtual byte[] GenerateCertificateRequest(DtlsServerProtocol.ServerHandshakeState state, CertificateRequest certificateRequest) { MemoryStream memoryStream = new MemoryStream(); IList certificateAuthorities = certificateRequest.CertificateAuthorities; ((IDisposable)memoryStream).Dispose(); throw new NullReferenceException(); } // Token: 0x0600914F RID: 37199 RVA: 0x00203D48 File Offset: 0x00201F48 [Token(Token = "0x600914F")] [Address(RVA = "0x1E85280", Offset = "0x1E83C80", VA = "0x181E85280", Slot = "12")] protected virtual byte[] GenerateCertificateStatus(DtlsServerProtocol.ServerHandshakeState state, CertificateStatus certificateStatus) { MemoryStream memoryStream = new MemoryStream(); OcspResponse ocspResponse = certificateStatus.GetOcspResponse(); ((IDisposable)memoryStream).Dispose(); throw new NullReferenceException(); } // Token: 0x06009150 RID: 37200 RVA: 0x00203D70 File Offset: 0x00201F70 [Token(Token = "0x6009150")] [Address(RVA = "0x1E85310", Offset = "0x1E83D10", VA = "0x181E85310", Slot = "13")] protected virtual byte[] GenerateNewSessionTicket(DtlsServerProtocol.ServerHandshakeState state, NewSessionTicket newSessionTicket) { MemoryStream memoryStream = new MemoryStream(); byte[] ticket = newSessionTicket.Ticket; ((IDisposable)memoryStream).Dispose(); throw new NullReferenceException(); } // Token: 0x06009151 RID: 37201 RVA: 0x00203D98 File Offset: 0x00201F98 [Token(Token = "0x6009151")] [Address(RVA = "0x1E853A0", Offset = "0x1E83DA0", VA = "0x181E853A0", Slot = "14")] protected virtual byte[] GenerateServerHello(DtlsServerProtocol.ServerHandshakeState state) { /* An exception occurred when decompiling this method (06009151) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::GenerateServerHello(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol/ServerHandshakeState) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_213: stloc:TlsFatalAlert(var_39_21A, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_40))) } 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: 0x06009152 RID: 37202 RVA: 0x00203FC0 File Offset: 0x002021C0 [Token(Token = "0x6009152")] [Address(RVA = "0x1E85AB0", Offset = "0x1E844B0", VA = "0x181E85AB0", Slot = "15")] protected virtual void NotifyClientCertificate(DtlsServerProtocol.ServerHandshakeState state, Certificate clientCertificate) { /* An exception occurred when decompiling this method (06009152) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::NotifyClientCertificate(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol/ServerHandshakeState,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.Certificate) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_50: stloc:InvalidOperationException(var_5_55, newobj:InvalidOperationException(InvalidOperationException::.ctor)) } 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: 0x06009153 RID: 37203 RVA: 0x00204024 File Offset: 0x00202224 [Token(Token = "0x6009153")] [Address(RVA = "0x1E86020", Offset = "0x1E84A20", VA = "0x181E86020", Slot = "16")] protected virtual void ProcessClientCertificate(DtlsServerProtocol.ServerHandshakeState state, byte[] body) { int num; MemoryStream memoryStream = new MemoryStream(body, num != 0); num = 0; Certificate certificate = Certificate.Parse(memoryStream); TlsProtocol.AssertEmpty(memoryStream); } // Token: 0x06009154 RID: 37204 RVA: 0x00204048 File Offset: 0x00202248 [Token(Token = "0x6009154")] [Address(RVA = "0x1E85C40", Offset = "0x1E84640", VA = "0x181E85C40", Slot = "17")] protected virtual void ProcessCertificateVerify(DtlsServerProtocol.ServerHandshakeState state, byte[] body, TlsHandshakeHash prepareFinishHash) { /* An exception occurred when decompiling this method (06009154) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::ProcessCertificateVerify(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol/ServerHandshakeState,System.Byte[],BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsHandshakeHash) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_F7: stloc:InvalidOperationException(var_14_FC, newobj:InvalidOperationException(InvalidOperationException::.ctor)) } 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: 0x06009155 RID: 37205 RVA: 0x00204154 File Offset: 0x00202354 [Token(Token = "0x6009155")] [Address(RVA = "0x1E860E0", Offset = "0x1E84AE0", VA = "0x181E860E0", Slot = "18")] protected virtual void ProcessClientHello(DtlsServerProtocol.ServerHandshakeState state, byte[] body) { /* An exception occurred when decompiling this method (06009155) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::ProcessClientHello(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol/ServerHandshakeState,System.Byte[]) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_18B: stloc:TlsFatalAlert(var_35_192, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_36))) } 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.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: 0x06009156 RID: 37206 RVA: 0x002042F4 File Offset: 0x002024F4 [Token(Token = "0x6009156")] [Address(RVA = "0x1E866B0", Offset = "0x1E850B0", VA = "0x181E866B0", Slot = "19")] protected virtual void ProcessClientKeyExchange(DtlsServerProtocol.ServerHandshakeState state, byte[] body) { int num; MemoryStream memoryStream = new MemoryStream(body, num != 0); num = 0; TlsKeyExchange keyExchange = state.keyExchange; TlsProtocol.AssertEmpty(memoryStream); } // Token: 0x06009157 RID: 37207 RVA: 0x00204320 File Offset: 0x00202520 [Token(Token = "0x6009157")] [Address(RVA = "0x1E86750", Offset = "0x1E85150", VA = "0x181E86750", Slot = "20")] protected virtual void ProcessClientSupplementalData(DtlsServerProtocol.ServerHandshakeState state, byte[] body) { int num; MemoryStream memoryStream = new MemoryStream(body, num != 0); num = 0; IList list = TlsProtocol.ReadSupplementalDataMessage(memoryStream); TlsServer server = state.server; throw new NullReferenceException(); } // Token: 0x06009158 RID: 37208 RVA: 0x0020434C File Offset: 0x0020254C [Token(Token = "0x6009158")] [Address(RVA = "0x1E85180", Offset = "0x1E83B80", VA = "0x181E85180", Slot = "21")] protected virtual bool ExpectCertificateVerifyMessage(DtlsServerProtocol.ServerHandshakeState state) { short clientCertificateType = state.clientCertificateType; return TlsUtilities.HasSigningCapability((byte)clientCertificateType); } // Token: 0x04006063 RID: 24675 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4006063")] protected bool mVerifyRequests = true; // Token: 0x02001552 RID: 5458 [Token(Token = "0x2001552")] protected internal class ServerHandshakeState { // Token: 0x06009159 RID: 37209 RVA: 0x00204370 File Offset: 0x00202570 [Token(Token = "0x6009159")] [Address(RVA = "0x1E8B270", Offset = "0x1E89C70", VA = "0x181E8B270")] public ServerHandshakeState() { } // Token: 0x04006064 RID: 24676 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x4006064")] internal TlsServer server; // Token: 0x04006065 RID: 24677 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4006065")] internal TlsServerContextImpl serverContext; // Token: 0x04006066 RID: 24678 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x4006066")] internal TlsSession tlsSession; // Token: 0x04006067 RID: 24679 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x4006067")] internal SessionParameters sessionParameters; // Token: 0x04006068 RID: 24680 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x4006068")] internal SessionParameters.Builder sessionParametersBuilder; // Token: 0x04006069 RID: 24681 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x4006069")] internal int[] offeredCipherSuites; // Token: 0x0400606A RID: 24682 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x400606A")] internal byte[] offeredCompressionMethods; // Token: 0x0400606B RID: 24683 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x400606B")] internal IDictionary clientExtensions; // Token: 0x0400606C RID: 24684 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x400606C")] internal IDictionary serverExtensions; // Token: 0x0400606D RID: 24685 [global::Cpp2IlInjected.FieldOffset(Offset = "0x58")] [Token(Token = "0x400606D")] internal bool resumedSession; // Token: 0x0400606E RID: 24686 [global::Cpp2IlInjected.FieldOffset(Offset = "0x59")] [Token(Token = "0x400606E")] internal bool secure_renegotiation; // Token: 0x0400606F RID: 24687 [global::Cpp2IlInjected.FieldOffset(Offset = "0x5A")] [Token(Token = "0x400606F")] internal bool allowCertificateStatus; // Token: 0x04006070 RID: 24688 [global::Cpp2IlInjected.FieldOffset(Offset = "0x5B")] [Token(Token = "0x4006070")] internal bool expectSessionTicket; // Token: 0x04006071 RID: 24689 [global::Cpp2IlInjected.FieldOffset(Offset = "0x60")] [Token(Token = "0x4006071")] internal TlsKeyExchange keyExchange; // Token: 0x04006072 RID: 24690 [global::Cpp2IlInjected.FieldOffset(Offset = "0x68")] [Token(Token = "0x4006072")] internal TlsCredentials serverCredentials; // Token: 0x04006073 RID: 24691 [global::Cpp2IlInjected.FieldOffset(Offset = "0x70")] [Token(Token = "0x4006073")] internal CertificateRequest certificateRequest; // Token: 0x04006074 RID: 24692 [global::Cpp2IlInjected.FieldOffset(Offset = "0x78")] [Token(Token = "0x4006074")] internal short clientCertificateType = (short)((uint)(-1)); // Token: 0x04006075 RID: 24693 [global::Cpp2IlInjected.FieldOffset(Offset = "0x80")] [Token(Token = "0x4006075")] internal Certificate clientCertificate; } } }