using System; using System.Collections; using System.IO; using System.Runtime.CompilerServices; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Pkcs; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509; using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Macs; using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters; using BestHTTP.SecureProtocol.Org.BouncyCastle.Security; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Date; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO; using Cpp2IlInjected; using Hjg.Pngcs; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls { // Token: 0x02001C7D RID: 7293 [Token(Token = "0x2001C7D")] public abstract class TlsUtilities { // Token: 0x0600B3FC RID: 46076 RVA: 0x0026DC20 File Offset: 0x0026BE20 [Token(Token = "0x600B3FC")] [Address(RVA = "0x468510", Offset = "0x467510", VA = "0x180468510")] public static void CheckUint8(int i) { while (i != 0) { } } // Token: 0x0600B3FD RID: 46077 RVA: 0x0026DC30 File Offset: 0x0026BE30 [Token(Token = "0x600B3FD")] [Address(RVA = "0x468590", Offset = "0x467590", VA = "0x180468590")] public static void CheckUint8(long i) { while (i != 0L) { } } // Token: 0x0600B3FE RID: 46078 RVA: 0x0026DC40 File Offset: 0x0026BE40 [Token(Token = "0x600B3FE")] [Address(RVA = "0x468220", Offset = "0x467220", VA = "0x180468220")] public static void CheckUint16(int i) { while (i != 0) { } } // Token: 0x0600B3FF RID: 46079 RVA: 0x0026DC50 File Offset: 0x0026BE50 [Token(Token = "0x600B3FF")] [Address(RVA = "0x4681A0", Offset = "0x4671A0", VA = "0x1804681A0")] public static void CheckUint16(long i) { while (i != 0L) { } } // Token: 0x0600B400 RID: 46080 RVA: 0x0026DC60 File Offset: 0x0026BE60 [Token(Token = "0x600B400")] [Address(RVA = "0x468330", Offset = "0x467330", VA = "0x180468330")] public static void CheckUint24(int i) { while (i != 0) { } } // Token: 0x0600B401 RID: 46081 RVA: 0x0026DC70 File Offset: 0x0026BE70 [Token(Token = "0x600B401")] [Address(RVA = "0x4682A0", Offset = "0x4672A0", VA = "0x1804682A0")] public static void CheckUint24(long i) { while (i != 0L) { } } // Token: 0x0600B402 RID: 46082 RVA: 0x0026DC80 File Offset: 0x0026BE80 [Token(Token = "0x600B402")] [Address(RVA = "0x4683B0", Offset = "0x4673B0", VA = "0x1804683B0")] public static void CheckUint32(long i) { while (i != 0L) { } } // Token: 0x0600B403 RID: 46083 RVA: 0x0026DC90 File Offset: 0x0026BE90 [Token(Token = "0x600B403")] [Address(RVA = "0x468430", Offset = "0x467430", VA = "0x180468430")] public static void CheckUint48(long i) { while (i != 0L) { } } // Token: 0x0600B404 RID: 46084 RVA: 0x0026DCA0 File Offset: 0x0026BEA0 [Token(Token = "0x600B404")] [Address(RVA = "0x4684C0", Offset = "0x4674C0", VA = "0x1804684C0")] public static void CheckUint64(long i) { } // Token: 0x0600B405 RID: 46085 RVA: 0x0026DCB0 File Offset: 0x0026BEB0 [Token(Token = "0x600B405")] [Address(RVA = "0x46C470", Offset = "0x46B470", VA = "0x18046C470")] public static bool IsValidUint8(int i) { return i == i; } // Token: 0x0600B406 RID: 46086 RVA: 0x0026DCC4 File Offset: 0x0026BEC4 [Token(Token = "0x600B406")] [Address(RVA = "0x46C480", Offset = "0x46B480", VA = "0x18046C480")] public static bool IsValidUint8(long i) { return i == i; } // Token: 0x0600B407 RID: 46087 RVA: 0x0026DCD8 File Offset: 0x0026BED8 [Token(Token = "0x600B407")] [Address(RVA = "0x46C410", Offset = "0x46B410", VA = "0x18046C410")] public static bool IsValidUint16(int i) { return i == i; } // Token: 0x0600B408 RID: 46088 RVA: 0x0026DCEC File Offset: 0x0026BEEC [Token(Token = "0x600B408")] [Address(RVA = "0x46C400", Offset = "0x46B400", VA = "0x18046C400")] public static bool IsValidUint16(long i) { return i == i; } // Token: 0x0600B409 RID: 46089 RVA: 0x0026DD00 File Offset: 0x0026BF00 [Token(Token = "0x600B409")] [Address(RVA = "0x46C430", Offset = "0x46B430", VA = "0x18046C430")] public static bool IsValidUint24(int i) { return i == i; } // Token: 0x0600B40A RID: 46090 RVA: 0x0026DD14 File Offset: 0x0026BF14 [Token(Token = "0x600B40A")] [Address(RVA = "0x46C420", Offset = "0x46B420", VA = "0x18046C420")] public static bool IsValidUint24(long i) { return i == i; } // Token: 0x0600B40B RID: 46091 RVA: 0x0026DD28 File Offset: 0x0026BF28 [Token(Token = "0x600B40B")] [Address(RVA = "0x46C440", Offset = "0x46B440", VA = "0x18046C440")] public static bool IsValidUint32(long i) { return i == i; } // Token: 0x0600B40C RID: 46092 RVA: 0x0026DD3C File Offset: 0x0026BF3C [Token(Token = "0x600B40C")] [Address(RVA = "0x46C450", Offset = "0x46B450", VA = "0x18046C450")] public static bool IsValidUint48(long i) { return i == i; } // Token: 0x0600B40D RID: 46093 RVA: 0x0026DD50 File Offset: 0x0026BF50 [Token(Token = "0x600B40D")] [Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0")] public static bool IsValidUint64(long i) { return true; } // Token: 0x0600B40E RID: 46094 RVA: 0x0026DD60 File Offset: 0x0026BF60 [Token(Token = "0x600B40E")] [Address(RVA = "0x46BD20", Offset = "0x46AD20", VA = "0x18046BD20")] public static bool IsSsl(TlsContext context) { bool flag; return flag; } // Token: 0x0600B40F RID: 46095 RVA: 0x0026DD74 File Offset: 0x0026BF74 [Token(Token = "0x600B40F")] [Address(RVA = "0x46BED0", Offset = "0x46AED0", VA = "0x18046BED0")] public static bool IsTlsV11(ProtocolVersion version) { ProtocolVersion tlsv = ProtocolVersion.TLSv11; ProtocolVersion equivalentTLSVersion = version.GetEquivalentTLSVersion(); return tlsv.IsEqualOrEarlierVersionOf(equivalentTLSVersion); } // Token: 0x0600B410 RID: 46096 RVA: 0x0026DD9C File Offset: 0x0026BF9C [Token(Token = "0x600B410")] [Address(RVA = "0x46BDE0", Offset = "0x46ADE0", VA = "0x18046BDE0")] public static bool IsTlsV11(TlsContext context) { ProtocolVersion protocolVersion; return ProtocolVersion.TLSv11.IsEqualOrEarlierVersionOf(protocolVersion); } // Token: 0x0600B411 RID: 46097 RVA: 0x0026DDBC File Offset: 0x0026BFBC [Token(Token = "0x600B411")] [Address(RVA = "0x46C050", Offset = "0x46B050", VA = "0x18046C050")] public static bool IsTlsV12(ProtocolVersion version) { ProtocolVersion tlsv = ProtocolVersion.TLSv12; ProtocolVersion equivalentTLSVersion = version.GetEquivalentTLSVersion(); return tlsv.IsEqualOrEarlierVersionOf(equivalentTLSVersion); } // Token: 0x0600B412 RID: 46098 RVA: 0x0026DDE4 File Offset: 0x0026BFE4 [Token(Token = "0x600B412")] [Address(RVA = "0x46BF60", Offset = "0x46AF60", VA = "0x18046BF60")] public static bool IsTlsV12(TlsContext context) { ProtocolVersion protocolVersion; return ProtocolVersion.TLSv12.IsEqualOrEarlierVersionOf(protocolVersion); } // Token: 0x0600B413 RID: 46099 RVA: 0x0026DE04 File Offset: 0x0026C004 [Token(Token = "0x600B413")] [Address(RVA = "0x46F670", Offset = "0x46E670", VA = "0x18046F670")] public static void WriteUint8(byte i, Stream output) { bool canRead = output.CanRead; } // Token: 0x0600B414 RID: 46100 RVA: 0x0026DE20 File Offset: 0x0026C020 [Token(Token = "0x600B414")] [Address(RVA = "0x46F630", Offset = "0x46E630", VA = "0x18046F630")] public static void WriteUint8(byte i, byte[] buf, int offset) { } // Token: 0x0600B415 RID: 46101 RVA: 0x0026DE34 File Offset: 0x0026C034 [Token(Token = "0x600B415")] [Address(RVA = "0x46EBF0", Offset = "0x46DBF0", VA = "0x18046EBF0")] public static void WriteUint16(int i, Stream output) { bool canRead = output.CanRead; } // Token: 0x0600B416 RID: 46102 RVA: 0x0026DE50 File Offset: 0x0026C050 [Token(Token = "0x600B416")] [Address(RVA = "0x46EC50", Offset = "0x46DC50", VA = "0x18046EC50")] public static void WriteUint16(int i, byte[] buf, int offset) { } // Token: 0x0600B417 RID: 46103 RVA: 0x0026DE64 File Offset: 0x0026C064 [Token(Token = "0x600B417")] [Address(RVA = "0x46ED30", Offset = "0x46DD30", VA = "0x18046ED30")] public static void WriteUint24(int i, Stream output) { bool canRead = output.CanRead; } // Token: 0x0600B418 RID: 46104 RVA: 0x0026DE80 File Offset: 0x0026C080 [Token(Token = "0x600B418")] [Address(RVA = "0x46ECB0", Offset = "0x46DCB0", VA = "0x18046ECB0")] public static void WriteUint24(int i, byte[] buf, int offset) { int num = offset + 1; } // Token: 0x0600B419 RID: 46105 RVA: 0x0026DE98 File Offset: 0x0026C098 [Token(Token = "0x600B419")] [Address(RVA = "0x46EE50", Offset = "0x46DE50", VA = "0x18046EE50")] public static void WriteUint32(long i, Stream output) { bool canRead = output.CanRead; } // Token: 0x0600B41A RID: 46106 RVA: 0x0026DEB4 File Offset: 0x0026C0B4 [Token(Token = "0x600B41A")] [Address(RVA = "0x46EDA0", Offset = "0x46DDA0", VA = "0x18046EDA0")] public static void WriteUint32(long i, byte[] buf, int offset) { int num = offset + 1; } // Token: 0x0600B41B RID: 46107 RVA: 0x0026DECC File Offset: 0x0026C0CC [Token(Token = "0x600B41B")] [Address(RVA = "0x46EFE0", Offset = "0x46DFE0", VA = "0x18046EFE0")] public static void WriteUint48(long i, Stream output) { bool canRead = output.CanRead; } // Token: 0x0600B41C RID: 46108 RVA: 0x0026DEE8 File Offset: 0x0026C0E8 [Token(Token = "0x600B41C")] [Address(RVA = "0x46EEE0", Offset = "0x46DEE0", VA = "0x18046EEE0")] public static void WriteUint48(long i, byte[] buf, int offset) { int num = offset + 1; } // Token: 0x0600B41D RID: 46109 RVA: 0x0026DF00 File Offset: 0x0026C100 [Token(Token = "0x600B41D")] [Address(RVA = "0x46F0B0", Offset = "0x46E0B0", VA = "0x18046F0B0")] public static void WriteUint64(long i, Stream output) { bool canRead = output.CanRead; } // Token: 0x0600B41E RID: 46110 RVA: 0x0026DF1C File Offset: 0x0026C11C [Token(Token = "0x600B41E")] [Address(RVA = "0x46F1B0", Offset = "0x46E1B0", VA = "0x18046F1B0")] public static void WriteUint64(long i, byte[] buf, int offset) { int num = offset + 1; } // Token: 0x0600B41F RID: 46111 RVA: 0x0026DF34 File Offset: 0x0026C134 [Token(Token = "0x600B41F")] [Address(RVA = "0x46E740", Offset = "0x46D740", VA = "0x18046E740")] public static void WriteOpaque8(byte[] buf, Stream output) { int num = output.ReadByte(); } // Token: 0x0600B420 RID: 46112 RVA: 0x0026DF50 File Offset: 0x0026C150 [Token(Token = "0x600B420")] [Address(RVA = "0x46E580", Offset = "0x46D580", VA = "0x18046E580")] public static void WriteOpaque16(byte[] buf, Stream output) { int num = output.ReadByte(); } // Token: 0x0600B421 RID: 46113 RVA: 0x0026DF6C File Offset: 0x0026C16C [Token(Token = "0x600B421")] [Address(RVA = "0x46E650", Offset = "0x46D650", VA = "0x18046E650")] public static void WriteOpaque24(byte[] buf, Stream output) { int num = output.ReadByte(); } // Token: 0x0600B422 RID: 46114 RVA: 0x0026DF88 File Offset: 0x0026C188 [Token(Token = "0x600B422")] [Address(RVA = "0x46F510", Offset = "0x46E510", VA = "0x18046F510")] public static void WriteUint8Array(byte[] uints, Stream output) { int num = output.ReadByte(); } // Token: 0x0600B423 RID: 46115 RVA: 0x0026DFA4 File Offset: 0x0026C1A4 [Token(Token = "0x600B423")] [Address(RVA = "0x46F550", Offset = "0x46E550", VA = "0x18046F550")] public static void WriteUint8Array(byte[] uints, byte[] buf, int offset) { int num = 0; int length = uints.Length; if (num < length) { num++; } } // Token: 0x0600B424 RID: 46116 RVA: 0x0026DFC8 File Offset: 0x0026C1C8 [Token(Token = "0x600B424")] [Address(RVA = "0x46F460", Offset = "0x46E460", VA = "0x18046F460")] public static void WriteUint8ArrayWithUint8Length(byte[] uints, Stream output) { TlsUtilities.CheckUint8(uints.Length); int num = output.ReadByte(); } // Token: 0x0600B425 RID: 46117 RVA: 0x0026DFF0 File Offset: 0x0026C1F0 [Token(Token = "0x600B425")] [Address(RVA = "0x46F310", Offset = "0x46E310", VA = "0x18046F310")] public static void WriteUint8ArrayWithUint8Length(byte[] uints, byte[] buf, int offset) { TlsUtilities.CheckUint8(uints.Length); int length = uints.Length; int num = 0; int length2 = uints.Length; if (num < length2) { num++; } } // Token: 0x0600B426 RID: 46118 RVA: 0x0026E028 File Offset: 0x0026C228 [Token(Token = "0x600B426")] [Address(RVA = "0x46EA70", Offset = "0x46DA70", VA = "0x18046EA70")] public static void WriteUint16Array(int[] uints, Stream output) { int num = 0; int length = uints.Length; if (num < length) { TlsUtilities.WriteUint16(uints[num], output); num++; } } // Token: 0x0600B427 RID: 46119 RVA: 0x0026E05C File Offset: 0x0026C25C [Token(Token = "0x600B427")] [Address(RVA = "0x46EB20", Offset = "0x46DB20", VA = "0x18046EB20")] public static void WriteUint16Array(int[] uints, byte[] buf, int offset) { int num = 0; int length = uints.Length; if (num < length) { PngHelperInternal.WriteInt2tobytes(uints[num], buf, offset); num++; } } // Token: 0x0600B428 RID: 46120 RVA: 0x0026E090 File Offset: 0x0026C290 [Token(Token = "0x600B428")] [Address(RVA = "0x46E940", Offset = "0x46D940", VA = "0x18046E940")] public static void WriteUint16ArrayWithUint16Length(int[] uints, Stream output) { int num = uints.Length; num += num; TlsUtilities.CheckUint16(num); int num2 = 0; int length = uints.Length; if (num2 < length) { TlsUtilities.WriteUint16(uints[num2], output); num2++; } } // Token: 0x0600B429 RID: 46121 RVA: 0x0026E0D4 File Offset: 0x0026C2D4 [Token(Token = "0x600B429")] [Address(RVA = "0x46E7E0", Offset = "0x46D7E0", VA = "0x18046E7E0")] public static void WriteUint16ArrayWithUint16Length(int[] uints, byte[] buf, int offset) { int num = uints.Length; num += num; TlsUtilities.CheckUint16(num); int num2 = offset + 1; int num3 = 0; int length = uints.Length; if (num3 < length) { PngHelperInternal.WriteInt2tobytes(uints[num3], buf, offset); num3++; } } // Token: 0x0600B42A RID: 46122 RVA: 0x0026E11C File Offset: 0x0026C31C [Token(Token = "0x600B42A")] [Address(RVA = "0x469130", Offset = "0x468130", VA = "0x180469130")] public static byte DecodeUint8(byte[] buf) { /* An exception occurred when decompiling this method (0600B42A) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::DecodeUint8(System.Byte[]) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_1C: stloc:ArgumentNullException(var_1_26, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("buf"))) } 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: 0x0600B42B RID: 46123 RVA: 0x0026E150 File Offset: 0x0026C350 [Token(Token = "0x600B42B")] [Address(RVA = "0x468FA0", Offset = "0x467FA0", VA = "0x180468FA0")] public static byte[] DecodeUint8ArrayWithUint8Length(byte[] buf) { /* An exception occurred when decompiling this method (0600B42B) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::DecodeUint8ArrayWithUint8Length(System.Byte[]) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_2D: stloc:ArgumentNullException(var_6_37, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("buf"))) } 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: 0x0600B42C RID: 46124 RVA: 0x0026E198 File Offset: 0x0026C398 [Token(Token = "0x600B42C")] [Address(RVA = "0x469200", Offset = "0x468200", VA = "0x180469200")] public static byte[] EncodeOpaque8(byte[] buf) { TlsUtilities.CheckUint8(buf.Length); int length = buf.Length; return Arrays.Prepend(buf, (byte)length); } // Token: 0x0600B42D RID: 46125 RVA: 0x0026E1C4 File Offset: 0x0026C3C4 [Token(Token = "0x600B42D")] [Address(RVA = "0x469870", Offset = "0x468870", VA = "0x180469870")] public static byte[] EncodeUint8(byte val) { TlsUtilities.CheckUint8((int)val); return new byte[] { val }; } // Token: 0x0600B42E RID: 46126 RVA: 0x0026E1F0 File Offset: 0x0026C3F0 [Token(Token = "0x600B42E")] [Address(RVA = "0x4696E0", Offset = "0x4686E0", VA = "0x1804696E0")] public static byte[] EncodeUint8ArrayWithUint8Length(byte[] uints) { int num = uints.Length; num++; byte[] array = new byte[num]; TlsUtilities.CheckUint8(uints.Length); int length = uints.Length; array[0] = (byte)length; int num2 = 0; int length2 = uints.Length; if (num2 < length2) { num2++; } return array; } // Token: 0x0600B42F RID: 46127 RVA: 0x0026E244 File Offset: 0x0026C444 [Token(Token = "0x600B42F")] [Address(RVA = "0x469530", Offset = "0x468530", VA = "0x180469530")] public static byte[] EncodeUint16ArrayWithUint16Length(int[] uints) { int num = uints.Length; num += num; num += 2; byte[] array = new byte[num]; int num2 = uints.Length; num2 += num2; TlsUtilities.CheckUint16(num2); array[0] = (byte)num2; array[0] = (byte)num2; int num3 = 0; int length = uints.Length; if (num3 < length) { uint num4; PngHelperInternal.WriteInt2tobytes(uints[num3], array, (int)num4); num4 += (uint)2; num3++; } return array; } // Token: 0x0600B430 RID: 46128 RVA: 0x0026E2BC File Offset: 0x0026C4BC [Token(Token = "0x600B430")] [Address(RVA = "0x46DAA0", Offset = "0x46CAA0", VA = "0x18046DAA0")] public static byte ReadUint8(Stream input) { /* An exception occurred when decompiling this method (0600B430) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::ReadUint8(System.IO.Stream) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:EndOfStreamException(var_1_05, newobj:EndOfStreamException(EndOfStreamException::.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.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: 0x0600B431 RID: 46129 RVA: 0x0026E2D0 File Offset: 0x0026C4D0 [Token(Token = "0x600B431")] [Address(RVA = "0x46DB20", Offset = "0x46CB20", VA = "0x18046DB20")] public static byte ReadUint8(byte[] buf, int offset) { byte b; return b; } // Token: 0x0600B432 RID: 46130 RVA: 0x0026E2E4 File Offset: 0x0026C4E4 [Token(Token = "0x600B432")] [Address(RVA = "0x46D470", Offset = "0x46C470", VA = "0x18046D470")] public static int ReadUint16(Stream input) { int num; return num; } // Token: 0x0600B433 RID: 46131 RVA: 0x0026E2F8 File Offset: 0x0026C4F8 [Token(Token = "0x600B433")] [Address(RVA = "0x46D510", Offset = "0x46C510", VA = "0x18046D510")] public static int ReadUint16(byte[] buf, int offset) { int length = buf.Length; throw new NullReferenceException(); } // Token: 0x0600B434 RID: 46132 RVA: 0x0026E314 File Offset: 0x0026C514 [Token(Token = "0x600B434")] [Address(RVA = "0x46D570", Offset = "0x46C570", VA = "0x18046D570")] public static int ReadUint24(Stream input) { int num; return num; } // Token: 0x0600B435 RID: 46133 RVA: 0x0026E328 File Offset: 0x0026C528 [Token(Token = "0x600B435")] [Address(RVA = "0x46D630", Offset = "0x46C630", VA = "0x18046D630")] public static int ReadUint24(byte[] buf, int offset) { int length = buf.Length; int num = offset + 1; throw new NullReferenceException(); } // Token: 0x0600B436 RID: 46134 RVA: 0x0026E348 File Offset: 0x0026C548 [Token(Token = "0x600B436")] [Address(RVA = "0x46D6C0", Offset = "0x46C6C0", VA = "0x18046D6C0")] public static long ReadUint32(Stream input) { throw new NullReferenceException(); } // Token: 0x0600B437 RID: 46135 RVA: 0x0026E35C File Offset: 0x0026C55C [Token(Token = "0x600B437")] [Address(RVA = "0x46D7B0", Offset = "0x46C7B0", VA = "0x18046D7B0")] public static long ReadUint32(byte[] buf, int offset) { int length = buf.Length; int num = offset + 1; throw new NullReferenceException(); } // Token: 0x0600B438 RID: 46136 RVA: 0x0026E37C File Offset: 0x0026C57C [Token(Token = "0x600B438")] [Address(RVA = "0x46D960", Offset = "0x46C960", VA = "0x18046D960")] public static long ReadUint48(Stream input) { /* An exception occurred when decompiling this method (0600B438) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::ReadUint48(System.IO.Stream) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:int32(var_0_06, call:int32(TlsUtilities::ReadUint24, ldloc:Stream(input))) stloc:int32(var_1_0D, call:int32(TlsUtilities::ReadUint24, ldloc:Stream(input))) } 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: 0x0600B439 RID: 46137 RVA: 0x0026E398 File Offset: 0x0026C598 [Token(Token = "0x600B439")] [Address(RVA = "0x46D870", Offset = "0x46C870", VA = "0x18046D870")] public static long ReadUint48(byte[] buf, int offset) { int num = TlsUtilities.ReadUint24(buf, offset); int length = buf.Length; throw new NullReferenceException(); } // Token: 0x0600B43A RID: 46138 RVA: 0x0026E3BC File Offset: 0x0026C5BC [Token(Token = "0x600B43A")] [Address(RVA = "0x46CA90", Offset = "0x46BA90", VA = "0x18046CA90")] public static byte[] ReadAllOrNothing(int length, Stream input) { /* An exception occurred when decompiling this method (0600B43A) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::ReadAllOrNothing(System.Int32,System.IO.Stream) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_21: stloc:EndOfStreamException(var_3_26, newobj:EndOfStreamException(EndOfStreamException::.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.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: 0x0600B43B RID: 46139 RVA: 0x0026E3F0 File Offset: 0x0026C5F0 [Token(Token = "0x600B43B")] [Address(RVA = "0x46CEC0", Offset = "0x46BEC0", VA = "0x18046CEC0")] public static byte[] ReadFully(int length, Stream input) { /* An exception occurred when decompiling this method (0600B43B) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::ReadFully(System.Int32,System.IO.Stream) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_1B: stloc:EndOfStreamException(var_2_20, newobj:EndOfStreamException(EndOfStreamException::.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: 0x0600B43C RID: 46140 RVA: 0x0026E420 File Offset: 0x0026C620 [Token(Token = "0x600B43C")] [Address(RVA = "0x46CF90", Offset = "0x46BF90", VA = "0x18046CF90")] public static void ReadFully(byte[] buf, Stream input) { int length = buf.Length; int num = 0; int num2 = Streams.ReadFully(input, buf, num, length); } // Token: 0x0600B43D RID: 46141 RVA: 0x0026E448 File Offset: 0x0026C648 [Token(Token = "0x600B43D")] [Address(RVA = "0x46D100", Offset = "0x46C100", VA = "0x18046D100")] public static byte[] ReadOpaque8(Stream input) { byte[] array = new byte[(int)TlsUtilities.ReadUint8(input)]; TlsUtilities.ReadFully(array, input); return array; } // Token: 0x0600B43E RID: 46142 RVA: 0x0026E46C File Offset: 0x0026C66C [Token(Token = "0x600B43E")] [Address(RVA = "0x46D020", Offset = "0x46C020", VA = "0x18046D020")] public static byte[] ReadOpaque16(Stream input) { byte[] array = new byte[TlsUtilities.ReadUint16(input)]; TlsUtilities.ReadFully(array, input); return array; } // Token: 0x0600B43F RID: 46143 RVA: 0x0026E490 File Offset: 0x0026C690 [Token(Token = "0x600B43F")] [Address(RVA = "0x46D0A0", Offset = "0x46C0A0", VA = "0x18046D0A0")] public static byte[] ReadOpaque24(Stream input) { return TlsUtilities.ReadFully(TlsUtilities.ReadUint24(input), input); } // Token: 0x0600B440 RID: 46144 RVA: 0x0026E4AC File Offset: 0x0026C6AC [Token(Token = "0x600B440")] [Address(RVA = "0x46D9E0", Offset = "0x46C9E0", VA = "0x18046D9E0")] public static byte[] ReadUint8Array(int count, Stream input) { byte[] array = new byte[count]; int num = 0; if (count > 0) { byte b = TlsUtilities.ReadUint8(input); num++; } return array; } // Token: 0x0600B441 RID: 46145 RVA: 0x0026E4D8 File Offset: 0x0026C6D8 [Token(Token = "0x600B441")] [Address(RVA = "0x46D3B0", Offset = "0x46C3B0", VA = "0x18046D3B0")] public static int[] ReadUint16Array(int count, Stream input) { int[] array = new int[count]; int num = 0; if (count > 0) { int num2 = TlsUtilities.ReadUint16(input); num++; array[0] = num2; } return array; } // Token: 0x0600B442 RID: 46146 RVA: 0x0026E50C File Offset: 0x0026C70C [Token(Token = "0x600B442")] [Address(RVA = "0x46DC00", Offset = "0x46CC00", VA = "0x18046DC00")] public static ProtocolVersion ReadVersion(byte[] buf, int offset) { int length = buf.Length; int num = offset + 1; byte b; byte b2; return ProtocolVersion.Get((int)b, (int)b2); } // Token: 0x0600B443 RID: 46147 RVA: 0x0026E534 File Offset: 0x0026C734 [Token(Token = "0x600B443")] [Address(RVA = "0x46DCB0", Offset = "0x46CCB0", VA = "0x18046DCB0")] public static ProtocolVersion ReadVersion(Stream input) { int num; int num2; return ProtocolVersion.Get(num, num2); } // Token: 0x0600B444 RID: 46148 RVA: 0x0026E550 File Offset: 0x0026C750 [Token(Token = "0x600B444")] [Address(RVA = "0x46D510", Offset = "0x46C510", VA = "0x18046D510")] public static int ReadVersionRaw(byte[] buf, int offset) { int length = buf.Length; throw new NullReferenceException(); } // Token: 0x0600B445 RID: 46149 RVA: 0x0026E56C File Offset: 0x0026C76C [Token(Token = "0x600B445")] [Address(RVA = "0x46DB60", Offset = "0x46CB60", VA = "0x18046DB60")] public static int ReadVersionRaw(Stream input) { int num; return num; } // Token: 0x0600B446 RID: 46150 RVA: 0x0026E580 File Offset: 0x0026C780 [Token(Token = "0x600B446")] [Address(RVA = "0x46CB80", Offset = "0x46BB80", VA = "0x18046CB80")] public static Asn1Object ReadAsn1Object(byte[] encoding) { Asn1Object asn1Object; for (;;) { int num; MemoryStream memoryStream = new MemoryStream(encoding, num != 0); num = 0; int length; Asn1InputStream asn1InputStream = new Asn1InputStream(memoryStream, length); length = encoding.Length; asn1Object = asn1InputStream.ReadObject(); if (asn1Object != 0) { long length2 = memoryStream.Length; bool canWrite = memoryStream.CanWrite; if (length2 == (canWrite ? 1L : 0L)) { break; } } } return asn1Object; } // Token: 0x0600B447 RID: 46151 RVA: 0x0026E5D4 File Offset: 0x0026C7D4 [Token(Token = "0x600B447")] [Address(RVA = "0x46CCC0", Offset = "0x46BCC0", VA = "0x18046CCC0")] public static Asn1Object ReadDerObject(byte[] encoding) { Asn1Object asn1Object; for (;;) { int num; MemoryStream memoryStream = new MemoryStream(encoding, num != 0); num = 0; int length; Asn1InputStream asn1InputStream = new Asn1InputStream(memoryStream, length); length = encoding.Length; asn1Object = asn1InputStream.ReadObject(); if (asn1Object != 0) { long length2 = memoryStream.Length; bool canWrite = memoryStream.CanWrite; if (length2 == (canWrite ? 1L : 0L) && Arrays.AreEqual(asn1Object.GetEncoded("DER"), encoding)) { break; } } } return asn1Object; } // Token: 0x0600B448 RID: 46152 RVA: 0x0026E63C File Offset: 0x0026C83C [Token(Token = "0x600B448")] [Address(RVA = "0x46E470", Offset = "0x46D470", VA = "0x18046E470")] public static void WriteGmtUnixTime(byte[] buf, int offset) { long num = DateTimeUtilities.CurrentUnixMs(); ulong num2; num2 += num2; int num3 = offset + 1; } // Token: 0x0600B449 RID: 46153 RVA: 0x0026E660 File Offset: 0x0026C860 [Token(Token = "0x600B449")] [Address(RVA = "0x46F720", Offset = "0x46E720", VA = "0x18046F720")] public static void WriteVersion(ProtocolVersion version, Stream output) { int majorVersion = version.MajorVersion; int minorVersion = version.MinorVersion; bool canRead = output.CanRead; } // Token: 0x0600B44A RID: 46154 RVA: 0x0026E688 File Offset: 0x0026C888 [Token(Token = "0x600B44A")] [Address(RVA = "0x46F6A0", Offset = "0x46E6A0", VA = "0x18046F6A0")] public static void WriteVersion(ProtocolVersion version, byte[] buf, int offset) { int majorVersion = version.MajorVersion; int minorVersion = version.MinorVersion; } // Token: 0x0600B44B RID: 46155 RVA: 0x0026E6AC File Offset: 0x0026C8AC [Token(Token = "0x600B44B")] [Address(RVA = "0x4699F0", Offset = "0x4689F0", VA = "0x1804699F0")] public static IList GetAllSignatureAlgorithms() { return Platform.CreateArrayList(4); } // Token: 0x0600B44C RID: 46156 RVA: 0x0026E6C8 File Offset: 0x0026C8C8 [Token(Token = "0x600B44C")] [Address(RVA = "0x469EC0", Offset = "0x468EC0", VA = "0x180469EC0")] public static IList GetDefaultDssSignatureAlgorithms() { SignatureAndHashAlgorithm signatureAndHashAlgorithm; return TlsUtilities.VectorOfOne(signatureAndHashAlgorithm); } // Token: 0x0600B44D RID: 46157 RVA: 0x0026E6DC File Offset: 0x0026C8DC [Token(Token = "0x600B44D")] [Address(RVA = "0x469F30", Offset = "0x468F30", VA = "0x180469F30")] public static IList GetDefaultECDsaSignatureAlgorithms() { SignatureAndHashAlgorithm signatureAndHashAlgorithm; return TlsUtilities.VectorOfOne(signatureAndHashAlgorithm); } // Token: 0x0600B44E RID: 46158 RVA: 0x0026E6F0 File Offset: 0x0026C8F0 [Token(Token = "0x600B44E")] [Address(RVA = "0x469FA0", Offset = "0x468FA0", VA = "0x180469FA0")] public static IList GetDefaultRsaSignatureAlgorithms() { SignatureAndHashAlgorithm signatureAndHashAlgorithm; return TlsUtilities.VectorOfOne(signatureAndHashAlgorithm); } // Token: 0x0600B44F RID: 46159 RVA: 0x0026E704 File Offset: 0x0026C904 [Token(Token = "0x600B44F")] [Address(RVA = "0x46A560", Offset = "0x469560", VA = "0x18046A560")] public static byte[] GetExtensionData(IDictionary extensions, int extensionType) { /* An exception occurred when decompiling this method (0600B44F) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::GetExtensionData(System.Collections.IDictionary,System.Int32) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_18: stloc:int32(var_1_1C, add:int32(ldloc:int32(var_1_0F), ldc.i4:int32(19))) } 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: 0x0600B450 RID: 46160 RVA: 0x0026E730 File Offset: 0x0026C930 [Token(Token = "0x600B450")] [Address(RVA = "0x46A010", Offset = "0x469010", VA = "0x18046A010")] public static IList GetDefaultSupportedSignatureAlgorithms() { byte[] array = new byte[5]; RuntimeHelpers.InitializeArray(array, fieldof(.79D1A3D3B708EBFF6FA27AAF280AC9B637B4FF31).FieldHandle); byte[] array2 = new byte[3]; RuntimeHelpers.InitializeArray(array2, fieldof(.7037807198C22A7D2B0807371D763779A84FDFCF).FieldHandle); IList list = Platform.CreateArrayList(); int num = 0; int num2 = 0; if (num2 < array2.Length) { int num3 = 0; if (num3 < array.Length) { byte b; byte b2; SignatureAndHashAlgorithm signatureAndHashAlgorithm = new SignatureAndHashAlgorithm(b, b2); num3++; } num++; } return list; } // Token: 0x0600B451 RID: 46161 RVA: 0x0026E7A8 File Offset: 0x0026C9A8 [Token(Token = "0x600B451")] [Address(RVA = "0x46B180", Offset = "0x46A180", VA = "0x18046B180")] public static SignatureAndHashAlgorithm GetSignatureAndHashAlgorithm(TlsContext context, TlsSignerCredentials signerCredentials) { /* An exception occurred when decompiling this method (0600B451) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SignatureAndHashAlgorithm BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::GetSignatureAndHashAlgorithm(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsContext,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsSignerCredentials) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_1F: stloc:TlsFatalAlert(var_3_26, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_4))) } 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: 0x0600B452 RID: 46162 RVA: 0x0026E7DC File Offset: 0x0026C9DC [Token(Token = "0x600B452")] [Address(RVA = "0x46B9B0", Offset = "0x46A9B0", VA = "0x18046B9B0")] public static bool HasExpectedEmptyExtensionData(IDictionary extensions, int extensionType, byte alertDescription) { /* An exception occurred when decompiling this method (0600B452) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::HasExpectedEmptyExtensionData(System.Collections.IDictionary,System.Int32,System.Byte) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_17: stloc:TlsFatalAlert(var_1_1D, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint8(alertDescription))) } 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: 0x0600B453 RID: 46163 RVA: 0x0026E808 File Offset: 0x0026CA08 [Token(Token = "0x600B453")] [Address(RVA = "0x46BA90", Offset = "0x46AA90", VA = "0x18046BA90")] public static TlsSession ImportSession(byte[] sessionID, SessionParameters sessionParameters) { /* An exception occurred when decompiling this method (0600B453) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsSession BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::ImportSession(System.Byte[],BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SessionParameters) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_35: stloc:ArgumentNullException(var_3_3F, 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.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: 0x0600B454 RID: 46164 RVA: 0x0026E854 File Offset: 0x0026CA54 [Token(Token = "0x600B454")] [Address(RVA = "0x46BC90", Offset = "0x46AC90", VA = "0x18046BC90")] public static bool IsSignatureAlgorithmsExtensionAllowed(ProtocolVersion clientVersion) { ProtocolVersion tlsv = ProtocolVersion.TLSv12; ProtocolVersion equivalentTLSVersion = clientVersion.GetEquivalentTLSVersion(); return tlsv.IsEqualOrEarlierVersionOf(equivalentTLSVersion); } // Token: 0x0600B455 RID: 46165 RVA: 0x0026E87C File Offset: 0x0026CA7C [Token(Token = "0x600B455")] [Address(RVA = "0x4675D0", Offset = "0x4665D0", VA = "0x1804675D0")] public static void AddSignatureAlgorithmsExtension(IDictionary extensions, IList supportedSignatureAlgorithms) { MemoryStream memoryStream = new MemoryStream(); int num = 0; TlsUtilities.EncodeSupportedSignatureAlgorithms(supportedSignatureAlgorithms, num != 0, memoryStream); } // Token: 0x0600B456 RID: 46166 RVA: 0x0026E8A0 File Offset: 0x0026CAA0 [Token(Token = "0x600B456")] [Address(RVA = "0x46B0F0", Offset = "0x46A0F0", VA = "0x18046B0F0")] public static IList GetSignatureAlgorithmsExtension(IDictionary extensions) { byte[] extensionData = TlsUtilities.GetExtensionData(extensions, 13); if (extensionData == 0) { } return TlsUtilities.ReadSignatureAlgorithmsExtension(extensionData); } // Token: 0x0600B457 RID: 46167 RVA: 0x0026E8C0 File Offset: 0x0026CAC0 [Token(Token = "0x600B457")] [Address(RVA = "0x468E20", Offset = "0x467E20", VA = "0x180468E20")] public static byte[] CreateSignatureAlgorithmsExtension(IList supportedSignatureAlgorithms) { MemoryStream memoryStream = new MemoryStream(); int num = 0; TlsUtilities.EncodeSupportedSignatureAlgorithms(supportedSignatureAlgorithms, num != 0, memoryStream); ((IDisposable)memoryStream).Dispose(); throw new NullReferenceException(); } // Token: 0x0600B458 RID: 46168 RVA: 0x0026E8E8 File Offset: 0x0026CAE8 [Token(Token = "0x600B458")] [Address(RVA = "0x46D180", Offset = "0x46C180", VA = "0x18046D180")] public static IList ReadSignatureAlgorithmsExtension(byte[] extensionData) { /* An exception occurred when decompiling this method (0600B458) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IList BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::ReadSignatureAlgorithmsExtension(System.Byte[]) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_4A: stloc:ArgumentNullException(var_7_54, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("extensionData"))) stloc:TlsFatalAlert(var_8_5D, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_9))) } 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: 0x0600B459 RID: 46169 RVA: 0x0026E954 File Offset: 0x0026CB54 [Token(Token = "0x600B459")] [Address(RVA = "0x469290", Offset = "0x468290", VA = "0x180469290")] public static void EncodeSupportedSignatureAlgorithms(IList supportedSignatureAlgorithms, bool allowAnonymous, Stream output) { /* An exception occurred when decompiling this method (0600B459) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::EncodeSupportedSignatureAlgorithms(System.Collections.IList,System.Boolean,System.IO.Stream) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_2C: stloc:ArgumentException(var_2_3B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("must have length from 1 to (2^15 - 1)"), ldstr:string("supportedSignatureAlgorithms"))) } 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: 0x0600B45A RID: 46170 RVA: 0x0026E99C File Offset: 0x0026CB9C [Token(Token = "0x600B45A")] [Address(RVA = "0x46C900", Offset = "0x46B900", VA = "0x18046C900")] public static IList ParseSupportedSignatureAlgorithms(bool allowAnonymous, Stream input) { /* An exception occurred when decompiling this method (0600B45A) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IList BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::ParseSupportedSignatureAlgorithms(System.Boolean,System.IO.Stream) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_39: stloc:TlsFatalAlert(var_6_40, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_7))) stloc:TlsFatalAlert(var_8_49, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_9))) } 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: 0x0600B45B RID: 46171 RVA: 0x0026E9F4 File Offset: 0x0026CBF4 [Token(Token = "0x600B45B")] [Address(RVA = "0x46E170", Offset = "0x46D170", VA = "0x18046E170")] public static void VerifySupportedSignatureAlgorithm(IList supportedSignatureAlgorithms, SignatureAndHashAlgorithm signatureAlgorithm) { /* An exception occurred when decompiling this method (0600B45B) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::VerifySupportedSignatureAlgorithm(System.Collections.IList,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SignatureAndHashAlgorithm) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_43: stloc:ArgumentNullException(var_5_4D, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("signatureAlgorithm"))) } 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: 0x0600B45C RID: 46172 RVA: 0x0026EA50 File Offset: 0x0026CC50 [Token(Token = "0x600B45C")] [Address(RVA = "0x46C6F0", Offset = "0x46B6F0", VA = "0x18046C6F0")] public static byte[] PRF(TlsContext context, byte[] secret, string asciiLabel, byte[] seed, int size) { /* An exception occurred when decompiling this method (0600B45C) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::PRF(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsContext,System.Byte[],System.String,System.Byte[],System.Int32) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_3C: stloc:InvalidOperationException(var_8_46, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("No PRF available for SSLv3 session"))) } 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: 0x0600B45D RID: 46173 RVA: 0x0026EAA4 File Offset: 0x0026CCA4 [Token(Token = "0x600B45D")] [Address(RVA = "0x46C490", Offset = "0x46B490", VA = "0x18046C490")] public static byte[] PRF_legacy(byte[] secret, string asciiLabel, byte[] seed, int size) { byte[] array = Strings.ToByteArray(asciiLabel); byte[] array2 = TlsUtilities.Concat(array, seed); return TlsUtilities.PRF_legacy(secret, array, array2, size); } // Token: 0x0600B45E RID: 46174 RVA: 0x0026EACC File Offset: 0x0026CCCC [Token(Token = "0x600B45E")] [Address(RVA = "0x46C540", Offset = "0x46B540", VA = "0x18046C540")] internal static byte[] PRF_legacy(byte[] secret, byte[] label, byte[] labelSeed, int size) { int num = secret.Length; num++; num -= label; byte[] array = new byte[num]; byte[] array2 = new byte[num]; int num2 = 0; int num3 = 0; int num4 = 0; Array.Copy(secret, num4, array, num3, num); int num5 = secret.Length; int num6 = 0; num5 -= num; Array.Copy(secret, num5, array2, num6, num); byte[] array3 = new byte[size]; byte[] array4 = new byte[size]; ulong num7; TlsUtilities.HMacHash(TlsUtilities.CreateHash((byte)num7), array, labelSeed, array3); ulong num8; TlsUtilities.HMacHash(TlsUtilities.CreateHash((byte)num8), array2, labelSeed, array4); if (size > 0) { num2++; } return array3; } // Token: 0x0600B45F RID: 46175 RVA: 0x0026EB70 File Offset: 0x0026CD70 [Token(Token = "0x600B45F")] [Address(RVA = "0x468AF0", Offset = "0x467AF0", VA = "0x180468AF0")] internal static byte[] Concat(byte[] a, byte[] b) { byte[] array = new byte[a.Length]; int length = a.Length; int num = 0; int num2 = 0; Array.Copy(a, num2, array, num, length); int length2 = b.Length; int length3 = a.Length; int num3 = 0; Array.Copy(b, num3, array, length3, length2); return array; } // Token: 0x0600B460 RID: 46176 RVA: 0x0026EBC8 File Offset: 0x0026CDC8 [Token(Token = "0x600B460")] [Address(RVA = "0x46B740", Offset = "0x46A740", VA = "0x18046B740")] internal static void HMacHash(IDigest digest, byte[] secret, byte[] seed, byte[] output) { HMac hmac = new HMac(digest); KeyParameter keyParameter = new KeyParameter(secret); IDigest underlyingDigest = hmac.GetUnderlyingDigest(); int num = output.Length; num += underlyingDigest; byte[] array = new byte[num]; byte[] array2 = new byte[array]; int num2 = 0; if (num > 0) { int num3 = 0; hmac.Update(seed); hmac.Update(array); hmac.Update(seed); int num4 = output.Length; num4 -= num3; int num5 = 0; int num6; Array.Copy(array2, num5, output, num3, num6); num2++; num3 += underlyingDigest; } } // Token: 0x0600B461 RID: 46177 RVA: 0x0026EC58 File Offset: 0x0026CE58 [Token(Token = "0x600B461")] [Address(RVA = "0x46DFC0", Offset = "0x46CFC0", VA = "0x18046DFC0")] internal static void ValidateKeyUsage(X509CertificateStructure c, int keyUsageBits) { X509Extension extension; do { X509Extensions extensions = c.tbsCert.extensions; if (extensions == 0) { break; } DerObjectIdentifier keyUsage = X509Extensions.KeyUsage; extension = extensions.GetExtension(keyUsage); } while (extension != 0 && (int)KeyUsage.GetInstance(extension).GetOctets()[0] != keyUsageBits); } // Token: 0x0600B462 RID: 46178 RVA: 0x0026ECA4 File Offset: 0x0026CEA4 [Token(Token = "0x600B462")] [Address(RVA = "0x4679D0", Offset = "0x4669D0", VA = "0x1804679D0")] internal static byte[] CalculateKeyBlock(TlsContext context, int size) { bool flag; if (!flag) { byte[] array; return array; } throw new NullReferenceException(); } // Token: 0x0600B463 RID: 46179 RVA: 0x0026ECBC File Offset: 0x0026CEBC [Token(Token = "0x600B463")] [Address(RVA = "0x467700", Offset = "0x466700", VA = "0x180467700")] internal static byte[] CalculateKeyBlock_Ssl(byte[] master_secret, byte[] random, int size) { ulong num; IDigest digest = TlsUtilities.CreateHash((byte)num); ulong num2; IDigest digest2 = TlsUtilities.CreateHash((byte)num2); byte[] array = new byte[digest2]; byte[] array2 = new byte[digest2]; int num3 = 0; if (size > 0) { int length = TlsUtilities.SSL3_CONST[num3].Length; int length2 = master_secret.Length; int length3 = random.Length; int length4 = master_secret.Length; int length5 = array.Length; num3++; } int num4 = 0; return Arrays.CopyOfRange(array2, num4, size); } // Token: 0x0600B464 RID: 46180 RVA: 0x0026ED40 File Offset: 0x0026CF40 [Token(Token = "0x600B464")] [Address(RVA = "0x467E10", Offset = "0x466E10", VA = "0x180467E10")] internal static byte[] CalculateMasterSecret(TlsContext context, byte[] pre_master_secret) { bool flag; if (!flag) { if (flag) { } byte[] array; ulong num; return TlsUtilities.PRF(context, pre_master_secret, "master secret", array, (int)num); } throw new NullReferenceException(); } // Token: 0x0600B465 RID: 46181 RVA: 0x0026ED6C File Offset: 0x0026CF6C [Token(Token = "0x600B465")] [Address(RVA = "0x467B80", Offset = "0x466B80", VA = "0x180467B80")] internal static byte[] CalculateMasterSecret_Ssl(byte[] pre_master_secret, byte[] random) { ulong num; IDigest digest = TlsUtilities.CreateHash((byte)num); ulong num2; IDigest digest2 = TlsUtilities.CreateHash((byte)num2); byte[] array = new byte[digest2]; byte[] array2 = new byte[digest2]; int num3 = 0; int length = TlsUtilities.SSL3_CONST[num3].Length; int length2 = pre_master_secret.Length; int length3 = random.Length; int length4 = pre_master_secret.Length; int length5 = array.Length; num3++; return array2; } // Token: 0x0600B466 RID: 46182 RVA: 0x0026EDE0 File Offset: 0x0026CFE0 [Token(Token = "0x600B466")] [Address(RVA = "0x468040", Offset = "0x467040", VA = "0x180468040")] internal static byte[] CalculateVerifyData(TlsContext context, string asciiLabel, byte[] handshakeHash) { bool flag; if (!flag) { byte[] array; return array; } throw new NullReferenceException(); } // Token: 0x0600B467 RID: 46183 RVA: 0x0026EDFC File Offset: 0x0026CFFC [Token(Token = "0x600B467")] [Address(RVA = "0x468BA0", Offset = "0x467BA0", VA = "0x180468BA0")] public static IDigest CreateHash(byte hashAlgorithm) { /* An exception occurred when decompiling this method (0600B467) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::CreateHash(System.Byte) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:MD5Digest(var_0_05, newobj:MD5Digest(MD5Digest::.ctor)) stloc:Sha1Digest(var_1_0B, newobj:Sha1Digest(Sha1Digest::.ctor)) stloc:Sha224Digest(var_2_11, newobj:Sha224Digest(Sha224Digest::.ctor)) stloc:Sha256Digest(var_3_17, newobj:Sha256Digest(Sha256Digest::.ctor)) stloc:Sha384Digest(var_4_1D, newobj:Sha384Digest(Sha384Digest::.ctor)) stloc:Sha512Digest(var_5_24, newobj:Sha512Digest(Sha512Digest::.ctor)) stloc:ArgumentException(var_6_35, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("unknown HashAlgorithm"), ldstr:string("hashAlgorithm"))) } 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: 0x0600B468 RID: 46184 RVA: 0x0026EE40 File Offset: 0x0026D040 [Token(Token = "0x600B468")] [Address(RVA = "0x468D10", Offset = "0x467D10", VA = "0x180468D10")] public static IDigest CreateHash(SignatureAndHashAlgorithm signatureAndHashAlgorithm) { if (signatureAndHashAlgorithm == 0) { CombinedHash combinedHash = new CombinedHash(); } string text = signatureAndHashAlgorithm.ToString(); IDigest digest; return digest; } // Token: 0x0600B469 RID: 46185 RVA: 0x0026EE60 File Offset: 0x0026D060 [Token(Token = "0x600B469")] [Address(RVA = "0x468610", Offset = "0x467610", VA = "0x180468610")] public static IDigest CloneHash(byte hashAlgorithm, IDigest hash) { /* An exception occurred when decompiling this method (0600B469) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::CloneHash(System.Byte,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:MD5Digest(var_0, newobj:MD5Digest(MD5Digest::.ctor, ldloc:MD5Digest(var_0))) stloc:Sha1Digest(var_1, newobj:Sha1Digest(Sha1Digest::.ctor, ldloc:Sha1Digest(var_1))) stloc:Sha224Digest(var_2, newobj:Sha224Digest(Sha224Digest::.ctor, ldloc:Sha224Digest(var_2))) stloc:Sha256Digest(var_3, newobj:Sha256Digest(Sha256Digest::.ctor, ldloc:Sha256Digest(var_3))) stloc:Sha384Digest(var_4, newobj:Sha384Digest(Sha384Digest::.ctor, ldloc:Sha384Digest(var_4))) stloc:Sha512Digest(var_5, newobj:Sha512Digest(Sha512Digest::.ctor, ldloc:Sha512Digest(var_5))) stloc:ArgumentException(var_6_3D, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("unknown HashAlgorithm"), ldstr:string("hashAlgorithm"))) } 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: 0x0600B46A RID: 46186 RVA: 0x0026EEAC File Offset: 0x0026D0AC [Token(Token = "0x600B46A")] [Address(RVA = "0x468DA0", Offset = "0x467DA0", VA = "0x180468DA0")] public static IDigest CreatePrfHash(int prfAlgorithm) { /* An exception occurred when decompiling this method (0600B46A) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::CreatePrfHash(System.Int32) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_10: stloc:CombinedHash(var_0_15, newobj:CombinedHash(CombinedHash::.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: 0x0600B46B RID: 46187 RVA: 0x0026EED0 File Offset: 0x0026D0D0 [Token(Token = "0x600B46B")] [Address(RVA = "0x468810", Offset = "0x467810", VA = "0x180468810")] public static IDigest ClonePrfHash(int prfAlgorithm, IDigest hash) { /* An exception occurred when decompiling this method (0600B46B) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::ClonePrfHash(System.Int32,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_4E: stloc:ArgumentException(var_11_60, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("unknown HashAlgorithm"), ldstr:string("hashAlgorithm"))) } 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: 0x0600B46C RID: 46188 RVA: 0x0026EF40 File Offset: 0x0026D140 [Token(Token = "0x600B46C")] [Address(RVA = "0x46A670", Offset = "0x469670", VA = "0x18046A670")] public static byte GetHashAlgorithmForPrfAlgorithm(int prfAlgorithm) { /* An exception occurred when decompiling this method (0600B46C) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::GetHashAlgorithmForPrfAlgorithm(System.Int32) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_1C: stloc:ArgumentException(var_3_2B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("unknown PrfAlgorithm"), ldstr:string("prfAlgorithm"))) } 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: 0x0600B46D RID: 46189 RVA: 0x0026EF78 File Offset: 0x0026D178 [Token(Token = "0x600B46D")] [Address(RVA = "0x46AF00", Offset = "0x469F00", VA = "0x18046AF00")] public static DerObjectIdentifier GetOidForHashAlgorithm(byte hashAlgorithm) { return PkcsObjectIdentifiers.MD5; } // Token: 0x0600B46E RID: 46190 RVA: 0x0026EFB8 File Offset: 0x0026D1B8 [Token(Token = "0x600B46E")] [Address(RVA = "0x469C00", Offset = "0x468C00", VA = "0x180469C00")] internal static short GetClientCertificateType(Certificate clientCertificate, Certificate serverCertificate) { if (clientCertificate.Length == 0) { X509CertificateStructure[] certificateList = clientCertificate.GetCertificateList(); AsymmetricKeyParameter asymmetricKeyParameter = PublicKeyFactory.CreateKey(certificateList.SubjectPublicKeyInfo); if (!asymmetricKeyParameter.privateKey) { if (asymmetricKeyParameter == 0) { if (asymmetricKeyParameter == 0) { if (asymmetricKeyParameter == 0) { goto IL_65; } TlsUtilities.ValidateKeyUsage(certificateList, 128); } TlsUtilities.ValidateKeyUsage(certificateList, 128); } TlsUtilities.ValidateKeyUsage(certificateList, 128); goto IL_5F; } IL_65: throw new NullReferenceException(); } IL_5F: throw new NullReferenceException(); } // Token: 0x0600B46F RID: 46191 RVA: 0x0026F034 File Offset: 0x0026D234 [Token(Token = "0x600B46F")] [Address(RVA = "0x46DD70", Offset = "0x46CD70", VA = "0x18046DD70")] internal static void TrackHashAlgorithms(TlsHandshakeHash handshakeHash, IList supportedSignatureAlgorithms) { int num; do { num = 0; if (supportedSignatureAlgorithms == 0) { break; } num += num; num++; num++; num += 19; ulong num2; num = (int)((ulong)num + num2); if (num == 0 || num == 0) { goto IL_44; } string text = num.ToString(); bool flag; while (!flag) { } if (flag) { } } while (num != 0); return; IL_44: throw new NullReferenceException(); } // Token: 0x0600B470 RID: 46192 RVA: 0x0026F090 File Offset: 0x0026D290 [Token(Token = "0x600B470")] [Address(RVA = "0x46BA70", Offset = "0x46AA70", VA = "0x18046BA70")] public static bool HasSigningCapability(byte clientCertificateType) { return true; } // Token: 0x0600B471 RID: 46193 RVA: 0x0026F0A0 File Offset: 0x0026D2A0 [Token(Token = "0x600B471")] [Address(RVA = "0x468EC0", Offset = "0x467EC0", VA = "0x180468EC0")] public static TlsSigner CreateTlsSigner(byte clientCertificateType) { /* An exception occurred when decompiling this method (0600B471) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsSigner BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::CreateTlsSigner(System.Byte) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_17: stloc:ArgumentException(var_2_26, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("not a type with signing capability"), ldstr:string("clientCertificateType"))) } 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: 0x0600B472 RID: 46194 RVA: 0x0026F0D4 File Offset: 0x0026D2D4 [Token(Token = "0x600B472")] [Address(RVA = "0x469900", Offset = "0x468900", VA = "0x180469900")] private static byte[][] GenSsl3Const() { byte[][] array = new byte[10][]; byte[] array2 = new byte[0]; throw new ArrayTypeMismatchException(); } // Token: 0x0600B473 RID: 46195 RVA: 0x0026F108 File Offset: 0x0026D308 [Token(Token = "0x600B473")] [Address(RVA = "0x46E0E0", Offset = "0x46D0E0", VA = "0x18046E0E0")] private static IList VectorOfOne(object obj) { return Platform.CreateArrayList(1); } // Token: 0x0600B474 RID: 46196 RVA: 0x0026F124 File Offset: 0x0026D324 [Token(Token = "0x600B474")] [Address(RVA = "0x469B10", Offset = "0x468B10", VA = "0x180469B10")] public static int GetCipherType(int ciphersuite) { /* An exception occurred when decompiling this method (0600B474) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::GetCipherType(System.Int32) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_19: stloc:TlsFatalAlert(var_4_20, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_5))) } 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: 0x0600B475 RID: 46197 RVA: 0x0026F154 File Offset: 0x0026D354 [Token(Token = "0x600B475")] [Address(RVA = "0x46A1A0", Offset = "0x4691A0", VA = "0x18046A1A0")] public static int GetEncryptionAlgorithm(int ciphersuite) { /* An exception occurred when decompiling this method (0600B475) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::GetEncryptionAlgorithm(System.Int32) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_21: stloc:TlsFatalAlert(var_18_28, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_19))) } 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: 0x0600B476 RID: 46198 RVA: 0x0026F18C File Offset: 0x0026D38C [Token(Token = "0x600B476")] [Address(RVA = "0x46A730", Offset = "0x469730", VA = "0x18046A730")] public static int GetKeyExchangeAlgorithm(int ciphersuite) { /* An exception occurred when decompiling this method (0600B476) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::GetKeyExchangeAlgorithm(System.Int32) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_23: stloc:TlsFatalAlert(var_19_2A, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_20))) } 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: 0x0600B477 RID: 46199 RVA: 0x0026F1C4 File Offset: 0x0026D3C4 [Token(Token = "0x600B477")] [Address(RVA = "0x46AB40", Offset = "0x469B40", VA = "0x18046AB40")] public static int GetMacAlgorithm(int ciphersuite) { /* An exception occurred when decompiling this method (0600B477) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::GetMacAlgorithm(System.Int32) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_1C: stloc:TlsFatalAlert(var_4_23, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_5))) } 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: 0x0600B478 RID: 46200 RVA: 0x0026F1F8 File Offset: 0x0026D3F8 [Token(Token = "0x600B478")] [Address(RVA = "0x46ADE0", Offset = "0x469DE0", VA = "0x18046ADE0")] public static ProtocolVersion GetMinimumVersion(int ciphersuite) { if (ciphersuite > 49202 && ciphersuite > 49327) { return ProtocolVersion.TLSv12; } if (ciphersuite > 109) { } return ProtocolVersion.SSLv3; } // Token: 0x0600B479 RID: 46201 RVA: 0x0026F228 File Offset: 0x0026D428 [Token(Token = "0x600B479")] [Address(RVA = "0x46BBD0", Offset = "0x46ABD0", VA = "0x18046BBD0")] public static bool IsAeadCipherSuite(int ciphersuite) { return TlsUtilities.GetCipherType(ciphersuite) == 2; } // Token: 0x0600B47A RID: 46202 RVA: 0x0026F240 File Offset: 0x0026D440 [Token(Token = "0x600B47A")] [Address(RVA = "0x46BC30", Offset = "0x46AC30", VA = "0x18046BC30")] public static bool IsBlockCipherSuite(int ciphersuite) { return TlsUtilities.GetCipherType(ciphersuite) == 1; } // Token: 0x0600B47B RID: 46203 RVA: 0x0026F258 File Offset: 0x0026D458 [Token(Token = "0x600B47B")] [Address(RVA = "0x46BD80", Offset = "0x46AD80", VA = "0x18046BD80")] public static bool IsStreamCipherSuite(int ciphersuite) { return TlsUtilities.GetCipherType(ciphersuite) == 0; } // Token: 0x0600B47C RID: 46204 RVA: 0x0026F270 File Offset: 0x0026D470 [Token(Token = "0x600B47C")] [Address(RVA = "0x46C0E0", Offset = "0x46B0E0", VA = "0x18046C0E0")] public static bool IsValidCipherSuiteForSignatureAlgorithms(int cipherSuite, IList sigAlgs) { int num = TlsUtilities.GetKeyExchangeAlgorithm(cipherSuite); num += -3; if (num <= 20) { } throw new NullReferenceException(); } // Token: 0x0600B47D RID: 46205 RVA: 0x0026F294 File Offset: 0x0026D494 [Token(Token = "0x600B47D")] [Address(RVA = "0x46C260", Offset = "0x46B260", VA = "0x18046C260")] public static bool IsValidCipherSuiteForVersion(int cipherSuite, ProtocolVersion serverVersion) { if (cipherSuite > 49202 && cipherSuite > 49327) { ProtocolVersion sslv = ProtocolVersion.SSLv3; ProtocolVersion equivalentTLSVersion = serverVersion.GetEquivalentTLSVersion(); return sslv.IsEqualOrEarlierVersionOf(equivalentTLSVersion); } if (cipherSuite > 109) { } throw new NullReferenceException(); } // Token: 0x0600B47E RID: 46206 RVA: 0x0026F2D0 File Offset: 0x0026D4D0 [Token(Token = "0x600B47E")] [Address(RVA = "0x46B2B0", Offset = "0x46A2B0", VA = "0x18046B2B0")] public static IList GetUsableSignatureAlgorithms(IList sigHashAlgs) { int num; IList list; do { num = 0; if (sigHashAlgs == 0) { goto IL_57; } list = Platform.CreateArrayList(4); byte b; if (num < (int)b) { num += num; num++; } num++; num += 19; ulong num2; num = (int)((ulong)num + num2); if (num == 0 || num == 0) { goto IL_64; } if (num < num) { num += num; num++; } while (num != 0) { } num += 3; num += 19; if (num != 0) { } } while (num != 0); return list; IL_57: return Platform.CreateArrayList(4); IL_64: throw new NullReferenceException(); } // Token: 0x0600B47F RID: 46207 RVA: 0x0026F34C File Offset: 0x0026D54C [Token(Token = "0x600B47F")] [Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")] protected TlsUtilities() { } // Token: 0x0600B480 RID: 46208 RVA: 0x0026F360 File Offset: 0x0026D560 // Note: this type is marked as 'beforefieldinit'. [Token(Token = "0x600B480")] [Address(RVA = "0x46F790", Offset = "0x46E790", VA = "0x18046F790")] static TlsUtilities() { byte[] array = new byte[4]; RuntimeHelpers.InitializeArray(array, fieldof(.31D8729F7377B44017C0A2395A582C9CA4163277).FieldHandle); TlsUtilities.SSL_CLIENT = array; byte[] array2 = new byte[4]; RuntimeHelpers.InitializeArray(array2, fieldof(.1397D288BDA63B8D4B5F30CFFB9FF5A965AA7A1C).FieldHandle); TlsUtilities.SSL_SERVER = array2; byte[][] array3 = new byte[10][]; byte[] array4 = new byte[0]; throw new ArrayTypeMismatchException(); } // Token: 0x04007245 RID: 29253 [Token(Token = "0x4007245")] public static readonly byte[] EmptyBytes = new byte[0]; // Token: 0x04007246 RID: 29254 [Token(Token = "0x4007246")] public static readonly short[] EmptyShorts = new short[0]; // Token: 0x04007247 RID: 29255 [Token(Token = "0x4007247")] public static readonly int[] EmptyInts = new int[0]; // Token: 0x04007248 RID: 29256 [Token(Token = "0x4007248")] public static readonly long[] EmptyLongs = new long[0]; // Token: 0x04007249 RID: 29257 [Token(Token = "0x4007249")] internal static readonly byte[] SSL_CLIENT; // Token: 0x0400724A RID: 29258 [Token(Token = "0x400724A")] internal static readonly byte[] SSL_SERVER; // Token: 0x0400724B RID: 29259 [Token(Token = "0x400724B")] internal static readonly byte[][] SSL3_CONST; } }