using System; using System.Threading; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls { // Token: 0x02001C72 RID: 7282 [Token(Token = "0x2001C72")] internal class TlsSessionImpl : TlsSession { // Token: 0x0600B3B2 RID: 46002 RVA: 0x0026D040 File Offset: 0x0026B240 [Token(Token = "0x600B3B2")] [Address(RVA = "0x464800", Offset = "0x463800", VA = "0x180464800")] internal TlsSessionImpl(byte[] sessionID, SessionParameters sessionParameters) { /* An exception occurred when decompiling this method (0600B3B2) 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 1663 */; } // Token: 0x0600B3B3 RID: 46003 RVA: 0x0026D094 File Offset: 0x0026B294 [Token(Token = "0x600B3B3")] [Address(RVA = "0x4646D0", Offset = "0x4636D0", VA = "0x1804646D0", 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: 0x17001C62 RID: 7266 // (get) Token: 0x0600B3B4 RID: 46004 RVA: 0x0026D0C0 File Offset: 0x0026B2C0 [Token(Token = "0x17001C62")] public virtual byte[] SessionID { [Token(Token = "0x600B3B4")] [Address(RVA = "0x4649B0", Offset = "0x4639B0", VA = "0x1804649B0", Slot = "9")] get { int num; byte[] array; do { num = 0; array = this.mSessionID; Monitor.Exit(this); } while (num != 0); return array; } } // Token: 0x0600B3B5 RID: 46005 RVA: 0x0026D0E4 File Offset: 0x0026B2E4 [Token(Token = "0x600B3B5")] [Address(RVA = "0x464780", Offset = "0x463780", VA = "0x180464780", Slot = "10")] public virtual void Invalidate() { int num; do { num = 0; this.mResumable = num != 0; Monitor.Exit(this); } while (num != 0); } // Token: 0x17001C63 RID: 7267 // (get) Token: 0x0600B3B6 RID: 46006 RVA: 0x0026D104 File Offset: 0x0026B304 [Token(Token = "0x17001C63")] public virtual bool IsResumable { [Token(Token = "0x600B3B6")] [Address(RVA = "0x464920", Offset = "0x463920", VA = "0x180464920", Slot = "11")] get { int num; bool flag; do { num = 0; flag = this.mResumable; Monitor.Exit(this); } while (num != 0); return flag; } } // Token: 0x0400722C RID: 29228 [FieldOffset(Offset = "0x10")] [Token(Token = "0x400722C")] internal readonly byte[] mSessionID; // Token: 0x0400722D RID: 29229 [FieldOffset(Offset = "0x18")] [Token(Token = "0x400722D")] internal readonly SessionParameters mSessionParameters; // Token: 0x0400722E RID: 29230 [FieldOffset(Offset = "0x20")] [Token(Token = "0x400722E")] internal bool mResumable; } }