using System; using System.IO; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1 { // Token: 0x02001E78 RID: 7800 [Token(Token = "0x2001E78")] public class DerExternal : Asn1Object { // Token: 0x0600C37A RID: 50042 RVA: 0x002C2D88 File Offset: 0x002C0F88 [Token(Token = "0x600C37A")] [Address(RVA = "0x23A9240", Offset = "0x23A8240", VA = "0x1823A9240")] public DerExternal(Asn1EncodableVector vector) { for (;;) { base..ctor(); int num = 0; int num2 = 0; Asn1Object objFromVector = DerExternal.GetObjFromVector(vector, num2); if (objFromVector == 0) { goto IL_66; } Asn1Object objFromVector2; if (objFromVector != 0) { if (objFromVector == 0) { continue; } this.directReference = objFromVector; objFromVector2 = DerExternal.GetObjFromVector(vector, 1); } if (objFromVector2 == 0) { goto IL_66; } Asn1Object objFromVector3; if (objFromVector2 != 0) { if (objFromVector2 == 0) { continue; } this.indirectReference = objFromVector2; objFromVector3 = DerExternal.GetObjFromVector(vector, 1); } if (objFromVector3 == 0 || objFromVector3 == 0) { goto IL_66; } IL_7A: Asn1Object objFromVector4; if (vector.Count == 1 && objFromVector4 != 0 && objFromVector4 != 0 && objFromVector4 != 0 && this.encoding <= 2) { break; } continue; IL_66: num++; this.dataValueDescriptor = objFromVector; objFromVector4 = DerExternal.GetObjFromVector(vector, num); goto IL_7A; } Asn1Object asn1Object; this.externalContent = asn1Object; } // Token: 0x0600C37B RID: 50043 RVA: 0x002C2E54 File Offset: 0x002C1054 [Token(Token = "0x600C37B")] [Address(RVA = "0x23A95D0", Offset = "0x23A85D0", VA = "0x1823A95D0")] public DerExternal(DerObjectIdentifier directReference, DerInteger indirectReference, Asn1Object dataValueDescriptor, DerTaggedObject externalData) { int num = 0; base..ctor(); this.directReference = directReference; this.indirectReference = indirectReference; this.dataValueDescriptor = dataValueDescriptor; this.Encoding = num; } // Token: 0x0600C37C RID: 50044 RVA: 0x002C2E90 File Offset: 0x002C1090 [Token(Token = "0x600C37C")] [Address(RVA = "0x23A91C0", Offset = "0x23A81C0", VA = "0x1823A91C0")] public DerExternal(DerObjectIdentifier directReference, DerInteger indirectReference, Asn1Object dataValueDescriptor, int encoding, Asn1Object externalData) { this.directReference = directReference; this.indirectReference = indirectReference; this.dataValueDescriptor = dataValueDescriptor; } // Token: 0x0600C37D RID: 50045 RVA: 0x002C2EC0 File Offset: 0x002C10C0 [Token(Token = "0x600C37D")] [Address(RVA = "0x23A8EA0", Offset = "0x23A7EA0", VA = "0x1823A8EA0", Slot = "6")] internal override void Encode(DerOutputStream derOut) { MemoryStream memoryStream = new MemoryStream(); DerObjectIdentifier derObjectIdentifier = this.directReference; if (derObjectIdentifier != 0) { byte[] derEncoded = derObjectIdentifier.GetDerEncoded(); int num = memoryStream.ReadByte(); } DerInteger derInteger = this.indirectReference; if (derInteger != 0) { byte[] derEncoded2 = derInteger.GetDerEncoded(); int num2 = memoryStream.ReadByte(); } Asn1Object asn1Object = this.dataValueDescriptor; if (asn1Object != 0) { byte[] derEncoded3 = asn1Object.GetDerEncoded(); int num3 = memoryStream.ReadByte(); } Asn1Object asn1Object2 = this.externalContent; DerTaggedObject derTaggedObject = new DerTaggedObject(8, asn1Object2); if (derTaggedObject != 0) { byte[] derEncoded4 = derTaggedObject.GetDerEncoded(); int num4 = memoryStream.ReadByte(); } derOut.WriteTag(32, 8); derOut.WriteLength(32); int num5 = derOut.ReadByte(); } // Token: 0x0600C37E RID: 50046 RVA: 0x002C2F70 File Offset: 0x002C1170 [Token(Token = "0x600C37E")] [Address(RVA = "0x23A8E10", Offset = "0x23A7E10", VA = "0x1823A8E10", Slot = "8")] protected override int Asn1GetHashCode() { this.externalContent.Finalize(); DerObjectIdentifier derObjectIdentifier = this.directReference; if (derObjectIdentifier != 0) { derObjectIdentifier.Finalize(); } DerInteger derInteger = this.indirectReference; if (derInteger != 0) { derInteger.Finalize(); } Asn1Object asn1Object = this.dataValueDescriptor; if (asn1Object != 0) { asn1Object.Finalize(); } throw new NullReferenceException(); } // Token: 0x0600C37F RID: 50047 RVA: 0x002C2FC0 File Offset: 0x002C11C0 [Token(Token = "0x600C37F")] [Address(RVA = "0x23A8D00", Offset = "0x23A7D00", VA = "0x1823A8D00", Slot = "7")] protected override bool Asn1Equals(Asn1Object asn1Object) { if (this != asn1Object) { if (asn1Object != 0 && asn1Object != 0) { DerObjectIdentifier derObjectIdentifier = this.directReference; bool flag; if (flag) { DerInteger derInteger = this.indirectReference; bool flag2; if (flag2) { Asn1Object asn1Object2 = this.dataValueDescriptor; bool flag3; if (flag3) { int num = this.externalContent.Asn1GetHashCode(); } } } } } return true; } // Token: 0x17001E42 RID: 7746 // (get) Token: 0x0600C380 RID: 50048 RVA: 0x002C3018 File Offset: 0x002C1218 // (set) Token: 0x0600C381 RID: 50049 RVA: 0x002C302C File Offset: 0x002C122C [Token(Token = "0x17001E42")] public Asn1Object DataValueDescriptor { [Token(Token = "0x600C380")] [Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0")] get { return this.dataValueDescriptor; } [Token(Token = "0x600C381")] [Address(RVA = "0x415810", Offset = "0x414810", VA = "0x180415810")] set { this.dataValueDescriptor = value; } } // Token: 0x17001E43 RID: 7747 // (get) Token: 0x0600C382 RID: 50050 RVA: 0x002C3040 File Offset: 0x002C1240 // (set) Token: 0x0600C383 RID: 50051 RVA: 0x002C3054 File Offset: 0x002C1254 [Token(Token = "0x17001E43")] public DerObjectIdentifier DirectReference { [Token(Token = "0x600C382")] [Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530")] get { return this.directReference; } [Token(Token = "0x600C383")] [Address(RVA = "0x415800", Offset = "0x414800", VA = "0x180415800")] set { this.directReference = value; } } // Token: 0x17001E44 RID: 7748 // (get) Token: 0x0600C384 RID: 50052 RVA: 0x002C3068 File Offset: 0x002C1268 // (set) Token: 0x0600C385 RID: 50053 RVA: 0x002C307C File Offset: 0x002C127C [Token(Token = "0x17001E44")] public int Encoding { [Token(Token = "0x600C384")] [Address(RVA = "0x471180", Offset = "0x470180", VA = "0x180471180")] get { return this.encoding; } [Token(Token = "0x600C385")] [Address(RVA = "0x23A9680", Offset = "0x23A8680", VA = "0x1823A9680")] set { /* An exception occurred when decompiling this method (0600C385) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.DerExternal::set_Encoding(System.Int32) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_11: stloc:InvalidOperationException(var_1_17, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldloc:string(var_0))) } 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: 0x17001E45 RID: 7749 // (get) Token: 0x0600C386 RID: 50054 RVA: 0x002C30A0 File Offset: 0x002C12A0 // (set) Token: 0x0600C387 RID: 50055 RVA: 0x002C30B4 File Offset: 0x002C12B4 [Token(Token = "0x17001E45")] public Asn1Object ExternalContent { [Token(Token = "0x600C386")] [Address(RVA = "0x4157E0", Offset = "0x4147E0", VA = "0x1804157E0")] get { return this.externalContent; } [Token(Token = "0x600C387")] [Address(RVA = "0x415830", Offset = "0x414830", VA = "0x180415830")] set { this.externalContent = value; } } // Token: 0x17001E46 RID: 7750 // (get) Token: 0x0600C388 RID: 50056 RVA: 0x002C30C8 File Offset: 0x002C12C8 // (set) Token: 0x0600C389 RID: 50057 RVA: 0x002C30DC File Offset: 0x002C12DC [Token(Token = "0x17001E46")] public DerInteger IndirectReference { [Token(Token = "0x600C388")] [Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0")] get { return this.indirectReference; } [Token(Token = "0x600C389")] [Address(RVA = "0x4157F0", Offset = "0x4147F0", VA = "0x1804157F0")] set { this.indirectReference = value; } } // Token: 0x0600C38A RID: 50058 RVA: 0x002C30F0 File Offset: 0x002C12F0 [Token(Token = "0x600C38A")] [Address(RVA = "0x23A90B0", Offset = "0x23A80B0", VA = "0x1823A90B0")] private static Asn1Object GetObjFromVector(Asn1EncodableVector v, int index) { /* An exception occurred when decompiling this method (0600C38A) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Asn1Object BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.DerExternal::GetObjFromVector(BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Asn1EncodableVector,System.Int32) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_1C: stloc:ArgumentException(var_0_2B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("too few objects in input vector"), ldstr:string("v"))) } 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: 0x0600C38B RID: 50059 RVA: 0x002C3128 File Offset: 0x002C1328 [Token(Token = "0x600C38B")] [Address(RVA = "0x23A9160", Offset = "0x23A8160", VA = "0x1823A9160")] private static void WriteEncodable(MemoryStream ms, Asn1Encodable e) { if (e != 0) { byte[] derEncoded = e.GetDerEncoded(); int num = ms.ReadByte(); } } // Token: 0x04007B54 RID: 31572 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4007B54")] private DerObjectIdentifier directReference; // Token: 0x04007B55 RID: 31573 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4007B55")] private DerInteger indirectReference; // Token: 0x04007B56 RID: 31574 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4007B56")] private Asn1Object dataValueDescriptor; // Token: 0x04007B57 RID: 31575 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4007B57")] private int encoding; // Token: 0x04007B58 RID: 31576 [FieldOffset(Offset = "0x30")] [Token(Token = "0x4007B58")] private Asn1Object externalContent; } }