using System; using System.IO; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1 { // Token: 0x02001DA1 RID: 7585 [Token(Token = "0x2001DA1")] public class DerApplicationSpecific : Asn1Object { // Token: 0x0600BFE1 RID: 49121 RVA: 0x002BAF20 File Offset: 0x002B9120 [Token(Token = "0x600BFE1")] [Address(RVA = "0x1877A50", Offset = "0x1876850", VA = "0x181877A50")] internal DerApplicationSpecific(bool isConstructed, int tag, byte[] octets) { this.isConstructed = isConstructed; this.tag = tag; this.octets = octets; } // Token: 0x0600BFE2 RID: 49122 RVA: 0x002BAF48 File Offset: 0x002B9148 [Token(Token = "0x600BFE2")] [Address(RVA = "0x1877A10", Offset = "0x1876810", VA = "0x181877A10")] public DerApplicationSpecific(int tag, byte[] octets) { this.tag = tag; this.octets = octets; this.isConstructed = false; } // Token: 0x0600BFE3 RID: 49123 RVA: 0x002BAF70 File Offset: 0x002B9170 [Token(Token = "0x600BFE3")] [Address(RVA = "0x1877970", Offset = "0x1876770", VA = "0x181877970")] public DerApplicationSpecific(int tag, Asn1Encodable obj) { Asn1Object asn1Object = obj.ToAsn1Object(); byte[] derEncoded = asn1Object.GetDerEncoded(); bool flag = Asn1TaggedObject.IsConstructed(true, asn1Object); this.tag = tag; this.octets = derEncoded; this.isConstructed = flag; } // Token: 0x0600BFE4 RID: 49124 RVA: 0x002BAFB4 File Offset: 0x002B91B4 [Token(Token = "0x600BFE4")] [Address(RVA = "0x1877650", Offset = "0x1876450", VA = "0x181877650")] public DerApplicationSpecific(bool isExplicit, int tag, Asn1Encodable obj) { Asn1Object asn1Object = obj.ToAsn1Object(); byte[] derEncoded = asn1Object.GetDerEncoded(); bool flag = Asn1TaggedObject.IsConstructed(isExplicit, asn1Object); this.isConstructed = flag; this.tag = tag; if (!isExplicit) { int num = derEncoded.Length; byte b = derEncoded[0]; uint num2; num -= (int)num2; byte[] array = new byte[num]; int length = array.Length; int num3 = 0; Array.Copy(derEncoded, (int)num2, array, num3, length); this.octets = array; return; } this.octets = derEncoded; throw new NullReferenceException(); } // Token: 0x0600BFE5 RID: 49125 RVA: 0x002BB050 File Offset: 0x002B9250 [Token(Token = "0x600BFE5")] [Address(RVA = "0x1877800", Offset = "0x1876600", VA = "0x181877800")] public DerApplicationSpecific(int tagNo, Asn1EncodableVector vec) { this.tag = tagNo; this.isConstructed = true; MemoryStream memoryStream = new MemoryStream(); int num = 0; int count = vec.Count; if (num != count) { byte[] derEncoded = vec[num].GetDerEncoded(); int num2 = memoryStream.ReadByte(); num++; } } // Token: 0x0600BFE6 RID: 49126 RVA: 0x002BB0C8 File Offset: 0x002B92C8 [Token(Token = "0x600BFE6")] [Address(RVA = "0x18771D0", Offset = "0x1875FD0", VA = "0x1818771D0")] private int GetLengthOfHeader(byte[] data) { byte b = data[0]; throw new NullReferenceException(); } // Token: 0x0600BFE7 RID: 49127 RVA: 0x002BB0F4 File Offset: 0x002B92F4 [Token(Token = "0x600BFE7")] [Address(RVA = "0x42D5E0", Offset = "0x42C3E0", VA = "0x18042D5E0")] public bool IsConstructed() { return this.isConstructed; } // Token: 0x0600BFE8 RID: 49128 RVA: 0x002BB108 File Offset: 0x002B9308 [Token(Token = "0x600BFE8")] [Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40")] public byte[] GetContents() { return this.octets; } // Token: 0x17001DAB RID: 7595 // (get) Token: 0x0600BFE9 RID: 49129 RVA: 0x002BB11C File Offset: 0x002B931C [Token(Token = "0x17001DAB")] public int ApplicationTag { [Token(Token = "0x600BFE9")] [Address(RVA = "0x495080", Offset = "0x493E80", VA = "0x180495080")] get { return this.tag; } } // Token: 0x0600BFEA RID: 49130 RVA: 0x002BB130 File Offset: 0x002B9330 [Token(Token = "0x600BFEA")] [Address(RVA = "0x18772B0", Offset = "0x18760B0", VA = "0x1818772B0")] public Asn1Object GetObject() { return Asn1Object.FromByteArray(this.octets); } // Token: 0x0600BFEB RID: 49131 RVA: 0x002BB148 File Offset: 0x002B9348 [Token(Token = "0x600BFEB")] [Address(RVA = "0x18772C0", Offset = "0x18760C0", VA = "0x1818772C0")] public Asn1Object GetObject(int derTagNo) { /* An exception occurred when decompiling this method (0600BFEB) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Asn1Object BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.DerApplicationSpecific::GetObject(System.Int32) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_61: stloc:IOException(var_9_6B, newobj:IOException(IOException::.ctor, ldstr:string("unsupported tag number"))) } 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: 0x0600BFEC RID: 49132 RVA: 0x002BB1C4 File Offset: 0x002B93C4 [Token(Token = "0x600BFEC")] [Address(RVA = "0x1877150", Offset = "0x1875F50", VA = "0x181877150", Slot = "6")] internal override void Encode(DerOutputStream derOut) { byte[] array = this.octets; int num = this.tag; derOut.WriteTag(64, num); int length = array.Length; derOut.WriteLength(length); int num2 = derOut.ReadByte(); } // Token: 0x0600BFED RID: 49133 RVA: 0x002BB204 File Offset: 0x002B9404 [Token(Token = "0x600BFED")] [Address(RVA = "0x1876FE0", Offset = "0x1875DE0", VA = "0x181876FE0", Slot = "7")] protected override bool Asn1Equals(Asn1Object asn1Object) { if (asn1Object == 0) { return; } int num = 0; if (asn1Object != 0 && (this.isConstructed ? 1 : 0) == num && this.tag == num) { byte[] array = this.octets; bool flag; return flag; } } // Token: 0x0600BFEE RID: 49134 RVA: 0x002BB238 File Offset: 0x002B9438 [Token(Token = "0x600BFEE")] [Address(RVA = "0x18770B0", Offset = "0x1875EB0", VA = "0x1818770B0", Slot = "8")] protected override int Asn1GetHashCode() { bool flag = this.isConstructed; int num = this.tag; return Arrays.GetHashCode(this.octets); } // Token: 0x0600BFEF RID: 49135 RVA: 0x002BB260 File Offset: 0x002B9460 [Token(Token = "0x600BFEF")] [Address(RVA = "0x18774E0", Offset = "0x18762E0", VA = "0x1818774E0")] private byte[] ReplaceTagNumber(int newTag, byte[] input) { int num = input.Length; byte b = input[0]; byte b2 = input[0]; uint num2; num2 += (uint)1; uint num3; num -= (int)num3; byte[] array = new byte[num + 1]; array[0] = (byte)newTag; uint num4; Array.Copy(input, (int)num3, array, (int)num4, num); return array; } // Token: 0x040079AC RID: 31148 [FieldOffset(Offset = "0x10")] [Token(Token = "0x40079AC")] private readonly bool isConstructed; // Token: 0x040079AD RID: 31149 [FieldOffset(Offset = "0x14")] [Token(Token = "0x40079AD")] private readonly int tag; // Token: 0x040079AE RID: 31150 [FieldOffset(Offset = "0x18")] [Token(Token = "0x40079AE")] private readonly byte[] octets; } }