using System; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls { // Token: 0x02001B47 RID: 6983 [Token(Token = "0x2001B47")] public sealed class ProtocolVersion { // Token: 0x0600AD6C RID: 44396 RVA: 0x0025C164 File Offset: 0x0025A364 [Token(Token = "0x600AD6C")] [Address(RVA = "0x18BC830", Offset = "0x18BB630", VA = "0x1818BC830")] private ProtocolVersion(int v, string name) { this.name = name; this.version = v; } // Token: 0x17001B73 RID: 7027 // (get) Token: 0x0600AD6D RID: 44397 RVA: 0x0025C188 File Offset: 0x0025A388 [Token(Token = "0x17001B73")] public int FullVersion { [Token(Token = "0x600AD6D")] [Address(RVA = "0x3FA560", Offset = "0x3F9360", VA = "0x1803FA560")] get { return this.version; } } // Token: 0x17001B74 RID: 7028 // (get) Token: 0x0600AD6E RID: 44398 RVA: 0x0025C19C File Offset: 0x0025A39C [Token(Token = "0x17001B74")] public int MajorVersion { [Token(Token = "0x600AD6E")] [Address(RVA = "0x18BC910", Offset = "0x18BB710", VA = "0x1818BC910")] get { return this.version; } } // Token: 0x17001B75 RID: 7029 // (get) Token: 0x0600AD6F RID: 44399 RVA: 0x0025C1B0 File Offset: 0x0025A3B0 [Token(Token = "0x17001B75")] public int MinorVersion { [Token(Token = "0x600AD6F")] [Address(RVA = "0x42D5E0", Offset = "0x42C3E0", VA = "0x18042D5E0")] get { return this.version; } } // Token: 0x17001B76 RID: 7030 // (get) Token: 0x0600AD70 RID: 44400 RVA: 0x0025C1C4 File Offset: 0x0025A3C4 [Token(Token = "0x17001B76")] public bool IsDtls { [Token(Token = "0x600AD70")] [Address(RVA = "0x18BC870", Offset = "0x18BB670", VA = "0x1818BC870")] get { return this.version == 65024; } } // Token: 0x17001B77 RID: 7031 // (get) Token: 0x0600AD71 RID: 44401 RVA: 0x0025C1E0 File Offset: 0x0025A3E0 [Token(Token = "0x17001B77")] public bool IsSsl { [Token(Token = "0x600AD71")] [Address(RVA = "0x18BC890", Offset = "0x18BB690", VA = "0x1818BC890")] get { return this == "{il2cpp field on {'constant10' (constant value of type Cpp2IL.Core.Analysis.ResultModels.StaticFieldsPtr)}, offset 0x0}"; } } // Token: 0x17001B78 RID: 7032 // (get) Token: 0x0600AD72 RID: 44402 RVA: 0x0025C1F8 File Offset: 0x0025A3F8 [Token(Token = "0x17001B78")] public bool IsTls { [Token(Token = "0x600AD72")] [Address(RVA = "0x18BC8F0", Offset = "0x18BB6F0", VA = "0x1818BC8F0")] get { return this.version == 768; } } // Token: 0x0600AD73 RID: 44403 RVA: 0x0025C214 File Offset: 0x0025A414 [Token(Token = "0x600AD73")] [Address(RVA = "0x18BC100", Offset = "0x18BAF00", VA = "0x1818BC100")] public ProtocolVersion GetEquivalentTLSVersion() { if (this.version == 65024) { return ProtocolVersion.TLSv12; } return this; } // Token: 0x0600AD74 RID: 44404 RVA: 0x0025C23C File Offset: 0x0025A43C [Token(Token = "0x600AD74")] [Address(RVA = "0x18BC5D0", Offset = "0x18BB3D0", VA = "0x1818BC5D0")] public bool IsEqualOrEarlierVersionOf(ProtocolVersion version) { int num = version.version; int num2 = this.version; if (num2 == num) { num = num2; num2 = num; num2 -= num; if (num2 == 254) { return num2 <= 0; } } throw new NullReferenceException(); } // Token: 0x0600AD75 RID: 44405 RVA: 0x0025C27C File Offset: 0x0025A47C [Token(Token = "0x600AD75")] [Address(RVA = "0x18BC630", Offset = "0x18BB430", VA = "0x1818BC630")] public bool IsLaterVersionOf(ProtocolVersion version) { int num = version.version; int num2 = this.version; if (num2 == num) { num = num2; num2 = num; num2 -= num; if (num2 == 254) { return num2 > 0; } } throw new NullReferenceException(); } // Token: 0x0600AD76 RID: 44406 RVA: 0x0025C2BC File Offset: 0x0025A4BC [Token(Token = "0x600AD76")] [Address(RVA = "0x18BC060", Offset = "0x18BAE60", VA = "0x1818BC060", Slot = "0")] public override bool Equals(object other) { while (this != other) { if (other != 0 && other != 0) { if (other != 0) { return this.TLSv11 == other; } } } return true; } // Token: 0x0600AD77 RID: 44407 RVA: 0x0025C2E8 File Offset: 0x0025A4E8 [Token(Token = "0x600AD77")] [Address(RVA = "0x18BC040", Offset = "0x18BAE40", VA = "0x1818BC040")] public bool Equals(ProtocolVersion other) { if (other == 0) { } int num = other.version; return this.TLSv11 == num; } // Token: 0x0600AD78 RID: 44408 RVA: 0x0025C30C File Offset: 0x0025A50C [Token(Token = "0x600AD78")] [Address(RVA = "0x3FA560", Offset = "0x3F9360", VA = "0x1803FA560", Slot = "2")] public override int GetHashCode() { return this.version; } // Token: 0x0600AD79 RID: 44409 RVA: 0x0025C320 File Offset: 0x0025A520 [Token(Token = "0x600AD79")] [Address(RVA = "0x18BC300", Offset = "0x18BB100", VA = "0x1818BC300")] public static ProtocolVersion Get(int major, int minor) { /* An exception occurred when decompiling this method (0600AD79) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ProtocolVersion BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ProtocolVersion::Get(System.Int32,System.Int32) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_5A: stloc:TlsFatalAlert(var_1_60, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_2))) } 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 1660 */; } // Token: 0x0600AD7A RID: 44410 RVA: 0x0025C390 File Offset: 0x0025A590 [Token(Token = "0x600AD7A")] [Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40", Slot = "3")] public override string ToString() { return this.name; } // Token: 0x0600AD7B RID: 44411 RVA: 0x0025C3A4 File Offset: 0x0025A5A4 [Token(Token = "0x600AD7B")] [Address(RVA = "0x18BC1D0", Offset = "0x18BAFD0", VA = "0x1818BC1D0")] private static ProtocolVersion GetUnknownVersion(int major, int minor, string prefix) { TlsUtilities.CheckUint8(major); TlsUtilities.CheckUint8(major); string text = Platform.ToUpperInvariant(Convert.ToString(major, 16).Substring(1)); int num = 0; string text2 = prefix + " 0x" + text; int num2 = 0; ProtocolVersion protocolVersion; protocolVersion.FieldGetter(num2, text, num); protocolVersion.version = major; protocolVersion.name = text2; return protocolVersion; } // Token: 0x0600AD7C RID: 44412 RVA: 0x0025C404 File Offset: 0x0025A604 // Note: this type is marked as 'beforefieldinit'. [Token(Token = "0x600AD7C")] [Address(RVA = "0x18BC690", Offset = "0x18BB490", VA = "0x1818BC690")] static ProtocolVersion() { ProtocolVersion protocolVersion; protocolVersion.version = (int)((ulong)768L); protocolVersion.name = "SSL 3.0"; ProtocolVersion.SSLv3 = protocolVersion; ProtocolVersion protocolVersion2; protocolVersion2.version = (int)((ulong)769L); protocolVersion2.name = "TLS 1.0"; ProtocolVersion.TLSv10 = protocolVersion2; ProtocolVersion protocolVersion3; protocolVersion3.version = (int)((ulong)770L); protocolVersion3.name = "TLS 1.1"; ProtocolVersion.TLSv11 = protocolVersion3; ProtocolVersion protocolVersion4; protocolVersion4.version = (int)((ulong)771L); protocolVersion4.name = "TLS 1.2"; ProtocolVersion.TLSv12 = protocolVersion4; ProtocolVersion protocolVersion5; protocolVersion5.version = (int)((ulong)65279L); protocolVersion5.name = "DTLS 1.0"; ProtocolVersion.DTLSv10 = protocolVersion5; ProtocolVersion protocolVersion6; protocolVersion6.name = "DTLS 1.2"; protocolVersion6.version = (int)((ulong)65277L); ProtocolVersion.DTLSv12 = protocolVersion6; } // Token: 0x04006F6F RID: 28527 [Token(Token = "0x4006F6F")] public static readonly ProtocolVersion SSLv3; // Token: 0x04006F70 RID: 28528 [Token(Token = "0x4006F70")] public static readonly ProtocolVersion TLSv10; // Token: 0x04006F71 RID: 28529 [Token(Token = "0x4006F71")] public static readonly ProtocolVersion TLSv11; // Token: 0x04006F72 RID: 28530 [Token(Token = "0x4006F72")] public static readonly ProtocolVersion TLSv12; // Token: 0x04006F73 RID: 28531 [Token(Token = "0x4006F73")] public static readonly ProtocolVersion DTLSv10; // Token: 0x04006F74 RID: 28532 [Token(Token = "0x4006F74")] public static readonly ProtocolVersion DTLSv12; // Token: 0x04006F75 RID: 28533 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4006F75")] private readonly int version; // Token: 0x04006F76 RID: 28534 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4006F76")] private readonly string name; } }