Files
27Aug2021-Cpp2IL-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Asn1/DerExternal.cs
T
niko c12fbe3fc6 m
2026-04-12 16:51:38 +02:00

372 lines
16 KiB
C#

using System;
using System.IO;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1
{
// Token: 0x02001E78 RID: 7800
[Token(Token = "0x2001E78")]
public class DerExternal : Asn1Object
{
// Token: 0x0600C37A RID: 50042 RVA: 0x002C2D88 File Offset: 0x002C0F88
[Token(Token = "0x600C37A")]
[Address(RVA = "0x23A9240", Offset = "0x23A8240", VA = "0x1823A9240")]
public DerExternal(Asn1EncodableVector vector)
{
for (;;)
{
base..ctor();
int num = 0;
int num2 = 0;
Asn1Object objFromVector = DerExternal.GetObjFromVector(vector, num2);
if (objFromVector == 0)
{
goto IL_66;
}
Asn1Object objFromVector2;
if (objFromVector != 0)
{
if (objFromVector == 0)
{
continue;
}
this.directReference = objFromVector;
objFromVector2 = DerExternal.GetObjFromVector(vector, 1);
}
if (objFromVector2 == 0)
{
goto IL_66;
}
Asn1Object objFromVector3;
if (objFromVector2 != 0)
{
if (objFromVector2 == 0)
{
continue;
}
this.indirectReference = objFromVector2;
objFromVector3 = DerExternal.GetObjFromVector(vector, 1);
}
if (objFromVector3 == 0 || objFromVector3 == 0)
{
goto IL_66;
}
IL_7A:
Asn1Object objFromVector4;
if (vector.Count == 1 && objFromVector4 != 0 && objFromVector4 != 0 && objFromVector4 != 0 && this.encoding <= 2)
{
break;
}
continue;
IL_66:
num++;
this.dataValueDescriptor = objFromVector;
objFromVector4 = DerExternal.GetObjFromVector(vector, num);
goto IL_7A;
}
Asn1Object asn1Object;
this.externalContent = asn1Object;
}
// Token: 0x0600C37B RID: 50043 RVA: 0x002C2E54 File Offset: 0x002C1054
[Token(Token = "0x600C37B")]
[Address(RVA = "0x23A95D0", Offset = "0x23A85D0", VA = "0x1823A95D0")]
public DerExternal(DerObjectIdentifier directReference, DerInteger indirectReference, Asn1Object dataValueDescriptor, DerTaggedObject externalData)
{
int num = 0;
base..ctor();
this.directReference = directReference;
this.indirectReference = indirectReference;
this.dataValueDescriptor = dataValueDescriptor;
this.Encoding = num;
}
// Token: 0x0600C37C RID: 50044 RVA: 0x002C2E90 File Offset: 0x002C1090
[Token(Token = "0x600C37C")]
[Address(RVA = "0x23A91C0", Offset = "0x23A81C0", VA = "0x1823A91C0")]
public DerExternal(DerObjectIdentifier directReference, DerInteger indirectReference, Asn1Object dataValueDescriptor, int encoding, Asn1Object externalData)
{
this.directReference = directReference;
this.indirectReference = indirectReference;
this.dataValueDescriptor = dataValueDescriptor;
}
// Token: 0x0600C37D RID: 50045 RVA: 0x002C2EC0 File Offset: 0x002C10C0
[Token(Token = "0x600C37D")]
[Address(RVA = "0x23A8EA0", Offset = "0x23A7EA0", VA = "0x1823A8EA0", Slot = "6")]
internal override void Encode(DerOutputStream derOut)
{
MemoryStream memoryStream = new MemoryStream();
DerObjectIdentifier derObjectIdentifier = this.directReference;
if (derObjectIdentifier != 0)
{
byte[] derEncoded = derObjectIdentifier.GetDerEncoded();
int num = memoryStream.ReadByte();
}
DerInteger derInteger = this.indirectReference;
if (derInteger != 0)
{
byte[] derEncoded2 = derInteger.GetDerEncoded();
int num2 = memoryStream.ReadByte();
}
Asn1Object asn1Object = this.dataValueDescriptor;
if (asn1Object != 0)
{
byte[] derEncoded3 = asn1Object.GetDerEncoded();
int num3 = memoryStream.ReadByte();
}
Asn1Object asn1Object2 = this.externalContent;
DerTaggedObject derTaggedObject = new DerTaggedObject(8, asn1Object2);
if (derTaggedObject != 0)
{
byte[] derEncoded4 = derTaggedObject.GetDerEncoded();
int num4 = memoryStream.ReadByte();
}
derOut.WriteTag(32, 8);
derOut.WriteLength(32);
int num5 = derOut.ReadByte();
}
// Token: 0x0600C37E RID: 50046 RVA: 0x002C2F70 File Offset: 0x002C1170
[Token(Token = "0x600C37E")]
[Address(RVA = "0x23A8E10", Offset = "0x23A7E10", VA = "0x1823A8E10", Slot = "8")]
protected override int Asn1GetHashCode()
{
this.externalContent.Finalize();
DerObjectIdentifier derObjectIdentifier = this.directReference;
if (derObjectIdentifier != 0)
{
derObjectIdentifier.Finalize();
}
DerInteger derInteger = this.indirectReference;
if (derInteger != 0)
{
derInteger.Finalize();
}
Asn1Object asn1Object = this.dataValueDescriptor;
if (asn1Object != 0)
{
asn1Object.Finalize();
}
throw new NullReferenceException();
}
// Token: 0x0600C37F RID: 50047 RVA: 0x002C2FC0 File Offset: 0x002C11C0
[Token(Token = "0x600C37F")]
[Address(RVA = "0x23A8D00", Offset = "0x23A7D00", VA = "0x1823A8D00", Slot = "7")]
protected override bool Asn1Equals(Asn1Object asn1Object)
{
if (this != asn1Object)
{
if (asn1Object != 0 && asn1Object != 0)
{
DerObjectIdentifier derObjectIdentifier = this.directReference;
bool flag;
if (flag)
{
DerInteger derInteger = this.indirectReference;
bool flag2;
if (flag2)
{
Asn1Object asn1Object2 = this.dataValueDescriptor;
bool flag3;
if (flag3)
{
int num = this.externalContent.Asn1GetHashCode();
}
}
}
}
}
return true;
}
// Token: 0x17001E42 RID: 7746
// (get) Token: 0x0600C380 RID: 50048 RVA: 0x002C3018 File Offset: 0x002C1218
// (set) Token: 0x0600C381 RID: 50049 RVA: 0x002C302C File Offset: 0x002C122C
[Token(Token = "0x17001E42")]
public Asn1Object DataValueDescriptor
{
[Token(Token = "0x600C380")]
[Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0")]
get
{
return this.dataValueDescriptor;
}
[Token(Token = "0x600C381")]
[Address(RVA = "0x415810", Offset = "0x414810", VA = "0x180415810")]
set
{
this.dataValueDescriptor = value;
}
}
// Token: 0x17001E43 RID: 7747
// (get) Token: 0x0600C382 RID: 50050 RVA: 0x002C3040 File Offset: 0x002C1240
// (set) Token: 0x0600C383 RID: 50051 RVA: 0x002C3054 File Offset: 0x002C1254
[Token(Token = "0x17001E43")]
public DerObjectIdentifier DirectReference
{
[Token(Token = "0x600C382")]
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530")]
get
{
return this.directReference;
}
[Token(Token = "0x600C383")]
[Address(RVA = "0x415800", Offset = "0x414800", VA = "0x180415800")]
set
{
this.directReference = value;
}
}
// Token: 0x17001E44 RID: 7748
// (get) Token: 0x0600C384 RID: 50052 RVA: 0x002C3068 File Offset: 0x002C1268
// (set) Token: 0x0600C385 RID: 50053 RVA: 0x002C307C File Offset: 0x002C127C
[Token(Token = "0x17001E44")]
public int Encoding
{
[Token(Token = "0x600C384")]
[Address(RVA = "0x471180", Offset = "0x470180", VA = "0x180471180")]
get
{
return this.encoding;
}
[Token(Token = "0x600C385")]
[Address(RVA = "0x23A9680", Offset = "0x23A8680", VA = "0x1823A9680")]
set
{
/*
An exception occurred when decompiling this method (0600C385)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.DerExternal::set_Encoding(System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:InvalidOperationException(var_1_17, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldloc:string(var_0)))
}
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: 0x17001E45 RID: 7749
// (get) Token: 0x0600C386 RID: 50054 RVA: 0x002C30A0 File Offset: 0x002C12A0
// (set) Token: 0x0600C387 RID: 50055 RVA: 0x002C30B4 File Offset: 0x002C12B4
[Token(Token = "0x17001E45")]
public Asn1Object ExternalContent
{
[Token(Token = "0x600C386")]
[Address(RVA = "0x4157E0", Offset = "0x4147E0", VA = "0x1804157E0")]
get
{
return this.externalContent;
}
[Token(Token = "0x600C387")]
[Address(RVA = "0x415830", Offset = "0x414830", VA = "0x180415830")]
set
{
this.externalContent = value;
}
}
// Token: 0x17001E46 RID: 7750
// (get) Token: 0x0600C388 RID: 50056 RVA: 0x002C30C8 File Offset: 0x002C12C8
// (set) Token: 0x0600C389 RID: 50057 RVA: 0x002C30DC File Offset: 0x002C12DC
[Token(Token = "0x17001E46")]
public DerInteger IndirectReference
{
[Token(Token = "0x600C388")]
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0")]
get
{
return this.indirectReference;
}
[Token(Token = "0x600C389")]
[Address(RVA = "0x4157F0", Offset = "0x4147F0", VA = "0x1804157F0")]
set
{
this.indirectReference = value;
}
}
// Token: 0x0600C38A RID: 50058 RVA: 0x002C30F0 File Offset: 0x002C12F0
[Token(Token = "0x600C38A")]
[Address(RVA = "0x23A90B0", Offset = "0x23A80B0", VA = "0x1823A90B0")]
private static Asn1Object GetObjFromVector(Asn1EncodableVector v, int index)
{
/*
An exception occurred when decompiling this method (0600C38A)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Asn1Object BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.DerExternal::GetObjFromVector(BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Asn1EncodableVector,System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_1C:
stloc:ArgumentException(var_0_2B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("too few objects in input vector"), ldstr:string("v")))
}
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: 0x0600C38B RID: 50059 RVA: 0x002C3128 File Offset: 0x002C1328
[Token(Token = "0x600C38B")]
[Address(RVA = "0x23A9160", Offset = "0x23A8160", VA = "0x1823A9160")]
private static void WriteEncodable(MemoryStream ms, Asn1Encodable e)
{
if (e != 0)
{
byte[] derEncoded = e.GetDerEncoded();
int num = ms.ReadByte();
}
}
// Token: 0x04007B54 RID: 31572
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4007B54")]
private DerObjectIdentifier directReference;
// Token: 0x04007B55 RID: 31573
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4007B55")]
private DerInteger indirectReference;
// Token: 0x04007B56 RID: 31574
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4007B56")]
private Asn1Object dataValueDescriptor;
// Token: 0x04007B57 RID: 31575
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4007B57")]
private int encoding;
// Token: 0x04007B58 RID: 31576
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4007B58")]
private Asn1Object externalContent;
}
}