using System; using System.IO; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1 { // Token: 0x02001D98 RID: 7576 [Token(Token = "0x2001D98")] public class DerExternal : Asn1Object { // Token: 0x0600BFAC RID: 49068 RVA: 0x002BA490 File Offset: 0x002B8690 [Token(Token = "0x600BFAC")] [Address(RVA = "0x187ADA0", Offset = "0x1879BA0", VA = "0x18187ADA0")] 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: 0x0600BFAD RID: 49069 RVA: 0x002BA55C File Offset: 0x002B875C [Token(Token = "0x600BFAD")] [Address(RVA = "0x187B130", Offset = "0x1879F30", VA = "0x18187B130")] 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: 0x0600BFAE RID: 49070 RVA: 0x002BA598 File Offset: 0x002B8798 [Token(Token = "0x600BFAE")] [Address(RVA = "0x187AD20", Offset = "0x1879B20", VA = "0x18187AD20")] public DerExternal(DerObjectIdentifier directReference, DerInteger indirectReference, Asn1Object dataValueDescriptor, int encoding, Asn1Object externalData) { this.directReference = directReference; this.indirectReference = indirectReference; this.dataValueDescriptor = dataValueDescriptor; } // Token: 0x0600BFAF RID: 49071 RVA: 0x002BA5C8 File Offset: 0x002B87C8 [Token(Token = "0x600BFAF")] [Address(RVA = "0x187AA00", Offset = "0x1879800", VA = "0x18187AA00", 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: 0x0600BFB0 RID: 49072 RVA: 0x002BA678 File Offset: 0x002B8878 [Token(Token = "0x600BFB0")] [Address(RVA = "0x187A970", Offset = "0x1879770", VA = "0x18187A970", 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: 0x0600BFB1 RID: 49073 RVA: 0x002BA6C8 File Offset: 0x002B88C8 [Token(Token = "0x600BFB1")] [Address(RVA = "0x187A860", Offset = "0x1879660", VA = "0x18187A860", 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: 0x17001DA5 RID: 7589 // (get) Token: 0x0600BFB2 RID: 49074 RVA: 0x002BA720 File Offset: 0x002B8920 // (set) Token: 0x0600BFB3 RID: 49075 RVA: 0x002BA734 File Offset: 0x002B8934 [Token(Token = "0x17001DA5")] public Asn1Object DataValueDescriptor { [Token(Token = "0x600BFB2")] [Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400")] get { return this.dataValueDescriptor; } [Token(Token = "0x600BFB3")] [Address(RVA = "0x460F90", Offset = "0x45FD90", VA = "0x180460F90")] set { this.dataValueDescriptor = value; } } // Token: 0x17001DA6 RID: 7590 // (get) Token: 0x0600BFB4 RID: 49076 RVA: 0x002BA748 File Offset: 0x002B8948 // (set) Token: 0x0600BFB5 RID: 49077 RVA: 0x002BA75C File Offset: 0x002B895C [Token(Token = "0x17001DA6")] public DerObjectIdentifier DirectReference { [Token(Token = "0x600BFB4")] [Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20")] get { return this.directReference; } [Token(Token = "0x600BFB5")] [Address(RVA = "0x3F7200", Offset = "0x3F6000", VA = "0x1803F7200")] set { this.directReference = value; } } // Token: 0x17001DA7 RID: 7591 // (get) Token: 0x0600BFB6 RID: 49078 RVA: 0x002BA770 File Offset: 0x002B8970 // (set) Token: 0x0600BFB7 RID: 49079 RVA: 0x002BA784 File Offset: 0x002B8984 [Token(Token = "0x17001DA7")] public int Encoding { [Token(Token = "0x600BFB6")] [Address(RVA = "0x42EE50", Offset = "0x42DC50", VA = "0x18042EE50")] get { return this.encoding; } [Token(Token = "0x600BFB7")] [Address(RVA = "0x187B1E0", Offset = "0x1879FE0", VA = "0x18187B1E0")] set { /* An exception occurred when decompiling this method (0600BFB7) 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 1660 */; } } // Token: 0x17001DA8 RID: 7592 // (get) Token: 0x0600BFB8 RID: 49080 RVA: 0x002BA7A8 File Offset: 0x002B89A8 // (set) Token: 0x0600BFB9 RID: 49081 RVA: 0x002BA7BC File Offset: 0x002B89BC [Token(Token = "0x17001DA8")] public Asn1Object ExternalContent { [Token(Token = "0x600BFB8")] [Address(RVA = "0x3FA180", Offset = "0x3F8F80", VA = "0x1803FA180")] get { return this.externalContent; } [Token(Token = "0x600BFB9")] [Address(RVA = "0x4437E0", Offset = "0x4425E0", VA = "0x1804437E0")] set { this.externalContent = value; } } // Token: 0x17001DA9 RID: 7593 // (get) Token: 0x0600BFBA RID: 49082 RVA: 0x002BA7D0 File Offset: 0x002B89D0 // (set) Token: 0x0600BFBB RID: 49083 RVA: 0x002BA7E4 File Offset: 0x002B89E4 [Token(Token = "0x17001DA9")] public DerInteger IndirectReference { [Token(Token = "0x600BFBA")] [Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40")] get { return this.indirectReference; } [Token(Token = "0x600BFBB")] [Address(RVA = "0x3F7210", Offset = "0x3F6010", VA = "0x1803F7210")] set { this.indirectReference = value; } } // Token: 0x0600BFBC RID: 49084 RVA: 0x002BA7F8 File Offset: 0x002B89F8 [Token(Token = "0x600BFBC")] [Address(RVA = "0x187AC10", Offset = "0x1879A10", VA = "0x18187AC10")] private static Asn1Object GetObjFromVector(Asn1EncodableVector v, int index) { /* An exception occurred when decompiling this method (0600BFBC) 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 1660 */; } // Token: 0x0600BFBD RID: 49085 RVA: 0x002BA830 File Offset: 0x002B8A30 [Token(Token = "0x600BFBD")] [Address(RVA = "0x187ACC0", Offset = "0x1879AC0", VA = "0x18187ACC0")] private static void WriteEncodable(MemoryStream ms, Asn1Encodable e) { if (e != 0) { byte[] derEncoded = e.GetDerEncoded(); int num = ms.ReadByte(); } } // Token: 0x0400799B RID: 31131 [FieldOffset(Offset = "0x10")] [Token(Token = "0x400799B")] private DerObjectIdentifier directReference; // Token: 0x0400799C RID: 31132 [FieldOffset(Offset = "0x18")] [Token(Token = "0x400799C")] private DerInteger indirectReference; // Token: 0x0400799D RID: 31133 [FieldOffset(Offset = "0x20")] [Token(Token = "0x400799D")] private Asn1Object dataValueDescriptor; // Token: 0x0400799E RID: 31134 [FieldOffset(Offset = "0x28")] [Token(Token = "0x400799E")] private int encoding; // Token: 0x0400799F RID: 31135 [FieldOffset(Offset = "0x30")] [Token(Token = "0x400799F")] private Asn1Object externalContent; } }