using System; using System.Collections; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms { // Token: 0x0200201E RID: 8222 [Token(Token = "0x200201E")] public class SignedData : Asn1Encodable { // Token: 0x0600CE17 RID: 52759 RVA: 0x002EDB50 File Offset: 0x002EBD50 [Token(Token = "0x600CE17")] [Address(RVA = "0x2FF4D70", Offset = "0x2FF3D70", VA = "0x182FF4D70")] public static SignedData GetInstance(object obj) { /* An exception occurred when decompiling this method (0600CE17) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.SignedData BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.SignedData::GetInstance(System.Object) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_22: stloc:string(var_6_28, call:string(Platform::GetTypeName, ldloc:object(obj))) stloc:ArgumentException(var_7_40, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("Unknown object in factory: "), ldloc:string(var_6_28)), 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: 0x0600CE18 RID: 52760 RVA: 0x002EDBA0 File Offset: 0x002EBDA0 [Token(Token = "0x600CE18")] [Address(RVA = "0x2FF5870", Offset = "0x2FF4870", VA = "0x182FF5870")] public SignedData(Asn1Set digestAlgorithms, ContentInfo contentInfo, Asn1Set certificates, Asn1Set crls, Asn1Set signerInfos) { this.signerInfos = 0; DerInteger derInteger; this.version = derInteger; this.digestAlgorithms = digestAlgorithms; this.contentInfo = contentInfo; this.certificates = certificates; this.crls = 0; bool flag; this.crlsBer = flag; if (certificates != 0) { } bool flag2 = certificates != 0; this.certsBer = flag2; } // Token: 0x0600CE19 RID: 52761 RVA: 0x002EDC08 File Offset: 0x002EBE08 [Token(Token = "0x600CE19")] [Address(RVA = "0x2FF4720", Offset = "0x2FF3720", VA = "0x182FF4720")] private DerInteger CalculateVersion(DerObjectIdentifier contentOid, Asn1Set certs, Asn1Set crls, Asn1Set signerInfs) { int num; do { num = 0; if (certs != 0) { IEnumerator enumerator = certs.GetEnumerator(); if (enumerator != 0) { while (enumerator == 0) { } while (enumerator == 0) { } if (enumerator == 0) { goto IL_8B; } if (enumerator != (ulong)1L && enumerator != (ulong)2L) { while (enumerator != (ulong)3L) { } } } if (enumerator != 0) { } if (num != 0) { goto IL_91; } if (num != -1) { } if ((ulong)1L != 0UL) { goto IL_85; } } if (crls == 0) { break; } IEnumerator enumerator2 = crls.GetEnumerator(); if (enumerator2 != 0) { while (enumerator2 == 0) { } } if ((uint)(-1) != 0U) { } } while (num != 0); DerObjectIdentifier data = CmsObjectIdentifiers.Data; bool flag; if (!flag) { return SignedData.Version1; } return SignedData.Version3; IL_85: return SignedData.Version5; IL_8B: throw new NullReferenceException(); IL_91: throw new NullReferenceException(); } // Token: 0x0600CE1A RID: 52762 RVA: 0x002EDCAC File Offset: 0x002EBEAC [Token(Token = "0x600CE1A")] [Address(RVA = "0x2FF4BC0", Offset = "0x2FF3BC0", VA = "0x182FF4BC0")] private bool CheckForVersion3(Asn1Set signerInfs) { int num; do { num = 0; int intValue; if (signerInfs.GetEnumerator() != 0) { SignerInfo signerInfo; intValue = signerInfo.version.Value.IntValue; while (intValue != 3) { } } if (intValue != 0) { } } while (num != 0); if (num != -1) { return true; } throw new NullReferenceException(); } // Token: 0x0600CE1B RID: 52763 RVA: 0x002EDD08 File Offset: 0x002EBF08 [Token(Token = "0x600CE1B")] [Address(RVA = "0x2FF54E0", Offset = "0x2FF44E0", VA = "0x182FF54E0")] private SignedData(Asn1Sequence seq) { ContentInfo contentInfo; for (;;) { base..ctor(); IEnumerator enumerator = seq.GetEnumerator(); if (enumerator == 0 || enumerator != 0) { this.version = enumerator; if (enumerator == 0 || enumerator != 0) { this.digestAlgorithms = enumerator; this.contentInfo = contentInfo; if (contentInfo == 0) { return; } if (contentInfo == 0) { } if (contentInfo != 0) { if (contentInfo == 0) { this.signerInfos = contentInfo; } if (contentInfo != 0) { break; } } } } } DerObjectIdentifier contentType = contentInfo.contentType; Asn1Set asn1Set; if (contentType == 0) { bool flag = contentType != 0; this.certsBer = flag; this.certificates = asn1Set; } bool flag2 = asn1Set != 0; this.crlsBer = flag2; Asn1Set asn1Set2; this.crls = asn1Set2; } // Token: 0x17002098 RID: 8344 // (get) Token: 0x0600CE1C RID: 52764 RVA: 0x002EDDCC File Offset: 0x002EBFCC [Token(Token = "0x17002098")] public DerInteger Version { [Token(Token = "0x600CE1C")] [Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530")] get { return this.version; } } // Token: 0x17002099 RID: 8345 // (get) Token: 0x0600CE1D RID: 52765 RVA: 0x002EDDE0 File Offset: 0x002EBFE0 [Token(Token = "0x17002099")] public Asn1Set DigestAlgorithms { [Token(Token = "0x600CE1D")] [Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0")] get { return this.digestAlgorithms; } } // Token: 0x1700209A RID: 8346 // (get) Token: 0x0600CE1E RID: 52766 RVA: 0x002EDDF4 File Offset: 0x002EBFF4 [Token(Token = "0x1700209A")] public ContentInfo EncapContentInfo { [Token(Token = "0x600CE1E")] [Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0")] get { return this.contentInfo; } } // Token: 0x1700209B RID: 8347 // (get) Token: 0x0600CE1F RID: 52767 RVA: 0x002EDE08 File Offset: 0x002EC008 [Token(Token = "0x1700209B")] public Asn1Set Certificates { [Token(Token = "0x600CE1F")] [Address(RVA = "0x4157D0", Offset = "0x4147D0", VA = "0x1804157D0")] get { return this.certificates; } } // Token: 0x1700209C RID: 8348 // (get) Token: 0x0600CE20 RID: 52768 RVA: 0x002EDE1C File Offset: 0x002EC01C [Token(Token = "0x1700209C")] public Asn1Set CRLs { [Token(Token = "0x600CE20")] [Address(RVA = "0x4157E0", Offset = "0x4147E0", VA = "0x1804157E0")] get { return this.crls; } } // Token: 0x1700209D RID: 8349 // (get) Token: 0x0600CE21 RID: 52769 RVA: 0x002EDE30 File Offset: 0x002EC030 [Token(Token = "0x1700209D")] public Asn1Set SignerInfos { [Token(Token = "0x600CE21")] [Address(RVA = "0x41CEF0", Offset = "0x41BEF0", VA = "0x18041CEF0")] get { return this.signerInfos; } } // Token: 0x0600CE22 RID: 52770 RVA: 0x002EDE44 File Offset: 0x002EC044 [Token(Token = "0x600CE22")] [Address(RVA = "0x2FF4F60", Offset = "0x2FF3F60", VA = "0x182FF4F60", Slot = "5")] public override Asn1Object ToAsn1Object() { Asn1Encodable[] array = new Asn1Encodable[3]; DerInteger derInteger = this.version; if (derInteger != 0) { } array[0] = derInteger; Asn1Set asn1Set = this.digestAlgorithms; if (asn1Set != 0) { } array[1] = asn1Set; ContentInfo contentInfo = this.contentInfo; if (contentInfo != 0) { } array[2] = contentInfo; Asn1EncodableVector asn1EncodableVector = new Asn1EncodableVector(array); int num = 0; if (this.certificates != num) { if ((this.certsBer ? 1 : 0) == num) { Asn1Encodable[] array2 = new Asn1Encodable[0]; Asn1Set asn1Set2 = this.certificates; int num2; int num3; DerTaggedObject derTaggedObject = new DerTaggedObject(num2 != 0, num3, asn1Set2); num3 = 0; num2 = 0; if (derTaggedObject != 0) { } } Asn1Set asn1Set3 = this.certificates; int num4; int num5; BerTaggedObject berTaggedObject = new BerTaggedObject(num4 != 0, num5, asn1Set3); num5 = 0; num4 = 0; if (berTaggedObject != 0) { } } if (this.crls != num) { if ((this.crlsBer ? 1 : 0) == num) { Asn1Encodable[] array3 = new Asn1Encodable[1]; Asn1Set asn1Set4 = this.crls; int num6; DerTaggedObject derTaggedObject2 = new DerTaggedObject(num6 != 0, 1, asn1Set4); num6 = 0; if (derTaggedObject2 != 0) { } } Asn1Set asn1Set5 = this.crls; int num7; BerTaggedObject berTaggedObject2 = new BerTaggedObject(num7 != 0, 1, asn1Set5); num7 = 0; if (berTaggedObject2 != 0) { } } Asn1Encodable[] array4 = new Asn1Encodable[1]; Asn1Set asn1Set6 = this.signerInfos; if (asn1Set6 != 0) { } array4[0] = asn1Set6; asn1EncodableVector.Add(array4); BerSequence berSequence = new BerSequence(asn1EncodableVector); throw new NullReferenceException(); } // Token: 0x04008282 RID: 33410 [Token(Token = "0x4008282")] private static readonly DerInteger Version1 = new DerInteger(1); // Token: 0x04008283 RID: 33411 [Token(Token = "0x4008283")] private static readonly DerInteger Version3 = new DerInteger(3); // Token: 0x04008284 RID: 33412 [Token(Token = "0x4008284")] private static readonly DerInteger Version4 = new DerInteger(4); // Token: 0x04008285 RID: 33413 [Token(Token = "0x4008285")] private static readonly DerInteger Version5 = new DerInteger(5); // Token: 0x04008286 RID: 33414 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4008286")] private readonly DerInteger version; // Token: 0x04008287 RID: 33415 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4008287")] private readonly Asn1Set digestAlgorithms; // Token: 0x04008288 RID: 33416 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4008288")] private readonly ContentInfo contentInfo; // Token: 0x04008289 RID: 33417 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4008289")] private readonly Asn1Set certificates; // Token: 0x0400828A RID: 33418 [FieldOffset(Offset = "0x30")] [Token(Token = "0x400828A")] private readonly Asn1Set crls; // Token: 0x0400828B RID: 33419 [FieldOffset(Offset = "0x38")] [Token(Token = "0x400828B")] private readonly Asn1Set signerInfos; // Token: 0x0400828C RID: 33420 [FieldOffset(Offset = "0x40")] [Token(Token = "0x400828C")] private readonly bool certsBer; // Token: 0x0400828D RID: 33421 [FieldOffset(Offset = "0x41")] [Token(Token = "0x400828D")] private readonly bool crlsBer; } }