Files
2026-04-08 23:40:05 +02:00

440 lines
22 KiB
C#

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];
}
}