using System; using System.Threading; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls { // Token: 0x02001B92 RID: 7058 [Token(Token = "0x2001B92")] internal class TlsSessionImpl : TlsSession { // Token: 0x0600AFE4 RID: 45028 RVA: 0x00263E64 File Offset: 0x00262064 [Token(Token = "0x600AFE4")] [Address(RVA = "0x182A4F0", Offset = "0x18292F0", VA = "0x18182A4F0")] internal TlsSessionImpl(byte[] sessionID, SessionParameters sessionParameters) { /* An exception occurred when decompiling this method (0600AFE4) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsSessionImpl::.ctor(System.Byte[],BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SessionParameters) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_3C: stloc:ArgumentNullException(var_2_46, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("sessionID"))) } 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: 0x0600AFE5 RID: 45029 RVA: 0x00263EB8 File Offset: 0x002620B8 [Token(Token = "0x600AFE5")] [Address(RVA = "0x182A3C0", Offset = "0x18291C0", VA = "0x18182A3C0", Slot = "8")] public virtual SessionParameters ExportSessionParameters() { int num; SessionParameters sessionParameters2; do { num = 0; SessionParameters sessionParameters = this.mSessionParameters; if (sessionParameters == 0) { } sessionParameters2 = sessionParameters.Copy(); Monitor.Exit(this); } while (num != 0); return sessionParameters2; } // Token: 0x17001BC5 RID: 7109 // (get) Token: 0x0600AFE6 RID: 45030 RVA: 0x00263EE4 File Offset: 0x002620E4 [Token(Token = "0x17001BC5")] public virtual byte[] SessionID { [Token(Token = "0x600AFE6")] [Address(RVA = "0x182A6A0", Offset = "0x18294A0", VA = "0x18182A6A0", Slot = "9")] get { int num; byte[] array; do { num = 0; array = this.mSessionID; Monitor.Exit(this); } while (num != 0); return array; } } // Token: 0x0600AFE7 RID: 45031 RVA: 0x00263F08 File Offset: 0x00262108 [Token(Token = "0x600AFE7")] [Address(RVA = "0x182A470", Offset = "0x1829270", VA = "0x18182A470", Slot = "10")] public virtual void Invalidate() { int num; do { num = 0; this.mResumable = num != 0; Monitor.Exit(this); } while (num != 0); } // Token: 0x17001BC6 RID: 7110 // (get) Token: 0x0600AFE8 RID: 45032 RVA: 0x00263F28 File Offset: 0x00262128 [Token(Token = "0x17001BC6")] public virtual bool IsResumable { [Token(Token = "0x600AFE8")] [Address(RVA = "0x182A610", Offset = "0x1829410", VA = "0x18182A610", Slot = "11")] get { int num; bool flag; do { num = 0; flag = this.mResumable; Monitor.Exit(this); } while (num != 0); return flag; } } // Token: 0x04007073 RID: 28787 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4007073")] internal readonly byte[] mSessionID; // Token: 0x04007074 RID: 28788 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4007074")] internal readonly SessionParameters mSessionParameters; // Token: 0x04007075 RID: 28789 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4007075")] internal bool mResumable; } }