using System; using System.IO; using System.Runtime.InteropServices; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1 { // Token: 0x020017BB RID: 6075 [Token(Token = "0x20017BB")] [StructLayout(3)] public class DerExternal : Asn1Object { // Token: 0x0600A3D2 RID: 41938 RVA: 0x00261FC4 File Offset: 0x002601C4 [Token(Token = "0x600A3D2")] [Address(RVA = "0x1ED2070", Offset = "0x1ED0A70", VA = "0x181ED2070")] 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: 0x0600A3D3 RID: 41939 RVA: 0x00262090 File Offset: 0x00260290 [Token(Token = "0x600A3D3")] [Address(RVA = "0x1ED2400", Offset = "0x1ED0E00", VA = "0x181ED2400")] 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: 0x0600A3D4 RID: 41940 RVA: 0x002620CC File Offset: 0x002602CC [Token(Token = "0x600A3D4")] [Address(RVA = "0x1ED1FF0", Offset = "0x1ED09F0", VA = "0x181ED1FF0")] public DerExternal(DerObjectIdentifier directReference, DerInteger indirectReference, Asn1Object dataValueDescriptor, int encoding, Asn1Object externalData) { this.directReference = directReference; this.indirectReference = indirectReference; this.dataValueDescriptor = dataValueDescriptor; } // Token: 0x0600A3D5 RID: 41941 RVA: 0x002620FC File Offset: 0x002602FC [Token(Token = "0x600A3D5")] [Address(RVA = "0x1ED1CA0", Offset = "0x1ED06A0", VA = "0x181ED1CA0", 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.WriteLength(40); int num5 = derOut.ReadByte(); } // Token: 0x0600A3D6 RID: 41942 RVA: 0x002621A4 File Offset: 0x002603A4 [Token(Token = "0x600A3D6")] [Address(RVA = "0x1ED1C10", Offset = "0x1ED0610", VA = "0x181ED1C10", 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: 0x0600A3D7 RID: 41943 RVA: 0x002621F4 File Offset: 0x002603F4 [Token(Token = "0x600A3D7")] [Address(RVA = "0x1ED1B00", Offset = "0x1ED0500", VA = "0x181ED1B00", 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: 0x170019A4 RID: 6564 // (get) Token: 0x0600A3D8 RID: 41944 RVA: 0x0026224C File Offset: 0x0026044C // (set) Token: 0x0600A3D9 RID: 41945 RVA: 0x00262260 File Offset: 0x00260460 [Token(Token = "0x170019A4")] public Asn1Object DataValueDescriptor { [Token(Token = "0x600A3D8")] [Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220")] get { return this.dataValueDescriptor; } [Token(Token = "0x600A3D9")] [Address(RVA = "0x3C1260", Offset = "0x3BFC60", VA = "0x1803C1260")] set { this.dataValueDescriptor = value; } } // Token: 0x170019A5 RID: 6565 // (get) Token: 0x0600A3DA RID: 41946 RVA: 0x00262274 File Offset: 0x00260474 // (set) Token: 0x0600A3DB RID: 41947 RVA: 0x00262288 File Offset: 0x00260488 [Token(Token = "0x170019A5")] public DerObjectIdentifier DirectReference { [Token(Token = "0x600A3DA")] [Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0")] get { return this.directReference; } [Token(Token = "0x600A3DB")] [Address(RVA = "0x3C39B0", Offset = "0x3C23B0", VA = "0x1803C39B0")] set { this.directReference = value; } } // Token: 0x170019A6 RID: 6566 // (get) Token: 0x0600A3DC RID: 41948 RVA: 0x0026229C File Offset: 0x0026049C // (set) Token: 0x0600A3DD RID: 41949 RVA: 0x002622B0 File Offset: 0x002604B0 [Token(Token = "0x170019A6")] public int Encoding { [Token(Token = "0x600A3DC")] [Address(RVA = "0x4D24F0", Offset = "0x4D0EF0", VA = "0x1804D24F0")] get { return this.encoding; } [Token(Token = "0x600A3DD")] [Address(RVA = "0x1ED24B0", Offset = "0x1ED0EB0", VA = "0x181ED24B0")] set { /* An exception occurred when decompiling this method (0600A3DD) 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: 0x170019A7 RID: 6567 // (get) Token: 0x0600A3DE RID: 41950 RVA: 0x002622D4 File Offset: 0x002604D4 // (set) Token: 0x0600A3DF RID: 41951 RVA: 0x002622E8 File Offset: 0x002604E8 [Token(Token = "0x170019A7")] public Asn1Object ExternalContent { [Token(Token = "0x600A3DE")] [Address(RVA = "0x3C1250", Offset = "0x3BFC50", VA = "0x1803C1250")] get { return this.externalContent; } [Token(Token = "0x600A3DF")] [Address(RVA = "0x3C1290", Offset = "0x3BFC90", VA = "0x1803C1290")] set { this.externalContent = value; } } // Token: 0x170019A8 RID: 6568 // (get) Token: 0x0600A3E0 RID: 41952 RVA: 0x002622FC File Offset: 0x002604FC // (set) Token: 0x0600A3E1 RID: 41953 RVA: 0x00262310 File Offset: 0x00260510 [Token(Token = "0x170019A8")] public DerInteger IndirectReference { [Token(Token = "0x600A3E0")] [Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240")] get { return this.indirectReference; } [Token(Token = "0x600A3E1")] [Address(RVA = "0x3C1280", Offset = "0x3BFC80", VA = "0x1803C1280")] set { this.indirectReference = value; } } // Token: 0x0600A3E2 RID: 41954 RVA: 0x00262324 File Offset: 0x00260524 [Token(Token = "0x600A3E2")] [Address(RVA = "0x1ED1EE0", Offset = "0x1ED08E0", VA = "0x181ED1EE0")] private static Asn1Object GetObjFromVector(Asn1EncodableVector v, int index) { /* An exception occurred when decompiling this method (0600A3E2) 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: 0x0600A3E3 RID: 41955 RVA: 0x0026235C File Offset: 0x0026055C [Token(Token = "0x600A3E3")] [Address(RVA = "0x1ED1F90", Offset = "0x1ED0990", VA = "0x181ED1F90")] private static void WriteEncodable(MemoryStream ms, Asn1Encodable e) { if (e != 0) { byte[] derEncoded = e.GetDerEncoded(); int num = ms.ReadByte(); } } // Token: 0x04006B58 RID: 27480 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x4006B58")] private DerObjectIdentifier directReference; // Token: 0x04006B59 RID: 27481 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4006B59")] private DerInteger indirectReference; // Token: 0x04006B5A RID: 27482 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x4006B5A")] private Asn1Object dataValueDescriptor; // Token: 0x04006B5B RID: 27483 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x4006B5B")] private int encoding; // Token: 0x04006B5C RID: 27484 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x4006B5C")] private Asn1Object externalContent; } }