using System; using System.IO; using System.Runtime.InteropServices; using System.Text; using System.Threading; using BestHTTP.SecureProtocol.Org.BouncyCastle.Math; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1 { // Token: 0x020017D0 RID: 6096 [Token(Token = "0x20017D0")] [StructLayout(3)] public class DerObjectIdentifier : Asn1Object { // Token: 0x0600A48C RID: 42124 RVA: 0x00264660 File Offset: 0x00262860 [Token(Token = "0x600A48C")] [Address(RVA = "0x1ED6AC0", Offset = "0x1ED54C0", VA = "0x181ED6AC0")] public static DerObjectIdentifier GetInstance(object obj) { /* An exception occurred when decompiling this method (0600A48C) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.DerObjectIdentifier BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.DerObjectIdentifier::GetInstance(System.Object) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_20: stloc:string(var_4_26, call:string(Platform::GetTypeName, ldloc:object(obj))) stloc:ArgumentException(var_5_3E, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("illegal object in GetInstance: "), ldloc:string(var_4_26)), 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: 0x0600A48D RID: 42125 RVA: 0x002646AC File Offset: 0x002628AC [Token(Token = "0x600A48D")] [Address(RVA = "0x1ED69A0", Offset = "0x1ED53A0", VA = "0x181ED69A0")] public static DerObjectIdentifier GetInstance(Asn1TaggedObject obj, bool explicitly) { Asn1Object @object = obj.GetObject(); if (!explicitly && (@object == 0 || @object == 0)) { Stream octetStream = Asn1OctetString.GetInstance(@object).GetOctetStream(); DerObjectIdentifier derObjectIdentifier; return derObjectIdentifier; } return DerObjectIdentifier.GetInstance(@object); } // Token: 0x0600A48E RID: 42126 RVA: 0x002646E8 File Offset: 0x002628E8 [Token(Token = "0x600A48E")] [Address(RVA = "0x1ED73C0", Offset = "0x1ED5DC0", VA = "0x181ED73C0")] public DerObjectIdentifier(string identifier) { /* An exception occurred when decompiling this method (0600A48E) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.DerObjectIdentifier::.ctor(System.String) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_39: stloc:FormatException(var_5_40, newobj:FormatException(FormatException::.ctor, ldloc:string(var_4))) } 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: 0x0600A48F RID: 42127 RVA: 0x00264738 File Offset: 0x00262938 [Token(Token = "0x600A48F")] [Address(RVA = "0x1ED7530", Offset = "0x1ED5F30", VA = "0x181ED7530")] internal DerObjectIdentifier(DerObjectIdentifier oid, string branchID) { /* An exception occurred when decompiling this method (0600A48F) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.DerObjectIdentifier::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.DerObjectIdentifier,System.String) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_2C: stloc:ArgumentException(var_2_46, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("string "), ldloc:string(branchID), ldstr:string(" not a valid OID branch")), ldstr:string("branchID"))) } 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: 0x170019B3 RID: 6579 // (get) Token: 0x0600A490 RID: 42128 RVA: 0x0026478C File Offset: 0x0026298C [Token(Token = "0x170019B3")] public string Id { [Token(Token = "0x600A490")] [Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0")] get { return this.identifier; } } // Token: 0x0600A491 RID: 42129 RVA: 0x002647A0 File Offset: 0x002629A0 [Token(Token = "0x600A491")] [Address(RVA = "0x1ED6200", Offset = "0x1ED4C00", VA = "0x181ED6200", Slot = "9")] public virtual DerObjectIdentifier Branch(string branchID) { /* An exception occurred when decompiling this method (0600A491) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.DerObjectIdentifier BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.DerObjectIdentifier::Branch(System.String) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_27: stloc:ArgumentException(var_3_41, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("string "), ldloc:string(branchID), ldstr:string(" not a valid OID branch")), ldstr:string("branchID"))) } 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: 0x0600A492 RID: 42130 RVA: 0x002647F0 File Offset: 0x002629F0 [Token(Token = "0x600A492")] [Address(RVA = "0x1ED7060", Offset = "0x1ED5A60", VA = "0x181ED7060", Slot = "10")] public virtual bool On(DerObjectIdentifier stem) { string text = this.identifier; string text2 = stem.identifier; int stringLength = text2.m_stringLength; if (text.m_stringLength > stringLength) { char c = text[stringLength]; return Platform.StartsWith(text, text2); } throw new NullReferenceException(); } // Token: 0x0600A493 RID: 42131 RVA: 0x00264834 File Offset: 0x00262A34 [Token(Token = "0x600A493")] [Address(RVA = "0x1ED7630", Offset = "0x1ED6030", VA = "0x181ED7630")] internal DerObjectIdentifier(byte[] bytes) { string text = DerObjectIdentifier.MakeOidStringFromBytes(bytes); this.identifier = text; byte[] array = Arrays.Clone(bytes); this.body = array; } // Token: 0x0600A494 RID: 42132 RVA: 0x00264864 File Offset: 0x00262A64 [Token(Token = "0x600A494")] [Address(RVA = "0x1ED7280", Offset = "0x1ED5C80", VA = "0x181ED7280")] private void WriteField(Stream outputStream, long fieldValue) { byte[] array = new byte[9]; uint num2; uint num = num2 - 1U; array[1] = (byte)fieldValue; num -= 1U; num2 -= num; int num3 = outputStream.ReadByte(); } // Token: 0x0600A495 RID: 42133 RVA: 0x0026489C File Offset: 0x00262A9C [Token(Token = "0x600A495")] [Address(RVA = "0x1ED7110", Offset = "0x1ED5B10", VA = "0x181ED7110")] private void WriteField(Stream outputStream, BigInteger fieldValue) { int bitLength = fieldValue.BitLength; if (fieldValue != 0) { byte[] array = new byte[0]; int intValue = fieldValue.IntValue; BigInteger bigInteger = fieldValue.ShiftRight(7); int num = outputStream.ReadByte(); return; } throw new NullReferenceException(); } // Token: 0x0600A496 RID: 42134 RVA: 0x002648DC File Offset: 0x00262ADC [Token(Token = "0x600A496")] [Address(RVA = "0x1ED6320", Offset = "0x1ED4D20", VA = "0x181ED6320")] private void DoOutput(MemoryStream bOut) { OidTokenizer oidTokenizer = new OidTokenizer(this.identifier); int num = 0; int num2 = int.Parse(oidTokenizer.NextToken()); string text = oidTokenizer.NextToken(); if (text.m_stringLength > 18) { BigInteger bigInteger2; BigInteger bigInteger = new BigInteger(text).Add(bigInteger2); this.WriteField(bOut, bigInteger); } long num3 = long.Parse(text); num = (int)((long)num + num3); this.WriteField(bOut, (long)num); if (oidTokenizer.HasMoreTokens) { string text2 = oidTokenizer.NextToken(); if (text2.m_stringLength > 18) { BigInteger bigInteger3 = new BigInteger(text2); this.WriteField(bOut, bigInteger3); } long num4 = long.Parse(text2); } } // Token: 0x0600A497 RID: 42135 RVA: 0x00264980 File Offset: 0x00262B80 [Token(Token = "0x600A497")] [Address(RVA = "0x1ED6880", Offset = "0x1ED5280", VA = "0x181ED6880")] internal byte[] GetBody() { int num = 0; if (this.body == num) { MemoryStream memoryStream = new MemoryStream(); this.DoOutput(memoryStream); } Monitor.Exit(this); if (num != -1) { } if (num == 0) { return this.body; } throw new NullReferenceException(); } // Token: 0x0600A498 RID: 42136 RVA: 0x002649C0 File Offset: 0x00262BC0 [Token(Token = "0x600A498")] [Address(RVA = "0x1ED64E0", Offset = "0x1ED4EE0", VA = "0x181ED64E0", Slot = "6")] internal override void Encode(DerOutputStream derOut) { int length = this.GetBody().Length; derOut.WriteLength(length); int num = derOut.ReadByte(); } // Token: 0x0600A499 RID: 42137 RVA: 0x002649F0 File Offset: 0x00262BF0 [Token(Token = "0x600A499")] [Address(RVA = "0x528AC0", Offset = "0x5274C0", VA = "0x180528AC0", Slot = "8")] protected override int Asn1GetHashCode() { object obj = ((ICloneable)this.identifier).Clone(); throw new NullReferenceException(); } // Token: 0x0600A49A RID: 42138 RVA: 0x00264A10 File Offset: 0x00262C10 [Token(Token = "0x600A49A")] [Address(RVA = "0x1ED6160", Offset = "0x1ED4B60", VA = "0x181ED6160", Slot = "7")] protected override bool Asn1Equals(Asn1Object asn1Object) { if (asn1Object != 0 && asn1Object != 0) { string text = this.identifier; bool flag; return flag; } throw new NullReferenceException(); } // Token: 0x0600A49B RID: 42139 RVA: 0x00264A38 File Offset: 0x00262C38 [Token(Token = "0x600A49B")] [Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0", Slot = "3")] public override string ToString() { return this.identifier; } // Token: 0x0600A49C RID: 42140 RVA: 0x00264A4C File Offset: 0x00262C4C [Token(Token = "0x600A49C")] [Address(RVA = "0x1ED6C70", Offset = "0x1ED5670", VA = "0x181ED6C70")] private static bool IsValidBranchID(string branchID, int start) { int num = 0; int i = branchID.m_stringLength; char c = branchID[start]; if (num != 0) { while (i >= start) { } return true; } throw new NullReferenceException(); } // Token: 0x0600A49D RID: 42141 RVA: 0x00264A7C File Offset: 0x00262C7C [Token(Token = "0x600A49D")] [Address(RVA = "0x1ED6D00", Offset = "0x1ED5700", VA = "0x181ED6D00")] private static bool IsValidIdentifier(string identifier) { char c = identifier[1]; int num = 0; char c2 = identifier[num]; return DerObjectIdentifier.IsValidBranchID(identifier, 2); } // Token: 0x0600A49E RID: 42142 RVA: 0x00264AAC File Offset: 0x00262CAC [Token(Token = "0x600A49E")] [Address(RVA = "0x1ED6DA0", Offset = "0x1ED57A0", VA = "0x181ED6DA0")] private static string MakeOidStringFromBytes(byte[] bytes) { StringBuilder stringBuilder = new StringBuilder(); int num = 0; int num2 = 0; int num3 = 0; int num4 = 0; int length = bytes.Length; if (num != length) { ulong num5; byte b; ulong num6; if ((ulong)num2 > num5) { if (num3 == 0) { BigInteger bigInteger = BigInteger.ValueOf((long)num2); } BigInteger bigInteger2 = BigInteger.ValueOf((long)b); BigInteger bigInteger4; BigInteger bigInteger3 = bigInteger4.ShiftLeft(7); BigInteger bigInteger5; if (num6 != (ulong)0L) { BigInteger bigInteger6; bigInteger5 = bigInteger3.Subtract(bigInteger6); } uint num7; StringBuilder stringBuilder2 = stringBuilder.Append((char)num7); StringBuilder stringBuilder3 = stringBuilder.Append(bigInteger5); } num2 += (int)b; num4++; if (num6 != (ulong)0L) { } uint num8; StringBuilder stringBuilder4 = stringBuilder.Append((char)num8); StringBuilder stringBuilder5 = stringBuilder.Append((long)num2); num4++; } throw new NullReferenceException(); } // Token: 0x0600A49F RID: 42143 RVA: 0x00264B54 File Offset: 0x00262D54 [Token(Token = "0x600A49F")] [Address(RVA = "0x1ED6560", Offset = "0x1ED4F60", VA = "0x181ED6560")] internal static DerObjectIdentifier FromOctetString(byte[] enc) { int num; DerObjectIdentifier derObjectIdentifier2; do { num = 0; int num2 = 0; int hashCode = Arrays.GetHashCode(enc); DerObjectIdentifier[] array = DerObjectIdentifier.cache; Monitor.Enter(array, num2); DerObjectIdentifier derObjectIdentifier = DerObjectIdentifier.cache[hashCode]; if (derObjectIdentifier != 0) { byte[] array2 = derObjectIdentifier.GetBody(); if (Arrays.AreEqual(enc, array2)) { } } DerObjectIdentifier[] array3 = DerObjectIdentifier.cache; string text = DerObjectIdentifier.MakeOidStringFromBytes(enc); derObjectIdentifier2.identifier = text; byte[] array4 = Arrays.Clone(enc); derObjectIdentifier2.body = array4; array3[0] = derObjectIdentifier2; Monitor.Exit(array); if (num != -1) { } } while (num != 0); return derObjectIdentifier2; } // Token: 0x04006B7E RID: 27518 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x4006B7E")] private readonly string identifier; // Token: 0x04006B7F RID: 27519 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4006B7F")] private byte[] body; // Token: 0x04006B80 RID: 27520 [Token(Token = "0x4006B80")] private const long LONG_LIMIT = 72057594037927808L; // Token: 0x04006B81 RID: 27521 [Token(Token = "0x4006B81")] private static readonly DerObjectIdentifier[] cache = new DerObjectIdentifier[1024]; } }