using System; using System.Runtime.InteropServices; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X500; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.IsisMtt.X509 { // Token: 0x020018E9 RID: 6377 [Token(Token = "0x20018E9")] [StructLayout(3)] public class ProcurationSyntax : Asn1Encodable { // Token: 0x0600AB36 RID: 43830 RVA: 0x0027FD7C File Offset: 0x0027DF7C [Token(Token = "0x600AB36")] [Address(RVA = "0x27D9670", Offset = "0x27D8070", VA = "0x1827D9670")] public static ProcurationSyntax GetInstance(object obj) { /* An exception occurred when decompiling this method (0600AB36) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.IsisMtt.X509.ProcurationSyntax BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.IsisMtt.X509.ProcurationSyntax::GetInstance(System.Object) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_26: stloc:string(var_6_2C, call:string(Platform::GetTypeName, ldloc:object(obj))) stloc:ArgumentException(var_7_44, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("unknown object in factory: "), ldloc:string(var_6_2C)), ldstr:string("obj"))) } 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: 0x0600AB37 RID: 43831 RVA: 0x0027FDD0 File Offset: 0x0027DFD0 [Token(Token = "0x600AB37")] [Address(RVA = "0x27D9BD0", Offset = "0x27D85D0", VA = "0x1827D9BD0")] private ProcurationSyntax(Asn1Sequence seq) { if (seq.GetEnumerator() != 0) { Asn1TaggedObject asn1TaggedObject; int tagNo = asn1TaggedObject.tagNo; if (asn1TaggedObject != 0) { if (asn1TaggedObject != 0) { Asn1Object @object = asn1TaggedObject.GetObject(); if (@object == 0) { IssuerSerial instance = IssuerSerial.GetInstance(@object); this.certRef = instance; } GeneralName instance2 = GeneralName.GetInstance(@object); this.thirdPerson = instance2; } ulong num; DirectoryString instance3 = DirectoryString.GetInstance(asn1TaggedObject, num != 0UL); this.typeOfSubstitution = instance3; } ulong num2; string @string = DerPrintableString.GetInstance(asn1TaggedObject, num2 != 0UL).GetString(); this.country = @string; } } // Token: 0x0600AB38 RID: 43832 RVA: 0x0027FE6C File Offset: 0x0027E06C [Token(Token = "0x600AB38")] [Address(RVA = "0x27D9E90", Offset = "0x27D8890", VA = "0x1827D9E90")] public ProcurationSyntax(string country, DirectoryString typeOfSubstitution, IssuerSerial certRef) { this.country = country; this.certRef = certRef; this.typeOfSubstitution = typeOfSubstitution; this.thirdPerson = (ulong)0L; } // Token: 0x0600AB39 RID: 43833 RVA: 0x0027FEA0 File Offset: 0x0027E0A0 [Token(Token = "0x600AB39")] [Address(RVA = "0x27D9E40", Offset = "0x27D8840", VA = "0x1827D9E40")] public ProcurationSyntax(string country, DirectoryString typeOfSubstitution, GeneralName thirdPerson) { this.country = country; this.thirdPerson = thirdPerson; this.typeOfSubstitution = typeOfSubstitution; this.certRef = (ulong)0L; } // Token: 0x17001B1A RID: 6938 // (get) Token: 0x0600AB3A RID: 43834 RVA: 0x0027FED4 File Offset: 0x0027E0D4 [Token(Token = "0x17001B1A")] public virtual string Country { [Token(Token = "0x600AB3A")] [Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0", Slot = "6")] get { return this.country; } } // Token: 0x17001B1B RID: 6939 // (get) Token: 0x0600AB3B RID: 43835 RVA: 0x0027FEE8 File Offset: 0x0027E0E8 [Token(Token = "0x17001B1B")] public virtual DirectoryString TypeOfSubstitution { [Token(Token = "0x600AB3B")] [Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240", Slot = "7")] get { return this.typeOfSubstitution; } } // Token: 0x17001B1C RID: 6940 // (get) Token: 0x0600AB3C RID: 43836 RVA: 0x0027FEFC File Offset: 0x0027E0FC [Token(Token = "0x17001B1C")] public virtual GeneralName ThirdPerson { [Token(Token = "0x600AB3C")] [Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220", Slot = "8")] get { return this.thirdPerson; } } // Token: 0x17001B1D RID: 6941 // (get) Token: 0x0600AB3D RID: 43837 RVA: 0x0027FF10 File Offset: 0x0027E110 [Token(Token = "0x17001B1D")] public virtual IssuerSerial CertRef { [Token(Token = "0x600AB3D")] [Address(RVA = "0x3C1230", Offset = "0x3BFC30", VA = "0x1803C1230", Slot = "9")] get { return this.certRef; } } // Token: 0x0600AB3E RID: 43838 RVA: 0x0027FF24 File Offset: 0x0027E124 [Token(Token = "0x600AB3E")] [Address(RVA = "0x27D9870", Offset = "0x27D8270", VA = "0x1827D9870", Slot = "5")] public override Asn1Object ToAsn1Object() { int num = 0; Asn1EncodableVector asn1EncodableVector; if (this.country != num) { Asn1Encodable[] array = new Asn1Encodable[0]; DerPrintableString derPrintableString = new DerPrintableString(this.country, true); DerTaggedObject derTaggedObject = new DerTaggedObject(16777216 != 0, 16777216, derPrintableString); if (derTaggedObject != 0) { } array[0] = derTaggedObject; asn1EncodableVector.Add(array); } if (this.typeOfSubstitution != num) { Asn1Encodable[] array2 = new Asn1Encodable[1]; DirectoryString directoryString = this.typeOfSubstitution; DerTaggedObject derTaggedObject2 = new DerTaggedObject(true, 2, directoryString); if (derTaggedObject2 != 0) { } array2[0] = derTaggedObject2; asn1EncodableVector.Add(array2); } IssuerSerial issuerSerial; if (this.thirdPerson == num) { Asn1Encodable[] array3 = new Asn1Encodable[1]; issuerSerial = this.certRef; if (new DerTaggedObject(true, 3, issuerSerial) != 0) { } } if (new DerTaggedObject(true, 3, issuerSerial) != 0) { } DerSequence derSequence = new DerSequence(asn1EncodableVector); throw new NullReferenceException(); } // Token: 0x0400707B RID: 28795 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x400707B")] private readonly string country; // Token: 0x0400707C RID: 28796 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x400707C")] private readonly DirectoryString typeOfSubstitution; // Token: 0x0400707D RID: 28797 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x400707D")] private readonly GeneralName thirdPerson; // Token: 0x0400707E RID: 28798 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x400707E")] private readonly IssuerSerial certRef; } }