This commit is contained in:
niko
2026-04-12 16:51:38 +02:00
parent 1b6f6d81d0
commit c12fbe3fc6
17828 changed files with 2994770 additions and 0 deletions
@@ -0,0 +1,324 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Field;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B13 RID: 6931
[Token(Token = "0x2001B13")]
internal class SecP128R1Curve : AbstractFpCurve
{
// Token: 0x0600A69A RID: 42650 RVA: 0x0023C11C File Offset: 0x0023A31C
[Token(Token = "0x600A69A")]
[Address(RVA = "0x6EDD20", Offset = "0x6ECD20", VA = "0x1806EDD20")]
public SecP128R1Curve()
{
IFiniteField primeField = FiniteFields.GetPrimeField(SecP128R1Curve.q);
base..ctor(primeField);
int num;
int num2;
ulong num3;
SecP128R1Point secP128R1Point = new SecP128R1Point(this, num, num2, num3 != 0UL);
num2 = 0;
num = 0;
this.m_infinity = secP128R1Point;
byte[] array = Hex.Decode("FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFC");
BigInteger bigInteger = new BigInteger(1, array);
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
byte[] array2 = Hex.Decode("E87579C11079F43DD824993C2CEE5ED3");
BigInteger bigInteger2 = new BigInteger(1, array2);
int fieldSize2 = this.FieldSize;
this.m_b = fieldSize2;
byte[] array3 = Hex.Decode("FFFFFFFE0000000075A30D1B9038A115");
BigInteger bigInteger3 = new BigInteger(1, array3);
this.m_order = bigInteger3;
BigInteger one = BigInteger.One;
this.m_cofactor = one;
this.m_coord = (int)((ulong)2L);
}
// Token: 0x0600A69B RID: 42651 RVA: 0x0023C1D8 File Offset: 0x0023A3D8
[Token(Token = "0x600A69B")]
[Address(RVA = "0x6ED840", Offset = "0x6EC840", VA = "0x1806ED840", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600A69B)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP128R1Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP128R1Curve(var_0_05, newobj:SecP128R1Curve(SecP128R1Curve::.ctor))
}
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: 0x0600A69C RID: 42652 RVA: 0x0023C1EC File Offset: 0x0023A3EC
[Token(Token = "0x600A69C")]
[Address(RVA = "0x6E9C20", Offset = "0x6E8C20", VA = "0x1806E9C20", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 2;
}
// Token: 0x17001A26 RID: 6694
// (get) Token: 0x0600A69D RID: 42653 RVA: 0x0023C200 File Offset: 0x0023A400
[Token(Token = "0x17001A26")]
public virtual BigInteger Q
{
[Token(Token = "0x600A69D")]
[Address(RVA = "0x6EDFB0", Offset = "0x6ECFB0", VA = "0x1806EDFB0", Slot = "38")]
get
{
return SecP128R1Curve.q;
}
}
// Token: 0x17001A27 RID: 6695
// (get) Token: 0x0600A69E RID: 42654 RVA: 0x0023C214 File Offset: 0x0023A414
[Token(Token = "0x17001A27")]
public override ECPoint Infinity
{
[Token(Token = "0x600A69E")]
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600A69E)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP128R1Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP128R1Point(var_0_06, ldfld:SecP128R1Point(SecP128R1Curve::m_infinity, ldloc:SecP128R1Curve(this)))
}
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: 0x17001A28 RID: 6696
// (get) Token: 0x0600A69F RID: 42655 RVA: 0x0023C228 File Offset: 0x0023A428
[Token(Token = "0x17001A28")]
public override int FieldSize
{
[Token(Token = "0x600A69F")]
[Address(RVA = "0x6EDF40", Offset = "0x6ECF40", VA = "0x1806EDF40", Slot = "4")]
get
{
return SecP128R1Curve.q.BitLength;
}
}
// Token: 0x0600A6A0 RID: 42656 RVA: 0x0023C248 File Offset: 0x0023A448
[Token(Token = "0x600A6A0")]
[Address(RVA = "0x6EDC20", Offset = "0x6ECC20", VA = "0x1806EDC20", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600A6A0)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP128R1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP128R1FieldElement(var_0_06, newobj:SecP128R1FieldElement(SecP128R1FieldElement::.ctor, ldloc:BigInteger(x)))
}
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: 0x0600A6A1 RID: 42657 RVA: 0x0023C25C File Offset: 0x0023A45C
[Token(Token = "0x600A6A1")]
[Address(RVA = "0x6EDAF0", Offset = "0x6ECAF0", VA = "0x1806EDAF0", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A6A1)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP128R1Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP128R1Point(var_0_09, newobj:SecP128R1Point(SecP128R1Point::.ctor, ldloc:SecP128R1Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600A6A2 RID: 42658 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600A6A2")]
[Address(RVA = "0x6EDB80", Offset = "0x6ECB80", VA = "0x1806EDB80", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600A6A3 RID: 42659 RVA: 0x0023C274 File Offset: 0x0023A474
[Token(Token = "0x600A6A3")]
[Address(RVA = "0x6ED890", Offset = "0x6EC890", VA = "0x1806ED890", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
uint[] array;
int num;
for (;;)
{
array = new uint[points];
num = 0;
if (len <= 0)
{
goto IL_49;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
if (y != 0 && y != 0)
{
break;
}
}
}
num += 8;
IL_49:
SecP128R1Curve.SecP128R1LookupTable secP128R1LookupTable;
secP128R1LookupTable.m_outer = 0;
secP128R1LookupTable.m_table = array;
secP128R1LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x0600A6A4 RID: 42660 RVA: 0x0023C2E8 File Offset: 0x0023A4E8
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600A6A4")]
[Address(RVA = "0x6EDC80", Offset = "0x6ECC80", VA = "0x1806EDC80")]
static SecP128R1Curve()
{
byte[] array = Hex.Decode("FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF");
SecP128R1Curve.q = new BigInteger(1, array);
}
// Token: 0x04006CF3 RID: 27891
[Token(Token = "0x4006CF3")]
public static readonly BigInteger q;
// Token: 0x04006CF4 RID: 27892
[Token(Token = "0x4006CF4")]
private const int SECP128R1_DEFAULT_COORDS = 2;
// Token: 0x04006CF5 RID: 27893
[Token(Token = "0x4006CF5")]
private const int SECP128R1_FE_INTS = 4;
// Token: 0x04006CF6 RID: 27894
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4006CF6")]
protected readonly SecP128R1Point m_infinity;
// Token: 0x02001B14 RID: 6932
[Token(Token = "0x2001B14")]
private class SecP128R1LookupTable : ECLookupTable
{
// Token: 0x0600A6A5 RID: 42661 RVA: 0x0023C30C File Offset: 0x0023A50C
[Token(Token = "0x600A6A5")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecP128R1LookupTable(SecP128R1Curve outer, uint[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001A29 RID: 6697
// (get) Token: 0x0600A6A6 RID: 42662 RVA: 0x0023C334 File Offset: 0x0023A534
[Token(Token = "0x17001A29")]
public virtual int Size
{
[Token(Token = "0x600A6A6")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600A6A7 RID: 42663 RVA: 0x0023C348 File Offset: 0x0023A548
[Token(Token = "0x600A6A7")]
[Address(RVA = "0x6F0090", Offset = "0x6EF090", VA = "0x1806F0090", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
uint[] array = Nat128.Create();
uint[] array2 = Nat128.Create();
int num = 0;
int num2 = 0;
if (this.m_size > num)
{
int num3 = 0;
uint[] table = this.m_table;
uint[] table2 = this.m_table;
num3++;
num += 8;
num2++;
}
SecP128R1Curve outer = this.m_outer;
new SecP128R1FieldElement().x = array;
new SecP128R1FieldElement().x = array2;
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006CF7 RID: 27895
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006CF7")]
private readonly SecP128R1Curve m_outer;
// Token: 0x04006CF8 RID: 27896
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006CF8")]
private readonly uint[] m_table;
// Token: 0x04006CF9 RID: 27897
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006CF9")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,344 @@
using System;
using System.Runtime.CompilerServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B15 RID: 6933
[Token(Token = "0x2001B15")]
internal class SecP128R1Field
{
// Token: 0x0600A6A8 RID: 42664 RVA: 0x0023C3C8 File Offset: 0x0023A5C8
[Token(Token = "0x600A6A8")]
[Address(RVA = "0x6EF2C0", Offset = "0x6EE2C0", VA = "0x1806EF2C0")]
public static void Add(uint[] x, uint[] y, uint[] z)
{
if (Nat128.Add(x, y, z) == (uint)0)
{
uint[] p = SecP128R1Field.P;
if (!Nat128.Gte(z, p))
{
return;
}
}
SecP128R1Field.AddPInvTo(z);
}
// Token: 0x0600A6A9 RID: 42665 RVA: 0x0023C400 File Offset: 0x0023A600
[Token(Token = "0x600A6A9")]
[Address(RVA = "0x6EF000", Offset = "0x6EE000", VA = "0x1806EF000")]
public static void AddExt(uint[] xx, uint[] yy, uint[] zz)
{
if (Nat256.Add(xx, yy, zz) == (uint)0)
{
uint[] pext = SecP128R1Field.PExt;
if (!Nat256.Gte(zz, pext))
{
return;
}
}
uint[] pextInv = SecP128R1Field.PExtInv;
uint num = Nat.AddTo(pextInv.Length, pextInv, zz);
}
// Token: 0x0600A6AA RID: 42666 RVA: 0x0023C444 File Offset: 0x0023A644
[Token(Token = "0x600A6AA")]
[Address(RVA = "0x6EF120", Offset = "0x6EE120", VA = "0x1806EF120")]
public static void AddOne(uint[] x, uint[] z)
{
if (Nat.Inc(4, x, z) == (uint)0)
{
uint[] p = SecP128R1Field.P;
if (!Nat128.Gte(z, p))
{
return;
}
}
SecP128R1Field.AddPInvTo(z);
}
// Token: 0x0600A6AB RID: 42667 RVA: 0x0023C47C File Offset: 0x0023A67C
[Token(Token = "0x600A6AB")]
[Address(RVA = "0x6EF3B0", Offset = "0x6EE3B0", VA = "0x1806EF3B0")]
public static uint[] FromBigInteger(BigInteger x)
{
uint[] array = Nat128.FromBigInteger(x);
uint[] p = SecP128R1Field.P;
if (Nat128.Gte(array, p))
{
int num = Nat128.SubFrom(SecP128R1Field.P, array);
}
return array;
}
// Token: 0x0600A6AC RID: 42668 RVA: 0x0023C4B4 File Offset: 0x0023A6B4
[Token(Token = "0x600A6AC")]
[Address(RVA = "0x6EF4A0", Offset = "0x6EE4A0", VA = "0x1806EF4A0")]
public static void Half(uint[] x, uint[] z)
{
if ("{il2cpp array field x->}" != (ulong)1L)
{
uint[] p = SecP128R1Field.P;
uint num = Nat128.Add(x, p, z);
uint num2 = Nat.ShiftDownBit(4, z, num);
return;
}
int num3 = 0;
uint num4 = Nat.ShiftDownBit(4, x, (uint)num3, z);
}
// Token: 0x0600A6AD RID: 42669 RVA: 0x0023C4F8 File Offset: 0x0023A6F8
[Token(Token = "0x600A6AD")]
[Address(RVA = "0x6EF6A0", Offset = "0x6EE6A0", VA = "0x1806EF6A0")]
public static void Multiply(uint[] x, uint[] y, uint[] z)
{
uint[] array = Nat128.CreateExt();
Nat128.Mul(x, y, array);
SecP128R1Field.Reduce(array, z);
}
// Token: 0x0600A6AE RID: 42670 RVA: 0x0023C51C File Offset: 0x0023A71C
[Token(Token = "0x600A6AE")]
[Address(RVA = "0x6EF580", Offset = "0x6EE580", VA = "0x1806EF580")]
public static void MultiplyAddToExt(uint[] x, uint[] y, uint[] zz)
{
if (Nat128.MulAddTo(x, y, zz) == (uint)0)
{
uint[] pext = SecP128R1Field.PExt;
if (!Nat256.Gte(zz, pext))
{
return;
}
}
uint[] pextInv = SecP128R1Field.PExtInv;
uint num = Nat.AddTo(pextInv.Length, pextInv, zz);
}
// Token: 0x0600A6AF RID: 42671 RVA: 0x0023C560 File Offset: 0x0023A760
[Token(Token = "0x600A6AF")]
[Address(RVA = "0x6EF740", Offset = "0x6EE740", VA = "0x1806EF740")]
public static void Negate(uint[] x, uint[] z)
{
if (!Nat128.IsZero(x))
{
int num = Nat128.Sub(SecP128R1Field.P, x, z);
return;
}
Nat128.Zero(z);
}
// Token: 0x0600A6B0 RID: 42672 RVA: 0x0023C58C File Offset: 0x0023A78C
[Token(Token = "0x600A6B0")]
[Address(RVA = "0x6EF8B0", Offset = "0x6EE8B0", VA = "0x1806EF8B0")]
public static void Reduce(uint[] xx, uint[] z)
{
int length = xx.Length;
uint num = xx[0];
uint num2 = xx[1];
uint num3 = xx[1];
uint num4 = xx[3];
uint num5 = xx[0];
z[0] = num5;
z[0] = z;
num += num2;
z[1] = num;
num += num4;
z[1] = xx;
SecP128R1Field.Reduce32(xx, z);
}
// Token: 0x0600A6B1 RID: 42673 RVA: 0x0023C604 File Offset: 0x0023A804
[Token(Token = "0x600A6B1")]
[Address(RVA = "0x6EF7E0", Offset = "0x6EE7E0", VA = "0x1806EF7E0")]
public static void Reduce32(uint x, uint[] z)
{
if (x != (uint)0)
{
uint num = z[0];
num += x;
z[0] = num;
if (num != (uint)0)
{
uint num2 = z[0];
num += num2;
z[0] = num;
uint num3 = z[1];
num += num3;
z[1] = num;
}
uint num4 = z[1];
num4 += num;
z[1] = num;
}
}
// Token: 0x0600A6B2 RID: 42674 RVA: 0x0023C674 File Offset: 0x0023A874
[Token(Token = "0x600A6B2")]
[Address(RVA = "0x6EFBB0", Offset = "0x6EEBB0", VA = "0x1806EFBB0")]
public static void Square(uint[] x, uint[] z)
{
uint[] array = Nat128.CreateExt();
Nat128.Square(x, array);
SecP128R1Field.Reduce(array, z);
}
// Token: 0x0600A6B3 RID: 42675 RVA: 0x0023C698 File Offset: 0x0023A898
[Token(Token = "0x600A6B3")]
[Address(RVA = "0x6EFAD0", Offset = "0x6EEAD0", VA = "0x1806EFAD0")]
public static void SquareN(uint[] x, int n, uint[] z)
{
uint[] array = Nat128.CreateExt();
Nat128.Square(x, array);
SecP128R1Field.Reduce(array, z);
if (n > 0)
{
Nat128.Square(z, array);
SecP128R1Field.Reduce(array, z);
}
}
// Token: 0x0600A6B4 RID: 42676 RVA: 0x0023C6D0 File Offset: 0x0023A8D0
[Token(Token = "0x600A6B4")]
[Address(RVA = "0x6EFDB0", Offset = "0x6EEDB0", VA = "0x1806EFDB0")]
public static void Subtract(uint[] x, uint[] y, uint[] z)
{
if (Nat128.Sub(x, y, z) != 0)
{
uint num = z[0];
z[0] = num;
if (num != (uint)0)
{
uint num2 = z[0];
num += num2;
z[0] = num;
uint num3 = z[1];
num += num3;
z[1] = num;
}
uint num4 = z[1];
num4 += (uint)(-2);
num += num4;
z[1] = num;
}
}
// Token: 0x0600A6B5 RID: 42677 RVA: 0x0023C748 File Offset: 0x0023A948
[Token(Token = "0x600A6B5")]
[Address(RVA = "0x6EFCF0", Offset = "0x6EECF0", VA = "0x1806EFCF0")]
public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz)
{
if (Nat.Sub(10, xx, yy, zz) != 0)
{
uint[] pextInv = SecP128R1Field.PExtInv;
int num = Nat.SubFrom(pextInv.Length, pextInv, zz);
}
}
// Token: 0x0600A6B6 RID: 42678 RVA: 0x0023C77C File Offset: 0x0023A97C
[Token(Token = "0x600A6B6")]
[Address(RVA = "0x6EFED0", Offset = "0x6EEED0", VA = "0x1806EFED0")]
public static void Twice(uint[] x, uint[] z)
{
int num = 0;
if (Nat.ShiftUpBit(4, x, (uint)num, z) == (uint)0)
{
uint[] p = SecP128R1Field.P;
if (!Nat128.Gte(z, p))
{
return;
}
}
SecP128R1Field.AddPInvTo(z);
}
// Token: 0x0600A6B7 RID: 42679 RVA: 0x0023C7B4 File Offset: 0x0023A9B4
[Token(Token = "0x600A6B7")]
[Address(RVA = "0x6EF210", Offset = "0x6EE210", VA = "0x1806EF210")]
private static void AddPInvTo(uint[] z)
{
uint num = z[0];
num += (uint)1;
z[0] = num;
if (num != (uint)0)
{
uint num2 = z[0];
num2 += num;
z[0] = num2;
uint num3 = z[1];
num3 += num2;
z[1] = num3;
}
uint num4 = z[1];
num4 += (uint)2;
num += num4;
z[1] = num;
}
// Token: 0x0600A6B8 RID: 42680 RVA: 0x0023C824 File Offset: 0x0023AA24
[Token(Token = "0x600A6B8")]
[Address(RVA = "0x6EFC40", Offset = "0x6EEC40", VA = "0x1806EFC40")]
private static void SubPInvFrom(uint[] z)
{
uint num = z[0];
z[0] = num;
if (num != (uint)0)
{
uint num2 = z[0];
num += num2;
z[0] = num;
uint num3 = z[1];
num += num3;
z[1] = num;
}
uint num4 = z[1];
num4 += (uint)(-2);
num += num4;
z[1] = num;
}
// Token: 0x0600A6B9 RID: 42681 RVA: 0x0023C890 File Offset: 0x0023AA90
[Token(Token = "0x600A6B9")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public SecP128R1Field()
{
}
// Token: 0x0600A6BA RID: 42682 RVA: 0x0023C8A4 File Offset: 0x0023AAA4
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600A6BA")]
[Address(RVA = "0x6EFFC0", Offset = "0x6EEFC0", VA = "0x1806EFFC0")]
static SecP128R1Field()
{
uint[] array = new uint[4];
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.FAF70E8DF6971D7BABBCE9FEF83EDA1D5D095D05).FieldHandle);
SecP128R1Field.P = array;
uint[] array2 = new uint[8];
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.068B2E17352B5B9FF693CAE83421B679E0342A5C).FieldHandle);
SecP128R1Field.PExt = array2;
uint[] array3 = new uint[8];
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.F2842E2653F6C5E55959B5EC5E07ABAFC0191FB0).FieldHandle);
SecP128R1Field.PExtInv = array3;
}
// Token: 0x04006CFA RID: 27898
[Token(Token = "0x4006CFA")]
internal static readonly uint[] P;
// Token: 0x04006CFB RID: 27899
[Token(Token = "0x4006CFB")]
internal static readonly uint[] PExt;
// Token: 0x04006CFC RID: 27900
[Token(Token = "0x4006CFC")]
private static readonly uint[] PExtInv;
// Token: 0x04006CFD RID: 27901
[Token(Token = "0x4006CFD")]
private const uint P3 = 4294967293U;
// Token: 0x04006CFE RID: 27902
[Token(Token = "0x4006CFE")]
private const uint PExt7 = 4294967292U;
}
}
@@ -0,0 +1,437 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B16 RID: 6934
[Token(Token = "0x2001B16")]
internal class SecP128R1FieldElement : AbstractFpFieldElement
{
// Token: 0x0600A6BB RID: 42683 RVA: 0x0023C8FC File Offset: 0x0023AAFC
[Token(Token = "0x600A6BB")]
[Address(RVA = "0x6EED70", Offset = "0x6EDD70", VA = "0x1806EED70")]
public SecP128R1FieldElement(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600A6BB)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP128R1FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_44:
stloc:ArgumentException(var_5_53, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecP128R1FieldElement"), ldstr:string("x")))
}
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: 0x0600A6BC RID: 42684 RVA: 0x0023C960 File Offset: 0x0023AB60
[Token(Token = "0x600A6BC")]
[Address(RVA = "0x6EED40", Offset = "0x6EDD40", VA = "0x1806EED40")]
public SecP128R1FieldElement()
{
uint[] array = Nat128.Create();
this.x = array;
}
// Token: 0x0600A6BD RID: 42685 RVA: 0x0023C984 File Offset: 0x0023AB84
[Token(Token = "0x600A6BD")]
[Address(RVA = "0x681CA0", Offset = "0x680CA0", VA = "0x180681CA0")]
protected internal SecP128R1FieldElement(uint[] x)
{
this.x = x;
}
// Token: 0x17001A2A RID: 6698
// (get) Token: 0x0600A6BE RID: 42686 RVA: 0x0023C9A0 File Offset: 0x0023ABA0
[Token(Token = "0x17001A2A")]
public override bool IsZero
{
[Token(Token = "0x600A6BE")]
[Address(RVA = "0x6EEFF0", Offset = "0x6EDFF0", VA = "0x1806EEFF0", Slot = "18")]
get
{
return Nat128.IsZero(this.x);
}
}
// Token: 0x17001A2B RID: 6699
// (get) Token: 0x0600A6BF RID: 42687 RVA: 0x0023C9B8 File Offset: 0x0023ABB8
[Token(Token = "0x17001A2B")]
public override bool IsOne
{
[Token(Token = "0x600A6BF")]
[Address(RVA = "0x6EEFE0", Offset = "0x6EDFE0", VA = "0x1806EEFE0", Slot = "17")]
get
{
return Nat128.IsOne(this.x);
}
}
// Token: 0x0600A6C0 RID: 42688 RVA: 0x0023C9D0 File Offset: 0x0023ABD0
[Token(Token = "0x600A6C0")]
[Address(RVA = "0x6EECA0", Offset = "0x6EDCA0", VA = "0x1806EECA0", Slot = "24")]
public override bool TestBitZero()
{
uint[] array = this.x;
int num = 0;
return Nat128.GetBit(array, num) == (uint)1;
}
// Token: 0x0600A6C1 RID: 42689 RVA: 0x0023C9F4 File Offset: 0x0023ABF4
[Token(Token = "0x600A6C1")]
[Address(RVA = "0x6EECC0", Offset = "0x6EDCC0", VA = "0x1806EECC0", Slot = "4")]
public override BigInteger ToBigInteger()
{
return Nat128.ToBigInteger(this.x);
}
// Token: 0x17001A2C RID: 6700
// (get) Token: 0x0600A6C2 RID: 42690 RVA: 0x0023CA0C File Offset: 0x0023AC0C
[Token(Token = "0x17001A2C")]
public override string FieldName
{
[Token(Token = "0x600A6C2")]
[Address(RVA = "0x6EEF40", Offset = "0x6EDF40", VA = "0x1806EEF40", Slot = "5")]
get
{
return "SecP128R1Field";
}
}
// Token: 0x17001A2D RID: 6701
// (get) Token: 0x0600A6C3 RID: 42691 RVA: 0x0023CA20 File Offset: 0x0023AC20
[Token(Token = "0x17001A2D")]
public override int FieldSize
{
[Token(Token = "0x600A6C3")]
[Address(RVA = "0x6EEF70", Offset = "0x6EDF70", VA = "0x1806EEF70", Slot = "6")]
get
{
return SecP128R1FieldElement.Q.BitLength;
}
}
// Token: 0x0600A6C4 RID: 42692 RVA: 0x0023CA40 File Offset: 0x0023AC40
[Token(Token = "0x600A6C4")]
[Address(RVA = "0x6EE160", Offset = "0x6ED160", VA = "0x1806EE160", Slot = "7")]
public override ECFieldElement Add(ECFieldElement b)
{
uint[] array;
do
{
array = Nat128.Create();
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP128R1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecP128R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A6C5 RID: 42693 RVA: 0x0023CA88 File Offset: 0x0023AC88
[Token(Token = "0x600A6C5")]
[Address(RVA = "0x6EE010", Offset = "0x6ED010", VA = "0x1806EE010", Slot = "8")]
public override ECFieldElement AddOne()
{
uint[] array = Nat128.Create();
uint[] array2 = this.x;
if (Nat.Inc(4, array2, array) == (uint)0)
{
uint[] p = SecP128R1Field.P;
if (!Nat128.Gte(array, p))
{
goto IL_31;
}
}
SecP128R1Field.AddPInvTo(array);
IL_31:
new SecP128R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A6C6 RID: 42694 RVA: 0x0023CAD8 File Offset: 0x0023ACD8
[Token(Token = "0x600A6C6")]
[Address(RVA = "0x6EEB60", Offset = "0x6EDB60", VA = "0x1806EEB60", Slot = "9")]
public override ECFieldElement Subtract(ECFieldElement b)
{
uint[] array;
do
{
array = Nat128.Create();
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP128R1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecP128R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A6C7 RID: 42695 RVA: 0x0023CB20 File Offset: 0x0023AD20
[Token(Token = "0x600A6C7")]
[Address(RVA = "0x6EE6F0", Offset = "0x6ED6F0", VA = "0x1806EE6F0", Slot = "10")]
public override ECFieldElement Multiply(ECFieldElement b)
{
uint[] array;
do
{
array = Nat128.Create();
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP128R1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecP128R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A6C8 RID: 42696 RVA: 0x0023CB68 File Offset: 0x0023AD68
[Token(Token = "0x600A6C8")]
[Address(RVA = "0x6EE2A0", Offset = "0x6ED2A0", VA = "0x1806EE2A0", Slot = "11")]
public override ECFieldElement Divide(ECFieldElement b)
{
uint[] array;
do
{
array = Nat128.Create();
uint[] p = SecP128R1Field.P;
if ("{il2cpp array field local3->}" == typeof(SecP128R1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
uint[] array2 = this.x;
SecP128R1Field.Multiply(array, array2, array);
new SecP128R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A6C9 RID: 42697 RVA: 0x0023CBC0 File Offset: 0x0023ADC0
[Token(Token = "0x600A6C9")]
[Address(RVA = "0x6EE830", Offset = "0x6ED830", VA = "0x1806EE830", Slot = "12")]
public override ECFieldElement Negate()
{
/*
An exception occurred when decompiling this method (0600A6C9)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP128R1FieldElement::Negate()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat128::Create))
call:void(SecP128R1Field::Negate, ldfld:uint32[](SecP128R1FieldElement::x, ldloc:SecP128R1FieldElement(this)), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP128R1FieldElement::x, newobj:SecP128R1FieldElement(SecP128R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A6CA RID: 42698 RVA: 0x0023CBEC File Offset: 0x0023ADEC
[Token(Token = "0x600A6CA")]
[Address(RVA = "0x6EEAD0", Offset = "0x6EDAD0", VA = "0x1806EEAD0", Slot = "13")]
public override ECFieldElement Square()
{
/*
An exception occurred when decompiling this method (0600A6CA)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP128R1FieldElement::Square()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat128::Create))
call:void(SecP128R1Field::Square, ldfld:uint32[](SecP128R1FieldElement::x, ldloc:SecP128R1FieldElement(this)), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP128R1FieldElement::x, newobj:SecP128R1FieldElement(SecP128R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A6CB RID: 42699 RVA: 0x0023CC18 File Offset: 0x0023AE18
[Token(Token = "0x600A6CB")]
[Address(RVA = "0x6EE620", Offset = "0x6ED620", VA = "0x1806EE620", Slot = "14")]
public override ECFieldElement Invert()
{
/*
An exception occurred when decompiling this method (0600A6CB)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP128R1FieldElement::Invert()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat128::Create))
stloc:uint32[](var_2_0E, ldfld:uint32[](SecP128R1FieldElement::x, ldloc:SecP128R1FieldElement(this)))
call:void(Mod::Invert, ldsfld:uint32[](SecP128R1Field::P), ldloc:uint32[](var_2_0E), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP128R1FieldElement::x, newobj:SecP128R1FieldElement(SecP128R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A6CC RID: 42700 RVA: 0x0023CC4C File Offset: 0x0023AE4C
[Token(Token = "0x600A6CC")]
[Address(RVA = "0x6EE8C0", Offset = "0x6ED8C0", VA = "0x1806EE8C0", Slot = "15")]
public override ECFieldElement Sqrt()
{
uint[] array;
do
{
array = this.x;
}
while (Nat128.IsZero(array) || Nat128.IsOne(array));
uint[] array2 = Nat128.Create();
SecP128R1Field.Square(array, array2);
SecP128R1Field.Multiply(array2, array, array2);
uint[] array3 = Nat128.Create();
SecP128R1Field.SquareN(array2, 2, array3);
SecP128R1Field.Multiply(array3, array2, array3);
uint[] array4 = Nat128.Create();
SecP128R1Field.SquareN(array3, 4, array4);
SecP128R1Field.Multiply(array4, array3, array4);
SecP128R1Field.SquareN(array4, 2, array3);
SecP128R1Field.Multiply(array3, array2, array3);
SecP128R1Field.SquareN(array3, 10, array2);
SecP128R1Field.Multiply(array2, array3, array2);
SecP128R1Field.SquareN(array2, 10, array4);
SecP128R1Field.Multiply(array4, array3, array4);
SecP128R1Field.Square(array4, array3);
SecP128R1Field.Multiply(array3, array, array3);
SecP128R1Field.SquareN(array3, 95, array3);
SecP128R1Field.Square(array3, array4);
if (Nat128.Eq(array, array4))
{
new SecP128R1FieldElement().x = array3;
return;
}
}
// Token: 0x0600A6CD RID: 42701 RVA: 0x0023CD40 File Offset: 0x0023AF40
[Token(Token = "0x600A6CD")]
[Address(RVA = "0x6EE420", Offset = "0x6ED420", VA = "0x1806EE420", Slot = "0")]
public override bool Equals(object obj)
{
/*
An exception occurred when decompiling this method (0600A6CD)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP128R1FieldElement::Equals(System.Object)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP128R1FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600A6CE RID: 42702 RVA: 0x0023CD5C File Offset: 0x0023AF5C
[Token(Token = "0x600A6CE")]
[Address(RVA = "0x6EE4B0", Offset = "0x6ED4B0", VA = "0x1806EE4B0", Slot = "25")]
public override bool Equals(ECFieldElement other)
{
/*
An exception occurred when decompiling this method (0600A6CE)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP128R1FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP128R1FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600A6CF RID: 42703 RVA: 0x0023CD78 File Offset: 0x0023AF78
[Token(Token = "0x600A6CF")]
[Address(RVA = "0x6EE540", Offset = "0x6ED540", VA = "0x1806EE540", Slot = "27")]
public virtual bool Equals(SecP128R1FieldElement other)
{
if (this != other)
{
if (other != 0)
{
uint[] array = other.x;
return Nat128.Eq(this.x, array);
}
}
return true;
}
// Token: 0x0600A6D0 RID: 42704 RVA: 0x0023CDA4 File Offset: 0x0023AFA4
[Token(Token = "0x600A6D0")]
[Address(RVA = "0x6EE560", Offset = "0x6ED560", VA = "0x1806EE560", Slot = "2")]
public override int GetHashCode()
{
SecP128R1FieldElement.Q.Finalize();
uint[] array = this.x;
int num = 0;
return Arrays.GetHashCode(array, num, 4);
}
// Token: 0x04006CFF RID: 27903
[Token(Token = "0x4006CFF")]
public static readonly BigInteger Q = SecP128R1Curve.q;
// Token: 0x04006D00 RID: 27904
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006D00")]
protected internal readonly uint[] x;
}
}
@@ -0,0 +1,292 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B17 RID: 6935
[Token(Token = "0x2001B17")]
internal class SecP128R1Point : AbstractFpPoint
{
// Token: 0x0600A6D2 RID: 42706 RVA: 0x0023CDEC File Offset: 0x0023AFEC
[Token(Token = "0x600A6D2")]
[Address(RVA = "0x6F1310", Offset = "0x6F0310", VA = "0x1806F1310")]
public SecP128R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600A6D3 RID: 42707 RVA: 0x0023CDFC File Offset: 0x0023AFFC
[Token(Token = "0x600A6D3")]
[Address(RVA = "0x6F1250", Offset = "0x6F0250", VA = "0x1806F1250")]
public SecP128R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A6D3)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP128R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600A6D4 RID: 42708 RVA: 0x0023CE24 File Offset: 0x0023B024
[Token(Token = "0x600A6D4")]
[Address(RVA = "0x6E4C90", Offset = "0x6E3C90", VA = "0x1806E4C90")]
internal SecP128R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600A6D5 RID: 42709 RVA: 0x0023CE34 File Offset: 0x0023B034
[Token(Token = "0x600A6D5")]
[Address(RVA = "0x6F0A20", Offset = "0x6EFA20", VA = "0x1806F0A20", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600A6D5)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP128R1Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecP128R1Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecP128R1Point[exp:ECPoint](this)))
}
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: 0x0600A6D6 RID: 42710 RVA: 0x0023CE50 File Offset: 0x0023B050
[Token(Token = "0x600A6D6")]
[Address(RVA = "0x6F0260", Offset = "0x6EF260", VA = "0x1806F0260", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
if (!base.IsInfinity)
{
if (!b.IsInfinity)
{
if (this == b)
{
return b;
}
bool flag = this.SatisfiesOrder();
ECFieldElement[] zs = this.m_zs;
ECFieldElement[] zs2 = b.m_zs;
uint[] array = Nat128.CreateExt();
uint[] array2 = Nat128.Create();
uint[] array3 = Nat128.Create();
uint[] array4 = Nat128.Create();
if (array4 == 0)
{
SecP128R1Field.Square(array4, array3);
SecP128R1Field.Multiply(array3, array3, array2);
SecP128R1Field.Multiply(array3, array3, array3);
SecP128R1Field.Multiply(array3, array3, array3);
}
SecP128R1Field.Multiply(array4, array4, array);
SecP128R1Field.Multiply(array4, array4, array4);
SecP128R1Field.Multiply(array4, array4, array4);
uint[] array5 = Nat128.Create();
if (!Nat128.IsZero(array5))
{
SecP128R1Field.Square(array5, array3);
uint[] array6 = Nat128.Create();
SecP128R1Field.Multiply(array3, array5, array6);
SecP128R1Field.Negate(array6, array6);
SecP128R1Field.Reduce32(Nat128.AddBothTo(array3, array3, array6), array6);
SecP128R1FieldElement secP128R1FieldElement = new SecP128R1FieldElement();
secP128R1FieldElement.x = array4;
SecP128R1Field.Square(array2, array4);
uint[] x = secP128R1FieldElement.x;
SecP128R1Field.Subtract(x, array6, x);
SecP128R1FieldElement secP128R1FieldElement2 = new SecP128R1FieldElement();
secP128R1FieldElement2.x = array6;
uint[] x2 = secP128R1FieldElement.x;
SecP128R1Field.Subtract(array3, x2, array6);
if (Nat128.MulAddTo(secP128R1FieldElement2.x, array2, array) == (uint)0)
{
uint[] pext = SecP128R1Field.PExt;
if (!Nat256.Gte(array, pext))
{
goto IL_18C;
}
}
uint[] pextInv = SecP128R1Field.PExtInv;
uint num = Nat.AddTo(pextInv.Length, pextInv, array);
IL_18C:
uint[] x3 = secP128R1FieldElement2.x;
SecP128R1Field.Reduce(array, x3);
SecP128R1FieldElement secP128R1FieldElement3 = new SecP128R1FieldElement();
secP128R1FieldElement3.x = array5;
SecP128R1Field.Multiply(array5, array, array5);
uint[] x4 = secP128R1FieldElement3.x;
ECFieldElement[] array7 = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
}
bool flag2;
if (!flag2)
{
}
}
return b;
}
// Token: 0x0600A6D7 RID: 42711 RVA: 0x0023D04C File Offset: 0x0023B24C
[Token(Token = "0x600A6D7")]
[Address(RVA = "0x6F0BC0", Offset = "0x6EFBC0", VA = "0x1806F0BC0", Slot = "30")]
public override ECPoint Twice()
{
while (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement y = this.m_y;
if (y != 0)
{
if (y.IsOne)
{
break;
}
ECFieldElement x = this.m_x;
if (x == 0)
{
}
if (x != 0)
{
ECFieldElement ecfieldElement = this.m_zs[0];
if (ecfieldElement == 0)
{
}
if (ecfieldElement != 0)
{
uint[] array = Nat128.Create();
uint[] array2 = Nat128.Create();
uint[] array3 = Nat128.Create();
uint[] array4 = Nat128.Create();
SecP128R1Field.Square(array3, array4);
if (ecfieldElement.BitLength == 0)
{
}
SecP128R1Field.Multiply(array2, array, array2);
SecP128R1Field.Reduce32(Nat128.AddBothTo(array2, array2, array2), array2);
SecP128R1Field.Multiply(array3, array2, array3);
int num = 0;
SecP128R1Field.Reduce32(Nat.ShiftUpBits(4, array3, 2, (uint)num), array3);
int num2 = 0;
SecP128R1Field.Reduce32(Nat.ShiftUpBits(4, array4, 3, (uint)num2, array), array);
SecP128R1FieldElement secP128R1FieldElement = new SecP128R1FieldElement();
secP128R1FieldElement.x = array4;
SecP128R1Field.Square(array2, array4);
uint[] x2 = secP128R1FieldElement.x;
SecP128R1Field.Subtract(x2, array3, x2);
uint[] x3 = secP128R1FieldElement.x;
SecP128R1Field.Subtract(x3, array3, x3);
SecP128R1FieldElement secP128R1FieldElement2 = new SecP128R1FieldElement();
secP128R1FieldElement2.x = array3;
uint[] x4 = secP128R1FieldElement.x;
SecP128R1Field.Subtract(array3, x4, array3);
uint[] x5 = secP128R1FieldElement2.x;
SecP128R1Field.Multiply(x5, array2, x5);
uint[] x6 = secP128R1FieldElement2.x;
SecP128R1Field.Subtract(x6, array, x6);
SecP128R1FieldElement secP128R1FieldElement3 = new SecP128R1FieldElement();
secP128R1FieldElement3.x = array2;
uint num3;
if (num3 == (uint)0)
{
uint[] p = SecP128R1Field.P;
if (!Nat128.Gte(array2, p))
{
goto IL_1AB;
}
}
SecP128R1Field.AddPInvTo(array2);
IL_1AB:
uint[] x7 = secP128R1FieldElement3.x;
(new ECFieldElement[1])[0] = secP128R1FieldElement3;
bool withCompression = this.m_withCompression;
break;
}
}
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600A6D8 RID: 42712 RVA: 0x0023D228 File Offset: 0x0023B428
[Token(Token = "0x600A6D8")]
[Address(RVA = "0x6ECFE0", Offset = "0x6EBFE0", VA = "0x1806ECFE0", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
if (this != b)
{
if (!base.IsInfinity)
{
if (!b.IsInfinity)
{
if (this.m_y.IsOne)
{
return b;
}
ECPoint ecpoint;
bool flag = ecpoint.SatisfiesCurveEquation();
}
bool flag2 = base.SatisfiesCurveEquation();
}
return b;
}
bool flag3 = base.SatisfiesCurveEquation();
throw new NullReferenceException();
}
// Token: 0x0600A6D9 RID: 42713 RVA: 0x0023D278 File Offset: 0x0023B478
[Token(Token = "0x600A6D9")]
[Address(RVA = "0x6ECF60", Offset = "0x6EBF60", VA = "0x1806ECF60", Slot = "33")]
public override ECPoint ThreeTimes()
{
if (!base.IsInfinity && !this.m_y.IsOne)
{
ECPoint ecpoint;
bool flag = ecpoint.SatisfiesCurveEquation();
}
throw new NullReferenceException();
}
// Token: 0x0600A6DA RID: 42714 RVA: 0x0023D2A8 File Offset: 0x0023B4A8
[Token(Token = "0x600A6DA")]
[Address(RVA = "0x6F0AC0", Offset = "0x6EFAC0", VA = "0x1806F0AC0", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement y = this.m_y;
ECFieldElement[] zs = this.m_zs;
bool withCompression = this.m_withCompression;
}
throw new NullReferenceException();
}
}
}
@@ -0,0 +1,310 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Field;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B18 RID: 6936
[Token(Token = "0x2001B18")]
internal class SecP160K1Curve : AbstractFpCurve
{
// Token: 0x0600A6DB RID: 42715 RVA: 0x0023D2E0 File Offset: 0x0023B4E0
[Token(Token = "0x600A6DB")]
[Address(RVA = "0x6F17E0", Offset = "0x6F07E0", VA = "0x1806F17E0")]
public SecP160K1Curve()
{
IFiniteField primeField = FiniteFields.GetPrimeField(SecP160K1Curve.q);
base..ctor(primeField);
int num;
int num2;
ulong num3;
SecP160K1Point secP160K1Point = new SecP160K1Point(this, num, num2, num3 != 0UL);
num2 = 0;
num = 0;
this.m_infinity = secP160K1Point;
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
int fieldSize2 = this.FieldSize;
this.m_b = fieldSize2;
byte[] array = Hex.Decode("0100000000000000000001B8FA16DFAB9ACA16B6B3");
BigInteger bigInteger = new BigInteger(1, array);
this.m_order = bigInteger;
BigInteger one = BigInteger.One;
this.m_cofactor = one;
this.m_coord = (int)((ulong)2L);
}
// Token: 0x0600A6DC RID: 42716 RVA: 0x0023D370 File Offset: 0x0023B570
[Token(Token = "0x600A6DC")]
[Address(RVA = "0x6F1330", Offset = "0x6F0330", VA = "0x1806F1330", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600A6DC)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160K1Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP160K1Curve(var_0_05, newobj:SecP160K1Curve(SecP160K1Curve::.ctor))
}
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: 0x0600A6DD RID: 42717 RVA: 0x0023D384 File Offset: 0x0023B584
[Token(Token = "0x600A6DD")]
[Address(RVA = "0x6E9C20", Offset = "0x6E8C20", VA = "0x1806E9C20", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 2;
}
// Token: 0x17001A2E RID: 6702
// (get) Token: 0x0600A6DE RID: 42718 RVA: 0x0023D398 File Offset: 0x0023B598
[Token(Token = "0x17001A2E")]
public virtual BigInteger Q
{
[Token(Token = "0x600A6DE")]
[Address(RVA = "0x6F1A30", Offset = "0x6F0A30", VA = "0x1806F1A30", Slot = "38")]
get
{
return SecP160K1Curve.q;
}
}
// Token: 0x17001A2F RID: 6703
// (get) Token: 0x0600A6DF RID: 42719 RVA: 0x0023D3AC File Offset: 0x0023B5AC
[Token(Token = "0x17001A2F")]
public override ECPoint Infinity
{
[Token(Token = "0x600A6DF")]
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600A6DF)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160K1Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP160K1Point(var_0_06, ldfld:SecP160K1Point(SecP160K1Curve::m_infinity, ldloc:SecP160K1Curve(this)))
}
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: 0x17001A30 RID: 6704
// (get) Token: 0x0600A6E0 RID: 42720 RVA: 0x0023D3C0 File Offset: 0x0023B5C0
[Token(Token = "0x17001A30")]
public override int FieldSize
{
[Token(Token = "0x600A6E0")]
[Address(RVA = "0x6F19C0", Offset = "0x6F09C0", VA = "0x1806F19C0", Slot = "4")]
get
{
return SecP160K1Curve.q.BitLength;
}
}
// Token: 0x0600A6E1 RID: 42721 RVA: 0x0023D3E0 File Offset: 0x0023B5E0
[Token(Token = "0x600A6E1")]
[Address(RVA = "0x6F1710", Offset = "0x6F0710", VA = "0x1806F1710", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600A6E1)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160K1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP160R2FieldElement(var_0_06, newobj:SecP160R2FieldElement(SecP160R2FieldElement::.ctor, ldloc:BigInteger(x)))
}
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: 0x0600A6E2 RID: 42722 RVA: 0x0023D3F4 File Offset: 0x0023B5F4
[Token(Token = "0x600A6E2")]
[Address(RVA = "0x6F15E0", Offset = "0x6F05E0", VA = "0x1806F15E0", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A6E2)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160K1Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP160K1Point(var_0_09, newobj:SecP160K1Point(SecP160K1Point::.ctor, ldloc:SecP160K1Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600A6E3 RID: 42723 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600A6E3")]
[Address(RVA = "0x6F1670", Offset = "0x6F0670", VA = "0x1806F1670", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600A6E4 RID: 42724 RVA: 0x0023D40C File Offset: 0x0023B60C
[Token(Token = "0x600A6E4")]
[Address(RVA = "0x6F1380", Offset = "0x6F0380", VA = "0x1806F1380", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
uint[] array;
int num;
for (;;)
{
array = new uint[points];
num = 0;
if (len <= 0)
{
goto IL_4A;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
if (y != 0 && y != 0)
{
break;
}
}
}
num += 10;
IL_4A:
SecP160K1Curve.SecP160K1LookupTable secP160K1LookupTable;
secP160K1LookupTable.m_outer = 0;
secP160K1LookupTable.m_table = array;
secP160K1LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x04006D01 RID: 27905
[Token(Token = "0x4006D01")]
public static readonly BigInteger q = SecP160R2Curve.q;
// Token: 0x04006D02 RID: 27906
[Token(Token = "0x4006D02")]
private const int SECP160K1_DEFAULT_COORDS = 2;
// Token: 0x04006D03 RID: 27907
[Token(Token = "0x4006D03")]
private const int SECP160K1_FE_INTS = 5;
// Token: 0x04006D04 RID: 27908
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4006D04")]
protected readonly SecP160K1Point m_infinity;
// Token: 0x02001B19 RID: 6937
[Token(Token = "0x2001B19")]
private class SecP160K1LookupTable : ECLookupTable
{
// Token: 0x0600A6E6 RID: 42726 RVA: 0x0023D498 File Offset: 0x0023B698
[Token(Token = "0x600A6E6")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecP160K1LookupTable(SecP160K1Curve outer, uint[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001A31 RID: 6705
// (get) Token: 0x0600A6E7 RID: 42727 RVA: 0x0023D4C0 File Offset: 0x0023B6C0
[Token(Token = "0x17001A31")]
public virtual int Size
{
[Token(Token = "0x600A6E7")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600A6E8 RID: 42728 RVA: 0x0023D4D4 File Offset: 0x0023B6D4
[Token(Token = "0x600A6E8")]
[Address(RVA = "0x6F1A90", Offset = "0x6F0A90", VA = "0x1806F1A90", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
uint[] array = Nat256.Create();
uint[] array2 = Nat256.Create();
int num = 0;
int num2 = 0;
if (this.m_size > num)
{
int num3 = 0;
uint[] table = this.m_table;
uint[] table2 = this.m_table;
num3++;
num += 10;
num2++;
}
SecP160K1Curve outer = this.m_outer;
SecP160R2FieldElement secP160R2FieldElement = new SecP160R2FieldElement(array);
SecP160R2FieldElement secP160R2FieldElement2 = new SecP160R2FieldElement(array2);
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006D05 RID: 27909
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006D05")]
private readonly SecP160K1Curve m_outer;
// Token: 0x04006D06 RID: 27910
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006D06")]
private readonly uint[] m_table;
// Token: 0x04006D07 RID: 27911
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006D07")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,263 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B1A RID: 6938
[Token(Token = "0x2001B1A")]
internal class SecP160K1Point : AbstractFpPoint
{
// Token: 0x0600A6E9 RID: 42729 RVA: 0x0023D550 File Offset: 0x0023B750
[Token(Token = "0x600A6E9")]
[Address(RVA = "0x6F2AB0", Offset = "0x6F1AB0", VA = "0x1806F2AB0")]
public SecP160K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600A6EA RID: 42730 RVA: 0x0023D560 File Offset: 0x0023B760
[Token(Token = "0x600A6EA")]
[Address(RVA = "0x6F29F0", Offset = "0x6F19F0", VA = "0x1806F29F0")]
public SecP160K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A6EA)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160K1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600A6EB RID: 42731 RVA: 0x0023D588 File Offset: 0x0023B788
[Token(Token = "0x600A6EB")]
[Address(RVA = "0x6E4C90", Offset = "0x6E3C90", VA = "0x1806E4C90")]
internal SecP160K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600A6EC RID: 42732 RVA: 0x0023D598 File Offset: 0x0023B798
[Token(Token = "0x600A6EC")]
[Address(RVA = "0x6F2340", Offset = "0x6F1340", VA = "0x1806F2340", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600A6EC)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160K1Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecP160K1Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecP160K1Point[exp:ECPoint](this)))
}
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: 0x0600A6ED RID: 42733 RVA: 0x0023D5B4 File Offset: 0x0023B7B4
[Token(Token = "0x600A6ED")]
[Address(RVA = "0x6F1C60", Offset = "0x6F0C60", VA = "0x1806F1C60", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
if (!base.IsInfinity && !b.IsInfinity && this != b)
{
bool flag = this.SatisfiesOrder();
ECFieldElement[] zs = this.m_zs;
ECFieldElement[] zs2 = b.m_zs;
uint[] array = Nat160.CreateExt();
uint[] array2 = Nat160.Create();
uint[] array3 = Nat160.Create();
uint[] array4 = Nat160.Create();
if (array4 == 0)
{
SecP160R2Field.Square(array4, array3);
SecP160R2Field.Multiply(array3, array3, array2);
SecP160R2Field.Multiply(array3, array3, array3);
SecP160R2Field.Multiply(array3, array3, array3);
}
SecP160R2Field.Multiply(array4, array4, array);
SecP160R2Field.Multiply(array4, array4, array4);
SecP160R2Field.Multiply(array4, array4, array4);
uint[] array5 = Nat160.Create();
SecP160R2Field.Subtract(array, array4, array5);
if (!Nat160.IsZero(array5))
{
SecP160R2Field.Square(array5, array3);
uint[] array6 = Nat160.Create();
SecP160R2Field.Multiply(array3, array5, array6);
SecP160R2Field.Multiply(array3, array, array3);
SecP160R2Field.Negate(array6, array6);
SecP160R2Field.Reduce32(Nat160.AddBothTo(array3, array3, array6), array6);
SecP160R2FieldElement secP160R2FieldElement = new SecP160R2FieldElement(array4);
uint[] x = secP160R2FieldElement.x;
SecP160R2Field.Square(array2, x);
uint[] x2 = secP160R2FieldElement.x;
SecP160R2Field.Subtract(x2, array6, x2);
SecP160R2FieldElement secP160R2FieldElement2 = new SecP160R2FieldElement(array6);
uint[] x3 = secP160R2FieldElement2.x;
uint[] x4 = secP160R2FieldElement.x;
SecP160R2Field.Subtract(array3, x4, x3);
SecP160R2Field.MultiplyAddToExt(secP160R2FieldElement2.x, array2, array);
uint[] x5 = secP160R2FieldElement2.x;
SecP160R2Field.Reduce(array, x5);
SecP160R2FieldElement secP160R2FieldElement3 = new SecP160R2FieldElement(array5);
uint[] x6 = secP160R2FieldElement3.x;
uint[] x7 = secP160R2FieldElement3.x;
ECFieldElement[] array7 = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
bool flag2;
if (!flag2)
{
}
}
return b;
}
// Token: 0x0600A6EE RID: 42734 RVA: 0x0023D794 File Offset: 0x0023B994
[Token(Token = "0x600A6EE")]
[Address(RVA = "0x6F24E0", Offset = "0x6F14E0", VA = "0x1806F24E0", Slot = "30")]
public override ECPoint Twice()
{
while (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement y = this.m_y;
if (y != 0)
{
if (y.IsOne)
{
break;
}
ECFieldElement x = this.m_x;
if (x == 0)
{
}
if (x != 0)
{
ECFieldElement ecfieldElement = this.m_zs[0];
if (ecfieldElement == 0)
{
}
if (ecfieldElement != 0)
{
uint[] array = Nat160.Create();
uint[] array2 = Nat160.Create();
SecP160R2Field.Square(array, array2);
uint[] array3 = Nat160.Create();
SecP160R2Field.Reduce32(Nat160.AddBothTo(array3, array3, array3), array3);
SecP160R2Field.Multiply(array, array3, array);
int num = 0;
SecP160R2Field.Reduce32(Nat.ShiftUpBits(5, array, 2, (uint)num), array);
uint[] array4 = Nat160.Create();
int num2 = 0;
SecP160R2Field.Reduce32(Nat.ShiftUpBits(5, array2, 3, (uint)num2, array4), array4);
SecP160R2FieldElement secP160R2FieldElement = new SecP160R2FieldElement(array2);
uint[] x2 = secP160R2FieldElement.x;
SecP160R2Field.Square(array3, x2);
uint[] x3 = secP160R2FieldElement.x;
SecP160R2Field.Subtract(x3, array, x3);
uint[] x4 = secP160R2FieldElement.x;
SecP160R2Field.Subtract(x4, array, x4);
SecP160R2FieldElement secP160R2FieldElement2 = new SecP160R2FieldElement(array);
uint[] x5 = secP160R2FieldElement2.x;
uint[] x6 = secP160R2FieldElement.x;
SecP160R2Field.Subtract(array, x6, x5);
uint[] x7 = secP160R2FieldElement2.x;
SecP160R2Field.Multiply(x7, array3, x7);
uint[] x8 = secP160R2FieldElement2.x;
SecP160R2Field.Subtract(x8, array4, x8);
SecP160R2FieldElement secP160R2FieldElement3 = new SecP160R2FieldElement(array3);
if (ecfieldElement.BitLength == 0)
{
uint[] x9 = secP160R2FieldElement3.x;
}
(new ECFieldElement[1])[0] = secP160R2FieldElement3;
bool withCompression = this.m_withCompression;
break;
}
}
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600A6EF RID: 42735 RVA: 0x0023D93C File Offset: 0x0023BB3C
[Token(Token = "0x600A6EF")]
[Address(RVA = "0x6ECFE0", Offset = "0x6EBFE0", VA = "0x1806ECFE0", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
if (this != b)
{
if (!base.IsInfinity)
{
if (!b.IsInfinity)
{
if (this.m_y.IsOne)
{
return b;
}
ECPoint ecpoint;
bool flag = ecpoint.SatisfiesCurveEquation();
}
bool flag2 = base.SatisfiesCurveEquation();
}
return b;
}
bool flag3 = base.SatisfiesCurveEquation();
throw new NullReferenceException();
}
// Token: 0x0600A6F0 RID: 42736 RVA: 0x0023D98C File Offset: 0x0023BB8C
[Token(Token = "0x600A6F0")]
[Address(RVA = "0x6ECF60", Offset = "0x6EBF60", VA = "0x1806ECF60", Slot = "33")]
public override ECPoint ThreeTimes()
{
if (!base.IsInfinity && !this.m_y.IsOne)
{
ECPoint ecpoint;
bool flag = ecpoint.SatisfiesCurveEquation();
}
throw new NullReferenceException();
}
// Token: 0x0600A6F1 RID: 42737 RVA: 0x0023D9BC File Offset: 0x0023BBBC
[Token(Token = "0x600A6F1")]
[Address(RVA = "0x6F23E0", Offset = "0x6F13E0", VA = "0x1806F23E0", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement y = this.m_y;
ECFieldElement[] zs = this.m_zs;
bool withCompression = this.m_withCompression;
}
throw new NullReferenceException();
}
}
}
@@ -0,0 +1,324 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Field;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B1B RID: 6939
[Token(Token = "0x2001B1B")]
internal class SecP160R1Curve : AbstractFpCurve
{
// Token: 0x0600A6F2 RID: 42738 RVA: 0x0023D9F4 File Offset: 0x0023BBF4
[Token(Token = "0x600A6F2")]
[Address(RVA = "0x6F2FB0", Offset = "0x6F1FB0", VA = "0x1806F2FB0")]
public SecP160R1Curve()
{
IFiniteField primeField = FiniteFields.GetPrimeField(SecP160R1Curve.q);
base..ctor(primeField);
int num;
int num2;
ulong num3;
SecP160R1Point secP160R1Point = new SecP160R1Point(this, num, num2, num3 != 0UL);
num2 = 0;
num = 0;
this.m_infinity = secP160R1Point;
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFC");
BigInteger bigInteger = new BigInteger(1, array);
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
byte[] array2 = Hex.Decode("1C97BEFC54BD7A8B65ACF89F81D4D4ADC565FA45");
BigInteger bigInteger2 = new BigInteger(1, array2);
int fieldSize2 = this.FieldSize;
this.m_b = fieldSize2;
byte[] array3 = Hex.Decode("0100000000000000000001F4C8F927AED3CA752257");
BigInteger bigInteger3 = new BigInteger(1, array3);
this.m_order = bigInteger3;
BigInteger one = BigInteger.One;
this.m_cofactor = one;
this.m_coord = (int)((ulong)2L);
}
// Token: 0x0600A6F3 RID: 42739 RVA: 0x0023DAB0 File Offset: 0x0023BCB0
[Token(Token = "0x600A6F3")]
[Address(RVA = "0x6F2AD0", Offset = "0x6F1AD0", VA = "0x1806F2AD0", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600A6F3)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R1Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP160R1Curve(var_0_05, newobj:SecP160R1Curve(SecP160R1Curve::.ctor))
}
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: 0x0600A6F4 RID: 42740 RVA: 0x0023DAC4 File Offset: 0x0023BCC4
[Token(Token = "0x600A6F4")]
[Address(RVA = "0x6E9C20", Offset = "0x6E8C20", VA = "0x1806E9C20", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 2;
}
// Token: 0x17001A32 RID: 6706
// (get) Token: 0x0600A6F5 RID: 42741 RVA: 0x0023DAD8 File Offset: 0x0023BCD8
[Token(Token = "0x17001A32")]
public virtual BigInteger Q
{
[Token(Token = "0x600A6F5")]
[Address(RVA = "0x6F3240", Offset = "0x6F2240", VA = "0x1806F3240", Slot = "38")]
get
{
return SecP160R1Curve.q;
}
}
// Token: 0x17001A33 RID: 6707
// (get) Token: 0x0600A6F6 RID: 42742 RVA: 0x0023DAEC File Offset: 0x0023BCEC
[Token(Token = "0x17001A33")]
public override ECPoint Infinity
{
[Token(Token = "0x600A6F6")]
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600A6F6)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R1Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP160R1Point(var_0_06, ldfld:SecP160R1Point(SecP160R1Curve::m_infinity, ldloc:SecP160R1Curve(this)))
}
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: 0x17001A34 RID: 6708
// (get) Token: 0x0600A6F7 RID: 42743 RVA: 0x0023DB00 File Offset: 0x0023BD00
[Token(Token = "0x17001A34")]
public override int FieldSize
{
[Token(Token = "0x600A6F7")]
[Address(RVA = "0x6F31D0", Offset = "0x6F21D0", VA = "0x1806F31D0", Slot = "4")]
get
{
return SecP160R1Curve.q.BitLength;
}
}
// Token: 0x0600A6F8 RID: 42744 RVA: 0x0023DB20 File Offset: 0x0023BD20
[Token(Token = "0x600A6F8")]
[Address(RVA = "0x6F2EB0", Offset = "0x6F1EB0", VA = "0x1806F2EB0", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600A6F8)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP160R1FieldElement(var_0_06, newobj:SecP160R1FieldElement(SecP160R1FieldElement::.ctor, ldloc:BigInteger(x)))
}
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: 0x0600A6F9 RID: 42745 RVA: 0x0023DB34 File Offset: 0x0023BD34
[Token(Token = "0x600A6F9")]
[Address(RVA = "0x6F2E20", Offset = "0x6F1E20", VA = "0x1806F2E20", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A6F9)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R1Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP160R1Point(var_0_09, newobj:SecP160R1Point(SecP160R1Point::.ctor, ldloc:SecP160R1Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600A6FA RID: 42746 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600A6FA")]
[Address(RVA = "0x6F2D80", Offset = "0x6F1D80", VA = "0x1806F2D80", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600A6FB RID: 42747 RVA: 0x0023DB4C File Offset: 0x0023BD4C
[Token(Token = "0x600A6FB")]
[Address(RVA = "0x6F2B20", Offset = "0x6F1B20", VA = "0x1806F2B20", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
uint[] array;
int num;
for (;;)
{
array = new uint[points];
num = 0;
if (len <= 0)
{
goto IL_4A;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
if (y != 0 && y != 0)
{
break;
}
}
}
num += 10;
IL_4A:
SecP160R1Curve.SecP160R1LookupTable secP160R1LookupTable;
secP160R1LookupTable.m_outer = 0;
secP160R1LookupTable.m_table = array;
secP160R1LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x0600A6FC RID: 42748 RVA: 0x0023DBC0 File Offset: 0x0023BDC0
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600A6FC")]
[Address(RVA = "0x6F2F10", Offset = "0x6F1F10", VA = "0x1806F2F10")]
static SecP160R1Curve()
{
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF");
SecP160R1Curve.q = new BigInteger(1, array);
}
// Token: 0x04006D08 RID: 27912
[Token(Token = "0x4006D08")]
public static readonly BigInteger q;
// Token: 0x04006D09 RID: 27913
[Token(Token = "0x4006D09")]
private const int SECP160R1_DEFAULT_COORDS = 2;
// Token: 0x04006D0A RID: 27914
[Token(Token = "0x4006D0A")]
private const int SECP160R1_FE_INTS = 5;
// Token: 0x04006D0B RID: 27915
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4006D0B")]
protected readonly SecP160R1Point m_infinity;
// Token: 0x02001B1C RID: 6940
[Token(Token = "0x2001B1C")]
private class SecP160R1LookupTable : ECLookupTable
{
// Token: 0x0600A6FD RID: 42749 RVA: 0x0023DBE4 File Offset: 0x0023BDE4
[Token(Token = "0x600A6FD")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecP160R1LookupTable(SecP160R1Curve outer, uint[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001A35 RID: 6709
// (get) Token: 0x0600A6FE RID: 42750 RVA: 0x0023DC0C File Offset: 0x0023BE0C
[Token(Token = "0x17001A35")]
public virtual int Size
{
[Token(Token = "0x600A6FE")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600A6FF RID: 42751 RVA: 0x0023DC20 File Offset: 0x0023BE20
[Token(Token = "0x600A6FF")]
[Address(RVA = "0x6F5230", Offset = "0x6F4230", VA = "0x1806F5230", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
uint[] array = Nat160.Create();
uint[] array2 = Nat160.Create();
int num = 0;
int num2 = 0;
if (this.m_size > num)
{
int num3 = 0;
uint[] table = this.m_table;
uint[] table2 = this.m_table;
num3++;
num += 10;
num2++;
}
SecP160R1Curve outer = this.m_outer;
new SecP160R1FieldElement().x = array;
new SecP160R1FieldElement().x = array2;
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006D0C RID: 27916
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006D0C")]
private readonly SecP160R1Curve m_outer;
// Token: 0x04006D0D RID: 27917
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006D0D")]
private readonly uint[] m_table;
// Token: 0x04006D0E RID: 27918
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006D0E")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,348 @@
using System;
using System.Runtime.CompilerServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B1D RID: 6941
[Token(Token = "0x2001B1D")]
internal class SecP160R1Field
{
// Token: 0x0600A700 RID: 42752 RVA: 0x0023DCA0 File Offset: 0x0023BEA0
[Token(Token = "0x600A700")]
[Address(RVA = "0x6F4500", Offset = "0x6F3500", VA = "0x1806F4500")]
public static void Add(uint[] x, uint[] y, uint[] z)
{
if (Nat160.Add(x, y, z) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP160R1Field.P;
if (!Nat160.Gte(z, p))
{
return;
}
}
uint num = Nat.AddWordTo(5, (uint)(-2147483647), z);
}
// Token: 0x0600A701 RID: 42753 RVA: 0x0023DCE8 File Offset: 0x0023BEE8
[Token(Token = "0x600A701")]
[Address(RVA = "0x6F42B0", Offset = "0x6F32B0", VA = "0x1806F42B0")]
public static void AddExt(uint[] xx, uint[] yy, uint[] zz)
{
if (Nat.Add(10, xx, yy, zz) == (uint)0)
{
if ("{il2cpp array field zz->}" != (ulong)(-1L))
{
return;
}
uint[] pext = SecP160R1Field.PExt;
if (!Nat.Gte(10, zz, pext))
{
return;
}
}
uint[] pextInv = SecP160R1Field.PExtInv;
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
{
int length = SecP160R1Field.PExtInv.Length;
uint num = Nat.IncAt(10, zz, length);
}
}
// Token: 0x0600A702 RID: 42754 RVA: 0x0023DD54 File Offset: 0x0023BF54
[Token(Token = "0x600A702")]
[Address(RVA = "0x6F4430", Offset = "0x6F3430", VA = "0x1806F4430")]
public static void AddOne(uint[] x, uint[] z)
{
if (Nat.Inc(5, x, z) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP160R1Field.P;
if (!Nat160.Gte(z, p))
{
return;
}
}
uint num = Nat.AddWordTo(5, (uint)(-2147483647), z);
}
// Token: 0x0600A703 RID: 42755 RVA: 0x0023DD9C File Offset: 0x0023BF9C
[Token(Token = "0x600A703")]
[Address(RVA = "0x6F45E0", Offset = "0x6F35E0", VA = "0x1806F45E0")]
public static uint[] FromBigInteger(BigInteger x)
{
uint[] array = Nat160.FromBigInteger(x);
if ("{il2cpp array field local2->}" == (ulong)(-1L))
{
uint[] p = SecP160R1Field.P;
if (Nat160.Gte(array, p))
{
int num = Nat160.SubFrom(SecP160R1Field.P, array);
}
}
return array;
}
// Token: 0x0600A704 RID: 42756 RVA: 0x0023DDE0 File Offset: 0x0023BFE0
[Token(Token = "0x600A704")]
[Address(RVA = "0x6F46D0", Offset = "0x6F36D0", VA = "0x1806F46D0")]
public static void Half(uint[] x, uint[] z)
{
if ("{il2cpp array field x->}" != (ulong)1L)
{
uint[] p = SecP160R1Field.P;
uint num = Nat160.Add(x, p, z);
uint num2 = Nat.ShiftDownBit(5, z, num);
return;
}
int num3 = 0;
uint num4 = Nat.ShiftDownBit(5, x, (uint)num3, z);
}
// Token: 0x0600A705 RID: 42757 RVA: 0x0023DE24 File Offset: 0x0023C024
[Token(Token = "0x600A705")]
[Address(RVA = "0x6F4920", Offset = "0x6F3920", VA = "0x1806F4920")]
public static void Multiply(uint[] x, uint[] y, uint[] z)
{
uint[] array = Nat160.CreateExt();
Nat160.Mul(x, y, array);
SecP160R1Field.Reduce(array, z);
}
// Token: 0x0600A706 RID: 42758 RVA: 0x0023DE48 File Offset: 0x0023C048
[Token(Token = "0x600A706")]
[Address(RVA = "0x6F47B0", Offset = "0x6F37B0", VA = "0x1806F47B0")]
public static void MultiplyAddToExt(uint[] x, uint[] y, uint[] zz)
{
if (Nat160.MulAddTo(x, y, zz) == (uint)0)
{
if ("{il2cpp array field zz->}" != (ulong)(-1L))
{
return;
}
uint[] pext = SecP160R1Field.PExt;
if (!Nat.Gte(10, zz, pext))
{
return;
}
}
uint[] pextInv = SecP160R1Field.PExtInv;
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
{
int length = SecP160R1Field.PExtInv.Length;
uint num = Nat.IncAt(10, zz, length);
}
}
// Token: 0x0600A707 RID: 42759 RVA: 0x0023DEB0 File Offset: 0x0023C0B0
[Token(Token = "0x600A707")]
[Address(RVA = "0x6F49C0", Offset = "0x6F39C0", VA = "0x1806F49C0")]
public static void Negate(uint[] x, uint[] z)
{
if (!Nat160.IsZero(x))
{
int num = Nat160.Sub(SecP160R1Field.P, x, z);
return;
}
Nat160.Zero(z);
}
// Token: 0x0600A708 RID: 42760 RVA: 0x0023DEDC File Offset: 0x0023C0DC
[Token(Token = "0x600A708")]
[Address(RVA = "0x6F4B40", Offset = "0x6F3B40", VA = "0x1806F4B40")]
public static void Reduce(uint[] xx, uint[] z)
{
int length = xx.Length;
uint num = xx[2];
uint num2 = xx[3];
uint num3 = xx[3];
uint num4 = xx[4];
uint num5 = xx[0];
uint num6 = xx[4];
num += num;
num5 += num;
z[0] = num5;
uint num7 = xx[0];
num = num2;
num7 += num2;
num7 += num;
num5 += num7;
z[0] = num5;
uint num8 = xx[1];
num = num3;
num8 += num3;
num8 += num;
num5 += num8;
z[1] = num5;
uint num9 = xx[1];
num = num4;
num9 += num4;
num9 += num;
num5 += num9;
z[1] = num5;
uint num10 = xx[2];
num = num6;
num10 += num6;
num10 += num;
num5 += num10;
z[2] = num5;
SecP160R1Field.Reduce32(num5, z);
}
// Token: 0x0600A709 RID: 42761 RVA: 0x0023DFE4 File Offset: 0x0023C1E4
[Token(Token = "0x600A709")]
[Address(RVA = "0x6F4A60", Offset = "0x6F3A60", VA = "0x1806F4A60")]
public static void Reduce32(uint x, uint[] z)
{
if (x != (uint)0)
{
int num = 0;
if (Nat160.MulWordsAdd((uint)(-2147483647), x, z, num) != (uint)0)
{
goto IL_33;
}
}
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP160R1Field.P;
if (!Nat160.Gte(z, p))
{
return;
}
IL_33:
uint num2 = Nat.AddWordTo(5, (uint)(-2147483647), z);
}
// Token: 0x0600A70A RID: 42762 RVA: 0x0023E038 File Offset: 0x0023C238
[Token(Token = "0x600A70A")]
[Address(RVA = "0x6F4EA0", Offset = "0x6F3EA0", VA = "0x1806F4EA0")]
public static void Square(uint[] x, uint[] z)
{
uint[] array = Nat160.CreateExt();
Nat160.Square(x, array);
SecP160R1Field.Reduce(array, z);
}
// Token: 0x0600A70B RID: 42763 RVA: 0x0023E05C File Offset: 0x0023C25C
[Token(Token = "0x600A70B")]
[Address(RVA = "0x6F4DC0", Offset = "0x6F3DC0", VA = "0x1806F4DC0")]
public static void SquareN(uint[] x, int n, uint[] z)
{
uint[] array = Nat160.CreateExt();
Nat160.Square(x, array);
SecP160R1Field.Reduce(array, z);
if (n > 0)
{
Nat160.Square(z, array);
SecP160R1Field.Reduce(array, z);
}
}
// Token: 0x0600A70C RID: 42764 RVA: 0x0023E094 File Offset: 0x0023C294
[Token(Token = "0x600A70C")]
[Address(RVA = "0x6F5040", Offset = "0x6F4040", VA = "0x1806F5040")]
public static void Subtract(uint[] x, uint[] y, uint[] z)
{
if (Nat160.Sub(x, y, z) != 0)
{
int num = Nat.SubWordFrom(5, (uint)(-2147483647), z);
return;
}
}
// Token: 0x0600A70D RID: 42765 RVA: 0x0023E0BC File Offset: 0x0023C2BC
[Token(Token = "0x600A70D")]
[Address(RVA = "0x6F4F30", Offset = "0x6F3F30", VA = "0x1806F4F30")]
public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz)
{
if (Nat.Sub(10, xx, yy, zz) != 0)
{
uint[] pextInv = SecP160R1Field.PExtInv;
if (Nat.SubFrom(pextInv.Length, pextInv, zz) != 0)
{
int length = SecP160R1Field.PExtInv.Length;
int num = Nat.DecAt(10, zz, length);
}
}
}
// Token: 0x0600A70E RID: 42766 RVA: 0x0023E108 File Offset: 0x0023C308
[Token(Token = "0x600A70E")]
[Address(RVA = "0x6F5080", Offset = "0x6F4080", VA = "0x1806F5080")]
public static void Twice(uint[] x, uint[] z)
{
int num = 0;
if (Nat.ShiftUpBit(5, x, (uint)num, z) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP160R1Field.P;
if (!Nat160.Gte(z, p))
{
return;
}
}
uint num2 = Nat.AddWordTo(5, (uint)(-2147483647), z);
}
// Token: 0x0600A70F RID: 42767 RVA: 0x0023E154 File Offset: 0x0023C354
[Token(Token = "0x600A70F")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public SecP160R1Field()
{
}
// Token: 0x0600A710 RID: 42768 RVA: 0x0023E168 File Offset: 0x0023C368
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600A710")]
[Address(RVA = "0x6F5160", Offset = "0x6F4160", VA = "0x1806F5160")]
static SecP160R1Field()
{
uint[] array = new uint[5];
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.35D6BB00E88996CA4CA6EEB743BE1820C59C5FAD).FieldHandle);
SecP160R1Field.P = array;
uint[] array2 = new uint[10];
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.310FB325A3EA3EA527B55C2F08544D1CB92C19F4).FieldHandle);
SecP160R1Field.PExt = array2;
uint[] array3 = new uint[7];
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.C132685022CE310ACFD3A883E0A57033A482A959).FieldHandle);
SecP160R1Field.PExtInv = array3;
}
// Token: 0x04006D0F RID: 27919
[Token(Token = "0x4006D0F")]
internal static readonly uint[] P;
// Token: 0x04006D10 RID: 27920
[Token(Token = "0x4006D10")]
internal static readonly uint[] PExt;
// Token: 0x04006D11 RID: 27921
[Token(Token = "0x4006D11")]
private static readonly uint[] PExtInv;
// Token: 0x04006D12 RID: 27922
[Token(Token = "0x4006D12")]
private const uint P4 = 4294967295U;
// Token: 0x04006D13 RID: 27923
[Token(Token = "0x4006D13")]
private const uint PExt9 = 4294967295U;
// Token: 0x04006D14 RID: 27924
[Token(Token = "0x4006D14")]
private const uint PInv = 2147483649U;
}
}
@@ -0,0 +1,447 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B1E RID: 6942
[Token(Token = "0x2001B1E")]
internal class SecP160R1FieldElement : AbstractFpFieldElement
{
// Token: 0x0600A711 RID: 42769 RVA: 0x0023E1C0 File Offset: 0x0023C3C0
[Token(Token = "0x600A711")]
[Address(RVA = "0x6F4020", Offset = "0x6F3020", VA = "0x1806F4020")]
public SecP160R1FieldElement(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600A711)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R1FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_4E:
stloc:ArgumentException(var_5_5D, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecP160R1FieldElement"), ldstr:string("x")))
}
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: 0x0600A712 RID: 42770 RVA: 0x0023E22C File Offset: 0x0023C42C
[Token(Token = "0x600A712")]
[Address(RVA = "0x6F3FF0", Offset = "0x6F2FF0", VA = "0x1806F3FF0")]
public SecP160R1FieldElement()
{
uint[] array = Nat160.Create();
this.x = array;
}
// Token: 0x0600A713 RID: 42771 RVA: 0x0023E250 File Offset: 0x0023C450
[Token(Token = "0x600A713")]
[Address(RVA = "0x681CA0", Offset = "0x680CA0", VA = "0x180681CA0")]
protected internal SecP160R1FieldElement(uint[] x)
{
this.x = x;
}
// Token: 0x17001A36 RID: 6710
// (get) Token: 0x0600A714 RID: 42772 RVA: 0x0023E26C File Offset: 0x0023C46C
[Token(Token = "0x17001A36")]
public override bool IsZero
{
[Token(Token = "0x600A714")]
[Address(RVA = "0x6F42A0", Offset = "0x6F32A0", VA = "0x1806F42A0", Slot = "18")]
get
{
return Nat160.IsZero(this.x);
}
}
// Token: 0x17001A37 RID: 6711
// (get) Token: 0x0600A715 RID: 42773 RVA: 0x0023E284 File Offset: 0x0023C484
[Token(Token = "0x17001A37")]
public override bool IsOne
{
[Token(Token = "0x600A715")]
[Address(RVA = "0x6F4290", Offset = "0x6F3290", VA = "0x1806F4290", Slot = "17")]
get
{
return Nat160.IsOne(this.x);
}
}
// Token: 0x0600A716 RID: 42774 RVA: 0x0023E29C File Offset: 0x0023C49C
[Token(Token = "0x600A716")]
[Address(RVA = "0x6F3F50", Offset = "0x6F2F50", VA = "0x1806F3F50", Slot = "24")]
public override bool TestBitZero()
{
uint[] array = this.x;
int num = 0;
return Nat160.GetBit(array, num) == (uint)1;
}
// Token: 0x0600A717 RID: 42775 RVA: 0x0023E2C0 File Offset: 0x0023C4C0
[Token(Token = "0x600A717")]
[Address(RVA = "0x6F3F70", Offset = "0x6F2F70", VA = "0x1806F3F70", Slot = "4")]
public override BigInteger ToBigInteger()
{
return Nat160.ToBigInteger(this.x);
}
// Token: 0x17001A38 RID: 6712
// (get) Token: 0x0600A718 RID: 42776 RVA: 0x0023E2D8 File Offset: 0x0023C4D8
[Token(Token = "0x17001A38")]
public override string FieldName
{
[Token(Token = "0x600A718")]
[Address(RVA = "0x6F41F0", Offset = "0x6F31F0", VA = "0x1806F41F0", Slot = "5")]
get
{
return "SecP160R1Field";
}
}
// Token: 0x17001A39 RID: 6713
// (get) Token: 0x0600A719 RID: 42777 RVA: 0x0023E2EC File Offset: 0x0023C4EC
[Token(Token = "0x17001A39")]
public override int FieldSize
{
[Token(Token = "0x600A719")]
[Address(RVA = "0x6F4220", Offset = "0x6F3220", VA = "0x1806F4220", Slot = "6")]
get
{
return SecP160R1FieldElement.Q.BitLength;
}
}
// Token: 0x0600A71A RID: 42778 RVA: 0x0023E30C File Offset: 0x0023C50C
[Token(Token = "0x600A71A")]
[Address(RVA = "0x6F33E0", Offset = "0x6F23E0", VA = "0x1806F33E0", Slot = "7")]
public override ECFieldElement Add(ECFieldElement b)
{
uint[] array;
do
{
array = Nat160.Create();
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP160R1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecP160R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A71B RID: 42779 RVA: 0x0023E354 File Offset: 0x0023C554
[Token(Token = "0x600A71B")]
[Address(RVA = "0x6F32A0", Offset = "0x6F22A0", VA = "0x1806F32A0", Slot = "8")]
public override ECFieldElement AddOne()
{
uint[] array = Nat160.Create();
uint[] array2 = this.x;
if (Nat.Inc(5, array2, array) == (uint)0)
{
if ("{il2cpp array field local2->}" != (ulong)(-1L))
{
goto IL_44;
}
uint[] p = SecP160R1Field.P;
if (!Nat160.Gte(array, p))
{
goto IL_44;
}
}
uint num = Nat.AddWordTo(5, (uint)(-2147483647), array);
IL_44:
new SecP160R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A71C RID: 42780 RVA: 0x0023E3B8 File Offset: 0x0023C5B8
[Token(Token = "0x600A71C")]
[Address(RVA = "0x6F3DF0", Offset = "0x6F2DF0", VA = "0x1806F3DF0", Slot = "9")]
public override ECFieldElement Subtract(ECFieldElement b)
{
uint[] array;
do
{
array = Nat160.Create();
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP160R1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
int num;
if (num != 0)
{
int num2 = Nat.SubWordFrom(5, (uint)(-2147483647), array);
}
new SecP160R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A71D RID: 42781 RVA: 0x0023E414 File Offset: 0x0023C614
[Token(Token = "0x600A71D")]
[Address(RVA = "0x6F3970", Offset = "0x6F2970", VA = "0x1806F3970", Slot = "10")]
public override ECFieldElement Multiply(ECFieldElement b)
{
uint[] array;
do
{
array = Nat160.Create();
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP160R1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecP160R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A71E RID: 42782 RVA: 0x0023E45C File Offset: 0x0023C65C
[Token(Token = "0x600A71E")]
[Address(RVA = "0x6F3520", Offset = "0x6F2520", VA = "0x1806F3520", Slot = "11")]
public override ECFieldElement Divide(ECFieldElement b)
{
uint[] array;
do
{
array = Nat160.Create();
uint[] p = SecP160R1Field.P;
if ("{il2cpp array field local3->}" == typeof(SecP160R1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
uint[] array2 = this.x;
SecP160R1Field.Multiply(array, array2, array);
new SecP160R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A71F RID: 42783 RVA: 0x0023E4B4 File Offset: 0x0023C6B4
[Token(Token = "0x600A71F")]
[Address(RVA = "0x6F3AB0", Offset = "0x6F2AB0", VA = "0x1806F3AB0", Slot = "12")]
public override ECFieldElement Negate()
{
/*
An exception occurred when decompiling this method (0600A71F)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R1FieldElement::Negate()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat160::Create))
call:void(SecP160R1Field::Negate, ldfld:uint32[](SecP160R1FieldElement::x, ldloc:SecP160R1FieldElement(this)), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP160R1FieldElement::x, newobj:SecP160R1FieldElement(SecP160R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A720 RID: 42784 RVA: 0x0023E4E0 File Offset: 0x0023C6E0
[Token(Token = "0x600A720")]
[Address(RVA = "0x6F3D60", Offset = "0x6F2D60", VA = "0x1806F3D60", Slot = "13")]
public override ECFieldElement Square()
{
/*
An exception occurred when decompiling this method (0600A720)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R1FieldElement::Square()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat160::Create))
call:void(SecP160R1Field::Square, ldfld:uint32[](SecP160R1FieldElement::x, ldloc:SecP160R1FieldElement(this)), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP160R1FieldElement::x, newobj:SecP160R1FieldElement(SecP160R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A721 RID: 42785 RVA: 0x0023E50C File Offset: 0x0023C70C
[Token(Token = "0x600A721")]
[Address(RVA = "0x6F38A0", Offset = "0x6F28A0", VA = "0x1806F38A0", Slot = "14")]
public override ECFieldElement Invert()
{
/*
An exception occurred when decompiling this method (0600A721)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R1FieldElement::Invert()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat160::Create))
stloc:uint32[](var_2_0E, ldfld:uint32[](SecP160R1FieldElement::x, ldloc:SecP160R1FieldElement(this)))
call:void(Mod::Invert, ldsfld:uint32[](SecP160R1Field::P), ldloc:uint32[](var_2_0E), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP160R1FieldElement::x, newobj:SecP160R1FieldElement(SecP160R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A722 RID: 42786 RVA: 0x0023E540 File Offset: 0x0023C740
[Token(Token = "0x600A722")]
[Address(RVA = "0x6F3B40", Offset = "0x6F2B40", VA = "0x1806F3B40", Slot = "15")]
public override ECFieldElement Sqrt()
{
uint[] array;
do
{
array = this.x;
}
while (Nat160.IsZero(array) || Nat160.IsOne(array));
uint[] array2 = Nat160.Create();
SecP160R1Field.Square(array, array2);
SecP160R1Field.Multiply(array2, array, array2);
uint[] array3 = Nat160.Create();
SecP160R1Field.SquareN(array2, 2, array3);
SecP160R1Field.Multiply(array3, array2, array3);
SecP160R1Field.SquareN(array3, 4, array2);
SecP160R1Field.Multiply(array2, array3, array2);
SecP160R1Field.SquareN(array2, 8, array3);
SecP160R1Field.Multiply(array3, array2, array3);
SecP160R1Field.SquareN(array3, 16, array2);
SecP160R1Field.Multiply(array2, array3, array2);
SecP160R1Field.SquareN(array2, 32, array3);
SecP160R1Field.Multiply(array3, array2, array3);
SecP160R1Field.SquareN(array3, 64, array2);
SecP160R1Field.Multiply(array2, array3, array2);
SecP160R1Field.Square(array2, array3);
SecP160R1Field.Multiply(array3, array, array3);
SecP160R1Field.SquareN(array3, 29, array3);
SecP160R1Field.Square(array3, array2);
if (Nat160.Eq(array, array2))
{
new SecP160R1FieldElement().x = array3;
return;
}
}
// Token: 0x0600A723 RID: 42787 RVA: 0x0023E638 File Offset: 0x0023C838
[Token(Token = "0x600A723")]
[Address(RVA = "0x6F36C0", Offset = "0x6F26C0", VA = "0x1806F36C0", Slot = "0")]
public override bool Equals(object obj)
{
/*
An exception occurred when decompiling this method (0600A723)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R1FieldElement::Equals(System.Object)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP160R1FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600A724 RID: 42788 RVA: 0x0023E654 File Offset: 0x0023C854
[Token(Token = "0x600A724")]
[Address(RVA = "0x6F3750", Offset = "0x6F2750", VA = "0x1806F3750", Slot = "25")]
public override bool Equals(ECFieldElement other)
{
/*
An exception occurred when decompiling this method (0600A724)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R1FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP160R1FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600A725 RID: 42789 RVA: 0x0023E670 File Offset: 0x0023C870
[Token(Token = "0x600A725")]
[Address(RVA = "0x6F36A0", Offset = "0x6F26A0", VA = "0x1806F36A0", Slot = "27")]
public virtual bool Equals(SecP160R1FieldElement other)
{
if (this != other)
{
if (other != 0)
{
uint[] array = other.x;
return Nat160.Eq(this.x, array);
}
}
return true;
}
// Token: 0x0600A726 RID: 42790 RVA: 0x0023E69C File Offset: 0x0023C89C
[Token(Token = "0x600A726")]
[Address(RVA = "0x6F37E0", Offset = "0x6F27E0", VA = "0x1806F37E0", Slot = "2")]
public override int GetHashCode()
{
SecP160R1FieldElement.Q.Finalize();
uint[] array = this.x;
int num = 0;
return Arrays.GetHashCode(array, num, 5);
}
// Token: 0x04006D15 RID: 27925
[Token(Token = "0x4006D15")]
public static readonly BigInteger Q = SecP160R1Curve.q;
// Token: 0x04006D16 RID: 27926
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006D16")]
protected internal readonly uint[] x;
}
}
@@ -0,0 +1,333 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B1F RID: 6943
[Token(Token = "0x2001B1F")]
internal class SecP160R1Point : AbstractFpPoint
{
// Token: 0x0600A728 RID: 42792 RVA: 0x0023E6E4 File Offset: 0x0023C8E4
[Token(Token = "0x600A728")]
[Address(RVA = "0x6F6520", Offset = "0x6F5520", VA = "0x1806F6520")]
public SecP160R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600A729 RID: 42793 RVA: 0x0023E6F4 File Offset: 0x0023C8F4
[Token(Token = "0x600A729")]
[Address(RVA = "0x6F6540", Offset = "0x6F5540", VA = "0x1806F6540")]
public SecP160R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A729)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600A72A RID: 42794 RVA: 0x0023E71C File Offset: 0x0023C91C
[Token(Token = "0x600A72A")]
[Address(RVA = "0x6E4C90", Offset = "0x6E3C90", VA = "0x1806E4C90")]
internal SecP160R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600A72B RID: 42795 RVA: 0x0023E72C File Offset: 0x0023C92C
[Token(Token = "0x600A72B")]
[Address(RVA = "0x6F5C80", Offset = "0x6F4C80", VA = "0x1806F5C80", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600A72B)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R1Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecP160R1Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecP160R1Point[exp:ECPoint](this)))
}
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: 0x0600A72C RID: 42796 RVA: 0x0023E748 File Offset: 0x0023C948
[Token(Token = "0x600A72C")]
[Address(RVA = "0x6F5400", Offset = "0x6F4400", VA = "0x1806F5400", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
if (!base.IsInfinity && !b.IsInfinity && this != b)
{
bool flag = this.SatisfiesOrder();
ECFieldElement[] zs = this.m_zs;
ECFieldElement[] zs2 = b.m_zs;
uint[] array = Nat160.CreateExt();
uint[] array2 = Nat160.Create();
uint[] array3 = Nat160.Create();
uint[] array4 = Nat160.Create();
if (array4 == 0)
{
SecP160R1Field.Square(array4, array3);
SecP160R1Field.Multiply(array3, array3, array2);
SecP160R1Field.Multiply(array3, array3, array3);
SecP160R1Field.Multiply(array3, array3, array3);
}
SecP160R1Field.Multiply(array4, array4, array);
SecP160R1Field.Multiply(array4, array4, array4);
SecP160R1Field.Multiply(array4, array4, array4);
uint[] array5 = Nat160.Create();
int num;
if (num != 0)
{
int num2 = Nat.SubWordFrom(5, (uint)(-2147483647), array5);
}
int num3;
if (num3 != 0)
{
int num4 = Nat.SubWordFrom(5, (uint)(-2147483647), array2);
}
if (!Nat160.IsZero(array5))
{
SecP160R1Field.Square(array5, array3);
uint[] array6 = Nat160.Create();
SecP160R1Field.Multiply(array3, array5, array6);
SecP160R1Field.Negate(array6, array6);
SecP160R1Field.Reduce32(Nat160.AddBothTo(array3, array3, array6), array6);
SecP160R1FieldElement secP160R1FieldElement = new SecP160R1FieldElement();
secP160R1FieldElement.x = array4;
SecP160R1Field.Square(array2, array4);
uint[] x = secP160R1FieldElement.x;
if (Nat160.Sub(x, array6, x) != 0)
{
int num5 = Nat.SubWordFrom(5, (uint)(-2147483647), x);
}
SecP160R1FieldElement secP160R1FieldElement2 = new SecP160R1FieldElement();
secP160R1FieldElement2.x = array6;
uint[] x2 = secP160R1FieldElement.x;
if (Nat160.Sub(array3, x2, array6) != 0)
{
int num6 = Nat.SubWordFrom(5, (uint)(-2147483647), array6);
}
uint[] x3 = secP160R1FieldElement2.x;
if (Nat160.MulAddTo(x3, array2, array) == (uint)0)
{
if ("{il2cpp array field local16->}" != (ulong)(-1L))
{
goto IL_207;
}
uint[] pext = SecP160R1Field.PExt;
if (!Nat.Gte(10, array, pext))
{
goto IL_207;
}
}
uint[] pextInv = SecP160R1Field.PExtInv;
if (Nat.AddTo(pextInv.Length, pextInv, array) != (uint)0)
{
int length = SecP160R1Field.PExtInv.Length;
uint num7 = Nat.IncAt(10, array, length);
}
IL_207:
uint[] x4 = secP160R1FieldElement2.x;
SecP160R1Field.Reduce(array, x4);
SecP160R1FieldElement secP160R1FieldElement3 = new SecP160R1FieldElement();
secP160R1FieldElement3.x = array5;
SecP160R1Field.Multiply(array5, x3, array5);
uint[] x5 = secP160R1FieldElement3.x;
SecP160R1Field.Multiply(x5, array5, x5);
ECFieldElement[] array7 = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
bool flag2;
if (!flag2)
{
}
}
return b;
}
// Token: 0x0600A72D RID: 42797 RVA: 0x0023E9CC File Offset: 0x0023CBCC
[Token(Token = "0x600A72D")]
[Address(RVA = "0x6F5E20", Offset = "0x6F4E20", VA = "0x1806F5E20", Slot = "30")]
public override ECPoint Twice()
{
while (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement y = this.m_y;
if (y != 0)
{
if (y.IsOne)
{
break;
}
ECFieldElement x = this.m_x;
if (x == 0)
{
}
if (x != 0)
{
ECFieldElement ecfieldElement = this.m_zs[0];
if (ecfieldElement == 0)
{
}
if (ecfieldElement != 0)
{
uint[] array = Nat160.Create();
uint[] array2 = Nat160.Create();
uint[] array3 = Nat160.Create();
SecP160R1Field.Square(array3, array3);
uint[] array4 = Nat160.Create();
SecP160R1Field.Square(array3, array4);
if (ecfieldElement.BitLength == 0)
{
}
int num;
if (num != 0)
{
int num2 = Nat.SubWordFrom(5, (uint)(-2147483647), array);
}
SecP160R1Field.Multiply(array2, array, array2);
SecP160R1Field.Reduce32(Nat160.AddBothTo(array2, array2, array2), array2);
SecP160R1Field.Multiply(array3, array2, array3);
int num3 = 0;
SecP160R1Field.Reduce32(Nat.ShiftUpBits(5, array3, 2, (uint)num3), array3);
int num4 = 0;
SecP160R1Field.Reduce32(Nat.ShiftUpBits(5, array4, 3, (uint)num4, array), array);
SecP160R1FieldElement secP160R1FieldElement = new SecP160R1FieldElement();
secP160R1FieldElement.x = array4;
SecP160R1Field.Square(array2, array4);
uint[] x2 = secP160R1FieldElement.x;
if (Nat160.Sub(x2, array3, x2) != 0)
{
int num5 = Nat.SubWordFrom(5, (uint)(-2147483647), x2);
}
uint[] x3 = secP160R1FieldElement.x;
if (Nat160.Sub(x3, array3, x3) != 0)
{
int num6 = Nat.SubWordFrom(5, (uint)(-2147483647), x3);
}
SecP160R1FieldElement secP160R1FieldElement2 = new SecP160R1FieldElement();
secP160R1FieldElement2.x = array3;
uint[] x4 = secP160R1FieldElement.x;
if (Nat160.Sub(array3, x4, array3) != 0)
{
int num7 = Nat.SubWordFrom(5, (uint)(-2147483647), array3);
}
uint[] x5 = secP160R1FieldElement2.x;
SecP160R1Field.Multiply(x5, array2, x5);
uint[] x6 = secP160R1FieldElement2.x;
if (Nat160.Sub(x6, array, x6) != 0)
{
int num8 = Nat.SubWordFrom(5, (uint)(-2147483647), x6);
}
SecP160R1FieldElement secP160R1FieldElement3 = new SecP160R1FieldElement();
secP160R1FieldElement3.x = array2;
uint num9;
if (num9 == (uint)0)
{
if ("{il2cpp array field local20->}" != (ulong)(-1L))
{
goto IL_228;
}
uint[] p = SecP160R1Field.P;
if (!Nat160.Gte(array2, p))
{
goto IL_228;
}
}
uint num10 = Nat.AddWordTo(5, (uint)(-2147483647), array2);
IL_228:
uint[] x7 = secP160R1FieldElement3.x;
(new ECFieldElement[1])[0] = secP160R1FieldElement3;
bool withCompression = this.m_withCompression;
break;
}
}
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600A72E RID: 42798 RVA: 0x0023EC28 File Offset: 0x0023CE28
[Token(Token = "0x600A72E")]
[Address(RVA = "0x6ECFE0", Offset = "0x6EBFE0", VA = "0x1806ECFE0", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
if (this != b)
{
if (!base.IsInfinity)
{
if (!b.IsInfinity)
{
if (this.m_y.IsOne)
{
return b;
}
ECPoint ecpoint;
bool flag = ecpoint.SatisfiesCurveEquation();
}
bool flag2 = base.SatisfiesCurveEquation();
}
return b;
}
bool flag3 = base.SatisfiesCurveEquation();
throw new NullReferenceException();
}
// Token: 0x0600A72F RID: 42799 RVA: 0x0023EC78 File Offset: 0x0023CE78
[Token(Token = "0x600A72F")]
[Address(RVA = "0x6ECF60", Offset = "0x6EBF60", VA = "0x1806ECF60", Slot = "33")]
public override ECPoint ThreeTimes()
{
if (!base.IsInfinity && !this.m_y.IsOne)
{
ECPoint ecpoint;
bool flag = ecpoint.SatisfiesCurveEquation();
}
throw new NullReferenceException();
}
// Token: 0x0600A730 RID: 42800 RVA: 0x0023ECA8 File Offset: 0x0023CEA8
[Token(Token = "0x600A730")]
[Address(RVA = "0x6F5D20", Offset = "0x6F4D20", VA = "0x1806F5D20", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement y = this.m_y;
ECFieldElement[] zs = this.m_zs;
bool withCompression = this.m_withCompression;
}
throw new NullReferenceException();
}
}
}
@@ -0,0 +1,323 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B20 RID: 6944
[Token(Token = "0x2001B20")]
internal class SecP160R2Curve : AbstractFpCurve
{
// Token: 0x0600A731 RID: 42801 RVA: 0x0023ECE0 File Offset: 0x0023CEE0
[Token(Token = "0x600A731")]
[Address(RVA = "0x6FB050", Offset = "0x6FA050", VA = "0x1806FB050")]
public SecP160R2Curve()
{
BigInteger bigInteger = SecP160R2Curve.q;
base..ctor(bigInteger);
int num;
int num2;
ulong num3;
SecP160R2Point secP160R2Point = new SecP160R2Point(this, num, num2, num3 != 0UL);
num2 = 0;
num = 0;
this.m_infinity = secP160R2Point;
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC70");
BigInteger bigInteger2 = new BigInteger(1, array);
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
byte[] array2 = Hex.Decode("B4E134D3FB59EB8BAB57274904664D5AF50388BA");
BigInteger bigInteger3 = new BigInteger(1, array2);
int fieldSize2 = this.FieldSize;
this.m_b = fieldSize2;
byte[] array3 = Hex.Decode("0100000000000000000000351EE786A818F3A1A16B");
BigInteger bigInteger4 = new BigInteger(1, array3);
this.m_order = bigInteger4;
BigInteger one = BigInteger.One;
this.m_cofactor = one;
this.m_coord = (int)((ulong)2L);
}
// Token: 0x0600A732 RID: 42802 RVA: 0x0023ED94 File Offset: 0x0023CF94
[Token(Token = "0x600A732")]
[Address(RVA = "0x6FAB70", Offset = "0x6F9B70", VA = "0x1806FAB70", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600A732)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R2Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP160R2Curve(var_0_05, newobj:SecP160R2Curve(SecP160R2Curve::.ctor))
}
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: 0x0600A733 RID: 42803 RVA: 0x0023EDA8 File Offset: 0x0023CFA8
[Token(Token = "0x600A733")]
[Address(RVA = "0x6E9C20", Offset = "0x6E8C20", VA = "0x1806E9C20", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 2;
}
// Token: 0x17001A3A RID: 6714
// (get) Token: 0x0600A734 RID: 42804 RVA: 0x0023EDBC File Offset: 0x0023CFBC
[Token(Token = "0x17001A3A")]
public virtual BigInteger Q
{
[Token(Token = "0x600A734")]
[Address(RVA = "0x6FB2A0", Offset = "0x6FA2A0", VA = "0x1806FB2A0", Slot = "38")]
get
{
return SecP160R2Curve.q;
}
}
// Token: 0x17001A3B RID: 6715
// (get) Token: 0x0600A735 RID: 42805 RVA: 0x0023EDD0 File Offset: 0x0023CFD0
[Token(Token = "0x17001A3B")]
public override ECPoint Infinity
{
[Token(Token = "0x600A735")]
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600A735)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R2Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP160R2Point(var_0_06, ldfld:SecP160R2Point(SecP160R2Curve::m_infinity, ldloc:SecP160R2Curve(this)))
}
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: 0x17001A3C RID: 6716
// (get) Token: 0x0600A736 RID: 42806 RVA: 0x0023EDE4 File Offset: 0x0023CFE4
[Token(Token = "0x17001A3C")]
public override int FieldSize
{
[Token(Token = "0x600A736")]
[Address(RVA = "0x6FB230", Offset = "0x6FA230", VA = "0x1806FB230", Slot = "4")]
get
{
return SecP160R2Curve.q.BitLength;
}
}
// Token: 0x0600A737 RID: 42807 RVA: 0x0023EE04 File Offset: 0x0023D004
[Token(Token = "0x600A737")]
[Address(RVA = "0x6FAF50", Offset = "0x6F9F50", VA = "0x1806FAF50", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600A737)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R2Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP160R2FieldElement(var_0_06, newobj:SecP160R2FieldElement(SecP160R2FieldElement::.ctor, ldloc:BigInteger(x)))
}
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: 0x0600A738 RID: 42808 RVA: 0x0023EE18 File Offset: 0x0023D018
[Token(Token = "0x600A738")]
[Address(RVA = "0x6FAEC0", Offset = "0x6F9EC0", VA = "0x1806FAEC0", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A738)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R2Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP160R2Point(var_0_09, newobj:SecP160R2Point(SecP160R2Point::.ctor, ldloc:SecP160R2Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600A739 RID: 42809 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600A739")]
[Address(RVA = "0x6FAE20", Offset = "0x6F9E20", VA = "0x1806FAE20", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600A73A RID: 42810 RVA: 0x0023EE30 File Offset: 0x0023D030
[Token(Token = "0x600A73A")]
[Address(RVA = "0x6FABC0", Offset = "0x6F9BC0", VA = "0x1806FABC0", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
uint[] array;
int num;
for (;;)
{
array = new uint[points];
num = 0;
if (len <= 0)
{
goto IL_4A;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
if (y != 0 && y != 0)
{
break;
}
}
}
num += 10;
IL_4A:
SecP160R2Curve.SecP160R2LookupTable secP160R2LookupTable;
secP160R2LookupTable.m_outer = 0;
secP160R2LookupTable.m_table = array;
secP160R2LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x0600A73B RID: 42811 RVA: 0x0023EEA4 File Offset: 0x0023D0A4
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600A73B")]
[Address(RVA = "0x6FAFB0", Offset = "0x6F9FB0", VA = "0x1806FAFB0")]
static SecP160R2Curve()
{
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73");
SecP160R2Curve.q = new BigInteger(1, array);
}
// Token: 0x04006D17 RID: 27927
[Token(Token = "0x4006D17")]
public static readonly BigInteger q;
// Token: 0x04006D18 RID: 27928
[Token(Token = "0x4006D18")]
private const int SECP160R2_DEFAULT_COORDS = 2;
// Token: 0x04006D19 RID: 27929
[Token(Token = "0x4006D19")]
private const int SECP160R2_FE_INTS = 5;
// Token: 0x04006D1A RID: 27930
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4006D1A")]
protected readonly SecP160R2Point m_infinity;
// Token: 0x02001B21 RID: 6945
[Token(Token = "0x2001B21")]
private class SecP160R2LookupTable : ECLookupTable
{
// Token: 0x0600A73C RID: 42812 RVA: 0x0023EEC8 File Offset: 0x0023D0C8
[Token(Token = "0x600A73C")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecP160R2LookupTable(SecP160R2Curve outer, uint[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001A3D RID: 6717
// (get) Token: 0x0600A73D RID: 42813 RVA: 0x0023EEF0 File Offset: 0x0023D0F0
[Token(Token = "0x17001A3D")]
public virtual int Size
{
[Token(Token = "0x600A73D")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600A73E RID: 42814 RVA: 0x0023EF04 File Offset: 0x0023D104
[Token(Token = "0x600A73E")]
[Address(RVA = "0x6FD1E0", Offset = "0x6FC1E0", VA = "0x1806FD1E0", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
uint[] array = Nat160.Create();
uint[] array2 = Nat160.Create();
int num = 0;
int num2 = 0;
if (this.m_size > num)
{
int num3 = 0;
uint[] table = this.m_table;
uint[] table2 = this.m_table;
num3++;
num += 10;
num2++;
}
SecP160R2Curve outer = this.m_outer;
new SecP160R2FieldElement().x = array;
new SecP160R2FieldElement().x = array2;
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006D1B RID: 27931
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006D1B")]
private readonly SecP160R2Curve m_outer;
// Token: 0x04006D1C RID: 27932
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006D1C")]
private readonly uint[] m_table;
// Token: 0x04006D1D RID: 27933
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006D1D")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,329 @@
using System;
using System.Runtime.CompilerServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B22 RID: 6946
[Token(Token = "0x2001B22")]
internal class SecP160R2Field
{
// Token: 0x0600A73F RID: 42815 RVA: 0x0023EF84 File Offset: 0x0023D184
[Token(Token = "0x600A73F")]
[Address(RVA = "0x6FC630", Offset = "0x6FB630", VA = "0x1806FC630")]
public static void Add(uint[] x, uint[] y, uint[] z)
{
if (Nat160.Add(x, y, z) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP160R2Field.P;
if (!Nat160.Gte(z, p))
{
return;
}
}
uint num = Nat.Add33To(5, (uint)21389, z);
}
// Token: 0x0600A740 RID: 42816 RVA: 0x0023EFCC File Offset: 0x0023D1CC
[Token(Token = "0x600A740")]
[Address(RVA = "0x6FC3E0", Offset = "0x6FB3E0", VA = "0x1806FC3E0")]
public static void AddExt(uint[] xx, uint[] yy, uint[] zz)
{
if (Nat.Add(10, xx, yy, zz) == (uint)0)
{
if ("{il2cpp array field zz->}" != (ulong)(-1L))
{
return;
}
uint[] pext = SecP160R2Field.PExt;
if (!Nat.Gte(10, zz, pext))
{
return;
}
}
uint[] pextInv = SecP160R2Field.PExtInv;
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
{
int length = SecP160R2Field.PExtInv.Length;
uint num = Nat.IncAt(10, zz, length);
}
}
// Token: 0x0600A741 RID: 42817 RVA: 0x0023F038 File Offset: 0x0023D238
[Token(Token = "0x600A741")]
[Address(RVA = "0x6FC560", Offset = "0x6FB560", VA = "0x1806FC560")]
public static void AddOne(uint[] x, uint[] z)
{
if (Nat.Inc(5, x, z) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP160R2Field.P;
if (!Nat160.Gte(z, p))
{
return;
}
}
uint num = Nat.Add33To(5, (uint)21389, z);
}
// Token: 0x0600A742 RID: 42818 RVA: 0x0023F080 File Offset: 0x0023D280
[Token(Token = "0x600A742")]
[Address(RVA = "0x6FC710", Offset = "0x6FB710", VA = "0x1806FC710")]
public static uint[] FromBigInteger(BigInteger x)
{
uint[] array = Nat160.FromBigInteger(x);
if ("{il2cpp array field local2->}" == (ulong)(-1L))
{
uint[] p = SecP160R2Field.P;
if (Nat160.Gte(array, p))
{
int num = Nat160.SubFrom(SecP160R2Field.P, array);
}
}
return array;
}
// Token: 0x0600A743 RID: 42819 RVA: 0x0023F0C4 File Offset: 0x0023D2C4
[Token(Token = "0x600A743")]
[Address(RVA = "0x6FC800", Offset = "0x6FB800", VA = "0x1806FC800")]
public static void Half(uint[] x, uint[] z)
{
if ("{il2cpp array field x->}" != (ulong)1L)
{
uint[] p = SecP160R2Field.P;
uint num = Nat160.Add(x, p, z);
uint num2 = Nat.ShiftDownBit(5, z, num);
return;
}
int num3 = 0;
uint num4 = Nat.ShiftDownBit(5, x, (uint)num3, z);
}
// Token: 0x0600A744 RID: 42820 RVA: 0x0023F108 File Offset: 0x0023D308
[Token(Token = "0x600A744")]
[Address(RVA = "0x6FCA50", Offset = "0x6FBA50", VA = "0x1806FCA50")]
public static void Multiply(uint[] x, uint[] y, uint[] z)
{
uint[] array = Nat160.CreateExt();
Nat160.Mul(x, y, array);
SecP160R2Field.Reduce(array, z);
}
// Token: 0x0600A745 RID: 42821 RVA: 0x0023F12C File Offset: 0x0023D32C
[Token(Token = "0x600A745")]
[Address(RVA = "0x6FC8E0", Offset = "0x6FB8E0", VA = "0x1806FC8E0")]
public static void MultiplyAddToExt(uint[] x, uint[] y, uint[] zz)
{
if (Nat160.MulAddTo(x, y, zz) == (uint)0)
{
if ("{il2cpp array field zz->}" != (ulong)(-1L))
{
return;
}
uint[] pext = SecP160R2Field.PExt;
if (!Nat.Gte(10, zz, pext))
{
return;
}
}
uint[] pextInv = SecP160R2Field.PExtInv;
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
{
int length = SecP160R2Field.PExtInv.Length;
uint num = Nat.IncAt(10, zz, length);
}
}
// Token: 0x0600A746 RID: 42822 RVA: 0x0023F194 File Offset: 0x0023D394
[Token(Token = "0x600A746")]
[Address(RVA = "0x6FCAF0", Offset = "0x6FBAF0", VA = "0x1806FCAF0")]
public static void Negate(uint[] x, uint[] z)
{
if (!Nat160.IsZero(x))
{
int num = Nat160.Sub(SecP160R2Field.P, x, z);
return;
}
Nat160.Zero(z);
}
// Token: 0x0600A747 RID: 42823 RVA: 0x0023F1C0 File Offset: 0x0023D3C0
[Token(Token = "0x600A747")]
[Address(RVA = "0x6FCC70", Offset = "0x6FBC70", VA = "0x1806FCC70")]
public static void Reduce(uint[] xx, uint[] z)
{
int num = 0;
ulong num2 = Nat160.Mul33Add((uint)21389, xx, 5, xx, num, z, num);
int num3 = 0;
if (Nat160.Mul33DWordAdd((uint)21389, num2, z, num3) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP160R2Field.P;
if (!Nat160.Gte(z, p))
{
return;
}
}
uint num4 = Nat.Add33To(5, (uint)21389, z);
}
// Token: 0x0600A748 RID: 42824 RVA: 0x0023F224 File Offset: 0x0023D424
[Token(Token = "0x600A748")]
[Address(RVA = "0x6FCB90", Offset = "0x6FBB90", VA = "0x1806FCB90")]
public static void Reduce32(uint x, uint[] z)
{
if (x != (uint)0)
{
int num = 0;
if (Nat160.Mul33WordAdd((uint)21389, x, z, num) != (uint)0)
{
goto IL_33;
}
}
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP160R2Field.P;
if (!Nat160.Gte(z, p))
{
return;
}
IL_33:
uint num2 = Nat.Add33To(5, (uint)21389, z);
}
// Token: 0x0600A749 RID: 42825 RVA: 0x0023F278 File Offset: 0x0023D478
[Token(Token = "0x600A749")]
[Address(RVA = "0x6FCE50", Offset = "0x6FBE50", VA = "0x1806FCE50")]
public static void Square(uint[] x, uint[] z)
{
uint[] array = Nat160.CreateExt();
Nat160.Square(x, array);
SecP160R2Field.Reduce(array, z);
}
// Token: 0x0600A74A RID: 42826 RVA: 0x0023F29C File Offset: 0x0023D49C
[Token(Token = "0x600A74A")]
[Address(RVA = "0x6FCD70", Offset = "0x6FBD70", VA = "0x1806FCD70")]
public static void SquareN(uint[] x, int n, uint[] z)
{
uint[] array = Nat160.CreateExt();
Nat160.Square(x, array);
SecP160R2Field.Reduce(array, z);
if (n > 0)
{
Nat160.Square(z, array);
SecP160R2Field.Reduce(array, z);
}
}
// Token: 0x0600A74B RID: 42827 RVA: 0x0023F2D4 File Offset: 0x0023D4D4
[Token(Token = "0x600A74B")]
[Address(RVA = "0x6FCFF0", Offset = "0x6FBFF0", VA = "0x1806FCFF0")]
public static void Subtract(uint[] x, uint[] y, uint[] z)
{
if (Nat160.Sub(x, y, z) != 0)
{
int num = Nat.Sub33From(5, (uint)21389, z);
return;
}
}
// Token: 0x0600A74C RID: 42828 RVA: 0x0023F2FC File Offset: 0x0023D4FC
[Token(Token = "0x600A74C")]
[Address(RVA = "0x6FCEE0", Offset = "0x6FBEE0", VA = "0x1806FCEE0")]
public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz)
{
if (Nat.Sub(10, xx, yy, zz) != 0)
{
uint[] pextInv = SecP160R2Field.PExtInv;
if (Nat.SubFrom(pextInv.Length, pextInv, zz) != 0)
{
int length = SecP160R2Field.PExtInv.Length;
int num = Nat.DecAt(10, zz, length);
}
}
}
// Token: 0x0600A74D RID: 42829 RVA: 0x0023F348 File Offset: 0x0023D548
[Token(Token = "0x600A74D")]
[Address(RVA = "0x6FD030", Offset = "0x6FC030", VA = "0x1806FD030")]
public static void Twice(uint[] x, uint[] z)
{
int num = 0;
if (Nat.ShiftUpBit(5, x, (uint)num, z) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP160R2Field.P;
if (!Nat160.Gte(z, p))
{
return;
}
}
uint num2 = Nat.Add33To(5, (uint)21389, z);
}
// Token: 0x0600A74E RID: 42830 RVA: 0x0023F394 File Offset: 0x0023D594
[Token(Token = "0x600A74E")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public SecP160R2Field()
{
}
// Token: 0x0600A74F RID: 42831 RVA: 0x0023F3A8 File Offset: 0x0023D5A8
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600A74F")]
[Address(RVA = "0x6FD110", Offset = "0x6FC110", VA = "0x1806FD110")]
static SecP160R2Field()
{
uint[] array = new uint[5];
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.27FED0F92A97C41B08D3115553BBDC064F417B6E).FieldHandle);
SecP160R2Field.P = array;
uint[] array2 = new uint[10];
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.60A08108A32C9D3F263B2F42095A2694B7C1C1EF).FieldHandle);
SecP160R2Field.PExt = array2;
uint[] array3 = new uint[7];
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.32ECB35FF8400B4E56FF5E09588FB20DD60350E7).FieldHandle);
SecP160R2Field.PExtInv = array3;
}
// Token: 0x04006D1E RID: 27934
[Token(Token = "0x4006D1E")]
internal static readonly uint[] P;
// Token: 0x04006D1F RID: 27935
[Token(Token = "0x4006D1F")]
internal static readonly uint[] PExt;
// Token: 0x04006D20 RID: 27936
[Token(Token = "0x4006D20")]
private static readonly uint[] PExtInv;
// Token: 0x04006D21 RID: 27937
[Token(Token = "0x4006D21")]
private const uint P4 = 4294967295U;
// Token: 0x04006D22 RID: 27938
[Token(Token = "0x4006D22")]
private const uint PExt9 = 4294967295U;
// Token: 0x04006D23 RID: 27939
[Token(Token = "0x4006D23")]
private const uint PInv33 = 21389U;
}
}
@@ -0,0 +1,463 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B23 RID: 6947
[Token(Token = "0x2001B23")]
internal class SecP160R2FieldElement : AbstractFpFieldElement
{
// Token: 0x0600A750 RID: 42832 RVA: 0x0023F400 File Offset: 0x0023D600
[Token(Token = "0x600A750")]
[Address(RVA = "0x6FC140", Offset = "0x6FB140", VA = "0x1806FC140")]
public SecP160R2FieldElement(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600A750)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R2FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_4E:
stloc:ArgumentException(var_5_5D, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecP160R2FieldElement"), ldstr:string("x")))
}
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: 0x0600A751 RID: 42833 RVA: 0x0023F46C File Offset: 0x0023D66C
[Token(Token = "0x600A751")]
[Address(RVA = "0x6FC110", Offset = "0x6FB110", VA = "0x1806FC110")]
public SecP160R2FieldElement()
{
uint[] array = Nat160.Create();
this.x = array;
}
// Token: 0x0600A752 RID: 42834 RVA: 0x0023F490 File Offset: 0x0023D690
[Token(Token = "0x600A752")]
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
protected internal SecP160R2FieldElement(uint[] x)
{
this.x = x;
}
// Token: 0x17001A3E RID: 6718
// (get) Token: 0x0600A753 RID: 42835 RVA: 0x0023F4AC File Offset: 0x0023D6AC
[Token(Token = "0x17001A3E")]
public override bool IsZero
{
[Token(Token = "0x600A753")]
[Address(RVA = "0x6F42A0", Offset = "0x6F32A0", VA = "0x1806F42A0", Slot = "18")]
get
{
return Nat160.IsZero(this.x);
}
}
// Token: 0x17001A3F RID: 6719
// (get) Token: 0x0600A754 RID: 42836 RVA: 0x0023F4C4 File Offset: 0x0023D6C4
[Token(Token = "0x17001A3F")]
public override bool IsOne
{
[Token(Token = "0x600A754")]
[Address(RVA = "0x6F4290", Offset = "0x6F3290", VA = "0x1806F4290", Slot = "17")]
get
{
return Nat160.IsOne(this.x);
}
}
// Token: 0x0600A755 RID: 42837 RVA: 0x0023F4DC File Offset: 0x0023D6DC
[Token(Token = "0x600A755")]
[Address(RVA = "0x6F3F50", Offset = "0x6F2F50", VA = "0x1806F3F50", Slot = "24")]
public override bool TestBitZero()
{
uint[] array = this.x;
int num = 0;
return Nat160.GetBit(array, num) == (uint)1;
}
// Token: 0x0600A756 RID: 42838 RVA: 0x0023F500 File Offset: 0x0023D700
[Token(Token = "0x600A756")]
[Address(RVA = "0x6F3F70", Offset = "0x6F2F70", VA = "0x1806F3F70", Slot = "4")]
public override BigInteger ToBigInteger()
{
return Nat160.ToBigInteger(this.x);
}
// Token: 0x17001A40 RID: 6720
// (get) Token: 0x0600A757 RID: 42839 RVA: 0x0023F518 File Offset: 0x0023D718
[Token(Token = "0x17001A40")]
public override string FieldName
{
[Token(Token = "0x600A757")]
[Address(RVA = "0x6FC340", Offset = "0x6FB340", VA = "0x1806FC340", Slot = "5")]
get
{
return "SecP160R2Field";
}
}
// Token: 0x17001A41 RID: 6721
// (get) Token: 0x0600A758 RID: 42840 RVA: 0x0023F52C File Offset: 0x0023D72C
[Token(Token = "0x17001A41")]
public override int FieldSize
{
[Token(Token = "0x600A758")]
[Address(RVA = "0x6FC370", Offset = "0x6FB370", VA = "0x1806FC370", Slot = "6")]
get
{
return SecP160R2FieldElement.Q.BitLength;
}
}
// Token: 0x0600A759 RID: 42841 RVA: 0x0023F54C File Offset: 0x0023D74C
[Token(Token = "0x600A759")]
[Address(RVA = "0x6FB440", Offset = "0x6FA440", VA = "0x1806FB440", Slot = "7")]
public override ECFieldElement Add(ECFieldElement b)
{
uint[] array;
do
{
array = Nat160.Create();
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP160R2FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecP160R2FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A75A RID: 42842 RVA: 0x0023F594 File Offset: 0x0023D794
[Token(Token = "0x600A75A")]
[Address(RVA = "0x6FB300", Offset = "0x6FA300", VA = "0x1806FB300", Slot = "8")]
public override ECFieldElement AddOne()
{
uint[] array = Nat160.Create();
uint[] array2 = this.x;
if (Nat.Inc(5, array2, array) == (uint)0)
{
if ("{il2cpp array field local2->}" != (ulong)(-1L))
{
goto IL_44;
}
uint[] p = SecP160R2Field.P;
if (!Nat160.Gte(array, p))
{
goto IL_44;
}
}
uint num = Nat.Add33To(5, (uint)21389, array);
IL_44:
new SecP160R2FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A75B RID: 42843 RVA: 0x0023F5F8 File Offset: 0x0023D7F8
[Token(Token = "0x600A75B")]
[Address(RVA = "0x6FBF40", Offset = "0x6FAF40", VA = "0x1806FBF40", Slot = "9")]
public override ECFieldElement Subtract(ECFieldElement b)
{
uint[] array;
do
{
array = Nat160.Create();
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP160R2FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
int num;
if (num != 0)
{
int num2 = Nat.Sub33From(5, (uint)21389, array);
}
new SecP160R2FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A75C RID: 42844 RVA: 0x0023F654 File Offset: 0x0023D854
[Token(Token = "0x600A75C")]
[Address(RVA = "0x6FB9B0", Offset = "0x6FA9B0", VA = "0x1806FB9B0", Slot = "10")]
public override ECFieldElement Multiply(ECFieldElement b)
{
uint[] array;
do
{
array = Nat160.Create();
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP160R2FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecP160R2FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A75D RID: 42845 RVA: 0x0023F69C File Offset: 0x0023D89C
[Token(Token = "0x600A75D")]
[Address(RVA = "0x6FB580", Offset = "0x6FA580", VA = "0x1806FB580", Slot = "11")]
public override ECFieldElement Divide(ECFieldElement b)
{
uint[] array;
do
{
array = Nat160.Create();
uint[] p = SecP160R2Field.P;
if ("{il2cpp array field local3->}" == typeof(SecP160R2FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
uint[] array2 = this.x;
SecP160R2Field.Multiply(array, array2, array);
new SecP160R2FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A75E RID: 42846 RVA: 0x0023F6F4 File Offset: 0x0023D8F4
[Token(Token = "0x600A75E")]
[Address(RVA = "0x6FBAF0", Offset = "0x6FAAF0", VA = "0x1806FBAF0", Slot = "12")]
public override ECFieldElement Negate()
{
/*
An exception occurred when decompiling this method (0600A75E)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R2FieldElement::Negate()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat160::Create))
call:void(SecP160R2Field::Negate, ldfld:uint32[](SecP160R2FieldElement::x, ldloc:SecP160R2FieldElement(this)), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP160R2FieldElement::x, newobj:SecP160R2FieldElement(SecP160R2FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A75F RID: 42847 RVA: 0x0023F720 File Offset: 0x0023D920
[Token(Token = "0x600A75F")]
[Address(RVA = "0x6FBEB0", Offset = "0x6FAEB0", VA = "0x1806FBEB0", Slot = "13")]
public override ECFieldElement Square()
{
/*
An exception occurred when decompiling this method (0600A75F)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R2FieldElement::Square()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat160::Create))
call:void(SecP160R2Field::Square, ldfld:uint32[](SecP160R2FieldElement::x, ldloc:SecP160R2FieldElement(this)), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP160R2FieldElement::x, newobj:SecP160R2FieldElement(SecP160R2FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A760 RID: 42848 RVA: 0x0023F74C File Offset: 0x0023D94C
[Token(Token = "0x600A760")]
[Address(RVA = "0x6FB8E0", Offset = "0x6FA8E0", VA = "0x1806FB8E0", Slot = "14")]
public override ECFieldElement Invert()
{
/*
An exception occurred when decompiling this method (0600A760)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R2FieldElement::Invert()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat160::Create))
stloc:uint32[](var_2_0E, ldfld:uint32[](SecP160R2FieldElement::x, ldloc:SecP160R2FieldElement(this)))
call:void(Mod::Invert, ldsfld:uint32[](SecP160R2Field::P), ldloc:uint32[](var_2_0E), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP160R2FieldElement::x, newobj:SecP160R2FieldElement(SecP160R2FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A761 RID: 42849 RVA: 0x0023F780 File Offset: 0x0023D980
[Token(Token = "0x600A761")]
[Address(RVA = "0x6FBB80", Offset = "0x6FAB80", VA = "0x1806FBB80", Slot = "15")]
public override ECFieldElement Sqrt()
{
uint[] array;
do
{
array = this.x;
}
while (Nat160.IsZero(array) || Nat160.IsOne(array));
uint[] array2 = Nat160.Create();
SecP160R2Field.Square(array, array2);
SecP160R2Field.Multiply(array2, array, array2);
uint[] array3 = Nat160.Create();
SecP160R2Field.Square(array2, array3);
SecP160R2Field.Multiply(array3, array, array3);
uint[] array4 = Nat160.Create();
SecP160R2Field.Square(array3, array4);
SecP160R2Field.Multiply(array4, array, array4);
uint[] array5 = Nat160.Create();
SecP160R2Field.SquareN(array4, 3, array5);
SecP160R2Field.Multiply(array5, array3, array5);
SecP160R2Field.SquareN(array5, 7, array4);
SecP160R2Field.Multiply(array4, array5, array4);
SecP160R2Field.SquareN(array4, 3, array5);
SecP160R2Field.Multiply(array5, array3, array5);
uint[] array6 = Nat160.Create();
SecP160R2Field.SquareN(array5, 14, array6);
SecP160R2Field.Multiply(array6, array4, array6);
SecP160R2Field.SquareN(array6, 31, array4);
SecP160R2Field.Multiply(array4, array6, array4);
SecP160R2Field.SquareN(array4, 62, array6);
SecP160R2Field.Multiply(array6, array4, array6);
SecP160R2Field.SquareN(array6, 3, array4);
SecP160R2Field.Multiply(array4, array3, array4);
SecP160R2Field.SquareN(array4, 18, array4);
SecP160R2Field.Multiply(array4, array5, array4);
SecP160R2Field.SquareN(array4, 2, array4);
SecP160R2Field.Multiply(array4, array, array4);
SecP160R2Field.SquareN(array4, 3, array4);
SecP160R2Field.Multiply(array4, array2, array4);
SecP160R2Field.SquareN(array4, 6, array4);
SecP160R2Field.Multiply(array4, array3, array4);
SecP160R2Field.SquareN(array4, 2, array4);
SecP160R2Field.Multiply(array4, array, array4);
SecP160R2Field.Square(array4, array2);
if (Nat160.Eq(array, array2))
{
new SecP160R2FieldElement().x = array4;
return;
}
}
// Token: 0x0600A762 RID: 42850 RVA: 0x0023F928 File Offset: 0x0023DB28
[Token(Token = "0x600A762")]
[Address(RVA = "0x6FB700", Offset = "0x6FA700", VA = "0x1806FB700", Slot = "0")]
public override bool Equals(object obj)
{
/*
An exception occurred when decompiling this method (0600A762)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R2FieldElement::Equals(System.Object)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP160R2FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600A763 RID: 42851 RVA: 0x0023F944 File Offset: 0x0023DB44
[Token(Token = "0x600A763")]
[Address(RVA = "0x6FB790", Offset = "0x6FA790", VA = "0x1806FB790", Slot = "25")]
public override bool Equals(ECFieldElement other)
{
/*
An exception occurred when decompiling this method (0600A763)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R2FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP160R2FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600A764 RID: 42852 RVA: 0x0023F960 File Offset: 0x0023DB60
[Token(Token = "0x600A764")]
[Address(RVA = "0x6F36A0", Offset = "0x6F26A0", VA = "0x1806F36A0", Slot = "27")]
public virtual bool Equals(SecP160R2FieldElement other)
{
if (this != other)
{
if (other != 0)
{
uint[] array = other.x;
return Nat160.Eq(this.x, array);
}
}
return true;
}
// Token: 0x0600A765 RID: 42853 RVA: 0x0023F98C File Offset: 0x0023DB8C
[Token(Token = "0x600A765")]
[Address(RVA = "0x6FB820", Offset = "0x6FA820", VA = "0x1806FB820", Slot = "2")]
public override int GetHashCode()
{
SecP160R2FieldElement.Q.Finalize();
uint[] array = this.x;
int num = 0;
return Arrays.GetHashCode(array, num, 5);
}
// Token: 0x04006D24 RID: 27940
[Token(Token = "0x4006D24")]
public static readonly BigInteger Q = SecP160R2Curve.q;
// Token: 0x04006D25 RID: 27941
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006D25")]
protected internal readonly uint[] x;
}
}
@@ -0,0 +1,333 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B24 RID: 6948
[Token(Token = "0x2001B24")]
internal class SecP160R2Point : AbstractFpPoint
{
// Token: 0x0600A767 RID: 42855 RVA: 0x0023F9D4 File Offset: 0x0023DBD4
[Token(Token = "0x600A767")]
[Address(RVA = "0x6FE590", Offset = "0x6FD590", VA = "0x1806FE590")]
public SecP160R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600A768 RID: 42856 RVA: 0x0023F9E4 File Offset: 0x0023DBE4
[Token(Token = "0x600A768")]
[Address(RVA = "0x6FE4D0", Offset = "0x6FD4D0", VA = "0x1806FE4D0")]
public SecP160R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A768)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R2Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600A769 RID: 42857 RVA: 0x0023FA0C File Offset: 0x0023DC0C
[Token(Token = "0x600A769")]
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
internal SecP160R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600A76A RID: 42858 RVA: 0x0023FA1C File Offset: 0x0023DC1C
[Token(Token = "0x600A76A")]
[Address(RVA = "0x6FDC30", Offset = "0x6FCC30", VA = "0x1806FDC30", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600A76A)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R2Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecP160R2Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecP160R2Point[exp:ECPoint](this)))
}
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: 0x0600A76B RID: 42859 RVA: 0x0023FA38 File Offset: 0x0023DC38
[Token(Token = "0x600A76B")]
[Address(RVA = "0x6FD3B0", Offset = "0x6FC3B0", VA = "0x1806FD3B0", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
if (!base.IsInfinity && !b.IsInfinity && this != b)
{
bool flag = this.SatisfiesOrder();
ECFieldElement[] zs = this.m_zs;
ECFieldElement[] zs2 = b.m_zs;
uint[] array = Nat160.CreateExt();
uint[] array2 = Nat160.Create();
uint[] array3 = Nat160.Create();
uint[] array4 = Nat160.Create();
if (array4 == 0)
{
SecP160R2Field.Square(array4, array3);
SecP160R2Field.Multiply(array3, array3, array2);
SecP160R2Field.Multiply(array3, array3, array3);
SecP160R2Field.Multiply(array3, array3, array3);
}
SecP160R2Field.Multiply(array4, array4, array);
SecP160R2Field.Multiply(array4, array4, array4);
SecP160R2Field.Multiply(array4, array4, array4);
uint[] array5 = Nat160.Create();
int num;
if (num != 0)
{
int num2 = Nat.Sub33From(5, (uint)21389, array5);
}
int num3;
if (num3 != 0)
{
int num4 = Nat.Sub33From(5, (uint)21389, array2);
}
if (!Nat160.IsZero(array5))
{
SecP160R2Field.Square(array5, array3);
uint[] array6 = Nat160.Create();
SecP160R2Field.Multiply(array3, array5, array6);
SecP160R2Field.Negate(array6, array6);
SecP160R2Field.Reduce32(Nat160.AddBothTo(array3, array3, array6), array6);
SecP160R2FieldElement secP160R2FieldElement = new SecP160R2FieldElement();
secP160R2FieldElement.x = array4;
SecP160R2Field.Square(array2, array4);
uint[] x = secP160R2FieldElement.x;
if (Nat160.Sub(x, array6, x) != 0)
{
int num5 = Nat.Sub33From(5, (uint)21389, x);
}
SecP160R2FieldElement secP160R2FieldElement2 = new SecP160R2FieldElement();
secP160R2FieldElement2.x = array6;
uint[] x2 = secP160R2FieldElement.x;
if (Nat160.Sub(array3, x2, array6) != 0)
{
int num6 = Nat.Sub33From(5, (uint)21389, array6);
}
uint[] x3 = secP160R2FieldElement2.x;
if (Nat160.MulAddTo(x3, array2, array) == (uint)0)
{
if ("{il2cpp array field local16->}" != (ulong)(-1L))
{
goto IL_207;
}
uint[] pext = SecP160R2Field.PExt;
if (!Nat.Gte(10, array, pext))
{
goto IL_207;
}
}
uint[] pextInv = SecP160R2Field.PExtInv;
if (Nat.AddTo(pextInv.Length, pextInv, array) != (uint)0)
{
int length = SecP160R2Field.PExtInv.Length;
uint num7 = Nat.IncAt(10, array, length);
}
IL_207:
uint[] x4 = secP160R2FieldElement2.x;
SecP160R2Field.Reduce(array, x4);
SecP160R2FieldElement secP160R2FieldElement3 = new SecP160R2FieldElement();
secP160R2FieldElement3.x = array5;
SecP160R2Field.Multiply(array5, x3, array5);
uint[] x5 = secP160R2FieldElement3.x;
SecP160R2Field.Multiply(x5, array5, x5);
ECFieldElement[] array7 = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
bool flag2;
if (!flag2)
{
}
}
return b;
}
// Token: 0x0600A76C RID: 42860 RVA: 0x0023FCBC File Offset: 0x0023DEBC
[Token(Token = "0x600A76C")]
[Address(RVA = "0x6FDDD0", Offset = "0x6FCDD0", VA = "0x1806FDDD0", Slot = "30")]
public override ECPoint Twice()
{
while (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement y = this.m_y;
if (y != 0)
{
if (y.IsOne)
{
break;
}
ECFieldElement x = this.m_x;
if (x == 0)
{
}
if (x != 0)
{
ECFieldElement ecfieldElement = this.m_zs[0];
if (ecfieldElement == 0)
{
}
if (ecfieldElement != 0)
{
uint[] array = Nat160.Create();
uint[] array2 = Nat160.Create();
uint[] array3 = Nat160.Create();
SecP160R2Field.Square(array3, array3);
uint[] array4 = Nat160.Create();
SecP160R2Field.Square(array3, array4);
if (ecfieldElement.BitLength == 0)
{
}
int num;
if (num != 0)
{
int num2 = Nat.Sub33From(5, (uint)21389, array);
}
SecP160R2Field.Multiply(array2, array, array2);
SecP160R2Field.Reduce32(Nat160.AddBothTo(array2, array2, array2), array2);
SecP160R2Field.Multiply(array3, array2, array3);
int num3 = 0;
SecP160R2Field.Reduce32(Nat.ShiftUpBits(5, array3, 2, (uint)num3), array3);
int num4 = 0;
SecP160R2Field.Reduce32(Nat.ShiftUpBits(5, array4, 3, (uint)num4, array), array);
SecP160R2FieldElement secP160R2FieldElement = new SecP160R2FieldElement();
secP160R2FieldElement.x = array4;
SecP160R2Field.Square(array2, array4);
uint[] x2 = secP160R2FieldElement.x;
if (Nat160.Sub(x2, array3, x2) != 0)
{
int num5 = Nat.Sub33From(5, (uint)21389, x2);
}
uint[] x3 = secP160R2FieldElement.x;
if (Nat160.Sub(x3, array3, x3) != 0)
{
int num6 = Nat.Sub33From(5, (uint)21389, x3);
}
SecP160R2FieldElement secP160R2FieldElement2 = new SecP160R2FieldElement();
secP160R2FieldElement2.x = array3;
uint[] x4 = secP160R2FieldElement.x;
if (Nat160.Sub(array3, x4, array3) != 0)
{
int num7 = Nat.Sub33From(5, (uint)21389, array3);
}
uint[] x5 = secP160R2FieldElement2.x;
SecP160R2Field.Multiply(x5, array2, x5);
uint[] x6 = secP160R2FieldElement2.x;
if (Nat160.Sub(x6, array, x6) != 0)
{
int num8 = Nat.Sub33From(5, (uint)21389, x6);
}
SecP160R2FieldElement secP160R2FieldElement3 = new SecP160R2FieldElement();
secP160R2FieldElement3.x = array2;
uint num9;
if (num9 == (uint)0)
{
if ("{il2cpp array field local20->}" != (ulong)(-1L))
{
goto IL_228;
}
uint[] p = SecP160R2Field.P;
if (!Nat160.Gte(array2, p))
{
goto IL_228;
}
}
uint num10 = Nat.Add33To(5, (uint)21389, array2);
IL_228:
uint[] x7 = secP160R2FieldElement3.x;
(new ECFieldElement[1])[0] = secP160R2FieldElement3;
bool withCompression = this.m_withCompression;
break;
}
}
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600A76D RID: 42861 RVA: 0x0023FF18 File Offset: 0x0023E118
[Token(Token = "0x600A76D")]
[Address(RVA = "0x6ECFE0", Offset = "0x6EBFE0", VA = "0x1806ECFE0", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
if (this != b)
{
if (!base.IsInfinity)
{
if (!b.IsInfinity)
{
if (this.m_y.IsOne)
{
return b;
}
ECPoint ecpoint;
bool flag = ecpoint.SatisfiesCurveEquation();
}
bool flag2 = base.SatisfiesCurveEquation();
}
return b;
}
bool flag3 = base.SatisfiesCurveEquation();
throw new NullReferenceException();
}
// Token: 0x0600A76E RID: 42862 RVA: 0x0023FF68 File Offset: 0x0023E168
[Token(Token = "0x600A76E")]
[Address(RVA = "0x6ECF60", Offset = "0x6EBF60", VA = "0x1806ECF60", Slot = "33")]
public override ECPoint ThreeTimes()
{
if (!base.IsInfinity && !this.m_y.IsOne)
{
ECPoint ecpoint;
bool flag = ecpoint.SatisfiesCurveEquation();
}
throw new NullReferenceException();
}
// Token: 0x0600A76F RID: 42863 RVA: 0x0023FF98 File Offset: 0x0023E198
[Token(Token = "0x600A76F")]
[Address(RVA = "0x6FDCD0", Offset = "0x6FCCD0", VA = "0x1806FDCD0", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement y = this.m_y;
ECFieldElement[] zs = this.m_zs;
bool withCompression = this.m_withCompression;
}
throw new NullReferenceException();
}
}
}
@@ -0,0 +1,333 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B25 RID: 6949
[Token(Token = "0x2001B25")]
internal class SecP192K1Curve : AbstractFpCurve
{
// Token: 0x0600A770 RID: 42864 RVA: 0x0023FFD0 File Offset: 0x0023E1D0
[Token(Token = "0x600A770")]
[Address(RVA = "0x6FEC20", Offset = "0x6FDC20", VA = "0x1806FEC20")]
public SecP192K1Curve()
{
BigInteger bigInteger = SecP192K1Curve.q;
base..ctor(bigInteger);
int num;
int num2;
ulong num3;
SecP192K1Point secP192K1Point = new SecP192K1Point(this, num, num2, num3 != 0UL);
num2 = 0;
num = 0;
this.m_infinity = secP192K1Point;
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
int fieldSize2 = this.FieldSize;
this.m_b = fieldSize2;
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFE26F2FC170F69466A74DEFD8D");
BigInteger bigInteger2 = new BigInteger(1, array);
this.m_order = bigInteger2;
BigInteger one = BigInteger.One;
this.m_cofactor = one;
this.m_coord = (int)((ulong)2L);
}
// Token: 0x0600A771 RID: 42865 RVA: 0x00240058 File Offset: 0x0023E258
[Token(Token = "0x600A771")]
[Address(RVA = "0x6FE5D0", Offset = "0x6FD5D0", VA = "0x1806FE5D0", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600A771)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192K1Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_1_05, ldsfld:BigInteger(SecP192K1Curve::q))
stloc:SecP192K1Point(var_2_11, newobj:SecP192K1Point(SecP192K1Point::.ctor, ldloc:SecP192K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_3), ldloc:uint64[exp:bool](var_6)))
stloc:int32(var_3, ldc.i4:int32(0))
stloc:int32(var_5, ldc.i4:int32(0))
stfld:SecP192K1Point(SecP192K1Curve::m_infinity, ldloc:SecP192K1Curve(var_0), ldloc:SecP192K1Point(var_2_11))
stloc:int32(var_7_24, callvirtgetter:int32(SecP192K1Curve::get_FieldSize, ldloc:SecP192K1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecP192K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_7_24))
stloc:int32(var_9_34, callvirtgetter:int32(SecP192K1Curve::get_FieldSize, ldloc:SecP192K1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecP192K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_9_34))
stloc:uint8[](var_10_48, call:uint8[](Hex::Decode, ldstr:string("FFFFFFFFFFFFFFFFFFFFFFFE26F2FC170F69466A74DEFD8D")))
stloc:BigInteger(var_11_52, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_10_48)))
stfld:BigInteger(ECCurve::m_order, ldloc:SecP192K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_11_52))
stloc:BigInteger(var_12_61, ldsfld:BigInteger(BigInteger::One))
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecP192K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_12_61))
stfld:int32(ECCurve::m_coord, ldloc:SecP192K1Curve[exp:ECCurve](var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](2)))
}
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: 0x0600A772 RID: 42866 RVA: 0x002400D8 File Offset: 0x0023E2D8
[Token(Token = "0x600A772")]
[Address(RVA = "0x6E9C20", Offset = "0x6E8C20", VA = "0x1806E9C20", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 2;
}
// Token: 0x17001A42 RID: 6722
// (get) Token: 0x0600A773 RID: 42867 RVA: 0x002400EC File Offset: 0x0023E2EC
[Token(Token = "0x17001A42")]
public virtual BigInteger Q
{
[Token(Token = "0x600A773")]
[Address(RVA = "0x6FEE20", Offset = "0x6FDE20", VA = "0x1806FEE20", Slot = "38")]
get
{
return SecP192K1Curve.q;
}
}
// Token: 0x17001A43 RID: 6723
// (get) Token: 0x0600A774 RID: 42868 RVA: 0x00240100 File Offset: 0x0023E300
[Token(Token = "0x17001A43")]
public override ECPoint Infinity
{
[Token(Token = "0x600A774")]
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600A774)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192K1Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP192K1Point(var_0_06, ldfld:SecP192K1Point(SecP192K1Curve::m_infinity, ldloc:SecP192K1Curve(this)))
}
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: 0x17001A44 RID: 6724
// (get) Token: 0x0600A775 RID: 42869 RVA: 0x00240114 File Offset: 0x0023E314
[Token(Token = "0x17001A44")]
public override int FieldSize
{
[Token(Token = "0x600A775")]
[Address(RVA = "0x6FEDB0", Offset = "0x6FDDB0", VA = "0x1806FEDB0", Slot = "4")]
get
{
return SecP192K1Curve.q.BitLength;
}
}
// Token: 0x0600A776 RID: 42870 RVA: 0x00240134 File Offset: 0x0023E334
[Token(Token = "0x600A776")]
[Address(RVA = "0x6FEB20", Offset = "0x6FDB20", VA = "0x1806FEB20", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600A776)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192K1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP192K1FieldElement(var_0_06, newobj:SecP192K1FieldElement(SecP192K1FieldElement::.ctor, ldloc:BigInteger(x)))
}
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: 0x0600A777 RID: 42871 RVA: 0x00240148 File Offset: 0x0023E348
[Token(Token = "0x600A777")]
[Address(RVA = "0x6FEA90", Offset = "0x6FDA90", VA = "0x1806FEA90", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A777)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192K1Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP192K1Point(var_0_09, newobj:SecP192K1Point(SecP192K1Point::.ctor, ldloc:SecP192K1Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600A778 RID: 42872 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600A778")]
[Address(RVA = "0x6FE9F0", Offset = "0x6FD9F0", VA = "0x1806FE9F0", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600A779 RID: 42873 RVA: 0x00240160 File Offset: 0x0023E360
[Token(Token = "0x600A779")]
[Address(RVA = "0x6FE790", Offset = "0x6FD790", VA = "0x1806FE790", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
uint[] array;
int num;
for (;;)
{
array = new uint[points];
num = 0;
if (len <= 0)
{
goto IL_4A;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
if (y != 0 && y != 0)
{
break;
}
}
}
num += 12;
IL_4A:
SecP192K1Curve.SecP192K1LookupTable secP192K1LookupTable;
secP192K1LookupTable.m_outer = 0;
secP192K1LookupTable.m_table = array;
secP192K1LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x0600A77A RID: 42874 RVA: 0x002401D4 File Offset: 0x0023E3D4
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600A77A")]
[Address(RVA = "0x6FEB80", Offset = "0x6FDB80", VA = "0x1806FEB80")]
static SecP192K1Curve()
{
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFEE37");
SecP192K1Curve.q = new BigInteger(1, array);
}
// Token: 0x04006D26 RID: 27942
[Token(Token = "0x4006D26")]
public static readonly BigInteger q;
// Token: 0x04006D27 RID: 27943
[Token(Token = "0x4006D27")]
private const int SECP192K1_DEFAULT_COORDS = 2;
// Token: 0x04006D28 RID: 27944
[Token(Token = "0x4006D28")]
private const int SECP192K1_FE_INTS = 6;
// Token: 0x04006D29 RID: 27945
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4006D29")]
protected readonly SecP192K1Point m_infinity;
// Token: 0x02001B26 RID: 6950
[Token(Token = "0x2001B26")]
private class SecP192K1LookupTable : ECLookupTable
{
// Token: 0x0600A77B RID: 42875 RVA: 0x002401F8 File Offset: 0x0023E3F8
[Token(Token = "0x600A77B")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecP192K1LookupTable(SecP192K1Curve outer, uint[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001A45 RID: 6725
// (get) Token: 0x0600A77C RID: 42876 RVA: 0x00240220 File Offset: 0x0023E420
[Token(Token = "0x17001A45")]
public virtual int Size
{
[Token(Token = "0x600A77C")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600A77D RID: 42877 RVA: 0x00240234 File Offset: 0x0023E434
[Token(Token = "0x600A77D")]
[Address(RVA = "0x700E00", Offset = "0x6FFE00", VA = "0x180700E00", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
uint[] array = Nat192.Create();
uint[] array2 = Nat192.Create();
int num = 0;
int num2 = 0;
if (this.m_size > num)
{
int num3 = 0;
uint[] table = this.m_table;
uint[] table2 = this.m_table;
num3++;
num += 12;
num2++;
}
SecP192K1Curve outer = this.m_outer;
new SecP192K1FieldElement().x = array;
new SecP192K1FieldElement().x = array2;
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006D2A RID: 27946
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006D2A")]
private readonly SecP192K1Curve m_outer;
// Token: 0x04006D2B RID: 27947
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006D2B")]
private readonly uint[] m_table;
// Token: 0x04006D2C RID: 27948
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006D2C")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,329 @@
using System;
using System.Runtime.CompilerServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B27 RID: 6951
[Token(Token = "0x2001B27")]
internal class SecP192K1Field
{
// Token: 0x0600A77E RID: 42878 RVA: 0x002402B4 File Offset: 0x0023E4B4
[Token(Token = "0x600A77E")]
[Address(RVA = "0x700250", Offset = "0x6FF250", VA = "0x180700250")]
public static void Add(uint[] x, uint[] y, uint[] z)
{
if (Nat192.Add(x, y, z) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP192K1Field.P;
if (!Nat192.Gte(z, p))
{
return;
}
}
uint num = Nat.Add33To(6, (uint)4553, z);
}
// Token: 0x0600A77F RID: 42879 RVA: 0x002402FC File Offset: 0x0023E4FC
[Token(Token = "0x600A77F")]
[Address(RVA = "0x700000", Offset = "0x6FF000", VA = "0x180700000")]
public static void AddExt(uint[] xx, uint[] yy, uint[] zz)
{
if (Nat.Add(12, xx, yy, zz) == (uint)0)
{
if ("{il2cpp array field zz->}" != (ulong)(-1L))
{
return;
}
uint[] pext = SecP192K1Field.PExt;
if (!Nat.Gte(12, zz, pext))
{
return;
}
}
uint[] pextInv = SecP192K1Field.PExtInv;
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
{
int length = SecP192K1Field.PExtInv.Length;
uint num = Nat.IncAt(12, zz, length);
}
}
// Token: 0x0600A780 RID: 42880 RVA: 0x00240368 File Offset: 0x0023E568
[Token(Token = "0x600A780")]
[Address(RVA = "0x700180", Offset = "0x6FF180", VA = "0x180700180")]
public static void AddOne(uint[] x, uint[] z)
{
if (Nat.Inc(6, x, z) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP192K1Field.P;
if (!Nat192.Gte(z, p))
{
return;
}
}
uint num = Nat.Add33To(6, (uint)4553, z);
}
// Token: 0x0600A781 RID: 42881 RVA: 0x002403B0 File Offset: 0x0023E5B0
[Token(Token = "0x600A781")]
[Address(RVA = "0x700330", Offset = "0x6FF330", VA = "0x180700330")]
public static uint[] FromBigInteger(BigInteger x)
{
uint[] array = Nat192.FromBigInteger(x);
if ("{il2cpp array field local2->}" == (ulong)(-1L))
{
uint[] p = SecP192K1Field.P;
if (Nat192.Gte(array, p))
{
int num = Nat192.SubFrom(SecP192K1Field.P, array);
}
}
return array;
}
// Token: 0x0600A782 RID: 42882 RVA: 0x002403F4 File Offset: 0x0023E5F4
[Token(Token = "0x600A782")]
[Address(RVA = "0x700420", Offset = "0x6FF420", VA = "0x180700420")]
public static void Half(uint[] x, uint[] z)
{
if ("{il2cpp array field x->}" != (ulong)1L)
{
uint[] p = SecP192K1Field.P;
uint num = Nat192.Add(x, p, z);
uint num2 = Nat.ShiftDownBit(6, z, num);
return;
}
int num3 = 0;
uint num4 = Nat.ShiftDownBit(6, x, (uint)num3, z);
}
// Token: 0x0600A783 RID: 42883 RVA: 0x00240438 File Offset: 0x0023E638
[Token(Token = "0x600A783")]
[Address(RVA = "0x700670", Offset = "0x6FF670", VA = "0x180700670")]
public static void Multiply(uint[] x, uint[] y, uint[] z)
{
uint[] array = Nat192.CreateExt();
Nat192.Mul(x, y, array);
SecP192K1Field.Reduce(array, z);
}
// Token: 0x0600A784 RID: 42884 RVA: 0x0024045C File Offset: 0x0023E65C
[Token(Token = "0x600A784")]
[Address(RVA = "0x700500", Offset = "0x6FF500", VA = "0x180700500")]
public static void MultiplyAddToExt(uint[] x, uint[] y, uint[] zz)
{
if (Nat192.MulAddTo(x, y, zz) == (uint)0)
{
if ("{il2cpp array field zz->}" != (ulong)(-1L))
{
return;
}
uint[] pext = SecP192K1Field.PExt;
if (!Nat.Gte(12, zz, pext))
{
return;
}
}
uint[] pextInv = SecP192K1Field.PExtInv;
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
{
int length = SecP192K1Field.PExtInv.Length;
uint num = Nat.IncAt(12, zz, length);
}
}
// Token: 0x0600A785 RID: 42885 RVA: 0x002404C4 File Offset: 0x0023E6C4
[Token(Token = "0x600A785")]
[Address(RVA = "0x700710", Offset = "0x6FF710", VA = "0x180700710")]
public static void Negate(uint[] x, uint[] z)
{
if (!Nat192.IsZero(x))
{
int num = Nat192.Sub(SecP192K1Field.P, x, z);
return;
}
Nat192.Zero(z);
}
// Token: 0x0600A786 RID: 42886 RVA: 0x002404F0 File Offset: 0x0023E6F0
[Token(Token = "0x600A786")]
[Address(RVA = "0x700890", Offset = "0x6FF890", VA = "0x180700890")]
public static void Reduce(uint[] xx, uint[] z)
{
int num = 0;
ulong num2 = Nat192.Mul33Add((uint)4553, xx, 6, xx, num, z, num);
int num3 = 0;
if (Nat192.Mul33DWordAdd((uint)4553, num2, z, num3) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP192K1Field.P;
if (!Nat192.Gte(z, p))
{
return;
}
}
uint num4 = Nat.Add33To(6, (uint)4553, z);
}
// Token: 0x0600A787 RID: 42887 RVA: 0x00240554 File Offset: 0x0023E754
[Token(Token = "0x600A787")]
[Address(RVA = "0x7007B0", Offset = "0x6FF7B0", VA = "0x1807007B0")]
public static void Reduce32(uint x, uint[] z)
{
if (x != (uint)0)
{
int num = 0;
if (Nat192.Mul33WordAdd((uint)4553, x, z, num) != (uint)0)
{
goto IL_33;
}
}
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP192K1Field.P;
if (!Nat192.Gte(z, p))
{
return;
}
IL_33:
uint num2 = Nat.Add33To(6, (uint)4553, z);
}
// Token: 0x0600A788 RID: 42888 RVA: 0x002405A8 File Offset: 0x0023E7A8
[Token(Token = "0x600A788")]
[Address(RVA = "0x700A70", Offset = "0x6FFA70", VA = "0x180700A70")]
public static void Square(uint[] x, uint[] z)
{
uint[] array = Nat192.CreateExt();
Nat192.Square(x, array);
SecP192K1Field.Reduce(array, z);
}
// Token: 0x0600A789 RID: 42889 RVA: 0x002405CC File Offset: 0x0023E7CC
[Token(Token = "0x600A789")]
[Address(RVA = "0x700990", Offset = "0x6FF990", VA = "0x180700990")]
public static void SquareN(uint[] x, int n, uint[] z)
{
uint[] array = Nat192.CreateExt();
Nat192.Square(x, array);
SecP192K1Field.Reduce(array, z);
if (n > 0)
{
Nat192.Square(z, array);
SecP192K1Field.Reduce(array, z);
}
}
// Token: 0x0600A78A RID: 42890 RVA: 0x00240604 File Offset: 0x0023E804
[Token(Token = "0x600A78A")]
[Address(RVA = "0x700C10", Offset = "0x6FFC10", VA = "0x180700C10")]
public static void Subtract(uint[] x, uint[] y, uint[] z)
{
if (Nat192.Sub(x, y, z) != 0)
{
int num = Nat.Sub33From(6, (uint)4553, z);
return;
}
}
// Token: 0x0600A78B RID: 42891 RVA: 0x0024062C File Offset: 0x0023E82C
[Token(Token = "0x600A78B")]
[Address(RVA = "0x700B00", Offset = "0x6FFB00", VA = "0x180700B00")]
public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz)
{
if (Nat.Sub(12, xx, yy, zz) != 0)
{
uint[] pextInv = SecP192K1Field.PExtInv;
if (Nat.SubFrom(pextInv.Length, pextInv, zz) != 0)
{
int length = SecP192K1Field.PExtInv.Length;
int num = Nat.DecAt(12, zz, length);
}
}
}
// Token: 0x0600A78C RID: 42892 RVA: 0x00240678 File Offset: 0x0023E878
[Token(Token = "0x600A78C")]
[Address(RVA = "0x700C50", Offset = "0x6FFC50", VA = "0x180700C50")]
public static void Twice(uint[] x, uint[] z)
{
int num = 0;
if (Nat.ShiftUpBit(6, x, (uint)num, z) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP192K1Field.P;
if (!Nat192.Gte(z, p))
{
return;
}
}
uint num2 = Nat.Add33To(6, (uint)4553, z);
}
// Token: 0x0600A78D RID: 42893 RVA: 0x002406C4 File Offset: 0x0023E8C4
[Token(Token = "0x600A78D")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public SecP192K1Field()
{
}
// Token: 0x0600A78E RID: 42894 RVA: 0x002406D8 File Offset: 0x0023E8D8
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600A78E")]
[Address(RVA = "0x700D30", Offset = "0x6FFD30", VA = "0x180700D30")]
static SecP192K1Field()
{
uint[] array = new uint[6];
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.FB3C663794DD23F500825FF78450D198FE338938).FieldHandle);
SecP192K1Field.P = array;
uint[] array2 = new uint[12];
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.C5515C87D04DC0D00C7984096F5E35B4944C1CB6).FieldHandle);
SecP192K1Field.PExt = array2;
uint[] array3 = new uint[8];
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.8330271815E046D369E0B1F7673D308739FDCC07).FieldHandle);
SecP192K1Field.PExtInv = array3;
}
// Token: 0x04006D2D RID: 27949
[Token(Token = "0x4006D2D")]
internal static readonly uint[] P;
// Token: 0x04006D2E RID: 27950
[Token(Token = "0x4006D2E")]
internal static readonly uint[] PExt;
// Token: 0x04006D2F RID: 27951
[Token(Token = "0x4006D2F")]
private static readonly uint[] PExtInv;
// Token: 0x04006D30 RID: 27952
[Token(Token = "0x4006D30")]
private const uint P5 = 4294967295U;
// Token: 0x04006D31 RID: 27953
[Token(Token = "0x4006D31")]
private const uint PExt11 = 4294967295U;
// Token: 0x04006D32 RID: 27954
[Token(Token = "0x4006D32")]
private const uint PInv33 = 4553U;
}
}
@@ -0,0 +1,474 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B28 RID: 6952
[Token(Token = "0x2001B28")]
internal class SecP192K1FieldElement : AbstractFpFieldElement
{
// Token: 0x0600A78F RID: 42895 RVA: 0x00240730 File Offset: 0x0023E930
[Token(Token = "0x600A78F")]
[Address(RVA = "0x6FFD40", Offset = "0x6FED40", VA = "0x1806FFD40")]
public SecP192K1FieldElement(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600A78F)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192K1FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_4E:
stloc:ArgumentException(var_5_5D, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecP192K1FieldElement"), ldstr:string("x")))
}
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: 0x0600A790 RID: 42896 RVA: 0x0024079C File Offset: 0x0023E99C
[Token(Token = "0x600A790")]
[Address(RVA = "0x6FFF10", Offset = "0x6FEF10", VA = "0x1806FFF10")]
public SecP192K1FieldElement()
{
uint[] array = Nat192.Create();
this.x = array;
}
// Token: 0x0600A791 RID: 42897 RVA: 0x002407C0 File Offset: 0x0023E9C0
[Token(Token = "0x600A791")]
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
protected internal SecP192K1FieldElement(uint[] x)
{
this.x = x;
}
// Token: 0x17001A46 RID: 6726
// (get) Token: 0x0600A792 RID: 42898 RVA: 0x002407DC File Offset: 0x0023E9DC
[Token(Token = "0x17001A46")]
public override bool IsZero
{
[Token(Token = "0x600A792")]
[Address(RVA = "0x6FFFF0", Offset = "0x6FEFF0", VA = "0x1806FFFF0", Slot = "18")]
get
{
return Nat192.IsZero(this.x);
}
}
// Token: 0x17001A47 RID: 6727
// (get) Token: 0x0600A793 RID: 42899 RVA: 0x002407F4 File Offset: 0x0023E9F4
[Token(Token = "0x17001A47")]
public override bool IsOne
{
[Token(Token = "0x600A793")]
[Address(RVA = "0x6FFFE0", Offset = "0x6FEFE0", VA = "0x1806FFFE0", Slot = "17")]
get
{
return Nat192.IsOne(this.x);
}
}
// Token: 0x0600A794 RID: 42900 RVA: 0x0024080C File Offset: 0x0023EA0C
[Token(Token = "0x600A794")]
[Address(RVA = "0x6FFCA0", Offset = "0x6FECA0", VA = "0x1806FFCA0", Slot = "24")]
public override bool TestBitZero()
{
uint[] array = this.x;
int num = 0;
return Nat192.GetBit(array, num) == (uint)1;
}
// Token: 0x0600A795 RID: 42901 RVA: 0x00240830 File Offset: 0x0023EA30
[Token(Token = "0x600A795")]
[Address(RVA = "0x6FFCC0", Offset = "0x6FECC0", VA = "0x1806FFCC0", Slot = "4")]
public override BigInteger ToBigInteger()
{
return Nat192.ToBigInteger(this.x);
}
// Token: 0x17001A48 RID: 6728
// (get) Token: 0x0600A796 RID: 42902 RVA: 0x00240848 File Offset: 0x0023EA48
[Token(Token = "0x17001A48")]
public override string FieldName
{
[Token(Token = "0x600A796")]
[Address(RVA = "0x6FFF40", Offset = "0x6FEF40", VA = "0x1806FFF40", Slot = "5")]
get
{
return "SecP192K1Field";
}
}
// Token: 0x17001A49 RID: 6729
// (get) Token: 0x0600A797 RID: 42903 RVA: 0x0024085C File Offset: 0x0023EA5C
[Token(Token = "0x17001A49")]
public override int FieldSize
{
[Token(Token = "0x600A797")]
[Address(RVA = "0x6FFF70", Offset = "0x6FEF70", VA = "0x1806FFF70", Slot = "6")]
get
{
return SecP192K1FieldElement.Q.BitLength;
}
}
// Token: 0x0600A798 RID: 42904 RVA: 0x0024087C File Offset: 0x0023EA7C
[Token(Token = "0x600A798")]
[Address(RVA = "0x6FEFC0", Offset = "0x6FDFC0", VA = "0x1806FEFC0", Slot = "7")]
public override ECFieldElement Add(ECFieldElement b)
{
uint[] array;
do
{
array = Nat192.Create();
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP192K1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
uint num;
if (num == (uint)0)
{
if ("{il2cpp array field local3->}" != (ulong)(-1L))
{
goto IL_59;
}
uint[] p = SecP192K1Field.P;
if (!Nat192.Gte(array, p))
{
goto IL_59;
}
}
uint num2 = Nat.Add33To(6, (uint)4553, array);
IL_59:
new SecP192K1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A799 RID: 42905 RVA: 0x002408F4 File Offset: 0x0023EAF4
[Token(Token = "0x600A799")]
[Address(RVA = "0x6FEE80", Offset = "0x6FDE80", VA = "0x1806FEE80", Slot = "8")]
public override ECFieldElement AddOne()
{
uint[] array = Nat192.Create();
uint[] array2 = this.x;
if (Nat.Inc(6, array2, array) == (uint)0)
{
if ("{il2cpp array field local2->}" != (ulong)(-1L))
{
goto IL_44;
}
uint[] p = SecP192K1Field.P;
if (!Nat192.Gte(array, p))
{
goto IL_44;
}
}
uint num = Nat.Add33To(6, (uint)4553, array);
IL_44:
new SecP192K1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A79A RID: 42906 RVA: 0x00240958 File Offset: 0x0023EB58
[Token(Token = "0x600A79A")]
[Address(RVA = "0x6FFB40", Offset = "0x6FEB40", VA = "0x1806FFB40", Slot = "9")]
public override ECFieldElement Subtract(ECFieldElement b)
{
uint[] array;
do
{
array = Nat192.Create();
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP192K1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
int num;
if (num != 0)
{
int num2 = Nat.Sub33From(6, (uint)4553, array);
}
new SecP192K1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A79B RID: 42907 RVA: 0x002409B4 File Offset: 0x0023EBB4
[Token(Token = "0x600A79B")]
[Address(RVA = "0x6FF5F0", Offset = "0x6FE5F0", VA = "0x1806FF5F0", Slot = "10")]
public override ECFieldElement Multiply(ECFieldElement b)
{
uint[] array;
do
{
array = Nat192.Create();
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP192K1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecP192K1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A79C RID: 42908 RVA: 0x002409FC File Offset: 0x0023EBFC
[Token(Token = "0x600A79C")]
[Address(RVA = "0x6FF1A0", Offset = "0x6FE1A0", VA = "0x1806FF1A0", Slot = "11")]
public override ECFieldElement Divide(ECFieldElement b)
{
uint[] array;
do
{
array = Nat192.Create();
uint[] p = SecP192K1Field.P;
if ("{il2cpp array field local3->}" == typeof(SecP192K1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
uint[] array2 = this.x;
SecP192K1Field.Multiply(array, array2, array);
new SecP192K1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A79D RID: 42909 RVA: 0x00240A54 File Offset: 0x0023EC54
[Token(Token = "0x600A79D")]
[Address(RVA = "0x6FF730", Offset = "0x6FE730", VA = "0x1806FF730", Slot = "12")]
public override ECFieldElement Negate()
{
/*
An exception occurred when decompiling this method (0600A79D)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192K1FieldElement::Negate()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat192::Create))
call:void(SecP192K1Field::Negate, ldfld:uint32[](SecP192K1FieldElement::x, ldloc:SecP192K1FieldElement(this)), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP192K1FieldElement::x, newobj:SecP192K1FieldElement(SecP192K1FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A79E RID: 42910 RVA: 0x00240A80 File Offset: 0x0023EC80
[Token(Token = "0x600A79E")]
[Address(RVA = "0x6FFAB0", Offset = "0x6FEAB0", VA = "0x1806FFAB0", Slot = "13")]
public override ECFieldElement Square()
{
/*
An exception occurred when decompiling this method (0600A79E)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192K1FieldElement::Square()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat192::Create))
call:void(SecP192K1Field::Square, ldfld:uint32[](SecP192K1FieldElement::x, ldloc:SecP192K1FieldElement(this)), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP192K1FieldElement::x, newobj:SecP192K1FieldElement(SecP192K1FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A79F RID: 42911 RVA: 0x00240AAC File Offset: 0x0023ECAC
[Token(Token = "0x600A79F")]
[Address(RVA = "0x6FF520", Offset = "0x6FE520", VA = "0x1806FF520", Slot = "14")]
public override ECFieldElement Invert()
{
/*
An exception occurred when decompiling this method (0600A79F)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192K1FieldElement::Invert()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat192::Create))
stloc:uint32[](var_2_0E, ldfld:uint32[](SecP192K1FieldElement::x, ldloc:SecP192K1FieldElement(this)))
call:void(Mod::Invert, ldsfld:uint32[](SecP192K1Field::P), ldloc:uint32[](var_2_0E), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP192K1FieldElement::x, newobj:SecP192K1FieldElement(SecP192K1FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A7A0 RID: 42912 RVA: 0x00240AE0 File Offset: 0x0023ECE0
[Token(Token = "0x600A7A0")]
[Address(RVA = "0x6FF7C0", Offset = "0x6FE7C0", VA = "0x1806FF7C0", Slot = "15")]
public override ECFieldElement Sqrt()
{
uint[] array;
do
{
array = this.x;
}
while (Nat192.IsZero(array) || Nat192.IsOne(array));
uint[] array2 = Nat192.Create();
SecP192K1Field.Square(array, array2);
SecP192K1Field.Multiply(array2, array, array2);
uint[] array3 = Nat192.Create();
SecP192K1Field.Square(array2, array3);
SecP192K1Field.Multiply(array3, array, array3);
uint[] array4 = Nat192.Create();
SecP192K1Field.SquareN(array3, 3, array4);
SecP192K1Field.Multiply(array4, array3, array4);
SecP192K1Field.SquareN(array4, 2, array4);
SecP192K1Field.Multiply(array4, array2, array4);
SecP192K1Field.SquareN(array4, 8, array2);
SecP192K1Field.Multiply(array2, array4, array2);
SecP192K1Field.SquareN(array2, 3, array4);
SecP192K1Field.Multiply(array4, array3, array4);
uint[] array5 = Nat192.Create();
SecP192K1Field.SquareN(array4, 16, array5);
SecP192K1Field.Multiply(array5, array2, array5);
SecP192K1Field.SquareN(array5, 35, array2);
SecP192K1Field.Multiply(array2, array5, array2);
SecP192K1Field.SquareN(array2, 70, array5);
SecP192K1Field.Multiply(array5, array2, array5);
SecP192K1Field.SquareN(array5, 19, array2);
SecP192K1Field.Multiply(array2, array4, array2);
SecP192K1Field.SquareN(array2, 20, array2);
SecP192K1Field.Multiply(array2, array4, array2);
SecP192K1Field.SquareN(array2, 4, array2);
SecP192K1Field.Multiply(array2, array3, array2);
SecP192K1Field.SquareN(array2, 6, array2);
SecP192K1Field.Multiply(array2, array3, array2);
SecP192K1Field.Square(array2, array2);
SecP192K1Field.Square(array2, array3);
if (Nat192.Eq(array, array3))
{
new SecP192K1FieldElement().x = array2;
return;
}
}
// Token: 0x0600A7A1 RID: 42913 RVA: 0x00240C48 File Offset: 0x0023EE48
[Token(Token = "0x600A7A1")]
[Address(RVA = "0x6FF320", Offset = "0x6FE320", VA = "0x1806FF320", Slot = "0")]
public override bool Equals(object obj)
{
/*
An exception occurred when decompiling this method (0600A7A1)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192K1FieldElement::Equals(System.Object)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP192K1FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600A7A2 RID: 42914 RVA: 0x00240C64 File Offset: 0x0023EE64
[Token(Token = "0x600A7A2")]
[Address(RVA = "0x6FF3B0", Offset = "0x6FE3B0", VA = "0x1806FF3B0", Slot = "25")]
public override bool Equals(ECFieldElement other)
{
/*
An exception occurred when decompiling this method (0600A7A2)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192K1FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP192K1FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600A7A3 RID: 42915 RVA: 0x00240C80 File Offset: 0x0023EE80
[Token(Token = "0x600A7A3")]
[Address(RVA = "0x6FF440", Offset = "0x6FE440", VA = "0x1806FF440", Slot = "27")]
public virtual bool Equals(SecP192K1FieldElement other)
{
if (this != other)
{
if (other != 0)
{
uint[] array = other.x;
return Nat192.Eq(this.x, array);
}
}
return true;
}
// Token: 0x0600A7A4 RID: 42916 RVA: 0x00240CAC File Offset: 0x0023EEAC
[Token(Token = "0x600A7A4")]
[Address(RVA = "0x6FF460", Offset = "0x6FE460", VA = "0x1806FF460", Slot = "2")]
public override int GetHashCode()
{
SecP192K1FieldElement.Q.Finalize();
uint[] array = this.x;
int num = 0;
return Arrays.GetHashCode(array, num, 6);
}
// Token: 0x04006D33 RID: 27955
[Token(Token = "0x4006D33")]
public static readonly BigInteger Q = SecP192K1Curve.q;
// Token: 0x04006D34 RID: 27956
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006D34")]
protected internal readonly uint[] x;
}
}
@@ -0,0 +1,326 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B29 RID: 6953
[Token(Token = "0x2001B29")]
internal class SecP192K1Point : AbstractFpPoint
{
// Token: 0x0600A7A6 RID: 42918 RVA: 0x00240CF4 File Offset: 0x0023EEF4
[Token(Token = "0x600A7A6")]
[Address(RVA = "0x7020C0", Offset = "0x7010C0", VA = "0x1807020C0")]
public SecP192K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600A7A7 RID: 42919 RVA: 0x00240D04 File Offset: 0x0023EF04
[Token(Token = "0x600A7A7")]
[Address(RVA = "0x702000", Offset = "0x701000", VA = "0x180702000")]
public SecP192K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A7A7)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192K1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600A7A8 RID: 42920 RVA: 0x00240D2C File Offset: 0x0023EF2C
[Token(Token = "0x600A7A8")]
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
internal SecP192K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600A7A9 RID: 42921 RVA: 0x00240D3C File Offset: 0x0023EF3C
[Token(Token = "0x600A7A9")]
[Address(RVA = "0x701850", Offset = "0x700850", VA = "0x180701850", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600A7A9)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192K1Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecP192K1Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecP192K1Point[exp:ECPoint](this)))
}
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: 0x0600A7AA RID: 42922 RVA: 0x00240D58 File Offset: 0x0023EF58
[Token(Token = "0x600A7AA")]
[Address(RVA = "0x700FD0", Offset = "0x6FFFD0", VA = "0x180700FD0", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
if (!base.IsInfinity && !b.IsInfinity && this != b)
{
bool flag = this.SatisfiesOrder();
ECFieldElement[] zs = this.m_zs;
ECFieldElement[] zs2 = b.m_zs;
uint[] array = Nat192.CreateExt();
uint[] array2 = Nat192.Create();
uint[] array3 = Nat192.Create();
uint[] array4 = Nat192.Create();
if (array4 == 0)
{
SecP192K1Field.Square(array4, array3);
SecP192K1Field.Multiply(array3, array3, array2);
SecP192K1Field.Multiply(array3, array3, array3);
SecP192K1Field.Multiply(array3, array3, array3);
}
SecP192K1Field.Multiply(array4, array4, array);
SecP192K1Field.Multiply(array4, array4, array4);
SecP192K1Field.Multiply(array4, array4, array4);
uint[] array5 = Nat192.Create();
int num;
if (num != 0)
{
int num2 = Nat.Sub33From(6, (uint)4553, array5);
}
int num3;
if (num3 != 0)
{
int num4 = Nat.Sub33From(6, (uint)4553, array2);
}
if (!Nat192.IsZero(array5))
{
SecP192K1Field.Square(array5, array3);
uint[] array6 = Nat192.Create();
SecP192K1Field.Multiply(array3, array5, array6);
SecP192K1Field.Negate(array6, array6);
SecP192K1Field.Reduce32(Nat192.AddBothTo(array3, array3, array6), array6);
SecP192K1FieldElement secP192K1FieldElement = new SecP192K1FieldElement();
secP192K1FieldElement.x = array4;
SecP192K1Field.Square(array2, array4);
uint[] x = secP192K1FieldElement.x;
if (Nat192.Sub(x, array6, x) != 0)
{
int num5 = Nat.Sub33From(6, (uint)4553, x);
}
SecP192K1FieldElement secP192K1FieldElement2 = new SecP192K1FieldElement();
secP192K1FieldElement2.x = array6;
uint[] x2 = secP192K1FieldElement.x;
if (Nat192.Sub(array3, x2, array6) != 0)
{
int num6 = Nat.Sub33From(6, (uint)4553, array6);
}
uint[] x3 = secP192K1FieldElement2.x;
if (Nat192.MulAddTo(x3, array2, array) == (uint)0)
{
if ("{il2cpp array field local16->}" != (ulong)(-1L))
{
goto IL_207;
}
uint[] pext = SecP192K1Field.PExt;
if (!Nat.Gte(12, array, pext))
{
goto IL_207;
}
}
uint[] pextInv = SecP192K1Field.PExtInv;
if (Nat.AddTo(pextInv.Length, pextInv, array) != (uint)0)
{
int length = SecP192K1Field.PExtInv.Length;
uint num7 = Nat.IncAt(12, array, length);
}
IL_207:
uint[] x4 = secP192K1FieldElement2.x;
SecP192K1Field.Reduce(array, x4);
SecP192K1FieldElement secP192K1FieldElement3 = new SecP192K1FieldElement();
secP192K1FieldElement3.x = array5;
SecP192K1Field.Multiply(array5, x3, array5);
uint[] x5 = secP192K1FieldElement3.x;
SecP192K1Field.Multiply(x5, array5, x5);
ECFieldElement[] array7 = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
bool flag2;
if (!flag2)
{
}
}
return b;
}
// Token: 0x0600A7AB RID: 42923 RVA: 0x00240FDC File Offset: 0x0023F1DC
[Token(Token = "0x600A7AB")]
[Address(RVA = "0x7019F0", Offset = "0x7009F0", VA = "0x1807019F0", Slot = "30")]
public override ECPoint Twice()
{
while (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement y = this.m_y;
if (y != 0)
{
if (y.IsOne)
{
break;
}
ECFieldElement x = this.m_x;
if (x == 0)
{
}
if (x != 0)
{
ECFieldElement ecfieldElement = this.m_zs[0];
if (ecfieldElement == 0)
{
}
if (ecfieldElement != 0)
{
uint[] array = Nat192.Create();
uint[] array2 = Nat192.Create();
SecP192K1Field.Square(array, array2);
uint[] array3 = Nat192.Create();
SecP192K1Field.Reduce32(Nat192.AddBothTo(array3, array3, array3), array3);
SecP192K1Field.Multiply(array, array3, array);
int num = 0;
SecP192K1Field.Reduce32(Nat.ShiftUpBits(6, array, 2, (uint)num), array);
uint[] array4 = Nat192.Create();
int num2 = 0;
SecP192K1Field.Reduce32(Nat.ShiftUpBits(6, array2, 3, (uint)num2, array4), array4);
SecP192K1FieldElement secP192K1FieldElement = new SecP192K1FieldElement();
secP192K1FieldElement.x = array2;
SecP192K1Field.Square(array3, array2);
uint[] x2 = secP192K1FieldElement.x;
if (Nat192.Sub(x2, array, x2) != 0)
{
int num3 = Nat.Sub33From(6, (uint)4553, x2);
}
uint[] x3 = secP192K1FieldElement.x;
if (Nat192.Sub(x3, array, x3) != 0)
{
int num4 = Nat.Sub33From(6, (uint)4553, x3);
}
SecP192K1FieldElement secP192K1FieldElement2 = new SecP192K1FieldElement();
secP192K1FieldElement2.x = array;
uint[] x4 = secP192K1FieldElement.x;
if (Nat192.Sub(array, x4, array) != 0)
{
int num5 = Nat.Sub33From(6, (uint)4553, array);
}
uint[] x5 = secP192K1FieldElement2.x;
SecP192K1Field.Multiply(x5, array3, x5);
uint[] x6 = secP192K1FieldElement2.x;
if (Nat192.Sub(x6, array4, x6) != 0)
{
int num6 = Nat.Sub33From(6, (uint)4553, x6);
}
SecP192K1FieldElement secP192K1FieldElement3 = new SecP192K1FieldElement();
secP192K1FieldElement3.x = array3;
uint num7;
if (num7 == (uint)0)
{
if ("{il2cpp array field local24->}" != (ulong)(-1L))
{
goto IL_1EF;
}
uint[] p = SecP192K1Field.P;
if (!Nat192.Gte(array3, p))
{
goto IL_1EF;
}
}
uint num8 = Nat.Add33To(6, (uint)4553, array3);
IL_1EF:
if (ecfieldElement.BitLength == 0)
{
uint[] x7 = secP192K1FieldElement3.x;
}
(new ECFieldElement[1])[0] = secP192K1FieldElement3;
bool withCompression = this.m_withCompression;
break;
}
}
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600A7AC RID: 42924 RVA: 0x00241208 File Offset: 0x0023F408
[Token(Token = "0x600A7AC")]
[Address(RVA = "0x6ECFE0", Offset = "0x6EBFE0", VA = "0x1806ECFE0", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
if (this != b)
{
if (!base.IsInfinity)
{
if (!b.IsInfinity)
{
if (this.m_y.IsOne)
{
return b;
}
ECPoint ecpoint;
bool flag = ecpoint.SatisfiesCurveEquation();
}
bool flag2 = base.SatisfiesCurveEquation();
}
return b;
}
bool flag3 = base.SatisfiesCurveEquation();
throw new NullReferenceException();
}
// Token: 0x0600A7AD RID: 42925 RVA: 0x00241258 File Offset: 0x0023F458
[Token(Token = "0x600A7AD")]
[Address(RVA = "0x6ECF60", Offset = "0x6EBF60", VA = "0x1806ECF60", Slot = "33")]
public override ECPoint ThreeTimes()
{
if (!base.IsInfinity && !this.m_y.IsOne)
{
ECPoint ecpoint;
bool flag = ecpoint.SatisfiesCurveEquation();
}
throw new NullReferenceException();
}
// Token: 0x0600A7AE RID: 42926 RVA: 0x00241288 File Offset: 0x0023F488
[Token(Token = "0x600A7AE")]
[Address(RVA = "0x7018F0", Offset = "0x7008F0", VA = "0x1807018F0", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement y = this.m_y;
ECFieldElement[] zs = this.m_zs;
bool withCompression = this.m_withCompression;
}
throw new NullReferenceException();
}
}
}
@@ -0,0 +1,323 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B2A RID: 6954
[Token(Token = "0x2001B2A")]
internal class SecP192R1Curve : AbstractFpCurve
{
// Token: 0x0600A7AF RID: 42927 RVA: 0x002412C0 File Offset: 0x0023F4C0
[Token(Token = "0x600A7AF")]
[Address(RVA = "0x7025C0", Offset = "0x7015C0", VA = "0x1807025C0")]
public SecP192R1Curve()
{
BigInteger bigInteger = SecP192R1Curve.q;
base..ctor(bigInteger);
int num;
int num2;
ulong num3;
SecP192R1Point secP192R1Point = new SecP192R1Point(this, num, num2, num3 != 0UL);
num2 = 0;
num = 0;
this.m_infinity = secP192R1Point;
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC");
BigInteger bigInteger2 = new BigInteger(1, array);
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
byte[] array2 = Hex.Decode("64210519E59C80E70FA7E9AB72243049FEB8DEECC146B9B1");
BigInteger bigInteger3 = new BigInteger(1, array2);
int fieldSize2 = this.FieldSize;
this.m_b = fieldSize2;
byte[] array3 = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22831");
BigInteger bigInteger4 = new BigInteger(1, array3);
this.m_order = bigInteger4;
BigInteger one = BigInteger.One;
this.m_cofactor = one;
this.m_coord = (int)((ulong)2L);
}
// Token: 0x0600A7B0 RID: 42928 RVA: 0x00241374 File Offset: 0x0023F574
[Token(Token = "0x600A7B0")]
[Address(RVA = "0x7020E0", Offset = "0x7010E0", VA = "0x1807020E0", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600A7B0)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192R1Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP192R1Curve(var_0_05, newobj:SecP192R1Curve(SecP192R1Curve::.ctor))
}
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: 0x0600A7B1 RID: 42929 RVA: 0x00241388 File Offset: 0x0023F588
[Token(Token = "0x600A7B1")]
[Address(RVA = "0x6E9C20", Offset = "0x6E8C20", VA = "0x1806E9C20", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 2;
}
// Token: 0x17001A4A RID: 6730
// (get) Token: 0x0600A7B2 RID: 42930 RVA: 0x0024139C File Offset: 0x0023F59C
[Token(Token = "0x17001A4A")]
public virtual BigInteger Q
{
[Token(Token = "0x600A7B2")]
[Address(RVA = "0x702810", Offset = "0x701810", VA = "0x180702810", Slot = "38")]
get
{
return SecP192R1Curve.q;
}
}
// Token: 0x17001A4B RID: 6731
// (get) Token: 0x0600A7B3 RID: 42931 RVA: 0x002413B0 File Offset: 0x0023F5B0
[Token(Token = "0x17001A4B")]
public override ECPoint Infinity
{
[Token(Token = "0x600A7B3")]
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600A7B3)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192R1Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP192R1Point(var_0_06, ldfld:SecP192R1Point(SecP192R1Curve::m_infinity, ldloc:SecP192R1Curve(this)))
}
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: 0x17001A4C RID: 6732
// (get) Token: 0x0600A7B4 RID: 42932 RVA: 0x002413C4 File Offset: 0x0023F5C4
[Token(Token = "0x17001A4C")]
public override int FieldSize
{
[Token(Token = "0x600A7B4")]
[Address(RVA = "0x7027A0", Offset = "0x7017A0", VA = "0x1807027A0", Slot = "4")]
get
{
return SecP192R1Curve.q.BitLength;
}
}
// Token: 0x0600A7B5 RID: 42933 RVA: 0x002413E4 File Offset: 0x0023F5E4
[Token(Token = "0x600A7B5")]
[Address(RVA = "0x7024C0", Offset = "0x7014C0", VA = "0x1807024C0", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600A7B5)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192R1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP192R1FieldElement(var_0_06, newobj:SecP192R1FieldElement(SecP192R1FieldElement::.ctor, ldloc:BigInteger(x)))
}
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: 0x0600A7B6 RID: 42934 RVA: 0x002413F8 File Offset: 0x0023F5F8
[Token(Token = "0x600A7B6")]
[Address(RVA = "0x702430", Offset = "0x701430", VA = "0x180702430", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A7B6)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192R1Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP192R1Point(var_0_09, newobj:SecP192R1Point(SecP192R1Point::.ctor, ldloc:SecP192R1Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600A7B7 RID: 42935 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600A7B7")]
[Address(RVA = "0x702390", Offset = "0x701390", VA = "0x180702390", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600A7B8 RID: 42936 RVA: 0x00241410 File Offset: 0x0023F610
[Token(Token = "0x600A7B8")]
[Address(RVA = "0x702130", Offset = "0x701130", VA = "0x180702130", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
uint[] array;
int num;
for (;;)
{
array = new uint[points];
num = 0;
if (len <= 0)
{
goto IL_4A;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
if (y != 0 && y != 0)
{
break;
}
}
}
num += 12;
IL_4A:
SecP192R1Curve.SecP192R1LookupTable secP192R1LookupTable;
secP192R1LookupTable.m_outer = 0;
secP192R1LookupTable.m_table = array;
secP192R1LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x0600A7B9 RID: 42937 RVA: 0x00241484 File Offset: 0x0023F684
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600A7B9")]
[Address(RVA = "0x702520", Offset = "0x701520", VA = "0x180702520")]
static SecP192R1Curve()
{
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF");
SecP192R1Curve.q = new BigInteger(1, array);
}
// Token: 0x04006D35 RID: 27957
[Token(Token = "0x4006D35")]
public static readonly BigInteger q;
// Token: 0x04006D36 RID: 27958
[Token(Token = "0x4006D36")]
private const int SECP192R1_DEFAULT_COORDS = 2;
// Token: 0x04006D37 RID: 27959
[Token(Token = "0x4006D37")]
private const int SECP192R1_FE_INTS = 6;
// Token: 0x04006D38 RID: 27960
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4006D38")]
protected readonly SecP192R1Point m_infinity;
// Token: 0x02001B2B RID: 6955
[Token(Token = "0x2001B2B")]
private class SecP192R1LookupTable : ECLookupTable
{
// Token: 0x0600A7BA RID: 42938 RVA: 0x002414A8 File Offset: 0x0023F6A8
[Token(Token = "0x600A7BA")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecP192R1LookupTable(SecP192R1Curve outer, uint[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001A4D RID: 6733
// (get) Token: 0x0600A7BB RID: 42939 RVA: 0x002414D0 File Offset: 0x0023F6D0
[Token(Token = "0x17001A4D")]
public virtual int Size
{
[Token(Token = "0x600A7BB")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600A7BC RID: 42940 RVA: 0x002414E4 File Offset: 0x0023F6E4
[Token(Token = "0x600A7BC")]
[Address(RVA = "0x704B50", Offset = "0x703B50", VA = "0x180704B50", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
uint[] array = Nat192.Create();
uint[] array2 = Nat192.Create();
int num = 0;
int num2 = 0;
if (this.m_size > num)
{
int num3 = 0;
uint[] table = this.m_table;
uint[] table2 = this.m_table;
num3++;
num += 12;
num2++;
}
SecP192R1Curve outer = this.m_outer;
new SecP192R1FieldElement().x = array;
new SecP192R1FieldElement().x = array2;
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006D39 RID: 27961
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006D39")]
private readonly SecP192R1Curve m_outer;
// Token: 0x04006D3A RID: 27962
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006D3A")]
private readonly uint[] m_table;
// Token: 0x04006D3B RID: 27963
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006D3B")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,446 @@
using System;
using System.Runtime.CompilerServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B2C RID: 6956
[Token(Token = "0x2001B2C")]
internal class SecP192R1Field
{
// Token: 0x0600A7BD RID: 42941 RVA: 0x00241564 File Offset: 0x0023F764
[Token(Token = "0x600A7BD")]
[Address(RVA = "0x703AD0", Offset = "0x702AD0", VA = "0x180703AD0")]
public static void Add(uint[] x, uint[] y, uint[] z)
{
if (Nat192.Add(x, y, z) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP192R1Field.P;
if (!Nat192.Gte(z, p))
{
return;
}
}
SecP192R1Field.AddPInvTo(z);
}
// Token: 0x0600A7BE RID: 42942 RVA: 0x002415A4 File Offset: 0x0023F7A4
[Token(Token = "0x600A7BE")]
[Address(RVA = "0x7037B0", Offset = "0x7027B0", VA = "0x1807037B0")]
public static void AddExt(uint[] xx, uint[] yy, uint[] zz)
{
if (Nat.Add(12, xx, yy, zz) == (uint)0)
{
if ("{il2cpp array field zz->}" != (ulong)(-1L))
{
return;
}
uint[] pext = SecP192R1Field.PExt;
if (!Nat.Gte(12, zz, pext))
{
return;
}
}
uint[] pextInv = SecP192R1Field.PExtInv;
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
{
int length = SecP192R1Field.PExtInv.Length;
uint num = Nat.IncAt(12, zz, length);
}
}
// Token: 0x0600A7BF RID: 42943 RVA: 0x00241610 File Offset: 0x0023F810
[Token(Token = "0x600A7BF")]
[Address(RVA = "0x703930", Offset = "0x702930", VA = "0x180703930")]
public static void AddOne(uint[] x, uint[] z)
{
if (Nat.Inc(6, x, z) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP192R1Field.P;
if (!Nat192.Gte(z, p))
{
return;
}
}
SecP192R1Field.AddPInvTo(z);
}
// Token: 0x0600A7C0 RID: 42944 RVA: 0x00241650 File Offset: 0x0023F850
[Token(Token = "0x600A7C0")]
[Address(RVA = "0x703BC0", Offset = "0x702BC0", VA = "0x180703BC0")]
public static uint[] FromBigInteger(BigInteger x)
{
uint[] array = Nat192.FromBigInteger(x);
if ("{il2cpp array field local2->}" == (ulong)(-1L))
{
uint[] p = SecP192R1Field.P;
if (Nat192.Gte(array, p))
{
int num = Nat192.SubFrom(SecP192R1Field.P, array);
}
}
return array;
}
// Token: 0x0600A7C1 RID: 42945 RVA: 0x00241694 File Offset: 0x0023F894
[Token(Token = "0x600A7C1")]
[Address(RVA = "0x703CB0", Offset = "0x702CB0", VA = "0x180703CB0")]
public static void Half(uint[] x, uint[] z)
{
if ("{il2cpp array field x->}" != (ulong)1L)
{
uint[] p = SecP192R1Field.P;
uint num = Nat192.Add(x, p, z);
uint num2 = Nat.ShiftDownBit(6, z, num);
return;
}
int num3 = 0;
uint num4 = Nat.ShiftDownBit(6, x, (uint)num3, z);
}
// Token: 0x0600A7C2 RID: 42946 RVA: 0x002416D8 File Offset: 0x0023F8D8
[Token(Token = "0x600A7C2")]
[Address(RVA = "0x703F00", Offset = "0x702F00", VA = "0x180703F00")]
public static void Multiply(uint[] x, uint[] y, uint[] z)
{
uint[] array = Nat192.CreateExt();
Nat192.Mul(x, y, array);
SecP192R1Field.Reduce(array, z);
}
// Token: 0x0600A7C3 RID: 42947 RVA: 0x002416FC File Offset: 0x0023F8FC
[Token(Token = "0x600A7C3")]
[Address(RVA = "0x703D90", Offset = "0x702D90", VA = "0x180703D90")]
public static void MultiplyAddToExt(uint[] x, uint[] y, uint[] zz)
{
if (Nat192.MulAddTo(x, y, zz) == (uint)0)
{
if ("{il2cpp array field zz->}" != (ulong)(-1L))
{
return;
}
uint[] pext = SecP192R1Field.PExt;
if (!Nat.Gte(12, zz, pext))
{
return;
}
}
uint[] pextInv = SecP192R1Field.PExtInv;
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
{
int length = SecP192R1Field.PExtInv.Length;
uint num = Nat.IncAt(12, zz, length);
}
}
// Token: 0x0600A7C4 RID: 42948 RVA: 0x00241764 File Offset: 0x0023F964
[Token(Token = "0x600A7C4")]
[Address(RVA = "0x703FA0", Offset = "0x702FA0", VA = "0x180703FA0")]
public static void Negate(uint[] x, uint[] z)
{
if (!Nat192.IsZero(x))
{
int num = Nat192.Sub(SecP192R1Field.P, x, z);
return;
}
Nat192.Zero(z);
}
// Token: 0x0600A7C5 RID: 42949 RVA: 0x00241790 File Offset: 0x0023F990
[Token(Token = "0x600A7C5")]
[Address(RVA = "0x7041C0", Offset = "0x7031C0", VA = "0x1807041C0")]
public static void Reduce(uint[] xx, uint[] z)
{
int length = xx.Length;
uint num = xx[3];
uint num2 = xx[3];
uint num3 = xx[4];
uint num4 = xx[4];
uint num5 = xx[5];
uint num6 = xx[0];
num5 += num;
uint num7 = xx[5];
num6 += num5;
uint num8 = xx[0];
num7 += num2;
num8 += num7;
num6 += num8;
num5 += num3;
z[0] = num6;
int length2 = xx.Length;
num7 += num4;
uint num9 = xx[1];
num9 += num5;
num6 += num9;
uint num10 = xx[1];
num10 += num7;
num6 += num10;
z[1] = num6;
uint num11 = xx[2];
num11 += num6;
num11 -= num;
num11 += num5;
z[2] = num11;
uint num12 = xx[2];
num12 += num11;
num12 -= num2;
num12 += num7;
z[2] = num12;
num6 += num12;
num11 = num6;
num12 += num11;
z[0] = num12;
if (num12 != (uint)0)
{
uint num13 = z[0];
num12 += num13;
z[0] = num12;
num6 += num12;
}
z[1] = num6;
ulong num14;
if (num14 == (ulong)num6 || Nat.IncAt(6, z, 3) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP192R1Field.P;
if (!Nat192.Gte(z, p))
{
return;
}
}
SecP192R1Field.AddPInvTo(z);
}
// Token: 0x0600A7C6 RID: 42950 RVA: 0x00241930 File Offset: 0x0023FB30
[Token(Token = "0x600A7C6")]
[Address(RVA = "0x704040", Offset = "0x703040", VA = "0x180704040")]
public static void Reduce32(uint x, uint[] z)
{
if (x != (uint)0)
{
uint num = z[0];
num += x;
z[0] = num;
if (num != (uint)0)
{
uint num2 = z[0];
num += num2;
z[0] = num;
}
uint num3 = z[1];
num3 += x;
num += num3;
z[1] = num;
if (num != (uint)0 && Nat.IncAt(6, z, 3) != (uint)0)
{
goto IL_75;
}
}
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP192R1Field.P;
if (!Nat192.Gte(z, p))
{
return;
}
IL_75:
SecP192R1Field.AddPInvTo(z);
}
// Token: 0x0600A7C7 RID: 42951 RVA: 0x002419C0 File Offset: 0x0023FBC0
[Token(Token = "0x600A7C7")]
[Address(RVA = "0x704620", Offset = "0x703620", VA = "0x180704620")]
public static void Square(uint[] x, uint[] z)
{
uint[] array = Nat192.CreateExt();
Nat192.Square(x, array);
SecP192R1Field.Reduce(array, z);
}
// Token: 0x0600A7C8 RID: 42952 RVA: 0x002419E4 File Offset: 0x0023FBE4
[Token(Token = "0x600A7C8")]
[Address(RVA = "0x704540", Offset = "0x703540", VA = "0x180704540")]
public static void SquareN(uint[] x, int n, uint[] z)
{
uint[] array = Nat192.CreateExt();
Nat192.Square(x, array);
SecP192R1Field.Reduce(array, z);
if (n > 0)
{
Nat192.Square(z, array);
SecP192R1Field.Reduce(array, z);
}
}
// Token: 0x0600A7C9 RID: 42953 RVA: 0x00241A1C File Offset: 0x0023FC1C
[Token(Token = "0x600A7C9")]
[Address(RVA = "0x704870", Offset = "0x703870", VA = "0x180704870")]
public static void Subtract(uint[] x, uint[] y, uint[] z)
{
if (Nat192.Sub(x, y, z) != 0)
{
uint num = z[0];
z[0] = num;
if (num != (uint)0)
{
uint num2 = z[0];
num += num2;
z[0] = num;
}
uint num3 = z[1];
num += num3;
z[1] = num;
ulong num4;
if (num4 != (ulong)num)
{
int num5 = Nat.DecAt(6, z, 3);
}
}
}
// Token: 0x0600A7CA RID: 42954 RVA: 0x00241A88 File Offset: 0x0023FC88
[Token(Token = "0x600A7CA")]
[Address(RVA = "0x704760", Offset = "0x703760", VA = "0x180704760")]
public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz)
{
if (Nat.Sub(12, xx, yy, zz) != 0)
{
uint[] pextInv = SecP192R1Field.PExtInv;
if (Nat.SubFrom(pextInv.Length, pextInv, zz) != 0)
{
int length = SecP192R1Field.PExtInv.Length;
int num = Nat.DecAt(12, zz, length);
}
}
}
// Token: 0x0600A7CB RID: 42955 RVA: 0x00241AD4 File Offset: 0x0023FCD4
[Token(Token = "0x600A7CB")]
[Address(RVA = "0x704990", Offset = "0x703990", VA = "0x180704990")]
public static void Twice(uint[] x, uint[] z)
{
int num = 0;
if (Nat.ShiftUpBit(6, x, (uint)num, z) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP192R1Field.P;
if (!Nat192.Gte(z, p))
{
return;
}
}
SecP192R1Field.AddPInvTo(z);
}
// Token: 0x0600A7CC RID: 42956 RVA: 0x00241B18 File Offset: 0x0023FD18
[Token(Token = "0x600A7CC")]
[Address(RVA = "0x703A20", Offset = "0x702A20", VA = "0x180703A20")]
private static void AddPInvTo(uint[] z)
{
uint num = z[0];
num += (uint)1;
z[0] = num;
if (num != (uint)0)
{
uint num2 = z[0];
num += num2;
z[0] = num;
}
uint num3 = z[1];
num3 += (uint)1;
num += num3;
z[1] = num;
ulong num4;
if (num4 != (ulong)num)
{
uint num5 = Nat.IncAt(6, z, 3);
return;
}
}
// Token: 0x0600A7CD RID: 42957 RVA: 0x00241B84 File Offset: 0x0023FD84
[Token(Token = "0x600A7CD")]
[Address(RVA = "0x7046B0", Offset = "0x7036B0", VA = "0x1807046B0")]
private static void SubPInvFrom(uint[] z)
{
uint num = z[0];
z[0] = num;
if (num != (uint)0)
{
uint num2 = z[0];
num += num2;
z[0] = num;
}
uint num3 = z[1];
num += num3;
z[1] = num;
ulong num4;
if (num4 != (ulong)num)
{
int num5 = Nat.DecAt(6, z, 3);
return;
}
}
// Token: 0x0600A7CE RID: 42958 RVA: 0x00241BE4 File Offset: 0x0023FDE4
[Token(Token = "0x600A7CE")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public SecP192R1Field()
{
}
// Token: 0x0600A7CF RID: 42959 RVA: 0x00241BF8 File Offset: 0x0023FDF8
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600A7CF")]
[Address(RVA = "0x704A80", Offset = "0x703A80", VA = "0x180704A80")]
static SecP192R1Field()
{
uint[] array = new uint[6];
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.D6898715AE96BC2F82A7BBA76E2BFC7100E282C3).FieldHandle);
SecP192R1Field.P = array;
uint[] array2 = new uint[12];
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.A53306F44DF494A019EA1487807B59CA336BF024).FieldHandle);
SecP192R1Field.PExt = array2;
uint[] array3 = new uint[9];
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.0982B1B45B764F2694ABC3DE57204AC898651429).FieldHandle);
SecP192R1Field.PExtInv = array3;
}
// Token: 0x04006D3C RID: 27964
[Token(Token = "0x4006D3C")]
internal static readonly uint[] P;
// Token: 0x04006D3D RID: 27965
[Token(Token = "0x4006D3D")]
internal static readonly uint[] PExt;
// Token: 0x04006D3E RID: 27966
[Token(Token = "0x4006D3E")]
private static readonly uint[] PExtInv;
// Token: 0x04006D3F RID: 27967
[Token(Token = "0x4006D3F")]
private const uint P5 = 4294967295U;
// Token: 0x04006D40 RID: 27968
[Token(Token = "0x4006D40")]
private const uint PExt11 = 4294967295U;
}
}
@@ -0,0 +1,440 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B2D RID: 6957
[Token(Token = "0x2001B2D")]
internal class SecP192R1FieldElement : AbstractFpFieldElement
{
// Token: 0x0600A7D0 RID: 42960 RVA: 0x00241C50 File Offset: 0x0023FE50
[Token(Token = "0x600A7D0")]
[Address(RVA = "0x703540", Offset = "0x702540", VA = "0x180703540")]
public SecP192R1FieldElement(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600A7D0)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192R1FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_4E:
stloc:ArgumentException(var_5_5D, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecP192R1FieldElement"), ldstr:string("x")))
}
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: 0x0600A7D1 RID: 42961 RVA: 0x00241CBC File Offset: 0x0023FEBC
[Token(Token = "0x600A7D1")]
[Address(RVA = "0x6FFF10", Offset = "0x6FEF10", VA = "0x1806FFF10")]
public SecP192R1FieldElement()
{
uint[] array = Nat192.Create();
this.x = array;
}
// Token: 0x0600A7D2 RID: 42962 RVA: 0x00241CE0 File Offset: 0x0023FEE0
[Token(Token = "0x600A7D2")]
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
protected internal SecP192R1FieldElement(uint[] x)
{
this.x = x;
}
// Token: 0x17001A4E RID: 6734
// (get) Token: 0x0600A7D3 RID: 42963 RVA: 0x00241CFC File Offset: 0x0023FEFC
[Token(Token = "0x17001A4E")]
public override bool IsZero
{
[Token(Token = "0x600A7D3")]
[Address(RVA = "0x6FFFF0", Offset = "0x6FEFF0", VA = "0x1806FFFF0", Slot = "18")]
get
{
return Nat192.IsZero(this.x);
}
}
// Token: 0x17001A4F RID: 6735
// (get) Token: 0x0600A7D4 RID: 42964 RVA: 0x00241D14 File Offset: 0x0023FF14
[Token(Token = "0x17001A4F")]
public override bool IsOne
{
[Token(Token = "0x600A7D4")]
[Address(RVA = "0x6FFFE0", Offset = "0x6FEFE0", VA = "0x1806FFFE0", Slot = "17")]
get
{
return Nat192.IsOne(this.x);
}
}
// Token: 0x0600A7D5 RID: 42965 RVA: 0x00241D2C File Offset: 0x0023FF2C
[Token(Token = "0x600A7D5")]
[Address(RVA = "0x6FFCA0", Offset = "0x6FECA0", VA = "0x1806FFCA0", Slot = "24")]
public override bool TestBitZero()
{
uint[] array = this.x;
int num = 0;
return Nat192.GetBit(array, num) == (uint)1;
}
// Token: 0x0600A7D6 RID: 42966 RVA: 0x00241D50 File Offset: 0x0023FF50
[Token(Token = "0x600A7D6")]
[Address(RVA = "0x6FFCC0", Offset = "0x6FECC0", VA = "0x1806FFCC0", Slot = "4")]
public override BigInteger ToBigInteger()
{
return Nat192.ToBigInteger(this.x);
}
// Token: 0x17001A50 RID: 6736
// (get) Token: 0x0600A7D7 RID: 42967 RVA: 0x00241D68 File Offset: 0x0023FF68
[Token(Token = "0x17001A50")]
public override string FieldName
{
[Token(Token = "0x600A7D7")]
[Address(RVA = "0x703710", Offset = "0x702710", VA = "0x180703710", Slot = "5")]
get
{
return "SecP192R1Field";
}
}
// Token: 0x17001A51 RID: 6737
// (get) Token: 0x0600A7D8 RID: 42968 RVA: 0x00241D7C File Offset: 0x0023FF7C
[Token(Token = "0x17001A51")]
public override int FieldSize
{
[Token(Token = "0x600A7D8")]
[Address(RVA = "0x703740", Offset = "0x702740", VA = "0x180703740", Slot = "6")]
get
{
return SecP192R1FieldElement.Q.BitLength;
}
}
// Token: 0x0600A7D9 RID: 42969 RVA: 0x00241D9C File Offset: 0x0023FF9C
[Token(Token = "0x600A7D9")]
[Address(RVA = "0x7029C0", Offset = "0x7019C0", VA = "0x1807029C0", Slot = "7")]
public override ECFieldElement Add(ECFieldElement b)
{
uint[] array;
do
{
array = Nat192.Create();
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP192R1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecP192R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A7DA RID: 42970 RVA: 0x00241DE4 File Offset: 0x0023FFE4
[Token(Token = "0x600A7DA")]
[Address(RVA = "0x702870", Offset = "0x701870", VA = "0x180702870", Slot = "8")]
public override ECFieldElement AddOne()
{
uint[] array = Nat192.Create();
uint[] array2 = this.x;
if (Nat.Inc(6, array2, array) == (uint)0)
{
if ("{il2cpp array field local2->}" != (ulong)(-1L))
{
goto IL_3B;
}
uint[] p = SecP192R1Field.P;
if (!Nat192.Gte(array, p))
{
goto IL_3B;
}
}
SecP192R1Field.AddPInvTo(array);
IL_3B:
new SecP192R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A7DB RID: 42971 RVA: 0x00241E3C File Offset: 0x0024003C
[Token(Token = "0x600A7DB")]
[Address(RVA = "0x703390", Offset = "0x702390", VA = "0x180703390", Slot = "9")]
public override ECFieldElement Subtract(ECFieldElement b)
{
uint[] array;
do
{
array = Nat192.Create();
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP192R1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecP192R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A7DC RID: 42972 RVA: 0x00241E84 File Offset: 0x00240084
[Token(Token = "0x600A7DC")]
[Address(RVA = "0x702F30", Offset = "0x701F30", VA = "0x180702F30", Slot = "10")]
public override ECFieldElement Multiply(ECFieldElement b)
{
uint[] array;
do
{
array = Nat192.Create();
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP192R1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecP192R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A7DD RID: 42973 RVA: 0x00241ECC File Offset: 0x002400CC
[Token(Token = "0x600A7DD")]
[Address(RVA = "0x702B00", Offset = "0x701B00", VA = "0x180702B00", Slot = "11")]
public override ECFieldElement Divide(ECFieldElement b)
{
uint[] array;
do
{
array = Nat192.Create();
uint[] p = SecP192R1Field.P;
if ("{il2cpp array field local3->}" == typeof(SecP192R1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
uint[] array2 = this.x;
SecP192R1Field.Multiply(array, array2, array);
new SecP192R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A7DE RID: 42974 RVA: 0x00241F24 File Offset: 0x00240124
[Token(Token = "0x600A7DE")]
[Address(RVA = "0x703070", Offset = "0x702070", VA = "0x180703070", Slot = "12")]
public override ECFieldElement Negate()
{
/*
An exception occurred when decompiling this method (0600A7DE)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192R1FieldElement::Negate()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat192::Create))
call:void(SecP192R1Field::Negate, ldfld:uint32[](SecP192R1FieldElement::x, ldloc:SecP192R1FieldElement(this)), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP192R1FieldElement::x, newobj:SecP192R1FieldElement(SecP192R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A7DF RID: 42975 RVA: 0x00241F50 File Offset: 0x00240150
[Token(Token = "0x600A7DF")]
[Address(RVA = "0x703300", Offset = "0x702300", VA = "0x180703300", Slot = "13")]
public override ECFieldElement Square()
{
/*
An exception occurred when decompiling this method (0600A7DF)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192R1FieldElement::Square()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat192::Create))
call:void(SecP192R1Field::Square, ldfld:uint32[](SecP192R1FieldElement::x, ldloc:SecP192R1FieldElement(this)), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP192R1FieldElement::x, newobj:SecP192R1FieldElement(SecP192R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A7E0 RID: 42976 RVA: 0x00241F7C File Offset: 0x0024017C
[Token(Token = "0x600A7E0")]
[Address(RVA = "0x702E60", Offset = "0x701E60", VA = "0x180702E60", Slot = "14")]
public override ECFieldElement Invert()
{
/*
An exception occurred when decompiling this method (0600A7E0)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192R1FieldElement::Invert()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat192::Create))
stloc:uint32[](var_2_0E, ldfld:uint32[](SecP192R1FieldElement::x, ldloc:SecP192R1FieldElement(this)))
call:void(Mod::Invert, ldsfld:uint32[](SecP192R1Field::P), ldloc:uint32[](var_2_0E), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP192R1FieldElement::x, newobj:SecP192R1FieldElement(SecP192R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A7E1 RID: 42977 RVA: 0x00241FB0 File Offset: 0x002401B0
[Token(Token = "0x600A7E1")]
[Address(RVA = "0x703100", Offset = "0x702100", VA = "0x180703100", Slot = "15")]
public override ECFieldElement Sqrt()
{
uint[] array;
do
{
array = this.x;
}
while (Nat192.IsZero(array) || Nat192.IsOne(array));
uint[] array2 = Nat192.Create();
uint[] array3 = Nat192.Create();
SecP192R1Field.Square(array, array2);
SecP192R1Field.Multiply(array2, array, array2);
SecP192R1Field.SquareN(array2, 2, array3);
SecP192R1Field.Multiply(array3, array2, array3);
SecP192R1Field.SquareN(array3, 4, array2);
SecP192R1Field.Multiply(array2, array3, array2);
SecP192R1Field.SquareN(array2, 8, array3);
SecP192R1Field.Multiply(array3, array2, array3);
SecP192R1Field.SquareN(array3, 16, array2);
SecP192R1Field.Multiply(array2, array3, array2);
SecP192R1Field.SquareN(array2, 32, array3);
SecP192R1Field.Multiply(array3, array2, array3);
SecP192R1Field.SquareN(array3, 64, array2);
SecP192R1Field.Multiply(array2, array3, array2);
SecP192R1Field.SquareN(array2, 62, array2);
SecP192R1Field.Square(array2, array3);
if (Nat192.Eq(array, array3))
{
new SecP192R1FieldElement().x = array2;
return;
}
}
// Token: 0x0600A7E2 RID: 42978 RVA: 0x00242094 File Offset: 0x00240294
[Token(Token = "0x600A7E2")]
[Address(RVA = "0x702C80", Offset = "0x701C80", VA = "0x180702C80", Slot = "0")]
public override bool Equals(object obj)
{
/*
An exception occurred when decompiling this method (0600A7E2)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192R1FieldElement::Equals(System.Object)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP192R1FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600A7E3 RID: 42979 RVA: 0x002420B0 File Offset: 0x002402B0
[Token(Token = "0x600A7E3")]
[Address(RVA = "0x702D10", Offset = "0x701D10", VA = "0x180702D10", Slot = "25")]
public override bool Equals(ECFieldElement other)
{
/*
An exception occurred when decompiling this method (0600A7E3)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192R1FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP192R1FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600A7E4 RID: 42980 RVA: 0x002420CC File Offset: 0x002402CC
[Token(Token = "0x600A7E4")]
[Address(RVA = "0x6FF440", Offset = "0x6FE440", VA = "0x1806FF440", Slot = "27")]
public virtual bool Equals(SecP192R1FieldElement other)
{
if (this != other)
{
if (other != 0)
{
uint[] array = other.x;
return Nat192.Eq(this.x, array);
}
}
return true;
}
// Token: 0x0600A7E5 RID: 42981 RVA: 0x002420F8 File Offset: 0x002402F8
[Token(Token = "0x600A7E5")]
[Address(RVA = "0x702DA0", Offset = "0x701DA0", VA = "0x180702DA0", Slot = "2")]
public override int GetHashCode()
{
SecP192R1FieldElement.Q.Finalize();
uint[] array = this.x;
int num = 0;
return Arrays.GetHashCode(array, num, 6);
}
// Token: 0x04006D41 RID: 27969
[Token(Token = "0x4006D41")]
public static readonly BigInteger Q = SecP192R1Curve.q;
// Token: 0x04006D42 RID: 27970
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006D42")]
protected internal readonly uint[] x;
}
}
@@ -0,0 +1,304 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B2E RID: 6958
[Token(Token = "0x2001B2E")]
internal class SecP192R1Point : AbstractFpPoint
{
// Token: 0x0600A7E7 RID: 42983 RVA: 0x00242140 File Offset: 0x00240340
[Token(Token = "0x600A7E7")]
[Address(RVA = "0x705D70", Offset = "0x704D70", VA = "0x180705D70")]
public SecP192R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600A7E8 RID: 42984 RVA: 0x00242150 File Offset: 0x00240350
[Token(Token = "0x600A7E8")]
[Address(RVA = "0x705D90", Offset = "0x704D90", VA = "0x180705D90")]
public SecP192R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A7E8)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600A7E9 RID: 42985 RVA: 0x00242178 File Offset: 0x00240378
[Token(Token = "0x600A7E9")]
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
internal SecP192R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600A7EA RID: 42986 RVA: 0x00242188 File Offset: 0x00240388
[Token(Token = "0x600A7EA")]
[Address(RVA = "0x705540", Offset = "0x704540", VA = "0x180705540", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600A7EA)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192R1Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecP192R1Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecP192R1Point[exp:ECPoint](this)))
}
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: 0x0600A7EB RID: 42987 RVA: 0x002421A4 File Offset: 0x002403A4
[Token(Token = "0x600A7EB")]
[Address(RVA = "0x704D20", Offset = "0x703D20", VA = "0x180704D20", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
if (!base.IsInfinity)
{
if (!b.IsInfinity)
{
if (this == b)
{
return b;
}
bool flag = this.SatisfiesOrder();
ECFieldElement[] zs = this.m_zs;
ECFieldElement[] zs2 = b.m_zs;
uint[] array = Nat192.CreateExt();
uint[] array2 = Nat192.Create();
uint[] array3 = Nat192.Create();
uint[] array4 = Nat192.Create();
if (array4 == 0)
{
SecP192R1Field.Square(array4, array3);
SecP192R1Field.Multiply(array3, array3, array2);
SecP192R1Field.Multiply(array3, array3, array3);
SecP192R1Field.Multiply(array3, array3, array3);
}
SecP192R1Field.Multiply(array4, array4, array);
SecP192R1Field.Multiply(array4, array4, array4);
SecP192R1Field.Multiply(array4, array4, array4);
uint[] array5 = Nat192.Create();
if (!Nat192.IsZero(array5))
{
SecP192R1Field.Square(array5, array3);
uint[] array6 = Nat192.Create();
SecP192R1Field.Multiply(array3, array5, array6);
SecP192R1Field.Negate(array6, array6);
SecP192R1Field.Reduce32(Nat192.AddBothTo(array3, array3, array6), array6);
SecP192R1FieldElement secP192R1FieldElement = new SecP192R1FieldElement();
secP192R1FieldElement.x = array4;
SecP192R1Field.Square(array2, array4);
uint[] x = secP192R1FieldElement.x;
SecP192R1Field.Subtract(x, array6, x);
SecP192R1FieldElement secP192R1FieldElement2 = new SecP192R1FieldElement();
secP192R1FieldElement2.x = array6;
uint[] x2 = secP192R1FieldElement.x;
SecP192R1Field.Subtract(array3, x2, array6);
if (Nat192.MulAddTo(secP192R1FieldElement2.x, array2, array) == (uint)0)
{
if ("{il2cpp array field local16->}" != (ulong)(-1L))
{
goto IL_1B3;
}
uint[] pext = SecP192R1Field.PExt;
if (!Nat.Gte(12, array, pext))
{
goto IL_1B3;
}
}
uint[] pextInv = SecP192R1Field.PExtInv;
if (Nat.AddTo(pextInv.Length, pextInv, array) != (uint)0)
{
int length = SecP192R1Field.PExtInv.Length;
uint num = Nat.IncAt(12, array, length);
}
IL_1B3:
uint[] x3 = secP192R1FieldElement2.x;
SecP192R1Field.Reduce(array, x3);
SecP192R1FieldElement secP192R1FieldElement3 = new SecP192R1FieldElement();
secP192R1FieldElement3.x = array5;
SecP192R1Field.Multiply(array5, array, array5);
uint[] x4 = secP192R1FieldElement3.x;
ECFieldElement[] array7 = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
}
bool flag2;
if (!flag2)
{
}
}
return b;
}
// Token: 0x0600A7EC RID: 42988 RVA: 0x002423C8 File Offset: 0x002405C8
[Token(Token = "0x600A7EC")]
[Address(RVA = "0x7056E0", Offset = "0x7046E0", VA = "0x1807056E0", Slot = "30")]
public override ECPoint Twice()
{
while (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement y = this.m_y;
if (y != 0)
{
if (y.IsOne)
{
break;
}
ECFieldElement x = this.m_x;
if (x == 0)
{
}
if (x != 0)
{
ECFieldElement ecfieldElement = this.m_zs[0];
if (ecfieldElement == 0)
{
}
if (ecfieldElement != 0)
{
uint[] array = Nat192.Create();
uint[] array2 = Nat192.Create();
uint[] array3 = Nat192.Create();
uint[] array4 = Nat192.Create();
SecP192R1Field.Square(array3, array4);
if (ecfieldElement.BitLength == 0)
{
}
SecP192R1Field.Multiply(array2, array, array2);
SecP192R1Field.Reduce32(Nat192.AddBothTo(array2, array2, array2), array2);
SecP192R1Field.Multiply(array3, array2, array3);
int num = 0;
SecP192R1Field.Reduce32(Nat.ShiftUpBits(6, array3, 2, (uint)num), array3);
int num2 = 0;
SecP192R1Field.Reduce32(Nat.ShiftUpBits(6, array4, 3, (uint)num2, array), array);
SecP192R1FieldElement secP192R1FieldElement = new SecP192R1FieldElement();
secP192R1FieldElement.x = array4;
SecP192R1Field.Square(array2, array4);
uint[] x2 = secP192R1FieldElement.x;
SecP192R1Field.Subtract(x2, array3, x2);
uint[] x3 = secP192R1FieldElement.x;
SecP192R1Field.Subtract(x3, array3, x3);
SecP192R1FieldElement secP192R1FieldElement2 = new SecP192R1FieldElement();
secP192R1FieldElement2.x = array3;
uint[] x4 = secP192R1FieldElement.x;
SecP192R1Field.Subtract(array3, x4, array3);
uint[] x5 = secP192R1FieldElement2.x;
SecP192R1Field.Multiply(x5, array2, x5);
uint[] x6 = secP192R1FieldElement2.x;
SecP192R1Field.Subtract(x6, array, x6);
SecP192R1FieldElement secP192R1FieldElement3 = new SecP192R1FieldElement();
secP192R1FieldElement3.x = array2;
uint num3;
if (num3 == (uint)0)
{
if ("{il2cpp array field local20->}" != (ulong)(-1L))
{
goto IL_1B5;
}
uint[] p = SecP192R1Field.P;
if (!Nat192.Gte(array2, p))
{
goto IL_1B5;
}
}
SecP192R1Field.AddPInvTo(array2);
IL_1B5:
uint[] x7 = secP192R1FieldElement3.x;
(new ECFieldElement[1])[0] = secP192R1FieldElement3;
bool withCompression = this.m_withCompression;
break;
}
}
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600A7ED RID: 42989 RVA: 0x002425B0 File Offset: 0x002407B0
[Token(Token = "0x600A7ED")]
[Address(RVA = "0x6ECFE0", Offset = "0x6EBFE0", VA = "0x1806ECFE0", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
if (this != b)
{
if (!base.IsInfinity)
{
if (!b.IsInfinity)
{
if (this.m_y.IsOne)
{
return b;
}
ECPoint ecpoint;
bool flag = ecpoint.SatisfiesCurveEquation();
}
bool flag2 = base.SatisfiesCurveEquation();
}
return b;
}
bool flag3 = base.SatisfiesCurveEquation();
throw new NullReferenceException();
}
// Token: 0x0600A7EE RID: 42990 RVA: 0x00242600 File Offset: 0x00240800
[Token(Token = "0x600A7EE")]
[Address(RVA = "0x6ECF60", Offset = "0x6EBF60", VA = "0x1806ECF60", Slot = "33")]
public override ECPoint ThreeTimes()
{
if (!base.IsInfinity && !this.m_y.IsOne)
{
ECPoint ecpoint;
bool flag = ecpoint.SatisfiesCurveEquation();
}
throw new NullReferenceException();
}
// Token: 0x0600A7EF RID: 42991 RVA: 0x00242630 File Offset: 0x00240830
[Token(Token = "0x600A7EF")]
[Address(RVA = "0x7055E0", Offset = "0x7045E0", VA = "0x1807055E0", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement y = this.m_y;
ECFieldElement[] zs = this.m_zs;
bool withCompression = this.m_withCompression;
}
throw new NullReferenceException();
}
}
}
@@ -0,0 +1,333 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B2F RID: 6959
[Token(Token = "0x2001B2F")]
internal class SecP224K1Curve : AbstractFpCurve
{
// Token: 0x0600A7F0 RID: 42992 RVA: 0x00242668 File Offset: 0x00240868
[Token(Token = "0x600A7F0")]
[Address(RVA = "0x7064A0", Offset = "0x7054A0", VA = "0x1807064A0")]
public SecP224K1Curve()
{
BigInteger bigInteger = SecP224K1Curve.q;
base..ctor(bigInteger);
int num;
int num2;
ulong num3;
SecP224K1Point secP224K1Point = new SecP224K1Point(this, num, num2, num3 != 0UL);
num2 = 0;
num = 0;
this.m_infinity = secP224K1Point;
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
int fieldSize2 = this.FieldSize;
this.m_b = fieldSize2;
byte[] array = Hex.Decode("010000000000000000000000000001DCE8D2EC6184CAF0A971769FB1F7");
BigInteger bigInteger2 = new BigInteger(1, array);
this.m_order = bigInteger2;
BigInteger one = BigInteger.One;
this.m_cofactor = one;
this.m_coord = (int)((ulong)2L);
}
// Token: 0x0600A7F1 RID: 42993 RVA: 0x002426F0 File Offset: 0x002408F0
[Token(Token = "0x600A7F1")]
[Address(RVA = "0x705E50", Offset = "0x704E50", VA = "0x180705E50", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600A7F1)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224K1Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_1_05, ldsfld:BigInteger(SecP224K1Curve::q))
stloc:SecP224K1Point(var_2_11, newobj:SecP224K1Point(SecP224K1Point::.ctor, ldloc:SecP224K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_3), ldloc:uint64[exp:bool](var_6)))
stloc:int32(var_3, ldc.i4:int32(0))
stloc:int32(var_5, ldc.i4:int32(0))
stfld:SecP224K1Point(SecP224K1Curve::m_infinity, ldloc:SecP224K1Curve(var_0), ldloc:SecP224K1Point(var_2_11))
stloc:int32(var_7_24, callvirtgetter:int32(SecP224K1Curve::get_FieldSize, ldloc:SecP224K1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecP224K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_7_24))
stloc:int32(var_9_34, callvirtgetter:int32(SecP224K1Curve::get_FieldSize, ldloc:SecP224K1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecP224K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_9_34))
stloc:uint8[](var_10_48, call:uint8[](Hex::Decode, ldstr:string("010000000000000000000000000001DCE8D2EC6184CAF0A971769FB1F7")))
stloc:BigInteger(var_11_52, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_10_48)))
stfld:BigInteger(ECCurve::m_order, ldloc:SecP224K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_11_52))
stloc:BigInteger(var_12_61, ldsfld:BigInteger(BigInteger::One))
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecP224K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_12_61))
stfld:int32(ECCurve::m_coord, ldloc:SecP224K1Curve[exp:ECCurve](var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](2)))
}
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: 0x0600A7F2 RID: 42994 RVA: 0x00242770 File Offset: 0x00240970
[Token(Token = "0x600A7F2")]
[Address(RVA = "0x6E9C20", Offset = "0x6E8C20", VA = "0x1806E9C20", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 2;
}
// Token: 0x17001A52 RID: 6738
// (get) Token: 0x0600A7F3 RID: 42995 RVA: 0x00242784 File Offset: 0x00240984
[Token(Token = "0x17001A52")]
public virtual BigInteger Q
{
[Token(Token = "0x600A7F3")]
[Address(RVA = "0x7066A0", Offset = "0x7056A0", VA = "0x1807066A0", Slot = "38")]
get
{
return SecP224K1Curve.q;
}
}
// Token: 0x17001A53 RID: 6739
// (get) Token: 0x0600A7F4 RID: 42996 RVA: 0x00242798 File Offset: 0x00240998
[Token(Token = "0x17001A53")]
public override ECPoint Infinity
{
[Token(Token = "0x600A7F4")]
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600A7F4)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224K1Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP224K1Point(var_0_06, ldfld:SecP224K1Point(SecP224K1Curve::m_infinity, ldloc:SecP224K1Curve(this)))
}
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: 0x17001A54 RID: 6740
// (get) Token: 0x0600A7F5 RID: 42997 RVA: 0x002427AC File Offset: 0x002409AC
[Token(Token = "0x17001A54")]
public override int FieldSize
{
[Token(Token = "0x600A7F5")]
[Address(RVA = "0x706630", Offset = "0x705630", VA = "0x180706630", Slot = "4")]
get
{
return SecP224K1Curve.q.BitLength;
}
}
// Token: 0x0600A7F6 RID: 42998 RVA: 0x002427CC File Offset: 0x002409CC
[Token(Token = "0x600A7F6")]
[Address(RVA = "0x7063A0", Offset = "0x7053A0", VA = "0x1807063A0", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600A7F6)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224K1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP224K1FieldElement(var_0_06, newobj:SecP224K1FieldElement(SecP224K1FieldElement::.ctor, ldloc:BigInteger(x)))
}
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: 0x0600A7F7 RID: 42999 RVA: 0x002427E0 File Offset: 0x002409E0
[Token(Token = "0x600A7F7")]
[Address(RVA = "0x706310", Offset = "0x705310", VA = "0x180706310", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A7F7)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224K1Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP224K1Point(var_0_09, newobj:SecP224K1Point(SecP224K1Point::.ctor, ldloc:SecP224K1Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600A7F8 RID: 43000 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600A7F8")]
[Address(RVA = "0x706270", Offset = "0x705270", VA = "0x180706270", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600A7F9 RID: 43001 RVA: 0x002427F8 File Offset: 0x002409F8
[Token(Token = "0x600A7F9")]
[Address(RVA = "0x706010", Offset = "0x705010", VA = "0x180706010", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
uint[] array;
int num;
for (;;)
{
array = new uint[len * (int)((uint)14)];
num = 0;
if (len <= 0)
{
goto IL_4E;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
if (y != 0 && y != 0)
{
break;
}
}
}
num += 14;
IL_4E:
SecP224K1Curve.SecP224K1LookupTable secP224K1LookupTable;
secP224K1LookupTable.m_outer = 0;
secP224K1LookupTable.m_table = array;
secP224K1LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x0600A7FA RID: 43002 RVA: 0x00242870 File Offset: 0x00240A70
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600A7FA")]
[Address(RVA = "0x706400", Offset = "0x705400", VA = "0x180706400")]
static SecP224K1Curve()
{
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFE56D");
SecP224K1Curve.q = new BigInteger(1, array);
}
// Token: 0x04006D43 RID: 27971
[Token(Token = "0x4006D43")]
public static readonly BigInteger q;
// Token: 0x04006D44 RID: 27972
[Token(Token = "0x4006D44")]
private const int SECP224K1_DEFAULT_COORDS = 2;
// Token: 0x04006D45 RID: 27973
[Token(Token = "0x4006D45")]
private const int SECP224K1_FE_INTS = 7;
// Token: 0x04006D46 RID: 27974
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4006D46")]
protected readonly SecP224K1Point m_infinity;
// Token: 0x02001B30 RID: 6960
[Token(Token = "0x2001B30")]
private class SecP224K1LookupTable : ECLookupTable
{
// Token: 0x0600A7FB RID: 43003 RVA: 0x00242894 File Offset: 0x00240A94
[Token(Token = "0x600A7FB")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecP224K1LookupTable(SecP224K1Curve outer, uint[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001A55 RID: 6741
// (get) Token: 0x0600A7FC RID: 43004 RVA: 0x002428BC File Offset: 0x00240ABC
[Token(Token = "0x17001A55")]
public virtual int Size
{
[Token(Token = "0x600A7FC")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600A7FD RID: 43005 RVA: 0x002428D0 File Offset: 0x00240AD0
[Token(Token = "0x600A7FD")]
[Address(RVA = "0x708790", Offset = "0x707790", VA = "0x180708790", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
uint[] array = Nat224.Create();
uint[] array2 = Nat224.Create();
int num = 0;
int num2 = 0;
if (this.m_size > num)
{
int num3 = 0;
uint[] table = this.m_table;
uint[] table2 = this.m_table;
num3++;
num += 14;
num2++;
}
SecP224K1Curve outer = this.m_outer;
new SecP224K1FieldElement().x = array;
new SecP224K1FieldElement().x = array2;
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006D47 RID: 27975
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006D47")]
private readonly SecP224K1Curve m_outer;
// Token: 0x04006D48 RID: 27976
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006D48")]
private readonly uint[] m_table;
// Token: 0x04006D49 RID: 27977
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006D49")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,329 @@
using System;
using System.Runtime.CompilerServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B31 RID: 6961
[Token(Token = "0x2001B31")]
internal class SecP224K1Field
{
// Token: 0x0600A7FE RID: 43006 RVA: 0x00242950 File Offset: 0x00240B50
[Token(Token = "0x600A7FE")]
[Address(RVA = "0x707BE0", Offset = "0x706BE0", VA = "0x180707BE0")]
public static void Add(uint[] x, uint[] y, uint[] z)
{
if (Nat224.Add(x, y, z) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP224K1Field.P;
if (!Nat224.Gte(z, p))
{
return;
}
}
uint num = Nat.Add33To(7, (uint)6803, z);
}
// Token: 0x0600A7FF RID: 43007 RVA: 0x00242998 File Offset: 0x00240B98
[Token(Token = "0x600A7FF")]
[Address(RVA = "0x707990", Offset = "0x706990", VA = "0x180707990")]
public static void AddExt(uint[] xx, uint[] yy, uint[] zz)
{
if (Nat.Add(14, xx, yy, zz) == (uint)0)
{
if ("{il2cpp array field zz->}" != (ulong)(-1L))
{
return;
}
uint[] pext = SecP224K1Field.PExt;
if (!Nat.Gte(14, zz, pext))
{
return;
}
}
uint[] pextInv = SecP224K1Field.PExtInv;
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
{
int length = SecP224K1Field.PExtInv.Length;
uint num = Nat.IncAt(14, zz, length);
}
}
// Token: 0x0600A800 RID: 43008 RVA: 0x00242A04 File Offset: 0x00240C04
[Token(Token = "0x600A800")]
[Address(RVA = "0x707B10", Offset = "0x706B10", VA = "0x180707B10")]
public static void AddOne(uint[] x, uint[] z)
{
if (Nat.Inc(7, x, z) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP224K1Field.P;
if (!Nat224.Gte(z, p))
{
return;
}
}
uint num = Nat.Add33To(7, (uint)6803, z);
}
// Token: 0x0600A801 RID: 43009 RVA: 0x00242A4C File Offset: 0x00240C4C
[Token(Token = "0x600A801")]
[Address(RVA = "0x707CC0", Offset = "0x706CC0", VA = "0x180707CC0")]
public static uint[] FromBigInteger(BigInteger x)
{
uint[] array = Nat224.FromBigInteger(x);
if ("{il2cpp array field local2->}" == (ulong)(-1L))
{
uint[] p = SecP224K1Field.P;
if (Nat224.Gte(array, p))
{
int num = Nat224.SubFrom(SecP224K1Field.P, array);
}
}
return array;
}
// Token: 0x0600A802 RID: 43010 RVA: 0x00242A90 File Offset: 0x00240C90
[Token(Token = "0x600A802")]
[Address(RVA = "0x707DB0", Offset = "0x706DB0", VA = "0x180707DB0")]
public static void Half(uint[] x, uint[] z)
{
if ("{il2cpp array field x->}" != (ulong)1L)
{
uint[] p = SecP224K1Field.P;
uint num = Nat224.Add(x, p, z);
uint num2 = Nat.ShiftDownBit(7, z, num);
return;
}
int num3 = 0;
uint num4 = Nat.ShiftDownBit(7, x, (uint)num3, z);
}
// Token: 0x0600A803 RID: 43011 RVA: 0x00242AD4 File Offset: 0x00240CD4
[Token(Token = "0x600A803")]
[Address(RVA = "0x708000", Offset = "0x707000", VA = "0x180708000")]
public static void Multiply(uint[] x, uint[] y, uint[] z)
{
uint[] array = Nat224.CreateExt();
Nat224.Mul(x, y, array);
SecP224K1Field.Reduce(array, z);
}
// Token: 0x0600A804 RID: 43012 RVA: 0x00242AF8 File Offset: 0x00240CF8
[Token(Token = "0x600A804")]
[Address(RVA = "0x707E90", Offset = "0x706E90", VA = "0x180707E90")]
public static void MultiplyAddToExt(uint[] x, uint[] y, uint[] zz)
{
if (Nat224.MulAddTo(x, y, zz) == (uint)0)
{
if ("{il2cpp array field zz->}" != (ulong)(-1L))
{
return;
}
uint[] pext = SecP224K1Field.PExt;
if (!Nat.Gte(14, zz, pext))
{
return;
}
}
uint[] pextInv = SecP224K1Field.PExtInv;
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
{
int length = SecP224K1Field.PExtInv.Length;
uint num = Nat.IncAt(14, zz, length);
}
}
// Token: 0x0600A805 RID: 43013 RVA: 0x00242B60 File Offset: 0x00240D60
[Token(Token = "0x600A805")]
[Address(RVA = "0x7080A0", Offset = "0x7070A0", VA = "0x1807080A0")]
public static void Negate(uint[] x, uint[] z)
{
if (!Nat224.IsZero(x))
{
int num = Nat224.Sub(SecP224K1Field.P, x, z);
return;
}
Nat224.Zero(z);
}
// Token: 0x0600A806 RID: 43014 RVA: 0x00242B8C File Offset: 0x00240D8C
[Token(Token = "0x600A806")]
[Address(RVA = "0x708220", Offset = "0x707220", VA = "0x180708220")]
public static void Reduce(uint[] xx, uint[] z)
{
int num = 0;
ulong num2 = Nat224.Mul33Add((uint)6803, xx, 7, xx, num, z, num);
int num3 = 0;
if (Nat224.Mul33DWordAdd((uint)6803, num2, z, num3) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP224K1Field.P;
if (!Nat224.Gte(z, p))
{
return;
}
}
uint num4 = Nat.Add33To(7, (uint)6803, z);
}
// Token: 0x0600A807 RID: 43015 RVA: 0x00242BF0 File Offset: 0x00240DF0
[Token(Token = "0x600A807")]
[Address(RVA = "0x708140", Offset = "0x707140", VA = "0x180708140")]
public static void Reduce32(uint x, uint[] z)
{
if (x != (uint)0)
{
int num = 0;
if (Nat224.Mul33WordAdd((uint)6803, x, z, num) != (uint)0)
{
goto IL_33;
}
}
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP224K1Field.P;
if (!Nat224.Gte(z, p))
{
return;
}
IL_33:
uint num2 = Nat.Add33To(7, (uint)6803, z);
}
// Token: 0x0600A808 RID: 43016 RVA: 0x00242C44 File Offset: 0x00240E44
[Token(Token = "0x600A808")]
[Address(RVA = "0x708400", Offset = "0x707400", VA = "0x180708400")]
public static void Square(uint[] x, uint[] z)
{
uint[] array = Nat224.CreateExt();
Nat224.Square(x, array);
SecP224K1Field.Reduce(array, z);
}
// Token: 0x0600A809 RID: 43017 RVA: 0x00242C68 File Offset: 0x00240E68
[Token(Token = "0x600A809")]
[Address(RVA = "0x708320", Offset = "0x707320", VA = "0x180708320")]
public static void SquareN(uint[] x, int n, uint[] z)
{
uint[] array = Nat224.CreateExt();
Nat224.Square(x, array);
SecP224K1Field.Reduce(array, z);
if (n > 0)
{
Nat224.Square(z, array);
SecP224K1Field.Reduce(array, z);
}
}
// Token: 0x0600A80A RID: 43018 RVA: 0x00242CA0 File Offset: 0x00240EA0
[Token(Token = "0x600A80A")]
[Address(RVA = "0x7085A0", Offset = "0x7075A0", VA = "0x1807085A0")]
public static void Subtract(uint[] x, uint[] y, uint[] z)
{
if (Nat224.Sub(x, y, z) != 0)
{
int num = Nat.Sub33From(7, (uint)6803, z);
return;
}
}
// Token: 0x0600A80B RID: 43019 RVA: 0x00242CC8 File Offset: 0x00240EC8
[Token(Token = "0x600A80B")]
[Address(RVA = "0x708490", Offset = "0x707490", VA = "0x180708490")]
public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz)
{
if (Nat.Sub(14, xx, yy, zz) != 0)
{
uint[] pextInv = SecP224K1Field.PExtInv;
if (Nat.SubFrom(pextInv.Length, pextInv, zz) != 0)
{
int length = SecP224K1Field.PExtInv.Length;
int num = Nat.DecAt(14, zz, length);
}
}
}
// Token: 0x0600A80C RID: 43020 RVA: 0x00242D14 File Offset: 0x00240F14
[Token(Token = "0x600A80C")]
[Address(RVA = "0x7085E0", Offset = "0x7075E0", VA = "0x1807085E0")]
public static void Twice(uint[] x, uint[] z)
{
int num = 0;
if (Nat.ShiftUpBit(7, x, (uint)num, z) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP224K1Field.P;
if (!Nat224.Gte(z, p))
{
return;
}
}
uint num2 = Nat.Add33To(7, (uint)6803, z);
}
// Token: 0x0600A80D RID: 43021 RVA: 0x00242D60 File Offset: 0x00240F60
[Token(Token = "0x600A80D")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public SecP224K1Field()
{
}
// Token: 0x0600A80E RID: 43022 RVA: 0x00242D74 File Offset: 0x00240F74
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600A80E")]
[Address(RVA = "0x7086C0", Offset = "0x7076C0", VA = "0x1807086C0")]
static SecP224K1Field()
{
uint[] array = new uint[7];
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.126589410FF9CA1510B9950BF0E79E5BFD60000B).FieldHandle);
SecP224K1Field.P = array;
uint[] array2 = new uint[14];
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.E647D32D165F3510693DF9787DC98E0A0B63C5C2).FieldHandle);
SecP224K1Field.PExt = array2;
uint[] array3 = new uint[9];
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.66961AC9ADD7C27DCD1BCA65FCD5C02B74B62F47).FieldHandle);
SecP224K1Field.PExtInv = array3;
}
// Token: 0x04006D4A RID: 27978
[Token(Token = "0x4006D4A")]
internal static readonly uint[] P;
// Token: 0x04006D4B RID: 27979
[Token(Token = "0x4006D4B")]
internal static readonly uint[] PExt;
// Token: 0x04006D4C RID: 27980
[Token(Token = "0x4006D4C")]
private static readonly uint[] PExtInv;
// Token: 0x04006D4D RID: 27981
[Token(Token = "0x4006D4D")]
private const uint P6 = 4294967295U;
// Token: 0x04006D4E RID: 27982
[Token(Token = "0x4006D4E")]
private const uint PExt13 = 4294967295U;
// Token: 0x04006D4F RID: 27983
[Token(Token = "0x4006D4F")]
private const uint PInv33 = 6803U;
}
}
@@ -0,0 +1,466 @@
using System;
using System.Runtime.CompilerServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B32 RID: 6962
[Token(Token = "0x2001B32")]
internal class SecP224K1FieldElement : AbstractFpFieldElement
{
// Token: 0x0600A80F RID: 43023 RVA: 0x00242DCC File Offset: 0x00240FCC
[Token(Token = "0x600A80F")]
[Address(RVA = "0x707700", Offset = "0x706700", VA = "0x180707700")]
public SecP224K1FieldElement(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600A80F)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224K1FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_4E:
stloc:ArgumentException(var_5_5D, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecP224K1FieldElement"), ldstr:string("x")))
}
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: 0x0600A810 RID: 43024 RVA: 0x00242E38 File Offset: 0x00241038
[Token(Token = "0x600A810")]
[Address(RVA = "0x7076D0", Offset = "0x7066D0", VA = "0x1807076D0")]
public SecP224K1FieldElement()
{
uint[] array = Nat224.Create();
this.x = array;
}
// Token: 0x0600A811 RID: 43025 RVA: 0x00242E5C File Offset: 0x0024105C
[Token(Token = "0x600A811")]
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
protected internal SecP224K1FieldElement(uint[] x)
{
this.x = x;
}
// Token: 0x17001A56 RID: 6742
// (get) Token: 0x0600A812 RID: 43026 RVA: 0x00242E78 File Offset: 0x00241078
[Token(Token = "0x17001A56")]
public override bool IsZero
{
[Token(Token = "0x600A812")]
[Address(RVA = "0x707980", Offset = "0x706980", VA = "0x180707980", Slot = "18")]
get
{
return Nat224.IsZero(this.x);
}
}
// Token: 0x17001A57 RID: 6743
// (get) Token: 0x0600A813 RID: 43027 RVA: 0x00242E90 File Offset: 0x00241090
[Token(Token = "0x17001A57")]
public override bool IsOne
{
[Token(Token = "0x600A813")]
[Address(RVA = "0x707970", Offset = "0x706970", VA = "0x180707970", Slot = "17")]
get
{
return Nat224.IsOne(this.x);
}
}
// Token: 0x0600A814 RID: 43028 RVA: 0x00242EA8 File Offset: 0x002410A8
[Token(Token = "0x600A814")]
[Address(RVA = "0x7075F0", Offset = "0x7065F0", VA = "0x1807075F0", Slot = "24")]
public override bool TestBitZero()
{
uint[] array = this.x;
int num = 0;
return Nat224.GetBit(array, num) == (uint)1;
}
// Token: 0x0600A815 RID: 43029 RVA: 0x00242ECC File Offset: 0x002410CC
[Token(Token = "0x600A815")]
[Address(RVA = "0x707610", Offset = "0x706610", VA = "0x180707610", Slot = "4")]
public override BigInteger ToBigInteger()
{
return Nat224.ToBigInteger(this.x);
}
// Token: 0x17001A58 RID: 6744
// (get) Token: 0x0600A816 RID: 43030 RVA: 0x00242EE4 File Offset: 0x002410E4
[Token(Token = "0x17001A58")]
public override string FieldName
{
[Token(Token = "0x600A816")]
[Address(RVA = "0x7078D0", Offset = "0x7068D0", VA = "0x1807078D0", Slot = "5")]
get
{
return "SecP224K1Field";
}
}
// Token: 0x17001A59 RID: 6745
// (get) Token: 0x0600A817 RID: 43031 RVA: 0x00242EF8 File Offset: 0x002410F8
[Token(Token = "0x17001A59")]
public override int FieldSize
{
[Token(Token = "0x600A817")]
[Address(RVA = "0x707900", Offset = "0x706900", VA = "0x180707900", Slot = "6")]
get
{
return SecP224K1FieldElement.Q.BitLength;
}
}
// Token: 0x0600A818 RID: 43032 RVA: 0x00242F18 File Offset: 0x00241118
[Token(Token = "0x600A818")]
[Address(RVA = "0x706840", Offset = "0x705840", VA = "0x180706840", Slot = "7")]
public override ECFieldElement Add(ECFieldElement b)
{
uint[] array;
do
{
array = Nat224.Create();
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP224K1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
uint num;
if (num == (uint)0)
{
if ("{il2cpp array field local3->}" != (ulong)(-1L))
{
goto IL_59;
}
uint[] p = SecP224K1Field.P;
if (!Nat224.Gte(array, p))
{
goto IL_59;
}
}
uint num2 = Nat.Add33To(7, (uint)6803, array);
IL_59:
new SecP224K1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A819 RID: 43033 RVA: 0x00242F90 File Offset: 0x00241190
[Token(Token = "0x600A819")]
[Address(RVA = "0x706700", Offset = "0x705700", VA = "0x180706700", Slot = "8")]
public override ECFieldElement AddOne()
{
uint[] array = Nat224.Create();
uint[] array2 = this.x;
if (Nat.Inc(7, array2, array) == (uint)0)
{
if ("{il2cpp array field local2->}" != (ulong)(-1L))
{
goto IL_44;
}
uint[] p = SecP224K1Field.P;
if (!Nat224.Gte(array, p))
{
goto IL_44;
}
}
uint num = Nat.Add33To(7, (uint)6803, array);
IL_44:
new SecP224K1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A81A RID: 43034 RVA: 0x00242FF4 File Offset: 0x002411F4
[Token(Token = "0x600A81A")]
[Address(RVA = "0x707490", Offset = "0x706490", VA = "0x180707490", Slot = "9")]
public override ECFieldElement Subtract(ECFieldElement b)
{
uint[] array;
do
{
array = Nat224.Create();
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP224K1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
int num;
if (num != 0)
{
int num2 = Nat.Sub33From(7, (uint)6803, array);
}
new SecP224K1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A81B RID: 43035 RVA: 0x00243050 File Offset: 0x00241250
[Token(Token = "0x600A81B")]
[Address(RVA = "0x706E70", Offset = "0x705E70", VA = "0x180706E70", Slot = "10")]
public override ECFieldElement Multiply(ECFieldElement b)
{
uint[] array;
do
{
array = Nat224.Create();
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP224K1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecP224K1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A81C RID: 43036 RVA: 0x00243098 File Offset: 0x00241298
[Token(Token = "0x600A81C")]
[Address(RVA = "0x706A20", Offset = "0x705A20", VA = "0x180706A20", Slot = "11")]
public override ECFieldElement Divide(ECFieldElement b)
{
uint[] array;
do
{
array = Nat224.Create();
uint[] p = SecP224K1Field.P;
if ("{il2cpp array field local3->}" == typeof(SecP224K1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
uint[] array2 = this.x;
SecP224K1Field.Multiply(array, array2, array);
new SecP224K1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A81D RID: 43037 RVA: 0x002430F0 File Offset: 0x002412F0
[Token(Token = "0x600A81D")]
[Address(RVA = "0x706FB0", Offset = "0x705FB0", VA = "0x180706FB0", Slot = "12")]
public override ECFieldElement Negate()
{
/*
An exception occurred when decompiling this method (0600A81D)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224K1FieldElement::Negate()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat224::Create))
call:void(SecP224K1Field::Negate, ldfld:uint32[](SecP224K1FieldElement::x, ldloc:SecP224K1FieldElement(this)), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP224K1FieldElement::x, newobj:SecP224K1FieldElement(SecP224K1FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A81E RID: 43038 RVA: 0x0024311C File Offset: 0x0024131C
[Token(Token = "0x600A81E")]
[Address(RVA = "0x707400", Offset = "0x706400", VA = "0x180707400", Slot = "13")]
public override ECFieldElement Square()
{
/*
An exception occurred when decompiling this method (0600A81E)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224K1FieldElement::Square()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat224::Create))
call:void(SecP224K1Field::Square, ldfld:uint32[](SecP224K1FieldElement::x, ldloc:SecP224K1FieldElement(this)), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP224K1FieldElement::x, newobj:SecP224K1FieldElement(SecP224K1FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A81F RID: 43039 RVA: 0x00243148 File Offset: 0x00241348
[Token(Token = "0x600A81F")]
[Address(RVA = "0x706DA0", Offset = "0x705DA0", VA = "0x180706DA0", Slot = "14")]
public override ECFieldElement Invert()
{
/*
An exception occurred when decompiling this method (0600A81F)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224K1FieldElement::Invert()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat224::Create))
stloc:uint32[](var_2_0E, ldfld:uint32[](SecP224K1FieldElement::x, ldloc:SecP224K1FieldElement(this)))
call:void(Mod::Invert, ldsfld:uint32[](SecP224K1Field::P), ldloc:uint32[](var_2_0E), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP224K1FieldElement::x, newobj:SecP224K1FieldElement(SecP224K1FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A820 RID: 43040 RVA: 0x0024317C File Offset: 0x0024137C
[Token(Token = "0x600A820")]
[Address(RVA = "0x707040", Offset = "0x706040", VA = "0x180707040", Slot = "15")]
public override ECFieldElement Sqrt()
{
/*
An exception occurred when decompiling this method (0600A820)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224K1FieldElement::Sqrt()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_1BB:
stfld:uint32[](SecP224K1FieldElement::x, newobj:SecP224K1FieldElement(SecP224K1FieldElement::.ctor), ldloc:uint32[](var_6_62))
}
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: 0x0600A821 RID: 43041 RVA: 0x00243350 File Offset: 0x00241550
[Token(Token = "0x600A821")]
[Address(RVA = "0x706BA0", Offset = "0x705BA0", VA = "0x180706BA0", Slot = "0")]
public override bool Equals(object obj)
{
/*
An exception occurred when decompiling this method (0600A821)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224K1FieldElement::Equals(System.Object)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP224K1FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600A822 RID: 43042 RVA: 0x0024336C File Offset: 0x0024156C
[Token(Token = "0x600A822")]
[Address(RVA = "0x706C30", Offset = "0x705C30", VA = "0x180706C30", Slot = "25")]
public override bool Equals(ECFieldElement other)
{
/*
An exception occurred when decompiling this method (0600A822)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224K1FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP224K1FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600A823 RID: 43043 RVA: 0x00243388 File Offset: 0x00241588
[Token(Token = "0x600A823")]
[Address(RVA = "0x706CC0", Offset = "0x705CC0", VA = "0x180706CC0", Slot = "27")]
public virtual bool Equals(SecP224K1FieldElement other)
{
if (this != other)
{
if (other != 0)
{
uint[] array = other.x;
return Nat224.Eq(this.x, array);
}
}
return true;
}
// Token: 0x0600A824 RID: 43044 RVA: 0x002433B4 File Offset: 0x002415B4
[Token(Token = "0x600A824")]
[Address(RVA = "0x706CE0", Offset = "0x705CE0", VA = "0x180706CE0", Slot = "2")]
public override int GetHashCode()
{
SecP224K1FieldElement.Q.Finalize();
uint[] array = this.x;
int num = 0;
return Arrays.GetHashCode(array, num, 7);
}
// Token: 0x0600A825 RID: 43045 RVA: 0x002433E4 File Offset: 0x002415E4
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600A825")]
[Address(RVA = "0x707620", Offset = "0x706620", VA = "0x180707620")]
static SecP224K1FieldElement()
{
uint[] array = new uint[7];
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.059FFAA29C8FCAA8FDB47FBFDE6FB74F5A43E5C0).FieldHandle);
SecP224K1FieldElement.PRECOMP_POW2 = array;
}
// Token: 0x04006D50 RID: 27984
[Token(Token = "0x4006D50")]
public static readonly BigInteger Q = SecP224K1Curve.q;
// Token: 0x04006D51 RID: 27985
[Token(Token = "0x4006D51")]
private static readonly uint[] PRECOMP_POW2;
// Token: 0x04006D52 RID: 27986
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006D52")]
protected internal readonly uint[] x;
}
}
@@ -0,0 +1,326 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B33 RID: 6963
[Token(Token = "0x2001B33")]
internal class SecP224K1Point : AbstractFpPoint
{
// Token: 0x0600A826 RID: 43046 RVA: 0x00243414 File Offset: 0x00241614
[Token(Token = "0x600A826")]
[Address(RVA = "0x709A50", Offset = "0x708A50", VA = "0x180709A50")]
public SecP224K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600A827 RID: 43047 RVA: 0x00243424 File Offset: 0x00241624
[Token(Token = "0x600A827")]
[Address(RVA = "0x709990", Offset = "0x708990", VA = "0x180709990")]
public SecP224K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A827)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224K1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600A828 RID: 43048 RVA: 0x0024344C File Offset: 0x0024164C
[Token(Token = "0x600A828")]
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
internal SecP224K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600A829 RID: 43049 RVA: 0x0024345C File Offset: 0x0024165C
[Token(Token = "0x600A829")]
[Address(RVA = "0x7091E0", Offset = "0x7081E0", VA = "0x1807091E0", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600A829)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224K1Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecP224K1Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecP224K1Point[exp:ECPoint](this)))
}
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: 0x0600A82A RID: 43050 RVA: 0x00243478 File Offset: 0x00241678
[Token(Token = "0x600A82A")]
[Address(RVA = "0x708960", Offset = "0x707960", VA = "0x180708960", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
if (!base.IsInfinity && !b.IsInfinity && this != b)
{
bool flag = this.SatisfiesOrder();
ECFieldElement[] zs = this.m_zs;
ECFieldElement[] zs2 = b.m_zs;
uint[] array = Nat224.CreateExt();
uint[] array2 = Nat224.Create();
uint[] array3 = Nat224.Create();
uint[] array4 = Nat224.Create();
if (array4 == 0)
{
SecP224K1Field.Square(array4, array3);
SecP224K1Field.Multiply(array3, array3, array2);
SecP224K1Field.Multiply(array3, array3, array3);
SecP224K1Field.Multiply(array3, array3, array3);
}
SecP224K1Field.Multiply(array4, array4, array);
SecP224K1Field.Multiply(array4, array4, array4);
SecP224K1Field.Multiply(array4, array4, array4);
uint[] array5 = Nat224.Create();
int num;
if (num != 0)
{
int num2 = Nat.Sub33From(7, (uint)6803, array5);
}
int num3;
if (num3 != 0)
{
int num4 = Nat.Sub33From(7, (uint)6803, array2);
}
if (!Nat224.IsZero(array5))
{
SecP224K1Field.Square(array5, array3);
uint[] array6 = Nat224.Create();
SecP224K1Field.Multiply(array3, array5, array6);
SecP224K1Field.Negate(array6, array6);
SecP224K1Field.Reduce32(Nat224.AddBothTo(array3, array3, array6), array6);
SecP224K1FieldElement secP224K1FieldElement = new SecP224K1FieldElement();
secP224K1FieldElement.x = array4;
SecP224K1Field.Square(array2, array4);
uint[] x = secP224K1FieldElement.x;
if (Nat224.Sub(x, array6, x) != 0)
{
int num5 = Nat.Sub33From(7, (uint)6803, x);
}
SecP224K1FieldElement secP224K1FieldElement2 = new SecP224K1FieldElement();
secP224K1FieldElement2.x = array6;
uint[] x2 = secP224K1FieldElement.x;
if (Nat224.Sub(array3, x2, array6) != 0)
{
int num6 = Nat.Sub33From(7, (uint)6803, array6);
}
uint[] x3 = secP224K1FieldElement2.x;
if (Nat224.MulAddTo(x3, array2, array) == (uint)0)
{
if ("{il2cpp array field local16->}" != (ulong)(-1L))
{
goto IL_207;
}
uint[] pext = SecP224K1Field.PExt;
if (!Nat.Gte(14, array, pext))
{
goto IL_207;
}
}
uint[] pextInv = SecP224K1Field.PExtInv;
if (Nat.AddTo(pextInv.Length, pextInv, array) != (uint)0)
{
int length = SecP224K1Field.PExtInv.Length;
uint num7 = Nat.IncAt(14, array, length);
}
IL_207:
uint[] x4 = secP224K1FieldElement2.x;
SecP224K1Field.Reduce(array, x4);
SecP224K1FieldElement secP224K1FieldElement3 = new SecP224K1FieldElement();
secP224K1FieldElement3.x = array5;
SecP224K1Field.Multiply(array5, x3, array5);
uint[] x5 = secP224K1FieldElement3.x;
SecP224K1Field.Multiply(x5, array5, x5);
ECFieldElement[] array7 = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
bool flag2;
if (!flag2)
{
}
}
return b;
}
// Token: 0x0600A82B RID: 43051 RVA: 0x002436FC File Offset: 0x002418FC
[Token(Token = "0x600A82B")]
[Address(RVA = "0x709380", Offset = "0x708380", VA = "0x180709380", Slot = "30")]
public override ECPoint Twice()
{
while (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement y = this.m_y;
if (y != 0)
{
if (y.IsOne)
{
break;
}
ECFieldElement x = this.m_x;
if (x == 0)
{
}
if (x != 0)
{
ECFieldElement ecfieldElement = this.m_zs[0];
if (ecfieldElement == 0)
{
}
if (ecfieldElement != 0)
{
uint[] array = Nat224.Create();
uint[] array2 = Nat224.Create();
SecP224K1Field.Square(array, array2);
uint[] array3 = Nat224.Create();
SecP224K1Field.Reduce32(Nat224.AddBothTo(array3, array3, array3), array3);
SecP224K1Field.Multiply(array, array3, array);
int num = 0;
SecP224K1Field.Reduce32(Nat.ShiftUpBits(7, array, 2, (uint)num), array);
uint[] array4 = Nat224.Create();
int num2 = 0;
SecP224K1Field.Reduce32(Nat.ShiftUpBits(7, array2, 3, (uint)num2, array4), array4);
SecP224K1FieldElement secP224K1FieldElement = new SecP224K1FieldElement();
secP224K1FieldElement.x = array2;
SecP224K1Field.Square(array3, array2);
uint[] x2 = secP224K1FieldElement.x;
if (Nat224.Sub(x2, array, x2) != 0)
{
int num3 = Nat.Sub33From(7, (uint)6803, x2);
}
uint[] x3 = secP224K1FieldElement.x;
if (Nat224.Sub(x3, array, x3) != 0)
{
int num4 = Nat.Sub33From(7, (uint)6803, x3);
}
SecP224K1FieldElement secP224K1FieldElement2 = new SecP224K1FieldElement();
secP224K1FieldElement2.x = array;
uint[] x4 = secP224K1FieldElement.x;
if (Nat224.Sub(array, x4, array) != 0)
{
int num5 = Nat.Sub33From(7, (uint)6803, array);
}
uint[] x5 = secP224K1FieldElement2.x;
SecP224K1Field.Multiply(x5, array3, x5);
uint[] x6 = secP224K1FieldElement2.x;
if (Nat224.Sub(x6, array4, x6) != 0)
{
int num6 = Nat.Sub33From(7, (uint)6803, x6);
}
SecP224K1FieldElement secP224K1FieldElement3 = new SecP224K1FieldElement();
secP224K1FieldElement3.x = array3;
uint num7;
if (num7 == (uint)0)
{
if ("{il2cpp array field local24->}" != (ulong)(-1L))
{
goto IL_1EF;
}
uint[] p = SecP224K1Field.P;
if (!Nat224.Gte(array3, p))
{
goto IL_1EF;
}
}
uint num8 = Nat.Add33To(7, (uint)6803, array3);
IL_1EF:
if (ecfieldElement.BitLength == 0)
{
uint[] x7 = secP224K1FieldElement3.x;
}
(new ECFieldElement[1])[0] = secP224K1FieldElement3;
bool withCompression = this.m_withCompression;
break;
}
}
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600A82C RID: 43052 RVA: 0x00243928 File Offset: 0x00241B28
[Token(Token = "0x600A82C")]
[Address(RVA = "0x6ECFE0", Offset = "0x6EBFE0", VA = "0x1806ECFE0", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
if (this != b)
{
if (!base.IsInfinity)
{
if (!b.IsInfinity)
{
if (this.m_y.IsOne)
{
return b;
}
ECPoint ecpoint;
bool flag = ecpoint.SatisfiesCurveEquation();
}
bool flag2 = base.SatisfiesCurveEquation();
}
return b;
}
bool flag3 = base.SatisfiesCurveEquation();
throw new NullReferenceException();
}
// Token: 0x0600A82D RID: 43053 RVA: 0x00243978 File Offset: 0x00241B78
[Token(Token = "0x600A82D")]
[Address(RVA = "0x6ECF60", Offset = "0x6EBF60", VA = "0x1806ECF60", Slot = "33")]
public override ECPoint ThreeTimes()
{
if (!base.IsInfinity && !this.m_y.IsOne)
{
ECPoint ecpoint;
bool flag = ecpoint.SatisfiesCurveEquation();
}
throw new NullReferenceException();
}
// Token: 0x0600A82E RID: 43054 RVA: 0x002439A8 File Offset: 0x00241BA8
[Token(Token = "0x600A82E")]
[Address(RVA = "0x709280", Offset = "0x708280", VA = "0x180709280", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement y = this.m_y;
ECFieldElement[] zs = this.m_zs;
bool withCompression = this.m_withCompression;
}
throw new NullReferenceException();
}
}
}
@@ -0,0 +1,323 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B34 RID: 6964
[Token(Token = "0x2001B34")]
internal class SecP224R1Curve : AbstractFpCurve
{
// Token: 0x0600A82F RID: 43055 RVA: 0x002439E0 File Offset: 0x00241BE0
[Token(Token = "0x600A82F")]
[Address(RVA = "0x709F50", Offset = "0x708F50", VA = "0x180709F50")]
public SecP224R1Curve()
{
BigInteger bigInteger = SecP224R1Curve.q;
base..ctor(bigInteger);
int num;
int num2;
ulong num3;
SecP224R1Point secP224R1Point = new SecP224R1Point(this, num, num2, num3 != 0UL);
num2 = 0;
num = 0;
this.m_infinity = secP224R1Point;
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFE");
BigInteger bigInteger2 = new BigInteger(1, array);
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
byte[] array2 = Hex.Decode("B4050A850C04B3ABF54132565044B0B7D7BFD8BA270B39432355FFB4");
BigInteger bigInteger3 = new BigInteger(1, array2);
int fieldSize2 = this.FieldSize;
this.m_b = fieldSize2;
byte[] array3 = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2E0B8F03E13DD29455C5C2A3D");
BigInteger bigInteger4 = new BigInteger(1, array3);
this.m_order = bigInteger4;
BigInteger one = BigInteger.One;
this.m_cofactor = one;
this.m_coord = (int)((ulong)2L);
}
// Token: 0x0600A830 RID: 43056 RVA: 0x00243A94 File Offset: 0x00241C94
[Token(Token = "0x600A830")]
[Address(RVA = "0x709A70", Offset = "0x708A70", VA = "0x180709A70", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600A830)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224R1Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP224R1Curve(var_0_05, newobj:SecP224R1Curve(SecP224R1Curve::.ctor))
}
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: 0x0600A831 RID: 43057 RVA: 0x00243AA8 File Offset: 0x00241CA8
[Token(Token = "0x600A831")]
[Address(RVA = "0x6E9C20", Offset = "0x6E8C20", VA = "0x1806E9C20", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 2;
}
// Token: 0x17001A5A RID: 6746
// (get) Token: 0x0600A832 RID: 43058 RVA: 0x00243ABC File Offset: 0x00241CBC
[Token(Token = "0x17001A5A")]
public virtual BigInteger Q
{
[Token(Token = "0x600A832")]
[Address(RVA = "0x70A1A0", Offset = "0x7091A0", VA = "0x18070A1A0", Slot = "38")]
get
{
return SecP224R1Curve.q;
}
}
// Token: 0x17001A5B RID: 6747
// (get) Token: 0x0600A833 RID: 43059 RVA: 0x00243AD0 File Offset: 0x00241CD0
[Token(Token = "0x17001A5B")]
public override ECPoint Infinity
{
[Token(Token = "0x600A833")]
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600A833)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224R1Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP224R1Point(var_0_06, ldfld:SecP224R1Point(SecP224R1Curve::m_infinity, ldloc:SecP224R1Curve(this)))
}
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: 0x17001A5C RID: 6748
// (get) Token: 0x0600A834 RID: 43060 RVA: 0x00243AE4 File Offset: 0x00241CE4
[Token(Token = "0x17001A5C")]
public override int FieldSize
{
[Token(Token = "0x600A834")]
[Address(RVA = "0x70A130", Offset = "0x709130", VA = "0x18070A130", Slot = "4")]
get
{
return SecP224R1Curve.q.BitLength;
}
}
// Token: 0x0600A835 RID: 43061 RVA: 0x00243B04 File Offset: 0x00241D04
[Token(Token = "0x600A835")]
[Address(RVA = "0x709E50", Offset = "0x708E50", VA = "0x180709E50", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600A835)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224R1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP224R1FieldElement(var_0_06, newobj:SecP224R1FieldElement(SecP224R1FieldElement::.ctor, ldloc:BigInteger(x)))
}
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: 0x0600A836 RID: 43062 RVA: 0x00243B18 File Offset: 0x00241D18
[Token(Token = "0x600A836")]
[Address(RVA = "0x709DC0", Offset = "0x708DC0", VA = "0x180709DC0", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A836)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224R1Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP224R1Point(var_0_09, newobj:SecP224R1Point(SecP224R1Point::.ctor, ldloc:SecP224R1Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600A837 RID: 43063 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600A837")]
[Address(RVA = "0x709D20", Offset = "0x708D20", VA = "0x180709D20", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600A838 RID: 43064 RVA: 0x00243B30 File Offset: 0x00241D30
[Token(Token = "0x600A838")]
[Address(RVA = "0x709AC0", Offset = "0x708AC0", VA = "0x180709AC0", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
uint[] array;
int num;
for (;;)
{
array = new uint[len * (int)((uint)14)];
num = 0;
if (len <= 0)
{
goto IL_4E;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
if (y != 0 && y != 0)
{
break;
}
}
}
num += 14;
IL_4E:
SecP224R1Curve.SecP224R1LookupTable secP224R1LookupTable;
secP224R1LookupTable.m_outer = 0;
secP224R1LookupTable.m_table = array;
secP224R1LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x0600A839 RID: 43065 RVA: 0x00243BA8 File Offset: 0x00241DA8
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600A839")]
[Address(RVA = "0x709EB0", Offset = "0x708EB0", VA = "0x180709EB0")]
static SecP224R1Curve()
{
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001");
SecP224R1Curve.q = new BigInteger(1, array);
}
// Token: 0x04006D53 RID: 27987
[Token(Token = "0x4006D53")]
public static readonly BigInteger q;
// Token: 0x04006D54 RID: 27988
[Token(Token = "0x4006D54")]
private const int SECP224R1_DEFAULT_COORDS = 2;
// Token: 0x04006D55 RID: 27989
[Token(Token = "0x4006D55")]
private const int SECP224R1_FE_INTS = 7;
// Token: 0x04006D56 RID: 27990
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4006D56")]
protected readonly SecP224R1Point m_infinity;
// Token: 0x02001B35 RID: 6965
[Token(Token = "0x2001B35")]
private class SecP224R1LookupTable : ECLookupTable
{
// Token: 0x0600A83A RID: 43066 RVA: 0x00243BCC File Offset: 0x00241DCC
[Token(Token = "0x600A83A")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecP224R1LookupTable(SecP224R1Curve outer, uint[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001A5D RID: 6749
// (get) Token: 0x0600A83B RID: 43067 RVA: 0x00243BF4 File Offset: 0x00241DF4
[Token(Token = "0x17001A5D")]
public virtual int Size
{
[Token(Token = "0x600A83B")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600A83C RID: 43068 RVA: 0x00243C08 File Offset: 0x00241E08
[Token(Token = "0x600A83C")]
[Address(RVA = "0x70CDA0", Offset = "0x70BDA0", VA = "0x18070CDA0", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
uint[] array = Nat224.Create();
uint[] array2 = Nat224.Create();
int num = 0;
int num2 = 0;
if (this.m_size > num)
{
int num3 = 0;
uint[] table = this.m_table;
uint[] table2 = this.m_table;
num3++;
num += 14;
num2++;
}
SecP224R1Curve outer = this.m_outer;
new SecP224R1FieldElement().x = array;
new SecP224R1FieldElement().x = array2;
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006D57 RID: 27991
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006D57")]
private readonly SecP224R1Curve m_outer;
// Token: 0x04006D58 RID: 27992
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006D58")]
private readonly uint[] m_table;
// Token: 0x04006D59 RID: 27993
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006D59")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,471 @@
using System;
using System.Runtime.CompilerServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B36 RID: 6966
[Token(Token = "0x2001B36")]
internal class SecP224R1Field
{
// Token: 0x0600A83D RID: 43069 RVA: 0x00243C88 File Offset: 0x00241E88
[Token(Token = "0x600A83D")]
[Address(RVA = "0x70BC60", Offset = "0x70AC60", VA = "0x18070BC60")]
public static void Add(uint[] x, uint[] y, uint[] z)
{
if (Nat224.Add(x, y, z) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP224R1Field.P;
if (!Nat224.Gte(z, p))
{
return;
}
}
SecP224R1Field.AddPInvTo(z);
}
// Token: 0x0600A83E RID: 43070 RVA: 0x00243CC8 File Offset: 0x00241EC8
[Token(Token = "0x600A83E")]
[Address(RVA = "0x70B920", Offset = "0x70A920", VA = "0x18070B920")]
public static void AddExt(uint[] xx, uint[] yy, uint[] zz)
{
if (Nat.Add(14, xx, yy, zz) == (uint)0)
{
if ("{il2cpp array field zz->}" != (ulong)(-1L))
{
return;
}
uint[] pext = SecP224R1Field.PExt;
if (!Nat.Gte(14, zz, pext))
{
return;
}
}
uint[] pextInv = SecP224R1Field.PExtInv;
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
{
int length = SecP224R1Field.PExtInv.Length;
uint num = Nat.IncAt(14, zz, length);
}
}
// Token: 0x0600A83F RID: 43071 RVA: 0x00243D34 File Offset: 0x00241F34
[Token(Token = "0x600A83F")]
[Address(RVA = "0x70BAA0", Offset = "0x70AAA0", VA = "0x18070BAA0")]
public static void AddOne(uint[] x, uint[] z)
{
if (Nat.Inc(7, x, z) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP224R1Field.P;
if (!Nat224.Gte(z, p))
{
return;
}
}
SecP224R1Field.AddPInvTo(z);
}
// Token: 0x0600A840 RID: 43072 RVA: 0x00243D74 File Offset: 0x00241F74
[Token(Token = "0x600A840")]
[Address(RVA = "0x70BD50", Offset = "0x70AD50", VA = "0x18070BD50")]
public static uint[] FromBigInteger(BigInteger x)
{
uint[] array = Nat224.FromBigInteger(x);
if ("{il2cpp array field local2->}" == (ulong)(-1L))
{
uint[] p = SecP224R1Field.P;
if (Nat224.Gte(array, p))
{
int num = Nat224.SubFrom(SecP224R1Field.P, array);
}
}
return array;
}
// Token: 0x0600A841 RID: 43073 RVA: 0x00243DB8 File Offset: 0x00241FB8
[Token(Token = "0x600A841")]
[Address(RVA = "0x70BE40", Offset = "0x70AE40", VA = "0x18070BE40")]
public static void Half(uint[] x, uint[] z)
{
if ("{il2cpp array field x->}" != (ulong)1L)
{
uint[] p = SecP224R1Field.P;
uint num = Nat224.Add(x, p, z);
uint num2 = Nat.ShiftDownBit(7, z, num);
return;
}
int num3 = 0;
uint num4 = Nat.ShiftDownBit(7, x, (uint)num3, z);
}
// Token: 0x0600A842 RID: 43074 RVA: 0x00243DFC File Offset: 0x00241FFC
[Token(Token = "0x600A842")]
[Address(RVA = "0x70C090", Offset = "0x70B090", VA = "0x18070C090")]
public static void Multiply(uint[] x, uint[] y, uint[] z)
{
uint[] array = Nat224.CreateExt();
Nat224.Mul(x, y, array);
SecP224R1Field.Reduce(array, z);
}
// Token: 0x0600A843 RID: 43075 RVA: 0x00243E20 File Offset: 0x00242020
[Token(Token = "0x600A843")]
[Address(RVA = "0x70BF20", Offset = "0x70AF20", VA = "0x18070BF20")]
public static void MultiplyAddToExt(uint[] x, uint[] y, uint[] zz)
{
if (Nat224.MulAddTo(x, y, zz) == (uint)0)
{
if ("{il2cpp array field zz->}" != (ulong)(-1L))
{
return;
}
uint[] pext = SecP224R1Field.PExt;
if (!Nat.Gte(14, zz, pext))
{
return;
}
}
uint[] pextInv = SecP224R1Field.PExtInv;
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
{
int length = SecP224R1Field.PExtInv.Length;
uint num = Nat.IncAt(14, zz, length);
}
}
// Token: 0x0600A844 RID: 43076 RVA: 0x00243E88 File Offset: 0x00242088
[Token(Token = "0x600A844")]
[Address(RVA = "0x70C130", Offset = "0x70B130", VA = "0x18070C130")]
public static void Negate(uint[] x, uint[] z)
{
if (!Nat224.IsZero(x))
{
int num = Nat224.Sub(SecP224R1Field.P, x, z);
return;
}
Nat224.Zero(z);
}
// Token: 0x0600A845 RID: 43077 RVA: 0x00243EB4 File Offset: 0x002420B4
[Token(Token = "0x600A845")]
[Address(RVA = "0x70C380", Offset = "0x70B380", VA = "0x18070C380")]
public static void Reduce(uint[] xx, uint[] z)
{
int length = xx.Length;
uint num = xx[5];
uint num2 = xx[5];
uint num3 = xx[6];
uint num4 = xx[3];
uint num5 = xx[0];
uint num6 = xx[4];
num4 += num2;
uint num7 = xx[0];
num5 -= num4;
uint num8 = xx[6];
num6 += num3;
uint num9 = xx[4];
num9 += num8;
num7 += num5;
num7 -= num6;
z[0] = num7;
uint num10 = xx[1];
num10 += num7;
num10 -= num9;
z[1] = num10;
int length2 = xx.Length;
uint num11 = xx[1];
num11 += num10;
num11 -= num;
num11 += num4;
uint num12 = xx[2];
num10 = num11;
num12 += num10;
num12 -= num2;
num12 += num6;
z[2] = num12;
uint num13 = xx[2];
num13 += num12;
num13 -= num3;
num13 += num9;
z[2] = num13;
uint num14 = xx[3];
num14 += num13;
num14 -= num8;
num14 += num;
z[3] = num14;
num14 += (uint)1;
num12 = num11;
num13 = num5;
num12 += num14;
num13 -= num14;
z[0] = num13;
if (num13 != (uint)0)
{
uint num15 = z[0];
num13 += num15;
z[0] = num13;
uint num16 = z[1];
num13 += num16;
z[1] = num13;
num12 += num13;
}
z[1] = num12;
ulong num17;
if (num17 == (ulong)num12 || Nat.IncAt(7, z, 4) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP224R1Field.P;
if (!Nat224.Gte(z, p))
{
return;
}
}
SecP224R1Field.AddPInvTo(z);
}
// Token: 0x0600A846 RID: 43078 RVA: 0x002440AC File Offset: 0x002422AC
[Token(Token = "0x600A846")]
[Address(RVA = "0x70C1D0", Offset = "0x70B1D0", VA = "0x18070C1D0")]
public static void Reduce32(uint x, uint[] z)
{
if (x != (uint)0)
{
uint num = z[0];
num -= x;
z[0] = num;
if (num != (uint)0)
{
uint num2 = z[0];
num += num2;
z[0] = num;
uint num3 = z[1];
num += num3;
z[1] = num;
}
uint num4 = z[1];
num4 += x;
num += num4;
z[1] = num;
if (num != (uint)0 && Nat.IncAt(7, z, 4) != (uint)0)
{
goto IL_8B;
}
}
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP224R1Field.P;
if (!Nat224.Gte(z, p))
{
return;
}
IL_8B:
SecP224R1Field.AddPInvTo(z);
}
// Token: 0x0600A847 RID: 43079 RVA: 0x00244150 File Offset: 0x00242350
[Token(Token = "0x600A847")]
[Address(RVA = "0x70C830", Offset = "0x70B830", VA = "0x18070C830")]
public static void Square(uint[] x, uint[] z)
{
uint[] array = Nat224.CreateExt();
Nat224.Square(x, array);
SecP224R1Field.Reduce(array, z);
}
// Token: 0x0600A848 RID: 43080 RVA: 0x00244174 File Offset: 0x00242374
[Token(Token = "0x600A848")]
[Address(RVA = "0x70C750", Offset = "0x70B750", VA = "0x18070C750")]
public static void SquareN(uint[] x, int n, uint[] z)
{
uint[] array = Nat224.CreateExt();
Nat224.Square(x, array);
SecP224R1Field.Reduce(array, z);
if (n > 0)
{
Nat224.Square(z, array);
SecP224R1Field.Reduce(array, z);
}
}
// Token: 0x0600A849 RID: 43081 RVA: 0x002441AC File Offset: 0x002423AC
[Token(Token = "0x600A849")]
[Address(RVA = "0x70CAA0", Offset = "0x70BAA0", VA = "0x18070CAA0")]
public static void Subtract(uint[] x, uint[] y, uint[] z)
{
if (Nat224.Sub(x, y, z) != 0)
{
uint num = z[0];
num += (uint)1;
z[0] = num;
if (num != (uint)0)
{
uint num2 = z[0];
num2 += num;
z[0] = num2;
uint num3 = z[1];
num3 += num2;
z[1] = num3;
}
uint num4 = z[1];
num += num4;
z[1] = num;
ulong num5;
if (num5 != (ulong)num)
{
int num6 = Nat.DecAt(7, z, 4);
}
}
}
// Token: 0x0600A84A RID: 43082 RVA: 0x00244230 File Offset: 0x00242430
[Token(Token = "0x600A84A")]
[Address(RVA = "0x70C990", Offset = "0x70B990", VA = "0x18070C990")]
public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz)
{
if (Nat.Sub(14, xx, yy, zz) != 0)
{
uint[] pextInv = SecP224R1Field.PExtInv;
if (Nat.SubFrom(pextInv.Length, pextInv, zz) != 0)
{
int length = SecP224R1Field.PExtInv.Length;
int num = Nat.DecAt(14, zz, length);
}
}
}
// Token: 0x0600A84B RID: 43083 RVA: 0x0024427C File Offset: 0x0024247C
[Token(Token = "0x600A84B")]
[Address(RVA = "0x70CBE0", Offset = "0x70BBE0", VA = "0x18070CBE0")]
public static void Twice(uint[] x, uint[] z)
{
int num = 0;
if (Nat.ShiftUpBit(7, x, (uint)num, z) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP224R1Field.P;
if (!Nat224.Gte(z, p))
{
return;
}
}
SecP224R1Field.AddPInvTo(z);
}
// Token: 0x0600A84C RID: 43084 RVA: 0x002442C0 File Offset: 0x002424C0
[Token(Token = "0x600A84C")]
[Address(RVA = "0x70BB90", Offset = "0x70AB90", VA = "0x18070BB90")]
private static void AddPInvTo(uint[] z)
{
uint num = z[0];
z[0] = num;
if (num != (uint)0)
{
uint num2 = z[0];
num += num2;
z[0] = num;
uint num3 = z[1];
num += num3;
z[1] = num;
}
uint num4 = z[1];
num4 += (uint)1;
num += num4;
z[1] = num;
ulong num5;
if (num5 != (ulong)num)
{
uint num6 = Nat.IncAt(7, z, 4);
return;
}
}
// Token: 0x0600A84D RID: 43085 RVA: 0x0024433C File Offset: 0x0024253C
[Token(Token = "0x600A84D")]
[Address(RVA = "0x70C8C0", Offset = "0x70B8C0", VA = "0x18070C8C0")]
private static void SubPInvFrom(uint[] z)
{
uint num = z[0];
num += (uint)1;
z[0] = num;
if (num != (uint)0)
{
uint num2 = z[0];
num2 += num;
z[0] = num2;
uint num3 = z[1];
num3 += num2;
z[1] = num3;
}
uint num4 = z[1];
num += num4;
z[1] = num;
ulong num5;
if (num5 != (ulong)num)
{
int num6 = Nat.DecAt(7, z, 4);
return;
}
}
// Token: 0x0600A84E RID: 43086 RVA: 0x002443B8 File Offset: 0x002425B8
[Token(Token = "0x600A84E")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public SecP224R1Field()
{
}
// Token: 0x0600A84F RID: 43087 RVA: 0x002443CC File Offset: 0x002425CC
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600A84F")]
[Address(RVA = "0x70CCD0", Offset = "0x70BCD0", VA = "0x18070CCD0")]
static SecP224R1Field()
{
uint[] array = new uint[7];
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.1E3842329C5294DBE1DF588A77C68B35C6AF83BF).FieldHandle);
SecP224R1Field.P = array;
uint[] array2 = new uint[14];
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.8C9BE3C02B5604C5CBF6A03E8032549588A6ED54).FieldHandle);
SecP224R1Field.PExt = array2;
uint[] array3 = new uint[11];
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.EBE167F7962841FA83451C9C1663416D69AA5294).FieldHandle);
SecP224R1Field.PExtInv = array3;
}
// Token: 0x04006D5A RID: 27994
[Token(Token = "0x4006D5A")]
internal static readonly uint[] P;
// Token: 0x04006D5B RID: 27995
[Token(Token = "0x4006D5B")]
internal static readonly uint[] PExt;
// Token: 0x04006D5C RID: 27996
[Token(Token = "0x4006D5C")]
private static readonly uint[] PExtInv;
// Token: 0x04006D5D RID: 27997
[Token(Token = "0x4006D5D")]
private const uint P6 = 4294967295U;
// Token: 0x04006D5E RID: 27998
[Token(Token = "0x4006D5E")]
private const uint PExt13 = 4294967295U;
}
}
@@ -0,0 +1,531 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B37 RID: 6967
[Token(Token = "0x2001B37")]
internal class SecP224R1FieldElement : AbstractFpFieldElement
{
// Token: 0x0600A850 RID: 43088 RVA: 0x00244424 File Offset: 0x00242624
[Token(Token = "0x600A850")]
[Address(RVA = "0x70B6B0", Offset = "0x70A6B0", VA = "0x18070B6B0")]
public SecP224R1FieldElement(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600A850)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224R1FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_4E:
stloc:ArgumentException(var_5_5D, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecP224R1FieldElement"), ldstr:string("x")))
}
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: 0x0600A851 RID: 43089 RVA: 0x00244490 File Offset: 0x00242690
[Token(Token = "0x600A851")]
[Address(RVA = "0x7076D0", Offset = "0x7066D0", VA = "0x1807076D0")]
public SecP224R1FieldElement()
{
uint[] array = Nat224.Create();
this.x = array;
}
// Token: 0x0600A852 RID: 43090 RVA: 0x002444B4 File Offset: 0x002426B4
[Token(Token = "0x600A852")]
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
protected internal SecP224R1FieldElement(uint[] x)
{
this.x = x;
}
// Token: 0x17001A5E RID: 6750
// (get) Token: 0x0600A853 RID: 43091 RVA: 0x002444D0 File Offset: 0x002426D0
[Token(Token = "0x17001A5E")]
public override bool IsZero
{
[Token(Token = "0x600A853")]
[Address(RVA = "0x707980", Offset = "0x706980", VA = "0x180707980", Slot = "18")]
get
{
return Nat224.IsZero(this.x);
}
}
// Token: 0x17001A5F RID: 6751
// (get) Token: 0x0600A854 RID: 43092 RVA: 0x002444E8 File Offset: 0x002426E8
[Token(Token = "0x17001A5F")]
public override bool IsOne
{
[Token(Token = "0x600A854")]
[Address(RVA = "0x707970", Offset = "0x706970", VA = "0x180707970", Slot = "17")]
get
{
return Nat224.IsOne(this.x);
}
}
// Token: 0x0600A855 RID: 43093 RVA: 0x00244500 File Offset: 0x00242700
[Token(Token = "0x600A855")]
[Address(RVA = "0x7075F0", Offset = "0x7065F0", VA = "0x1807075F0", Slot = "24")]
public override bool TestBitZero()
{
uint[] array = this.x;
int num = 0;
return Nat224.GetBit(array, num) == (uint)1;
}
// Token: 0x0600A856 RID: 43094 RVA: 0x00244524 File Offset: 0x00242724
[Token(Token = "0x600A856")]
[Address(RVA = "0x707610", Offset = "0x706610", VA = "0x180707610", Slot = "4")]
public override BigInteger ToBigInteger()
{
return Nat224.ToBigInteger(this.x);
}
// Token: 0x17001A60 RID: 6752
// (get) Token: 0x0600A857 RID: 43095 RVA: 0x0024453C File Offset: 0x0024273C
[Token(Token = "0x17001A60")]
public override string FieldName
{
[Token(Token = "0x600A857")]
[Address(RVA = "0x70B880", Offset = "0x70A880", VA = "0x18070B880", Slot = "5")]
get
{
return "SecP224R1Field";
}
}
// Token: 0x17001A61 RID: 6753
// (get) Token: 0x0600A858 RID: 43096 RVA: 0x00244550 File Offset: 0x00242750
[Token(Token = "0x17001A61")]
public override int FieldSize
{
[Token(Token = "0x600A858")]
[Address(RVA = "0x70B8B0", Offset = "0x70A8B0", VA = "0x18070B8B0", Slot = "6")]
get
{
return SecP224R1FieldElement.Q.BitLength;
}
}
// Token: 0x0600A859 RID: 43097 RVA: 0x00244570 File Offset: 0x00242770
[Token(Token = "0x600A859")]
[Address(RVA = "0x70A290", Offset = "0x709290", VA = "0x18070A290", Slot = "7")]
public override ECFieldElement Add(ECFieldElement b)
{
uint[] array;
do
{
array = Nat224.Create();
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP224R1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecP224R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A85A RID: 43098 RVA: 0x002445B8 File Offset: 0x002427B8
[Token(Token = "0x600A85A")]
[Address(RVA = "0x70A200", Offset = "0x709200", VA = "0x18070A200", Slot = "8")]
public override ECFieldElement AddOne()
{
/*
An exception occurred when decompiling this method (0600A85A)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224R1FieldElement::AddOne()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat224::Create))
call:void(SecP224R1Field::AddOne, ldfld:uint32[](SecP224R1FieldElement::x, ldloc:SecP224R1FieldElement(this)), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP224R1FieldElement::x, newobj:SecP224R1FieldElement(SecP224R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A85B RID: 43099 RVA: 0x002445E4 File Offset: 0x002427E4
[Token(Token = "0x600A85B")]
[Address(RVA = "0x70B200", Offset = "0x70A200", VA = "0x18070B200", Slot = "9")]
public override ECFieldElement Subtract(ECFieldElement b)
{
uint[] array;
do
{
array = Nat224.Create();
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP224R1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecP224R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A85C RID: 43100 RVA: 0x0024462C File Offset: 0x0024282C
[Token(Token = "0x600A85C")]
[Address(RVA = "0x70A910", Offset = "0x709910", VA = "0x18070A910", Slot = "10")]
public override ECFieldElement Multiply(ECFieldElement b)
{
uint[] array;
do
{
array = Nat224.Create();
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP224R1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecP224R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A85D RID: 43101 RVA: 0x00244674 File Offset: 0x00242874
[Token(Token = "0x600A85D")]
[Address(RVA = "0x70A3D0", Offset = "0x7093D0", VA = "0x18070A3D0", Slot = "11")]
public override ECFieldElement Divide(ECFieldElement b)
{
uint[] array;
do
{
array = Nat224.Create();
uint[] p = SecP224R1Field.P;
if ("{il2cpp array field local3->}" == typeof(SecP224R1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
uint[] array2 = this.x;
SecP224R1Field.Multiply(array, array2, array);
new SecP224R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A85E RID: 43102 RVA: 0x002446CC File Offset: 0x002428CC
[Token(Token = "0x600A85E")]
[Address(RVA = "0x70AA50", Offset = "0x709A50", VA = "0x18070AA50", Slot = "12")]
public override ECFieldElement Negate()
{
/*
An exception occurred when decompiling this method (0600A85E)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224R1FieldElement::Negate()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat224::Create))
call:void(SecP224R1Field::Negate, ldfld:uint32[](SecP224R1FieldElement::x, ldloc:SecP224R1FieldElement(this)), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP224R1FieldElement::x, newobj:SecP224R1FieldElement(SecP224R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A85F RID: 43103 RVA: 0x002446F8 File Offset: 0x002428F8
[Token(Token = "0x600A85F")]
[Address(RVA = "0x70B170", Offset = "0x70A170", VA = "0x18070B170", Slot = "13")]
public override ECFieldElement Square()
{
/*
An exception occurred when decompiling this method (0600A85F)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224R1FieldElement::Square()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat224::Create))
call:void(SecP224R1Field::Square, ldfld:uint32[](SecP224R1FieldElement::x, ldloc:SecP224R1FieldElement(this)), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP224R1FieldElement::x, newobj:SecP224R1FieldElement(SecP224R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A860 RID: 43104 RVA: 0x00244724 File Offset: 0x00242924
[Token(Token = "0x600A860")]
[Address(RVA = "0x70A730", Offset = "0x709730", VA = "0x18070A730", Slot = "14")]
public override ECFieldElement Invert()
{
/*
An exception occurred when decompiling this method (0600A860)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224R1FieldElement::Invert()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat224::Create))
stloc:uint32[](var_2_0E, ldfld:uint32[](SecP224R1FieldElement::x, ldloc:SecP224R1FieldElement(this)))
call:void(Mod::Invert, ldsfld:uint32[](SecP224R1Field::P), ldloc:uint32[](var_2_0E), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP224R1FieldElement::x, newobj:SecP224R1FieldElement(SecP224R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A861 RID: 43105 RVA: 0x00244758 File Offset: 0x00242958
[Token(Token = "0x600A861")]
[Address(RVA = "0x70AE80", Offset = "0x709E80", VA = "0x18070AE80", Slot = "15")]
public override ECFieldElement Sqrt()
{
uint[] array;
do
{
array = this.x;
}
while (Nat224.IsZero(array) || Nat224.IsOne(array));
uint[] array2 = Nat224.Create();
SecP224R1Field.Negate(array, array2);
uint[] array3 = Mod.Random(SecP224R1Field.P);
uint[] array4 = Nat224.Create();
uint[] array5 = Nat224.Create();
uint[] array6 = Nat224.Create();
Nat224.Copy(array, array5);
Nat224.Copy(array5, array6);
uint num;
SecP224R1Field.SquareN(array5, (int)num, array5);
SecP224R1Field.Multiply(array5, array6, array5);
SecP224R1Field.SquareN(array5, 95, array5);
if (!Nat224.IsOne(array5))
{
return;
}
if (!SecP224R1FieldElement.TrySqrt(array2, array3, array4))
{
SecP224R1Field.AddOne(array3, array3);
}
SecP224R1Field.Square(array4, array3);
if (Nat224.Eq(array, array3))
{
new SecP224R1FieldElement().x = array4;
return;
}
}
// Token: 0x0600A862 RID: 43106 RVA: 0x00244828 File Offset: 0x00242A28
[Token(Token = "0x600A862")]
[Address(RVA = "0x70A550", Offset = "0x709550", VA = "0x18070A550", Slot = "0")]
public override bool Equals(object obj)
{
/*
An exception occurred when decompiling this method (0600A862)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224R1FieldElement::Equals(System.Object)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP224R1FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600A863 RID: 43107 RVA: 0x00244844 File Offset: 0x00242A44
[Token(Token = "0x600A863")]
[Address(RVA = "0x70A5E0", Offset = "0x7095E0", VA = "0x18070A5E0", Slot = "25")]
public override bool Equals(ECFieldElement other)
{
/*
An exception occurred when decompiling this method (0600A863)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224R1FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP224R1FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600A864 RID: 43108 RVA: 0x00244860 File Offset: 0x00242A60
[Token(Token = "0x600A864")]
[Address(RVA = "0x706CC0", Offset = "0x705CC0", VA = "0x180706CC0", Slot = "27")]
public virtual bool Equals(SecP224R1FieldElement other)
{
if (this != other)
{
if (other != 0)
{
uint[] array = other.x;
return Nat224.Eq(this.x, array);
}
}
return true;
}
// Token: 0x0600A865 RID: 43109 RVA: 0x0024488C File Offset: 0x00242A8C
[Token(Token = "0x600A865")]
[Address(RVA = "0x70A670", Offset = "0x709670", VA = "0x18070A670", Slot = "2")]
public override int GetHashCode()
{
SecP224R1FieldElement.Q.Finalize();
uint[] array = this.x;
int num = 0;
return Arrays.GetHashCode(array, num, 7);
}
// Token: 0x0600A866 RID: 43110 RVA: 0x002448BC File Offset: 0x00242ABC
[Token(Token = "0x600A866")]
[Address(RVA = "0x70A800", Offset = "0x709800", VA = "0x18070A800")]
private static bool IsSquare(uint[] x)
{
uint[] array = Nat224.Create();
uint[] array2 = Nat224.Create();
Nat224.Copy(x, array);
Nat224.Copy(array, array2);
uint num;
SecP224R1Field.SquareN(array, (int)num, array);
SecP224R1Field.Multiply(array, array2, array);
SecP224R1Field.SquareN(array, 95, array);
return Nat224.IsOne(array);
}
// Token: 0x0600A867 RID: 43111 RVA: 0x00244908 File Offset: 0x00242B08
[Token(Token = "0x600A867")]
[Address(RVA = "0x70AAE0", Offset = "0x709AE0", VA = "0x18070AAE0")]
private static void RM(uint[] nc, uint[] d0, uint[] e0, uint[] d1, uint[] e1, uint[] f1, uint[] t)
{
}
// Token: 0x0600A868 RID: 43112 RVA: 0x00244918 File Offset: 0x00242B18
[Token(Token = "0x600A868")]
[Address(RVA = "0x70AC20", Offset = "0x709C20", VA = "0x18070AC20")]
private static void RP(uint[] nc, uint[] d1, uint[] e1, uint[] f1, uint[] t)
{
Nat224.Copy(nc, f1);
uint[] array = Nat224.Create();
uint[] array2 = Nat224.Create();
Nat224.Copy(d1, array);
Nat224.Copy(e1, array2);
uint num2;
uint num = num2 - 1U;
}
// Token: 0x0600A869 RID: 43113 RVA: 0x00244950 File Offset: 0x00242B50
[Token(Token = "0x600A869")]
[Address(RVA = "0x70AD90", Offset = "0x709D90", VA = "0x18070AD90")]
private static void RS(uint[] d, uint[] e, uint[] f, uint[] t)
{
SecP224R1Field.Multiply(e, d, e);
SecP224R1Field.Twice(e, e);
SecP224R1Field.Square(d, t);
SecP224R1Field.Add(f, t, d);
SecP224R1Field.Multiply(f, t, f);
int num = 0;
SecP224R1Field.Reduce32(Nat.ShiftUpBits(7, f, 2, (uint)num), f);
}
// Token: 0x0600A86A RID: 43114 RVA: 0x00244994 File Offset: 0x00242B94
[Token(Token = "0x600A86A")]
[Address(RVA = "0x70B340", Offset = "0x70A340", VA = "0x18070B340")]
private static bool TrySqrt(uint[] nc, uint[] r, uint[] t)
{
uint[] array = Nat224.Create();
Nat224.Copy(r, array);
uint[] array2 = Nat224.Create();
uint num;
array2[0] = num;
uint[] array3 = Nat224.Create();
Nat224.Copy(nc, array3);
uint[] array4 = Nat224.Create();
uint[] array5 = Nat224.Create();
Nat224.Copy(array, array4);
Nat224.Copy(array2, array5);
uint num2 = num - 1U;
SecP224R1FieldElement.RS(array, array2, array3, t);
uint[] array6 = Nat224.Create();
uint[] array7 = Nat224.Create();
Nat224.Copy(array, array6);
Nat224.Copy(array2, array7);
SecP224R1FieldElement.RS(array, array2, array3, t);
bool flag = Nat224.IsZero(array);
if (!flag)
{
num += (uint)1;
return flag;
}
Mod.Invert(SecP224R1Field.P, array7, t);
SecP224R1Field.Multiply(t, array6, t);
throw new NullReferenceException();
}
// Token: 0x04006D5F RID: 27999
[Token(Token = "0x4006D5F")]
public static readonly BigInteger Q = SecP224R1Curve.q;
// Token: 0x04006D60 RID: 28000
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006D60")]
protected internal readonly uint[] x;
}
}
@@ -0,0 +1,289 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B38 RID: 6968
[Token(Token = "0x2001B38")]
internal class SecP224R1Point : AbstractFpPoint
{
// Token: 0x0600A86C RID: 43116 RVA: 0x00244A84 File Offset: 0x00242C84
[Token(Token = "0x600A86C")]
[Address(RVA = "0x70DFA0", Offset = "0x70CFA0", VA = "0x18070DFA0")]
public SecP224R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600A86D RID: 43117 RVA: 0x00244A94 File Offset: 0x00242C94
[Token(Token = "0x600A86D")]
[Address(RVA = "0x70DEE0", Offset = "0x70CEE0", VA = "0x18070DEE0")]
public SecP224R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A86D)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600A86E RID: 43118 RVA: 0x00244ABC File Offset: 0x00242CBC
[Token(Token = "0x600A86E")]
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
internal SecP224R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600A86F RID: 43119 RVA: 0x00244ACC File Offset: 0x00242CCC
[Token(Token = "0x600A86F")]
[Address(RVA = "0x70D790", Offset = "0x70C790", VA = "0x18070D790", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600A86F)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224R1Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecP224R1Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecP224R1Point[exp:ECPoint](this)))
}
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: 0x0600A870 RID: 43120 RVA: 0x00244AE8 File Offset: 0x00242CE8
[Token(Token = "0x600A870")]
[Address(RVA = "0x70CF70", Offset = "0x70BF70", VA = "0x18070CF70", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
if (!base.IsInfinity)
{
if (!b.IsInfinity)
{
if (this == b)
{
return b;
}
bool flag = this.SatisfiesOrder();
ECFieldElement[] zs = this.m_zs;
ECFieldElement[] zs2 = b.m_zs;
uint[] array = Nat224.CreateExt();
uint[] array2 = Nat224.Create();
uint[] array3 = Nat224.Create();
uint[] array4 = Nat224.Create();
if (array4 == 0)
{
SecP224R1Field.Square(array4, array3);
SecP224R1Field.Multiply(array3, array3, array2);
SecP224R1Field.Multiply(array3, array3, array3);
SecP224R1Field.Multiply(array3, array3, array3);
}
SecP224R1Field.Multiply(array4, array4, array);
SecP224R1Field.Multiply(array4, array4, array4);
SecP224R1Field.Multiply(array4, array4, array4);
uint[] array5 = Nat224.Create();
if (!Nat224.IsZero(array5))
{
SecP224R1Field.Square(array5, array3);
uint[] array6 = Nat224.Create();
SecP224R1Field.Multiply(array3, array5, array6);
SecP224R1Field.Negate(array6, array6);
SecP224R1Field.Reduce32(Nat224.AddBothTo(array3, array3, array6), array6);
SecP224R1FieldElement secP224R1FieldElement = new SecP224R1FieldElement();
secP224R1FieldElement.x = array4;
SecP224R1Field.Square(array2, array4);
uint[] x = secP224R1FieldElement.x;
SecP224R1Field.Subtract(x, array6, x);
SecP224R1FieldElement secP224R1FieldElement2 = new SecP224R1FieldElement();
secP224R1FieldElement2.x = array6;
uint[] x2 = secP224R1FieldElement.x;
SecP224R1Field.Subtract(array3, x2, array6);
if (Nat224.MulAddTo(secP224R1FieldElement2.x, array2, array) == (uint)0)
{
if ("{il2cpp array field local16->}" != (ulong)(-1L))
{
goto IL_1B3;
}
uint[] pext = SecP224R1Field.PExt;
if (!Nat.Gte(14, array, pext))
{
goto IL_1B3;
}
}
uint[] pextInv = SecP224R1Field.PExtInv;
if (Nat.AddTo(pextInv.Length, pextInv, array) != (uint)0)
{
int length = SecP224R1Field.PExtInv.Length;
uint num = Nat.IncAt(14, array, length);
}
IL_1B3:
uint[] x3 = secP224R1FieldElement2.x;
SecP224R1Field.Reduce(array, x3);
SecP224R1FieldElement secP224R1FieldElement3 = new SecP224R1FieldElement();
secP224R1FieldElement3.x = array5;
SecP224R1Field.Multiply(array5, array, array5);
uint[] x4 = secP224R1FieldElement3.x;
ECFieldElement[] array7 = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
}
bool flag2;
if (!flag2)
{
}
}
return b;
}
// Token: 0x0600A871 RID: 43121 RVA: 0x00244D0C File Offset: 0x00242F0C
[Token(Token = "0x600A871")]
[Address(RVA = "0x70D930", Offset = "0x70C930", VA = "0x18070D930", Slot = "30")]
public override ECPoint Twice()
{
while (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement y = this.m_y;
if (y != 0)
{
if (y.IsOne)
{
break;
}
ECFieldElement x = this.m_x;
if (x == 0)
{
}
if (x != 0)
{
ECFieldElement ecfieldElement = this.m_zs[0];
if (ecfieldElement == 0)
{
}
if (ecfieldElement != 0)
{
uint[] array = Nat224.Create();
uint[] array2 = Nat224.Create();
uint[] array3 = Nat224.Create();
uint[] array4 = Nat224.Create();
SecP224R1Field.Square(array3, array4);
if (ecfieldElement.BitLength == 0)
{
}
SecP224R1Field.Multiply(array2, array, array2);
SecP224R1Field.Reduce32(Nat224.AddBothTo(array2, array2, array2), array2);
SecP224R1Field.Multiply(array3, array2, array3);
int num = 0;
SecP224R1Field.Reduce32(Nat.ShiftUpBits(7, array3, 2, (uint)num), array3);
int num2 = 0;
SecP224R1Field.Reduce32(Nat.ShiftUpBits(7, array4, 3, (uint)num2, array), array);
SecP224R1FieldElement secP224R1FieldElement = new SecP224R1FieldElement();
secP224R1FieldElement.x = array4;
SecP224R1Field.Square(array2, array4);
uint[] x2 = secP224R1FieldElement.x;
SecP224R1Field.Subtract(x2, array3, x2);
uint[] x3 = secP224R1FieldElement.x;
SecP224R1Field.Subtract(x3, array3, x3);
SecP224R1FieldElement secP224R1FieldElement2 = new SecP224R1FieldElement();
secP224R1FieldElement2.x = array3;
uint[] x4 = secP224R1FieldElement.x;
SecP224R1Field.Subtract(array3, x4, array3);
uint[] x5 = secP224R1FieldElement2.x;
SecP224R1Field.Multiply(x5, array2, x5);
uint[] x6 = secP224R1FieldElement2.x;
SecP224R1Field.Subtract(x6, array, x6);
SecP224R1FieldElement secP224R1FieldElement3 = new SecP224R1FieldElement();
secP224R1FieldElement3.x = array2;
uint[] x7 = secP224R1FieldElement3.x;
(new ECFieldElement[1])[0] = secP224R1FieldElement3;
bool withCompression = this.m_withCompression;
break;
}
}
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600A872 RID: 43122 RVA: 0x00244EC8 File Offset: 0x002430C8
[Token(Token = "0x600A872")]
[Address(RVA = "0x6ECFE0", Offset = "0x6EBFE0", VA = "0x1806ECFE0", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
if (this != b)
{
if (!base.IsInfinity)
{
if (!b.IsInfinity)
{
if (this.m_y.IsOne)
{
return b;
}
ECPoint ecpoint;
bool flag = ecpoint.SatisfiesCurveEquation();
}
bool flag2 = base.SatisfiesCurveEquation();
}
return b;
}
bool flag3 = base.SatisfiesCurveEquation();
throw new NullReferenceException();
}
// Token: 0x0600A873 RID: 43123 RVA: 0x00244F18 File Offset: 0x00243118
[Token(Token = "0x600A873")]
[Address(RVA = "0x6ECF60", Offset = "0x6EBF60", VA = "0x1806ECF60", Slot = "33")]
public override ECPoint ThreeTimes()
{
if (!base.IsInfinity && !this.m_y.IsOne)
{
ECPoint ecpoint;
bool flag = ecpoint.SatisfiesCurveEquation();
}
throw new NullReferenceException();
}
// Token: 0x0600A874 RID: 43124 RVA: 0x00244F48 File Offset: 0x00243148
[Token(Token = "0x600A874")]
[Address(RVA = "0x70D830", Offset = "0x70C830", VA = "0x18070D830", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement y = this.m_y;
ECFieldElement[] zs = this.m_zs;
bool withCompression = this.m_withCompression;
}
throw new NullReferenceException();
}
}
}
@@ -0,0 +1,333 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B39 RID: 6969
[Token(Token = "0x2001B39")]
internal class SecP256K1Curve : AbstractFpCurve
{
// Token: 0x0600A875 RID: 43125 RVA: 0x00244F80 File Offset: 0x00243180
[Token(Token = "0x600A875")]
[Address(RVA = "0x70E610", Offset = "0x70D610", VA = "0x18070E610")]
public SecP256K1Curve()
{
BigInteger bigInteger = SecP256K1Curve.q;
base..ctor(bigInteger);
int num;
int num2;
ulong num3;
SecP256K1Point secP256K1Point = new SecP256K1Point(this, num, num2, num3 != 0UL);
num2 = 0;
num = 0;
this.m_infinity = secP256K1Point;
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
int fieldSize2 = this.FieldSize;
this.m_b = fieldSize2;
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141");
BigInteger bigInteger2 = new BigInteger(1, array);
this.m_order = bigInteger2;
BigInteger one = BigInteger.One;
this.m_cofactor = one;
this.m_coord = (int)((ulong)2L);
}
// Token: 0x0600A876 RID: 43126 RVA: 0x00245008 File Offset: 0x00243208
[Token(Token = "0x600A876")]
[Address(RVA = "0x70DFC0", Offset = "0x70CFC0", VA = "0x18070DFC0", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600A876)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256K1Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_1_05, ldsfld:BigInteger(SecP256K1Curve::q))
stloc:SecP256K1Point(var_2_11, newobj:SecP256K1Point(SecP256K1Point::.ctor, ldloc:SecP256K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_3), ldloc:uint64[exp:bool](var_6)))
stloc:int32(var_3, ldc.i4:int32(0))
stloc:int32(var_5, ldc.i4:int32(0))
stfld:SecP256K1Point(SecP256K1Curve::m_infinity, ldloc:SecP256K1Curve(var_0), ldloc:SecP256K1Point(var_2_11))
stloc:int32(var_7_24, callvirtgetter:int32(SecP256K1Curve::get_FieldSize, ldloc:SecP256K1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecP256K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_7_24))
stloc:int32(var_9_34, callvirtgetter:int32(SecP256K1Curve::get_FieldSize, ldloc:SecP256K1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecP256K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_9_34))
stloc:uint8[](var_10_48, call:uint8[](Hex::Decode, ldstr:string("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141")))
stloc:BigInteger(var_11_52, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_10_48)))
stfld:BigInteger(ECCurve::m_order, ldloc:SecP256K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_11_52))
stloc:BigInteger(var_12_61, ldsfld:BigInteger(BigInteger::One))
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecP256K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_12_61))
stfld:int32(ECCurve::m_coord, ldloc:SecP256K1Curve[exp:ECCurve](var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](2)))
}
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: 0x0600A877 RID: 43127 RVA: 0x00245088 File Offset: 0x00243288
[Token(Token = "0x600A877")]
[Address(RVA = "0x6E9C20", Offset = "0x6E8C20", VA = "0x1806E9C20", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 2;
}
// Token: 0x17001A62 RID: 6754
// (get) Token: 0x0600A878 RID: 43128 RVA: 0x0024509C File Offset: 0x0024329C
[Token(Token = "0x17001A62")]
public virtual BigInteger Q
{
[Token(Token = "0x600A878")]
[Address(RVA = "0x70E810", Offset = "0x70D810", VA = "0x18070E810", Slot = "38")]
get
{
return SecP256K1Curve.q;
}
}
// Token: 0x17001A63 RID: 6755
// (get) Token: 0x0600A879 RID: 43129 RVA: 0x002450B0 File Offset: 0x002432B0
[Token(Token = "0x17001A63")]
public override ECPoint Infinity
{
[Token(Token = "0x600A879")]
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600A879)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256K1Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP256K1Point(var_0_06, ldfld:SecP256K1Point(SecP256K1Curve::m_infinity, ldloc:SecP256K1Curve(this)))
}
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: 0x17001A64 RID: 6756
// (get) Token: 0x0600A87A RID: 43130 RVA: 0x002450C4 File Offset: 0x002432C4
[Token(Token = "0x17001A64")]
public override int FieldSize
{
[Token(Token = "0x600A87A")]
[Address(RVA = "0x70E7A0", Offset = "0x70D7A0", VA = "0x18070E7A0", Slot = "4")]
get
{
return SecP256K1Curve.q.BitLength;
}
}
// Token: 0x0600A87B RID: 43131 RVA: 0x002450E4 File Offset: 0x002432E4
[Token(Token = "0x600A87B")]
[Address(RVA = "0x70E510", Offset = "0x70D510", VA = "0x18070E510", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600A87B)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256K1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP256K1FieldElement(var_0_06, newobj:SecP256K1FieldElement(SecP256K1FieldElement::.ctor, ldloc:BigInteger(x)))
}
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: 0x0600A87C RID: 43132 RVA: 0x002450F8 File Offset: 0x002432F8
[Token(Token = "0x600A87C")]
[Address(RVA = "0x70E480", Offset = "0x70D480", VA = "0x18070E480", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A87C)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256K1Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP256K1Point(var_0_09, newobj:SecP256K1Point(SecP256K1Point::.ctor, ldloc:SecP256K1Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600A87D RID: 43133 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600A87D")]
[Address(RVA = "0x70E3E0", Offset = "0x70D3E0", VA = "0x18070E3E0", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600A87E RID: 43134 RVA: 0x00245110 File Offset: 0x00243310
[Token(Token = "0x600A87E")]
[Address(RVA = "0x70E180", Offset = "0x70D180", VA = "0x18070E180", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
uint[] array;
int num;
for (;;)
{
array = new uint[len];
num = 0;
if (len <= 0)
{
goto IL_4A;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
if (y != 0 && y != 0)
{
break;
}
}
}
num += 16;
IL_4A:
SecP256K1Curve.SecP256K1LookupTable secP256K1LookupTable;
secP256K1LookupTable.m_outer = 0;
secP256K1LookupTable.m_table = array;
secP256K1LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x0600A87F RID: 43135 RVA: 0x00245184 File Offset: 0x00243384
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600A87F")]
[Address(RVA = "0x70E570", Offset = "0x70D570", VA = "0x18070E570")]
static SecP256K1Curve()
{
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F");
SecP256K1Curve.q = new BigInteger(1, array);
}
// Token: 0x04006D61 RID: 28001
[Token(Token = "0x4006D61")]
public static readonly BigInteger q;
// Token: 0x04006D62 RID: 28002
[Token(Token = "0x4006D62")]
private const int SECP256K1_DEFAULT_COORDS = 2;
// Token: 0x04006D63 RID: 28003
[Token(Token = "0x4006D63")]
private const int SECP256K1_FE_INTS = 8;
// Token: 0x04006D64 RID: 28004
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4006D64")]
protected readonly SecP256K1Point m_infinity;
// Token: 0x02001B3A RID: 6970
[Token(Token = "0x2001B3A")]
private class SecP256K1LookupTable : ECLookupTable
{
// Token: 0x0600A880 RID: 43136 RVA: 0x002451A8 File Offset: 0x002433A8
[Token(Token = "0x600A880")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecP256K1LookupTable(SecP256K1Curve outer, uint[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001A65 RID: 6757
// (get) Token: 0x0600A881 RID: 43137 RVA: 0x002451D0 File Offset: 0x002433D0
[Token(Token = "0x17001A65")]
public virtual int Size
{
[Token(Token = "0x600A881")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600A882 RID: 43138 RVA: 0x002451E4 File Offset: 0x002433E4
[Token(Token = "0x600A882")]
[Address(RVA = "0x7107A0", Offset = "0x70F7A0", VA = "0x1807107A0", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
uint[] array = Nat256.Create();
uint[] array2 = Nat256.Create();
int num = 0;
int num2 = 0;
if (this.m_size > num2)
{
int num3 = 0;
uint[] table = this.m_table;
uint[] table2 = this.m_table;
num3++;
num += 16;
num2++;
}
SecP256K1Curve outer = this.m_outer;
new SecP256K1FieldElement().x = array;
new SecP256K1FieldElement().x = array2;
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006D65 RID: 28005
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006D65")]
private readonly SecP256K1Curve m_outer;
// Token: 0x04006D66 RID: 28006
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006D66")]
private readonly uint[] m_table;
// Token: 0x04006D67 RID: 28007
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006D67")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,329 @@
using System;
using System.Runtime.CompilerServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B3B RID: 6971
[Token(Token = "0x2001B3B")]
internal class SecP256K1Field
{
// Token: 0x0600A883 RID: 43139 RVA: 0x00245264 File Offset: 0x00243464
[Token(Token = "0x600A883")]
[Address(RVA = "0x70FBF0", Offset = "0x70EBF0", VA = "0x18070FBF0")]
public static void Add(uint[] x, uint[] y, uint[] z)
{
if (Nat256.Add(x, y, z) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP256K1Field.P;
if (!Nat256.Gte(z, p))
{
return;
}
}
uint num = Nat.Add33To(8, (uint)977, z);
}
// Token: 0x0600A884 RID: 43140 RVA: 0x002452AC File Offset: 0x002434AC
[Token(Token = "0x600A884")]
[Address(RVA = "0x70F9A0", Offset = "0x70E9A0", VA = "0x18070F9A0")]
public static void AddExt(uint[] xx, uint[] yy, uint[] zz)
{
if (Nat.Add(16, xx, yy, zz) == (uint)0)
{
if ("{il2cpp array field zz->}" != (ulong)(-1L))
{
return;
}
uint[] pext = SecP256K1Field.PExt;
if (!Nat.Gte(16, zz, pext))
{
return;
}
}
uint[] pextInv = SecP256K1Field.PExtInv;
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
{
int length = SecP256K1Field.PExtInv.Length;
uint num = Nat.IncAt(16, zz, length);
}
}
// Token: 0x0600A885 RID: 43141 RVA: 0x00245318 File Offset: 0x00243518
[Token(Token = "0x600A885")]
[Address(RVA = "0x70FB20", Offset = "0x70EB20", VA = "0x18070FB20")]
public static void AddOne(uint[] x, uint[] z)
{
if (Nat.Inc(8, x, z) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP256K1Field.P;
if (!Nat256.Gte(z, p))
{
return;
}
}
uint num = Nat.Add33To(8, (uint)977, z);
}
// Token: 0x0600A886 RID: 43142 RVA: 0x00245360 File Offset: 0x00243560
[Token(Token = "0x600A886")]
[Address(RVA = "0x70FCD0", Offset = "0x70ECD0", VA = "0x18070FCD0")]
public static uint[] FromBigInteger(BigInteger x)
{
uint[] array = Nat256.FromBigInteger(x);
if ("{il2cpp array field local2->}" == (ulong)(-1L))
{
uint[] p = SecP256K1Field.P;
if (Nat256.Gte(array, p))
{
int num = Nat256.SubFrom(SecP256K1Field.P, array);
}
}
return array;
}
// Token: 0x0600A887 RID: 43143 RVA: 0x002453A4 File Offset: 0x002435A4
[Token(Token = "0x600A887")]
[Address(RVA = "0x70FDC0", Offset = "0x70EDC0", VA = "0x18070FDC0")]
public static void Half(uint[] x, uint[] z)
{
if ("{il2cpp array field x->}" != (ulong)1L)
{
uint[] p = SecP256K1Field.P;
uint num = Nat256.Add(x, p, z);
uint num2 = Nat.ShiftDownBit(8, z, num);
return;
}
int num3 = 0;
uint num4 = Nat.ShiftDownBit(8, x, (uint)num3, z);
}
// Token: 0x0600A888 RID: 43144 RVA: 0x002453E8 File Offset: 0x002435E8
[Token(Token = "0x600A888")]
[Address(RVA = "0x710010", Offset = "0x70F010", VA = "0x180710010")]
public static void Multiply(uint[] x, uint[] y, uint[] z)
{
uint[] array = Nat256.CreateExt();
Nat256.Mul(x, y, array);
SecP256K1Field.Reduce(array, z);
}
// Token: 0x0600A889 RID: 43145 RVA: 0x0024540C File Offset: 0x0024360C
[Token(Token = "0x600A889")]
[Address(RVA = "0x70FEA0", Offset = "0x70EEA0", VA = "0x18070FEA0")]
public static void MultiplyAddToExt(uint[] x, uint[] y, uint[] zz)
{
if (Nat256.MulAddTo(x, y, zz) == (uint)0)
{
if ("{il2cpp array field zz->}" != (ulong)(-1L))
{
return;
}
uint[] pext = SecP256K1Field.PExt;
if (!Nat.Gte(16, zz, pext))
{
return;
}
}
uint[] pextInv = SecP256K1Field.PExtInv;
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
{
int length = SecP256K1Field.PExtInv.Length;
uint num = Nat.IncAt(16, zz, length);
}
}
// Token: 0x0600A88A RID: 43146 RVA: 0x00245474 File Offset: 0x00243674
[Token(Token = "0x600A88A")]
[Address(RVA = "0x7100B0", Offset = "0x70F0B0", VA = "0x1807100B0")]
public static void Negate(uint[] x, uint[] z)
{
if (!Nat256.IsZero(x))
{
int num = Nat256.Sub(SecP256K1Field.P, x, z);
return;
}
Nat256.Zero(z);
}
// Token: 0x0600A88B RID: 43147 RVA: 0x002454A0 File Offset: 0x002436A0
[Token(Token = "0x600A88B")]
[Address(RVA = "0x710230", Offset = "0x70F230", VA = "0x180710230")]
public static void Reduce(uint[] xx, uint[] z)
{
int num = 0;
ulong num2 = Nat256.Mul33Add((uint)977, xx, 8, xx, num, z, num);
int num3 = 0;
if (Nat256.Mul33DWordAdd((uint)977, num2, z, num3) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP256K1Field.P;
if (!Nat256.Gte(z, p))
{
return;
}
}
uint num4 = Nat.Add33To(8, (uint)977, z);
}
// Token: 0x0600A88C RID: 43148 RVA: 0x00245504 File Offset: 0x00243704
[Token(Token = "0x600A88C")]
[Address(RVA = "0x710150", Offset = "0x70F150", VA = "0x180710150")]
public static void Reduce32(uint x, uint[] z)
{
if (x != (uint)0)
{
int num = 0;
if (Nat256.Mul33WordAdd((uint)977, x, z, num) != (uint)0)
{
goto IL_33;
}
}
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP256K1Field.P;
if (!Nat256.Gte(z, p))
{
return;
}
IL_33:
uint num2 = Nat.Add33To(8, (uint)977, z);
}
// Token: 0x0600A88D RID: 43149 RVA: 0x00245558 File Offset: 0x00243758
[Token(Token = "0x600A88D")]
[Address(RVA = "0x710410", Offset = "0x70F410", VA = "0x180710410")]
public static void Square(uint[] x, uint[] z)
{
uint[] array = Nat256.CreateExt();
Nat256.Square(x, array);
SecP256K1Field.Reduce(array, z);
}
// Token: 0x0600A88E RID: 43150 RVA: 0x0024557C File Offset: 0x0024377C
[Token(Token = "0x600A88E")]
[Address(RVA = "0x710330", Offset = "0x70F330", VA = "0x180710330")]
public static void SquareN(uint[] x, int n, uint[] z)
{
uint[] array = Nat256.CreateExt();
Nat256.Square(x, array);
SecP256K1Field.Reduce(array, z);
if (n > 0)
{
Nat256.Square(z, array);
SecP256K1Field.Reduce(array, z);
}
}
// Token: 0x0600A88F RID: 43151 RVA: 0x002455B4 File Offset: 0x002437B4
[Token(Token = "0x600A88F")]
[Address(RVA = "0x7105B0", Offset = "0x70F5B0", VA = "0x1807105B0")]
public static void Subtract(uint[] x, uint[] y, uint[] z)
{
if (Nat256.Sub(x, y, z) != 0)
{
int num = Nat.Sub33From(8, (uint)977, z);
return;
}
}
// Token: 0x0600A890 RID: 43152 RVA: 0x002455DC File Offset: 0x002437DC
[Token(Token = "0x600A890")]
[Address(RVA = "0x7104A0", Offset = "0x70F4A0", VA = "0x1807104A0")]
public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz)
{
if (Nat.Sub(16, xx, yy, zz) != 0)
{
uint[] pextInv = SecP256K1Field.PExtInv;
if (Nat.SubFrom(pextInv.Length, pextInv, zz) != 0)
{
int length = SecP256K1Field.PExtInv.Length;
int num = Nat.DecAt(16, zz, length);
}
}
}
// Token: 0x0600A891 RID: 43153 RVA: 0x00245628 File Offset: 0x00243828
[Token(Token = "0x600A891")]
[Address(RVA = "0x7105F0", Offset = "0x70F5F0", VA = "0x1807105F0")]
public static void Twice(uint[] x, uint[] z)
{
int num = 0;
if (Nat.ShiftUpBit(8, x, (uint)num, z) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP256K1Field.P;
if (!Nat256.Gte(z, p))
{
return;
}
}
uint num2 = Nat.Add33To(8, (uint)977, z);
}
// Token: 0x0600A892 RID: 43154 RVA: 0x00245674 File Offset: 0x00243874
[Token(Token = "0x600A892")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public SecP256K1Field()
{
}
// Token: 0x0600A893 RID: 43155 RVA: 0x00245688 File Offset: 0x00243888
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600A893")]
[Address(RVA = "0x7106D0", Offset = "0x70F6D0", VA = "0x1807106D0")]
static SecP256K1Field()
{
uint[] array = new uint[8];
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.2CABEB86D5B3D362822AF2E5D136A10A17AD85DA).FieldHandle);
SecP256K1Field.P = array;
uint[] array2 = new uint[16];
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.79A213B796D2AD7A89C2071B0732B78207F5CE01).FieldHandle);
SecP256K1Field.PExt = array2;
uint[] array3 = new uint[10];
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.BE8E2513259482B6F307AC07F23F5D9FB4841EAA).FieldHandle);
SecP256K1Field.PExtInv = array3;
}
// Token: 0x04006D68 RID: 28008
[Token(Token = "0x4006D68")]
internal static readonly uint[] P;
// Token: 0x04006D69 RID: 28009
[Token(Token = "0x4006D69")]
internal static readonly uint[] PExt;
// Token: 0x04006D6A RID: 28010
[Token(Token = "0x4006D6A")]
private static readonly uint[] PExtInv;
// Token: 0x04006D6B RID: 28011
[Token(Token = "0x4006D6B")]
private const uint P7 = 4294967295U;
// Token: 0x04006D6C RID: 28012
[Token(Token = "0x4006D6C")]
private const uint PExt15 = 4294967295U;
// Token: 0x04006D6D RID: 28013
[Token(Token = "0x4006D6D")]
private const uint PInv33 = 977U;
}
}
@@ -0,0 +1,476 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B3C RID: 6972
[Token(Token = "0x2001B3C")]
internal class SecP256K1FieldElement : AbstractFpFieldElement
{
// Token: 0x0600A894 RID: 43156 RVA: 0x002456E0 File Offset: 0x002438E0
[Token(Token = "0x600A894")]
[Address(RVA = "0x70F730", Offset = "0x70E730", VA = "0x18070F730")]
public SecP256K1FieldElement(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600A894)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256K1FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_4E:
stloc:ArgumentException(var_5_5D, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecP256K1FieldElement"), ldstr:string("x")))
}
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: 0x0600A895 RID: 43157 RVA: 0x0024574C File Offset: 0x0024394C
[Token(Token = "0x600A895")]
[Address(RVA = "0x70F700", Offset = "0x70E700", VA = "0x18070F700")]
public SecP256K1FieldElement()
{
uint[] array = Nat256.Create();
this.x = array;
}
// Token: 0x0600A896 RID: 43158 RVA: 0x00245770 File Offset: 0x00243970
[Token(Token = "0x600A896")]
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
protected internal SecP256K1FieldElement(uint[] x)
{
this.x = x;
}
// Token: 0x17001A66 RID: 6758
// (get) Token: 0x0600A897 RID: 43159 RVA: 0x0024578C File Offset: 0x0024398C
[Token(Token = "0x17001A66")]
public override bool IsZero
{
[Token(Token = "0x600A897")]
[Address(RVA = "0x6E6550", Offset = "0x6E5550", VA = "0x1806E6550", Slot = "18")]
get
{
return Nat256.IsZero(this.x);
}
}
// Token: 0x17001A67 RID: 6759
// (get) Token: 0x0600A898 RID: 43160 RVA: 0x002457A4 File Offset: 0x002439A4
[Token(Token = "0x17001A67")]
public override bool IsOne
{
[Token(Token = "0x600A898")]
[Address(RVA = "0x6E6540", Offset = "0x6E5540", VA = "0x1806E6540", Slot = "17")]
get
{
return Nat256.IsOne(this.x);
}
}
// Token: 0x0600A899 RID: 43161 RVA: 0x002457BC File Offset: 0x002439BC
[Token(Token = "0x600A899")]
[Address(RVA = "0x6E61E0", Offset = "0x6E51E0", VA = "0x1806E61E0", Slot = "24")]
public override bool TestBitZero()
{
uint[] array = this.x;
int num = 0;
return Nat256.GetBit(array, num) == (uint)1;
}
// Token: 0x0600A89A RID: 43162 RVA: 0x002457E0 File Offset: 0x002439E0
[Token(Token = "0x600A89A")]
[Address(RVA = "0x6E6200", Offset = "0x6E5200", VA = "0x1806E6200", Slot = "4")]
public override BigInteger ToBigInteger()
{
return Nat256.ToBigInteger(this.x);
}
// Token: 0x17001A68 RID: 6760
// (get) Token: 0x0600A89B RID: 43163 RVA: 0x002457F8 File Offset: 0x002439F8
[Token(Token = "0x17001A68")]
public override string FieldName
{
[Token(Token = "0x600A89B")]
[Address(RVA = "0x70F900", Offset = "0x70E900", VA = "0x18070F900", Slot = "5")]
get
{
return "SecP256K1Field";
}
}
// Token: 0x17001A69 RID: 6761
// (get) Token: 0x0600A89C RID: 43164 RVA: 0x0024580C File Offset: 0x00243A0C
[Token(Token = "0x17001A69")]
public override int FieldSize
{
[Token(Token = "0x600A89C")]
[Address(RVA = "0x70F930", Offset = "0x70E930", VA = "0x18070F930", Slot = "6")]
get
{
return SecP256K1FieldElement.Q.BitLength;
}
}
// Token: 0x0600A89D RID: 43165 RVA: 0x0024582C File Offset: 0x00243A2C
[Token(Token = "0x600A89D")]
[Address(RVA = "0x70E9B0", Offset = "0x70D9B0", VA = "0x18070E9B0", Slot = "7")]
public override ECFieldElement Add(ECFieldElement b)
{
uint[] array;
do
{
array = Nat256.Create();
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP256K1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
uint num;
if (num == (uint)0)
{
if ("{il2cpp array field local3->}" != (ulong)(-1L))
{
goto IL_59;
}
uint[] p = SecP256K1Field.P;
if (!Nat256.Gte(array, p))
{
goto IL_59;
}
}
uint num2 = Nat.Add33To(8, (uint)977, array);
IL_59:
new SecP256K1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A89E RID: 43166 RVA: 0x002458A4 File Offset: 0x00243AA4
[Token(Token = "0x600A89E")]
[Address(RVA = "0x70E870", Offset = "0x70D870", VA = "0x18070E870", Slot = "8")]
public override ECFieldElement AddOne()
{
uint[] array = Nat256.Create();
uint[] array2 = this.x;
if (Nat.Inc(8, array2, array) == (uint)0)
{
if ("{il2cpp array field local2->}" != (ulong)(-1L))
{
goto IL_44;
}
uint[] p = SecP256K1Field.P;
if (!Nat256.Gte(array, p))
{
goto IL_44;
}
}
uint num = Nat.Add33To(8, (uint)977, array);
IL_44:
new SecP256K1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A89F RID: 43167 RVA: 0x00245908 File Offset: 0x00243B08
[Token(Token = "0x600A89F")]
[Address(RVA = "0x70F530", Offset = "0x70E530", VA = "0x18070F530", Slot = "9")]
public override ECFieldElement Subtract(ECFieldElement b)
{
uint[] array;
do
{
array = Nat256.Create();
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP256K1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
int num;
if (num != 0)
{
int num2 = Nat.Sub33From(8, (uint)977, array);
}
new SecP256K1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A8A0 RID: 43168 RVA: 0x00245964 File Offset: 0x00243B64
[Token(Token = "0x600A8A0")]
[Address(RVA = "0x70EFC0", Offset = "0x70DFC0", VA = "0x18070EFC0", Slot = "10")]
public override ECFieldElement Multiply(ECFieldElement b)
{
uint[] array;
do
{
array = Nat256.Create();
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP256K1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecP256K1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A8A1 RID: 43169 RVA: 0x002459AC File Offset: 0x00243BAC
[Token(Token = "0x600A8A1")]
[Address(RVA = "0x70EB90", Offset = "0x70DB90", VA = "0x18070EB90", Slot = "11")]
public override ECFieldElement Divide(ECFieldElement b)
{
uint[] array;
do
{
array = Nat256.Create();
uint[] p = SecP256K1Field.P;
if ("{il2cpp array field local3->}" == typeof(SecP256K1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
uint[] array2 = this.x;
SecP256K1Field.Multiply(array, array2, array);
new SecP256K1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A8A2 RID: 43170 RVA: 0x00245A04 File Offset: 0x00243C04
[Token(Token = "0x600A8A2")]
[Address(RVA = "0x70F100", Offset = "0x70E100", VA = "0x18070F100", Slot = "12")]
public override ECFieldElement Negate()
{
/*
An exception occurred when decompiling this method (0600A8A2)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256K1FieldElement::Negate()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat256::Create))
call:void(SecP256K1Field::Negate, ldfld:uint32[](SecP256K1FieldElement::x, ldloc:SecP256K1FieldElement(this)), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP256K1FieldElement::x, newobj:SecP256K1FieldElement(SecP256K1FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A8A3 RID: 43171 RVA: 0x00245A30 File Offset: 0x00243C30
[Token(Token = "0x600A8A3")]
[Address(RVA = "0x70F4A0", Offset = "0x70E4A0", VA = "0x18070F4A0", Slot = "13")]
public override ECFieldElement Square()
{
/*
An exception occurred when decompiling this method (0600A8A3)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256K1FieldElement::Square()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat256::Create))
call:void(SecP256K1Field::Square, ldfld:uint32[](SecP256K1FieldElement::x, ldloc:SecP256K1FieldElement(this)), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP256K1FieldElement::x, newobj:SecP256K1FieldElement(SecP256K1FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A8A4 RID: 43172 RVA: 0x00245A5C File Offset: 0x00243C5C
[Token(Token = "0x600A8A4")]
[Address(RVA = "0x70EEF0", Offset = "0x70DEF0", VA = "0x18070EEF0", Slot = "14")]
public override ECFieldElement Invert()
{
/*
An exception occurred when decompiling this method (0600A8A4)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256K1FieldElement::Invert()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat256::Create))
stloc:uint32[](var_2_0E, ldfld:uint32[](SecP256K1FieldElement::x, ldloc:SecP256K1FieldElement(this)))
call:void(Mod::Invert, ldsfld:uint32[](SecP256K1Field::P), ldloc:uint32[](var_2_0E), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP256K1FieldElement::x, newobj:SecP256K1FieldElement(SecP256K1FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A8A5 RID: 43173 RVA: 0x00245A90 File Offset: 0x00243C90
[Token(Token = "0x600A8A5")]
[Address(RVA = "0x70F190", Offset = "0x70E190", VA = "0x18070F190", Slot = "15")]
public override ECFieldElement Sqrt()
{
uint[] array;
do
{
array = this.x;
}
while (Nat256.IsZero(array) || Nat256.IsOne(array));
uint[] array2 = Nat256.Create();
SecP256K1Field.Square(array, array2);
SecP256K1Field.Multiply(array2, array, array2);
uint[] array3 = Nat256.Create();
SecP256K1Field.Square(array2, array3);
SecP256K1Field.Multiply(array3, array, array3);
uint[] array4 = Nat256.Create();
SecP256K1Field.SquareN(array3, 3, array4);
SecP256K1Field.Multiply(array4, array3, array4);
SecP256K1Field.SquareN(array4, 3, array4);
SecP256K1Field.Multiply(array4, array3, array4);
SecP256K1Field.SquareN(array4, 2, array4);
SecP256K1Field.Multiply(array4, array2, array4);
uint[] array5 = Nat256.Create();
SecP256K1Field.SquareN(array4, 11, array5);
SecP256K1Field.Multiply(array5, array4, array5);
SecP256K1Field.SquareN(array5, 22, array4);
SecP256K1Field.Multiply(array4, array5, array4);
uint[] array6 = Nat256.Create();
SecP256K1Field.SquareN(array4, 44, array6);
SecP256K1Field.Multiply(array6, array4, array6);
uint[] array7 = Nat256.Create();
SecP256K1Field.SquareN(array6, 88, array7);
SecP256K1Field.Multiply(array7, array6, array7);
SecP256K1Field.SquareN(array7, 44, array6);
SecP256K1Field.Multiply(array6, array4, array6);
SecP256K1Field.SquareN(array6, 3, array4);
SecP256K1Field.Multiply(array4, array3, array4);
SecP256K1Field.SquareN(array4, 23, array4);
SecP256K1Field.Multiply(array4, array5, array4);
SecP256K1Field.SquareN(array4, 6, array4);
SecP256K1Field.Multiply(array4, array2, array4);
SecP256K1Field.SquareN(array4, 2, array4);
SecP256K1Field.Square(array4, array2);
if (Nat256.Eq(array, array2))
{
new SecP256K1FieldElement().x = array4;
return;
}
}
// Token: 0x0600A8A6 RID: 43174 RVA: 0x00245C28 File Offset: 0x00243E28
[Token(Token = "0x600A8A6")]
[Address(RVA = "0x70ED10", Offset = "0x70DD10", VA = "0x18070ED10", Slot = "0")]
public override bool Equals(object obj)
{
/*
An exception occurred when decompiling this method (0600A8A6)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256K1FieldElement::Equals(System.Object)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP256K1FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600A8A7 RID: 43175 RVA: 0x00245C44 File Offset: 0x00243E44
[Token(Token = "0x600A8A7")]
[Address(RVA = "0x70EDA0", Offset = "0x70DDA0", VA = "0x18070EDA0", Slot = "25")]
public override bool Equals(ECFieldElement other)
{
/*
An exception occurred when decompiling this method (0600A8A7)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256K1FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP256K1FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600A8A8 RID: 43176 RVA: 0x00245C60 File Offset: 0x00243E60
[Token(Token = "0x600A8A8")]
[Address(RVA = "0x6E5860", Offset = "0x6E4860", VA = "0x1806E5860", Slot = "27")]
public virtual bool Equals(SecP256K1FieldElement other)
{
if (this != other)
{
if (other != 0)
{
uint[] array = other.x;
return Nat256.Eq(this.x, array);
}
}
return true;
}
// Token: 0x0600A8A9 RID: 43177 RVA: 0x00245C8C File Offset: 0x00243E8C
[Token(Token = "0x600A8A9")]
[Address(RVA = "0x70EE30", Offset = "0x70DE30", VA = "0x18070EE30", Slot = "2")]
public override int GetHashCode()
{
SecP256K1FieldElement.Q.Finalize();
uint[] array = this.x;
int num = 0;
return Arrays.GetHashCode(array, num, 8);
}
// Token: 0x04006D6E RID: 28014
[Token(Token = "0x4006D6E")]
public static readonly BigInteger Q = SecP256K1Curve.q;
// Token: 0x04006D6F RID: 28015
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006D6F")]
protected internal readonly uint[] x;
}
}
@@ -0,0 +1,326 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B3D RID: 6973
[Token(Token = "0x2001B3D")]
internal class SecP256K1Point : AbstractFpPoint
{
// Token: 0x0600A8AB RID: 43179 RVA: 0x00245CD4 File Offset: 0x00243ED4
[Token(Token = "0x600A8AB")]
[Address(RVA = "0x7119A0", Offset = "0x7109A0", VA = "0x1807119A0")]
public SecP256K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600A8AC RID: 43180 RVA: 0x00245CE4 File Offset: 0x00243EE4
[Token(Token = "0x600A8AC")]
[Address(RVA = "0x7119C0", Offset = "0x7109C0", VA = "0x1807119C0")]
public SecP256K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A8AC)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256K1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600A8AD RID: 43181 RVA: 0x00245D0C File Offset: 0x00243F0C
[Token(Token = "0x600A8AD")]
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
internal SecP256K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600A8AE RID: 43182 RVA: 0x00245D1C File Offset: 0x00243F1C
[Token(Token = "0x600A8AE")]
[Address(RVA = "0x7111F0", Offset = "0x7101F0", VA = "0x1807111F0", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600A8AE)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256K1Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecP256K1Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecP256K1Point[exp:ECPoint](this)))
}
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: 0x0600A8AF RID: 43183 RVA: 0x00245D38 File Offset: 0x00243F38
[Token(Token = "0x600A8AF")]
[Address(RVA = "0x710970", Offset = "0x70F970", VA = "0x180710970", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
if (!base.IsInfinity && !b.IsInfinity && this != b)
{
bool flag = this.SatisfiesOrder();
ECFieldElement[] zs = this.m_zs;
ECFieldElement[] zs2 = b.m_zs;
uint[] array = Nat256.CreateExt();
uint[] array2 = Nat256.Create();
uint[] array3 = Nat256.Create();
uint[] array4 = Nat256.Create();
if (array4 == 0)
{
SecP256K1Field.Square(array4, array3);
SecP256K1Field.Multiply(array3, array3, array2);
SecP256K1Field.Multiply(array3, array3, array3);
SecP256K1Field.Multiply(array3, array3, array3);
}
SecP256K1Field.Multiply(array4, array4, array);
SecP256K1Field.Multiply(array4, array4, array4);
SecP256K1Field.Multiply(array4, array4, array4);
uint[] array5 = Nat256.Create();
int num;
if (num != 0)
{
int num2 = Nat.Sub33From(8, (uint)977, array5);
}
int num3;
if (num3 != 0)
{
int num4 = Nat.Sub33From(8, (uint)977, array2);
}
if (!Nat256.IsZero(array5))
{
SecP256K1Field.Square(array5, array3);
uint[] array6 = Nat256.Create();
SecP256K1Field.Multiply(array3, array5, array6);
SecP256K1Field.Negate(array6, array6);
SecP256K1Field.Reduce32(Nat256.AddBothTo(array3, array3, array6), array6);
SecP256K1FieldElement secP256K1FieldElement = new SecP256K1FieldElement();
secP256K1FieldElement.x = array4;
SecP256K1Field.Square(array2, array4);
uint[] x = secP256K1FieldElement.x;
if (Nat256.Sub(x, array6, x) != 0)
{
int num5 = Nat.Sub33From(8, (uint)977, x);
}
SecP256K1FieldElement secP256K1FieldElement2 = new SecP256K1FieldElement();
secP256K1FieldElement2.x = array6;
uint[] x2 = secP256K1FieldElement.x;
if (Nat256.Sub(array3, x2, array6) != 0)
{
int num6 = Nat.Sub33From(8, (uint)977, array6);
}
uint[] x3 = secP256K1FieldElement2.x;
if (Nat256.MulAddTo(x3, array2, array) == (uint)0)
{
if ("{il2cpp array field local16->}" != (ulong)(-1L))
{
goto IL_207;
}
uint[] pext = SecP256K1Field.PExt;
if (!Nat.Gte(16, array, pext))
{
goto IL_207;
}
}
uint[] pextInv = SecP256K1Field.PExtInv;
if (Nat.AddTo(pextInv.Length, pextInv, array) != (uint)0)
{
int length = SecP256K1Field.PExtInv.Length;
uint num7 = Nat.IncAt(16, array, length);
}
IL_207:
uint[] x4 = secP256K1FieldElement2.x;
SecP256K1Field.Reduce(array, x4);
SecP256K1FieldElement secP256K1FieldElement3 = new SecP256K1FieldElement();
secP256K1FieldElement3.x = array5;
SecP256K1Field.Multiply(array5, x3, array5);
uint[] x5 = secP256K1FieldElement3.x;
SecP256K1Field.Multiply(x5, array5, x5);
ECFieldElement[] array7 = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
bool flag2;
if (!flag2)
{
}
}
return b;
}
// Token: 0x0600A8B0 RID: 43184 RVA: 0x00245FBC File Offset: 0x002441BC
[Token(Token = "0x600A8B0")]
[Address(RVA = "0x711390", Offset = "0x710390", VA = "0x180711390", Slot = "30")]
public override ECPoint Twice()
{
while (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement y = this.m_y;
if (y != 0)
{
if (y.IsOne)
{
break;
}
ECFieldElement x = this.m_x;
if (x == 0)
{
}
if (x != 0)
{
ECFieldElement ecfieldElement = this.m_zs[0];
if (ecfieldElement == 0)
{
}
if (ecfieldElement != 0)
{
uint[] array = Nat256.Create();
uint[] array2 = Nat256.Create();
SecP256K1Field.Square(array, array2);
uint[] array3 = Nat256.Create();
SecP256K1Field.Reduce32(Nat256.AddBothTo(array3, array3, array3), array3);
SecP256K1Field.Multiply(array, array3, array);
int num = 0;
SecP256K1Field.Reduce32(Nat.ShiftUpBits(8, array, 2, (uint)num), array);
uint[] array4 = Nat256.Create();
int num2 = 0;
SecP256K1Field.Reduce32(Nat.ShiftUpBits(8, array2, 3, (uint)num2, array4), array4);
SecP256K1FieldElement secP256K1FieldElement = new SecP256K1FieldElement();
secP256K1FieldElement.x = array2;
SecP256K1Field.Square(array3, array2);
uint[] x2 = secP256K1FieldElement.x;
if (Nat256.Sub(x2, array, x2) != 0)
{
int num3 = Nat.Sub33From(8, (uint)977, x2);
}
uint[] x3 = secP256K1FieldElement.x;
if (Nat256.Sub(x3, array, x3) != 0)
{
int num4 = Nat.Sub33From(8, (uint)977, x3);
}
SecP256K1FieldElement secP256K1FieldElement2 = new SecP256K1FieldElement();
secP256K1FieldElement2.x = array;
uint[] x4 = secP256K1FieldElement.x;
if (Nat256.Sub(array, x4, array) != 0)
{
int num5 = Nat.Sub33From(8, (uint)977, array);
}
uint[] x5 = secP256K1FieldElement2.x;
SecP256K1Field.Multiply(x5, array3, x5);
uint[] x6 = secP256K1FieldElement2.x;
if (Nat256.Sub(x6, array4, x6) != 0)
{
int num6 = Nat.Sub33From(8, (uint)977, x6);
}
SecP256K1FieldElement secP256K1FieldElement3 = new SecP256K1FieldElement();
secP256K1FieldElement3.x = array3;
uint num7;
if (num7 == (uint)0)
{
if ("{il2cpp array field local24->}" != (ulong)(-1L))
{
goto IL_1EF;
}
uint[] p = SecP256K1Field.P;
if (!Nat256.Gte(array3, p))
{
goto IL_1EF;
}
}
uint num8 = Nat.Add33To(8, (uint)977, array3);
IL_1EF:
if (ecfieldElement.BitLength == 0)
{
uint[] x7 = secP256K1FieldElement3.x;
}
(new ECFieldElement[1])[0] = secP256K1FieldElement3;
bool withCompression = this.m_withCompression;
break;
}
}
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600A8B1 RID: 43185 RVA: 0x002461E8 File Offset: 0x002443E8
[Token(Token = "0x600A8B1")]
[Address(RVA = "0x6ECFE0", Offset = "0x6EBFE0", VA = "0x1806ECFE0", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
if (this != b)
{
if (!base.IsInfinity)
{
if (!b.IsInfinity)
{
if (this.m_y.IsOne)
{
return b;
}
ECPoint ecpoint;
bool flag = ecpoint.SatisfiesCurveEquation();
}
bool flag2 = base.SatisfiesCurveEquation();
}
return b;
}
bool flag3 = base.SatisfiesCurveEquation();
throw new NullReferenceException();
}
// Token: 0x0600A8B2 RID: 43186 RVA: 0x00246238 File Offset: 0x00244438
[Token(Token = "0x600A8B2")]
[Address(RVA = "0x6ECF60", Offset = "0x6EBF60", VA = "0x1806ECF60", Slot = "33")]
public override ECPoint ThreeTimes()
{
if (!base.IsInfinity && !this.m_y.IsOne)
{
ECPoint ecpoint;
bool flag = ecpoint.SatisfiesCurveEquation();
}
throw new NullReferenceException();
}
// Token: 0x0600A8B3 RID: 43187 RVA: 0x00246268 File Offset: 0x00244468
[Token(Token = "0x600A8B3")]
[Address(RVA = "0x711290", Offset = "0x710290", VA = "0x180711290", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement y = this.m_y;
ECFieldElement[] zs = this.m_zs;
bool withCompression = this.m_withCompression;
}
throw new NullReferenceException();
}
}
}
@@ -0,0 +1,340 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B3E RID: 6974
[Token(Token = "0x2001B3E")]
internal class SecP256R1Curve : AbstractFpCurve
{
// Token: 0x0600A8B4 RID: 43188 RVA: 0x002462A0 File Offset: 0x002444A0
[Token(Token = "0x600A8B4")]
[Address(RVA = "0x712110", Offset = "0x711110", VA = "0x180712110")]
public SecP256R1Curve()
{
BigInteger bigInteger = SecP256R1Curve.q;
base..ctor(bigInteger);
int num;
int num2;
SecP256R1Point secP256R1Point = new SecP256R1Point(this, num, num2);
num2 = 0;
num = 0;
this.m_infinity = secP256R1Point;
byte[] array = Hex.Decode("FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC");
BigInteger bigInteger2 = new BigInteger(1, array);
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
byte[] array2 = Hex.Decode("5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B");
BigInteger bigInteger3 = new BigInteger(1, array2);
int fieldSize2 = this.FieldSize;
this.m_b = fieldSize2;
byte[] array3 = Hex.Decode("FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551");
BigInteger bigInteger4 = new BigInteger(1, array3);
this.m_order = bigInteger4;
BigInteger one = BigInteger.One;
this.m_cofactor = one;
this.m_coord = (int)((ulong)2L);
}
// Token: 0x0600A8B5 RID: 43189 RVA: 0x00246354 File Offset: 0x00244554
[Token(Token = "0x600A8B5")]
[Address(RVA = "0x711A80", Offset = "0x710A80", VA = "0x180711A80", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600A8B5)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256R1Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_1_05, ldsfld:BigInteger(SecP256R1Curve::q))
stloc:SecP256R1Point(var_2_0F, newobj:SecP256R1Point(SecP256R1Point::.ctor, ldloc:SecP256R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_3)))
stloc:int32(var_3, ldc.i4:int32(0))
stloc:int32(var_5, ldc.i4:int32(0))
stfld:SecP256R1Point(SecP256R1Curve::m_infinity, ldloc:SecP256R1Curve(var_0), ldloc:SecP256R1Point(var_2_0F))
stloc:uint8[](var_6_26, call:uint8[](Hex::Decode, ldstr:string("FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC")))
stloc:BigInteger(var_7_30, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_6_26)))
stloc:int32(var_8_38, callvirtgetter:int32(SecP256R1Curve::get_FieldSize, ldloc:SecP256R1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecP256R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_8_38))
stloc:uint8[](var_9_4C, call:uint8[](Hex::Decode, ldstr:string("5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B")))
stloc:BigInteger(var_10_56, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_9_4C)))
stloc:int32(var_11_5E, callvirtgetter:int32(SecP256R1Curve::get_FieldSize, ldloc:SecP256R1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecP256R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_11_5E))
stloc:uint8[](var_12_72, call:uint8[](Hex::Decode, ldstr:string("FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551")))
stloc:BigInteger(var_13_7C, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_12_72)))
stfld:BigInteger(ECCurve::m_order, ldloc:SecP256R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_13_7C))
stloc:BigInteger(var_14_8B, ldsfld:BigInteger(BigInteger::One))
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecP256R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_14_8B))
stfld:int32(ECCurve::m_coord, ldloc:SecP256R1Curve[exp:ECCurve](var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](2)))
}
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: 0x0600A8B6 RID: 43190 RVA: 0x00246400 File Offset: 0x00244600
[Token(Token = "0x600A8B6")]
[Address(RVA = "0x6E9C20", Offset = "0x6E8C20", VA = "0x1806E9C20", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 2;
}
// Token: 0x17001A6A RID: 6762
// (get) Token: 0x0600A8B7 RID: 43191 RVA: 0x00246414 File Offset: 0x00244614
[Token(Token = "0x17001A6A")]
public virtual BigInteger Q
{
[Token(Token = "0x600A8B7")]
[Address(RVA = "0x712360", Offset = "0x711360", VA = "0x180712360", Slot = "38")]
get
{
return SecP256R1Curve.q;
}
}
// Token: 0x17001A6B RID: 6763
// (get) Token: 0x0600A8B8 RID: 43192 RVA: 0x00246428 File Offset: 0x00244628
[Token(Token = "0x17001A6B")]
public override ECPoint Infinity
{
[Token(Token = "0x600A8B8")]
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600A8B8)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256R1Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP256R1Point(var_0_06, ldfld:SecP256R1Point(SecP256R1Curve::m_infinity, ldloc:SecP256R1Curve(this)))
}
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: 0x17001A6C RID: 6764
// (get) Token: 0x0600A8B9 RID: 43193 RVA: 0x0024643C File Offset: 0x0024463C
[Token(Token = "0x17001A6C")]
public override int FieldSize
{
[Token(Token = "0x600A8B9")]
[Address(RVA = "0x7122F0", Offset = "0x7112F0", VA = "0x1807122F0", Slot = "4")]
get
{
return SecP256R1Curve.q.BitLength;
}
}
// Token: 0x0600A8BA RID: 43194 RVA: 0x0024645C File Offset: 0x0024465C
[Token(Token = "0x600A8BA")]
[Address(RVA = "0x712010", Offset = "0x711010", VA = "0x180712010", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600A8BA)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256R1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP256R1FieldElement(var_0_06, newobj:SecP256R1FieldElement(SecP256R1FieldElement::.ctor, ldloc:BigInteger(x)))
}
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: 0x0600A8BB RID: 43195 RVA: 0x00246470 File Offset: 0x00244670
[Token(Token = "0x600A8BB")]
[Address(RVA = "0x711EE0", Offset = "0x710EE0", VA = "0x180711EE0", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A8BB)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256R1Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP256R1Point(var_0_09, newobj:SecP256R1Point(SecP256R1Point::.ctor, ldloc:SecP256R1Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600A8BC RID: 43196 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600A8BC")]
[Address(RVA = "0x711F70", Offset = "0x710F70", VA = "0x180711F70", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600A8BD RID: 43197 RVA: 0x00246488 File Offset: 0x00244688
[Token(Token = "0x600A8BD")]
[Address(RVA = "0x711C80", Offset = "0x710C80", VA = "0x180711C80", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
uint[] array;
int num;
for (;;)
{
array = new uint[len];
num = 0;
if (len <= 0)
{
goto IL_4A;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
if (y != 0 && y != 0)
{
break;
}
}
}
num += 16;
IL_4A:
SecP256R1Curve.SecP256R1LookupTable secP256R1LookupTable;
secP256R1LookupTable.m_outer = 0;
secP256R1LookupTable.m_table = array;
secP256R1LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x0600A8BE RID: 43198 RVA: 0x002464FC File Offset: 0x002446FC
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600A8BE")]
[Address(RVA = "0x712070", Offset = "0x711070", VA = "0x180712070")]
static SecP256R1Curve()
{
byte[] array = Hex.Decode("FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF");
SecP256R1Curve.q = new BigInteger(1, array);
}
// Token: 0x04006D70 RID: 28016
[Token(Token = "0x4006D70")]
public static readonly BigInteger q;
// Token: 0x04006D71 RID: 28017
[Token(Token = "0x4006D71")]
private const int SECP256R1_DEFAULT_COORDS = 2;
// Token: 0x04006D72 RID: 28018
[Token(Token = "0x4006D72")]
private const int SECP256R1_FE_INTS = 8;
// Token: 0x04006D73 RID: 28019
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4006D73")]
protected readonly SecP256R1Point m_infinity;
// Token: 0x02001B3F RID: 6975
[Token(Token = "0x2001B3F")]
private class SecP256R1LookupTable : ECLookupTable
{
// Token: 0x0600A8BF RID: 43199 RVA: 0x00246520 File Offset: 0x00244720
[Token(Token = "0x600A8BF")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecP256R1LookupTable(SecP256R1Curve outer, uint[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001A6D RID: 6765
// (get) Token: 0x0600A8C0 RID: 43200 RVA: 0x00246548 File Offset: 0x00244748
[Token(Token = "0x17001A6D")]
public virtual int Size
{
[Token(Token = "0x600A8C0")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600A8C1 RID: 43201 RVA: 0x0024655C File Offset: 0x0024475C
[Token(Token = "0x600A8C1")]
[Address(RVA = "0x713820", Offset = "0x712820", VA = "0x180713820", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
uint[] array = Nat256.Create();
uint[] array2 = Nat256.Create();
int num = 0;
int num2 = 0;
if (this.m_size > num2)
{
int num3 = 0;
uint[] table = this.m_table;
uint[] table2 = this.m_table;
num3++;
num += 16;
num2++;
}
SecP256R1Curve outer = this.m_outer;
SecP256R1FieldElement secP256R1FieldElement = new SecP256R1FieldElement(array);
SecP256R1FieldElement secP256R1FieldElement2 = new SecP256R1FieldElement(array2);
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006D74 RID: 28020
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006D74")]
private readonly SecP256R1Curve m_outer;
// Token: 0x04006D75 RID: 28021
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006D75")]
private readonly uint[] m_table;
// Token: 0x04006D76 RID: 28022
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006D76")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,432 @@
using System;
using System.Runtime.CompilerServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B40 RID: 6976
[Token(Token = "0x2001B40")]
internal class SecP256R1Field
{
// Token: 0x0600A8C2 RID: 43202 RVA: 0x002465D8 File Offset: 0x002447D8
[Token(Token = "0x600A8C2")]
[Address(RVA = "0x712740", Offset = "0x711740", VA = "0x180712740")]
public static void Add(uint[] x, uint[] y, uint[] z)
{
if (Nat256.Add(x, y, z) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP256R1Field.P;
if (!Nat256.Gte(z, p))
{
return;
}
}
SecP256R1Field.AddPInvTo(z);
}
// Token: 0x0600A8C3 RID: 43203 RVA: 0x00246618 File Offset: 0x00244818
[Token(Token = "0x600A8C3")]
[Address(RVA = "0x7123C0", Offset = "0x7113C0", VA = "0x1807123C0")]
public static void AddExt(uint[] xx, uint[] yy, uint[] zz)
{
if (Nat.Add(16, xx, yy, zz) == (uint)0)
{
uint[] pext = SecP256R1Field.PExt;
if (!Nat.Gte(16, zz, pext))
{
return;
}
}
uint[] pext2 = SecP256R1Field.PExt;
int num = Nat.SubFrom(16, pext2, zz);
}
// Token: 0x0600A8C4 RID: 43204 RVA: 0x0024665C File Offset: 0x0024485C
[Token(Token = "0x600A8C4")]
[Address(RVA = "0x7124E0", Offset = "0x7114E0", VA = "0x1807124E0")]
public static void AddOne(uint[] x, uint[] z)
{
if (Nat.Inc(8, x, z) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP256R1Field.P;
if (!Nat256.Gte(z, p))
{
return;
}
}
SecP256R1Field.AddPInvTo(z);
}
// Token: 0x0600A8C5 RID: 43205 RVA: 0x0024669C File Offset: 0x0024489C
[Token(Token = "0x600A8C5")]
[Address(RVA = "0x712830", Offset = "0x711830", VA = "0x180712830")]
public static uint[] FromBigInteger(BigInteger x)
{
uint[] array = Nat256.FromBigInteger(x);
if ("{il2cpp array field local2->}" == (ulong)(-1L))
{
uint[] p = SecP256R1Field.P;
if (Nat256.Gte(array, p))
{
int num = Nat256.SubFrom(SecP256R1Field.P, array);
}
}
return array;
}
// Token: 0x0600A8C6 RID: 43206 RVA: 0x002466E0 File Offset: 0x002448E0
[Token(Token = "0x600A8C6")]
[Address(RVA = "0x712920", Offset = "0x711920", VA = "0x180712920")]
public static void Half(uint[] x, uint[] z)
{
if ("{il2cpp array field x->}" != (ulong)1L)
{
uint[] p = SecP256R1Field.P;
uint num = Nat256.Add(x, p, z);
uint num2 = Nat.ShiftDownBit(8, z, num);
return;
}
int num3 = 0;
uint num4 = Nat.ShiftDownBit(8, x, (uint)num3, z);
}
// Token: 0x0600A8C7 RID: 43207 RVA: 0x00246724 File Offset: 0x00244924
[Token(Token = "0x600A8C7")]
[Address(RVA = "0x712B20", Offset = "0x711B20", VA = "0x180712B20")]
public static void Multiply(uint[] x, uint[] y, uint[] z)
{
uint[] array = Nat256.CreateExt();
Nat256.Mul(x, y, array);
SecP256R1Field.Reduce(array, z);
}
// Token: 0x0600A8C8 RID: 43208 RVA: 0x00246748 File Offset: 0x00244948
[Token(Token = "0x600A8C8")]
[Address(RVA = "0x712A00", Offset = "0x711A00", VA = "0x180712A00")]
public static void MultiplyAddToExt(uint[] x, uint[] y, uint[] zz)
{
if (Nat256.MulAddTo(x, y, zz) == (uint)0)
{
uint[] pext = SecP256R1Field.PExt;
if (!Nat.Gte(16, zz, pext))
{
return;
}
}
uint[] pext2 = SecP256R1Field.PExt;
int num = Nat.SubFrom(16, pext2, zz);
}
// Token: 0x0600A8C9 RID: 43209 RVA: 0x0024678C File Offset: 0x0024498C
[Token(Token = "0x600A8C9")]
[Address(RVA = "0x712BC0", Offset = "0x711BC0", VA = "0x180712BC0")]
public static void Negate(uint[] x, uint[] z)
{
if (!Nat256.IsZero(x))
{
int num = Nat256.Sub(SecP256R1Field.P, x, z);
return;
}
Nat256.Zero(z);
}
// Token: 0x0600A8CA RID: 43210 RVA: 0x002467B8 File Offset: 0x002449B8
[Token(Token = "0x600A8CA")]
[Address(RVA = "0x712E90", Offset = "0x711E90", VA = "0x180712E90")]
public static void Reduce(uint[] xx, uint[] z)
{
int length = xx.Length;
uint num = xx[4];
uint num2 = xx[5];
uint num3 = xx[5];
uint num4 = xx[6];
uint num5 = xx[7];
uint num6 = xx[7];
uint num7 = xx[4];
uint num8 = xx[0];
num3 -= num6;
num3 += num2;
num4 -= num;
num4 -= num7;
num8 -= num4;
z[0] = num8;
uint num9 = xx[0];
num9 += num8;
num9 -= num2;
num9 -= num3;
z[0] = num9;
uint num10 = xx[1];
num10 += num9;
num10 += num3;
z[1] = num10;
uint num11 = xx[1];
num11 += num10;
num10 -= num2;
num10 += num4;
z[1] = num10;
uint num12 = xx[2];
num12 += num10;
num10 += num5;
z[2] = num10;
uint num13 = xx[2];
num13 += num10;
num10 -= num3;
z[2] = num10;
uint num14 = xx[3];
num10 += num4;
num10 += num14;
z[3] = num4;
uint num15 = xx[3];
num15 += num4;
z[3] = xx;
}
// Token: 0x0600A8CB RID: 43211 RVA: 0x00246920 File Offset: 0x00244B20
[Token(Token = "0x600A8CB")]
[Address(RVA = "0x712C60", Offset = "0x711C60", VA = "0x180712C60")]
public static void Reduce32(uint x, uint[] z)
{
if (x != (uint)0)
{
uint num = z[0];
num += x;
z[0] = num;
if (num != (uint)0)
{
uint num2 = z[0];
num += num2;
z[0] = num;
uint num3 = z[1];
num += num3;
z[1] = num;
}
uint num4 = z[1];
num4 -= x;
num += num4;
z[1] = num;
if (num != (uint)0)
{
uint num5 = z[2];
num += num5;
z[2] = num;
uint num6 = z[2];
num += num6;
z[2] = num;
}
uint num7 = z[3];
num7 -= x;
num += num7;
z[3] = num;
uint num8 = z[3];
num8 += num7;
z[3] = num8;
if (num8 != (uint)0)
{
goto IL_E9;
}
}
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP256R1Field.P;
if (!Nat256.Gte(z, p))
{
return;
}
IL_E9:
SecP256R1Field.AddPInvTo(z);
}
// Token: 0x0600A8CC RID: 43212 RVA: 0x00246A24 File Offset: 0x00244C24
[Token(Token = "0x600A8CC")]
[Address(RVA = "0x713360", Offset = "0x712360", VA = "0x180713360")]
public static void Square(uint[] x, uint[] z)
{
uint[] array = Nat256.CreateExt();
Nat256.Square(x, array);
SecP256R1Field.Reduce(array, z);
}
// Token: 0x0600A8CD RID: 43213 RVA: 0x00246A48 File Offset: 0x00244C48
[Token(Token = "0x600A8CD")]
[Address(RVA = "0x713280", Offset = "0x712280", VA = "0x180713280")]
public static void SquareN(uint[] x, int n, uint[] z)
{
uint[] array = Nat256.CreateExt();
Nat256.Square(x, array);
SecP256R1Field.Reduce(array, z);
if (n > 0)
{
Nat256.Square(z, array);
SecP256R1Field.Reduce(array, z);
}
}
// Token: 0x0600A8CE RID: 43214 RVA: 0x00246A80 File Offset: 0x00244C80
[Token(Token = "0x600A8CE")]
[Address(RVA = "0x713610", Offset = "0x712610", VA = "0x180713610")]
public static void Subtract(uint[] x, uint[] y, uint[] z)
{
if (Nat256.Sub(x, y, z) != 0)
{
SecP256R1Field.SubPInvFrom(z);
}
}
// Token: 0x0600A8CF RID: 43215 RVA: 0x00246AA0 File Offset: 0x00244CA0
[Token(Token = "0x600A8CF")]
[Address(RVA = "0x713560", Offset = "0x712560", VA = "0x180713560")]
public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz)
{
if (Nat.Sub(16, xx, yy, zz) != 0)
{
uint[] pext = SecP256R1Field.PExt;
uint num = Nat.AddTo(16, pext, zz);
}
}
// Token: 0x0600A8D0 RID: 43216 RVA: 0x00246ACC File Offset: 0x00244CCC
[Token(Token = "0x600A8D0")]
[Address(RVA = "0x713690", Offset = "0x712690", VA = "0x180713690")]
public static void Twice(uint[] x, uint[] z)
{
int num = 0;
if (Nat.ShiftUpBit(8, x, (uint)num, z) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP256R1Field.P;
if (!Nat256.Gte(z, p))
{
return;
}
}
SecP256R1Field.AddPInvTo(z);
}
// Token: 0x0600A8D1 RID: 43217 RVA: 0x00246B10 File Offset: 0x00244D10
[Token(Token = "0x600A8D1")]
[Address(RVA = "0x7125D0", Offset = "0x7115D0", VA = "0x1807125D0")]
private static void AddPInvTo(uint[] z)
{
uint num = z[0];
num += (uint)1;
z[0] = num;
if (num != (uint)0)
{
uint num2 = z[0];
num2 += num;
z[0] = num2;
uint num3 = z[1];
num3 += num2;
z[1] = num3;
}
uint num4 = z[1];
num += num4;
z[1] = num;
if (num != (uint)0)
{
uint num5 = z[2];
num += num5;
z[2] = num;
uint num6 = z[2];
num += num6;
z[2] = num;
}
uint num7 = z[3];
num7 += num;
z[3] = num7;
uint num8 = z[3];
num8 += (uint)1;
num8 += num7;
z[3] = num8;
}
// Token: 0x0600A8D2 RID: 43218 RVA: 0x00246BE4 File Offset: 0x00244DE4
[Token(Token = "0x600A8D2")]
[Address(RVA = "0x7133F0", Offset = "0x7123F0", VA = "0x1807133F0")]
private static void SubPInvFrom(uint[] z)
{
uint num = z[0];
z[0] = num;
if (num != (uint)0)
{
uint num2 = z[0];
num += num2;
z[0] = num;
uint num3 = z[1];
num += num3;
z[1] = num;
}
uint num4 = z[1];
num4 += (uint)1;
num4 += num;
z[1] = num4;
if (num4 != (uint)0)
{
uint num5 = z[2];
num4 += num5;
z[2] = num4;
uint num6 = z[2];
num4 += num6;
z[2] = num4;
}
uint num7 = z[3];
num7 += (uint)1;
num7 += num4;
z[3] = num7;
uint num8 = z[3];
num7 += num8;
z[3] = num7;
}
// Token: 0x0600A8D3 RID: 43219 RVA: 0x00246CB8 File Offset: 0x00244EB8
[Token(Token = "0x600A8D3")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public SecP256R1Field()
{
}
// Token: 0x0600A8D4 RID: 43220 RVA: 0x00246CCC File Offset: 0x00244ECC
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600A8D4")]
[Address(RVA = "0x713780", Offset = "0x712780", VA = "0x180713780")]
static SecP256R1Field()
{
uint[] array = new uint[8];
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.083DE622A9A685DC50D8D5653CB388A41343C8EC).FieldHandle);
SecP256R1Field.P = array;
uint[] array2 = new uint[16];
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.214F93D9222D60794CE1EA0A10389885C5CA9824).FieldHandle);
SecP256R1Field.PExt = array2;
}
// Token: 0x04006D77 RID: 28023
[Token(Token = "0x4006D77")]
internal static readonly uint[] P;
// Token: 0x04006D78 RID: 28024
[Token(Token = "0x4006D78")]
internal static readonly uint[] PExt;
// Token: 0x04006D79 RID: 28025
[Token(Token = "0x4006D79")]
internal const uint P7 = 4294967295U;
// Token: 0x04006D7A RID: 28026
[Token(Token = "0x4006D7A")]
internal const uint PExt15 = 4294967294U;
}
}
@@ -0,0 +1,443 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B41 RID: 6977
[Token(Token = "0x2001B41")]
internal class SecP256R1FieldElement : AbstractFpFieldElement
{
// Token: 0x0600A8D5 RID: 43221 RVA: 0x00246D0C File Offset: 0x00244F0C
[Token(Token = "0x600A8D5")]
[Address(RVA = "0x7E5870", Offset = "0x7E4870", VA = "0x1807E5870")]
public SecP256R1FieldElement(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600A8D5)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256R1FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_27:
stloc:ArgumentException(var_3_36, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecP256R1FieldElement"), ldstr:string("x")))
}
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: 0x0600A8D6 RID: 43222 RVA: 0x00246D50 File Offset: 0x00244F50
[Token(Token = "0x600A8D6")]
[Address(RVA = "0x70F700", Offset = "0x70E700", VA = "0x18070F700")]
public SecP256R1FieldElement()
{
uint[] array = Nat256.Create();
this.x = array;
}
// Token: 0x0600A8D7 RID: 43223 RVA: 0x00246D74 File Offset: 0x00244F74
[Token(Token = "0x600A8D7")]
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
protected internal SecP256R1FieldElement(uint[] x)
{
this.x = x;
}
// Token: 0x17001A6E RID: 6766
// (get) Token: 0x0600A8D8 RID: 43224 RVA: 0x00246D90 File Offset: 0x00244F90
[Token(Token = "0x17001A6E")]
public override bool IsZero
{
[Token(Token = "0x600A8D8")]
[Address(RVA = "0x6E6550", Offset = "0x6E5550", VA = "0x1806E6550", Slot = "18")]
get
{
return Nat256.IsZero(this.x);
}
}
// Token: 0x17001A6F RID: 6767
// (get) Token: 0x0600A8D9 RID: 43225 RVA: 0x00246DA8 File Offset: 0x00244FA8
[Token(Token = "0x17001A6F")]
public override bool IsOne
{
[Token(Token = "0x600A8D9")]
[Address(RVA = "0x6E6540", Offset = "0x6E5540", VA = "0x1806E6540", Slot = "17")]
get
{
return Nat256.IsOne(this.x);
}
}
// Token: 0x0600A8DA RID: 43226 RVA: 0x00246DC0 File Offset: 0x00244FC0
[Token(Token = "0x600A8DA")]
[Address(RVA = "0x6E61E0", Offset = "0x6E51E0", VA = "0x1806E61E0", Slot = "24")]
public override bool TestBitZero()
{
uint[] array = this.x;
int num = 0;
return Nat256.GetBit(array, num) == (uint)1;
}
// Token: 0x0600A8DB RID: 43227 RVA: 0x00246DE4 File Offset: 0x00244FE4
[Token(Token = "0x600A8DB")]
[Address(RVA = "0x6E6200", Offset = "0x6E5200", VA = "0x1806E6200", Slot = "4")]
public override BigInteger ToBigInteger()
{
return Nat256.ToBigInteger(this.x);
}
// Token: 0x17001A70 RID: 6768
// (get) Token: 0x0600A8DC RID: 43228 RVA: 0x00246DFC File Offset: 0x00244FFC
[Token(Token = "0x17001A70")]
public override string FieldName
{
[Token(Token = "0x600A8DC")]
[Address(RVA = "0x7E5960", Offset = "0x7E4960", VA = "0x1807E5960", Slot = "5")]
get
{
return "SecP256R1Field";
}
}
// Token: 0x17001A71 RID: 6769
// (get) Token: 0x0600A8DD RID: 43229 RVA: 0x00246E10 File Offset: 0x00245010
[Token(Token = "0x17001A71")]
public override int FieldSize
{
[Token(Token = "0x600A8DD")]
[Address(RVA = "0x7E5990", Offset = "0x7E4990", VA = "0x1807E5990", Slot = "6")]
get
{
return SecP256R1FieldElement.Q.BitLength;
}
}
// Token: 0x0600A8DE RID: 43230 RVA: 0x00246E30 File Offset: 0x00245030
[Token(Token = "0x600A8DE")]
[Address(RVA = "0x7E4CF0", Offset = "0x7E3CF0", VA = "0x1807E4CF0", Slot = "7")]
public override ECFieldElement Add(ECFieldElement b)
{
uint[] array;
do
{
array = Nat256.Create();
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP256R1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecP256R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A8DF RID: 43231 RVA: 0x00246E78 File Offset: 0x00245078
[Token(Token = "0x600A8DF")]
[Address(RVA = "0x7E4C60", Offset = "0x7E3C60", VA = "0x1807E4C60", Slot = "8")]
public override ECFieldElement AddOne()
{
/*
An exception occurred when decompiling this method (0600A8DF)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256R1FieldElement::AddOne()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat256::Create))
call:void(SecP256R1Field::AddOne, ldfld:uint32[](SecP256R1FieldElement::x, ldloc:SecP256R1FieldElement(this)), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP256R1FieldElement::x, newobj:SecP256R1FieldElement(SecP256R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A8E0 RID: 43232 RVA: 0x00246EA4 File Offset: 0x002450A4
[Token(Token = "0x600A8E0")]
[Address(RVA = "0x7E56C0", Offset = "0x7E46C0", VA = "0x1807E56C0", Slot = "9")]
public override ECFieldElement Subtract(ECFieldElement b)
{
uint[] array;
do
{
array = Nat256.Create();
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP256R1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecP256R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A8E1 RID: 43233 RVA: 0x00246EEC File Offset: 0x002450EC
[Token(Token = "0x600A8E1")]
[Address(RVA = "0x7E5260", Offset = "0x7E4260", VA = "0x1807E5260", Slot = "10")]
public override ECFieldElement Multiply(ECFieldElement b)
{
uint[] array;
do
{
array = Nat256.Create();
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP256R1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecP256R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A8E2 RID: 43234 RVA: 0x00246F34 File Offset: 0x00245134
[Token(Token = "0x600A8E2")]
[Address(RVA = "0x7E4E30", Offset = "0x7E3E30", VA = "0x1807E4E30", Slot = "11")]
public override ECFieldElement Divide(ECFieldElement b)
{
uint[] array;
do
{
array = Nat256.Create();
uint[] p = SecP256R1Field.P;
if ("{il2cpp array field local3->}" == typeof(SecP256R1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
uint[] array2 = this.x;
SecP256R1Field.Multiply(array, array2, array);
new SecP256R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A8E3 RID: 43235 RVA: 0x00246F8C File Offset: 0x0024518C
[Token(Token = "0x600A8E3")]
[Address(RVA = "0x7E53A0", Offset = "0x7E43A0", VA = "0x1807E53A0", Slot = "12")]
public override ECFieldElement Negate()
{
/*
An exception occurred when decompiling this method (0600A8E3)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256R1FieldElement::Negate()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat256::Create))
call:void(SecP256R1Field::Negate, ldfld:uint32[](SecP256R1FieldElement::x, ldloc:SecP256R1FieldElement(this)), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP256R1FieldElement::x, newobj:SecP256R1FieldElement(SecP256R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A8E4 RID: 43236 RVA: 0x00246FB8 File Offset: 0x002451B8
[Token(Token = "0x600A8E4")]
[Address(RVA = "0x7E5630", Offset = "0x7E4630", VA = "0x1807E5630", Slot = "13")]
public override ECFieldElement Square()
{
/*
An exception occurred when decompiling this method (0600A8E4)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256R1FieldElement::Square()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat256::Create))
call:void(SecP256R1Field::Square, ldfld:uint32[](SecP256R1FieldElement::x, ldloc:SecP256R1FieldElement(this)), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP256R1FieldElement::x, newobj:SecP256R1FieldElement(SecP256R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A8E5 RID: 43237 RVA: 0x00246FE4 File Offset: 0x002451E4
[Token(Token = "0x600A8E5")]
[Address(RVA = "0x7E5190", Offset = "0x7E4190", VA = "0x1807E5190", Slot = "14")]
public override ECFieldElement Invert()
{
/*
An exception occurred when decompiling this method (0600A8E5)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256R1FieldElement::Invert()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_1_07, call:uint32[](Nat256::Create))
stloc:uint32[](var_2_0E, ldfld:uint32[](SecP256R1FieldElement::x, ldloc:SecP256R1FieldElement(this)))
call:void(Mod::Invert, ldsfld:uint32[](SecP256R1Field::P), ldloc:uint32[](var_2_0E), ldloc:uint32[](var_1_07))
stfld:uint32[](SecP256R1FieldElement::x, newobj:SecP256R1FieldElement(SecP256R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
}
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: 0x0600A8E6 RID: 43238 RVA: 0x00247018 File Offset: 0x00245218
[Token(Token = "0x600A8E6")]
[Address(RVA = "0x7E5430", Offset = "0x7E4430", VA = "0x1807E5430", Slot = "15")]
public override ECFieldElement Sqrt()
{
uint[] array;
do
{
array = this.x;
}
while (Nat256.IsZero(array) || Nat256.IsOne(array));
uint[] array2 = Nat256.Create();
uint[] array3 = Nat256.Create();
SecP256R1Field.Square(array, array2);
SecP256R1Field.Multiply(array2, array, array2);
SecP256R1Field.SquareN(array2, 2, array3);
SecP256R1Field.Multiply(array3, array2, array3);
SecP256R1Field.SquareN(array3, 4, array2);
SecP256R1Field.Multiply(array2, array3, array2);
SecP256R1Field.SquareN(array2, 8, array3);
SecP256R1Field.Multiply(array3, array2, array3);
SecP256R1Field.SquareN(array3, 16, array2);
SecP256R1Field.Multiply(array2, array3, array2);
SecP256R1Field.SquareN(array2, 32, array2);
SecP256R1Field.Multiply(array2, array, array2);
SecP256R1Field.SquareN(array2, 96, array2);
SecP256R1Field.Multiply(array2, array, array2);
SecP256R1Field.SquareN(array2, 94, array2);
SecP256R1Field.Multiply(array2, array2, array3);
if (Nat256.Eq(array, array3))
{
new SecP256R1FieldElement().x = array2;
return;
}
}
// Token: 0x0600A8E7 RID: 43239 RVA: 0x002470F8 File Offset: 0x002452F8
[Token(Token = "0x600A8E7")]
[Address(RVA = "0x7E4FB0", Offset = "0x7E3FB0", VA = "0x1807E4FB0", Slot = "0")]
public override bool Equals(object obj)
{
/*
An exception occurred when decompiling this method (0600A8E7)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256R1FieldElement::Equals(System.Object)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP256R1FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600A8E8 RID: 43240 RVA: 0x00247114 File Offset: 0x00245314
[Token(Token = "0x600A8E8")]
[Address(RVA = "0x7E5040", Offset = "0x7E4040", VA = "0x1807E5040", Slot = "25")]
public override bool Equals(ECFieldElement other)
{
/*
An exception occurred when decompiling this method (0600A8E8)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256R1FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP256R1FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600A8E9 RID: 43241 RVA: 0x00247130 File Offset: 0x00245330
[Token(Token = "0x600A8E9")]
[Address(RVA = "0x6E5860", Offset = "0x6E4860", VA = "0x1806E5860", Slot = "27")]
public virtual bool Equals(SecP256R1FieldElement other)
{
if (this != other)
{
if (other != 0)
{
uint[] array = other.x;
return Nat256.Eq(this.x, array);
}
}
return true;
}
// Token: 0x0600A8EA RID: 43242 RVA: 0x0024715C File Offset: 0x0024535C
[Token(Token = "0x600A8EA")]
[Address(RVA = "0x7E50D0", Offset = "0x7E40D0", VA = "0x1807E50D0", Slot = "2")]
public override int GetHashCode()
{
SecP256R1FieldElement.Q.Finalize();
uint[] array = this.x;
int num = 0;
return Arrays.GetHashCode(array, num, 8);
}
// Token: 0x04006D7B RID: 28027
[Token(Token = "0x4006D7B")]
public static readonly BigInteger Q = SecP256R1Curve.q;
// Token: 0x04006D7C RID: 28028
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006D7C")]
protected internal readonly uint[] x;
}
}
@@ -0,0 +1,294 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B42 RID: 6978
[Token(Token = "0x2001B42")]
internal class SecP256R1Point : AbstractFpPoint
{
// Token: 0x0600A8EC RID: 43244 RVA: 0x002471A4 File Offset: 0x002453A4
[Token(Token = "0x600A8EC")]
[Address(RVA = "0x7E6880", Offset = "0x7E5880", VA = "0x1807E6880")]
public SecP256R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
/*
An exception occurred when decompiling this method (0600A8EC)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_1B:
stloc:ArgumentException(var_3_25, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600A8ED RID: 43245 RVA: 0x002471D8 File Offset: 0x002453D8
[Token(Token = "0x600A8ED")]
[Address(RVA = "0x7E6940", Offset = "0x7E5940", VA = "0x1807E6940")]
public SecP256R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A8ED)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600A8EE RID: 43246 RVA: 0x00247200 File Offset: 0x00245400
[Token(Token = "0x600A8EE")]
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
internal SecP256R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600A8EF RID: 43247 RVA: 0x00247210 File Offset: 0x00245410
[Token(Token = "0x600A8EF")]
[Address(RVA = "0x7E60D0", Offset = "0x7E50D0", VA = "0x1807E60D0", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600A8EF)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256R1Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_1E:
stloc:ArgumentException(var_5_28, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600A8F0 RID: 43248 RVA: 0x00247248 File Offset: 0x00245448
[Token(Token = "0x600A8F0")]
[Address(RVA = "0x7E5A00", Offset = "0x7E4A00", VA = "0x1807E5A00", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
if (!base.IsInfinity)
{
if (!b.IsInfinity)
{
if (this == b)
{
return b;
}
bool flag = this.SatisfiesOrder();
ECFieldElement[] zs = this.m_zs;
ECFieldElement[] zs2 = b.m_zs;
uint[] array = Nat256.CreateExt();
uint[] array2 = Nat256.Create();
uint[] array3 = Nat256.Create();
uint[] array4 = Nat256.Create();
if (array4 == 0)
{
SecP256R1Field.Square(array4, array3);
SecP256R1Field.Multiply(array3, array3, array2);
SecP256R1Field.Multiply(array3, array3, array3);
SecP256R1Field.Multiply(array3, array3, array3);
}
SecP256R1Field.Multiply(array4, array4, array);
SecP256R1Field.Multiply(array4, array4, array4);
SecP256R1Field.Multiply(array4, array4, array4);
uint[] array5 = Nat256.Create();
SecP256R1Field.Subtract(array, array4, array5);
if (!Nat256.IsZero(array5))
{
SecP256R1Field.Square(array5, array3);
uint[] array6 = Nat256.Create();
SecP256R1Field.Multiply(array3, array5, array6);
SecP256R1Field.Multiply(array3, array, array3);
SecP256R1Field.Negate(array6, array6);
SecP256R1Field.Reduce32(Nat256.AddBothTo(array3, array3, array6), array6);
SecP256R1FieldElement secP256R1FieldElement = new SecP256R1FieldElement();
secP256R1FieldElement.x = array4;
SecP256R1Field.Square(array2, array4);
uint[] x = secP256R1FieldElement.x;
SecP256R1Field.Subtract(x, array6, x);
SecP256R1FieldElement secP256R1FieldElement2 = new SecP256R1FieldElement();
secP256R1FieldElement2.x = array6;
uint[] x2 = secP256R1FieldElement.x;
SecP256R1Field.Subtract(array3, x2, array6);
SecP256R1Field.MultiplyAddToExt(secP256R1FieldElement2.x, array2, array);
uint[] x3 = secP256R1FieldElement2.x;
SecP256R1Field.Reduce(array, x3);
SecP256R1FieldElement secP256R1FieldElement3 = new SecP256R1FieldElement();
secP256R1FieldElement3.x = array5;
SecP256R1Field.Multiply(array5, array3, array5);
uint[] x4 = secP256R1FieldElement3.x;
ECFieldElement[] array7 = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
}
bool flag2;
if (!flag2)
{
}
}
return b;
}
// Token: 0x0600A8F1 RID: 43249 RVA: 0x0024742C File Offset: 0x0024562C
[Token(Token = "0x600A8F1")]
[Address(RVA = "0x7E62D0", Offset = "0x7E52D0", VA = "0x1807E62D0", Slot = "30")]
public override ECPoint Twice()
{
while (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement y = this.m_y;
if (y != 0)
{
if (y.IsOne)
{
break;
}
ECFieldElement x = this.m_x;
if (x == 0)
{
}
if (x != 0)
{
ECFieldElement ecfieldElement = this.m_zs[0];
if (ecfieldElement == 0)
{
}
if (ecfieldElement != 0)
{
uint[] array = Nat256.Create();
uint[] array2 = Nat256.Create();
uint[] array3 = Nat256.Create();
uint[] array4 = Nat256.Create();
SecP256R1Field.Square(array3, array4);
if (ecfieldElement.BitLength == 0)
{
}
SecP256R1Field.Multiply(array2, array, array2);
SecP256R1Field.Reduce32(Nat256.AddBothTo(array2, array2, array2), array2);
SecP256R1Field.Multiply(array3, array2, array3);
int num = 0;
SecP256R1Field.Reduce32(Nat.ShiftUpBits(8, array3, 2, (uint)num), array3);
int num2 = 0;
SecP256R1Field.Reduce32(Nat.ShiftUpBits(8, array4, 3, (uint)num2, array), array);
SecP256R1FieldElement secP256R1FieldElement = new SecP256R1FieldElement();
secP256R1FieldElement.x = array4;
SecP256R1Field.Square(array2, array4);
uint[] x2 = secP256R1FieldElement.x;
SecP256R1Field.Subtract(x2, array3, x2);
uint[] x3 = secP256R1FieldElement.x;
SecP256R1Field.Subtract(x3, array3, x3);
SecP256R1FieldElement secP256R1FieldElement2 = new SecP256R1FieldElement();
secP256R1FieldElement2.x = array3;
uint[] x4 = secP256R1FieldElement.x;
SecP256R1Field.Subtract(array3, x4, array3);
uint[] x5 = secP256R1FieldElement2.x;
SecP256R1Field.Multiply(x5, array2, x5);
uint[] x6 = secP256R1FieldElement2.x;
SecP256R1Field.Subtract(x6, array, x6);
SecP256R1FieldElement secP256R1FieldElement3 = new SecP256R1FieldElement();
secP256R1FieldElement3.x = array2;
uint[] x7 = secP256R1FieldElement3.x;
(new ECFieldElement[1])[0] = secP256R1FieldElement3;
bool withCompression = this.m_withCompression;
break;
}
}
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600A8F2 RID: 43250 RVA: 0x002475E8 File Offset: 0x002457E8
[Token(Token = "0x600A8F2")]
[Address(RVA = "0x6ECFE0", Offset = "0x6EBFE0", VA = "0x1806ECFE0", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
if (this != b)
{
if (!base.IsInfinity)
{
if (!b.IsInfinity)
{
if (this.m_y.IsOne)
{
return b;
}
ECPoint ecpoint;
bool flag = ecpoint.SatisfiesCurveEquation();
}
bool flag2 = base.SatisfiesCurveEquation();
}
return b;
}
bool flag3 = base.SatisfiesCurveEquation();
throw new NullReferenceException();
}
// Token: 0x0600A8F3 RID: 43251 RVA: 0x00247638 File Offset: 0x00245838
[Token(Token = "0x600A8F3")]
[Address(RVA = "0x6ECF60", Offset = "0x6EBF60", VA = "0x1806ECF60", Slot = "33")]
public override ECPoint ThreeTimes()
{
if (!base.IsInfinity && !this.m_y.IsOne)
{
ECPoint ecpoint;
bool flag = ecpoint.SatisfiesCurveEquation();
}
throw new NullReferenceException();
}
// Token: 0x0600A8F4 RID: 43252 RVA: 0x00247668 File Offset: 0x00245868
[Token(Token = "0x600A8F4")]
[Address(RVA = "0x7E61D0", Offset = "0x7E51D0", VA = "0x1807E61D0", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement y = this.m_y;
ECFieldElement[] zs = this.m_zs;
bool withCompression = this.m_withCompression;
}
throw new NullReferenceException();
}
}
}
@@ -0,0 +1,327 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B43 RID: 6979
[Token(Token = "0x2001B43")]
internal class SecP384R1Curve : AbstractFpCurve
{
// Token: 0x0600A8F5 RID: 43253 RVA: 0x002476A0 File Offset: 0x002458A0
[Token(Token = "0x600A8F5")]
[Address(RVA = "0x7E6EF0", Offset = "0x7E5EF0", VA = "0x1807E6EF0")]
public SecP384R1Curve()
{
BigInteger bigInteger = SecP384R1Curve.q;
base..ctor(bigInteger);
int num;
int num2;
ulong num3;
SecP384R1Point secP384R1Point = new SecP384R1Point(this, num, num2, num3 != 0UL);
num2 = 0;
num = 0;
this.m_infinity = secP384R1Point;
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFC");
BigInteger bigInteger2 = new BigInteger(1, array);
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
byte[] array2 = Hex.Decode("B3312FA7E23EE7E4988E056BE3F82D19181D9C6EFE8141120314088F5013875AC656398D8A2ED19D2A85C8EDD3EC2AEF");
BigInteger bigInteger3 = new BigInteger(1, array2);
int fieldSize2 = this.FieldSize;
this.m_b = fieldSize2;
byte[] array3 = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7634D81F4372DDF581A0DB248B0A77AECEC196ACCC52973");
BigInteger bigInteger4 = new BigInteger(1, array3);
this.m_order = bigInteger4;
BigInteger one = BigInteger.One;
this.m_cofactor = one;
this.m_coord = (int)((ulong)2L);
}
// Token: 0x0600A8F6 RID: 43254 RVA: 0x00247754 File Offset: 0x00245954
[Token(Token = "0x600A8F6")]
[Address(RVA = "0x7E6A00", Offset = "0x7E5A00", VA = "0x1807E6A00", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600A8F6)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP384R1Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP384R1Curve(var_0_05, newobj:SecP384R1Curve(SecP384R1Curve::.ctor))
}
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: 0x0600A8F7 RID: 43255 RVA: 0x00247768 File Offset: 0x00245968
[Token(Token = "0x600A8F7")]
[Address(RVA = "0x6E9C20", Offset = "0x6E8C20", VA = "0x1806E9C20", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 2;
}
// Token: 0x17001A72 RID: 6770
// (get) Token: 0x0600A8F8 RID: 43256 RVA: 0x0024777C File Offset: 0x0024597C
[Token(Token = "0x17001A72")]
public virtual BigInteger Q
{
[Token(Token = "0x600A8F8")]
[Address(RVA = "0x7E7140", Offset = "0x7E6140", VA = "0x1807E7140", Slot = "38")]
get
{
return SecP384R1Curve.q;
}
}
// Token: 0x17001A73 RID: 6771
// (get) Token: 0x0600A8F9 RID: 43257 RVA: 0x00247790 File Offset: 0x00245990
[Token(Token = "0x17001A73")]
public override ECPoint Infinity
{
[Token(Token = "0x600A8F9")]
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600A8F9)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP384R1Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP384R1Point(var_0_06, ldfld:SecP384R1Point(SecP384R1Curve::m_infinity, ldloc:SecP384R1Curve(this)))
}
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: 0x17001A74 RID: 6772
// (get) Token: 0x0600A8FA RID: 43258 RVA: 0x002477A4 File Offset: 0x002459A4
[Token(Token = "0x17001A74")]
public override int FieldSize
{
[Token(Token = "0x600A8FA")]
[Address(RVA = "0x7E70D0", Offset = "0x7E60D0", VA = "0x1807E70D0", Slot = "4")]
get
{
return SecP384R1Curve.q.BitLength;
}
}
// Token: 0x0600A8FB RID: 43259 RVA: 0x002477C4 File Offset: 0x002459C4
[Token(Token = "0x600A8FB")]
[Address(RVA = "0x7E6DF0", Offset = "0x7E5DF0", VA = "0x1807E6DF0", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600A8FB)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP384R1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP384R1FieldElement(var_0_06, newobj:SecP384R1FieldElement(SecP384R1FieldElement::.ctor, ldloc:BigInteger(x)))
}
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: 0x0600A8FC RID: 43260 RVA: 0x002477D8 File Offset: 0x002459D8
[Token(Token = "0x600A8FC")]
[Address(RVA = "0x7E6D60", Offset = "0x7E5D60", VA = "0x1807E6D60", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A8FC)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP384R1Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP384R1Point(var_0_09, newobj:SecP384R1Point(SecP384R1Point::.ctor, ldloc:SecP384R1Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600A8FD RID: 43261 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600A8FD")]
[Address(RVA = "0x7E6CC0", Offset = "0x7E5CC0", VA = "0x1807E6CC0", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600A8FE RID: 43262 RVA: 0x002477F0 File Offset: 0x002459F0
[Token(Token = "0x600A8FE")]
[Address(RVA = "0x7E6A50", Offset = "0x7E5A50", VA = "0x1807E6A50", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
uint[] array;
int num;
for (;;)
{
array = new uint[points];
num = 0;
if (len <= 0)
{
goto IL_52;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
num += 12;
if (y != 0 && y != 0)
{
break;
}
}
}
int num2 = 0;
num += 12;
IL_52:
int num3 = 0;
SecP384R1Curve.SecP384R1LookupTable secP384R1LookupTable;
secP384R1LookupTable.FieldGetter(num3, num2, array);
secP384R1LookupTable.m_outer = 0;
secP384R1LookupTable.m_table = array;
secP384R1LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x0600A8FF RID: 43263 RVA: 0x0024787C File Offset: 0x00245A7C
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600A8FF")]
[Address(RVA = "0x7E6E50", Offset = "0x7E5E50", VA = "0x1807E6E50")]
static SecP384R1Curve()
{
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFF");
SecP384R1Curve.q = new BigInteger(1, array);
}
// Token: 0x04006D7D RID: 28029
[Token(Token = "0x4006D7D")]
public static readonly BigInteger q;
// Token: 0x04006D7E RID: 28030
[Token(Token = "0x4006D7E")]
private const int SECP384R1_DEFAULT_COORDS = 2;
// Token: 0x04006D7F RID: 28031
[Token(Token = "0x4006D7F")]
private const int SECP384R1_FE_INTS = 12;
// Token: 0x04006D80 RID: 28032
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4006D80")]
protected readonly SecP384R1Point m_infinity;
// Token: 0x02001B44 RID: 6980
[Token(Token = "0x2001B44")]
private class SecP384R1LookupTable : ECLookupTable
{
// Token: 0x0600A900 RID: 43264 RVA: 0x002478A0 File Offset: 0x00245AA0
[Token(Token = "0x600A900")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecP384R1LookupTable(SecP384R1Curve outer, uint[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001A75 RID: 6773
// (get) Token: 0x0600A901 RID: 43265 RVA: 0x002478C8 File Offset: 0x00245AC8
[Token(Token = "0x17001A75")]
public virtual int Size
{
[Token(Token = "0x600A901")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600A902 RID: 43266 RVA: 0x002478DC File Offset: 0x00245ADC
[Token(Token = "0x600A902")]
[Address(RVA = "0x7E98B0", Offset = "0x7E88B0", VA = "0x1807E98B0", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
uint[] array = Nat.Create(12);
uint[] array2 = Nat.Create(12);
int num = 0;
int num2 = 0;
if (this.m_size > num)
{
int num3 = 0;
uint[] table = this.m_table;
uint[] table2 = this.m_table;
num3++;
num += 24;
num2++;
}
SecP384R1Curve outer = this.m_outer;
new SecP384R1FieldElement().x = array;
new SecP384R1FieldElement().x = array2;
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006D81 RID: 28033
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006D81")]
private readonly SecP384R1Curve m_outer;
// Token: 0x04006D82 RID: 28034
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006D82")]
private readonly uint[] m_table;
// Token: 0x04006D83 RID: 28035
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006D83")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,486 @@
using System;
using System.Runtime.CompilerServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B45 RID: 6981
[Token(Token = "0x2001B45")]
internal class SecP384R1Field
{
// Token: 0x0600A903 RID: 43267 RVA: 0x00247954 File Offset: 0x00245B54
[Token(Token = "0x600A903")]
[Address(RVA = "0x7E8640", Offset = "0x7E7640", VA = "0x1807E8640")]
public static void Add(uint[] x, uint[] y, uint[] z)
{
if (Nat.Add(12, x, y, z) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP384R1Field.P;
if (!Nat.Gte(12, z, p))
{
return;
}
}
SecP384R1Field.AddPInvTo(z);
}
// Token: 0x0600A904 RID: 43268 RVA: 0x00247998 File Offset: 0x00245B98
[Token(Token = "0x600A904")]
[Address(RVA = "0x7E82C0", Offset = "0x7E72C0", VA = "0x1807E82C0")]
public static void AddExt(uint[] xx, uint[] yy, uint[] zz)
{
if (Nat.Add(24, xx, yy, zz) == (uint)0)
{
if ("{il2cpp array field zz->}" != (ulong)(-1L))
{
return;
}
uint[] pext = SecP384R1Field.PExt;
if (!Nat.Gte(24, zz, pext))
{
return;
}
}
uint[] pextInv = SecP384R1Field.PExtInv;
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
{
int length = SecP384R1Field.PExtInv.Length;
uint num = Nat.IncAt(24, zz, length);
}
}
// Token: 0x0600A905 RID: 43269 RVA: 0x00247A04 File Offset: 0x00245C04
[Token(Token = "0x600A905")]
[Address(RVA = "0x7E8440", Offset = "0x7E7440", VA = "0x1807E8440")]
public static void AddOne(uint[] x, uint[] z)
{
if (Nat.Inc(12, x, z) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP384R1Field.P;
if (!Nat.Gte(12, z, p))
{
return;
}
}
SecP384R1Field.AddPInvTo(z);
}
// Token: 0x0600A906 RID: 43270 RVA: 0x00247A48 File Offset: 0x00245C48
[Token(Token = "0x600A906")]
[Address(RVA = "0x7E8740", Offset = "0x7E7740", VA = "0x1807E8740")]
public static uint[] FromBigInteger(BigInteger x)
{
uint[] array = Nat.FromBigInteger(384, x);
if ("{il2cpp array field local2->}" == (ulong)(-1L))
{
uint[] p = SecP384R1Field.P;
if (Nat.Gte(12, array, p))
{
uint[] p2 = SecP384R1Field.P;
int num = Nat.SubFrom(12, p2, array);
}
}
return array;
}
// Token: 0x0600A907 RID: 43271 RVA: 0x00247A94 File Offset: 0x00245C94
[Token(Token = "0x600A907")]
[Address(RVA = "0x7E8840", Offset = "0x7E7840", VA = "0x1807E8840")]
public static void Half(uint[] x, uint[] z)
{
if ("{il2cpp array field x->}" != (ulong)1L)
{
uint[] p = SecP384R1Field.P;
uint num = Nat.Add(12, x, p, z);
uint num2 = Nat.ShiftDownBit(12, z, num);
return;
}
int num3 = 0;
uint num4 = Nat.ShiftDownBit(12, x, (uint)num3, z);
}
// Token: 0x0600A908 RID: 43272 RVA: 0x00247AE0 File Offset: 0x00245CE0
[Token(Token = "0x600A908")]
[Address(RVA = "0x7E8930", Offset = "0x7E7930", VA = "0x1807E8930")]
public static void Multiply(uint[] x, uint[] y, uint[] z)
{
uint[] array = Nat.Create(24);
Nat384.Mul(x, y, array);
SecP384R1Field.Reduce(array, z);
}
// Token: 0x0600A909 RID: 43273 RVA: 0x00247B04 File Offset: 0x00245D04
[Token(Token = "0x600A909")]
[Address(RVA = "0x7E89D0", Offset = "0x7E79D0", VA = "0x1807E89D0")]
public static void Negate(uint[] x, uint[] z)
{
if (!Nat.IsZero(12, x))
{
uint[] p = SecP384R1Field.P;
int num = Nat.Sub(12, p, x, z);
return;
}
Nat.Zero(12, z);
}
// Token: 0x0600A90A RID: 43274 RVA: 0x00247B38 File Offset: 0x00245D38
[Token(Token = "0x600A90A")]
[Address(RVA = "0x7E8C50", Offset = "0x7E7C50", VA = "0x1807E8C50")]
public static void Reduce(uint[] xx, uint[] z)
{
int length = xx.Length;
uint num = xx[8];
uint num2 = xx[8];
uint num3 = xx[9];
uint num4 = xx[9];
uint num5 = xx[10];
uint num6 = xx[10];
uint num7 = xx[11];
uint num8 = xx[11];
uint num9 = xx[6];
uint num10 = xx[7];
uint num11 = xx[6];
num9 += num5;
uint num12 = xx[7];
num10 += num8;
num11 += num7;
num10 += num7;
num12 += num8;
num6 -= num8;
num7 -= num8;
num6 += num9;
uint num13 = xx[0];
num13 += num6;
z[0] = num13;
uint num14 = xx[0];
num14 += num13;
num14 += num11;
num14 += num8;
z[0] = num14;
uint num15 = xx[1];
num15 += num14;
num15 -= num11;
num15 -= num6;
num15 += num10;
z[1] = num15;
uint num16 = xx[1];
num16 += num15;
num16 -= num10;
num16 += num6;
num16 += num12;
z[1] = num16;
uint num17 = xx[2];
num17 += num16;
num17 -= num12;
num17 += num6;
num17 += num11;
num17 += num6;
num17 += num;
z[2] = num17;
uint num18 = xx[2];
num18 += num17;
num18 -= num;
num18 += num10;
num18 += num11;
z[2] = num18;
uint num19 = xx[3];
num19 += num18;
num19 -= num2;
num19 += num12;
num19 += num10;
num19 += num3;
z[3] = num19;
uint num20 = xx[3];
num20 += num19;
num20 -= num3;
num20 += num12;
num20 += num4;
num20 += num;
z[3] = num20;
uint num21 = xx[4];
num21 += num20;
num21 -= num4;
num21 += num5;
num21 += num2;
num21 += num;
z[4] = num21;
uint num22 = xx[4];
num22 += num21;
num22 -= num5;
num22 += num3;
z[4] = num22;
uint num23 = xx[5];
num23 += num22;
num23 += num7;
num23 += num4;
num23 += num3;
z[5] = num23;
uint num24 = xx[5];
num24 += num23;
num24 -= num7;
num24 += num5;
num24 += num4;
z[5] = num24;
SecP384R1Field.Reduce32(num24 + 1U, z);
}
// Token: 0x0600A90B RID: 43275 RVA: 0x00247E24 File Offset: 0x00246024
[Token(Token = "0x600A90B")]
[Address(RVA = "0x7E8A80", Offset = "0x7E7A80", VA = "0x1807E8A80")]
public static void Reduce32(uint x, uint[] z)
{
if (x != (uint)0)
{
uint num = z[0];
num += x;
z[0] = num;
uint num2 = z[0];
num += num2;
num -= x;
z[0] = num;
if (num != (uint)0)
{
uint num3 = z[1];
num += num3;
z[1] = num;
}
uint num4 = z[1];
num4 += x;
num += num4;
z[1] = num;
uint num5 = z[2];
num5 += num4;
z[2] = num5;
if (num5 != (uint)0 && Nat.IncAt(12, z, 5) != (uint)0)
{
goto IL_AE;
}
}
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP384R1Field.P;
if (!Nat.Gte(12, z, p))
{
return;
}
IL_AE:
SecP384R1Field.AddPInvTo(z);
}
// Token: 0x0600A90C RID: 43276 RVA: 0x00247EEC File Offset: 0x002460EC
[Token(Token = "0x600A90C")]
[Address(RVA = "0x7E92A0", Offset = "0x7E82A0", VA = "0x1807E92A0")]
public static void Square(uint[] x, uint[] z)
{
uint[] array = Nat.Create(24);
Nat384.Square(x, array);
SecP384R1Field.Reduce(array, z);
}
// Token: 0x0600A90D RID: 43277 RVA: 0x00247F10 File Offset: 0x00246110
[Token(Token = "0x600A90D")]
[Address(RVA = "0x7E91B0", Offset = "0x7E81B0", VA = "0x1807E91B0")]
public static void SquareN(uint[] x, int n, uint[] z)
{
uint[] array = Nat.Create(24);
Nat384.Square(x, array);
SecP384R1Field.Reduce(array, z);
if (n > 0)
{
Nat384.Square(z, array);
SecP384R1Field.Reduce(array, z);
}
}
// Token: 0x0600A90E RID: 43278 RVA: 0x00247F48 File Offset: 0x00246148
[Token(Token = "0x600A90E")]
[Address(RVA = "0x7E9550", Offset = "0x7E8550", VA = "0x1807E9550")]
public static void Subtract(uint[] x, uint[] y, uint[] z)
{
uint num;
if (Nat.Sub((int)num, x, y, z) != 0)
{
uint num2 = z[0];
z[0] = num2;
uint num3 = z[0];
num3 += (uint)1;
num2 += num3;
z[0] = num2;
if (num2 != (uint)0)
{
uint num4 = z[1];
num2 += num4;
z[1] = num2;
}
uint num5 = z[1];
num5 += num2;
z[1] = num5;
uint num6 = z[2];
num5 += num6;
z[2] = num5;
ulong num7;
if (num7 != (ulong)num5)
{
int num8 = Nat.DecAt(12, z, 5);
}
}
}
// Token: 0x0600A90F RID: 43279 RVA: 0x00247FF0 File Offset: 0x002461F0
[Token(Token = "0x600A90F")]
[Address(RVA = "0x7E9440", Offset = "0x7E8440", VA = "0x1807E9440")]
public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz)
{
if (Nat.Sub(24, xx, yy, zz) != 0)
{
uint[] pextInv = SecP384R1Field.PExtInv;
if (Nat.SubFrom(pextInv.Length, pextInv, zz) != 0)
{
int length = SecP384R1Field.PExtInv.Length;
int num = Nat.DecAt(24, zz, length);
}
}
}
// Token: 0x0600A910 RID: 43280 RVA: 0x0024803C File Offset: 0x0024623C
[Token(Token = "0x600A910")]
[Address(RVA = "0x7E96E0", Offset = "0x7E86E0", VA = "0x1807E96E0")]
public static void Twice(uint[] x, uint[] z)
{
int num = 0;
if (Nat.ShiftUpBit(12, x, (uint)num, z) == (uint)0)
{
if ("{il2cpp array field z->}" != (ulong)(-1L))
{
return;
}
uint[] p = SecP384R1Field.P;
if (!Nat.Gte(12, z, p))
{
return;
}
}
SecP384R1Field.AddPInvTo(z);
}
// Token: 0x0600A911 RID: 43281 RVA: 0x00248084 File Offset: 0x00246284
[Token(Token = "0x600A911")]
[Address(RVA = "0x7E8530", Offset = "0x7E7530", VA = "0x1807E8530")]
private static void AddPInvTo(uint[] z)
{
uint num = z[0];
uint num2 = num + 1U;
z[0] = num2;
uint num3 = z[0];
num += (uint)1;
num3 += num;
z[0] = num3;
if (num3 != (uint)0)
{
uint num4 = z[1];
num3 += num4;
z[1] = num3;
}
uint num5 = z[1];
num5 += (uint)1;
num5 += num3;
z[1] = num5;
uint num6 = z[2];
num6 += (uint)1;
num5 += num6;
z[2] = num5;
ulong num7;
if (num7 != (ulong)num5)
{
uint num8 = Nat.IncAt(12, z, 5);
return;
}
}
// Token: 0x0600A912 RID: 43282 RVA: 0x00248130 File Offset: 0x00246330
[Token(Token = "0x600A912")]
[Address(RVA = "0x7E9330", Offset = "0x7E8330", VA = "0x1807E9330")]
private static void SubPInvFrom(uint[] z)
{
uint num = z[0];
z[0] = num;
uint num2 = z[0];
num2 += (uint)1;
num += num2;
z[0] = num;
if (num != (uint)0)
{
uint num3 = z[1];
num += num3;
z[1] = num;
}
uint num4 = z[1];
num4 += num;
z[1] = num4;
uint num5 = z[2];
num5 += num4;
z[2] = num5;
ulong num6;
if (num6 != (ulong)num5)
{
int num7 = Nat.DecAt(12, z, 5);
return;
}
}
// Token: 0x0600A913 RID: 43283 RVA: 0x002481C4 File Offset: 0x002463C4
[Token(Token = "0x600A913")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public SecP384R1Field()
{
}
// Token: 0x0600A914 RID: 43284 RVA: 0x002481D8 File Offset: 0x002463D8
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600A914")]
[Address(RVA = "0x7E97E0", Offset = "0x7E87E0", VA = "0x1807E97E0")]
static SecP384R1Field()
{
uint[] array = new uint[12];
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.095B351FE2104237B032546280C98C9804D331C5).FieldHandle);
SecP384R1Field.P = array;
uint[] array2 = new uint[24];
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.CE39574ADC95015A9B5E0475EB65EE8F32353FD4).FieldHandle);
SecP384R1Field.PExt = array2;
uint[] array3 = new uint[17];
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.EF2680899DD1FCA444AE6B8B3B0CC6C7DD40894B).FieldHandle);
SecP384R1Field.PExtInv = array3;
}
// Token: 0x04006D84 RID: 28036
[Token(Token = "0x4006D84")]
internal static readonly uint[] P;
// Token: 0x04006D85 RID: 28037
[Token(Token = "0x4006D85")]
internal static readonly uint[] PExt;
// Token: 0x04006D86 RID: 28038
[Token(Token = "0x4006D86")]
private static readonly uint[] PExtInv;
// Token: 0x04006D87 RID: 28039
[Token(Token = "0x4006D87")]
private const uint P11 = 4294967295U;
// Token: 0x04006D88 RID: 28040
[Token(Token = "0x4006D88")]
private const uint PExt23 = 4294967295U;
}
}
@@ -0,0 +1,458 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B46 RID: 6982
[Token(Token = "0x2001B46")]
internal class SecP384R1FieldElement : AbstractFpFieldElement
{
// Token: 0x0600A915 RID: 43285 RVA: 0x00248230 File Offset: 0x00246430
[Token(Token = "0x600A915")]
[Address(RVA = "0x7E8020", Offset = "0x7E7020", VA = "0x1807E8020")]
public SecP384R1FieldElement(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600A915)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP384R1FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_5B:
stloc:ArgumentException(var_6_6A, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecP384R1FieldElement"), ldstr:string("x")))
}
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: 0x0600A916 RID: 43286 RVA: 0x002482A8 File Offset: 0x002464A8
[Token(Token = "0x600A916")]
[Address(RVA = "0x7E7FF0", Offset = "0x7E6FF0", VA = "0x1807E7FF0")]
public SecP384R1FieldElement()
{
uint[] array = Nat.Create(12);
this.x = array;
}
// Token: 0x0600A917 RID: 43287 RVA: 0x002482CC File Offset: 0x002464CC
[Token(Token = "0x600A917")]
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
protected internal SecP384R1FieldElement(uint[] x)
{
this.x = x;
}
// Token: 0x17001A76 RID: 6774
// (get) Token: 0x0600A918 RID: 43288 RVA: 0x002482E8 File Offset: 0x002464E8
[Token(Token = "0x17001A76")]
public override bool IsZero
{
[Token(Token = "0x600A918")]
[Address(RVA = "0x7E82B0", Offset = "0x7E72B0", VA = "0x1807E82B0", Slot = "18")]
get
{
uint[] array = this.x;
return Nat.IsZero(12, array);
}
}
// Token: 0x17001A77 RID: 6775
// (get) Token: 0x0600A919 RID: 43289 RVA: 0x00248304 File Offset: 0x00246504
[Token(Token = "0x17001A77")]
public override bool IsOne
{
[Token(Token = "0x600A919")]
[Address(RVA = "0x7E82A0", Offset = "0x7E72A0", VA = "0x1807E82A0", Slot = "17")]
get
{
uint[] array = this.x;
return Nat.IsOne(12, array);
}
}
// Token: 0x0600A91A RID: 43290 RVA: 0x00248320 File Offset: 0x00246520
[Token(Token = "0x600A91A")]
[Address(RVA = "0x7E7F50", Offset = "0x7E6F50", VA = "0x1807E7F50", Slot = "24")]
public override bool TestBitZero()
{
uint[] array = this.x;
int num = 0;
return Nat.GetBit(array, num) == (uint)1;
}
// Token: 0x0600A91B RID: 43291 RVA: 0x00248344 File Offset: 0x00246544
[Token(Token = "0x600A91B")]
[Address(RVA = "0x7E7F70", Offset = "0x7E6F70", VA = "0x1807E7F70", Slot = "4")]
public override BigInteger ToBigInteger()
{
uint[] array = this.x;
return Nat.ToBigInteger(12, array);
}
// Token: 0x17001A78 RID: 6776
// (get) Token: 0x0600A91C RID: 43292 RVA: 0x00248360 File Offset: 0x00246560
[Token(Token = "0x17001A78")]
public override string FieldName
{
[Token(Token = "0x600A91C")]
[Address(RVA = "0x7E8200", Offset = "0x7E7200", VA = "0x1807E8200", Slot = "5")]
get
{
return "SecP384R1Field";
}
}
// Token: 0x17001A79 RID: 6777
// (get) Token: 0x0600A91D RID: 43293 RVA: 0x00248374 File Offset: 0x00246574
[Token(Token = "0x17001A79")]
public override int FieldSize
{
[Token(Token = "0x600A91D")]
[Address(RVA = "0x7E8230", Offset = "0x7E7230", VA = "0x1807E8230", Slot = "6")]
get
{
return SecP384R1FieldElement.Q.BitLength;
}
}
// Token: 0x0600A91E RID: 43294 RVA: 0x00248394 File Offset: 0x00246594
[Token(Token = "0x600A91E")]
[Address(RVA = "0x7E72F0", Offset = "0x7E62F0", VA = "0x1807E72F0", Slot = "7")]
public override ECFieldElement Add(ECFieldElement b)
{
uint[] array;
do
{
array = Nat.Create(12);
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP384R1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecP384R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A91F RID: 43295 RVA: 0x002483D8 File Offset: 0x002465D8
[Token(Token = "0x600A91F")]
[Address(RVA = "0x7E71A0", Offset = "0x7E61A0", VA = "0x1807E71A0", Slot = "8")]
public override ECFieldElement AddOne()
{
uint[] array = Nat.Create(12);
uint[] array2 = this.x;
if (Nat.Inc(12, array2, array) == (uint)0)
{
if ("{il2cpp array field local2->}" != (ulong)(-1L))
{
goto IL_3E;
}
uint[] p = SecP384R1Field.P;
if (!Nat.Gte(12, array, p))
{
goto IL_3E;
}
}
SecP384R1Field.AddPInvTo(array);
IL_3E:
new SecP384R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A920 RID: 43296 RVA: 0x00248434 File Offset: 0x00246634
[Token(Token = "0x600A920")]
[Address(RVA = "0x7E7E10", Offset = "0x7E6E10", VA = "0x1807E7E10", Slot = "9")]
public override ECFieldElement Subtract(ECFieldElement b)
{
uint[] array;
do
{
array = Nat.Create(12);
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP384R1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecP384R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A921 RID: 43297 RVA: 0x00248478 File Offset: 0x00246678
[Token(Token = "0x600A921")]
[Address(RVA = "0x7E78A0", Offset = "0x7E68A0", VA = "0x1807E78A0", Slot = "10")]
public override ECFieldElement Multiply(ECFieldElement b)
{
uint[] array;
do
{
array = Nat.Create(12);
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP384R1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecP384R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A922 RID: 43298 RVA: 0x002484BC File Offset: 0x002466BC
[Token(Token = "0x600A922")]
[Address(RVA = "0x7E7430", Offset = "0x7E6430", VA = "0x1807E7430", Slot = "11")]
public override ECFieldElement Divide(ECFieldElement b)
{
uint[] array;
do
{
array = Nat.Create(12);
uint[] p = SecP384R1Field.P;
if ("{il2cpp array field local3->}" == typeof(SecP384R1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
uint[] array2 = this.x;
SecP384R1Field.Multiply(array, array2, array);
new SecP384R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A923 RID: 43299 RVA: 0x00248510 File Offset: 0x00246710
[Token(Token = "0x600A923")]
[Address(RVA = "0x7E79E0", Offset = "0x7E69E0", VA = "0x1807E79E0", Slot = "12")]
public override ECFieldElement Negate()
{
/*
An exception occurred when decompiling this method (0600A923)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP384R1FieldElement::Negate()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_0_07, call:uint32[](Nat::Create, ldc.i4:int32(12)))
call:void(SecP384R1Field::Negate, ldfld:uint32[](SecP384R1FieldElement::x, ldloc:SecP384R1FieldElement(this)), ldloc:uint32[](var_0_07))
stfld:uint32[](SecP384R1FieldElement::x, newobj:SecP384R1FieldElement(SecP384R1FieldElement::.ctor), ldloc:uint32[](var_0_07))
}
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: 0x0600A924 RID: 43300 RVA: 0x0024853C File Offset: 0x0024673C
[Token(Token = "0x600A924")]
[Address(RVA = "0x7E7D80", Offset = "0x7E6D80", VA = "0x1807E7D80", Slot = "13")]
public override ECFieldElement Square()
{
/*
An exception occurred when decompiling this method (0600A924)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP384R1FieldElement::Square()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_0_07, call:uint32[](Nat::Create, ldc.i4:int32(12)))
call:void(SecP384R1Field::Square, ldfld:uint32[](SecP384R1FieldElement::x, ldloc:SecP384R1FieldElement(this)), ldloc:uint32[](var_0_07))
stfld:uint32[](SecP384R1FieldElement::x, newobj:SecP384R1FieldElement(SecP384R1FieldElement::.ctor), ldloc:uint32[](var_0_07))
}
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: 0x0600A925 RID: 43301 RVA: 0x00248568 File Offset: 0x00246768
[Token(Token = "0x600A925")]
[Address(RVA = "0x7E77D0", Offset = "0x7E67D0", VA = "0x1807E77D0", Slot = "14")]
public override ECFieldElement Invert()
{
/*
An exception occurred when decompiling this method (0600A925)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP384R1FieldElement::Invert()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_0_07, call:uint32[](Nat::Create, ldc.i4:int32(12)))
stloc:uint32[](var_1_0E, ldfld:uint32[](SecP384R1FieldElement::x, ldloc:SecP384R1FieldElement(this)))
call:void(Mod::Invert, ldsfld:uint32[](SecP384R1Field::P), ldloc:uint32[](var_1_0E), ldloc:uint32[](var_0_07))
stfld:uint32[](SecP384R1FieldElement::x, newobj:SecP384R1FieldElement(SecP384R1FieldElement::.ctor), ldloc:uint32[](var_0_07))
}
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: 0x0600A926 RID: 43302 RVA: 0x0024859C File Offset: 0x0024679C
[Token(Token = "0x600A926")]
[Address(RVA = "0x7E7A70", Offset = "0x7E6A70", VA = "0x1807E7A70", Slot = "15")]
public override ECFieldElement Sqrt()
{
uint[] array;
do
{
array = this.x;
}
while (Nat.IsZero(12, array) || Nat.IsOne(12, array));
uint[] array2 = Nat.Create(12);
uint[] array3 = Nat.Create(12);
uint[] array4 = Nat.Create(12);
uint[] array5 = Nat.Create(12);
SecP384R1Field.Square(array, array2);
SecP384R1Field.Multiply(array2, array, array2);
SecP384R1Field.SquareN(array2, 2, array3);
SecP384R1Field.Multiply(array3, array2, array3);
SecP384R1Field.Square(array3, array3);
SecP384R1Field.Multiply(array3, array, array3);
SecP384R1Field.SquareN(array3, 5, array4);
SecP384R1Field.Multiply(array4, array3, array4);
SecP384R1Field.SquareN(array4, 5, array5);
SecP384R1Field.Multiply(array5, array3, array5);
SecP384R1Field.SquareN(array5, 15, array3);
SecP384R1Field.Multiply(array3, array5, array3);
SecP384R1Field.SquareN(array3, 2, array4);
SecP384R1Field.Multiply(array2, array4, array2);
SecP384R1Field.SquareN(array4, 28, array4);
SecP384R1Field.Multiply(array3, array4, array3);
SecP384R1Field.SquareN(array3, 60, array4);
SecP384R1Field.Multiply(array4, array3, array4);
SecP384R1Field.SquareN(array4, 120, array3);
SecP384R1Field.Multiply(array3, array4, array3);
SecP384R1Field.SquareN(array3, 15, array3);
SecP384R1Field.Multiply(array3, array5, array3);
SecP384R1Field.SquareN(array3, 33, array3);
SecP384R1Field.Multiply(array3, array2, array3);
SecP384R1Field.SquareN(array3, 64, array3);
SecP384R1Field.Multiply(array3, array, array3);
SecP384R1Field.SquareN(array3, 30, array2);
SecP384R1Field.Square(array2, array3);
if (Nat.Eq(12, array, array3))
{
new SecP384R1FieldElement().x = array2;
return;
}
}
// Token: 0x0600A927 RID: 43303 RVA: 0x002486EC File Offset: 0x002468EC
[Token(Token = "0x600A927")]
[Address(RVA = "0x7E75C0", Offset = "0x7E65C0", VA = "0x1807E75C0", Slot = "0")]
public override bool Equals(object obj)
{
/*
An exception occurred when decompiling this method (0600A927)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP384R1FieldElement::Equals(System.Object)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP384R1FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600A928 RID: 43304 RVA: 0x00248708 File Offset: 0x00246908
[Token(Token = "0x600A928")]
[Address(RVA = "0x7E7650", Offset = "0x7E6650", VA = "0x1807E7650", Slot = "25")]
public override bool Equals(ECFieldElement other)
{
/*
An exception occurred when decompiling this method (0600A928)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP384R1FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP384R1FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600A929 RID: 43305 RVA: 0x00248724 File Offset: 0x00246924
[Token(Token = "0x600A929")]
[Address(RVA = "0x7E76E0", Offset = "0x7E66E0", VA = "0x1807E76E0", Slot = "27")]
public virtual bool Equals(SecP384R1FieldElement other)
{
if (this != other)
{
if (other != 0)
{
uint[] array = other.x;
uint[] array2 = this.x;
return Nat.Eq(12, array2, array);
}
}
return true;
}
// Token: 0x0600A92A RID: 43306 RVA: 0x00248754 File Offset: 0x00246954
[Token(Token = "0x600A92A")]
[Address(RVA = "0x7E7710", Offset = "0x7E6710", VA = "0x1807E7710", Slot = "2")]
public override int GetHashCode()
{
SecP384R1FieldElement.Q.Finalize();
uint[] array = this.x;
int num = 0;
return Arrays.GetHashCode(array, num, 12);
}
// Token: 0x04006D89 RID: 28041
[Token(Token = "0x4006D89")]
public static readonly BigInteger Q = SecP384R1Curve.q;
// Token: 0x04006D8A RID: 28042
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006D8A")]
protected internal readonly uint[] x;
}
}
@@ -0,0 +1,309 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B47 RID: 6983
[Token(Token = "0x2001B47")]
internal class SecP384R1Point : AbstractFpPoint
{
// Token: 0x0600A92C RID: 43308 RVA: 0x0024879C File Offset: 0x0024699C
[Token(Token = "0x600A92C")]
[Address(RVA = "0x7EABD0", Offset = "0x7E9BD0", VA = "0x1807EABD0")]
public SecP384R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600A92D RID: 43309 RVA: 0x002487AC File Offset: 0x002469AC
[Token(Token = "0x600A92D")]
[Address(RVA = "0x7EAB10", Offset = "0x7E9B10", VA = "0x1807EAB10")]
public SecP384R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A92D)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP384R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600A92E RID: 43310 RVA: 0x002487D4 File Offset: 0x002469D4
[Token(Token = "0x600A92E")]
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
internal SecP384R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600A92F RID: 43311 RVA: 0x002487E4 File Offset: 0x002469E4
[Token(Token = "0x600A92F")]
[Address(RVA = "0x7EA2F0", Offset = "0x7E92F0", VA = "0x1807EA2F0", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600A92F)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP384R1Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecP384R1Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecP384R1Point[exp:ECPoint](this)))
}
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: 0x0600A930 RID: 43312 RVA: 0x00248800 File Offset: 0x00246A00
[Token(Token = "0x600A930")]
[Address(RVA = "0x7E9A80", Offset = "0x7E8A80", VA = "0x1807E9A80", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
if (!base.IsInfinity)
{
if (!b.IsInfinity)
{
if (this == b)
{
return b;
}
bool flag = this.SatisfiesOrder();
ECFieldElement[] zs = this.m_zs;
ECFieldElement[] zs2 = b.m_zs;
uint[] array = Nat.Create(24);
uint[] array2 = Nat.Create(24);
uint[] array3 = Nat.Create(12);
uint[] array4 = Nat.Create(12);
if (array4 == 0)
{
SecP384R1Field.Square(array4, array3);
SecP384R1Field.Multiply(array3, array3, array2);
SecP384R1Field.Multiply(array3, array3, array3);
SecP384R1Field.Multiply(array3, array3, array3);
}
SecP384R1Field.Square(array2, array4);
SecP384R1Field.Multiply(array4, array4, array);
SecP384R1Field.Multiply(array4, array4, array4);
SecP384R1Field.Multiply(array4, array4, array4);
uint[] array5 = Nat.Create(12);
SecP384R1Field.Subtract(array, array4, array5);
uint[] array6 = Nat.Create(12);
if (!Nat.IsZero(12, array5))
{
SecP384R1Field.Square(array5, array3);
uint[] array7 = Nat.Create(12);
SecP384R1Field.Multiply(array3, array5, array7);
SecP384R1Field.Multiply(array3, array, array3);
SecP384R1Field.Negate(array7, array7);
SecP384R1Field.Reduce32(Nat.AddBothTo(12, array3, array3, array7), array7);
SecP384R1FieldElement secP384R1FieldElement = new SecP384R1FieldElement();
secP384R1FieldElement.x = array4;
SecP384R1Field.Square(array6, array4);
uint[] x = secP384R1FieldElement.x;
SecP384R1Field.Subtract(x, array7, x);
SecP384R1FieldElement secP384R1FieldElement2 = new SecP384R1FieldElement();
secP384R1FieldElement2.x = array7;
uint[] x2 = secP384R1FieldElement.x;
SecP384R1Field.Subtract(array3, x2, array7);
Nat384.Mul(secP384R1FieldElement2.x, array6, array2);
if (Nat.Add(24, array, array2, array) == (uint)0)
{
if ("{il2cpp array field local16->}" != (ulong)(-1L))
{
goto IL_1E1;
}
uint[] pext = SecP384R1Field.PExt;
if (!Nat.Gte(24, array, pext))
{
goto IL_1E1;
}
}
uint[] pextInv = SecP384R1Field.PExtInv;
if (Nat.AddTo(pextInv.Length, pextInv, array) != (uint)0)
{
int length = SecP384R1Field.PExtInv.Length;
uint num = Nat.IncAt(24, array, length);
}
IL_1E1:
uint[] x3 = secP384R1FieldElement2.x;
SecP384R1Field.Reduce(array, x3);
SecP384R1FieldElement secP384R1FieldElement3 = new SecP384R1FieldElement();
secP384R1FieldElement3.x = array5;
SecP384R1Field.Multiply(array5, array, array5);
uint[] x4 = secP384R1FieldElement3.x;
ECFieldElement[] array8 = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
}
bool flag2;
if (!flag2)
{
}
}
return b;
}
// Token: 0x0600A931 RID: 43313 RVA: 0x00248A50 File Offset: 0x00246C50
[Token(Token = "0x600A931")]
[Address(RVA = "0x7EA490", Offset = "0x7E9490", VA = "0x1807EA490", Slot = "30")]
public override ECPoint Twice()
{
while (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement y = this.m_y;
if (y != 0)
{
if (y.IsOne)
{
break;
}
ECFieldElement x = this.m_x;
if (x == 0)
{
}
if (x != 0)
{
ECFieldElement ecfieldElement = this.m_zs[0];
if (ecfieldElement == 0)
{
}
if (ecfieldElement != 0)
{
uint[] array = Nat.Create(12);
uint[] array2 = Nat.Create(12);
uint[] array3 = Nat.Create(12);
uint[] array4 = Nat.Create(12);
SecP384R1Field.Square(array3, array4);
if (ecfieldElement.BitLength == 0)
{
}
SecP384R1Field.Multiply(array2, array, array2);
SecP384R1Field.Reduce32(Nat.AddBothTo(12, array2, array2, array2), array2);
SecP384R1Field.Multiply(array3, array2, array3);
int num = 0;
SecP384R1Field.Reduce32(Nat.ShiftUpBits(12, array3, 2, (uint)num), array3);
int num2 = 0;
SecP384R1Field.Reduce32(Nat.ShiftUpBits(12, array4, 3, (uint)num2, array), array);
SecP384R1FieldElement secP384R1FieldElement = new SecP384R1FieldElement();
secP384R1FieldElement.x = array4;
SecP384R1Field.Square(array2, array4);
uint[] x2 = secP384R1FieldElement.x;
SecP384R1Field.Subtract(x2, array3, x2);
uint[] x3 = secP384R1FieldElement.x;
SecP384R1Field.Subtract(x3, array3, x3);
SecP384R1FieldElement secP384R1FieldElement2 = new SecP384R1FieldElement();
secP384R1FieldElement2.x = array3;
uint[] x4 = secP384R1FieldElement.x;
SecP384R1Field.Subtract(array3, x4, array3);
uint[] x5 = secP384R1FieldElement2.x;
SecP384R1Field.Multiply(x5, array2, x5);
uint[] x6 = secP384R1FieldElement2.x;
SecP384R1Field.Subtract(x6, array, x6);
SecP384R1FieldElement secP384R1FieldElement3 = new SecP384R1FieldElement();
secP384R1FieldElement3.x = array2;
uint num3;
if (num3 == (uint)0)
{
if ("{il2cpp array field local20->}" != (ulong)(-1L))
{
goto IL_1B7;
}
uint[] p = SecP384R1Field.P;
if (!Nat.Gte(12, array2, p))
{
goto IL_1B7;
}
}
SecP384R1Field.AddPInvTo(array2);
IL_1B7:
uint[] x7 = secP384R1FieldElement3.x;
(new ECFieldElement[1])[0] = secP384R1FieldElement3;
bool withCompression = this.m_withCompression;
break;
}
}
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600A932 RID: 43314 RVA: 0x00248C38 File Offset: 0x00246E38
[Token(Token = "0x600A932")]
[Address(RVA = "0x6ECFE0", Offset = "0x6EBFE0", VA = "0x1806ECFE0", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
if (this != b)
{
if (!base.IsInfinity)
{
if (!b.IsInfinity)
{
if (this.m_y.IsOne)
{
return b;
}
ECPoint ecpoint;
bool flag = ecpoint.SatisfiesCurveEquation();
}
bool flag2 = base.SatisfiesCurveEquation();
}
return b;
}
bool flag3 = base.SatisfiesCurveEquation();
throw new NullReferenceException();
}
// Token: 0x0600A933 RID: 43315 RVA: 0x00248C88 File Offset: 0x00246E88
[Token(Token = "0x600A933")]
[Address(RVA = "0x6ECF60", Offset = "0x6EBF60", VA = "0x1806ECF60", Slot = "33")]
public override ECPoint ThreeTimes()
{
if (!base.IsInfinity && !this.m_y.IsOne)
{
ECPoint ecpoint;
bool flag = ecpoint.SatisfiesCurveEquation();
}
throw new NullReferenceException();
}
// Token: 0x0600A934 RID: 43316 RVA: 0x00248CB8 File Offset: 0x00246EB8
[Token(Token = "0x600A934")]
[Address(RVA = "0x7EA390", Offset = "0x7E9390", VA = "0x1807EA390", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement y = this.m_y;
ECFieldElement[] zs = this.m_zs;
bool withCompression = this.m_withCompression;
}
throw new NullReferenceException();
}
}
}
@@ -0,0 +1,327 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B48 RID: 6984
[Token(Token = "0x2001B48")]
internal class SecP521R1Curve : AbstractFpCurve
{
// Token: 0x0600A935 RID: 43317 RVA: 0x00248CF0 File Offset: 0x00246EF0
[Token(Token = "0x600A935")]
[Address(RVA = "0x7EB220", Offset = "0x7EA220", VA = "0x1807EB220")]
public SecP521R1Curve()
{
BigInteger bigInteger = SecP521R1Curve.q;
base..ctor(bigInteger);
int num;
int num2;
ulong num3;
SecP521R1Point secP521R1Point = new SecP521R1Point(this, num, num2, num3 != 0UL);
num2 = 0;
num = 0;
this.m_infinity = secP521R1Point;
byte[] array = Hex.Decode("01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC");
BigInteger bigInteger2 = new BigInteger(1, array);
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
byte[] array2 = Hex.Decode("0051953EB9618E1C9A1F929A21A0B68540EEA2DA725B99B315F3B8B489918EF109E156193951EC7E937B1652C0BD3BB1BF073573DF883D2C34F1EF451FD46B503F00");
BigInteger bigInteger3 = new BigInteger(1, array2);
int fieldSize2 = this.FieldSize;
this.m_b = fieldSize2;
byte[] array3 = Hex.Decode("01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA51868783BF2F966B7FCC0148F709A5D03BB5C9B8899C47AEBB6FB71E91386409");
BigInteger bigInteger4 = new BigInteger(1, array3);
this.m_order = bigInteger4;
BigInteger one = BigInteger.One;
this.m_cofactor = one;
this.m_coord = (int)((ulong)2L);
}
// Token: 0x0600A936 RID: 43318 RVA: 0x00248DA4 File Offset: 0x00246FA4
[Token(Token = "0x600A936")]
[Address(RVA = "0x7EABF0", Offset = "0x7E9BF0", VA = "0x1807EABF0", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600A936)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP521R1Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP521R1Curve(var_0_05, newobj:SecP521R1Curve(SecP521R1Curve::.ctor))
}
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: 0x0600A937 RID: 43319 RVA: 0x00248DB8 File Offset: 0x00246FB8
[Token(Token = "0x600A937")]
[Address(RVA = "0x6E9C20", Offset = "0x6E8C20", VA = "0x1806E9C20", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 2;
}
// Token: 0x17001A7A RID: 6778
// (get) Token: 0x0600A938 RID: 43320 RVA: 0x00248DCC File Offset: 0x00246FCC
[Token(Token = "0x17001A7A")]
public virtual BigInteger Q
{
[Token(Token = "0x600A938")]
[Address(RVA = "0x7EB470", Offset = "0x7EA470", VA = "0x1807EB470", Slot = "38")]
get
{
return SecP521R1Curve.q;
}
}
// Token: 0x17001A7B RID: 6779
// (get) Token: 0x0600A939 RID: 43321 RVA: 0x00248DE0 File Offset: 0x00246FE0
[Token(Token = "0x17001A7B")]
public override ECPoint Infinity
{
[Token(Token = "0x600A939")]
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600A939)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP521R1Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP521R1Point(var_0_06, ldfld:SecP521R1Point(SecP521R1Curve::m_infinity, ldloc:SecP521R1Curve(this)))
}
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: 0x17001A7C RID: 6780
// (get) Token: 0x0600A93A RID: 43322 RVA: 0x00248DF4 File Offset: 0x00246FF4
[Token(Token = "0x17001A7C")]
public override int FieldSize
{
[Token(Token = "0x600A93A")]
[Address(RVA = "0x7EB400", Offset = "0x7EA400", VA = "0x1807EB400", Slot = "4")]
get
{
return SecP521R1Curve.q.BitLength;
}
}
// Token: 0x0600A93B RID: 43323 RVA: 0x00248E14 File Offset: 0x00247014
[Token(Token = "0x600A93B")]
[Address(RVA = "0x7EAFE0", Offset = "0x7E9FE0", VA = "0x1807EAFE0", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600A93B)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP521R1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_38:
stloc:ArgumentException(var_5_47, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecP521R1FieldElement"), ldstr:string("x")))
}
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: 0x0600A93C RID: 43324 RVA: 0x00248E6C File Offset: 0x0024706C
[Token(Token = "0x600A93C")]
[Address(RVA = "0x7EAEB0", Offset = "0x7E9EB0", VA = "0x1807EAEB0", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A93C)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP521R1Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecP521R1Point(var_0_09, newobj:SecP521R1Point(SecP521R1Point::.ctor, ldloc:SecP521R1Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600A93D RID: 43325 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600A93D")]
[Address(RVA = "0x7EAF40", Offset = "0x7E9F40", VA = "0x1807EAF40", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600A93E RID: 43326 RVA: 0x00248E84 File Offset: 0x00247084
[Token(Token = "0x600A93E")]
[Address(RVA = "0x7EAC40", Offset = "0x7E9C40", VA = "0x1807EAC40", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
uint[] array;
int num;
for (;;)
{
array = new uint[len * (int)((uint)34)];
num = 0;
if (len <= 0)
{
goto IL_56;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
num += 17;
if (y != 0 && y != 0)
{
break;
}
}
}
int num2 = 0;
num += 17;
IL_56:
int num3 = 0;
SecP521R1Curve.SecP521R1LookupTable secP521R1LookupTable;
secP521R1LookupTable.FieldGetter(num3, num2, array);
secP521R1LookupTable.m_outer = 0;
secP521R1LookupTable.m_table = array;
secP521R1LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x0600A93F RID: 43327 RVA: 0x00248F14 File Offset: 0x00247114
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600A93F")]
[Address(RVA = "0x7EB180", Offset = "0x7EA180", VA = "0x1807EB180")]
static SecP521R1Curve()
{
byte[] array = Hex.Decode("01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");
SecP521R1Curve.q = new BigInteger(1, array);
}
// Token: 0x04006D8B RID: 28043
[Token(Token = "0x4006D8B")]
public static readonly BigInteger q;
// Token: 0x04006D8C RID: 28044
[Token(Token = "0x4006D8C")]
private const int SECP521R1_DEFAULT_COORDS = 2;
// Token: 0x04006D8D RID: 28045
[Token(Token = "0x4006D8D")]
private const int SECP521R1_FE_INTS = 17;
// Token: 0x04006D8E RID: 28046
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4006D8E")]
protected readonly SecP521R1Point m_infinity;
// Token: 0x02001B49 RID: 6985
[Token(Token = "0x2001B49")]
private class SecP521R1LookupTable : ECLookupTable
{
// Token: 0x0600A940 RID: 43328 RVA: 0x00248F38 File Offset: 0x00247138
[Token(Token = "0x600A940")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecP521R1LookupTable(SecP521R1Curve outer, uint[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001A7D RID: 6781
// (get) Token: 0x0600A941 RID: 43329 RVA: 0x00248F60 File Offset: 0x00247160
[Token(Token = "0x17001A7D")]
public virtual int Size
{
[Token(Token = "0x600A941")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600A942 RID: 43330 RVA: 0x00248F74 File Offset: 0x00247174
[Token(Token = "0x600A942")]
[Address(RVA = "0x7ED140", Offset = "0x7EC140", VA = "0x1807ED140", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
uint[] array = Nat.Create(17);
uint[] array2 = Nat.Create(17);
int num = 0;
int num2 = 0;
if (this.m_size > num)
{
int num3 = 0;
uint[] table = this.m_table;
uint[] table2 = this.m_table;
num3++;
num += 34;
num2++;
}
SecP521R1Curve outer = this.m_outer;
new SecP521R1FieldElement().x = array;
new SecP521R1FieldElement().x = array2;
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006D8F RID: 28047
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006D8F")]
private readonly SecP521R1Curve m_outer;
// Token: 0x04006D90 RID: 28048
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006D90")]
private readonly uint[] m_table;
// Token: 0x04006D91 RID: 28049
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006D91")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,236 @@
using System;
using System.Runtime.CompilerServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B4A RID: 6986
[Token(Token = "0x2001B4A")]
internal class SecP521R1Field
{
// Token: 0x0600A943 RID: 43331 RVA: 0x00248FEC File Offset: 0x002471EC
[Token(Token = "0x600A943")]
[Address(RVA = "0x7EC5E0", Offset = "0x7EB5E0", VA = "0x1807EC5E0")]
public static void Add(uint[] x, uint[] y, uint[] z)
{
uint num2;
uint num = Nat.Add((int)num2, x, y, z);
uint num3 = y[8];
num3 += num;
if (num3 > (uint)511 || (num3 == (uint)511 && Nat.Eq(16, z, y)))
{
uint num4 = Nat.Inc(16, z);
num3 += num4;
}
z[8] = num3;
}
// Token: 0x0600A944 RID: 43332 RVA: 0x0024904C File Offset: 0x0024724C
[Token(Token = "0x600A944")]
[Address(RVA = "0x7EC4E0", Offset = "0x7EB4E0", VA = "0x1807EC4E0")]
public static void AddOne(uint[] x, uint[] z)
{
uint num = Nat.Inc(16, x, z);
uint num2 = x[8];
num2 += num;
if (num2 > (uint)511 || (num2 == (uint)511 && Nat.Eq(16, z, z)))
{
uint num3 = Nat.Inc(16, z);
num2 += num3;
}
z[8] = num2;
}
// Token: 0x0600A945 RID: 43333 RVA: 0x002490A8 File Offset: 0x002472A8
[Token(Token = "0x600A945")]
[Address(RVA = "0x7EC720", Offset = "0x7EB720", VA = "0x1807EC720")]
public static uint[] FromBigInteger(BigInteger x)
{
uint[] array = Nat.FromBigInteger(521, x);
bool flag;
if (flag)
{
Nat.Zero(17, array);
}
return array;
}
// Token: 0x0600A946 RID: 43334 RVA: 0x002490D0 File Offset: 0x002472D0
[Token(Token = "0x600A946")]
[Address(RVA = "0x7EC7C0", Offset = "0x7EB7C0", VA = "0x1807EC7C0")]
public static void Half(uint[] x, uint[] z)
{
uint num = x[8];
uint num2 = Nat.ShiftDownBit(16, x, num, z);
z[8] = num2;
}
// Token: 0x0600A947 RID: 43335 RVA: 0x00249100 File Offset: 0x00247300
[Token(Token = "0x600A947")]
[Address(RVA = "0x7EC9C0", Offset = "0x7EB9C0", VA = "0x1807EC9C0")]
public static void Multiply(uint[] x, uint[] y, uint[] z)
{
uint[] array = Nat.Create(33);
Nat512.Mul(x, y, array);
uint num = x[8];
uint num2 = y[8];
uint num4;
ulong num5;
uint num3 = Nat.Mul31BothAdd((int)num4, num, y, num2, x, array, (int)num5);
uint num6 = num2 * num;
num6 += num3;
array[16] = num6;
SecP521R1Field.Reduce(array, z);
}
// Token: 0x0600A948 RID: 43336 RVA: 0x00249160 File Offset: 0x00247360
[Token(Token = "0x600A948")]
[Address(RVA = "0x7ECB00", Offset = "0x7EBB00", VA = "0x1807ECB00")]
public static void Negate(uint[] x, uint[] z)
{
if (!Nat.IsZero(17, x))
{
return;
}
Nat.Zero(17, z);
}
// Token: 0x0600A949 RID: 43337 RVA: 0x00249184 File Offset: 0x00247384
[Token(Token = "0x600A949")]
[Address(RVA = "0x7ECCC0", Offset = "0x7EBCC0", VA = "0x1807ECCC0")]
public static void Reduce(uint[] xx, uint[] z)
{
uint num = xx[16];
int num2 = 0;
uint num4;
uint num3 = Nat.ShiftDownBits((int)num4, xx, (int)num4, 9, num, z, num2);
num += num3;
uint num5 = Nat.AddTo(16, xx, z);
num += num5;
if (num > (uint)511 || (num == (uint)511 && Nat.Eq(16, z, z)))
{
uint num6 = Nat.Inc(16, z);
num += num6;
}
z[8] = num;
}
// Token: 0x0600A94A RID: 43338 RVA: 0x002491FC File Offset: 0x002473FC
[Token(Token = "0x600A94A")]
[Address(RVA = "0x7ECBB0", Offset = "0x7EBBB0", VA = "0x1807ECBB0")]
public static void Reduce23(uint[] z)
{
uint num = z[8];
uint num2 = Nat.AddWordTo(16, num, z);
if (Nat.Eq(16, z, z))
{
uint num3 = Nat.Inc(16, z);
}
}
// Token: 0x0600A94B RID: 43339 RVA: 0x00249238 File Offset: 0x00247438
[Token(Token = "0x600A94B")]
[Address(RVA = "0x7ECF00", Offset = "0x7EBF00", VA = "0x1807ECF00")]
public static void Square(uint[] x, uint[] z)
{
uint[] array = Nat.Create(33);
SecP521R1Field.ImplSquare(x, array);
SecP521R1Field.Reduce(array, z);
}
// Token: 0x0600A94C RID: 43340 RVA: 0x0024925C File Offset: 0x0024745C
[Token(Token = "0x600A94C")]
[Address(RVA = "0x7ECE10", Offset = "0x7EBE10", VA = "0x1807ECE10")]
public static void SquareN(uint[] x, int n, uint[] z)
{
uint[] array = Nat.Create(33);
SecP521R1Field.ImplSquare(x, array);
SecP521R1Field.Reduce(array, z);
if (n > 0)
{
SecP521R1Field.ImplSquare(z, array);
SecP521R1Field.Reduce(array, z);
}
}
// Token: 0x0600A94D RID: 43341 RVA: 0x00249294 File Offset: 0x00247494
[Token(Token = "0x600A94D")]
[Address(RVA = "0x7ECF90", Offset = "0x7EBF90", VA = "0x1807ECF90")]
public static void Subtract(uint[] x, uint[] y, uint[] z)
{
uint num2;
int num = Nat.Sub((int)num2, x, y, z);
uint num3 = x[8];
num3 += (uint)num;
int num4 = Nat.Dec(16, z);
num3 += (uint)num4;
z[8] = num3;
}
// Token: 0x0600A94E RID: 43342 RVA: 0x002492D4 File Offset: 0x002474D4
[Token(Token = "0x600A94E")]
[Address(RVA = "0x7ED050", Offset = "0x7EC050", VA = "0x1807ED050")]
public static void Twice(uint[] x, uint[] z)
{
uint num = x[8];
uint num2 = Nat.ShiftUpBit(16, x, num, z);
z[8] = num2;
}
// Token: 0x0600A94F RID: 43343 RVA: 0x00249304 File Offset: 0x00247504
[Token(Token = "0x600A94F")]
[Address(RVA = "0x7EC840", Offset = "0x7EB840", VA = "0x1807EC840")]
protected static void ImplMultiply(uint[] x, uint[] y, uint[] zz)
{
Nat512.Mul(x, y, zz);
uint num = x[8];
uint num2 = y[8];
uint num4;
ulong num5;
uint num3 = Nat.Mul31BothAdd((int)num4, num, y, num2, x, zz, (int)num5);
uint num6 = num2 * num;
num6 += num3;
zz[16] = num6;
}
// Token: 0x0600A950 RID: 43344 RVA: 0x00249354 File Offset: 0x00247554
[Token(Token = "0x600A950")]
[Address(RVA = "0x7EC920", Offset = "0x7EB920", VA = "0x1807EC920")]
protected static void ImplSquare(uint[] x, uint[] zz)
{
Nat512.Square(x, zz);
uint num = x[8];
int num2 = 0;
ulong num4;
uint num3 = Nat.MulWordAddTo(16, zz, x, num2, zz, (int)num4);
uint num5 = num * num;
num5 += num3;
zz[16] = num5;
}
// Token: 0x0600A951 RID: 43345 RVA: 0x0024939C File Offset: 0x0024759C
[Token(Token = "0x600A951")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public SecP521R1Field()
{
}
// Token: 0x0600A952 RID: 43346 RVA: 0x002493B0 File Offset: 0x002475B0
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600A952")]
[Address(RVA = "0x7ED0E0", Offset = "0x7EC0E0", VA = "0x1807ED0E0")]
static SecP521R1Field()
{
RuntimeHelpers.InitializeArray(new uint[17], fieldof(<PrivateImplementationDetails>.96ADC3934F8492C827987DFEE3B4DD4EF1738E78).FieldHandle);
}
// Token: 0x04006D92 RID: 28050
[Token(Token = "0x4006D92")]
internal static readonly uint[] P;
// Token: 0x04006D93 RID: 28051
[Token(Token = "0x4006D93")]
private const int P16 = 511;
}
}
@@ -0,0 +1,425 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B4B RID: 6987
[Token(Token = "0x2001B4B")]
internal class SecP521R1FieldElement : AbstractFpFieldElement
{
// Token: 0x0600A953 RID: 43347 RVA: 0x002493D0 File Offset: 0x002475D0
[Token(Token = "0x600A953")]
[Address(RVA = "0x7EC270", Offset = "0x7EB270", VA = "0x1807EC270")]
public SecP521R1FieldElement(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600A953)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP521R1FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_38:
stloc:ArgumentException(var_4_47, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecP521R1FieldElement"), ldstr:string("x")))
}
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: 0x0600A954 RID: 43348 RVA: 0x00249428 File Offset: 0x00247628
[Token(Token = "0x600A954")]
[Address(RVA = "0x7EC3F0", Offset = "0x7EB3F0", VA = "0x1807EC3F0")]
public SecP521R1FieldElement()
{
uint[] array = Nat.Create(17);
this.x = array;
}
// Token: 0x0600A955 RID: 43349 RVA: 0x0024944C File Offset: 0x0024764C
[Token(Token = "0x600A955")]
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
protected internal SecP521R1FieldElement(uint[] x)
{
this.x = x;
}
// Token: 0x17001A7E RID: 6782
// (get) Token: 0x0600A956 RID: 43350 RVA: 0x00249468 File Offset: 0x00247668
[Token(Token = "0x17001A7E")]
public override bool IsZero
{
[Token(Token = "0x600A956")]
[Address(RVA = "0x7EC4D0", Offset = "0x7EB4D0", VA = "0x1807EC4D0", Slot = "18")]
get
{
uint[] array = this.x;
return Nat.IsZero(17, array);
}
}
// Token: 0x17001A7F RID: 6783
// (get) Token: 0x0600A957 RID: 43351 RVA: 0x00249484 File Offset: 0x00247684
[Token(Token = "0x17001A7F")]
public override bool IsOne
{
[Token(Token = "0x600A957")]
[Address(RVA = "0x7EC4C0", Offset = "0x7EB4C0", VA = "0x1807EC4C0", Slot = "17")]
get
{
uint[] array = this.x;
return Nat.IsOne(17, array);
}
}
// Token: 0x0600A958 RID: 43352 RVA: 0x002494A0 File Offset: 0x002476A0
[Token(Token = "0x600A958")]
[Address(RVA = "0x7E7F50", Offset = "0x7E6F50", VA = "0x1807E7F50", Slot = "24")]
public override bool TestBitZero()
{
uint[] array = this.x;
int num = 0;
return Nat.GetBit(array, num) == (uint)1;
}
// Token: 0x0600A959 RID: 43353 RVA: 0x002494C4 File Offset: 0x002476C4
[Token(Token = "0x600A959")]
[Address(RVA = "0x7EC1F0", Offset = "0x7EB1F0", VA = "0x1807EC1F0", Slot = "4")]
public override BigInteger ToBigInteger()
{
uint[] array = this.x;
return Nat.ToBigInteger(17, array);
}
// Token: 0x17001A80 RID: 6784
// (get) Token: 0x0600A95A RID: 43354 RVA: 0x002494E0 File Offset: 0x002476E0
[Token(Token = "0x17001A80")]
public override string FieldName
{
[Token(Token = "0x600A95A")]
[Address(RVA = "0x7EC420", Offset = "0x7EB420", VA = "0x1807EC420", Slot = "5")]
get
{
return "SecP521R1Field";
}
}
// Token: 0x17001A81 RID: 6785
// (get) Token: 0x0600A95B RID: 43355 RVA: 0x002494F4 File Offset: 0x002476F4
[Token(Token = "0x17001A81")]
public override int FieldSize
{
[Token(Token = "0x600A95B")]
[Address(RVA = "0x7EC450", Offset = "0x7EB450", VA = "0x1807EC450", Slot = "6")]
get
{
return SecP521R1FieldElement.Q.BitLength;
}
}
// Token: 0x0600A95C RID: 43356 RVA: 0x00249514 File Offset: 0x00247714
[Token(Token = "0x600A95C")]
[Address(RVA = "0x7EB640", Offset = "0x7EA640", VA = "0x1807EB640", Slot = "7")]
public override ECFieldElement Add(ECFieldElement b)
{
uint[] array;
do
{
array = Nat.Create(17);
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP521R1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecP521R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A95D RID: 43357 RVA: 0x00249558 File Offset: 0x00247758
[Token(Token = "0x600A95D")]
[Address(RVA = "0x7EB4D0", Offset = "0x7EA4D0", VA = "0x1807EB4D0", Slot = "8")]
public override ECFieldElement AddOne()
{
uint[] array = Nat.Create(17);
uint[] array2 = this.x;
uint num = Nat.Inc(16, array2, array);
uint num2 = array2[8];
num2 += num;
if (num2 > (uint)511 || (num2 == (uint)511 && Nat.Eq(16, array, array)))
{
uint num3 = Nat.Inc(16, array);
num2 += num3;
}
array[8] = num2;
new SecP521R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A95E RID: 43358 RVA: 0x002495D0 File Offset: 0x002477D0
[Token(Token = "0x600A95E")]
[Address(RVA = "0x7EC0B0", Offset = "0x7EB0B0", VA = "0x1807EC0B0", Slot = "9")]
public override ECFieldElement Subtract(ECFieldElement b)
{
uint[] array;
do
{
array = Nat.Create(17);
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP521R1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecP521R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A95F RID: 43359 RVA: 0x00249614 File Offset: 0x00247814
[Token(Token = "0x600A95F")]
[Address(RVA = "0x7EBBF0", Offset = "0x7EABF0", VA = "0x1807EBBF0", Slot = "10")]
public override ECFieldElement Multiply(ECFieldElement b)
{
uint[] array;
do
{
array = Nat.Create(17);
uint[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecP521R1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecP521R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A960 RID: 43360 RVA: 0x00249658 File Offset: 0x00247858
[Token(Token = "0x600A960")]
[Address(RVA = "0x7EB780", Offset = "0x7EA780", VA = "0x1807EB780", Slot = "11")]
public override ECFieldElement Divide(ECFieldElement b)
{
uint[] array;
do
{
array = Nat.Create(17);
if ("{il2cpp array field local3->}" == typeof(SecP521R1FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
uint[] array2 = this.x;
SecP521R1Field.Multiply(array, array2, array);
new SecP521R1FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A961 RID: 43361 RVA: 0x002496A4 File Offset: 0x002478A4
[Token(Token = "0x600A961")]
[Address(RVA = "0x7EBD30", Offset = "0x7EAD30", VA = "0x1807EBD30", Slot = "12")]
public override ECFieldElement Negate()
{
/*
An exception occurred when decompiling this method (0600A961)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP521R1FieldElement::Negate()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_1A:
call:void(Nat::Zero, ldc.i4:int32(17), ldloc:uint32[](var_0_07))
stfld:uint32[](SecP521R1FieldElement::x, newobj:SecP521R1FieldElement(SecP521R1FieldElement::.ctor), ldloc:uint32[](var_0_07))
}
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: 0x0600A962 RID: 43362 RVA: 0x002496E0 File Offset: 0x002478E0
[Token(Token = "0x600A962")]
[Address(RVA = "0x7EC020", Offset = "0x7EB020", VA = "0x1807EC020", Slot = "13")]
public override ECFieldElement Square()
{
/*
An exception occurred when decompiling this method (0600A962)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP521R1FieldElement::Square()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_0_07, call:uint32[](Nat::Create, ldc.i4:int32(17)))
call:void(SecP521R1Field::Square, ldfld:uint32[](SecP521R1FieldElement::x, ldloc:SecP521R1FieldElement(this)), ldloc:uint32[](var_0_07))
stfld:uint32[](SecP521R1FieldElement::x, newobj:SecP521R1FieldElement(SecP521R1FieldElement::.ctor), ldloc:uint32[](var_0_07))
}
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: 0x0600A963 RID: 43363 RVA: 0x0024970C File Offset: 0x0024790C
[Token(Token = "0x600A963")]
[Address(RVA = "0x7EBB20", Offset = "0x7EAB20", VA = "0x1807EBB20", Slot = "14")]
public override ECFieldElement Invert()
{
/*
An exception occurred when decompiling this method (0600A963)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP521R1FieldElement::Invert()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32[](var_0_07, call:uint32[](Nat::Create, ldc.i4:int32(17)))
stfld:uint32[](SecP521R1FieldElement::x, newobj:SecP521R1FieldElement(SecP521R1FieldElement::.ctor), ldloc:uint32[](var_0_07))
}
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: 0x0600A964 RID: 43364 RVA: 0x0024972C File Offset: 0x0024792C
[Token(Token = "0x600A964")]
[Address(RVA = "0x7EBE40", Offset = "0x7EAE40", VA = "0x1807EBE40", Slot = "15")]
public override ECFieldElement Sqrt()
{
uint[] array;
do
{
array = this.x;
}
while (Nat.IsZero(17, array) || Nat.IsOne(17, array));
uint[] array2 = Nat.Create(17);
uint[] array3 = Nat.Create(17);
uint[] array4 = Nat.Create(33);
SecP521R1Field.ImplSquare(array, array4);
SecP521R1Field.Reduce(array4, array2);
SecP521R1Field.ImplSquare(array2, array4);
SecP521R1Field.Reduce(array4, array2);
SecP521R1Field.Square(array2, array3);
if (Nat.Eq(17, array, array3))
{
new SecP521R1FieldElement().x = array2;
return;
}
}
// Token: 0x0600A965 RID: 43365 RVA: 0x002497AC File Offset: 0x002479AC
[Token(Token = "0x600A965")]
[Address(RVA = "0x7EB940", Offset = "0x7EA940", VA = "0x1807EB940", Slot = "0")]
public override bool Equals(object obj)
{
/*
An exception occurred when decompiling this method (0600A965)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP521R1FieldElement::Equals(System.Object)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP521R1FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600A966 RID: 43366 RVA: 0x002497C8 File Offset: 0x002479C8
[Token(Token = "0x600A966")]
[Address(RVA = "0x7EB9D0", Offset = "0x7EA9D0", VA = "0x1807EB9D0", Slot = "25")]
public override bool Equals(ECFieldElement other)
{
/*
An exception occurred when decompiling this method (0600A966)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP521R1FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP521R1FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600A967 RID: 43367 RVA: 0x002497E4 File Offset: 0x002479E4
[Token(Token = "0x600A967")]
[Address(RVA = "0x7EB910", Offset = "0x7EA910", VA = "0x1807EB910", Slot = "27")]
public virtual bool Equals(SecP521R1FieldElement other)
{
if (this != other)
{
if (other != 0)
{
uint[] array = other.x;
uint[] array2 = this.x;
return Nat.Eq(17, array2, array);
}
}
return true;
}
// Token: 0x0600A968 RID: 43368 RVA: 0x00249814 File Offset: 0x00247A14
[Token(Token = "0x600A968")]
[Address(RVA = "0x7EBA60", Offset = "0x7EAA60", VA = "0x1807EBA60", Slot = "2")]
public override int GetHashCode()
{
SecP521R1FieldElement.Q.Finalize();
uint[] array = this.x;
int num = 0;
return Arrays.GetHashCode(array, num, 17);
}
// Token: 0x04006D94 RID: 28052
[Token(Token = "0x4006D94")]
public static readonly BigInteger Q = SecP521R1Curve.q;
// Token: 0x04006D95 RID: 28053
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006D95")]
protected internal readonly uint[] x;
}
}
@@ -0,0 +1,280 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B4C RID: 6988
[Token(Token = "0x2001B4C")]
internal class SecP521R1Point : AbstractFpPoint
{
// Token: 0x0600A96A RID: 43370 RVA: 0x0024985C File Offset: 0x00247A5C
[Token(Token = "0x600A96A")]
[Address(RVA = "0x7EE290", Offset = "0x7ED290", VA = "0x1807EE290")]
public SecP521R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600A96B RID: 43371 RVA: 0x0024986C File Offset: 0x00247A6C
[Token(Token = "0x600A96B")]
[Address(RVA = "0x7EE1D0", Offset = "0x7ED1D0", VA = "0x1807EE1D0")]
public SecP521R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A96B)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP521R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600A96C RID: 43372 RVA: 0x00249894 File Offset: 0x00247A94
[Token(Token = "0x600A96C")]
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
internal SecP521R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600A96D RID: 43373 RVA: 0x002498A4 File Offset: 0x00247AA4
[Token(Token = "0x600A96D")]
[Address(RVA = "0x7EDA00", Offset = "0x7ECA00", VA = "0x1807EDA00", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600A96D)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP521R1Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecP521R1Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecP521R1Point[exp:ECPoint](this)))
}
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: 0x0600A96E RID: 43374 RVA: 0x002498C0 File Offset: 0x00247AC0
[Token(Token = "0x600A96E")]
[Address(RVA = "0x7ED310", Offset = "0x7EC310", VA = "0x1807ED310", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
if (!base.IsInfinity)
{
if (!b.IsInfinity)
{
if (this == b)
{
return b;
}
bool flag = this.SatisfiesOrder();
ECFieldElement[] zs = this.m_zs;
ECFieldElement[] zs2 = b.m_zs;
uint[] array = Nat.Create(17);
uint[] array2 = Nat.Create(17);
uint[] array3 = Nat.Create(17);
uint[] array4 = Nat.Create(17);
if (array4 == 0)
{
SecP521R1Field.Square(array4, array3);
SecP521R1Field.Multiply(array3, array3, array2);
SecP521R1Field.Multiply(array3, array3, array3);
SecP521R1Field.Multiply(array3, array3, array3);
}
SecP521R1Field.Multiply(array4, array4, array);
SecP521R1Field.Multiply(array4, array4, array4);
SecP521R1Field.Multiply(array4, array4, array4);
uint[] array5 = Nat.Create(17);
SecP521R1Field.Subtract(array, array4, array5);
if (!Nat.IsZero(17, array5))
{
SecP521R1Field.Square(array5, array3);
uint[] array6 = Nat.Create(17);
SecP521R1Field.Multiply(array3, array5, array6);
SecP521R1Field.Multiply(array3, array, array3);
SecP521R1FieldElement secP521R1FieldElement = new SecP521R1FieldElement();
secP521R1FieldElement.x = array4;
SecP521R1Field.Square(array2, array4);
uint[] x = secP521R1FieldElement.x;
SecP521R1Field.Add(x, array6, x);
uint[] x2 = secP521R1FieldElement.x;
SecP521R1Field.Subtract(x2, array3, x2);
uint[] x3 = secP521R1FieldElement.x;
SecP521R1Field.Subtract(x3, array3, x3);
SecP521R1FieldElement secP521R1FieldElement2 = new SecP521R1FieldElement();
secP521R1FieldElement2.x = array6;
uint[] x4 = secP521R1FieldElement.x;
SecP521R1Field.Subtract(array3, x4, array6);
SecP521R1Field.Multiply(secP521R1FieldElement2.x, array2, array2);
uint[] x5 = secP521R1FieldElement2.x;
SecP521R1Field.Subtract(array2, array, x5);
SecP521R1FieldElement secP521R1FieldElement3 = new SecP521R1FieldElement();
secP521R1FieldElement3.x = array5;
SecP521R1Field.Multiply(array5, array3, array5);
uint[] x6 = secP521R1FieldElement3.x;
SecP521R1Field.Multiply(x6, array2, x6);
ECFieldElement[] array7 = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
}
bool flag2;
if (!flag2)
{
}
}
return b;
}
// Token: 0x0600A96F RID: 43375 RVA: 0x00249AB4 File Offset: 0x00247CB4
[Token(Token = "0x600A96F")]
[Address(RVA = "0x7EDBA0", Offset = "0x7ECBA0", VA = "0x1807EDBA0", Slot = "30")]
public override ECPoint Twice()
{
while (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement y = this.m_y;
if (y != 0)
{
if (y.IsOne)
{
break;
}
ECFieldElement x = this.m_x;
if (x == 0)
{
}
if (x != 0)
{
ECFieldElement ecfieldElement = this.m_zs[0];
if (ecfieldElement == 0)
{
}
if (ecfieldElement != 0)
{
uint[] array = Nat.Create(17);
uint[] array2 = Nat.Create(17);
uint[] array3 = Nat.Create(17);
uint[] array4 = Nat.Create(17);
SecP521R1Field.Square(array3, array4);
if (ecfieldElement.BitLength == 0)
{
}
SecP521R1Field.Multiply(array2, array, array2);
uint num = Nat.AddBothTo(17, array2, array2, array2);
SecP521R1Field.Reduce23(array2);
int num2 = 0;
uint num3 = Nat.ShiftUpBits(17, array3, 2, (uint)num2);
SecP521R1Field.Reduce23(array3);
int num4 = 0;
uint num5 = Nat.ShiftUpBits(17, array4, 3, (uint)num4, array);
SecP521R1Field.Reduce23(array);
SecP521R1FieldElement secP521R1FieldElement = new SecP521R1FieldElement();
secP521R1FieldElement.x = array4;
SecP521R1Field.Square(array2, array4);
uint[] x2 = secP521R1FieldElement.x;
SecP521R1Field.Subtract(x2, array3, x2);
uint[] x3 = secP521R1FieldElement.x;
SecP521R1Field.Subtract(x3, array3, x3);
SecP521R1FieldElement secP521R1FieldElement2 = new SecP521R1FieldElement();
secP521R1FieldElement2.x = array3;
uint[] x4 = secP521R1FieldElement.x;
SecP521R1Field.Subtract(array3, x4, array3);
uint[] x5 = secP521R1FieldElement2.x;
SecP521R1Field.Multiply(x5, array2, x5);
uint[] x6 = secP521R1FieldElement2.x;
SecP521R1Field.Subtract(x6, array, x6);
SecP521R1FieldElement secP521R1FieldElement3 = new SecP521R1FieldElement();
secP521R1FieldElement3.x = array2;
uint num6;
array2[8] = num6;
uint[] x7 = secP521R1FieldElement3.x;
(new ECFieldElement[1])[0] = secP521R1FieldElement3;
bool withCompression = this.m_withCompression;
break;
}
}
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600A970 RID: 43376 RVA: 0x00249C78 File Offset: 0x00247E78
[Token(Token = "0x600A970")]
[Address(RVA = "0x6ECFE0", Offset = "0x6EBFE0", VA = "0x1806ECFE0", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
if (this != b)
{
if (!base.IsInfinity)
{
if (!b.IsInfinity)
{
if (this.m_y.IsOne)
{
return b;
}
ECPoint ecpoint;
bool flag = ecpoint.SatisfiesCurveEquation();
}
bool flag2 = base.SatisfiesCurveEquation();
}
return b;
}
bool flag3 = base.SatisfiesCurveEquation();
throw new NullReferenceException();
}
// Token: 0x0600A971 RID: 43377 RVA: 0x00249CC8 File Offset: 0x00247EC8
[Token(Token = "0x600A971")]
[Address(RVA = "0x6ECF60", Offset = "0x6EBF60", VA = "0x1806ECF60", Slot = "33")]
public override ECPoint ThreeTimes()
{
if (!base.IsInfinity && !this.m_y.IsOne)
{
ECPoint ecpoint;
bool flag = ecpoint.SatisfiesCurveEquation();
}
throw new NullReferenceException();
}
// Token: 0x0600A972 RID: 43378 RVA: 0x00249CF8 File Offset: 0x00247EF8
[Token(Token = "0x600A972")]
[Address(RVA = "0x7EDAA0", Offset = "0x7ECAA0", VA = "0x1807EDAA0", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement y = this.m_y;
ECFieldElement[] zs = this.m_zs;
bool withCompression = this.m_withCompression;
}
throw new NullReferenceException();
}
}
}
@@ -0,0 +1,269 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B4D RID: 6989
[Token(Token = "0x2001B4D")]
internal class SecT113Field
{
// Token: 0x0600A973 RID: 43379 RVA: 0x00249D30 File Offset: 0x00247F30
[Token(Token = "0x600A973")]
[Address(RVA = "0x7EF250", Offset = "0x7EE250", VA = "0x1807EF250")]
public static void Add(ulong[] x, ulong[] y, ulong[] z)
{
ulong num = y[0];
z[0] = num;
ulong num2 = y[1];
z[1] = num2;
}
// Token: 0x0600A974 RID: 43380 RVA: 0x00249D64 File Offset: 0x00247F64
[Token(Token = "0x600A974")]
[Address(RVA = "0x7BA2D0", Offset = "0x7B92D0", VA = "0x1807BA2D0")]
public static void AddExt(ulong[] xx, ulong[] yy, ulong[] zz)
{
ulong num = yy[0];
zz[0] = num;
ulong num2 = yy[1];
zz[1] = num2;
ulong num3 = yy[2];
zz[2] = num3;
ulong num4 = yy[3];
zz[3] = num4;
}
// Token: 0x0600A975 RID: 43381 RVA: 0x00249DB8 File Offset: 0x00247FB8
[Token(Token = "0x600A975")]
[Address(RVA = "0x7EF1C0", Offset = "0x7EE1C0", VA = "0x1807EF1C0")]
public static void AddOne(ulong[] x, ulong[] z)
{
ulong num = x[0];
z[0] = num;
ulong num2 = x[1];
z[1] = num2;
}
// Token: 0x0600A976 RID: 43382 RVA: 0x00249DEC File Offset: 0x00247FEC
[Token(Token = "0x600A976")]
[Address(RVA = "0x7EF310", Offset = "0x7EE310", VA = "0x1807EF310")]
public static ulong[] FromBigInteger(BigInteger x)
{
ulong[] array = Nat128.FromBigInteger64(x);
ulong num = array[1];
array[0] = num;
array[1] = num;
return array;
}
// Token: 0x0600A977 RID: 43383 RVA: 0x00249E20 File Offset: 0x00248020
[Token(Token = "0x600A977")]
[Address(RVA = "0x7EFA80", Offset = "0x7EEA80", VA = "0x1807EFA80")]
public static void Invert(ulong[] x, ulong[] z)
{
/*
An exception occurred when decompiling this method (0600A977)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113Field::Invert(System.UInt64[],System.UInt64[])
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_188:
stloc:InvalidOperationException(var_28_18D, newobj:InvalidOperationException(InvalidOperationException::.ctor))
}
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: 0x0600A978 RID: 43384 RVA: 0x00249FBC File Offset: 0x002481BC
[Token(Token = "0x600A978")]
[Address(RVA = "0x7EFDC0", Offset = "0x7EEDC0", VA = "0x1807EFDC0")]
public static void Multiply(ulong[] x, ulong[] y, ulong[] z)
{
ulong[] array = Nat128.CreateExt64();
SecT113Field.ImplMultiply(x, y, array);
SecT113Field.Reduce(array, z);
}
// Token: 0x0600A979 RID: 43385 RVA: 0x00249FE0 File Offset: 0x002481E0
[Token(Token = "0x600A979")]
[Address(RVA = "0x7EFD60", Offset = "0x7EED60", VA = "0x1807EFD60")]
public static void MultiplyAddToExt(ulong[] x, ulong[] y, ulong[] zz)
{
ulong[] array = Nat128.CreateExt64();
SecT113Field.ImplMultiply(x, y, array);
SecT113Field.AddExt(zz, array, zz);
}
// Token: 0x0600A97A RID: 43386 RVA: 0x0024A008 File Offset: 0x00248208
[Token(Token = "0x600A97A")]
[Address(RVA = "0x7EFEC0", Offset = "0x7EEEC0", VA = "0x1807EFEC0")]
public static void Reduce(ulong[] xx, ulong[] z)
{
int length = xx.Length;
ulong num = xx[1];
ulong num2 = xx[3];
num2 = num;
z[0] = num2;
z[1] = num;
}
// Token: 0x0600A97B RID: 43387 RVA: 0x0024A044 File Offset: 0x00248244
[Token(Token = "0x600A97B")]
[Address(RVA = "0x7EFE20", Offset = "0x7EEE20", VA = "0x1807EFE20")]
public static void Reduce15(ulong[] z, int zOff)
{
int length = z.Length;
int num = zOff + 1;
ulong num2 = z[num];
z[0] = num2;
z[0] = num2;
}
// Token: 0x0600A97C RID: 43388 RVA: 0x0024A07C File Offset: 0x0024827C
[Token(Token = "0x600A97C")]
[Address(RVA = "0x7F0000", Offset = "0x7EF000", VA = "0x1807F0000")]
public static void Sqrt(ulong[] x, ulong[] z)
{
ulong num = Interleave.Unshuffle(x[0]);
ulong num2 = x[1];
ulong num3 = Interleave.Unshuffle(num2);
z[0] = num3;
z[1] = num;
}
// Token: 0x0600A97D RID: 43389 RVA: 0x0024A0C0 File Offset: 0x002482C0
[Token(Token = "0x600A97D")]
[Address(RVA = "0x7F0220", Offset = "0x7EF220", VA = "0x1807F0220")]
public static void Square(ulong[] x, ulong[] z)
{
ulong[] array = Nat128.CreateExt64();
SecT113Field.ImplSquare(x, array);
SecT113Field.Reduce(array, z);
}
// Token: 0x0600A97E RID: 43390 RVA: 0x0024A0E4 File Offset: 0x002482E4
[Token(Token = "0x600A97E")]
[Address(RVA = "0x7F0100", Offset = "0x7EF100", VA = "0x1807F0100")]
public static void SquareAddToExt(ulong[] x, ulong[] zz)
{
ulong[] array = Nat128.CreateExt64();
SecT113Field.ImplSquare(x, array);
SecT113Field.AddExt(zz, array, zz);
}
// Token: 0x0600A97F RID: 43391 RVA: 0x0024A108 File Offset: 0x00248308
[Token(Token = "0x600A97F")]
[Address(RVA = "0x7F0150", Offset = "0x7EF150", VA = "0x1807F0150")]
public static void SquareN(ulong[] x, int n, ulong[] z)
{
int num = n - 1;
ulong[] array = Nat128.CreateExt64();
SecT113Field.ImplSquare(x, array);
SecT113Field.Reduce(array, z);
if (num > 0)
{
ulong num2 = z[0];
int num3 = 0;
Interleave.Expand64To128(num2, array, num3);
Interleave.Expand64To128(z[1], array, 2);
SecT113Field.Reduce(array, z);
}
}
// Token: 0x0600A980 RID: 43392 RVA: 0x0024A164 File Offset: 0x00248364
[Token(Token = "0x600A980")]
[Address(RVA = "0x7C80D0", Offset = "0x7C70D0", VA = "0x1807C80D0")]
public static uint Trace(ulong[] x)
{
ulong num = x[0];
throw new NullReferenceException();
}
// Token: 0x0600A981 RID: 43393 RVA: 0x0024A180 File Offset: 0x00248380
[Token(Token = "0x600A981")]
[Address(RVA = "0x7EF390", Offset = "0x7EE390", VA = "0x1807EF390")]
protected static void ImplMultiply(ulong[] x, ulong[] y, ulong[] zz)
{
int length = x.Length;
ulong num = x[0];
int length2 = y.Length;
ulong num2 = y[0];
ulong[] array = new ulong[6];
int num3 = 0;
SecT113Field.ImplMulw(num, num2, array, num3);
SecT113Field.ImplMulw(num, num2, array, 2);
SecT113Field.ImplMulw(num, num2, array, 4);
int length3 = array.Length;
ulong num4 = array[3];
ulong num5 = array[4];
ulong num6 = array[5];
zz[0] = num5;
num5 = num6;
zz[1] = num5;
zz[2] = num6;
zz[3] = num4;
}
// Token: 0x0600A982 RID: 43394 RVA: 0x0024A234 File Offset: 0x00248434
[Token(Token = "0x600A982")]
[Address(RVA = "0x7EF680", Offset = "0x7EE680", VA = "0x1807EF680")]
protected static void ImplMulw(ulong x, ulong y, ulong[] z, int zOff)
{
ulong[] array = new ulong[8];
array[1] = y;
int num = array.Length;
array[2] = (ulong)num;
int length = array.Length;
array[3] = (ulong)num;
num = length;
array[4] = (ulong)num;
int length2 = array.Length;
array[5] = (ulong)num;
num = length2;
array[6] = (ulong)num;
int length3 = array.Length;
array[7] = (ulong)num;
int num2 = zOff + 1;
z[0] = x;
z[0] = y;
}
// Token: 0x0600A983 RID: 43395 RVA: 0x0024A2BC File Offset: 0x002484BC
[Token(Token = "0x600A983")]
[Address(RVA = "0x7EFA00", Offset = "0x7EEA00", VA = "0x1807EFA00")]
protected static void ImplSquare(ulong[] x, ulong[] zz)
{
ulong num = x[0];
int num2 = 0;
Interleave.Expand64To128(num, zz, num2);
Interleave.Expand64To128(x[1], zz, 2);
}
// Token: 0x0600A984 RID: 43396 RVA: 0x0024A2F0 File Offset: 0x002484F0
[Token(Token = "0x600A984")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public SecT113Field()
{
}
// Token: 0x04006D96 RID: 28054
[Token(Token = "0x4006D96")]
private const ulong M49 = 562949953421311UL;
// Token: 0x04006D97 RID: 28055
[Token(Token = "0x4006D97")]
private const ulong M57 = 144115188075855871UL;
}
}
@@ -0,0 +1,584 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B4E RID: 6990
[Token(Token = "0x2001B4E")]
internal class SecT113FieldElement : AbstractF2mFieldElement
{
// Token: 0x0600A985 RID: 43397 RVA: 0x0024A304 File Offset: 0x00248504
[Token(Token = "0x600A985")]
[Address(RVA = "0x7EF050", Offset = "0x7EE050", VA = "0x1807EF050")]
public SecT113FieldElement(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600A985)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_38:
stloc:ArgumentException(var_3_47, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecT113FieldElement"), ldstr:string("x")))
}
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: 0x0600A986 RID: 43398 RVA: 0x0024A358 File Offset: 0x00248558
[Token(Token = "0x600A986")]
[Address(RVA = "0x7EF020", Offset = "0x7EE020", VA = "0x1807EF020")]
public SecT113FieldElement()
{
ulong[] array = Nat128.Create64();
this.x = array;
}
// Token: 0x0600A987 RID: 43399 RVA: 0x0024A37C File Offset: 0x0024857C
[Token(Token = "0x600A987")]
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
protected internal SecT113FieldElement(ulong[] x)
{
this.x = x;
}
// Token: 0x17001A82 RID: 6786
// (get) Token: 0x0600A988 RID: 43400 RVA: 0x0024A398 File Offset: 0x00248598
[Token(Token = "0x17001A82")]
public override bool IsOne
{
[Token(Token = "0x600A988")]
[Address(RVA = "0x7EF1A0", Offset = "0x7EE1A0", VA = "0x1807EF1A0", Slot = "17")]
get
{
return Nat128.IsOne64(this.x);
}
}
// Token: 0x17001A83 RID: 6787
// (get) Token: 0x0600A989 RID: 43401 RVA: 0x0024A3B0 File Offset: 0x002485B0
[Token(Token = "0x17001A83")]
public override bool IsZero
{
[Token(Token = "0x600A989")]
[Address(RVA = "0x7EF1B0", Offset = "0x7EE1B0", VA = "0x1807EF1B0", Slot = "18")]
get
{
return Nat128.IsZero64(this.x);
}
}
// Token: 0x0600A98A RID: 43402 RVA: 0x0024A3C8 File Offset: 0x002485C8
[Token(Token = "0x600A98A")]
[Address(RVA = "0x7B9C40", Offset = "0x7B8C40", VA = "0x1807B9C40", Slot = "24")]
public override bool TestBitZero()
{
ulong[] array = this.x;
throw new NullReferenceException();
}
// Token: 0x0600A98B RID: 43403 RVA: 0x0024A3E4 File Offset: 0x002485E4
[Token(Token = "0x600A98B")]
[Address(RVA = "0x7EF010", Offset = "0x7EE010", VA = "0x1807EF010", Slot = "4")]
public override BigInteger ToBigInteger()
{
return Nat128.ToBigInteger64(this.x);
}
// Token: 0x17001A84 RID: 6788
// (get) Token: 0x0600A98C RID: 43404 RVA: 0x0024A3FC File Offset: 0x002485FC
[Token(Token = "0x17001A84")]
public override string FieldName
{
[Token(Token = "0x600A98C")]
[Address(RVA = "0x7EF160", Offset = "0x7EE160", VA = "0x1807EF160", Slot = "5")]
get
{
return "SecT113Field";
}
}
// Token: 0x17001A85 RID: 6789
// (get) Token: 0x0600A98D RID: 43405 RVA: 0x0024A410 File Offset: 0x00248610
[Token(Token = "0x17001A85")]
public override int FieldSize
{
[Token(Token = "0x600A98D")]
[Address(RVA = "0x7EF190", Offset = "0x7EE190", VA = "0x1807EF190", Slot = "6")]
get
{
return 113;
}
}
// Token: 0x0600A98E RID: 43406 RVA: 0x0024A420 File Offset: 0x00248620
[Token(Token = "0x600A98E")]
[Address(RVA = "0x7EE390", Offset = "0x7ED390", VA = "0x1807EE390", Slot = "7")]
public override ECFieldElement Add(ECFieldElement b)
{
ulong[] array;
ulong[] array2;
do
{
array = Nat128.Create64();
array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecT113FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
array[0] = typeof(SecT113FieldElement).TypeHandle;
array[1] = array2;
new SecT113FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A98F RID: 43407 RVA: 0x0024A47C File Offset: 0x0024867C
[Token(Token = "0x600A98F")]
[Address(RVA = "0x7EE2B0", Offset = "0x7ED2B0", VA = "0x1807EE2B0", Slot = "8")]
public override ECFieldElement AddOne()
{
ulong[] array = Nat128.Create64();
ulong[] array2 = this.x;
ulong num = array2[0];
array[0] = num;
ulong num2 = array2[1];
array[1] = num2;
new SecT113FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A990 RID: 43408 RVA: 0x0024A4CC File Offset: 0x002486CC
[Token(Token = "0x600A990")]
[Address(RVA = "0x7B9C20", Offset = "0x7B8C20", VA = "0x1807B9C20", Slot = "9")]
public override ECFieldElement Subtract(ECFieldElement b)
{
/*
An exception occurred when decompiling this method (0600A990)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113FieldElement::Subtract(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT113FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600A991 RID: 43409 RVA: 0x0024A4E0 File Offset: 0x002486E0
[Token(Token = "0x600A991")]
[Address(RVA = "0x7EEA40", Offset = "0x7EDA40", VA = "0x1807EEA40", Slot = "10")]
public override ECFieldElement Multiply(ECFieldElement b)
{
ulong[] array;
do
{
array = Nat128.Create64();
ulong[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecT113FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
SecT113Field.Reduce(Nat128.CreateExt64(), array);
new SecT113FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A992 RID: 43410 RVA: 0x0024A534 File Offset: 0x00248734
[Token(Token = "0x600A992")]
[Address(RVA = "0x7B9440", Offset = "0x7B8440", VA = "0x1807B9440", Slot = "19")]
public override ECFieldElement MultiplyMinusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
{
/*
An exception occurred when decompiling this method (0600A992)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113FieldElement::MultiplyMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT113FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600A993 RID: 43411 RVA: 0x0024A548 File Offset: 0x00248748
[Token(Token = "0x600A993")]
[Address(RVA = "0x7EE790", Offset = "0x7ED790", VA = "0x1807EE790", Slot = "20")]
public override ECFieldElement MultiplyPlusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
{
do
{
ulong[] array = this.x;
}
while (b == 0 || b == 0 || x == 0 || x == 0 || y == 0 || y == 0);
ulong[] array2 = Nat128.CreateExt64();
ulong[] array3 = Nat128.CreateExt64();
SecT113Field.AddExt(array2, array3, array2);
ulong[] array4 = Nat128.CreateExt64();
SecT113Field.AddExt(array2, array4, array2);
ulong[] array5 = Nat128.Create64();
SecT113Field.Reduce(array2, array5);
new SecT113FieldElement().x = array5;
throw new NullReferenceException();
}
// Token: 0x0600A994 RID: 43412 RVA: 0x0024A5DC File Offset: 0x002487DC
[Token(Token = "0x600A994")]
[Address(RVA = "0x7B91D0", Offset = "0x7B81D0", VA = "0x1807B91D0", Slot = "11")]
public override ECFieldElement Divide(ECFieldElement b)
{
ECFieldElement ecfieldElement = b.Square();
BigInteger bigInteger = base.ToBigInteger();
throw new NullReferenceException();
}
// Token: 0x0600A995 RID: 43413 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600A995")]
[Address(RVA = "0x4A65C0", Offset = "0x4A55C0", VA = "0x1804A65C0", Slot = "12")]
public override ECFieldElement Negate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600A996 RID: 43414 RVA: 0x0024A5FC File Offset: 0x002487FC
[Token(Token = "0x600A996")]
[Address(RVA = "0x7EEF70", Offset = "0x7EDF70", VA = "0x1807EEF70", Slot = "13")]
public override ECFieldElement Square()
{
/*
An exception occurred when decompiling this method (0600A996)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113FieldElement::Square()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat128::Create64))
stloc:uint64[](var_2_0E, ldfld:uint64[](SecT113FieldElement::x, ldloc:SecT113FieldElement(this)))
stloc:uint64[](var_4_16, call:uint64[](Nat128::CreateExt64))
call:void(SecT113Field::ImplSquare, ldloc:uint64[](var_2_0E), ldloc:uint64[](var_4_16))
call:void(SecT113Field::Reduce, ldloc:uint64[](var_4_16), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT113FieldElement::x, newobj:SecT113FieldElement(SecT113FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x0600A997 RID: 43415 RVA: 0x0024A63C File Offset: 0x0024883C
[Token(Token = "0x600A997")]
[Address(RVA = "0x7B98C0", Offset = "0x7B88C0", VA = "0x1807B98C0", Slot = "21")]
public override ECFieldElement SquareMinusProduct(ECFieldElement x, ECFieldElement y)
{
/*
An exception occurred when decompiling this method (0600A997)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113FieldElement::SquareMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT113FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600A998 RID: 43416 RVA: 0x0024A650 File Offset: 0x00248850
[Token(Token = "0x600A998")]
[Address(RVA = "0x7EECD0", Offset = "0x7EDCD0", VA = "0x1807EECD0", Slot = "22")]
public override ECFieldElement SquarePlusProduct(ECFieldElement x, ECFieldElement y)
{
ulong[] array;
do
{
array = this.x;
}
while (x == 0 || x == 0 || y == 0 || y == 0);
ulong[] array2 = Nat128.CreateExt64();
ulong[] array3 = Nat128.CreateExt64();
SecT113Field.ImplSquare(array, array3);
SecT113Field.AddExt(array2, array3, array2);
ulong[] array4 = Nat128.CreateExt64();
SecT113Field.AddExt(array2, array4, array2);
ulong[] array5 = Nat128.Create64();
SecT113Field.Reduce(array2, array5);
new SecT113FieldElement().x = array5;
throw new NullReferenceException();
}
// Token: 0x0600A999 RID: 43417 RVA: 0x0024A6E0 File Offset: 0x002488E0
[Token(Token = "0x600A999")]
[Address(RVA = "0x7EEEF0", Offset = "0x7EDEF0", VA = "0x1807EEEF0", Slot = "23")]
public override ECFieldElement SquarePow(int pow)
{
/*
An exception occurred when decompiling this method (0600A999)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113FieldElement::SquarePow(System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat128::Create64))
call:void(SecT113Field::SquareN, ldfld:uint64[](SecT113FieldElement::x, ldloc:SecT113FieldElement(this)), ldloc:int32(pow), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT113FieldElement::x, newobj:SecT113FieldElement(SecT113FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x0600A99A RID: 43418 RVA: 0x0024A70C File Offset: 0x0024890C
[Token(Token = "0x600A99A")]
[Address(RVA = "0x7C6140", Offset = "0x7C5140", VA = "0x1807C6140", Slot = "28")]
public override int Trace()
{
ulong num = this.x[0];
throw new NullReferenceException();
}
// Token: 0x0600A99B RID: 43419 RVA: 0x0024A72C File Offset: 0x0024892C
[Token(Token = "0x600A99B")]
[Address(RVA = "0x7EE720", Offset = "0x7ED720", VA = "0x1807EE720", Slot = "14")]
public override ECFieldElement Invert()
{
/*
An exception occurred when decompiling this method (0600A99B)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113FieldElement::Invert()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat128::Create64))
call:void(SecT113Field::Invert, ldfld:uint64[](SecT113FieldElement::x, ldloc:SecT113FieldElement(this)), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT113FieldElement::x, newobj:SecT113FieldElement(SecT113FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x0600A99C RID: 43420 RVA: 0x0024A758 File Offset: 0x00248958
[Token(Token = "0x600A99C")]
[Address(RVA = "0x7EEB80", Offset = "0x7EDB80", VA = "0x1807EEB80", Slot = "15")]
public override ECFieldElement Sqrt()
{
ulong[] array = Nat128.Create64();
ulong[] array2 = this.x;
ulong num = Interleave.Unshuffle(array2[0]);
ulong num2 = array2[1];
ulong num3 = Interleave.Unshuffle(num2);
array[0] = num3;
array[1] = num;
new SecT113FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x17001A86 RID: 6790
// (get) Token: 0x0600A99D RID: 43421 RVA: 0x0024A7B8 File Offset: 0x002489B8
[Token(Token = "0x17001A86")]
public virtual int Representation
{
[Token(Token = "0x600A99D")]
[Address(RVA = "0x4E86A0", Offset = "0x4E76A0", VA = "0x1804E86A0", Slot = "29")]
get
{
return 2;
}
}
// Token: 0x17001A87 RID: 6791
// (get) Token: 0x0600A99E RID: 43422 RVA: 0x0024A7C8 File Offset: 0x002489C8
[Token(Token = "0x17001A87")]
public virtual int M
{
[Token(Token = "0x600A99E")]
[Address(RVA = "0x7EF190", Offset = "0x7EE190", VA = "0x1807EF190", Slot = "30")]
get
{
return 113;
}
}
// Token: 0x17001A88 RID: 6792
// (get) Token: 0x0600A99F RID: 43423 RVA: 0x0024A7D8 File Offset: 0x002489D8
[Token(Token = "0x17001A88")]
public virtual int K1
{
[Token(Token = "0x600A99F")]
[Address(RVA = "0x68E020", Offset = "0x68D020", VA = "0x18068E020", Slot = "31")]
get
{
return 9;
}
}
// Token: 0x17001A89 RID: 6793
// (get) Token: 0x0600A9A0 RID: 43424 RVA: 0x0024A7E8 File Offset: 0x002489E8
[Token(Token = "0x17001A89")]
public virtual int K2
{
[Token(Token = "0x600A9A0")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "32")]
get
{
return 0;
}
}
// Token: 0x17001A8A RID: 6794
// (get) Token: 0x0600A9A1 RID: 43425 RVA: 0x0024A7F8 File Offset: 0x002489F8
[Token(Token = "0x17001A8A")]
public virtual int K3
{
[Token(Token = "0x600A9A1")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "33")]
get
{
return 0;
}
}
// Token: 0x0600A9A2 RID: 43426 RVA: 0x0024A808 File Offset: 0x00248A08
[Token(Token = "0x600A9A2")]
[Address(RVA = "0x7EE620", Offset = "0x7ED620", VA = "0x1807EE620", Slot = "0")]
public override bool Equals(object obj)
{
/*
An exception occurred when decompiling this method (0600A9A2)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113FieldElement::Equals(System.Object)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT113FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600A9A3 RID: 43427 RVA: 0x0024A824 File Offset: 0x00248A24
[Token(Token = "0x600A9A3")]
[Address(RVA = "0x7EE590", Offset = "0x7ED590", VA = "0x1807EE590", Slot = "25")]
public override bool Equals(ECFieldElement other)
{
/*
An exception occurred when decompiling this method (0600A9A3)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT113FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600A9A4 RID: 43428 RVA: 0x0024A840 File Offset: 0x00248A40
[Token(Token = "0x600A9A4")]
[Address(RVA = "0x7EE570", Offset = "0x7ED570", VA = "0x1807EE570", Slot = "34")]
public virtual bool Equals(SecT113FieldElement other)
{
if (this != other)
{
if (other != 0)
{
ulong[] array = other.x;
return Nat128.Eq64(this.x, array);
}
}
return true;
}
// Token: 0x0600A9A5 RID: 43429 RVA: 0x0024A86C File Offset: 0x00248A6C
[Token(Token = "0x600A9A5")]
[Address(RVA = "0x7EE6B0", Offset = "0x7ED6B0", VA = "0x1807EE6B0", Slot = "2")]
public override int GetHashCode()
{
ulong[] array = this.x;
int num = 0;
return Arrays.GetHashCode(array, num, 2);
}
// Token: 0x04006D98 RID: 28056
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006D98")]
protected internal readonly ulong[] x;
}
}
@@ -0,0 +1,391 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B4F RID: 6991
[Token(Token = "0x2001B4F")]
internal class SecT113R1Curve : AbstractF2mCurve
{
// Token: 0x0600A9A6 RID: 43430 RVA: 0x0024A88C File Offset: 0x00248A8C
[Token(Token = "0x600A9A6")]
[Address(RVA = "0x7F0840", Offset = "0x7EF840", VA = "0x1807F0840")]
public SecT113R1Curve()
{
int num = 0;
int num2 = 0;
base..ctor(113, 9, num2, num);
int num3;
int num4;
SecT113R1Point secT113R1Point = new SecT113R1Point(this, num3, num4, num != 0);
num4 = 0;
num3 = 0;
this.m_infinity = secT113R1Point;
byte[] array = Hex.Decode("003088250CA6E7C7FE649CE85820F7");
BigInteger bigInteger = new BigInteger(1, array);
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
byte[] array2 = Hex.Decode("00E8BEE4D3E2260744188BE0E9C723");
BigInteger bigInteger2 = new BigInteger(1, array2);
int fieldSize2 = this.FieldSize;
this.m_b = fieldSize2;
byte[] array3 = Hex.Decode("0100000000000000D9CCEC8A39E56F");
BigInteger bigInteger3 = new BigInteger(1, array3);
this.m_order = bigInteger3;
BigInteger two = BigInteger.Two;
this.m_cofactor = two;
this.m_coord = (int)((ulong)6L);
}
// Token: 0x0600A9A7 RID: 43431 RVA: 0x0024A944 File Offset: 0x00248B44
[Token(Token = "0x600A9A7")]
[Address(RVA = "0x7F0270", Offset = "0x7EF270", VA = "0x1807F0270", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600A9A7)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113R1Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_1_01, ldc.i4:int32(0))
stloc:SecT113R1Point(var_3_0F, newobj:SecT113R1Point(SecT113R1Point::.ctor, ldloc:SecT113R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
stloc:int32(var_4, ldc.i4:int32(0))
stloc:int32(var_5, ldc.i4:int32(0))
stfld:SecT113R1Point(SecT113R1Curve::m_infinity, ldloc:SecT113R1Curve(var_0), ldloc:SecT113R1Point(var_3_0F))
stloc:uint8[](var_6_27, call:uint8[](Hex::Decode, ldstr:string("003088250CA6E7C7FE649CE85820F7")))
stloc:BigInteger(var_7_31, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_6_27)))
stloc:int32(var_8_39, callvirtgetter:int32(SecT113R1Curve::get_FieldSize, ldloc:SecT113R1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT113R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_8_39))
stloc:uint8[](var_9_4D, call:uint8[](Hex::Decode, ldstr:string("00E8BEE4D3E2260744188BE0E9C723")))
stloc:BigInteger(var_10_57, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_9_4D)))
stloc:int32(var_11_5F, callvirtgetter:int32(SecT113R1Curve::get_FieldSize, ldloc:SecT113R1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT113R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_11_5F))
stloc:uint8[](var_12_73, call:uint8[](Hex::Decode, ldstr:string("0100000000000000D9CCEC8A39E56F")))
stloc:BigInteger(var_13_7D, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_12_73)))
stfld:BigInteger(ECCurve::m_order, ldloc:SecT113R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_13_7D))
stloc:BigInteger(var_14_8C, ldsfld:BigInteger(BigInteger::Two))
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT113R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_14_8C))
stfld:int32(ECCurve::m_coord, ldloc:SecT113R1Curve[exp:ECCurve](var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](6)))
}
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: 0x0600A9A8 RID: 43432 RVA: 0x0024A9F0 File Offset: 0x00248BF0
[Token(Token = "0x600A9A8")]
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 6;
}
// Token: 0x17001A8B RID: 6795
// (get) Token: 0x0600A9A9 RID: 43433 RVA: 0x0024AA04 File Offset: 0x00248C04
[Token(Token = "0x17001A8B")]
public override ECPoint Infinity
{
[Token(Token = "0x600A9A9")]
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600A9A9)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113R1Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT113R1Point(var_0_06, ldfld:SecT113R1Point(SecT113R1Curve::m_infinity, ldloc:SecT113R1Curve(this)))
}
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: 0x17001A8C RID: 6796
// (get) Token: 0x0600A9AA RID: 43434 RVA: 0x0024AA18 File Offset: 0x00248C18
[Token(Token = "0x17001A8C")]
public override int FieldSize
{
[Token(Token = "0x600A9AA")]
[Address(RVA = "0x7EF190", Offset = "0x7EE190", VA = "0x1807EF190", Slot = "4")]
get
{
return 113;
}
}
// Token: 0x0600A9AB RID: 43435 RVA: 0x0024AA28 File Offset: 0x00248C28
[Token(Token = "0x600A9AB")]
[Address(RVA = "0x7F07E0", Offset = "0x7EF7E0", VA = "0x1807F07E0", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600A9AB)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113R1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT113FieldElement(var_0_06, newobj:SecT113FieldElement(SecT113FieldElement::.ctor, ldloc:BigInteger(x)))
}
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: 0x0600A9AC RID: 43436 RVA: 0x0024AA3C File Offset: 0x00248C3C
[Token(Token = "0x600A9AC")]
[Address(RVA = "0x7F06B0", Offset = "0x7EF6B0", VA = "0x1807F06B0", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A9AC)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113R1Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT113R1Point(var_0_09, newobj:SecT113R1Point(SecT113R1Point::.ctor, ldloc:SecT113R1Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600A9AD RID: 43437 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600A9AD")]
[Address(RVA = "0x7F0740", Offset = "0x7EF740", VA = "0x1807F0740", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x17001A8D RID: 6797
// (get) Token: 0x0600A9AE RID: 43438 RVA: 0x0024AA54 File Offset: 0x00248C54
[Token(Token = "0x17001A8D")]
public override bool IsKoblitz
{
[Token(Token = "0x600A9AE")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "39")]
get
{
}
}
// Token: 0x17001A8E RID: 6798
// (get) Token: 0x0600A9AF RID: 43439 RVA: 0x0024AA64 File Offset: 0x00248C64
[Token(Token = "0x17001A8E")]
public virtual int M
{
[Token(Token = "0x600A9AF")]
[Address(RVA = "0x7EF190", Offset = "0x7EE190", VA = "0x1807EF190", Slot = "40")]
get
{
return 113;
}
}
// Token: 0x17001A8F RID: 6799
// (get) Token: 0x0600A9B0 RID: 43440 RVA: 0x0024AA74 File Offset: 0x00248C74
[Token(Token = "0x17001A8F")]
public virtual bool IsTrinomial
{
[Token(Token = "0x600A9B0")]
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "41")]
get
{
return true;
}
}
// Token: 0x17001A90 RID: 6800
// (get) Token: 0x0600A9B1 RID: 43441 RVA: 0x0024AA84 File Offset: 0x00248C84
[Token(Token = "0x17001A90")]
public virtual int K1
{
[Token(Token = "0x600A9B1")]
[Address(RVA = "0x68E020", Offset = "0x68D020", VA = "0x18068E020", Slot = "42")]
get
{
return 9;
}
}
// Token: 0x17001A91 RID: 6801
// (get) Token: 0x0600A9B2 RID: 43442 RVA: 0x0024AA94 File Offset: 0x00248C94
[Token(Token = "0x17001A91")]
public virtual int K2
{
[Token(Token = "0x600A9B2")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "43")]
get
{
return 0;
}
}
// Token: 0x17001A92 RID: 6802
// (get) Token: 0x0600A9B3 RID: 43443 RVA: 0x0024AAA4 File Offset: 0x00248CA4
[Token(Token = "0x17001A92")]
public virtual int K3
{
[Token(Token = "0x600A9B3")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "44")]
get
{
return 0;
}
}
// Token: 0x0600A9B4 RID: 43444 RVA: 0x0024AAB4 File Offset: 0x00248CB4
[Token(Token = "0x600A9B4")]
[Address(RVA = "0x7F0450", Offset = "0x7EF450", VA = "0x1807F0450", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
ulong[] array;
int num;
for (;;)
{
array = new ulong[points];
num = 0;
if (len <= 0)
{
goto IL_49;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
if (y != 0 && y != 0)
{
break;
}
}
}
num += 4;
IL_49:
SecT113R1Curve.SecT113R1LookupTable secT113R1LookupTable;
secT113R1LookupTable.m_outer = 0;
secT113R1LookupTable.m_table = array;
secT113R1LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x04006D99 RID: 28057
[Token(Token = "0x4006D99")]
private const int SECT113R1_DEFAULT_COORDS = 6;
// Token: 0x04006D9A RID: 28058
[Token(Token = "0x4006D9A")]
private const int SECT113R1_FE_LONGS = 2;
// Token: 0x04006D9B RID: 28059
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4006D9B")]
protected readonly SecT113R1Point m_infinity;
// Token: 0x02001B50 RID: 6992
[Token(Token = "0x2001B50")]
private class SecT113R1LookupTable : ECLookupTable
{
// Token: 0x0600A9B5 RID: 43445 RVA: 0x0024AB28 File Offset: 0x00248D28
[Token(Token = "0x600A9B5")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecT113R1LookupTable(SecT113R1Curve outer, ulong[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001A93 RID: 6803
// (get) Token: 0x0600A9B6 RID: 43446 RVA: 0x0024AB50 File Offset: 0x00248D50
[Token(Token = "0x17001A93")]
public virtual int Size
{
[Token(Token = "0x600A9B6")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600A9B7 RID: 43447 RVA: 0x0024AB64 File Offset: 0x00248D64
[Token(Token = "0x600A9B7")]
[Address(RVA = "0x7F0A00", Offset = "0x7EFA00", VA = "0x1807F0A00", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
ulong[] array = Nat128.Create64();
ulong[] array2 = Nat128.Create64();
int num = 0;
int num2 = 0;
if (this.m_size > num)
{
int num3 = 0;
ulong[] table = this.m_table;
ulong[] table2 = this.m_table;
num3++;
num += 4;
num2++;
}
SecT113R1Curve outer = this.m_outer;
new SecT113FieldElement().x = array;
new SecT113FieldElement().x = array2;
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006D9C RID: 28060
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006D9C")]
private readonly SecT113R1Curve m_outer;
// Token: 0x04006D9D RID: 28061
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006D9D")]
private readonly ulong[] m_table;
// Token: 0x04006D9E RID: 28062
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006D9E")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,256 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B51 RID: 6993
[Token(Token = "0x2001B51")]
internal class SecT113R1Point : AbstractF2mPoint
{
// Token: 0x0600A9B8 RID: 43448 RVA: 0x0024ABE4 File Offset: 0x00248DE4
[Token(Token = "0x600A9B8")]
[Address(RVA = "0x7F21D0", Offset = "0x7F11D0", VA = "0x1807F21D0")]
public SecT113R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600A9B9 RID: 43449 RVA: 0x0024ABF4 File Offset: 0x00248DF4
[Token(Token = "0x600A9B9")]
[Address(RVA = "0x7F2110", Offset = "0x7F1110", VA = "0x1807F2110")]
public SecT113R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A9B9)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600A9BA RID: 43450 RVA: 0x0024AC1C File Offset: 0x00248E1C
[Token(Token = "0x600A9BA")]
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
internal SecT113R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600A9BB RID: 43451 RVA: 0x0024AC2C File Offset: 0x00248E2C
[Token(Token = "0x600A9BB")]
[Address(RVA = "0x7F1410", Offset = "0x7F0410", VA = "0x1807F1410", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600A9BB)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113R1Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT113R1Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT113R1Point[exp:ECPoint](this)))
}
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: 0x17001A94 RID: 6804
// (get) Token: 0x0600A9BC RID: 43452 RVA: 0x0024AC48 File Offset: 0x00248E48
[Token(Token = "0x17001A94")]
public override ECFieldElement YCoord
{
[Token(Token = "0x600A9BC")]
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
get
{
ECFieldElement x = this.m_x;
ECFieldElement y = this.m_y;
if (!base.IsInfinity && !x.IsOne)
{
int fieldSize = y.FieldSize;
if (this.m_zs[0].BitLength == 0)
{
}
}
return y;
}
}
// Token: 0x17001A95 RID: 6805
// (get) Token: 0x0600A9BD RID: 43453 RVA: 0x0024AC98 File Offset: 0x00248E98
[Token(Token = "0x17001A95")]
protected internal override bool CompressionYTilde
{
[Token(Token = "0x600A9BD")]
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
get
{
if (!this.m_x.IsOne)
{
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement;
ECFieldElement ecfieldElement2;
return ecfieldElement != ecfieldElement2;
}
throw new NullReferenceException();
}
}
// Token: 0x0600A9BE RID: 43454 RVA: 0x0024ACCC File Offset: 0x00248ECC
[Token(Token = "0x600A9BE")]
[Address(RVA = "0x7F0BD0", Offset = "0x7EFBD0", VA = "0x1807F0BD0", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
while (!base.IsInfinity && !b.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
ECFieldElement x2 = b.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
ECFieldElement[] zs2 = b.m_zs;
ECFieldElement y2 = b.m_y;
ECFieldElement ecfieldElement2 = zs2[0];
if (ecfieldElement.BitLength == 0)
{
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
}
if (ecfieldElement2.BitLength != 0)
{
continue;
}
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
int fieldSize2 = ecfieldElement5.FieldSize;
if (fieldSize2 == 0)
{
if (!x2.IsOne)
{
sbyte b3;
sbyte b2 = b3;
TypeCode typeCode = b2.GetTypeCode();
int fieldSize3 = y.FieldSize;
bool withCompression = this.m_withCompression;
}
short num;
TypeCode typeCode2 = num.GetTypeCode();
BigInteger one = BigInteger.One;
ECFieldElement[] array = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
ECPoint ecpoint;
if (ecpoint == 0)
{
break;
}
}
if (!x2.IsOne)
{
bool compressionYTilde = b.CompressionYTilde;
break;
}
break;
}
return b;
}
// Token: 0x0600A9BF RID: 43455 RVA: 0x0024AE20 File Offset: 0x00249020
[Token(Token = "0x600A9BF")]
[Address(RVA = "0x7F1CC0", Offset = "0x7F0CC0", VA = "0x1807F1CC0", Slot = "30")]
public override ECPoint Twice()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
int bitLength = ecfieldElement.BitLength;
if (bitLength != 0)
{
}
ECFieldElement ecfieldElement2 = y.Subtract(ecfieldElement);
ECFieldElement ecfieldElement3 = ecfieldElement.Negate();
if (bitLength == 0)
{
}
if (y.Negate().FieldSize.GetTypeCode() == TypeCode.Empty)
{
if (bitLength != 0)
{
}
ECFieldElement ecfieldElement4 = x.Subtract(ecfieldElement);
ECFieldElement ecfieldElement5;
TypeCode typeCode = ecfieldElement5.FieldSize.GetTypeCode();
sbyte b;
(new ECFieldElement[1])[0] = b;
bool withCompression = this.m_withCompression;
}
SecT113R1Point secT113R1Point;
ECFieldElement[] zcoords = secT113R1Point.GetZCoords();
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600A9C0 RID: 43456 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600A9C0")]
[Address(RVA = "0x7F1660", Offset = "0x7F0660", VA = "0x1807F1660", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600A9C1 RID: 43457 RVA: 0x0024AEE8 File Offset: 0x002490E8
[Token(Token = "0x600A9C1")]
[Address(RVA = "0x7F14B0", Offset = "0x7F04B0", VA = "0x1807F14B0", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity && !this.m_x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
bool flag = this.SatisfiesOrder();
int fieldSize = y.FieldSize;
ECFieldElement[] array = new ECFieldElement[1];
if (ecfieldElement != 0)
{
}
array[0] = ecfieldElement;
bool withCompression = this.m_withCompression;
}
throw new IndexOutOfRangeException();
}
}
}
@@ -0,0 +1,391 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B52 RID: 6994
[Token(Token = "0x2001B52")]
internal class SecT113R2Curve : AbstractF2mCurve
{
// Token: 0x0600A9C2 RID: 43458 RVA: 0x0024AF54 File Offset: 0x00249154
[Token(Token = "0x600A9C2")]
[Address(RVA = "0x7F27C0", Offset = "0x7F17C0", VA = "0x1807F27C0")]
public SecT113R2Curve()
{
int num = 0;
int num2 = 0;
base..ctor(113, 9, num2, num);
int num3;
int num4;
SecT113R2Point secT113R2Point = new SecT113R2Point(this, num3, num4, num != 0);
num4 = 0;
num3 = 0;
this.m_infinity = secT113R2Point;
byte[] array = Hex.Decode("00689918DBEC7E5A0DD6DFC0AA55C7");
BigInteger bigInteger = new BigInteger(1, array);
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
byte[] array2 = Hex.Decode("0095E9A9EC9B297BD4BF36E059184F");
BigInteger bigInteger2 = new BigInteger(1, array2);
int fieldSize2 = this.FieldSize;
this.m_b = fieldSize2;
byte[] array3 = Hex.Decode("010000000000000108789B2496AF93");
BigInteger bigInteger3 = new BigInteger(1, array3);
this.m_order = bigInteger3;
BigInteger two = BigInteger.Two;
this.m_cofactor = two;
this.m_coord = (int)((ulong)6L);
}
// Token: 0x0600A9C3 RID: 43459 RVA: 0x0024B00C File Offset: 0x0024920C
[Token(Token = "0x600A9C3")]
[Address(RVA = "0x7F21F0", Offset = "0x7F11F0", VA = "0x1807F21F0", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600A9C3)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113R2Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_1_01, ldc.i4:int32(0))
stloc:SecT113R2Point(var_3_0F, newobj:SecT113R2Point(SecT113R2Point::.ctor, ldloc:SecT113R2Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
stloc:int32(var_4, ldc.i4:int32(0))
stloc:int32(var_5, ldc.i4:int32(0))
stfld:SecT113R2Point(SecT113R2Curve::m_infinity, ldloc:SecT113R2Curve(var_0), ldloc:SecT113R2Point(var_3_0F))
stloc:uint8[](var_6_27, call:uint8[](Hex::Decode, ldstr:string("00689918DBEC7E5A0DD6DFC0AA55C7")))
stloc:BigInteger(var_7_31, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_6_27)))
stloc:int32(var_8_39, callvirtgetter:int32(SecT113R2Curve::get_FieldSize, ldloc:SecT113R2Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT113R2Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_8_39))
stloc:uint8[](var_9_4D, call:uint8[](Hex::Decode, ldstr:string("0095E9A9EC9B297BD4BF36E059184F")))
stloc:BigInteger(var_10_57, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_9_4D)))
stloc:int32(var_11_5F, callvirtgetter:int32(SecT113R2Curve::get_FieldSize, ldloc:SecT113R2Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT113R2Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_11_5F))
stloc:uint8[](var_12_73, call:uint8[](Hex::Decode, ldstr:string("010000000000000108789B2496AF93")))
stloc:BigInteger(var_13_7D, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_12_73)))
stfld:BigInteger(ECCurve::m_order, ldloc:SecT113R2Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_13_7D))
stloc:BigInteger(var_14_8C, ldsfld:BigInteger(BigInteger::Two))
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT113R2Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_14_8C))
stfld:int32(ECCurve::m_coord, ldloc:SecT113R2Curve[exp:ECCurve](var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](6)))
}
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: 0x0600A9C4 RID: 43460 RVA: 0x0024B0B8 File Offset: 0x002492B8
[Token(Token = "0x600A9C4")]
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 6;
}
// Token: 0x17001A96 RID: 6806
// (get) Token: 0x0600A9C5 RID: 43461 RVA: 0x0024B0CC File Offset: 0x002492CC
[Token(Token = "0x17001A96")]
public override ECPoint Infinity
{
[Token(Token = "0x600A9C5")]
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600A9C5)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113R2Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT113R2Point(var_0_06, ldfld:SecT113R2Point(SecT113R2Curve::m_infinity, ldloc:SecT113R2Curve(this)))
}
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: 0x17001A97 RID: 6807
// (get) Token: 0x0600A9C6 RID: 43462 RVA: 0x0024B0E0 File Offset: 0x002492E0
[Token(Token = "0x17001A97")]
public override int FieldSize
{
[Token(Token = "0x600A9C6")]
[Address(RVA = "0x7EF190", Offset = "0x7EE190", VA = "0x1807EF190", Slot = "4")]
get
{
return 113;
}
}
// Token: 0x0600A9C7 RID: 43463 RVA: 0x0024B0F0 File Offset: 0x002492F0
[Token(Token = "0x600A9C7")]
[Address(RVA = "0x7F2760", Offset = "0x7F1760", VA = "0x1807F2760", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600A9C7)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113R2Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT113FieldElement(var_0_06, newobj:SecT113FieldElement(SecT113FieldElement::.ctor, ldloc:BigInteger(x)))
}
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: 0x0600A9C8 RID: 43464 RVA: 0x0024B104 File Offset: 0x00249304
[Token(Token = "0x600A9C8")]
[Address(RVA = "0x7F2630", Offset = "0x7F1630", VA = "0x1807F2630", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A9C8)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113R2Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT113R2Point(var_0_09, newobj:SecT113R2Point(SecT113R2Point::.ctor, ldloc:SecT113R2Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600A9C9 RID: 43465 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600A9C9")]
[Address(RVA = "0x7F26C0", Offset = "0x7F16C0", VA = "0x1807F26C0", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x17001A98 RID: 6808
// (get) Token: 0x0600A9CA RID: 43466 RVA: 0x0024B11C File Offset: 0x0024931C
[Token(Token = "0x17001A98")]
public override bool IsKoblitz
{
[Token(Token = "0x600A9CA")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "39")]
get
{
}
}
// Token: 0x17001A99 RID: 6809
// (get) Token: 0x0600A9CB RID: 43467 RVA: 0x0024B12C File Offset: 0x0024932C
[Token(Token = "0x17001A99")]
public virtual int M
{
[Token(Token = "0x600A9CB")]
[Address(RVA = "0x7EF190", Offset = "0x7EE190", VA = "0x1807EF190", Slot = "40")]
get
{
return 113;
}
}
// Token: 0x17001A9A RID: 6810
// (get) Token: 0x0600A9CC RID: 43468 RVA: 0x0024B13C File Offset: 0x0024933C
[Token(Token = "0x17001A9A")]
public virtual bool IsTrinomial
{
[Token(Token = "0x600A9CC")]
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "41")]
get
{
return true;
}
}
// Token: 0x17001A9B RID: 6811
// (get) Token: 0x0600A9CD RID: 43469 RVA: 0x0024B14C File Offset: 0x0024934C
[Token(Token = "0x17001A9B")]
public virtual int K1
{
[Token(Token = "0x600A9CD")]
[Address(RVA = "0x68E020", Offset = "0x68D020", VA = "0x18068E020", Slot = "42")]
get
{
return 9;
}
}
// Token: 0x17001A9C RID: 6812
// (get) Token: 0x0600A9CE RID: 43470 RVA: 0x0024B15C File Offset: 0x0024935C
[Token(Token = "0x17001A9C")]
public virtual int K2
{
[Token(Token = "0x600A9CE")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "43")]
get
{
return 0;
}
}
// Token: 0x17001A9D RID: 6813
// (get) Token: 0x0600A9CF RID: 43471 RVA: 0x0024B16C File Offset: 0x0024936C
[Token(Token = "0x17001A9D")]
public virtual int K3
{
[Token(Token = "0x600A9CF")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "44")]
get
{
return 0;
}
}
// Token: 0x0600A9D0 RID: 43472 RVA: 0x0024B17C File Offset: 0x0024937C
[Token(Token = "0x600A9D0")]
[Address(RVA = "0x7F23D0", Offset = "0x7F13D0", VA = "0x1807F23D0", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
ulong[] array;
int num;
for (;;)
{
array = new ulong[points];
num = 0;
if (len <= 0)
{
goto IL_49;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
if (y != 0 && y != 0)
{
break;
}
}
}
num += 4;
IL_49:
SecT113R2Curve.SecT113R2LookupTable secT113R2LookupTable;
secT113R2LookupTable.m_outer = 0;
secT113R2LookupTable.m_table = array;
secT113R2LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x04006D9F RID: 28063
[Token(Token = "0x4006D9F")]
private const int SECT113R2_DEFAULT_COORDS = 6;
// Token: 0x04006DA0 RID: 28064
[Token(Token = "0x4006DA0")]
private const int SECT113R2_FE_LONGS = 2;
// Token: 0x04006DA1 RID: 28065
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4006DA1")]
protected readonly SecT113R2Point m_infinity;
// Token: 0x02001B53 RID: 6995
[Token(Token = "0x2001B53")]
private class SecT113R2LookupTable : ECLookupTable
{
// Token: 0x0600A9D1 RID: 43473 RVA: 0x0024B1F0 File Offset: 0x002493F0
[Token(Token = "0x600A9D1")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecT113R2LookupTable(SecT113R2Curve outer, ulong[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001A9E RID: 6814
// (get) Token: 0x0600A9D2 RID: 43474 RVA: 0x0024B218 File Offset: 0x00249418
[Token(Token = "0x17001A9E")]
public virtual int Size
{
[Token(Token = "0x600A9D2")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600A9D3 RID: 43475 RVA: 0x0024B22C File Offset: 0x0024942C
[Token(Token = "0x600A9D3")]
[Address(RVA = "0x7F2980", Offset = "0x7F1980", VA = "0x1807F2980", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
ulong[] array = Nat128.Create64();
ulong[] array2 = Nat128.Create64();
int num = 0;
int num2 = 0;
if (this.m_size > num)
{
int num3 = 0;
ulong[] table = this.m_table;
ulong[] table2 = this.m_table;
num3++;
num += 4;
num2++;
}
SecT113R2Curve outer = this.m_outer;
new SecT113FieldElement().x = array;
new SecT113FieldElement().x = array2;
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006DA2 RID: 28066
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006DA2")]
private readonly SecT113R2Curve m_outer;
// Token: 0x04006DA3 RID: 28067
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006DA3")]
private readonly ulong[] m_table;
// Token: 0x04006DA4 RID: 28068
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006DA4")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,256 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B54 RID: 6996
[Token(Token = "0x2001B54")]
internal class SecT113R2Point : AbstractF2mPoint
{
// Token: 0x0600A9D4 RID: 43476 RVA: 0x0024B2AC File Offset: 0x002494AC
[Token(Token = "0x600A9D4")]
[Address(RVA = "0x7F4090", Offset = "0x7F3090", VA = "0x1807F4090")]
public SecT113R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600A9D5 RID: 43477 RVA: 0x0024B2BC File Offset: 0x002494BC
[Token(Token = "0x600A9D5")]
[Address(RVA = "0x7F40B0", Offset = "0x7F30B0", VA = "0x1807F40B0")]
public SecT113R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A9D5)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113R2Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600A9D6 RID: 43478 RVA: 0x0024B2E4 File Offset: 0x002494E4
[Token(Token = "0x600A9D6")]
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
internal SecT113R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600A9D7 RID: 43479 RVA: 0x0024B2F4 File Offset: 0x002494F4
[Token(Token = "0x600A9D7")]
[Address(RVA = "0x7F3390", Offset = "0x7F2390", VA = "0x1807F3390", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600A9D7)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113R2Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT113R2Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT113R2Point[exp:ECPoint](this)))
}
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: 0x17001A9F RID: 6815
// (get) Token: 0x0600A9D8 RID: 43480 RVA: 0x0024B310 File Offset: 0x00249510
[Token(Token = "0x17001A9F")]
public override ECFieldElement YCoord
{
[Token(Token = "0x600A9D8")]
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
get
{
ECFieldElement x = this.m_x;
ECFieldElement y = this.m_y;
if (!base.IsInfinity && !x.IsOne)
{
int fieldSize = y.FieldSize;
if (this.m_zs[0].BitLength == 0)
{
}
}
return y;
}
}
// Token: 0x17001AA0 RID: 6816
// (get) Token: 0x0600A9D9 RID: 43481 RVA: 0x0024B360 File Offset: 0x00249560
[Token(Token = "0x17001AA0")]
protected internal override bool CompressionYTilde
{
[Token(Token = "0x600A9D9")]
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
get
{
if (!this.m_x.IsOne)
{
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement;
ECFieldElement ecfieldElement2;
return ecfieldElement != ecfieldElement2;
}
throw new NullReferenceException();
}
}
// Token: 0x0600A9DA RID: 43482 RVA: 0x0024B394 File Offset: 0x00249594
[Token(Token = "0x600A9DA")]
[Address(RVA = "0x7F2B50", Offset = "0x7F1B50", VA = "0x1807F2B50", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
while (!base.IsInfinity && !b.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
ECFieldElement x2 = b.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
ECFieldElement[] zs2 = b.m_zs;
ECFieldElement y2 = b.m_y;
ECFieldElement ecfieldElement2 = zs2[0];
if (ecfieldElement.BitLength == 0)
{
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
}
if (ecfieldElement2.BitLength != 0)
{
continue;
}
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
int fieldSize2 = ecfieldElement5.FieldSize;
if (fieldSize2 == 0)
{
if (!x2.IsOne)
{
sbyte b3;
sbyte b2 = b3;
TypeCode typeCode = b2.GetTypeCode();
int fieldSize3 = y.FieldSize;
bool withCompression = this.m_withCompression;
}
short num;
TypeCode typeCode2 = num.GetTypeCode();
BigInteger one = BigInteger.One;
ECFieldElement[] array = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
ECPoint ecpoint;
if (ecpoint == 0)
{
break;
}
}
if (!x2.IsOne)
{
bool compressionYTilde = b.CompressionYTilde;
break;
}
break;
}
return b;
}
// Token: 0x0600A9DB RID: 43483 RVA: 0x0024B4E8 File Offset: 0x002496E8
[Token(Token = "0x600A9DB")]
[Address(RVA = "0x7F3C40", Offset = "0x7F2C40", VA = "0x1807F3C40", Slot = "30")]
public override ECPoint Twice()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
int bitLength = ecfieldElement.BitLength;
if (bitLength != 0)
{
}
ECFieldElement ecfieldElement2 = y.Subtract(ecfieldElement);
ECFieldElement ecfieldElement3 = ecfieldElement.Negate();
if (bitLength == 0)
{
}
if (y.Negate().FieldSize.GetTypeCode() == TypeCode.Empty)
{
if (bitLength != 0)
{
}
ECFieldElement ecfieldElement4 = x.Subtract(ecfieldElement);
ECFieldElement ecfieldElement5;
TypeCode typeCode = ecfieldElement5.FieldSize.GetTypeCode();
sbyte b;
(new ECFieldElement[1])[0] = b;
bool withCompression = this.m_withCompression;
}
SecT113R2Point secT113R2Point;
ECFieldElement[] zcoords = secT113R2Point.GetZCoords();
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600A9DC RID: 43484 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600A9DC")]
[Address(RVA = "0x7F35E0", Offset = "0x7F25E0", VA = "0x1807F35E0", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600A9DD RID: 43485 RVA: 0x0024B5B0 File Offset: 0x002497B0
[Token(Token = "0x600A9DD")]
[Address(RVA = "0x7F3430", Offset = "0x7F2430", VA = "0x1807F3430", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity && !this.m_x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
bool flag = this.SatisfiesOrder();
int fieldSize = y.FieldSize;
ECFieldElement[] array = new ECFieldElement[1];
if (ecfieldElement != 0)
{
}
array[0] = ecfieldElement;
bool withCompression = this.m_withCompression;
}
throw new IndexOutOfRangeException();
}
}
}
@@ -0,0 +1,327 @@
using System;
using System.Runtime.CompilerServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B55 RID: 6997
[Token(Token = "0x2001B55")]
internal class SecT131Field
{
// Token: 0x0600A9DE RID: 43486 RVA: 0x0024B61C File Offset: 0x0024981C
[Token(Token = "0x600A9DE")]
[Address(RVA = "0x7F52E0", Offset = "0x7F42E0", VA = "0x1807F52E0")]
public static void Add(ulong[] x, ulong[] y, ulong[] z)
{
ulong num = y[0];
z[0] = num;
ulong num2 = y[1];
z[1] = num2;
ulong num3 = y[2];
z[2] = num3;
}
// Token: 0x0600A9DF RID: 43487 RVA: 0x0024B660 File Offset: 0x00249860
[Token(Token = "0x600A9DF")]
[Address(RVA = "0x7BF5E0", Offset = "0x7BE5E0", VA = "0x1807BF5E0")]
public static void AddExt(ulong[] xx, ulong[] yy, ulong[] zz)
{
ulong num = yy[0];
zz[0] = num;
ulong num2 = yy[1];
zz[1] = num2;
ulong num3 = yy[2];
zz[2] = num3;
ulong num4 = yy[3];
zz[3] = num4;
ulong num5 = yy[4];
zz[4] = num5;
}
// Token: 0x0600A9E0 RID: 43488 RVA: 0x0024B6C8 File Offset: 0x002498C8
[Token(Token = "0x600A9E0")]
[Address(RVA = "0x7F5220", Offset = "0x7F4220", VA = "0x1807F5220")]
public static void AddOne(ulong[] x, ulong[] z)
{
ulong num = x[0];
z[0] = num;
ulong num2 = x[1];
z[1] = num2;
ulong num3 = x[2];
z[2] = num3;
}
// Token: 0x0600A9E1 RID: 43489 RVA: 0x0024B70C File Offset: 0x0024990C
[Token(Token = "0x600A9E1")]
[Address(RVA = "0x7F5420", Offset = "0x7F4420", VA = "0x1807F5420")]
public static ulong[] FromBigInteger(BigInteger x)
{
ulong[] array = Nat192.FromBigInteger64(x);
ulong num = array[2];
num += num;
array[0] = num;
array[2] = num;
return array;
}
// Token: 0x0600A9E2 RID: 43490 RVA: 0x0024B744 File Offset: 0x00249944
[Token(Token = "0x600A9E2")]
[Address(RVA = "0x7F6130", Offset = "0x7F5130", VA = "0x1807F6130")]
public static void Invert(ulong[] x, ulong[] z)
{
/*
An exception occurred when decompiling this method (0600A9E2)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131Field::Invert(System.UInt64[],System.UInt64[])
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_A5:
stloc:InvalidOperationException(var_4_AA, newobj:InvalidOperationException(InvalidOperationException::.ctor))
}
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: 0x0600A9E3 RID: 43491 RVA: 0x0024B7FC File Offset: 0x002499FC
[Token(Token = "0x600A9E3")]
[Address(RVA = "0x7F63B0", Offset = "0x7F53B0", VA = "0x1807F63B0")]
public static void Multiply(ulong[] x, ulong[] y, ulong[] z)
{
ulong[] array = Nat192.CreateExt64();
SecT131Field.ImplMultiply(x, y, array);
SecT131Field.Reduce(array, z);
}
// Token: 0x0600A9E4 RID: 43492 RVA: 0x0024B820 File Offset: 0x00249A20
[Token(Token = "0x600A9E4")]
[Address(RVA = "0x7F6310", Offset = "0x7F5310", VA = "0x1807F6310")]
public static void MultiplyAddToExt(ulong[] x, ulong[] y, ulong[] zz)
{
ulong[] array = Nat192.CreateExt64();
SecT131Field.ImplMultiply(x, y, array);
SecT131Field.AddExt(zz, array, zz);
}
// Token: 0x0600A9E5 RID: 43493 RVA: 0x0024B848 File Offset: 0x00249A48
[Token(Token = "0x600A9E5")]
[Address(RVA = "0x7F6510", Offset = "0x7F5510", VA = "0x1807F6510")]
public static void Reduce(ulong[] xx, ulong[] z)
{
int length = xx.Length;
ulong num = xx[2];
ulong num2 = xx[4];
num2 += num2;
z[0] = num2;
z[1] = num2;
z[2] = num;
}
// Token: 0x0600A9E6 RID: 43494 RVA: 0x0024B890 File Offset: 0x00249A90
[Token(Token = "0x600A9E6")]
[Address(RVA = "0x7F6450", Offset = "0x7F5450", VA = "0x1807F6450")]
public static void Reduce61(ulong[] z, int zOff)
{
int length = z.Length;
ulong num;
num += num;
z[0] = num;
z[0] = num;
}
// Token: 0x0600A9E7 RID: 43495 RVA: 0x0024B8C0 File Offset: 0x00249AC0
[Token(Token = "0x600A9E7")]
[Address(RVA = "0x7F66D0", Offset = "0x7F56D0", VA = "0x1807F66D0")]
public static void Sqrt(ulong[] x, ulong[] z)
{
ulong[] array = Nat192.Create64();
ulong num = Interleave.Unshuffle(x[0]);
ulong num2 = x[1];
ulong num3 = Interleave.Unshuffle(num2);
array[0] = num;
ulong num4 = Interleave.Unshuffle(x[2]);
array[1] = num4;
}
// Token: 0x0600A9E8 RID: 43496 RVA: 0x0024B91C File Offset: 0x00249B1C
[Token(Token = "0x600A9E8")]
[Address(RVA = "0x7F6A20", Offset = "0x7F5A20", VA = "0x1807F6A20")]
public static void Square(ulong[] x, ulong[] z)
{
ulong[] array = Nat.Create64(5);
SecT131Field.ImplSquare(x, array);
SecT131Field.Reduce(array, z);
}
// Token: 0x0600A9E9 RID: 43497 RVA: 0x0024B940 File Offset: 0x00249B40
[Token(Token = "0x600A9E9")]
[Address(RVA = "0x7F68A0", Offset = "0x7F58A0", VA = "0x1807F68A0")]
public static void SquareAddToExt(ulong[] x, ulong[] zz)
{
ulong[] array = Nat.Create64(5);
SecT131Field.ImplSquare(x, array);
SecT131Field.AddExt(zz, array, zz);
}
// Token: 0x0600A9EA RID: 43498 RVA: 0x0024B964 File Offset: 0x00249B64
[Token(Token = "0x600A9EA")]
[Address(RVA = "0x7F6930", Offset = "0x7F5930", VA = "0x1807F6930")]
public static void SquareN(ulong[] x, int n, ulong[] z)
{
ulong[] array = Nat.Create64(5);
SecT131Field.ImplSquare(x, array);
SecT131Field.Reduce(array, z);
if (n > 0)
{
SecT131Field.ImplSquare(z, array);
SecT131Field.Reduce(array, z);
}
}
// Token: 0x0600A9EB RID: 43499 RVA: 0x0024B998 File Offset: 0x00249B98
[Token(Token = "0x600A9EB")]
[Address(RVA = "0x7F6AB0", Offset = "0x7F5AB0", VA = "0x1807F6AB0")]
public static uint Trace(ulong[] x)
{
int length = x.Length;
ulong num = x[2];
throw new NullReferenceException();
}
// Token: 0x0600A9EC RID: 43500 RVA: 0x0024B9BC File Offset: 0x00249BBC
[Token(Token = "0x600A9EC")]
[Address(RVA = "0x7F5500", Offset = "0x7F4500", VA = "0x1807F5500")]
protected static void ImplCompactExt(ulong[] zz)
{
int length = zz.Length;
ulong num = zz[1];
ulong num2 = zz[3];
ulong num3 = zz[5];
zz[1] = num;
zz[2] = num;
zz[3] = num2;
zz[4] = num3;
}
// Token: 0x0600A9ED RID: 43501 RVA: 0x0024BA10 File Offset: 0x00249C10
[Token(Token = "0x600A9ED")]
[Address(RVA = "0x7F56B0", Offset = "0x7F46B0", VA = "0x1807F56B0")]
protected static void ImplMultiply(ulong[] x, ulong[] y, ulong[] zz)
{
int length = x.Length;
ulong num = x[0];
ulong num2 = x[2];
int length2 = y.Length;
ulong num3 = y[0];
ulong[] array = new ulong[10];
int num4 = 0;
SecT131Field.ImplMulw(num, num3, array, num4);
num = num2;
SecT131Field.ImplMulw(num, num3, array, 2);
num = num2;
uint num5;
SecT131Field.ImplMulw(num, num3, array, (int)num5);
num2 += num2;
num += num;
num2 += num2;
num3 = num;
num = num2;
SecT131Field.ImplMulw(num, num3, array, 6);
num3 = num;
SecT131Field.ImplMulw(num, num3, array, 8);
int length3 = array.Length;
ulong num6 = array[6];
ulong num7 = array[0];
array += array;
num6 += num6;
zz[0] = num7;
ulong num8 = array[2];
zz[1] = num8;
ulong num9 = array[3];
zz[2] = num9;
zz[3] = num9;
ulong num10 = array[2];
zz[4] = num10;
ulong num11 = array[3];
zz[5] = num11;
SecT131Field.ImplCompactExt(zz);
}
// Token: 0x0600A9EE RID: 43502 RVA: 0x0024BB3C File Offset: 0x00249D3C
[Token(Token = "0x600A9EE")]
[Address(RVA = "0x7F5C90", Offset = "0x7F4C90", VA = "0x1807F5C90")]
protected static void ImplMulw(ulong x, ulong y, ulong[] z, int zOff)
{
ulong[] array = new ulong[8];
array[1] = y;
int num = array.Length;
array[2] = (ulong)num;
int length = array.Length;
array[3] = (ulong)num;
num = length;
array[4] = (ulong)num;
int length2 = array.Length;
array[5] = (ulong)num;
num = length2;
array[6] = (ulong)num;
int length3 = array.Length;
array[7] = (ulong)num;
ulong num2 = array[(int)x];
int num3 = zOff + 1;
z[0] = x;
z[0] = num2;
}
// Token: 0x0600A9EF RID: 43503 RVA: 0x0024BBD0 File Offset: 0x00249DD0
[Token(Token = "0x600A9EF")]
[Address(RVA = "0x7F6070", Offset = "0x7F5070", VA = "0x1807F6070")]
protected static void ImplSquare(ulong[] x, ulong[] zz)
{
ulong num = x[0];
int num2 = 0;
Interleave.Expand64To128(num, zz, num2);
Interleave.Expand64To128(x[1], zz, 2);
uint num3 = Interleave.Expand8to16((uint)x[2]);
zz[4] = (ulong)num3;
}
// Token: 0x0600A9F0 RID: 43504 RVA: 0x0024BC18 File Offset: 0x00249E18
[Token(Token = "0x600A9F0")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public SecT131Field()
{
}
// Token: 0x0600A9F1 RID: 43505 RVA: 0x0024BC2C File Offset: 0x00249E2C
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600A9F1")]
[Address(RVA = "0x7F6B20", Offset = "0x7F5B20", VA = "0x1807F6B20")]
static SecT131Field()
{
RuntimeHelpers.InitializeArray(new ulong[3], fieldof(<PrivateImplementationDetails>.CBF7F8D48ACC5EB9048CB8F1FCFAF93B33516965).FieldHandle);
}
// Token: 0x04006DA5 RID: 28069
[Token(Token = "0x4006DA5")]
private const ulong M03 = 7UL;
// Token: 0x04006DA6 RID: 28070
[Token(Token = "0x4006DA6")]
private const ulong M44 = 17592186044415UL;
// Token: 0x04006DA7 RID: 28071
[Token(Token = "0x4006DA7")]
private static readonly ulong[] ROOT_Z;
}
}
@@ -0,0 +1,598 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B56 RID: 6998
[Token(Token = "0x2001B56")]
internal class SecT131FieldElement : AbstractF2mFieldElement
{
// Token: 0x0600A9F2 RID: 43506 RVA: 0x0024BC4C File Offset: 0x00249E4C
[Token(Token = "0x600A9F2")]
[Address(RVA = "0x7F5020", Offset = "0x7F4020", VA = "0x1807F5020")]
public SecT131FieldElement(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600A9F2)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_3C:
stloc:ArgumentException(var_3_4B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecT131FieldElement"), ldstr:string("x")))
}
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: 0x0600A9F3 RID: 43507 RVA: 0x0024BCA4 File Offset: 0x00249EA4
[Token(Token = "0x600A9F3")]
[Address(RVA = "0x7F4FF0", Offset = "0x7F3FF0", VA = "0x1807F4FF0")]
public SecT131FieldElement()
{
ulong[] array = Nat192.Create64();
this.x = array;
}
// Token: 0x0600A9F4 RID: 43508 RVA: 0x0024BCC8 File Offset: 0x00249EC8
[Token(Token = "0x600A9F4")]
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
protected internal SecT131FieldElement(ulong[] x)
{
this.x = x;
}
// Token: 0x17001AA1 RID: 6817
// (get) Token: 0x0600A9F5 RID: 43509 RVA: 0x0024BCE4 File Offset: 0x00249EE4
[Token(Token = "0x17001AA1")]
public override bool IsOne
{
[Token(Token = "0x600A9F5")]
[Address(RVA = "0x7F5200", Offset = "0x7F4200", VA = "0x1807F5200", Slot = "17")]
get
{
return Nat192.IsOne64(this.x);
}
}
// Token: 0x17001AA2 RID: 6818
// (get) Token: 0x0600A9F6 RID: 43510 RVA: 0x0024BCFC File Offset: 0x00249EFC
[Token(Token = "0x17001AA2")]
public override bool IsZero
{
[Token(Token = "0x600A9F6")]
[Address(RVA = "0x7F5210", Offset = "0x7F4210", VA = "0x1807F5210", Slot = "18")]
get
{
return Nat192.IsZero64(this.x);
}
}
// Token: 0x0600A9F7 RID: 43511 RVA: 0x0024BD14 File Offset: 0x00249F14
[Token(Token = "0x600A9F7")]
[Address(RVA = "0x7B9C40", Offset = "0x7B8C40", VA = "0x1807B9C40", Slot = "24")]
public override bool TestBitZero()
{
ulong[] array = this.x;
throw new NullReferenceException();
}
// Token: 0x0600A9F8 RID: 43512 RVA: 0x0024BD30 File Offset: 0x00249F30
[Token(Token = "0x600A9F8")]
[Address(RVA = "0x7F4F30", Offset = "0x7F3F30", VA = "0x1807F4F30", Slot = "4")]
public override BigInteger ToBigInteger()
{
return Nat192.ToBigInteger64(this.x);
}
// Token: 0x17001AA3 RID: 6819
// (get) Token: 0x0600A9F9 RID: 43513 RVA: 0x0024BD48 File Offset: 0x00249F48
[Token(Token = "0x17001AA3")]
public override string FieldName
{
[Token(Token = "0x600A9F9")]
[Address(RVA = "0x7F51C0", Offset = "0x7F41C0", VA = "0x1807F51C0", Slot = "5")]
get
{
return "SecT131Field";
}
}
// Token: 0x17001AA4 RID: 6820
// (get) Token: 0x0600A9FA RID: 43514 RVA: 0x0024BD5C File Offset: 0x00249F5C
[Token(Token = "0x17001AA4")]
public override int FieldSize
{
[Token(Token = "0x600A9FA")]
[Address(RVA = "0x7F51F0", Offset = "0x7F41F0", VA = "0x1807F51F0", Slot = "6")]
get
{
return 131;
}
}
// Token: 0x0600A9FB RID: 43515 RVA: 0x0024BD70 File Offset: 0x00249F70
[Token(Token = "0x600A9FB")]
[Address(RVA = "0x7F42B0", Offset = "0x7F32B0", VA = "0x1807F42B0", Slot = "7")]
public override ECFieldElement Add(ECFieldElement b)
{
ulong[] array;
int num;
for (;;)
{
array = Nat192.Create64();
ulong[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecT131FieldElement).TypeHandle)
{
}
if (b != 0)
{
num = 0;
if (b != 0)
{
break;
}
}
}
array[0] = (ulong)num;
array[1] = (ulong)num;
array[2] = (ulong)num;
new SecT131FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A9FC RID: 43516 RVA: 0x0024BDD0 File Offset: 0x00249FD0
[Token(Token = "0x600A9FC")]
[Address(RVA = "0x7F4170", Offset = "0x7F3170", VA = "0x1807F4170", Slot = "8")]
public override ECFieldElement AddOne()
{
ulong[] array = Nat192.Create64();
ulong[] array2 = this.x;
ulong num = array2[0];
array[0] = num;
ulong num2 = array2[1];
array[1] = num2;
ulong num3 = array2[2];
array[2] = num3;
new SecT131FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A9FD RID: 43517 RVA: 0x0024BE30 File Offset: 0x0024A030
[Token(Token = "0x600A9FD")]
[Address(RVA = "0x7B9C20", Offset = "0x7B8C20", VA = "0x1807B9C20", Slot = "9")]
public override ECFieldElement Subtract(ECFieldElement b)
{
/*
An exception occurred when decompiling this method (0600A9FD)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131FieldElement::Subtract(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT131FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600A9FE RID: 43518 RVA: 0x0024BE44 File Offset: 0x0024A044
[Token(Token = "0x600A9FE")]
[Address(RVA = "0x7F49D0", Offset = "0x7F39D0", VA = "0x1807F49D0", Slot = "10")]
public override ECFieldElement Multiply(ECFieldElement b)
{
ulong[] array;
do
{
array = Nat192.Create64();
ulong[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecT131FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecT131FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600A9FF RID: 43519 RVA: 0x0024BE8C File Offset: 0x0024A08C
[Token(Token = "0x600A9FF")]
[Address(RVA = "0x7B9440", Offset = "0x7B8440", VA = "0x1807B9440", Slot = "19")]
public override ECFieldElement MultiplyMinusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
{
/*
An exception occurred when decompiling this method (0600A9FF)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131FieldElement::MultiplyMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT131FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AA00 RID: 43520 RVA: 0x0024BEA0 File Offset: 0x0024A0A0
[Token(Token = "0x600AA00")]
[Address(RVA = "0x7F4740", Offset = "0x7F3740", VA = "0x1807F4740", Slot = "20")]
public override ECFieldElement MultiplyPlusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
{
do
{
ulong[] array = this.x;
}
while (b == 0 || b == 0 || x == 0 || x == 0 || y == 0 || y == 0);
ulong[] array2 = Nat.Create64(5);
ulong[] array3 = Nat192.Create64();
SecT131Field.Reduce(array2, array3);
new SecT131FieldElement().x = array3;
throw new NullReferenceException();
}
// Token: 0x0600AA01 RID: 43521 RVA: 0x0024BF08 File Offset: 0x0024A108
[Token(Token = "0x600AA01")]
[Address(RVA = "0x7B91D0", Offset = "0x7B81D0", VA = "0x1807B91D0", Slot = "11")]
public override ECFieldElement Divide(ECFieldElement b)
{
ECFieldElement ecfieldElement = b.Square();
BigInteger bigInteger = base.ToBigInteger();
throw new NullReferenceException();
}
// Token: 0x0600AA02 RID: 43522 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600AA02")]
[Address(RVA = "0x4A65C0", Offset = "0x4A55C0", VA = "0x1804A65C0", Slot = "12")]
public override ECFieldElement Negate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600AA03 RID: 43523 RVA: 0x0024BF28 File Offset: 0x0024A128
[Token(Token = "0x600AA03")]
[Address(RVA = "0x7F4EA0", Offset = "0x7F3EA0", VA = "0x1807F4EA0", Slot = "13")]
public override ECFieldElement Square()
{
/*
An exception occurred when decompiling this method (0600AA03)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131FieldElement::Square()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat192::Create64))
call:void(SecT131Field::Square, ldfld:uint64[](SecT131FieldElement::x, ldloc:SecT131FieldElement(this)), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT131FieldElement::x, newobj:SecT131FieldElement(SecT131FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x0600AA04 RID: 43524 RVA: 0x0024BF54 File Offset: 0x0024A154
[Token(Token = "0x600AA04")]
[Address(RVA = "0x7B98C0", Offset = "0x7B88C0", VA = "0x1807B98C0", Slot = "21")]
public override ECFieldElement SquareMinusProduct(ECFieldElement x, ECFieldElement y)
{
/*
An exception occurred when decompiling this method (0600AA04)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131FieldElement::SquareMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT131FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AA05 RID: 43525 RVA: 0x0024BF68 File Offset: 0x0024A168
[Token(Token = "0x600AA05")]
[Address(RVA = "0x7F4BA0", Offset = "0x7F3BA0", VA = "0x1807F4BA0", Slot = "22")]
public override ECFieldElement SquarePlusProduct(ECFieldElement x, ECFieldElement y)
{
ulong[] array;
do
{
array = this.x;
}
while (x == 0 || x == 0 || y == 0 || y == 0);
ulong[] array2 = Nat.Create64(5);
ulong[] array3 = Nat.Create64(5);
SecT131Field.ImplSquare(array, array3);
SecT131Field.AddExt(array2, array3, array2);
ulong[] array4 = Nat192.Create64();
SecT131Field.Reduce(array2, array4);
new SecT131FieldElement().x = array4;
throw new NullReferenceException();
}
// Token: 0x0600AA06 RID: 43526 RVA: 0x0024BFDC File Offset: 0x0024A1DC
[Token(Token = "0x600AA06")]
[Address(RVA = "0x7F4E00", Offset = "0x7F3E00", VA = "0x1807F4E00", Slot = "23")]
public override ECFieldElement SquarePow(int pow)
{
/*
An exception occurred when decompiling this method (0600AA06)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131FieldElement::SquarePow(System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat192::Create64))
call:void(SecT131Field::SquareN, ldfld:uint64[](SecT131FieldElement::x, ldloc:SecT131FieldElement(this)), ldloc:int32(pow), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT131FieldElement::x, newobj:SecT131FieldElement(SecT131FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x0600AA07 RID: 43527 RVA: 0x0024C008 File Offset: 0x0024A208
[Token(Token = "0x600AA07")]
[Address(RVA = "0x7F4F40", Offset = "0x7F3F40", VA = "0x1807F4F40", Slot = "28")]
public override int Trace()
{
ulong[] array = this.x;
int length = array.Length;
ulong num = array[2];
throw new NullReferenceException();
}
// Token: 0x0600AA08 RID: 43528 RVA: 0x0024C030 File Offset: 0x0024A230
[Token(Token = "0x600AA08")]
[Address(RVA = "0x7F46B0", Offset = "0x7F36B0", VA = "0x1807F46B0", Slot = "14")]
public override ECFieldElement Invert()
{
/*
An exception occurred when decompiling this method (0600AA08)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131FieldElement::Invert()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat192::Create64))
call:void(SecT131Field::Invert, ldfld:uint64[](SecT131FieldElement::x, ldloc:SecT131FieldElement(this)), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT131FieldElement::x, newobj:SecT131FieldElement(SecT131FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x0600AA09 RID: 43529 RVA: 0x0024C05C File Offset: 0x0024A25C
[Token(Token = "0x600AA09")]
[Address(RVA = "0x7F4B10", Offset = "0x7F3B10", VA = "0x1807F4B10", Slot = "15")]
public override ECFieldElement Sqrt()
{
/*
An exception occurred when decompiling this method (0600AA09)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131FieldElement::Sqrt()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat192::Create64))
call:void(SecT131Field::Sqrt, ldfld:uint64[](SecT131FieldElement::x, ldloc:SecT131FieldElement(this)), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT131FieldElement::x, newobj:SecT131FieldElement(SecT131FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x17001AA5 RID: 6821
// (get) Token: 0x0600AA0A RID: 43530 RVA: 0x0024C088 File Offset: 0x0024A288
[Token(Token = "0x17001AA5")]
public virtual int Representation
{
[Token(Token = "0x600AA0A")]
[Address(RVA = "0x4DB5B0", Offset = "0x4DA5B0", VA = "0x1804DB5B0", Slot = "29")]
get
{
return 3;
}
}
// Token: 0x17001AA6 RID: 6822
// (get) Token: 0x0600AA0B RID: 43531 RVA: 0x0024C098 File Offset: 0x0024A298
[Token(Token = "0x17001AA6")]
public virtual int M
{
[Token(Token = "0x600AA0B")]
[Address(RVA = "0x7F51F0", Offset = "0x7F41F0", VA = "0x1807F51F0", Slot = "30")]
get
{
return 131;
}
}
// Token: 0x17001AA7 RID: 6823
// (get) Token: 0x0600AA0C RID: 43532 RVA: 0x0024C0AC File Offset: 0x0024A2AC
[Token(Token = "0x17001AA7")]
public virtual int K1
{
[Token(Token = "0x600AA0C")]
[Address(RVA = "0x4E86A0", Offset = "0x4E76A0", VA = "0x1804E86A0", Slot = "31")]
get
{
return 2;
}
}
// Token: 0x17001AA8 RID: 6824
// (get) Token: 0x0600AA0D RID: 43533 RVA: 0x0024C0BC File Offset: 0x0024A2BC
[Token(Token = "0x17001AA8")]
public virtual int K2
{
[Token(Token = "0x600AA0D")]
[Address(RVA = "0x4DB5B0", Offset = "0x4DA5B0", VA = "0x1804DB5B0", Slot = "32")]
get
{
return 3;
}
}
// Token: 0x17001AA9 RID: 6825
// (get) Token: 0x0600AA0E RID: 43534 RVA: 0x0024C0CC File Offset: 0x0024A2CC
[Token(Token = "0x17001AA9")]
public virtual int K3
{
[Token(Token = "0x600AA0E")]
[Address(RVA = "0x681E00", Offset = "0x680E00", VA = "0x180681E00", Slot = "33")]
get
{
return 8;
}
}
// Token: 0x0600AA0F RID: 43535 RVA: 0x0024C0DC File Offset: 0x0024A2DC
[Token(Token = "0x600AA0F")]
[Address(RVA = "0x7F4590", Offset = "0x7F3590", VA = "0x1807F4590", Slot = "0")]
public override bool Equals(object obj)
{
/*
An exception occurred when decompiling this method (0600AA0F)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131FieldElement::Equals(System.Object)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT131FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AA10 RID: 43536 RVA: 0x0024C0F8 File Offset: 0x0024A2F8
[Token(Token = "0x600AA10")]
[Address(RVA = "0x7F4500", Offset = "0x7F3500", VA = "0x1807F4500", Slot = "25")]
public override bool Equals(ECFieldElement other)
{
/*
An exception occurred when decompiling this method (0600AA10)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT131FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AA11 RID: 43537 RVA: 0x0024C114 File Offset: 0x0024A314
[Token(Token = "0x600AA11")]
[Address(RVA = "0x7F4620", Offset = "0x7F3620", VA = "0x1807F4620", Slot = "34")]
public virtual bool Equals(SecT131FieldElement other)
{
if (this != other)
{
if (other != 0)
{
ulong[] array = other.x;
return Nat192.Eq64(this.x, array);
}
}
return true;
}
// Token: 0x0600AA12 RID: 43538 RVA: 0x0024C140 File Offset: 0x0024A340
[Token(Token = "0x600AA12")]
[Address(RVA = "0x7F4640", Offset = "0x7F3640", VA = "0x1807F4640", Slot = "2")]
public override int GetHashCode()
{
ulong[] array = this.x;
int num = 0;
return Arrays.GetHashCode(array, num, 3);
}
// Token: 0x04006DA8 RID: 28072
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006DA8")]
protected internal readonly ulong[] x;
}
}
@@ -0,0 +1,390 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B57 RID: 6999
[Token(Token = "0x2001B57")]
internal class SecT131R1Curve : AbstractF2mCurve
{
// Token: 0x0600AA13 RID: 43539 RVA: 0x0024C160 File Offset: 0x0024A360
[Token(Token = "0x600AA13")]
[Address(RVA = "0x7F7160", Offset = "0x7F6160", VA = "0x1807F7160")]
public SecT131R1Curve()
{
int num = 0;
ulong num2;
base..ctor(131, 2, 3, (int)num2);
int num3;
int num4;
SecT131R1Point secT131R1Point = new SecT131R1Point(this, num3, num4, num != 0);
num4 = 0;
num3 = 0;
this.m_infinity = secT131R1Point;
byte[] array = Hex.Decode("07A11B09A76B562144418FF3FF8C2570B8");
BigInteger bigInteger = new BigInteger(1, array);
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
byte[] array2 = Hex.Decode("0217C05610884B63B9C6C7291678F9D341");
BigInteger bigInteger2 = new BigInteger(1, array2);
int fieldSize2 = this.FieldSize;
this.m_b = fieldSize2;
byte[] array3 = Hex.Decode("0400000000000000023123953A9464B54D");
BigInteger bigInteger3 = new BigInteger(1, array3);
this.m_order = bigInteger3;
BigInteger two = BigInteger.Two;
this.m_cofactor = two;
this.m_coord = (int)((ulong)6L);
}
// Token: 0x0600AA14 RID: 43540 RVA: 0x0024C218 File Offset: 0x0024A418
[Token(Token = "0x600AA14")]
[Address(RVA = "0x7F6B80", Offset = "0x7F5B80", VA = "0x1807F6B80", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600AA14)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131R1Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_1_01, ldc.i4:int32(0))
stloc:SecT131R1Point(var_3_0D, newobj:SecT131R1Point(SecT131R1Point::.ctor, ldloc:SecT131R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
stloc:int32(var_4, ldc.i4:int32(0))
stloc:int32(var_5, ldc.i4:int32(0))
stfld:SecT131R1Point(SecT131R1Curve::m_infinity, ldloc:SecT131R1Curve(var_0), ldloc:SecT131R1Point(var_3_0D))
stloc:uint8[](var_6_25, call:uint8[](Hex::Decode, ldstr:string("07A11B09A76B562144418FF3FF8C2570B8")))
stloc:BigInteger(var_7_2F, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_6_25)))
stloc:int32(var_8_37, callvirtgetter:int32(SecT131R1Curve::get_FieldSize, ldloc:SecT131R1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT131R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_8_37))
stloc:uint8[](var_9_4B, call:uint8[](Hex::Decode, ldstr:string("0217C05610884B63B9C6C7291678F9D341")))
stloc:BigInteger(var_10_55, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_9_4B)))
stloc:int32(var_11_5D, callvirtgetter:int32(SecT131R1Curve::get_FieldSize, ldloc:SecT131R1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT131R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_11_5D))
stloc:uint8[](var_12_71, call:uint8[](Hex::Decode, ldstr:string("0400000000000000023123953A9464B54D")))
stloc:BigInteger(var_13_7B, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_12_71)))
stfld:BigInteger(ECCurve::m_order, ldloc:SecT131R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_13_7B))
stloc:BigInteger(var_14_8A, ldsfld:BigInteger(BigInteger::Two))
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT131R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_14_8A))
stfld:int32(ECCurve::m_coord, ldloc:SecT131R1Curve[exp:ECCurve](var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](6)))
}
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: 0x0600AA15 RID: 43541 RVA: 0x0024C2C4 File Offset: 0x0024A4C4
[Token(Token = "0x600AA15")]
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 6;
}
// Token: 0x17001AAA RID: 6826
// (get) Token: 0x0600AA16 RID: 43542 RVA: 0x0024C2D8 File Offset: 0x0024A4D8
[Token(Token = "0x17001AAA")]
public override ECPoint Infinity
{
[Token(Token = "0x600AA16")]
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600AA16)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131R1Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT131R1Point(var_0_06, ldfld:SecT131R1Point(SecT131R1Curve::m_infinity, ldloc:SecT131R1Curve(this)))
}
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: 0x17001AAB RID: 6827
// (get) Token: 0x0600AA17 RID: 43543 RVA: 0x0024C2EC File Offset: 0x0024A4EC
[Token(Token = "0x17001AAB")]
public override int FieldSize
{
[Token(Token = "0x600AA17")]
[Address(RVA = "0x7F51F0", Offset = "0x7F41F0", VA = "0x1807F51F0", Slot = "4")]
get
{
return 131;
}
}
// Token: 0x0600AA18 RID: 43544 RVA: 0x0024C300 File Offset: 0x0024A500
[Token(Token = "0x600AA18")]
[Address(RVA = "0x7F7100", Offset = "0x7F6100", VA = "0x1807F7100", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600AA18)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131R1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT131FieldElement(var_0_06, newobj:SecT131FieldElement(SecT131FieldElement::.ctor, ldloc:BigInteger(x)))
}
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: 0x0600AA19 RID: 43545 RVA: 0x0024C314 File Offset: 0x0024A514
[Token(Token = "0x600AA19")]
[Address(RVA = "0x7F6FD0", Offset = "0x7F5FD0", VA = "0x1807F6FD0", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600AA19)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131R1Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT131R1Point(var_0_09, newobj:SecT131R1Point(SecT131R1Point::.ctor, ldloc:SecT131R1Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600AA1A RID: 43546 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600AA1A")]
[Address(RVA = "0x7F7060", Offset = "0x7F6060", VA = "0x1807F7060", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x17001AAC RID: 6828
// (get) Token: 0x0600AA1B RID: 43547 RVA: 0x0024C32C File Offset: 0x0024A52C
[Token(Token = "0x17001AAC")]
public override bool IsKoblitz
{
[Token(Token = "0x600AA1B")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "39")]
get
{
}
}
// Token: 0x17001AAD RID: 6829
// (get) Token: 0x0600AA1C RID: 43548 RVA: 0x0024C33C File Offset: 0x0024A53C
[Token(Token = "0x17001AAD")]
public virtual int M
{
[Token(Token = "0x600AA1C")]
[Address(RVA = "0x7F51F0", Offset = "0x7F41F0", VA = "0x1807F51F0", Slot = "40")]
get
{
return 131;
}
}
// Token: 0x17001AAE RID: 6830
// (get) Token: 0x0600AA1D RID: 43549 RVA: 0x0024C350 File Offset: 0x0024A550
[Token(Token = "0x17001AAE")]
public virtual bool IsTrinomial
{
[Token(Token = "0x600AA1D")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "41")]
get
{
}
}
// Token: 0x17001AAF RID: 6831
// (get) Token: 0x0600AA1E RID: 43550 RVA: 0x0024C360 File Offset: 0x0024A560
[Token(Token = "0x17001AAF")]
public virtual int K1
{
[Token(Token = "0x600AA1E")]
[Address(RVA = "0x4E86A0", Offset = "0x4E76A0", VA = "0x1804E86A0", Slot = "42")]
get
{
return 2;
}
}
// Token: 0x17001AB0 RID: 6832
// (get) Token: 0x0600AA1F RID: 43551 RVA: 0x0024C370 File Offset: 0x0024A570
[Token(Token = "0x17001AB0")]
public virtual int K2
{
[Token(Token = "0x600AA1F")]
[Address(RVA = "0x4DB5B0", Offset = "0x4DA5B0", VA = "0x1804DB5B0", Slot = "43")]
get
{
return 3;
}
}
// Token: 0x17001AB1 RID: 6833
// (get) Token: 0x0600AA20 RID: 43552 RVA: 0x0024C380 File Offset: 0x0024A580
[Token(Token = "0x17001AB1")]
public virtual int K3
{
[Token(Token = "0x600AA20")]
[Address(RVA = "0x681E00", Offset = "0x680E00", VA = "0x180681E00", Slot = "44")]
get
{
return 8;
}
}
// Token: 0x0600AA21 RID: 43553 RVA: 0x0024C390 File Offset: 0x0024A590
[Token(Token = "0x600AA21")]
[Address(RVA = "0x7F6D70", Offset = "0x7F5D70", VA = "0x1807F6D70", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
ulong[] array;
int num;
for (;;)
{
array = new ulong[points];
num = 0;
if (len <= 0)
{
goto IL_49;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
if (y != 0 && y != 0)
{
break;
}
}
}
num += 6;
IL_49:
SecT131R1Curve.SecT131R1LookupTable secT131R1LookupTable;
secT131R1LookupTable.m_outer = 0;
secT131R1LookupTable.m_table = array;
secT131R1LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x04006DA9 RID: 28073
[Token(Token = "0x4006DA9")]
private const int SECT131R1_DEFAULT_COORDS = 6;
// Token: 0x04006DAA RID: 28074
[Token(Token = "0x4006DAA")]
private const int SECT131R1_FE_LONGS = 3;
// Token: 0x04006DAB RID: 28075
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4006DAB")]
protected readonly SecT131R1Point m_infinity;
// Token: 0x02001B58 RID: 7000
[Token(Token = "0x2001B58")]
private class SecT131R1LookupTable : ECLookupTable
{
// Token: 0x0600AA22 RID: 43554 RVA: 0x0024C404 File Offset: 0x0024A604
[Token(Token = "0x600AA22")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecT131R1LookupTable(SecT131R1Curve outer, ulong[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001AB2 RID: 6834
// (get) Token: 0x0600AA23 RID: 43555 RVA: 0x0024C42C File Offset: 0x0024A62C
[Token(Token = "0x17001AB2")]
public virtual int Size
{
[Token(Token = "0x600AA23")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600AA24 RID: 43556 RVA: 0x0024C440 File Offset: 0x0024A640
[Token(Token = "0x600AA24")]
[Address(RVA = "0x7F7320", Offset = "0x7F6320", VA = "0x1807F7320", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
ulong[] array = Nat192.Create64();
ulong[] array2 = Nat192.Create64();
int num = 0;
int num2 = 0;
if (this.m_size > num)
{
int num3 = 0;
ulong[] table = this.m_table;
ulong[] table2 = this.m_table;
num3++;
num += 6;
num2++;
}
SecT131R1Curve outer = this.m_outer;
new SecT131FieldElement().x = array;
new SecT131FieldElement().x = array2;
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006DAC RID: 28076
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006DAC")]
private readonly SecT131R1Curve m_outer;
// Token: 0x04006DAD RID: 28077
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006DAD")]
private readonly ulong[] m_table;
// Token: 0x04006DAE RID: 28078
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006DAE")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,256 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B59 RID: 7001
[Token(Token = "0x2001B59")]
internal class SecT131R1Point : AbstractF2mPoint
{
// Token: 0x0600AA25 RID: 43557 RVA: 0x0024C4C0 File Offset: 0x0024A6C0
[Token(Token = "0x600AA25")]
[Address(RVA = "0x7F8A30", Offset = "0x7F7A30", VA = "0x1807F8A30")]
public SecT131R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600AA26 RID: 43558 RVA: 0x0024C4D0 File Offset: 0x0024A6D0
[Token(Token = "0x600AA26")]
[Address(RVA = "0x7F8A50", Offset = "0x7F7A50", VA = "0x1807F8A50")]
public SecT131R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600AA26)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600AA27 RID: 43559 RVA: 0x0024C4F8 File Offset: 0x0024A6F8
[Token(Token = "0x600AA27")]
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
internal SecT131R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600AA28 RID: 43560 RVA: 0x0024C508 File Offset: 0x0024A708
[Token(Token = "0x600AA28")]
[Address(RVA = "0x7F7D30", Offset = "0x7F6D30", VA = "0x1807F7D30", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600AA28)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131R1Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT131R1Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT131R1Point[exp:ECPoint](this)))
}
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: 0x17001AB3 RID: 6835
// (get) Token: 0x0600AA29 RID: 43561 RVA: 0x0024C524 File Offset: 0x0024A724
[Token(Token = "0x17001AB3")]
public override ECFieldElement YCoord
{
[Token(Token = "0x600AA29")]
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
get
{
ECFieldElement x = this.m_x;
ECFieldElement y = this.m_y;
if (!base.IsInfinity && !x.IsOne)
{
int fieldSize = y.FieldSize;
if (this.m_zs[0].BitLength == 0)
{
}
}
return y;
}
}
// Token: 0x17001AB4 RID: 6836
// (get) Token: 0x0600AA2A RID: 43562 RVA: 0x0024C574 File Offset: 0x0024A774
[Token(Token = "0x17001AB4")]
protected internal override bool CompressionYTilde
{
[Token(Token = "0x600AA2A")]
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
get
{
if (!this.m_x.IsOne)
{
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement;
ECFieldElement ecfieldElement2;
return ecfieldElement != ecfieldElement2;
}
throw new NullReferenceException();
}
}
// Token: 0x0600AA2B RID: 43563 RVA: 0x0024C5A8 File Offset: 0x0024A7A8
[Token(Token = "0x600AA2B")]
[Address(RVA = "0x7F74F0", Offset = "0x7F64F0", VA = "0x1807F74F0", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
while (!base.IsInfinity && !b.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
ECFieldElement x2 = b.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
ECFieldElement[] zs2 = b.m_zs;
ECFieldElement y2 = b.m_y;
ECFieldElement ecfieldElement2 = zs2[0];
if (ecfieldElement.BitLength == 0)
{
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
}
if (ecfieldElement2.BitLength != 0)
{
continue;
}
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
int fieldSize2 = ecfieldElement5.FieldSize;
if (fieldSize2 == 0)
{
if (!x2.IsOne)
{
sbyte b3;
sbyte b2 = b3;
TypeCode typeCode = b2.GetTypeCode();
int fieldSize3 = y.FieldSize;
bool withCompression = this.m_withCompression;
}
short num;
TypeCode typeCode2 = num.GetTypeCode();
BigInteger one = BigInteger.One;
ECFieldElement[] array = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
ECPoint ecpoint;
if (ecpoint == 0)
{
break;
}
}
if (!x2.IsOne)
{
bool compressionYTilde = b.CompressionYTilde;
break;
}
break;
}
return b;
}
// Token: 0x0600AA2C RID: 43564 RVA: 0x0024C6FC File Offset: 0x0024A8FC
[Token(Token = "0x600AA2C")]
[Address(RVA = "0x7F85E0", Offset = "0x7F75E0", VA = "0x1807F85E0", Slot = "30")]
public override ECPoint Twice()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
int bitLength = ecfieldElement.BitLength;
if (bitLength != 0)
{
}
ECFieldElement ecfieldElement2 = y.Subtract(ecfieldElement);
ECFieldElement ecfieldElement3 = ecfieldElement.Negate();
if (bitLength == 0)
{
}
if (y.Negate().FieldSize.GetTypeCode() == TypeCode.Empty)
{
if (bitLength != 0)
{
}
ECFieldElement ecfieldElement4 = x.Subtract(ecfieldElement);
ECFieldElement ecfieldElement5;
TypeCode typeCode = ecfieldElement5.FieldSize.GetTypeCode();
sbyte b;
(new ECFieldElement[1])[0] = b;
bool withCompression = this.m_withCompression;
}
SecT131R1Point secT131R1Point;
ECFieldElement[] zcoords = secT131R1Point.GetZCoords();
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600AA2D RID: 43565 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600AA2D")]
[Address(RVA = "0x7F7F80", Offset = "0x7F6F80", VA = "0x1807F7F80", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600AA2E RID: 43566 RVA: 0x0024C7C4 File Offset: 0x0024A9C4
[Token(Token = "0x600AA2E")]
[Address(RVA = "0x7F7DD0", Offset = "0x7F6DD0", VA = "0x1807F7DD0", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity && !this.m_x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
bool flag = this.SatisfiesOrder();
int fieldSize = y.FieldSize;
ECFieldElement[] array = new ECFieldElement[1];
if (ecfieldElement != 0)
{
}
array[0] = ecfieldElement;
bool withCompression = this.m_withCompression;
}
throw new IndexOutOfRangeException();
}
}
}
@@ -0,0 +1,390 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B5A RID: 7002
[Token(Token = "0x2001B5A")]
internal class SecT131R2Curve : AbstractF2mCurve
{
// Token: 0x0600AA2F RID: 43567 RVA: 0x0024C830 File Offset: 0x0024AA30
[Token(Token = "0x600AA2F")]
[Address(RVA = "0x7F90F0", Offset = "0x7F80F0", VA = "0x1807F90F0")]
public SecT131R2Curve()
{
int num = 0;
ulong num2;
base..ctor(131, 2, 3, (int)num2);
int num3;
int num4;
SecT131R2Point secT131R2Point = new SecT131R2Point(this, num3, num4, num != 0);
num4 = 0;
num3 = 0;
this.m_infinity = secT131R2Point;
byte[] array = Hex.Decode("03E5A88919D7CAFCBF415F07C2176573B2");
BigInteger bigInteger = new BigInteger(1, array);
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
byte[] array2 = Hex.Decode("04B8266A46C55657AC734CE38F018F2192");
BigInteger bigInteger2 = new BigInteger(1, array2);
int fieldSize2 = this.FieldSize;
this.m_b = fieldSize2;
byte[] array3 = Hex.Decode("0400000000000000016954A233049BA98F");
BigInteger bigInteger3 = new BigInteger(1, array3);
this.m_order = bigInteger3;
BigInteger two = BigInteger.Two;
this.m_cofactor = two;
this.m_coord = (int)((ulong)6L);
}
// Token: 0x0600AA30 RID: 43568 RVA: 0x0024C8E8 File Offset: 0x0024AAE8
[Token(Token = "0x600AA30")]
[Address(RVA = "0x7F8B10", Offset = "0x7F7B10", VA = "0x1807F8B10", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600AA30)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131R2Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_1_01, ldc.i4:int32(0))
stloc:SecT131R2Point(var_3_0D, newobj:SecT131R2Point(SecT131R2Point::.ctor, ldloc:SecT131R2Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
stloc:int32(var_4, ldc.i4:int32(0))
stloc:int32(var_5, ldc.i4:int32(0))
stfld:SecT131R2Point(SecT131R2Curve::m_infinity, ldloc:SecT131R2Curve(var_0), ldloc:SecT131R2Point(var_3_0D))
stloc:uint8[](var_6_25, call:uint8[](Hex::Decode, ldstr:string("03E5A88919D7CAFCBF415F07C2176573B2")))
stloc:BigInteger(var_7_2F, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_6_25)))
stloc:int32(var_8_37, callvirtgetter:int32(SecT131R2Curve::get_FieldSize, ldloc:SecT131R2Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT131R2Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_8_37))
stloc:uint8[](var_9_4B, call:uint8[](Hex::Decode, ldstr:string("04B8266A46C55657AC734CE38F018F2192")))
stloc:BigInteger(var_10_55, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_9_4B)))
stloc:int32(var_11_5D, callvirtgetter:int32(SecT131R2Curve::get_FieldSize, ldloc:SecT131R2Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT131R2Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_11_5D))
stloc:uint8[](var_12_71, call:uint8[](Hex::Decode, ldstr:string("0400000000000000016954A233049BA98F")))
stloc:BigInteger(var_13_7B, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_12_71)))
stfld:BigInteger(ECCurve::m_order, ldloc:SecT131R2Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_13_7B))
stloc:BigInteger(var_14_8A, ldsfld:BigInteger(BigInteger::Two))
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT131R2Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_14_8A))
stfld:int32(ECCurve::m_coord, ldloc:SecT131R2Curve[exp:ECCurve](var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](6)))
}
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: 0x0600AA31 RID: 43569 RVA: 0x0024C994 File Offset: 0x0024AB94
[Token(Token = "0x600AA31")]
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 6;
}
// Token: 0x17001AB5 RID: 6837
// (get) Token: 0x0600AA32 RID: 43570 RVA: 0x0024C9A8 File Offset: 0x0024ABA8
[Token(Token = "0x17001AB5")]
public override int FieldSize
{
[Token(Token = "0x600AA32")]
[Address(RVA = "0x7F51F0", Offset = "0x7F41F0", VA = "0x1807F51F0", Slot = "4")]
get
{
return 131;
}
}
// Token: 0x0600AA33 RID: 43571 RVA: 0x0024C9BC File Offset: 0x0024ABBC
[Token(Token = "0x600AA33")]
[Address(RVA = "0x7F9090", Offset = "0x7F8090", VA = "0x1807F9090", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600AA33)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131R2Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT131FieldElement(var_0_06, newobj:SecT131FieldElement(SecT131FieldElement::.ctor, ldloc:BigInteger(x)))
}
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: 0x0600AA34 RID: 43572 RVA: 0x0024C9D0 File Offset: 0x0024ABD0
[Token(Token = "0x600AA34")]
[Address(RVA = "0x7F9000", Offset = "0x7F8000", VA = "0x1807F9000", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600AA34)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131R2Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT131R2Point(var_0_09, newobj:SecT131R2Point(SecT131R2Point::.ctor, ldloc:SecT131R2Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600AA35 RID: 43573 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600AA35")]
[Address(RVA = "0x7F8F60", Offset = "0x7F7F60", VA = "0x1807F8F60", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x17001AB6 RID: 6838
// (get) Token: 0x0600AA36 RID: 43574 RVA: 0x0024C9E8 File Offset: 0x0024ABE8
[Token(Token = "0x17001AB6")]
public override ECPoint Infinity
{
[Token(Token = "0x600AA36")]
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600AA36)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131R2Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT131R2Point(var_0_06, ldfld:SecT131R2Point(SecT131R2Curve::m_infinity, ldloc:SecT131R2Curve(this)))
}
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: 0x17001AB7 RID: 6839
// (get) Token: 0x0600AA37 RID: 43575 RVA: 0x0024C9FC File Offset: 0x0024ABFC
[Token(Token = "0x17001AB7")]
public override bool IsKoblitz
{
[Token(Token = "0x600AA37")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "39")]
get
{
}
}
// Token: 0x17001AB8 RID: 6840
// (get) Token: 0x0600AA38 RID: 43576 RVA: 0x0024CA0C File Offset: 0x0024AC0C
[Token(Token = "0x17001AB8")]
public virtual int M
{
[Token(Token = "0x600AA38")]
[Address(RVA = "0x7F51F0", Offset = "0x7F41F0", VA = "0x1807F51F0", Slot = "40")]
get
{
return 131;
}
}
// Token: 0x17001AB9 RID: 6841
// (get) Token: 0x0600AA39 RID: 43577 RVA: 0x0024CA20 File Offset: 0x0024AC20
[Token(Token = "0x17001AB9")]
public virtual bool IsTrinomial
{
[Token(Token = "0x600AA39")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "41")]
get
{
}
}
// Token: 0x17001ABA RID: 6842
// (get) Token: 0x0600AA3A RID: 43578 RVA: 0x0024CA30 File Offset: 0x0024AC30
[Token(Token = "0x17001ABA")]
public virtual int K1
{
[Token(Token = "0x600AA3A")]
[Address(RVA = "0x4E86A0", Offset = "0x4E76A0", VA = "0x1804E86A0", Slot = "42")]
get
{
return 2;
}
}
// Token: 0x17001ABB RID: 6843
// (get) Token: 0x0600AA3B RID: 43579 RVA: 0x0024CA40 File Offset: 0x0024AC40
[Token(Token = "0x17001ABB")]
public virtual int K2
{
[Token(Token = "0x600AA3B")]
[Address(RVA = "0x4DB5B0", Offset = "0x4DA5B0", VA = "0x1804DB5B0", Slot = "43")]
get
{
return 3;
}
}
// Token: 0x17001ABC RID: 6844
// (get) Token: 0x0600AA3C RID: 43580 RVA: 0x0024CA50 File Offset: 0x0024AC50
[Token(Token = "0x17001ABC")]
public virtual int K3
{
[Token(Token = "0x600AA3C")]
[Address(RVA = "0x681E00", Offset = "0x680E00", VA = "0x180681E00", Slot = "44")]
get
{
return 8;
}
}
// Token: 0x0600AA3D RID: 43581 RVA: 0x0024CA60 File Offset: 0x0024AC60
[Token(Token = "0x600AA3D")]
[Address(RVA = "0x7F8D00", Offset = "0x7F7D00", VA = "0x1807F8D00", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
ulong[] array;
int num;
for (;;)
{
array = new ulong[points];
num = 0;
if (len <= 0)
{
goto IL_49;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
if (y != 0 && y != 0)
{
break;
}
}
}
num += 6;
IL_49:
SecT131R2Curve.SecT131R2LookupTable secT131R2LookupTable;
secT131R2LookupTable.m_outer = 0;
secT131R2LookupTable.m_table = array;
secT131R2LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x04006DAF RID: 28079
[Token(Token = "0x4006DAF")]
private const int SECT131R2_DEFAULT_COORDS = 6;
// Token: 0x04006DB0 RID: 28080
[Token(Token = "0x4006DB0")]
private const int SECT131R2_FE_LONGS = 3;
// Token: 0x04006DB1 RID: 28081
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4006DB1")]
protected readonly SecT131R2Point m_infinity;
// Token: 0x02001B5B RID: 7003
[Token(Token = "0x2001B5B")]
private class SecT131R2LookupTable : ECLookupTable
{
// Token: 0x0600AA3E RID: 43582 RVA: 0x0024CAD4 File Offset: 0x0024ACD4
[Token(Token = "0x600AA3E")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecT131R2LookupTable(SecT131R2Curve outer, ulong[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001ABD RID: 6845
// (get) Token: 0x0600AA3F RID: 43583 RVA: 0x0024CAFC File Offset: 0x0024ACFC
[Token(Token = "0x17001ABD")]
public virtual int Size
{
[Token(Token = "0x600AA3F")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600AA40 RID: 43584 RVA: 0x0024CB10 File Offset: 0x0024AD10
[Token(Token = "0x600AA40")]
[Address(RVA = "0x7F92B0", Offset = "0x7F82B0", VA = "0x1807F92B0", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
ulong[] array = Nat192.Create64();
ulong[] array2 = Nat192.Create64();
int num = 0;
int num2 = 0;
if (this.m_size > num)
{
int num3 = 0;
ulong[] table = this.m_table;
ulong[] table2 = this.m_table;
num3++;
num += 6;
num2++;
}
SecT131R2Curve outer = this.m_outer;
new SecT131FieldElement().x = array;
new SecT131FieldElement().x = array2;
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006DB2 RID: 28082
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006DB2")]
private readonly SecT131R2Curve m_outer;
// Token: 0x04006DB3 RID: 28083
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006DB3")]
private readonly ulong[] m_table;
// Token: 0x04006DB4 RID: 28084
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006DB4")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,256 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B5C RID: 7004
[Token(Token = "0x2001B5C")]
internal class SecT131R2Point : AbstractF2mPoint
{
// Token: 0x0600AA41 RID: 43585 RVA: 0x0024CB90 File Offset: 0x0024AD90
[Token(Token = "0x600AA41")]
[Address(RVA = "0x7FA9C0", Offset = "0x7F99C0", VA = "0x1807FA9C0")]
public SecT131R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600AA42 RID: 43586 RVA: 0x0024CBA0 File Offset: 0x0024ADA0
[Token(Token = "0x600AA42")]
[Address(RVA = "0x7FA9E0", Offset = "0x7F99E0", VA = "0x1807FA9E0")]
public SecT131R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600AA42)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131R2Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600AA43 RID: 43587 RVA: 0x0024CBC8 File Offset: 0x0024ADC8
[Token(Token = "0x600AA43")]
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
internal SecT131R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600AA44 RID: 43588 RVA: 0x0024CBD8 File Offset: 0x0024ADD8
[Token(Token = "0x600AA44")]
[Address(RVA = "0x7F9CC0", Offset = "0x7F8CC0", VA = "0x1807F9CC0", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600AA44)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131R2Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT131R2Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT131R2Point[exp:ECPoint](this)))
}
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: 0x17001ABE RID: 6846
// (get) Token: 0x0600AA45 RID: 43589 RVA: 0x0024CBF4 File Offset: 0x0024ADF4
[Token(Token = "0x17001ABE")]
public override ECFieldElement YCoord
{
[Token(Token = "0x600AA45")]
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
get
{
ECFieldElement x = this.m_x;
ECFieldElement y = this.m_y;
if (!base.IsInfinity && !x.IsOne)
{
int fieldSize = y.FieldSize;
if (this.m_zs[0].BitLength == 0)
{
}
}
return y;
}
}
// Token: 0x17001ABF RID: 6847
// (get) Token: 0x0600AA46 RID: 43590 RVA: 0x0024CC44 File Offset: 0x0024AE44
[Token(Token = "0x17001ABF")]
protected internal override bool CompressionYTilde
{
[Token(Token = "0x600AA46")]
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
get
{
if (!this.m_x.IsOne)
{
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement;
ECFieldElement ecfieldElement2;
return ecfieldElement != ecfieldElement2;
}
throw new NullReferenceException();
}
}
// Token: 0x0600AA47 RID: 43591 RVA: 0x0024CC78 File Offset: 0x0024AE78
[Token(Token = "0x600AA47")]
[Address(RVA = "0x7F9480", Offset = "0x7F8480", VA = "0x1807F9480", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
while (!base.IsInfinity && !b.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
ECFieldElement x2 = b.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
ECFieldElement[] zs2 = b.m_zs;
ECFieldElement y2 = b.m_y;
ECFieldElement ecfieldElement2 = zs2[0];
if (ecfieldElement.BitLength == 0)
{
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
}
if (ecfieldElement2.BitLength != 0)
{
continue;
}
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
int fieldSize2 = ecfieldElement5.FieldSize;
if (fieldSize2 == 0)
{
if (!x2.IsOne)
{
sbyte b3;
sbyte b2 = b3;
TypeCode typeCode = b2.GetTypeCode();
int fieldSize3 = y.FieldSize;
bool withCompression = this.m_withCompression;
}
short num;
TypeCode typeCode2 = num.GetTypeCode();
BigInteger one = BigInteger.One;
ECFieldElement[] array = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
ECPoint ecpoint;
if (ecpoint == 0)
{
break;
}
}
if (!x2.IsOne)
{
bool compressionYTilde = b.CompressionYTilde;
break;
}
break;
}
return b;
}
// Token: 0x0600AA48 RID: 43592 RVA: 0x0024CDCC File Offset: 0x0024AFCC
[Token(Token = "0x600AA48")]
[Address(RVA = "0x7FA570", Offset = "0x7F9570", VA = "0x1807FA570", Slot = "30")]
public override ECPoint Twice()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
int bitLength = ecfieldElement.BitLength;
if (bitLength != 0)
{
}
ECFieldElement ecfieldElement2 = y.Subtract(ecfieldElement);
ECFieldElement ecfieldElement3 = ecfieldElement.Negate();
if (bitLength == 0)
{
}
if (y.Negate().FieldSize.GetTypeCode() == TypeCode.Empty)
{
if (bitLength != 0)
{
}
ECFieldElement ecfieldElement4 = x.Subtract(ecfieldElement);
ECFieldElement ecfieldElement5;
TypeCode typeCode = ecfieldElement5.FieldSize.GetTypeCode();
sbyte b;
(new ECFieldElement[1])[0] = b;
bool withCompression = this.m_withCompression;
}
SecT131R2Point secT131R2Point;
ECFieldElement[] zcoords = secT131R2Point.GetZCoords();
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600AA49 RID: 43593 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600AA49")]
[Address(RVA = "0x7F9F10", Offset = "0x7F8F10", VA = "0x1807F9F10", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600AA4A RID: 43594 RVA: 0x0024CE94 File Offset: 0x0024B094
[Token(Token = "0x600AA4A")]
[Address(RVA = "0x7F9D60", Offset = "0x7F8D60", VA = "0x1807F9D60", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity && !this.m_x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
bool flag = this.SatisfiesOrder();
int fieldSize = y.FieldSize;
ECFieldElement[] array = new ECFieldElement[1];
if (ecfieldElement != 0)
{
}
array[0] = ecfieldElement;
bool withCompression = this.m_withCompression;
}
throw new IndexOutOfRangeException();
}
}
}
@@ -0,0 +1,334 @@
using System;
using System.Runtime.CompilerServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B5D RID: 7005
[Token(Token = "0x2001B5D")]
internal class SecT163Field
{
// Token: 0x0600AA4B RID: 43595 RVA: 0x0024CF00 File Offset: 0x0024B100
[Token(Token = "0x600AA4B")]
[Address(RVA = "0x7F52E0", Offset = "0x7F42E0", VA = "0x1807F52E0")]
public static void Add(ulong[] x, ulong[] y, ulong[] z)
{
ulong num = y[0];
z[0] = num;
ulong num2 = y[1];
z[1] = num2;
ulong num3 = y[2];
z[2] = num3;
}
// Token: 0x0600AA4C RID: 43596 RVA: 0x0024CF44 File Offset: 0x0024B144
[Token(Token = "0x600AA4C")]
[Address(RVA = "0x7FBA80", Offset = "0x7FAA80", VA = "0x1807FBA80")]
public static void AddExt(ulong[] xx, ulong[] yy, ulong[] zz)
{
ulong num = yy[0];
zz[0] = num;
ulong num2 = yy[1];
zz[1] = num2;
ulong num3 = yy[2];
zz[2] = num3;
ulong num4 = yy[3];
zz[3] = num4;
ulong num5 = yy[4];
zz[4] = num5;
ulong num6 = yy[5];
zz[5] = num6;
}
// Token: 0x0600AA4D RID: 43597 RVA: 0x0024CFBC File Offset: 0x0024B1BC
[Token(Token = "0x600AA4D")]
[Address(RVA = "0x7F5220", Offset = "0x7F4220", VA = "0x1807F5220")]
public static void AddOne(ulong[] x, ulong[] z)
{
ulong num = x[0];
z[0] = num;
ulong num2 = x[1];
z[1] = num2;
ulong num3 = x[2];
z[2] = num3;
}
// Token: 0x0600AA4E RID: 43598 RVA: 0x0024D000 File Offset: 0x0024B200
[Token(Token = "0x600AA4E")]
[Address(RVA = "0x7FBCD0", Offset = "0x7FACD0", VA = "0x1807FBCD0")]
public static ulong[] FromBigInteger(BigInteger x)
{
ulong[] array = Nat192.FromBigInteger64(x);
ulong num = array[2];
array[0] = array;
array[2] = num;
return array;
}
// Token: 0x0600AA4F RID: 43599 RVA: 0x0024D034 File Offset: 0x0024B234
[Token(Token = "0x600AA4F")]
[Address(RVA = "0x7FC960", Offset = "0x7FB960", VA = "0x1807FC960")]
public static void Invert(ulong[] x, ulong[] z)
{
/*
An exception occurred when decompiling this method (0600AA4F)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163Field::Invert(System.UInt64[],System.UInt64[])
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_B9:
stloc:InvalidOperationException(var_4_BE, newobj:InvalidOperationException(InvalidOperationException::.ctor))
}
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: 0x0600AA50 RID: 43600 RVA: 0x0024D100 File Offset: 0x0024B300
[Token(Token = "0x600AA50")]
[Address(RVA = "0x7FCC00", Offset = "0x7FBC00", VA = "0x1807FCC00")]
public static void Multiply(ulong[] x, ulong[] y, ulong[] z)
{
ulong[] array = Nat192.CreateExt64();
SecT163Field.ImplMultiply(x, y, array);
SecT163Field.Reduce(array, z);
}
// Token: 0x0600AA51 RID: 43601 RVA: 0x0024D124 File Offset: 0x0024B324
[Token(Token = "0x600AA51")]
[Address(RVA = "0x7FCB60", Offset = "0x7FBB60", VA = "0x1807FCB60")]
public static void MultiplyAddToExt(ulong[] x, ulong[] y, ulong[] zz)
{
ulong[] array = Nat192.CreateExt64();
SecT163Field.ImplMultiply(x, y, array);
SecT163Field.AddExt(zz, array, zz);
}
// Token: 0x0600AA52 RID: 43602 RVA: 0x0024D14C File Offset: 0x0024B34C
[Token(Token = "0x600AA52")]
[Address(RVA = "0x7FCD40", Offset = "0x7FBD40", VA = "0x1807FCD40")]
public static void Reduce(ulong[] xx, ulong[] z)
{
int length = xx.Length;
ulong num = xx[2];
ulong num2 = xx[5];
num2 = num;
num2 += num2;
z[0] = num2;
z[1] = num2;
z[2] = num;
}
// Token: 0x0600AA53 RID: 43603 RVA: 0x0024D194 File Offset: 0x0024B394
[Token(Token = "0x600AA53")]
[Address(RVA = "0x7FCCA0", Offset = "0x7FBCA0", VA = "0x1807FCCA0")]
public static void Reduce29(ulong[] z, int zOff)
{
int length = z.Length;
z[0] = (ulong)zOff;
ulong num;
z[0] = num;
}
// Token: 0x0600AA54 RID: 43604 RVA: 0x0024D1C0 File Offset: 0x0024B3C0
[Token(Token = "0x600AA54")]
[Address(RVA = "0x7FCF60", Offset = "0x7FBF60", VA = "0x1807FCF60")]
public static void Sqrt(ulong[] x, ulong[] z)
{
ulong[] array = Nat192.Create64();
ulong num = Interleave.Unshuffle(x[0]);
ulong num2 = x[1];
ulong num3 = Interleave.Unshuffle(num2);
array[0] = num;
ulong num4 = Interleave.Unshuffle(x[2]);
array[1] = num4;
}
// Token: 0x0600AA55 RID: 43605 RVA: 0x0024D21C File Offset: 0x0024B41C
[Token(Token = "0x600AA55")]
[Address(RVA = "0x7FD2B0", Offset = "0x7FC2B0", VA = "0x1807FD2B0")]
public static void Square(ulong[] x, ulong[] z)
{
ulong[] array = Nat192.CreateExt64();
SecT163Field.ImplSquare(x, array);
SecT163Field.Reduce(array, z);
}
// Token: 0x0600AA56 RID: 43606 RVA: 0x0024D240 File Offset: 0x0024B440
[Token(Token = "0x600AA56")]
[Address(RVA = "0x7FD130", Offset = "0x7FC130", VA = "0x1807FD130")]
public static void SquareAddToExt(ulong[] x, ulong[] zz)
{
ulong[] array = Nat192.CreateExt64();
SecT163Field.ImplSquare(x, array);
SecT163Field.AddExt(zz, array, zz);
}
// Token: 0x0600AA57 RID: 43607 RVA: 0x0024D264 File Offset: 0x0024B464
[Token(Token = "0x600AA57")]
[Address(RVA = "0x7FD1C0", Offset = "0x7FC1C0", VA = "0x1807FD1C0")]
public static void SquareN(ulong[] x, int n, ulong[] z)
{
ulong[] array = Nat192.CreateExt64();
SecT163Field.ImplSquare(x, array);
SecT163Field.Reduce(array, z);
if (n > 0)
{
SecT163Field.ImplSquare(z, array);
SecT163Field.Reduce(array, z);
}
}
// Token: 0x0600AA58 RID: 43608 RVA: 0x0024D29C File Offset: 0x0024B49C
[Token(Token = "0x600AA58")]
[Address(RVA = "0x7FD340", Offset = "0x7FC340", VA = "0x1807FD340")]
public static uint Trace(ulong[] x)
{
int length = x.Length;
ulong num = x[2];
throw new NullReferenceException();
}
// Token: 0x0600AA59 RID: 43609 RVA: 0x0024D2C0 File Offset: 0x0024B4C0
[Token(Token = "0x600AA59")]
[Address(RVA = "0x7FBDA0", Offset = "0x7FADA0", VA = "0x1807FBDA0")]
protected static void ImplCompactExt(ulong[] zz)
{
int length = zz.Length;
ulong num = zz[1];
ulong num2 = zz[2];
ulong num3 = zz[3];
ulong num4 = zz[4];
ulong num5 = zz[5];
num = num2;
zz[1] = num;
zz[2] = num2;
zz[3] = num3;
zz[4] = num4;
zz[5] = num5;
}
// Token: 0x0600AA5A RID: 43610 RVA: 0x0024D338 File Offset: 0x0024B538
[Token(Token = "0x600AA5A")]
[Address(RVA = "0x7FBF50", Offset = "0x7FAF50", VA = "0x1807FBF50")]
protected static void ImplMultiply(ulong[] x, ulong[] y, ulong[] zz)
{
int length = x.Length;
ulong num = x[0];
ulong num2 = x[1];
int length2 = y.Length;
ulong num3 = y[0];
ulong[] array = new ulong[10];
int num4 = 0;
SecT163Field.ImplMulw(num, num3, array, num4);
num = num2;
SecT163Field.ImplMulw(num, num3, array, 2);
num = num2;
uint num5;
SecT163Field.ImplMulw(num, num3, array, (int)num5);
num2 += num2;
num2 += num2;
num += num;
num3 = num;
num = num2;
SecT163Field.ImplMulw(num, num3, array, 6);
num3 = num;
SecT163Field.ImplMulw(num, num3, array, 8);
int length3 = array.Length;
ulong num6 = array[6];
ulong num7 = array[0];
array += array;
num6 += num6;
zz[0] = num7;
ulong num8 = array[2];
zz[1] = num8;
ulong num9 = array[3];
zz[2] = num9;
zz[3] = num9;
ulong num10 = array[2];
zz[4] = num10;
ulong num11 = array[3];
zz[5] = num11;
SecT163Field.ImplCompactExt(zz);
}
// Token: 0x0600AA5B RID: 43611 RVA: 0x0024D464 File Offset: 0x0024B664
[Token(Token = "0x600AA5B")]
[Address(RVA = "0x7FC530", Offset = "0x7FB530", VA = "0x1807FC530")]
protected static void ImplMulw(ulong x, ulong y, ulong[] z, int zOff)
{
ulong[] array = new ulong[8];
array[1] = y;
int length = array.Length;
array[2] = typeof(ulong[]).TypeHandle;
array[3] = y;
int num = array.Length;
array[4] = (ulong)num;
int length2 = array.Length;
array[5] = (ulong)num;
num = length2;
array[6] = (ulong)num;
int length3 = array.Length;
array[7] = (ulong)num;
ulong num2 = array[(int)x];
int num3 = zOff + 1;
z[0] = x;
z[0] = num2;
}
// Token: 0x0600AA5C RID: 43612 RVA: 0x0024D4F8 File Offset: 0x0024B6F8
[Token(Token = "0x600AA5C")]
[Address(RVA = "0x7FC880", Offset = "0x7FB880", VA = "0x1807FC880")]
protected static void ImplSquare(ulong[] x, ulong[] zz)
{
ulong num = x[0];
int num2 = 0;
Interleave.Expand64To128(num, zz, num2);
ulong num3 = x[1];
Interleave.Expand64To128(num3, zz, 2);
ulong num4 = Interleave.Expand32to64((uint)num3);
zz[4] = num4;
uint num5 = Interleave.Expand8to16((uint)num3);
zz[5] = (ulong)num5;
}
// Token: 0x0600AA5D RID: 43613 RVA: 0x0024D550 File Offset: 0x0024B750
[Token(Token = "0x600AA5D")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public SecT163Field()
{
}
// Token: 0x0600AA5E RID: 43614 RVA: 0x0024D564 File Offset: 0x0024B764
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600AA5E")]
[Address(RVA = "0x7FD390", Offset = "0x7FC390", VA = "0x1807FD390")]
static SecT163Field()
{
RuntimeHelpers.InitializeArray(new ulong[3], fieldof(<PrivateImplementationDetails>.BCE617693C33CE2C76FE00F449CA910E4C6E117E).FieldHandle);
}
// Token: 0x04006DB5 RID: 28085
[Token(Token = "0x4006DB5")]
private const ulong M35 = 34359738367UL;
// Token: 0x04006DB6 RID: 28086
[Token(Token = "0x4006DB6")]
private const ulong M55 = 36028797018963967UL;
// Token: 0x04006DB7 RID: 28087
[Token(Token = "0x4006DB7")]
private static readonly ulong[] ROOT_Z;
}
}
@@ -0,0 +1,598 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B5E RID: 7006
[Token(Token = "0x2001B5E")]
internal class SecT163FieldElement : AbstractF2mFieldElement
{
// Token: 0x0600AA5F RID: 43615 RVA: 0x0024D584 File Offset: 0x0024B784
[Token(Token = "0x600AA5F")]
[Address(RVA = "0x7FB8C0", Offset = "0x7FA8C0", VA = "0x1807FB8C0")]
public SecT163FieldElement(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600AA5F)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_38:
stloc:ArgumentException(var_3_47, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecT163FieldElement"), ldstr:string("x")))
}
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: 0x0600AA60 RID: 43616 RVA: 0x0024D5D8 File Offset: 0x0024B7D8
[Token(Token = "0x600AA60")]
[Address(RVA = "0x7F4FF0", Offset = "0x7F3FF0", VA = "0x1807F4FF0")]
public SecT163FieldElement()
{
ulong[] array = Nat192.Create64();
this.x = array;
}
// Token: 0x0600AA61 RID: 43617 RVA: 0x0024D5FC File Offset: 0x0024B7FC
[Token(Token = "0x600AA61")]
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
protected internal SecT163FieldElement(ulong[] x)
{
this.x = x;
}
// Token: 0x17001AC0 RID: 6848
// (get) Token: 0x0600AA62 RID: 43618 RVA: 0x0024D618 File Offset: 0x0024B818
[Token(Token = "0x17001AC0")]
public override bool IsOne
{
[Token(Token = "0x600AA62")]
[Address(RVA = "0x7F5200", Offset = "0x7F4200", VA = "0x1807F5200", Slot = "17")]
get
{
return Nat192.IsOne64(this.x);
}
}
// Token: 0x17001AC1 RID: 6849
// (get) Token: 0x0600AA63 RID: 43619 RVA: 0x0024D630 File Offset: 0x0024B830
[Token(Token = "0x17001AC1")]
public override bool IsZero
{
[Token(Token = "0x600AA63")]
[Address(RVA = "0x7F5210", Offset = "0x7F4210", VA = "0x1807F5210", Slot = "18")]
get
{
return Nat192.IsZero64(this.x);
}
}
// Token: 0x0600AA64 RID: 43620 RVA: 0x0024D648 File Offset: 0x0024B848
[Token(Token = "0x600AA64")]
[Address(RVA = "0x7B9C40", Offset = "0x7B8C40", VA = "0x1807B9C40", Slot = "24")]
public override bool TestBitZero()
{
ulong[] array = this.x;
throw new NullReferenceException();
}
// Token: 0x0600AA65 RID: 43621 RVA: 0x0024D664 File Offset: 0x0024B864
[Token(Token = "0x600AA65")]
[Address(RVA = "0x7F4F30", Offset = "0x7F3F30", VA = "0x1807F4F30", Slot = "4")]
public override BigInteger ToBigInteger()
{
return Nat192.ToBigInteger64(this.x);
}
// Token: 0x17001AC2 RID: 6850
// (get) Token: 0x0600AA66 RID: 43622 RVA: 0x0024D67C File Offset: 0x0024B87C
[Token(Token = "0x17001AC2")]
public override string FieldName
{
[Token(Token = "0x600AA66")]
[Address(RVA = "0x7FBA40", Offset = "0x7FAA40", VA = "0x1807FBA40", Slot = "5")]
get
{
return "SecT163Field";
}
}
// Token: 0x17001AC3 RID: 6851
// (get) Token: 0x0600AA67 RID: 43623 RVA: 0x0024D690 File Offset: 0x0024B890
[Token(Token = "0x17001AC3")]
public override int FieldSize
{
[Token(Token = "0x600AA67")]
[Address(RVA = "0x7FBA70", Offset = "0x7FAA70", VA = "0x1807FBA70", Slot = "6")]
get
{
return 163;
}
}
// Token: 0x0600AA68 RID: 43624 RVA: 0x0024D6A4 File Offset: 0x0024B8A4
[Token(Token = "0x600AA68")]
[Address(RVA = "0x7FABE0", Offset = "0x7F9BE0", VA = "0x1807FABE0", Slot = "7")]
public override ECFieldElement Add(ECFieldElement b)
{
ulong[] array;
int num;
for (;;)
{
array = Nat192.Create64();
ulong[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecT163FieldElement).TypeHandle)
{
}
if (b != 0)
{
num = 0;
if (b != 0)
{
break;
}
}
}
array[0] = (ulong)num;
array[1] = (ulong)num;
array[2] = (ulong)num;
new SecT163FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600AA69 RID: 43625 RVA: 0x0024D704 File Offset: 0x0024B904
[Token(Token = "0x600AA69")]
[Address(RVA = "0x7FAAA0", Offset = "0x7F9AA0", VA = "0x1807FAAA0", Slot = "8")]
public override ECFieldElement AddOne()
{
ulong[] array = Nat192.Create64();
ulong[] array2 = this.x;
ulong num = array2[0];
array[0] = num;
ulong num2 = array2[1];
array[1] = num2;
ulong num3 = array2[2];
array[2] = num3;
new SecT163FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600AA6A RID: 43626 RVA: 0x0024D764 File Offset: 0x0024B964
[Token(Token = "0x600AA6A")]
[Address(RVA = "0x7B9C20", Offset = "0x7B8C20", VA = "0x1807B9C20", Slot = "9")]
public override ECFieldElement Subtract(ECFieldElement b)
{
/*
An exception occurred when decompiling this method (0600AA6A)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163FieldElement::Subtract(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT163FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AA6B RID: 43627 RVA: 0x0024D778 File Offset: 0x0024B978
[Token(Token = "0x600AA6B")]
[Address(RVA = "0x7FB2E0", Offset = "0x7FA2E0", VA = "0x1807FB2E0", Slot = "10")]
public override ECFieldElement Multiply(ECFieldElement b)
{
ulong[] array;
do
{
array = Nat192.Create64();
ulong[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecT163FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecT163FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600AA6C RID: 43628 RVA: 0x0024D7C0 File Offset: 0x0024B9C0
[Token(Token = "0x600AA6C")]
[Address(RVA = "0x7B9440", Offset = "0x7B8440", VA = "0x1807B9440", Slot = "19")]
public override ECFieldElement MultiplyMinusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
{
/*
An exception occurred when decompiling this method (0600AA6C)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163FieldElement::MultiplyMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT163FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AA6D RID: 43629 RVA: 0x0024D7D4 File Offset: 0x0024B9D4
[Token(Token = "0x600AA6D")]
[Address(RVA = "0x7FB050", Offset = "0x7FA050", VA = "0x1807FB050", Slot = "20")]
public override ECFieldElement MultiplyPlusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
{
do
{
ulong[] array = this.x;
}
while (b == 0 || b == 0 || x == 0 || x == 0 || y == 0 || y == 0);
ulong[] array2 = Nat192.CreateExt64();
ulong[] array3 = Nat192.Create64();
SecT163Field.Reduce(array2, array3);
new SecT163FieldElement().x = array3;
throw new NullReferenceException();
}
// Token: 0x0600AA6E RID: 43630 RVA: 0x0024D840 File Offset: 0x0024BA40
[Token(Token = "0x600AA6E")]
[Address(RVA = "0x7B91D0", Offset = "0x7B81D0", VA = "0x1807B91D0", Slot = "11")]
public override ECFieldElement Divide(ECFieldElement b)
{
ECFieldElement ecfieldElement = b.Square();
BigInteger bigInteger = base.ToBigInteger();
throw new NullReferenceException();
}
// Token: 0x0600AA6F RID: 43631 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600AA6F")]
[Address(RVA = "0x4A65C0", Offset = "0x4A55C0", VA = "0x1804A65C0", Slot = "12")]
public override ECFieldElement Negate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600AA70 RID: 43632 RVA: 0x0024D860 File Offset: 0x0024BA60
[Token(Token = "0x600AA70")]
[Address(RVA = "0x7FB7A0", Offset = "0x7FA7A0", VA = "0x1807FB7A0", Slot = "13")]
public override ECFieldElement Square()
{
/*
An exception occurred when decompiling this method (0600AA70)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163FieldElement::Square()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat192::Create64))
call:void(SecT163Field::Square, ldfld:uint64[](SecT163FieldElement::x, ldloc:SecT163FieldElement(this)), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT163FieldElement::x, newobj:SecT163FieldElement(SecT163FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x0600AA71 RID: 43633 RVA: 0x0024D88C File Offset: 0x0024BA8C
[Token(Token = "0x600AA71")]
[Address(RVA = "0x7B98C0", Offset = "0x7B88C0", VA = "0x1807B98C0", Slot = "21")]
public override ECFieldElement SquareMinusProduct(ECFieldElement x, ECFieldElement y)
{
/*
An exception occurred when decompiling this method (0600AA71)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163FieldElement::SquareMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT163FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AA72 RID: 43634 RVA: 0x0024D8A0 File Offset: 0x0024BAA0
[Token(Token = "0x600AA72")]
[Address(RVA = "0x7FB4B0", Offset = "0x7FA4B0", VA = "0x1807FB4B0", Slot = "22")]
public override ECFieldElement SquarePlusProduct(ECFieldElement x, ECFieldElement y)
{
ulong[] array;
do
{
array = this.x;
}
while (x == 0 || x == 0 || y == 0 || y == 0);
ulong[] array2 = Nat192.CreateExt64();
ulong[] array3 = Nat192.CreateExt64();
SecT163Field.ImplSquare(array, array3);
SecT163Field.AddExt(array2, array3, array2);
ulong[] array4 = Nat192.Create64();
SecT163Field.Reduce(array2, array4);
new SecT163FieldElement().x = array4;
throw new NullReferenceException();
}
// Token: 0x0600AA73 RID: 43635 RVA: 0x0024D918 File Offset: 0x0024BB18
[Token(Token = "0x600AA73")]
[Address(RVA = "0x7FB700", Offset = "0x7FA700", VA = "0x1807FB700", Slot = "23")]
public override ECFieldElement SquarePow(int pow)
{
/*
An exception occurred when decompiling this method (0600AA73)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163FieldElement::SquarePow(System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat192::Create64))
call:void(SecT163Field::SquareN, ldfld:uint64[](SecT163FieldElement::x, ldloc:SecT163FieldElement(this)), ldloc:int32(pow), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT163FieldElement::x, newobj:SecT163FieldElement(SecT163FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x0600AA74 RID: 43636 RVA: 0x0024D944 File Offset: 0x0024BB44
[Token(Token = "0x600AA74")]
[Address(RVA = "0x7FB830", Offset = "0x7FA830", VA = "0x1807FB830", Slot = "28")]
public override int Trace()
{
ulong[] array = this.x;
int length = array.Length;
ulong num = array[2];
throw new NullReferenceException();
}
// Token: 0x0600AA75 RID: 43637 RVA: 0x0024D96C File Offset: 0x0024BB6C
[Token(Token = "0x600AA75")]
[Address(RVA = "0x7FAFC0", Offset = "0x7F9FC0", VA = "0x1807FAFC0", Slot = "14")]
public override ECFieldElement Invert()
{
/*
An exception occurred when decompiling this method (0600AA75)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163FieldElement::Invert()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat192::Create64))
call:void(SecT163Field::Invert, ldfld:uint64[](SecT163FieldElement::x, ldloc:SecT163FieldElement(this)), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT163FieldElement::x, newobj:SecT163FieldElement(SecT163FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x0600AA76 RID: 43638 RVA: 0x0024D998 File Offset: 0x0024BB98
[Token(Token = "0x600AA76")]
[Address(RVA = "0x7FB420", Offset = "0x7FA420", VA = "0x1807FB420", Slot = "15")]
public override ECFieldElement Sqrt()
{
/*
An exception occurred when decompiling this method (0600AA76)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163FieldElement::Sqrt()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat192::Create64))
call:void(SecT163Field::Sqrt, ldfld:uint64[](SecT163FieldElement::x, ldloc:SecT163FieldElement(this)), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT163FieldElement::x, newobj:SecT163FieldElement(SecT163FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x17001AC4 RID: 6852
// (get) Token: 0x0600AA77 RID: 43639 RVA: 0x0024D9C4 File Offset: 0x0024BBC4
[Token(Token = "0x17001AC4")]
public virtual int Representation
{
[Token(Token = "0x600AA77")]
[Address(RVA = "0x4DB5B0", Offset = "0x4DA5B0", VA = "0x1804DB5B0", Slot = "29")]
get
{
return 3;
}
}
// Token: 0x17001AC5 RID: 6853
// (get) Token: 0x0600AA78 RID: 43640 RVA: 0x0024D9D4 File Offset: 0x0024BBD4
[Token(Token = "0x17001AC5")]
public virtual int M
{
[Token(Token = "0x600AA78")]
[Address(RVA = "0x7FBA70", Offset = "0x7FAA70", VA = "0x1807FBA70", Slot = "30")]
get
{
return 163;
}
}
// Token: 0x17001AC6 RID: 6854
// (get) Token: 0x0600AA79 RID: 43641 RVA: 0x0024D9E8 File Offset: 0x0024BBE8
[Token(Token = "0x17001AC6")]
public virtual int K1
{
[Token(Token = "0x600AA79")]
[Address(RVA = "0x4DB5B0", Offset = "0x4DA5B0", VA = "0x1804DB5B0", Slot = "31")]
get
{
return 3;
}
}
// Token: 0x17001AC7 RID: 6855
// (get) Token: 0x0600AA7A RID: 43642 RVA: 0x0024D9F8 File Offset: 0x0024BBF8
[Token(Token = "0x17001AC7")]
public virtual int K2
{
[Token(Token = "0x600AA7A")]
[Address(RVA = "0x62FA10", Offset = "0x62EA10", VA = "0x18062FA10", Slot = "32")]
get
{
return 6;
}
}
// Token: 0x17001AC8 RID: 6856
// (get) Token: 0x0600AA7B RID: 43643 RVA: 0x0024DA08 File Offset: 0x0024BC08
[Token(Token = "0x17001AC8")]
public virtual int K3
{
[Token(Token = "0x600AA7B")]
[Address(RVA = "0x4B30C0", Offset = "0x4B20C0", VA = "0x1804B30C0", Slot = "33")]
get
{
return 7;
}
}
// Token: 0x0600AA7C RID: 43644 RVA: 0x0024DA18 File Offset: 0x0024BC18
[Token(Token = "0x600AA7C")]
[Address(RVA = "0x7FAE30", Offset = "0x7F9E30", VA = "0x1807FAE30", Slot = "0")]
public override bool Equals(object obj)
{
/*
An exception occurred when decompiling this method (0600AA7C)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163FieldElement::Equals(System.Object)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT163FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AA7D RID: 43645 RVA: 0x0024DA34 File Offset: 0x0024BC34
[Token(Token = "0x600AA7D")]
[Address(RVA = "0x7FAEC0", Offset = "0x7F9EC0", VA = "0x1807FAEC0", Slot = "25")]
public override bool Equals(ECFieldElement other)
{
/*
An exception occurred when decompiling this method (0600AA7D)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT163FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AA7E RID: 43646 RVA: 0x0024DA50 File Offset: 0x0024BC50
[Token(Token = "0x600AA7E")]
[Address(RVA = "0x7F4620", Offset = "0x7F3620", VA = "0x1807F4620", Slot = "34")]
public virtual bool Equals(SecT163FieldElement other)
{
if (this != other)
{
if (other != 0)
{
ulong[] array = other.x;
return Nat192.Eq64(this.x, array);
}
}
return true;
}
// Token: 0x0600AA7F RID: 43647 RVA: 0x0024DA7C File Offset: 0x0024BC7C
[Token(Token = "0x600AA7F")]
[Address(RVA = "0x7FAF50", Offset = "0x7F9F50", VA = "0x1807FAF50", Slot = "2")]
public override int GetHashCode()
{
ulong[] array = this.x;
int num = 0;
return Arrays.GetHashCode(array, num, 3);
}
// Token: 0x04006DB8 RID: 28088
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006DB8")]
protected internal readonly ulong[] x;
}
}
@@ -0,0 +1,408 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Multiplier;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B5F RID: 7007
[Token(Token = "0x2001B5F")]
internal class SecT163K1Curve : AbstractF2mCurve
{
// Token: 0x0600AA80 RID: 43648 RVA: 0x0024DA9C File Offset: 0x0024BC9C
[Token(Token = "0x600AA80")]
[Address(RVA = "0x7FD9B0", Offset = "0x7FC9B0", VA = "0x1807FD9B0")]
public SecT163K1Curve()
{
int num = 0;
ulong num2;
base..ctor(163, 3, 6, (int)num2);
int num3;
int num4;
SecT163K1Point secT163K1Point = new SecT163K1Point(this, num3, num4, num != 0);
num4 = 0;
num3 = 0;
this.m_infinity = secT163K1Point;
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
this.m_b = fieldSize;
byte[] array = Hex.Decode("04000000000000000000020108A2E0CC0D99F8A5EF");
BigInteger bigInteger = new BigInteger(1, array);
this.m_order = bigInteger;
BigInteger two = BigInteger.Two;
this.m_cofactor = two;
this.m_coord = (int)((ulong)6L);
}
// Token: 0x0600AA81 RID: 43649 RVA: 0x0024DB20 File Offset: 0x0024BD20
[Token(Token = "0x600AA81")]
[Address(RVA = "0x7FD3F0", Offset = "0x7FC3F0", VA = "0x1807FD3F0", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600AA81)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163K1Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_1_01, ldc.i4:int32(0))
stloc:SecT163K1Point(var_3_0D, newobj:SecT163K1Point(SecT163K1Point::.ctor, ldloc:SecT163K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
stloc:int32(var_4, ldc.i4:int32(0))
stloc:int32(var_5, ldc.i4:int32(0))
stfld:SecT163K1Point(SecT163K1Curve::m_infinity, ldloc:SecT163K1Curve(var_0), ldloc:SecT163K1Point(var_3_0D))
stloc:int32(var_6_21, callvirtgetter:int32(SecT163K1Curve::get_FieldSize, ldloc:SecT163K1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT163K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_6_21))
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT163K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_6_21))
stloc:uint8[](var_7_3D, call:uint8[](Hex::Decode, ldstr:string("04000000000000000000020108A2E0CC0D99F8A5EF")))
stloc:BigInteger(var_8_47, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_7_3D)))
stfld:BigInteger(ECCurve::m_order, ldloc:SecT163K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_8_47))
stloc:BigInteger(var_9_56, ldsfld:BigInteger(BigInteger::Two))
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT163K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_9_56))
stfld:int32(ECCurve::m_coord, ldloc:SecT163K1Curve[exp:ECCurve](var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](6)))
}
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: 0x0600AA82 RID: 43650 RVA: 0x0024DB98 File Offset: 0x0024BD98
[Token(Token = "0x600AA82")]
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 6;
}
// Token: 0x0600AA83 RID: 43651 RVA: 0x0024DBAC File Offset: 0x0024BDAC
[Token(Token = "0x600AA83")]
[Address(RVA = "0x7FD7D0", Offset = "0x7FC7D0", VA = "0x1807FD7D0", Slot = "15")]
protected override ECMultiplier CreateDefaultMultiplier()
{
/*
An exception occurred when decompiling this method (0600AA83)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Multiplier.ECMultiplier BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163K1Curve::CreateDefaultMultiplier()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:WTauNafMultiplier(var_0_05, newobj:WTauNafMultiplier(WTauNafMultiplier::.ctor))
}
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: 0x17001AC9 RID: 6857
// (get) Token: 0x0600AA84 RID: 43652 RVA: 0x0024DBC0 File Offset: 0x0024BDC0
[Token(Token = "0x17001AC9")]
public override ECPoint Infinity
{
[Token(Token = "0x600AA84")]
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600AA84)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163K1Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT163K1Point(var_0_06, ldfld:SecT163K1Point(SecT163K1Curve::m_infinity, ldloc:SecT163K1Curve(this)))
}
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: 0x17001ACA RID: 6858
// (get) Token: 0x0600AA85 RID: 43653 RVA: 0x0024DBD4 File Offset: 0x0024BDD4
[Token(Token = "0x17001ACA")]
public override int FieldSize
{
[Token(Token = "0x600AA85")]
[Address(RVA = "0x7FBA70", Offset = "0x7FAA70", VA = "0x1807FBA70", Slot = "4")]
get
{
return 163;
}
}
// Token: 0x0600AA86 RID: 43654 RVA: 0x0024DBE8 File Offset: 0x0024BDE8
[Token(Token = "0x600AA86")]
[Address(RVA = "0x7FD950", Offset = "0x7FC950", VA = "0x1807FD950", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600AA86)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163K1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT163FieldElement(var_0_06, newobj:SecT163FieldElement(SecT163FieldElement::.ctor, ldloc:BigInteger(x)))
}
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: 0x0600AA87 RID: 43655 RVA: 0x0024DBFC File Offset: 0x0024BDFC
[Token(Token = "0x600AA87")]
[Address(RVA = "0x7FD820", Offset = "0x7FC820", VA = "0x1807FD820", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600AA87)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163K1Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT163K1Point(var_0_09, newobj:SecT163K1Point(SecT163K1Point::.ctor, ldloc:SecT163K1Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600AA88 RID: 43656 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600AA88")]
[Address(RVA = "0x7FD8B0", Offset = "0x7FC8B0", VA = "0x1807FD8B0", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x17001ACB RID: 6859
// (get) Token: 0x0600AA89 RID: 43657 RVA: 0x0024DC14 File Offset: 0x0024BE14
[Token(Token = "0x17001ACB")]
public override bool IsKoblitz
{
[Token(Token = "0x600AA89")]
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "39")]
get
{
return true;
}
}
// Token: 0x17001ACC RID: 6860
// (get) Token: 0x0600AA8A RID: 43658 RVA: 0x0024DC24 File Offset: 0x0024BE24
[Token(Token = "0x17001ACC")]
public virtual int M
{
[Token(Token = "0x600AA8A")]
[Address(RVA = "0x7FBA70", Offset = "0x7FAA70", VA = "0x1807FBA70", Slot = "40")]
get
{
return 163;
}
}
// Token: 0x17001ACD RID: 6861
// (get) Token: 0x0600AA8B RID: 43659 RVA: 0x0024DC38 File Offset: 0x0024BE38
[Token(Token = "0x17001ACD")]
public virtual bool IsTrinomial
{
[Token(Token = "0x600AA8B")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "41")]
get
{
}
}
// Token: 0x17001ACE RID: 6862
// (get) Token: 0x0600AA8C RID: 43660 RVA: 0x0024DC48 File Offset: 0x0024BE48
[Token(Token = "0x17001ACE")]
public virtual int K1
{
[Token(Token = "0x600AA8C")]
[Address(RVA = "0x4DB5B0", Offset = "0x4DA5B0", VA = "0x1804DB5B0", Slot = "42")]
get
{
return 3;
}
}
// Token: 0x17001ACF RID: 6863
// (get) Token: 0x0600AA8D RID: 43661 RVA: 0x0024DC58 File Offset: 0x0024BE58
[Token(Token = "0x17001ACF")]
public virtual int K2
{
[Token(Token = "0x600AA8D")]
[Address(RVA = "0x62FA10", Offset = "0x62EA10", VA = "0x18062FA10", Slot = "43")]
get
{
return 6;
}
}
// Token: 0x17001AD0 RID: 6864
// (get) Token: 0x0600AA8E RID: 43662 RVA: 0x0024DC68 File Offset: 0x0024BE68
[Token(Token = "0x17001AD0")]
public virtual int K3
{
[Token(Token = "0x600AA8E")]
[Address(RVA = "0x4B30C0", Offset = "0x4B20C0", VA = "0x1804B30C0", Slot = "44")]
get
{
return 7;
}
}
// Token: 0x0600AA8F RID: 43663 RVA: 0x0024DC78 File Offset: 0x0024BE78
[Token(Token = "0x600AA8F")]
[Address(RVA = "0x7FD570", Offset = "0x7FC570", VA = "0x1807FD570", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
ulong[] array;
int num;
for (;;)
{
array = new ulong[points];
num = 0;
if (len <= 0)
{
goto IL_49;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
if (y != 0 && y != 0)
{
break;
}
}
}
num += 6;
IL_49:
SecT163K1Curve.SecT163K1LookupTable secT163K1LookupTable;
secT163K1LookupTable.m_outer = 0;
secT163K1LookupTable.m_table = array;
secT163K1LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x04006DB9 RID: 28089
[Token(Token = "0x4006DB9")]
private const int SECT163K1_DEFAULT_COORDS = 6;
// Token: 0x04006DBA RID: 28090
[Token(Token = "0x4006DBA")]
private const int SECT163K1_FE_LONGS = 3;
// Token: 0x04006DBB RID: 28091
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4006DBB")]
protected readonly SecT163K1Point m_infinity;
// Token: 0x02001B60 RID: 7008
[Token(Token = "0x2001B60")]
private class SecT163K1LookupTable : ECLookupTable
{
// Token: 0x0600AA90 RID: 43664 RVA: 0x0024DCEC File Offset: 0x0024BEEC
[Token(Token = "0x600AA90")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecT163K1LookupTable(SecT163K1Curve outer, ulong[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001AD1 RID: 6865
// (get) Token: 0x0600AA91 RID: 43665 RVA: 0x0024DD14 File Offset: 0x0024BF14
[Token(Token = "0x17001AD1")]
public virtual int Size
{
[Token(Token = "0x600AA91")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600AA92 RID: 43666 RVA: 0x0024DD28 File Offset: 0x0024BF28
[Token(Token = "0x600AA92")]
[Address(RVA = "0x7FDB00", Offset = "0x7FCB00", VA = "0x1807FDB00", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
ulong[] array = Nat192.Create64();
ulong[] array2 = Nat192.Create64();
int num = 0;
int num2 = 0;
if (this.m_size > num)
{
int num3 = 0;
ulong[] table = this.m_table;
ulong[] table2 = this.m_table;
num3++;
num += 6;
num2++;
}
SecT163K1Curve outer = this.m_outer;
new SecT163FieldElement().x = array;
new SecT163FieldElement().x = array2;
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006DBC RID: 28092
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006DBC")]
private readonly SecT163K1Curve m_outer;
// Token: 0x04006DBD RID: 28093
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006DBD")]
private readonly ulong[] m_table;
// Token: 0x04006DBE RID: 28094
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006DBE")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,297 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B61 RID: 7009
[Token(Token = "0x2001B61")]
internal class SecT163K1Point : AbstractF2mPoint
{
// Token: 0x0600AA93 RID: 43667 RVA: 0x0024DDA8 File Offset: 0x0024BFA8
[Token(Token = "0x600AA93")]
[Address(RVA = "0x7FF110", Offset = "0x7FE110", VA = "0x1807FF110")]
public SecT163K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600AA94 RID: 43668 RVA: 0x0024DDB8 File Offset: 0x0024BFB8
[Token(Token = "0x600AA94")]
[Address(RVA = "0x7FF130", Offset = "0x7FE130", VA = "0x1807FF130")]
public SecT163K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600AA94)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163K1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600AA95 RID: 43669 RVA: 0x0024DDE0 File Offset: 0x0024BFE0
[Token(Token = "0x600AA95")]
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
internal SecT163K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600AA96 RID: 43670 RVA: 0x0024DDF0 File Offset: 0x0024BFF0
[Token(Token = "0x600AA96")]
[Address(RVA = "0x7FE4E0", Offset = "0x7FD4E0", VA = "0x1807FE4E0", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600AA96)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163K1Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT163K1Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT163K1Point[exp:ECPoint](this)))
}
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: 0x17001AD2 RID: 6866
// (get) Token: 0x0600AA97 RID: 43671 RVA: 0x0024DE0C File Offset: 0x0024C00C
[Token(Token = "0x17001AD2")]
public override ECFieldElement YCoord
{
[Token(Token = "0x600AA97")]
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
get
{
ECFieldElement x = this.m_x;
ECFieldElement y = this.m_y;
if (!base.IsInfinity && !x.IsOne)
{
int fieldSize = y.FieldSize;
if (this.m_zs[0].BitLength == 0)
{
}
}
return y;
}
}
// Token: 0x17001AD3 RID: 6867
// (get) Token: 0x0600AA98 RID: 43672 RVA: 0x0024DE5C File Offset: 0x0024C05C
[Token(Token = "0x17001AD3")]
protected internal override bool CompressionYTilde
{
[Token(Token = "0x600AA98")]
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
get
{
if (!this.m_x.IsOne)
{
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement;
ECFieldElement ecfieldElement2;
return ecfieldElement != ecfieldElement2;
}
throw new NullReferenceException();
}
}
// Token: 0x0600AA99 RID: 43673 RVA: 0x0024DE90 File Offset: 0x0024C090
[Token(Token = "0x600AA99")]
[Address(RVA = "0x7FDCD0", Offset = "0x7FCCD0", VA = "0x1807FDCD0", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
while (!base.IsInfinity && !b.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
ECFieldElement x2 = b.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
ECFieldElement[] zs2 = b.m_zs;
ECFieldElement y2 = b.m_y;
ECFieldElement ecfieldElement2 = zs2[0];
if (ecfieldElement.BitLength == 0)
{
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
}
if (ecfieldElement2.BitLength != 0)
{
continue;
}
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
int fieldSize2 = ecfieldElement5.FieldSize;
if (fieldSize2 == 0)
{
if (!x2.IsOne)
{
sbyte b3;
sbyte b2 = b3;
TypeCode typeCode = b2.GetTypeCode();
int fieldSize3 = y.FieldSize;
}
bool flag2 = this.IsNormalized();
ushort num;
TypeCode typeCode2 = num.GetTypeCode();
ushort num2;
TypeCode typeCode3 = num2.GetTypeCode().GetTypeCode();
short num3;
TypeCode typeCode4 = num3.GetTypeCode();
sbyte b4;
TypeCode typeCode5 = b4.GetTypeCode().GetTypeCode();
byte b5;
TypeCode typeCode6 = b5.GetTypeCode();
BigInteger one = BigInteger.One;
int num4 = flag.CompareTo(one);
ECFieldElement[] array = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
ECPoint ecpoint;
if (ecpoint == 0)
{
break;
}
}
if (!x2.IsOne)
{
bool compressionYTilde = b.CompressionYTilde;
break;
}
break;
}
return b;
}
// Token: 0x0600AA9A RID: 43674 RVA: 0x0024E020 File Offset: 0x0024C220
[Token(Token = "0x600AA9A")]
[Address(RVA = "0x7FED00", Offset = "0x7FDD00", VA = "0x1807FED00", Slot = "30")]
public override ECPoint Twice()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
if (!this.m_x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
int bitLength = ecfieldElement.BitLength;
if (bitLength != 0)
{
}
ECFieldElement ecfieldElement2 = y.Subtract(ecfieldElement);
ECFieldElement ecfieldElement3 = ecfieldElement.Negate();
if (y.Negate().FieldSize.GetTypeCode() == TypeCode.Empty)
{
if (bitLength != 0)
{
}
int fieldSize = y.FieldSize;
ushort num;
TypeCode typeCode = num.GetTypeCode().GetTypeCode();
ushort num2;
num = num2;
sbyte b;
TypeCode typeCode2 = b.GetTypeCode();
sbyte b2;
(new ECFieldElement[1])[0] = b2;
bool withCompression = this.m_withCompression;
}
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600AA9B RID: 43675 RVA: 0x0024E0DC File Offset: 0x0024C2DC
[Token(Token = "0x600AA9B")]
[Address(RVA = "0x7FE730", Offset = "0x7FD730", VA = "0x1807FE730", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
if (!base.IsInfinity)
{
if (!b.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
if (x.IsOne)
{
return b;
}
ECFieldElement[] zs = b.m_zs;
ECFieldElement x2 = b.m_x;
ECFieldElement ecfieldElement = zs[0];
if (!x2.IsOne && ecfieldElement.BitLength != 0)
{
ECFieldElement[] zs2 = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement2 = zs2[0];
ECFieldElement y2 = b.m_y;
ECFieldElement ecfieldElement3 = x.Negate();
ECFieldElement ecfieldElement4 = y.Negate();
ECFieldElement ecfieldElement5 = ecfieldElement2.Negate();
ECFieldElement ecfieldElement6 = y.Subtract(ecfieldElement2);
TypeCode typeCode = ecfieldElement5.FieldSize.GetTypeCode();
int fieldSize = y2.Subtract(ecfieldElement5).FieldSize;
int fieldSize2 = x2.Subtract(ecfieldElement5).FieldSize;
decimal num;
TypeCode typeCode2 = num.GetTypeCode();
ECFieldElement[] array = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
}
throw new NullReferenceException();
}
return b;
}
// Token: 0x0600AA9C RID: 43676 RVA: 0x0024E200 File Offset: 0x0024C400
[Token(Token = "0x600AA9C")]
[Address(RVA = "0x7FE580", Offset = "0x7FD580", VA = "0x1807FE580", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity && !this.m_x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
bool flag = this.SatisfiesOrder();
int fieldSize = y.FieldSize;
ECFieldElement[] array = new ECFieldElement[1];
if (ecfieldElement != 0)
{
}
array[0] = ecfieldElement;
bool withCompression = this.m_withCompression;
}
throw new IndexOutOfRangeException();
}
}
}
@@ -0,0 +1,390 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B62 RID: 7010
[Token(Token = "0x2001B62")]
internal class SecT163R1Curve : AbstractF2mCurve
{
// Token: 0x0600AA9D RID: 43677 RVA: 0x0024E26C File Offset: 0x0024C46C
[Token(Token = "0x600AA9D")]
[Address(RVA = "0x7FF7D0", Offset = "0x7FE7D0", VA = "0x1807FF7D0")]
public SecT163R1Curve()
{
int num = 0;
ulong num2;
base..ctor(163, 3, 6, (int)num2);
int num3;
int num4;
SecT163R1Point secT163R1Point = new SecT163R1Point(this, num3, num4, num != 0);
num4 = 0;
num3 = 0;
this.m_infinity = secT163R1Point;
byte[] array = Hex.Decode("07B6882CAAEFA84F9554FF8428BD88E246D2782AE2");
BigInteger bigInteger = new BigInteger(1, array);
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
byte[] array2 = Hex.Decode("0713612DCDDCB40AAB946BDA29CA91F73AF958AFD9");
BigInteger bigInteger2 = new BigInteger(1, array2);
int fieldSize2 = this.FieldSize;
this.m_b = fieldSize2;
byte[] array3 = Hex.Decode("03FFFFFFFFFFFFFFFFFFFF48AAB689C29CA710279B");
BigInteger bigInteger3 = new BigInteger(1, array3);
this.m_order = bigInteger3;
BigInteger two = BigInteger.Two;
this.m_cofactor = two;
this.m_coord = (int)((ulong)6L);
}
// Token: 0x0600AA9E RID: 43678 RVA: 0x0024E324 File Offset: 0x0024C524
[Token(Token = "0x600AA9E")]
[Address(RVA = "0x7FF1F0", Offset = "0x7FE1F0", VA = "0x1807FF1F0", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600AA9E)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163R1Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_1_01, ldc.i4:int32(0))
stloc:SecT163R1Point(var_3_0D, newobj:SecT163R1Point(SecT163R1Point::.ctor, ldloc:SecT163R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
stloc:int32(var_4, ldc.i4:int32(0))
stloc:int32(var_5, ldc.i4:int32(0))
stfld:SecT163R1Point(SecT163R1Curve::m_infinity, ldloc:SecT163R1Curve(var_0), ldloc:SecT163R1Point(var_3_0D))
stloc:uint8[](var_6_25, call:uint8[](Hex::Decode, ldstr:string("07B6882CAAEFA84F9554FF8428BD88E246D2782AE2")))
stloc:BigInteger(var_7_2F, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_6_25)))
stloc:int32(var_8_37, callvirtgetter:int32(SecT163R1Curve::get_FieldSize, ldloc:SecT163R1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT163R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_8_37))
stloc:uint8[](var_9_4B, call:uint8[](Hex::Decode, ldstr:string("0713612DCDDCB40AAB946BDA29CA91F73AF958AFD9")))
stloc:BigInteger(var_10_55, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_9_4B)))
stloc:int32(var_11_5D, callvirtgetter:int32(SecT163R1Curve::get_FieldSize, ldloc:SecT163R1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT163R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_11_5D))
stloc:uint8[](var_12_71, call:uint8[](Hex::Decode, ldstr:string("03FFFFFFFFFFFFFFFFFFFF48AAB689C29CA710279B")))
stloc:BigInteger(var_13_7B, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_12_71)))
stfld:BigInteger(ECCurve::m_order, ldloc:SecT163R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_13_7B))
stloc:BigInteger(var_14_8A, ldsfld:BigInteger(BigInteger::Two))
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT163R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_14_8A))
stfld:int32(ECCurve::m_coord, ldloc:SecT163R1Curve[exp:ECCurve](var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](6)))
}
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: 0x0600AA9F RID: 43679 RVA: 0x0024E3D0 File Offset: 0x0024C5D0
[Token(Token = "0x600AA9F")]
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 6;
}
// Token: 0x17001AD4 RID: 6868
// (get) Token: 0x0600AAA0 RID: 43680 RVA: 0x0024E3E4 File Offset: 0x0024C5E4
[Token(Token = "0x17001AD4")]
public override ECPoint Infinity
{
[Token(Token = "0x600AAA0")]
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600AAA0)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163R1Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT163R1Point(var_0_06, ldfld:SecT163R1Point(SecT163R1Curve::m_infinity, ldloc:SecT163R1Curve(this)))
}
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: 0x17001AD5 RID: 6869
// (get) Token: 0x0600AAA1 RID: 43681 RVA: 0x0024E3F8 File Offset: 0x0024C5F8
[Token(Token = "0x17001AD5")]
public override int FieldSize
{
[Token(Token = "0x600AAA1")]
[Address(RVA = "0x7FBA70", Offset = "0x7FAA70", VA = "0x1807FBA70", Slot = "4")]
get
{
return 163;
}
}
// Token: 0x0600AAA2 RID: 43682 RVA: 0x0024E40C File Offset: 0x0024C60C
[Token(Token = "0x600AAA2")]
[Address(RVA = "0x7FF770", Offset = "0x7FE770", VA = "0x1807FF770", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600AAA2)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163R1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT163FieldElement(var_0_06, newobj:SecT163FieldElement(SecT163FieldElement::.ctor, ldloc:BigInteger(x)))
}
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: 0x0600AAA3 RID: 43683 RVA: 0x0024E420 File Offset: 0x0024C620
[Token(Token = "0x600AAA3")]
[Address(RVA = "0x7FF6E0", Offset = "0x7FE6E0", VA = "0x1807FF6E0", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600AAA3)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163R1Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT163R1Point(var_0_09, newobj:SecT163R1Point(SecT163R1Point::.ctor, ldloc:SecT163R1Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600AAA4 RID: 43684 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600AAA4")]
[Address(RVA = "0x7FF640", Offset = "0x7FE640", VA = "0x1807FF640", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x17001AD6 RID: 6870
// (get) Token: 0x0600AAA5 RID: 43685 RVA: 0x0024E438 File Offset: 0x0024C638
[Token(Token = "0x17001AD6")]
public override bool IsKoblitz
{
[Token(Token = "0x600AAA5")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "39")]
get
{
}
}
// Token: 0x17001AD7 RID: 6871
// (get) Token: 0x0600AAA6 RID: 43686 RVA: 0x0024E448 File Offset: 0x0024C648
[Token(Token = "0x17001AD7")]
public virtual int M
{
[Token(Token = "0x600AAA6")]
[Address(RVA = "0x7FBA70", Offset = "0x7FAA70", VA = "0x1807FBA70", Slot = "40")]
get
{
return 163;
}
}
// Token: 0x17001AD8 RID: 6872
// (get) Token: 0x0600AAA7 RID: 43687 RVA: 0x0024E45C File Offset: 0x0024C65C
[Token(Token = "0x17001AD8")]
public virtual bool IsTrinomial
{
[Token(Token = "0x600AAA7")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "41")]
get
{
}
}
// Token: 0x17001AD9 RID: 6873
// (get) Token: 0x0600AAA8 RID: 43688 RVA: 0x0024E46C File Offset: 0x0024C66C
[Token(Token = "0x17001AD9")]
public virtual int K1
{
[Token(Token = "0x600AAA8")]
[Address(RVA = "0x4DB5B0", Offset = "0x4DA5B0", VA = "0x1804DB5B0", Slot = "42")]
get
{
return 3;
}
}
// Token: 0x17001ADA RID: 6874
// (get) Token: 0x0600AAA9 RID: 43689 RVA: 0x0024E47C File Offset: 0x0024C67C
[Token(Token = "0x17001ADA")]
public virtual int K2
{
[Token(Token = "0x600AAA9")]
[Address(RVA = "0x62FA10", Offset = "0x62EA10", VA = "0x18062FA10", Slot = "43")]
get
{
return 6;
}
}
// Token: 0x17001ADB RID: 6875
// (get) Token: 0x0600AAAA RID: 43690 RVA: 0x0024E48C File Offset: 0x0024C68C
[Token(Token = "0x17001ADB")]
public virtual int K3
{
[Token(Token = "0x600AAAA")]
[Address(RVA = "0x4B30C0", Offset = "0x4B20C0", VA = "0x1804B30C0", Slot = "44")]
get
{
return 7;
}
}
// Token: 0x0600AAAB RID: 43691 RVA: 0x0024E49C File Offset: 0x0024C69C
[Token(Token = "0x600AAAB")]
[Address(RVA = "0x7FF3E0", Offset = "0x7FE3E0", VA = "0x1807FF3E0", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
ulong[] array;
int num;
for (;;)
{
array = new ulong[points];
num = 0;
if (len <= 0)
{
goto IL_49;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
if (y != 0 && y != 0)
{
break;
}
}
}
num += 6;
IL_49:
SecT163R1Curve.SecT163R1LookupTable secT163R1LookupTable;
secT163R1LookupTable.m_outer = 0;
secT163R1LookupTable.m_table = array;
secT163R1LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x04006DBF RID: 28095
[Token(Token = "0x4006DBF")]
private const int SECT163R1_DEFAULT_COORDS = 6;
// Token: 0x04006DC0 RID: 28096
[Token(Token = "0x4006DC0")]
private const int SECT163R1_FE_LONGS = 3;
// Token: 0x04006DC1 RID: 28097
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4006DC1")]
protected readonly SecT163R1Point m_infinity;
// Token: 0x02001B63 RID: 7011
[Token(Token = "0x2001B63")]
private class SecT163R1LookupTable : ECLookupTable
{
// Token: 0x0600AAAC RID: 43692 RVA: 0x0024E510 File Offset: 0x0024C710
[Token(Token = "0x600AAAC")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecT163R1LookupTable(SecT163R1Curve outer, ulong[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001ADC RID: 6876
// (get) Token: 0x0600AAAD RID: 43693 RVA: 0x0024E538 File Offset: 0x0024C738
[Token(Token = "0x17001ADC")]
public virtual int Size
{
[Token(Token = "0x600AAAD")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600AAAE RID: 43694 RVA: 0x0024E54C File Offset: 0x0024C74C
[Token(Token = "0x600AAAE")]
[Address(RVA = "0x7FF990", Offset = "0x7FE990", VA = "0x1807FF990", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
ulong[] array = Nat192.Create64();
ulong[] array2 = Nat192.Create64();
int num = 0;
int num2 = 0;
if (this.m_size > num)
{
int num3 = 0;
ulong[] table = this.m_table;
ulong[] table2 = this.m_table;
num3++;
num += 6;
num2++;
}
SecT163R1Curve outer = this.m_outer;
new SecT163FieldElement().x = array;
new SecT163FieldElement().x = array2;
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006DC2 RID: 28098
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006DC2")]
private readonly SecT163R1Curve m_outer;
// Token: 0x04006DC3 RID: 28099
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006DC3")]
private readonly ulong[] m_table;
// Token: 0x04006DC4 RID: 28100
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006DC4")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,256 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B64 RID: 7012
[Token(Token = "0x2001B64")]
internal class SecT163R1Point : AbstractF2mPoint
{
// Token: 0x0600AAAF RID: 43695 RVA: 0x0024E5CC File Offset: 0x0024C7CC
[Token(Token = "0x600AAAF")]
[Address(RVA = "0x8010A0", Offset = "0x8000A0", VA = "0x1808010A0")]
public SecT163R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600AAB0 RID: 43696 RVA: 0x0024E5DC File Offset: 0x0024C7DC
[Token(Token = "0x600AAB0")]
[Address(RVA = "0x8010C0", Offset = "0x8000C0", VA = "0x1808010C0")]
public SecT163R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600AAB0)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600AAB1 RID: 43697 RVA: 0x0024E604 File Offset: 0x0024C804
[Token(Token = "0x600AAB1")]
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
internal SecT163R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600AAB2 RID: 43698 RVA: 0x0024E614 File Offset: 0x0024C814
[Token(Token = "0x600AAB2")]
[Address(RVA = "0x8003A0", Offset = "0x7FF3A0", VA = "0x1808003A0", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600AAB2)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163R1Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT163R1Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT163R1Point[exp:ECPoint](this)))
}
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: 0x17001ADD RID: 6877
// (get) Token: 0x0600AAB3 RID: 43699 RVA: 0x0024E630 File Offset: 0x0024C830
[Token(Token = "0x17001ADD")]
public override ECFieldElement YCoord
{
[Token(Token = "0x600AAB3")]
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
get
{
ECFieldElement x = this.m_x;
ECFieldElement y = this.m_y;
if (!base.IsInfinity && !x.IsOne)
{
int fieldSize = y.FieldSize;
if (this.m_zs[0].BitLength == 0)
{
}
}
return y;
}
}
// Token: 0x17001ADE RID: 6878
// (get) Token: 0x0600AAB4 RID: 43700 RVA: 0x0024E680 File Offset: 0x0024C880
[Token(Token = "0x17001ADE")]
protected internal override bool CompressionYTilde
{
[Token(Token = "0x600AAB4")]
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
get
{
if (!this.m_x.IsOne)
{
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement;
ECFieldElement ecfieldElement2;
return ecfieldElement != ecfieldElement2;
}
throw new NullReferenceException();
}
}
// Token: 0x0600AAB5 RID: 43701 RVA: 0x0024E6B4 File Offset: 0x0024C8B4
[Token(Token = "0x600AAB5")]
[Address(RVA = "0x7FFB60", Offset = "0x7FEB60", VA = "0x1807FFB60", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
while (!base.IsInfinity && !b.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
ECFieldElement x2 = b.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
ECFieldElement[] zs2 = b.m_zs;
ECFieldElement y2 = b.m_y;
ECFieldElement ecfieldElement2 = zs2[0];
if (ecfieldElement.BitLength == 0)
{
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
}
if (ecfieldElement2.BitLength != 0)
{
continue;
}
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
int fieldSize2 = ecfieldElement5.FieldSize;
if (fieldSize2 == 0)
{
if (!x2.IsOne)
{
sbyte b3;
sbyte b2 = b3;
TypeCode typeCode = b2.GetTypeCode();
int fieldSize3 = y.FieldSize;
bool withCompression = this.m_withCompression;
}
short num;
TypeCode typeCode2 = num.GetTypeCode();
BigInteger one = BigInteger.One;
ECFieldElement[] array = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
ECPoint ecpoint;
if (ecpoint == 0)
{
break;
}
}
if (!x2.IsOne)
{
bool compressionYTilde = b.CompressionYTilde;
break;
}
break;
}
return b;
}
// Token: 0x0600AAB6 RID: 43702 RVA: 0x0024E808 File Offset: 0x0024CA08
[Token(Token = "0x600AAB6")]
[Address(RVA = "0x800C50", Offset = "0x7FFC50", VA = "0x180800C50", Slot = "30")]
public override ECPoint Twice()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
int bitLength = ecfieldElement.BitLength;
if (bitLength != 0)
{
}
ECFieldElement ecfieldElement2 = y.Subtract(ecfieldElement);
ECFieldElement ecfieldElement3 = ecfieldElement.Negate();
if (bitLength == 0)
{
}
if (y.Negate().FieldSize.GetTypeCode() == TypeCode.Empty)
{
if (bitLength != 0)
{
}
ECFieldElement ecfieldElement4 = x.Subtract(ecfieldElement);
ECFieldElement ecfieldElement5;
TypeCode typeCode = ecfieldElement5.FieldSize.GetTypeCode();
sbyte b;
(new ECFieldElement[1])[0] = b;
bool withCompression = this.m_withCompression;
}
SecT163R1Point secT163R1Point;
ECFieldElement[] zcoords = secT163R1Point.GetZCoords();
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600AAB7 RID: 43703 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600AAB7")]
[Address(RVA = "0x8005F0", Offset = "0x7FF5F0", VA = "0x1808005F0", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600AAB8 RID: 43704 RVA: 0x0024E8D0 File Offset: 0x0024CAD0
[Token(Token = "0x600AAB8")]
[Address(RVA = "0x800440", Offset = "0x7FF440", VA = "0x180800440", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity && !this.m_x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
bool flag = this.SatisfiesOrder();
int fieldSize = y.FieldSize;
ECFieldElement[] array = new ECFieldElement[1];
if (ecfieldElement != 0)
{
}
array[0] = ecfieldElement;
bool withCompression = this.m_withCompression;
}
throw new IndexOutOfRangeException();
}
}
}
@@ -0,0 +1,386 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B65 RID: 7013
[Token(Token = "0x2001B65")]
internal class SecT163R2Curve : AbstractF2mCurve
{
// Token: 0x0600AAB9 RID: 43705 RVA: 0x0024E93C File Offset: 0x0024CB3C
[Token(Token = "0x600AAB9")]
[Address(RVA = "0x801730", Offset = "0x800730", VA = "0x180801730")]
public SecT163R2Curve()
{
int num = 0;
ulong num2;
base..ctor(163, 3, 6, (int)num2);
int num3;
int num4;
SecT163R2Point secT163R2Point = new SecT163R2Point(this, num3, num4, num != 0);
num4 = 0;
num3 = 0;
this.m_infinity = secT163R2Point;
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
byte[] array = Hex.Decode("020A601907B8C953CA1481EB10512F78744A3205FD");
BigInteger bigInteger = new BigInteger(1, array);
int fieldSize2 = this.FieldSize;
this.m_b = fieldSize2;
byte[] array2 = Hex.Decode("040000000000000000000292FE77E70C12A4234C33");
BigInteger bigInteger2 = new BigInteger(1, array2);
this.m_order = bigInteger2;
BigInteger two = BigInteger.Two;
this.m_cofactor = two;
this.m_coord = (int)((ulong)6L);
}
// Token: 0x0600AABA RID: 43706 RVA: 0x0024E9DC File Offset: 0x0024CBDC
[Token(Token = "0x600AABA")]
[Address(RVA = "0x801180", Offset = "0x800180", VA = "0x180801180", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600AABA)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163R2Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_1_01, ldc.i4:int32(0))
stloc:SecT163R2Point(var_3_0D, newobj:SecT163R2Point(SecT163R2Point::.ctor, ldloc:SecT163R2Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
stloc:int32(var_4, ldc.i4:int32(0))
stloc:int32(var_5, ldc.i4:int32(0))
stfld:SecT163R2Point(SecT163R2Curve::m_infinity, ldloc:SecT163R2Curve(var_0), ldloc:SecT163R2Point(var_3_0D))
stloc:int32(var_6_21, callvirtgetter:int32(SecT163R2Curve::get_FieldSize, ldloc:SecT163R2Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT163R2Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_6_21))
stloc:uint8[](var_7_35, call:uint8[](Hex::Decode, ldstr:string("020A601907B8C953CA1481EB10512F78744A3205FD")))
stloc:BigInteger(var_8_3F, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_7_35)))
stloc:int32(var_9_47, callvirtgetter:int32(SecT163R2Curve::get_FieldSize, ldloc:SecT163R2Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT163R2Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_9_47))
stloc:uint8[](var_10_5B, call:uint8[](Hex::Decode, ldstr:string("040000000000000000000292FE77E70C12A4234C33")))
stloc:BigInteger(var_11_65, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_10_5B)))
stfld:BigInteger(ECCurve::m_order, ldloc:SecT163R2Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_11_65))
stloc:BigInteger(var_12_74, ldsfld:BigInteger(BigInteger::Two))
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT163R2Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_12_74))
stfld:int32(ECCurve::m_coord, ldloc:SecT163R2Curve[exp:ECCurve](var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](6)))
}
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: 0x0600AABB RID: 43707 RVA: 0x0024EA70 File Offset: 0x0024CC70
[Token(Token = "0x600AABB")]
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 6;
}
// Token: 0x17001ADF RID: 6879
// (get) Token: 0x0600AABC RID: 43708 RVA: 0x0024EA84 File Offset: 0x0024CC84
[Token(Token = "0x17001ADF")]
public override ECPoint Infinity
{
[Token(Token = "0x600AABC")]
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600AABC)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163R2Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT163R2Point(var_0_06, ldfld:SecT163R2Point(SecT163R2Curve::m_infinity, ldloc:SecT163R2Curve(this)))
}
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: 0x17001AE0 RID: 6880
// (get) Token: 0x0600AABD RID: 43709 RVA: 0x0024EA98 File Offset: 0x0024CC98
[Token(Token = "0x17001AE0")]
public override int FieldSize
{
[Token(Token = "0x600AABD")]
[Address(RVA = "0x7FBA70", Offset = "0x7FAA70", VA = "0x1807FBA70", Slot = "4")]
get
{
return 163;
}
}
// Token: 0x0600AABE RID: 43710 RVA: 0x0024EAAC File Offset: 0x0024CCAC
[Token(Token = "0x600AABE")]
[Address(RVA = "0x8016D0", Offset = "0x8006D0", VA = "0x1808016D0", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600AABE)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163R2Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT163FieldElement(var_0_06, newobj:SecT163FieldElement(SecT163FieldElement::.ctor, ldloc:BigInteger(x)))
}
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: 0x0600AABF RID: 43711 RVA: 0x0024EAC0 File Offset: 0x0024CCC0
[Token(Token = "0x600AABF")]
[Address(RVA = "0x801640", Offset = "0x800640", VA = "0x180801640", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600AABF)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163R2Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT163R2Point(var_0_09, newobj:SecT163R2Point(SecT163R2Point::.ctor, ldloc:SecT163R2Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600AAC0 RID: 43712 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600AAC0")]
[Address(RVA = "0x8015A0", Offset = "0x8005A0", VA = "0x1808015A0", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x17001AE1 RID: 6881
// (get) Token: 0x0600AAC1 RID: 43713 RVA: 0x0024EAD8 File Offset: 0x0024CCD8
[Token(Token = "0x17001AE1")]
public override bool IsKoblitz
{
[Token(Token = "0x600AAC1")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "39")]
get
{
}
}
// Token: 0x17001AE2 RID: 6882
// (get) Token: 0x0600AAC2 RID: 43714 RVA: 0x0024EAE8 File Offset: 0x0024CCE8
[Token(Token = "0x17001AE2")]
public virtual int M
{
[Token(Token = "0x600AAC2")]
[Address(RVA = "0x7FBA70", Offset = "0x7FAA70", VA = "0x1807FBA70", Slot = "40")]
get
{
return 163;
}
}
// Token: 0x17001AE3 RID: 6883
// (get) Token: 0x0600AAC3 RID: 43715 RVA: 0x0024EAFC File Offset: 0x0024CCFC
[Token(Token = "0x17001AE3")]
public virtual bool IsTrinomial
{
[Token(Token = "0x600AAC3")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "41")]
get
{
}
}
// Token: 0x17001AE4 RID: 6884
// (get) Token: 0x0600AAC4 RID: 43716 RVA: 0x0024EB0C File Offset: 0x0024CD0C
[Token(Token = "0x17001AE4")]
public virtual int K1
{
[Token(Token = "0x600AAC4")]
[Address(RVA = "0x4DB5B0", Offset = "0x4DA5B0", VA = "0x1804DB5B0", Slot = "42")]
get
{
return 3;
}
}
// Token: 0x17001AE5 RID: 6885
// (get) Token: 0x0600AAC5 RID: 43717 RVA: 0x0024EB1C File Offset: 0x0024CD1C
[Token(Token = "0x17001AE5")]
public virtual int K2
{
[Token(Token = "0x600AAC5")]
[Address(RVA = "0x62FA10", Offset = "0x62EA10", VA = "0x18062FA10", Slot = "43")]
get
{
return 6;
}
}
// Token: 0x17001AE6 RID: 6886
// (get) Token: 0x0600AAC6 RID: 43718 RVA: 0x0024EB2C File Offset: 0x0024CD2C
[Token(Token = "0x17001AE6")]
public virtual int K3
{
[Token(Token = "0x600AAC6")]
[Address(RVA = "0x4B30C0", Offset = "0x4B20C0", VA = "0x1804B30C0", Slot = "44")]
get
{
return 7;
}
}
// Token: 0x0600AAC7 RID: 43719 RVA: 0x0024EB3C File Offset: 0x0024CD3C
[Token(Token = "0x600AAC7")]
[Address(RVA = "0x801340", Offset = "0x800340", VA = "0x180801340", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
ulong[] array;
int num;
for (;;)
{
array = new ulong[points];
num = 0;
if (len <= 0)
{
goto IL_49;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
if (y != 0 && y != 0)
{
break;
}
}
}
num += 6;
IL_49:
SecT163R2Curve.SecT163R2LookupTable secT163R2LookupTable;
secT163R2LookupTable.m_outer = 0;
secT163R2LookupTable.m_table = array;
secT163R2LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x04006DC5 RID: 28101
[Token(Token = "0x4006DC5")]
private const int SECT163R2_DEFAULT_COORDS = 6;
// Token: 0x04006DC6 RID: 28102
[Token(Token = "0x4006DC6")]
private const int SECT163R2_FE_LONGS = 3;
// Token: 0x04006DC7 RID: 28103
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4006DC7")]
protected readonly SecT163R2Point m_infinity;
// Token: 0x02001B66 RID: 7014
[Token(Token = "0x2001B66")]
private class SecT163R2LookupTable : ECLookupTable
{
// Token: 0x0600AAC8 RID: 43720 RVA: 0x0024EBB0 File Offset: 0x0024CDB0
[Token(Token = "0x600AAC8")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecT163R2LookupTable(SecT163R2Curve outer, ulong[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001AE7 RID: 6887
// (get) Token: 0x0600AAC9 RID: 43721 RVA: 0x0024EBD8 File Offset: 0x0024CDD8
[Token(Token = "0x17001AE7")]
public virtual int Size
{
[Token(Token = "0x600AAC9")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600AACA RID: 43722 RVA: 0x0024EBEC File Offset: 0x0024CDEC
[Token(Token = "0x600AACA")]
[Address(RVA = "0x8018D0", Offset = "0x8008D0", VA = "0x1808018D0", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
ulong[] array = Nat192.Create64();
ulong[] array2 = Nat192.Create64();
int num = 0;
int num2 = 0;
if (this.m_size > num)
{
int num3 = 0;
ulong[] table = this.m_table;
ulong[] table2 = this.m_table;
num3++;
num += 6;
num2++;
}
SecT163R2Curve outer = this.m_outer;
new SecT163FieldElement().x = array;
new SecT163FieldElement().x = array2;
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006DC8 RID: 28104
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006DC8")]
private readonly SecT163R2Curve m_outer;
// Token: 0x04006DC9 RID: 28105
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006DC9")]
private readonly ulong[] m_table;
// Token: 0x04006DCA RID: 28106
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006DCA")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,255 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B67 RID: 7015
[Token(Token = "0x2001B67")]
internal class SecT163R2Point : AbstractF2mPoint
{
// Token: 0x0600AACB RID: 43723 RVA: 0x0024EC6C File Offset: 0x0024CE6C
[Token(Token = "0x600AACB")]
[Address(RVA = "0x802F00", Offset = "0x801F00", VA = "0x180802F00")]
public SecT163R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600AACC RID: 43724 RVA: 0x0024EC7C File Offset: 0x0024CE7C
[Token(Token = "0x600AACC")]
[Address(RVA = "0x802F20", Offset = "0x801F20", VA = "0x180802F20")]
public SecT163R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600AACC)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163R2Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600AACD RID: 43725 RVA: 0x0024ECA4 File Offset: 0x0024CEA4
[Token(Token = "0x600AACD")]
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
internal SecT163R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600AACE RID: 43726 RVA: 0x0024ECB4 File Offset: 0x0024CEB4
[Token(Token = "0x600AACE")]
[Address(RVA = "0x8022C0", Offset = "0x8012C0", VA = "0x1808022C0", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600AACE)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163R2Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT163R2Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT163R2Point[exp:ECPoint](this)))
}
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: 0x17001AE8 RID: 6888
// (get) Token: 0x0600AACF RID: 43727 RVA: 0x0024ECD0 File Offset: 0x0024CED0
[Token(Token = "0x17001AE8")]
public override ECFieldElement YCoord
{
[Token(Token = "0x600AACF")]
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
get
{
ECFieldElement x = this.m_x;
ECFieldElement y = this.m_y;
if (!base.IsInfinity && !x.IsOne)
{
int fieldSize = y.FieldSize;
if (this.m_zs[0].BitLength == 0)
{
}
}
return y;
}
}
// Token: 0x17001AE9 RID: 6889
// (get) Token: 0x0600AAD0 RID: 43728 RVA: 0x0024ED20 File Offset: 0x0024CF20
[Token(Token = "0x17001AE9")]
protected internal override bool CompressionYTilde
{
[Token(Token = "0x600AAD0")]
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
get
{
if (!this.m_x.IsOne)
{
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement;
ECFieldElement ecfieldElement2;
return ecfieldElement != ecfieldElement2;
}
throw new NullReferenceException();
}
}
// Token: 0x0600AAD1 RID: 43729 RVA: 0x0024ED54 File Offset: 0x0024CF54
[Token(Token = "0x600AAD1")]
[Address(RVA = "0x801AA0", Offset = "0x800AA0", VA = "0x180801AA0", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
while (!base.IsInfinity && !b.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
ECFieldElement x2 = b.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
ECFieldElement[] zs2 = b.m_zs;
ECFieldElement y2 = b.m_y;
ECFieldElement ecfieldElement2 = zs2[0];
if (ecfieldElement.BitLength == 0)
{
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
}
if (ecfieldElement2.BitLength == 0)
{
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
int fieldSize2 = ecfieldElement5.FieldSize;
if (fieldSize2 == 0)
{
if (!x2.IsOne)
{
sbyte b3;
sbyte b2 = b3;
TypeCode typeCode = b2.GetTypeCode();
int fieldSize3 = y.FieldSize;
}
bool flag2 = this.IsNormalized();
ushort num;
TypeCode typeCode2 = num.GetTypeCode();
ushort num2;
TypeCode typeCode3 = num2.GetTypeCode().GetTypeCode();
short num3;
TypeCode typeCode4 = num3.GetTypeCode();
sbyte b4;
TypeCode typeCode5 = b4.GetTypeCode().GetTypeCode();
byte b5;
TypeCode typeCode6 = b5.GetTypeCode();
BigInteger one = BigInteger.One;
int num4 = flag.CompareTo(one);
ECFieldElement[] array = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
}
}
else
{
if (!x2.IsOne)
{
bool compressionYTilde = b.CompressionYTilde;
break;
}
break;
}
}
return b;
}
// Token: 0x0600AAD2 RID: 43730 RVA: 0x0024EEF0 File Offset: 0x0024D0F0
[Token(Token = "0x600AAD2")]
[Address(RVA = "0x802B00", Offset = "0x801B00", VA = "0x180802B00", Slot = "30")]
public override ECPoint Twice()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
if (ecfieldElement.BitLength != 0)
{
}
ECFieldElement ecfieldElement2 = y.Subtract(ecfieldElement);
ECFieldElement ecfieldElement3 = ecfieldElement.Negate();
if (y.Negate().FieldSize.GetTypeCode() == TypeCode.Empty)
{
ECFieldElement ecfieldElement4 = x.Subtract(ecfieldElement);
ECFieldElement ecfieldElement5;
TypeCode typeCode = ecfieldElement5.FieldSize.GetTypeCode();
sbyte b;
(new ECFieldElement[1])[0] = b;
bool withCompression = this.m_withCompression;
}
SecT163R2Point secT163R2Point;
ECFieldElement[] zcoords = secT163R2Point.GetZCoords();
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600AAD3 RID: 43731 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600AAD3")]
[Address(RVA = "0x802510", Offset = "0x801510", VA = "0x180802510", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600AAD4 RID: 43732 RVA: 0x0024EFA8 File Offset: 0x0024D1A8
[Token(Token = "0x600AAD4")]
[Address(RVA = "0x802360", Offset = "0x801360", VA = "0x180802360", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity && !this.m_x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
bool flag = this.SatisfiesOrder();
int fieldSize = y.FieldSize;
ECFieldElement[] array = new ECFieldElement[1];
if (ecfieldElement != 0)
{
}
array[0] = ecfieldElement;
bool withCompression = this.m_withCompression;
}
throw new IndexOutOfRangeException();
}
}
}
@@ -0,0 +1,352 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B68 RID: 7016
[Token(Token = "0x2001B68")]
internal class SecT193Field
{
// Token: 0x0600AAD5 RID: 43733 RVA: 0x0024F014 File Offset: 0x0024D214
[Token(Token = "0x600AAD5")]
[Address(RVA = "0x7BA2D0", Offset = "0x7B92D0", VA = "0x1807BA2D0")]
public static void Add(ulong[] x, ulong[] y, ulong[] z)
{
ulong num = y[0];
z[0] = num;
ulong num2 = y[1];
z[1] = num2;
ulong num3 = y[2];
z[2] = num3;
ulong num4 = y[3];
z[3] = num4;
}
// Token: 0x0600AAD6 RID: 43734 RVA: 0x0024F068 File Offset: 0x0024D268
[Token(Token = "0x600AAD6")]
[Address(RVA = "0x7C65A0", Offset = "0x7C55A0", VA = "0x1807C65A0")]
public static void AddExt(ulong[] xx, ulong[] yy, ulong[] zz)
{
ulong num = yy[0];
zz[0] = num;
ulong num2 = yy[1];
zz[1] = num2;
ulong num3 = yy[2];
zz[2] = num3;
ulong num4 = yy[3];
zz[3] = num4;
ulong num5 = yy[4];
zz[4] = num5;
ulong num6 = yy[5];
zz[5] = num6;
ulong num7 = yy[6];
zz[6] = num7;
}
// Token: 0x0600AAD7 RID: 43735 RVA: 0x0024F0F4 File Offset: 0x0024D2F4
[Token(Token = "0x600AAD7")]
[Address(RVA = "0x7BA1E0", Offset = "0x7B91E0", VA = "0x1807BA1E0")]
public static void AddOne(ulong[] x, ulong[] z)
{
ulong num = x[0];
z[0] = num;
ulong num2 = x[1];
z[1] = num2;
ulong num3 = x[2];
z[2] = num3;
ulong num4 = x[3];
z[3] = num4;
}
// Token: 0x0600AAD8 RID: 43736 RVA: 0x0024F148 File Offset: 0x0024D348
[Token(Token = "0x600AAD8")]
[Address(RVA = "0x803D80", Offset = "0x802D80", VA = "0x180803D80")]
public static ulong[] FromBigInteger(BigInteger x)
{
ulong[] array = Nat256.FromBigInteger64(x);
ulong num = array[3];
array[0] = num;
array[3] = num;
return array;
}
// Token: 0x0600AAD9 RID: 43737 RVA: 0x0024F17C File Offset: 0x0024D37C
[Token(Token = "0x600AAD9")]
[Address(RVA = "0x804C90", Offset = "0x803C90", VA = "0x180804C90")]
public static void Invert(ulong[] x, ulong[] z)
{
/*
An exception occurred when decompiling this method (0600AAD9)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193Field::Invert(System.UInt64[],System.UInt64[])
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_153:
stloc:InvalidOperationException(var_22_158, newobj:InvalidOperationException(InvalidOperationException::.ctor))
}
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: 0x0600AADA RID: 43738 RVA: 0x0024F2E4 File Offset: 0x0024D4E4
[Token(Token = "0x600AADA")]
[Address(RVA = "0x804FA0", Offset = "0x803FA0", VA = "0x180804FA0")]
public static void Multiply(ulong[] x, ulong[] y, ulong[] z)
{
ulong[] array = Nat256.CreateExt64();
SecT193Field.ImplMultiply(x, y, array);
SecT193Field.Reduce(array, z);
}
// Token: 0x0600AADB RID: 43739 RVA: 0x0024F308 File Offset: 0x0024D508
[Token(Token = "0x600AADB")]
[Address(RVA = "0x804F40", Offset = "0x803F40", VA = "0x180804F40")]
public static void MultiplyAddToExt(ulong[] x, ulong[] y, ulong[] zz)
{
ulong[] array = Nat256.CreateExt64();
SecT193Field.ImplMultiply(x, y, array);
SecT193Field.AddExt(zz, array, zz);
}
// Token: 0x0600AADC RID: 43740 RVA: 0x0024F330 File Offset: 0x0024D530
[Token(Token = "0x600AADC")]
[Address(RVA = "0x8050B0", Offset = "0x8040B0", VA = "0x1808050B0")]
public static void Reduce(ulong[] xx, ulong[] z)
{
int length = xx.Length;
ulong num = xx[3];
ulong num2 = xx[6];
z[0] = num2;
z[1] = num2;
z[2] = num2;
z[3] = num;
}
// Token: 0x0600AADD RID: 43741 RVA: 0x0024F37C File Offset: 0x0024D57C
[Token(Token = "0x600AADD")]
[Address(RVA = "0x805000", Offset = "0x804000", VA = "0x180805000")]
public static void Reduce63(ulong[] z, int zOff)
{
int length = z.Length;
ulong num;
z[0] = num;
z[0] = num;
}
// Token: 0x0600AADE RID: 43742 RVA: 0x0024F3A8 File Offset: 0x0024D5A8
[Token(Token = "0x600AADE")]
[Address(RVA = "0x8052C0", Offset = "0x8042C0", VA = "0x1808052C0")]
public static void Sqrt(ulong[] x, ulong[] z)
{
ulong num = Interleave.Unshuffle(x[0]);
ulong num2 = x[1];
ulong num3 = Interleave.Unshuffle(num2);
ulong num4 = x[2];
ulong num5 = Interleave.Unshuffle(num4);
z[0] = num3;
num5 = num;
z[1] = num4;
z[2] = num;
z[3] = num5;
}
// Token: 0x0600AADF RID: 43743 RVA: 0x0024F414 File Offset: 0x0024D614
[Token(Token = "0x600AADF")]
[Address(RVA = "0x805570", Offset = "0x804570", VA = "0x180805570")]
public static void Square(ulong[] x, ulong[] z)
{
ulong[] array = Nat256.CreateExt64();
SecT193Field.ImplSquare(x, array);
SecT193Field.Reduce(array, z);
}
// Token: 0x0600AAE0 RID: 43744 RVA: 0x0024F438 File Offset: 0x0024D638
[Token(Token = "0x600AAE0")]
[Address(RVA = "0x805490", Offset = "0x804490", VA = "0x180805490")]
public static void SquareAddToExt(ulong[] x, ulong[] zz)
{
ulong[] array = Nat256.CreateExt64();
SecT193Field.ImplSquare(x, array);
SecT193Field.AddExt(zz, array, zz);
}
// Token: 0x0600AAE1 RID: 43745 RVA: 0x0024F45C File Offset: 0x0024D65C
[Token(Token = "0x600AAE1")]
[Address(RVA = "0x8054E0", Offset = "0x8044E0", VA = "0x1808054E0")]
public static void SquareN(ulong[] x, int n, ulong[] z)
{
ulong[] array = Nat256.CreateExt64();
SecT193Field.ImplSquare(x, array);
SecT193Field.Reduce(array, z);
if (n - 1 > 0)
{
SecT193Field.ImplSquare(z, array);
SecT193Field.Reduce(array, z);
}
}
// Token: 0x0600AAE2 RID: 43746 RVA: 0x0024F494 File Offset: 0x0024D694
[Token(Token = "0x600AAE2")]
[Address(RVA = "0x7C80D0", Offset = "0x7C70D0", VA = "0x1807C80D0")]
public static uint Trace(ulong[] x)
{
ulong num = x[0];
throw new NullReferenceException();
}
// Token: 0x0600AAE3 RID: 43747 RVA: 0x0024F4B0 File Offset: 0x0024D6B0
[Token(Token = "0x600AAE3")]
[Address(RVA = "0x803E10", Offset = "0x802E10", VA = "0x180803E10")]
protected static void ImplCompactExt(ulong[] zz)
{
int length = zz.Length;
ulong num = zz[1];
ulong num2 = zz[2];
ulong num3 = zz[4];
ulong num4 = zz[6];
ulong num5 = zz[7];
num = num2;
zz[1] = num;
zz[2] = num2;
zz[3] = num;
zz[4] = num3;
zz[5] = num4;
zz[6] = num5;
}
// Token: 0x0600AAE4 RID: 43748 RVA: 0x0024F530 File Offset: 0x0024D730
[Token(Token = "0x600AAE4")]
[Address(RVA = "0x804060", Offset = "0x803060", VA = "0x180804060")]
protected static void ImplExpand(ulong[] x, ulong[] z)
{
int length = x.Length;
ulong num = x[0];
ulong num2 = x[1];
ulong num3 = x[2];
z[0] = num;
num = num2;
z[1] = num;
z[2] = num2;
z[3] = num3;
}
// Token: 0x0600AAE5 RID: 43749 RVA: 0x0024F588 File Offset: 0x0024D788
[Token(Token = "0x600AAE5")]
[Address(RVA = "0x8041B0", Offset = "0x8031B0", VA = "0x1808041B0")]
protected static void ImplMultiply(ulong[] x, ulong[] y, ulong[] zz)
{
ulong[] array = new ulong[4];
ulong[] array2 = new ulong[4];
SecT193Field.ImplExpand(x, array);
SecT193Field.ImplExpand(y, array2);
ulong num = array2[0];
ulong num2 = array[0];
int num3 = 0;
SecT193Field.ImplMulwAcc(num2, num, zz, num3);
ulong num4 = array2[1];
SecT193Field.ImplMulwAcc(array[1], num4, zz, 1);
ulong num5 = array2[2];
SecT193Field.ImplMulwAcc(array[2], num5, zz, 2);
ulong num6 = array2[3];
SecT193Field.ImplMulwAcc(array[3], num6, zz, 3);
int length = zz.Length;
int length2 = array.Length;
int length3 = array2.Length;
ulong num7 = array[1];
ulong num8 = array2[1];
uint num9;
SecT193Field.ImplMulwAcc(num7, num8, zz, (int)num9);
int length4 = array.Length;
int length5 = array2.Length;
ulong num10 = array[3];
ulong num11 = array2[2];
uint num12;
SecT193Field.ImplMulwAcc(num10, num11, zz, (int)num12);
int length6 = zz.Length;
uint num13;
num13 += (uint)(-2);
int length7 = array.Length;
ulong num14 = array[2];
int length8 = array2.Length;
ulong num15 = array2[2];
ulong num16 = array2[1];
uint num17;
SecT193Field.ImplMulwAcc(num14, num16, zz, (int)num17);
ulong[] array3 = new ulong[3];
int num18 = 0;
SecT193Field.ImplMulwAcc(num14, num15, array3, num18);
num15 = num16;
uint num19;
SecT193Field.ImplMulwAcc(num14, num15, array3, (int)num19);
int length9 = array3.Length;
ulong num20 = zz[3];
zz[3] = num20;
ulong num21 = zz[4];
zz[4] = num21;
SecT193Field.ImplCompactExt(zz);
}
// Token: 0x0600AAE6 RID: 43750 RVA: 0x0024F730 File Offset: 0x0024D930
[Token(Token = "0x600AAE6")]
[Address(RVA = "0x8047B0", Offset = "0x8037B0", VA = "0x1808047B0")]
protected static void ImplMulwAcc(ulong x, ulong y, ulong[] z, int zOff)
{
ulong[] array = new ulong[8];
array[1] = y;
int num = array.Length;
array[2] = (ulong)num;
int length = array.Length;
array[3] = (ulong)num;
num = length;
array[4] = (ulong)num;
int length2 = array.Length;
array[5] = (ulong)num;
num = length2;
array[6] = (ulong)num;
int length3 = array.Length;
array[7] = (ulong)num;
ulong num2 = array[(int)x];
}
// Token: 0x0600AAE7 RID: 43751 RVA: 0x0024F7AC File Offset: 0x0024D9AC
[Token(Token = "0x600AAE7")]
[Address(RVA = "0x804BB0", Offset = "0x803BB0", VA = "0x180804BB0")]
protected static void ImplSquare(ulong[] x, ulong[] zz)
{
ulong num = x[0];
int num2 = 0;
Interleave.Expand64To128(num, zz, num2);
Interleave.Expand64To128(x[1], zz, 2);
Interleave.Expand64To128(x[2], zz, 4);
ulong num3 = x[3];
zz[6] = num3;
}
// Token: 0x0600AAE8 RID: 43752 RVA: 0x0024F800 File Offset: 0x0024DA00
[Token(Token = "0x600AAE8")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public SecT193Field()
{
}
// Token: 0x04006DCB RID: 28107
[Token(Token = "0x4006DCB")]
private const ulong M01 = 1UL;
// Token: 0x04006DCC RID: 28108
[Token(Token = "0x4006DCC")]
private const ulong M49 = 562949953421311UL;
}
}
@@ -0,0 +1,597 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B69 RID: 7017
[Token(Token = "0x2001B69")]
internal class SecT193FieldElement : AbstractF2mFieldElement
{
// Token: 0x0600AAE9 RID: 43753 RVA: 0x0024F814 File Offset: 0x0024DA14
[Token(Token = "0x600AAE9")]
[Address(RVA = "0x803C10", Offset = "0x802C10", VA = "0x180803C10")]
public SecT193FieldElement(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600AAE9)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_38:
stloc:ArgumentException(var_3_47, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecT193FieldElement"), ldstr:string("x")))
}
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: 0x0600AAEA RID: 43754 RVA: 0x0024F868 File Offset: 0x0024DA68
[Token(Token = "0x600AAEA")]
[Address(RVA = "0x7B9E30", Offset = "0x7B8E30", VA = "0x1807B9E30")]
public SecT193FieldElement()
{
ulong[] array = Nat256.Create64();
this.x = array;
}
// Token: 0x0600AAEB RID: 43755 RVA: 0x0024F88C File Offset: 0x0024DA8C
[Token(Token = "0x600AAEB")]
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
protected internal SecT193FieldElement(ulong[] x)
{
this.x = x;
}
// Token: 0x17001AEA RID: 6890
// (get) Token: 0x0600AAEC RID: 43756 RVA: 0x0024F8A8 File Offset: 0x0024DAA8
[Token(Token = "0x17001AEA")]
public override bool IsOne
{
[Token(Token = "0x600AAEC")]
[Address(RVA = "0x7B9EA0", Offset = "0x7B8EA0", VA = "0x1807B9EA0", Slot = "17")]
get
{
return Nat256.IsOne64(this.x);
}
}
// Token: 0x17001AEB RID: 6891
// (get) Token: 0x0600AAED RID: 43757 RVA: 0x0024F8C0 File Offset: 0x0024DAC0
[Token(Token = "0x17001AEB")]
public override bool IsZero
{
[Token(Token = "0x600AAED")]
[Address(RVA = "0x7B9EB0", Offset = "0x7B8EB0", VA = "0x1807B9EB0", Slot = "18")]
get
{
return Nat256.IsZero64(this.x);
}
}
// Token: 0x0600AAEE RID: 43758 RVA: 0x0024F8D8 File Offset: 0x0024DAD8
[Token(Token = "0x600AAEE")]
[Address(RVA = "0x7B9C40", Offset = "0x7B8C40", VA = "0x1807B9C40", Slot = "24")]
public override bool TestBitZero()
{
ulong[] array = this.x;
throw new NullReferenceException();
}
// Token: 0x0600AAEF RID: 43759 RVA: 0x0024F8F4 File Offset: 0x0024DAF4
[Token(Token = "0x600AAEF")]
[Address(RVA = "0x7B9C80", Offset = "0x7B8C80", VA = "0x1807B9C80", Slot = "4")]
public override BigInteger ToBigInteger()
{
return Nat256.ToBigInteger64(this.x);
}
// Token: 0x17001AEC RID: 6892
// (get) Token: 0x0600AAF0 RID: 43760 RVA: 0x0024F90C File Offset: 0x0024DB0C
[Token(Token = "0x17001AEC")]
public override string FieldName
{
[Token(Token = "0x600AAF0")]
[Address(RVA = "0x803D40", Offset = "0x802D40", VA = "0x180803D40", Slot = "5")]
get
{
return "SecT193Field";
}
}
// Token: 0x17001AED RID: 6893
// (get) Token: 0x0600AAF1 RID: 43761 RVA: 0x0024F920 File Offset: 0x0024DB20
[Token(Token = "0x17001AED")]
public override int FieldSize
{
[Token(Token = "0x600AAF1")]
[Address(RVA = "0x803D70", Offset = "0x802D70", VA = "0x180803D70", Slot = "6")]
get
{
return 193;
}
}
// Token: 0x0600AAF2 RID: 43762 RVA: 0x0024F934 File Offset: 0x0024DB34
[Token(Token = "0x600AAF2")]
[Address(RVA = "0x803150", Offset = "0x802150", VA = "0x180803150", Slot = "7")]
public override ECFieldElement Add(ECFieldElement b)
{
ulong[] array;
do
{
array = Nat256.Create64();
ulong[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecT193FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecT193FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600AAF3 RID: 43763 RVA: 0x0024F97C File Offset: 0x0024DB7C
[Token(Token = "0x600AAF3")]
[Address(RVA = "0x802FE0", Offset = "0x801FE0", VA = "0x180802FE0", Slot = "8")]
public override ECFieldElement AddOne()
{
ulong[] array = Nat256.Create64();
ulong[] array2 = this.x;
ulong num = array2[0];
array[0] = num;
ulong num2 = array2[1];
array[1] = num2;
ulong num3 = array2[2];
array[2] = num3;
ulong num4 = array2[3];
array[3] = num4;
new SecT193FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600AAF4 RID: 43764 RVA: 0x0024F9F0 File Offset: 0x0024DBF0
[Token(Token = "0x600AAF4")]
[Address(RVA = "0x7B9C20", Offset = "0x7B8C20", VA = "0x1807B9C20", Slot = "9")]
public override ECFieldElement Subtract(ECFieldElement b)
{
/*
An exception occurred when decompiling this method (0600AAF4)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193FieldElement::Subtract(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT193FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AAF5 RID: 43765 RVA: 0x0024FA04 File Offset: 0x0024DC04
[Token(Token = "0x600AAF5")]
[Address(RVA = "0x803720", Offset = "0x802720", VA = "0x180803720", Slot = "10")]
public override ECFieldElement Multiply(ECFieldElement b)
{
ulong[] array;
do
{
array = Nat256.Create64();
ulong[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecT193FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
SecT193Field.Reduce(Nat256.CreateExt64(), array);
new SecT193FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600AAF6 RID: 43766 RVA: 0x0024FA58 File Offset: 0x0024DC58
[Token(Token = "0x600AAF6")]
[Address(RVA = "0x7B9440", Offset = "0x7B8440", VA = "0x1807B9440", Slot = "19")]
public override ECFieldElement MultiplyMinusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
{
/*
An exception occurred when decompiling this method (0600AAF6)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193FieldElement::MultiplyMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT193FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AAF7 RID: 43767 RVA: 0x0024FA6C File Offset: 0x0024DC6C
[Token(Token = "0x600AAF7")]
[Address(RVA = "0x803470", Offset = "0x802470", VA = "0x180803470", Slot = "20")]
public override ECFieldElement MultiplyPlusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
{
do
{
ulong[] array = this.x;
}
while (b == 0 || b == 0 || x == 0 || x == 0 || y == 0 || y == 0);
ulong[] array2 = Nat256.CreateExt64();
ulong[] array3 = Nat256.CreateExt64();
SecT193Field.AddExt(array2, array3, array2);
ulong[] array4 = Nat256.CreateExt64();
SecT193Field.AddExt(array2, array4, array2);
ulong[] array5 = Nat256.Create64();
SecT193Field.Reduce(array2, array5);
new SecT193FieldElement().x = array5;
throw new NullReferenceException();
}
// Token: 0x0600AAF8 RID: 43768 RVA: 0x0024FB00 File Offset: 0x0024DD00
[Token(Token = "0x600AAF8")]
[Address(RVA = "0x7B91D0", Offset = "0x7B81D0", VA = "0x1807B91D0", Slot = "11")]
public override ECFieldElement Divide(ECFieldElement b)
{
ECFieldElement ecfieldElement = b.Square();
BigInteger bigInteger = base.ToBigInteger();
throw new NullReferenceException();
}
// Token: 0x0600AAF9 RID: 43769 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600AAF9")]
[Address(RVA = "0x4A65C0", Offset = "0x4A55C0", VA = "0x1804A65C0", Slot = "12")]
public override ECFieldElement Negate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600AAFA RID: 43770 RVA: 0x0024FB20 File Offset: 0x0024DD20
[Token(Token = "0x600AAFA")]
[Address(RVA = "0x803B70", Offset = "0x802B70", VA = "0x180803B70", Slot = "13")]
public override ECFieldElement Square()
{
/*
An exception occurred when decompiling this method (0600AAFA)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193FieldElement::Square()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat256::Create64))
stloc:uint64[](var_2_0E, ldfld:uint64[](SecT193FieldElement::x, ldloc:SecT193FieldElement(this)))
stloc:uint64[](var_4_16, call:uint64[](Nat256::CreateExt64))
call:void(SecT193Field::ImplSquare, ldloc:uint64[](var_2_0E), ldloc:uint64[](var_4_16))
call:void(SecT193Field::Reduce, ldloc:uint64[](var_4_16), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT193FieldElement::x, newobj:SecT193FieldElement(SecT193FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x0600AAFB RID: 43771 RVA: 0x0024FB60 File Offset: 0x0024DD60
[Token(Token = "0x600AAFB")]
[Address(RVA = "0x7B98C0", Offset = "0x7B88C0", VA = "0x1807B98C0", Slot = "21")]
public override ECFieldElement SquareMinusProduct(ECFieldElement x, ECFieldElement y)
{
/*
An exception occurred when decompiling this method (0600AAFB)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193FieldElement::SquareMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT193FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AAFC RID: 43772 RVA: 0x0024FB74 File Offset: 0x0024DD74
[Token(Token = "0x600AAFC")]
[Address(RVA = "0x8038D0", Offset = "0x8028D0", VA = "0x1808038D0", Slot = "22")]
public override ECFieldElement SquarePlusProduct(ECFieldElement x, ECFieldElement y)
{
ulong[] array;
do
{
array = this.x;
}
while (x == 0 || x == 0 || y == 0 || y == 0);
ulong[] array2 = Nat256.CreateExt64();
ulong[] array3 = Nat256.CreateExt64();
SecT193Field.ImplSquare(array, array3);
SecT193Field.AddExt(array2, array3, array2);
ulong[] array4 = Nat256.CreateExt64();
SecT193Field.AddExt(array2, array4, array2);
ulong[] array5 = Nat256.Create64();
SecT193Field.Reduce(array2, array5);
new SecT193FieldElement().x = array5;
throw new NullReferenceException();
}
// Token: 0x0600AAFD RID: 43773 RVA: 0x0024FC04 File Offset: 0x0024DE04
[Token(Token = "0x600AAFD")]
[Address(RVA = "0x803AF0", Offset = "0x802AF0", VA = "0x180803AF0", Slot = "23")]
public override ECFieldElement SquarePow(int pow)
{
/*
An exception occurred when decompiling this method (0600AAFD)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193FieldElement::SquarePow(System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat256::Create64))
call:void(SecT193Field::SquareN, ldfld:uint64[](SecT193FieldElement::x, ldloc:SecT193FieldElement(this)), ldloc:int32(pow), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT193FieldElement::x, newobj:SecT193FieldElement(SecT193FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x0600AAFE RID: 43774 RVA: 0x0024FC30 File Offset: 0x0024DE30
[Token(Token = "0x600AAFE")]
[Address(RVA = "0x7C6140", Offset = "0x7C5140", VA = "0x1807C6140", Slot = "28")]
public override int Trace()
{
ulong num = this.x[0];
throw new NullReferenceException();
}
// Token: 0x0600AAFF RID: 43775 RVA: 0x0024FC50 File Offset: 0x0024DE50
[Token(Token = "0x600AAFF")]
[Address(RVA = "0x803400", Offset = "0x802400", VA = "0x180803400", Slot = "14")]
public override ECFieldElement Invert()
{
/*
An exception occurred when decompiling this method (0600AAFF)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193FieldElement::Invert()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat256::Create64))
call:void(SecT193Field::Invert, ldfld:uint64[](SecT193FieldElement::x, ldloc:SecT193FieldElement(this)), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT193FieldElement::x, newobj:SecT193FieldElement(SecT193FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x0600AB00 RID: 43776 RVA: 0x0024FC7C File Offset: 0x0024DE7C
[Token(Token = "0x600AB00")]
[Address(RVA = "0x803860", Offset = "0x802860", VA = "0x180803860", Slot = "15")]
public override ECFieldElement Sqrt()
{
/*
An exception occurred when decompiling this method (0600AB00)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193FieldElement::Sqrt()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat256::Create64))
call:void(SecT193Field::Sqrt, ldfld:uint64[](SecT193FieldElement::x, ldloc:SecT193FieldElement(this)), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT193FieldElement::x, newobj:SecT193FieldElement(SecT193FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x17001AEE RID: 6894
// (get) Token: 0x0600AB01 RID: 43777 RVA: 0x0024FCA8 File Offset: 0x0024DEA8
[Token(Token = "0x17001AEE")]
public virtual int Representation
{
[Token(Token = "0x600AB01")]
[Address(RVA = "0x4E86A0", Offset = "0x4E76A0", VA = "0x1804E86A0", Slot = "29")]
get
{
return 2;
}
}
// Token: 0x17001AEF RID: 6895
// (get) Token: 0x0600AB02 RID: 43778 RVA: 0x0024FCB8 File Offset: 0x0024DEB8
[Token(Token = "0x17001AEF")]
public virtual int M
{
[Token(Token = "0x600AB02")]
[Address(RVA = "0x803D70", Offset = "0x802D70", VA = "0x180803D70", Slot = "30")]
get
{
return 193;
}
}
// Token: 0x17001AF0 RID: 6896
// (get) Token: 0x0600AB03 RID: 43779 RVA: 0x0024FCCC File Offset: 0x0024DECC
[Token(Token = "0x17001AF0")]
public virtual int K1
{
[Token(Token = "0x600AB03")]
[Address(RVA = "0x72B370", Offset = "0x72A370", VA = "0x18072B370", Slot = "31")]
get
{
return 15;
}
}
// Token: 0x17001AF1 RID: 6897
// (get) Token: 0x0600AB04 RID: 43780 RVA: 0x0024FCDC File Offset: 0x0024DEDC
[Token(Token = "0x17001AF1")]
public virtual int K2
{
[Token(Token = "0x600AB04")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "32")]
get
{
return 0;
}
}
// Token: 0x17001AF2 RID: 6898
// (get) Token: 0x0600AB05 RID: 43781 RVA: 0x0024FCEC File Offset: 0x0024DEEC
[Token(Token = "0x17001AF2")]
public virtual int K3
{
[Token(Token = "0x600AB05")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "33")]
get
{
return 0;
}
}
// Token: 0x0600AB06 RID: 43782 RVA: 0x0024FCFC File Offset: 0x0024DEFC
[Token(Token = "0x600AB06")]
[Address(RVA = "0x803300", Offset = "0x802300", VA = "0x180803300", Slot = "0")]
public override bool Equals(object obj)
{
/*
An exception occurred when decompiling this method (0600AB06)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193FieldElement::Equals(System.Object)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT193FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AB07 RID: 43783 RVA: 0x0024FD18 File Offset: 0x0024DF18
[Token(Token = "0x600AB07")]
[Address(RVA = "0x803270", Offset = "0x802270", VA = "0x180803270", Slot = "25")]
public override bool Equals(ECFieldElement other)
{
/*
An exception occurred when decompiling this method (0600AB07)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT193FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AB08 RID: 43784 RVA: 0x0024FD34 File Offset: 0x0024DF34
[Token(Token = "0x600AB08")]
[Address(RVA = "0x7B9220", Offset = "0x7B8220", VA = "0x1807B9220", Slot = "34")]
public virtual bool Equals(SecT193FieldElement other)
{
if (this != other)
{
if (other != 0)
{
ulong[] array = other.x;
return Nat256.Eq64(this.x, array);
}
}
return true;
}
// Token: 0x0600AB09 RID: 43785 RVA: 0x0024FD60 File Offset: 0x0024DF60
[Token(Token = "0x600AB09")]
[Address(RVA = "0x803390", Offset = "0x802390", VA = "0x180803390", Slot = "2")]
public override int GetHashCode()
{
ulong[] array = this.x;
int num = 0;
return Arrays.GetHashCode(array, num, 4);
}
// Token: 0x04006DCD RID: 28109
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006DCD")]
protected internal readonly ulong[] x;
}
}
@@ -0,0 +1,391 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B6A RID: 7018
[Token(Token = "0x2001B6A")]
internal class SecT193R1Curve : AbstractF2mCurve
{
// Token: 0x0600AB0A RID: 43786 RVA: 0x0024FD80 File Offset: 0x0024DF80
[Token(Token = "0x600AB0A")]
[Address(RVA = "0x805B90", Offset = "0x804B90", VA = "0x180805B90")]
public SecT193R1Curve()
{
int num = 0;
int num2 = 0;
base..ctor(193, 15, num2, num);
int num3;
int num4;
SecT193R1Point secT193R1Point = new SecT193R1Point(this, num3, num4, num != 0);
num4 = 0;
num3 = 0;
this.m_infinity = secT193R1Point;
byte[] array = Hex.Decode("0017858FEB7A98975169E171F77B4087DE098AC8A911DF7B01");
BigInteger bigInteger = new BigInteger(1, array);
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
byte[] array2 = Hex.Decode("00FDFB49BFE6C3A89FACADAA7A1E5BBC7CC1C2E5D831478814");
BigInteger bigInteger2 = new BigInteger(1, array2);
int fieldSize2 = this.FieldSize;
this.m_b = fieldSize2;
byte[] array3 = Hex.Decode("01000000000000000000000000C7F34A778F443ACC920EBA49");
BigInteger bigInteger3 = new BigInteger(1, array3);
this.m_order = bigInteger3;
BigInteger two = BigInteger.Two;
this.m_cofactor = two;
this.m_coord = (int)((ulong)6L);
}
// Token: 0x0600AB0B RID: 43787 RVA: 0x0024FE3C File Offset: 0x0024E03C
[Token(Token = "0x600AB0B")]
[Address(RVA = "0x8055C0", Offset = "0x8045C0", VA = "0x1808055C0", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600AB0B)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193R1Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_1_01, ldc.i4:int32(0))
stloc:SecT193R1Point(var_3_0F, newobj:SecT193R1Point(SecT193R1Point::.ctor, ldloc:SecT193R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
stloc:int32(var_4, ldc.i4:int32(0))
stloc:int32(var_5, ldc.i4:int32(0))
stfld:SecT193R1Point(SecT193R1Curve::m_infinity, ldloc:SecT193R1Curve(var_0), ldloc:SecT193R1Point(var_3_0F))
stloc:uint8[](var_6_27, call:uint8[](Hex::Decode, ldstr:string("0017858FEB7A98975169E171F77B4087DE098AC8A911DF7B01")))
stloc:BigInteger(var_7_31, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_6_27)))
stloc:int32(var_8_39, callvirtgetter:int32(SecT193R1Curve::get_FieldSize, ldloc:SecT193R1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT193R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_8_39))
stloc:uint8[](var_9_4D, call:uint8[](Hex::Decode, ldstr:string("00FDFB49BFE6C3A89FACADAA7A1E5BBC7CC1C2E5D831478814")))
stloc:BigInteger(var_10_57, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_9_4D)))
stloc:int32(var_11_5F, callvirtgetter:int32(SecT193R1Curve::get_FieldSize, ldloc:SecT193R1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT193R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_11_5F))
stloc:uint8[](var_12_73, call:uint8[](Hex::Decode, ldstr:string("01000000000000000000000000C7F34A778F443ACC920EBA49")))
stloc:BigInteger(var_13_7D, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_12_73)))
stfld:BigInteger(ECCurve::m_order, ldloc:SecT193R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_13_7D))
stloc:BigInteger(var_14_8C, ldsfld:BigInteger(BigInteger::Two))
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT193R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_14_8C))
stfld:int32(ECCurve::m_coord, ldloc:SecT193R1Curve[exp:ECCurve](var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](6)))
}
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: 0x0600AB0C RID: 43788 RVA: 0x0024FEE8 File Offset: 0x0024E0E8
[Token(Token = "0x600AB0C")]
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 6;
}
// Token: 0x17001AF3 RID: 6899
// (get) Token: 0x0600AB0D RID: 43789 RVA: 0x0024FEFC File Offset: 0x0024E0FC
[Token(Token = "0x17001AF3")]
public override ECPoint Infinity
{
[Token(Token = "0x600AB0D")]
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600AB0D)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193R1Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT193R1Point(var_0_06, ldfld:SecT193R1Point(SecT193R1Curve::m_infinity, ldloc:SecT193R1Curve(this)))
}
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: 0x17001AF4 RID: 6900
// (get) Token: 0x0600AB0E RID: 43790 RVA: 0x0024FF10 File Offset: 0x0024E110
[Token(Token = "0x17001AF4")]
public override int FieldSize
{
[Token(Token = "0x600AB0E")]
[Address(RVA = "0x803D70", Offset = "0x802D70", VA = "0x180803D70", Slot = "4")]
get
{
return 193;
}
}
// Token: 0x0600AB0F RID: 43791 RVA: 0x0024FF24 File Offset: 0x0024E124
[Token(Token = "0x600AB0F")]
[Address(RVA = "0x805B30", Offset = "0x804B30", VA = "0x180805B30", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600AB0F)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193R1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT193FieldElement(var_0_06, newobj:SecT193FieldElement(SecT193FieldElement::.ctor, ldloc:BigInteger(x)))
}
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: 0x0600AB10 RID: 43792 RVA: 0x0024FF38 File Offset: 0x0024E138
[Token(Token = "0x600AB10")]
[Address(RVA = "0x805A00", Offset = "0x804A00", VA = "0x180805A00", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600AB10)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193R1Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT193R1Point(var_0_09, newobj:SecT193R1Point(SecT193R1Point::.ctor, ldloc:SecT193R1Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600AB11 RID: 43793 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600AB11")]
[Address(RVA = "0x805A90", Offset = "0x804A90", VA = "0x180805A90", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x17001AF5 RID: 6901
// (get) Token: 0x0600AB12 RID: 43794 RVA: 0x0024FF50 File Offset: 0x0024E150
[Token(Token = "0x17001AF5")]
public override bool IsKoblitz
{
[Token(Token = "0x600AB12")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "39")]
get
{
}
}
// Token: 0x17001AF6 RID: 6902
// (get) Token: 0x0600AB13 RID: 43795 RVA: 0x0024FF60 File Offset: 0x0024E160
[Token(Token = "0x17001AF6")]
public virtual int M
{
[Token(Token = "0x600AB13")]
[Address(RVA = "0x803D70", Offset = "0x802D70", VA = "0x180803D70", Slot = "40")]
get
{
return 193;
}
}
// Token: 0x17001AF7 RID: 6903
// (get) Token: 0x0600AB14 RID: 43796 RVA: 0x0024FF74 File Offset: 0x0024E174
[Token(Token = "0x17001AF7")]
public virtual bool IsTrinomial
{
[Token(Token = "0x600AB14")]
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "41")]
get
{
return true;
}
}
// Token: 0x17001AF8 RID: 6904
// (get) Token: 0x0600AB15 RID: 43797 RVA: 0x0024FF84 File Offset: 0x0024E184
[Token(Token = "0x17001AF8")]
public virtual int K1
{
[Token(Token = "0x600AB15")]
[Address(RVA = "0x72B370", Offset = "0x72A370", VA = "0x18072B370", Slot = "42")]
get
{
return 15;
}
}
// Token: 0x17001AF9 RID: 6905
// (get) Token: 0x0600AB16 RID: 43798 RVA: 0x0024FF94 File Offset: 0x0024E194
[Token(Token = "0x17001AF9")]
public virtual int K2
{
[Token(Token = "0x600AB16")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "43")]
get
{
return 0;
}
}
// Token: 0x17001AFA RID: 6906
// (get) Token: 0x0600AB17 RID: 43799 RVA: 0x0024FFA4 File Offset: 0x0024E1A4
[Token(Token = "0x17001AFA")]
public virtual int K3
{
[Token(Token = "0x600AB17")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "44")]
get
{
return 0;
}
}
// Token: 0x0600AB18 RID: 43800 RVA: 0x0024FFB4 File Offset: 0x0024E1B4
[Token(Token = "0x600AB18")]
[Address(RVA = "0x8057A0", Offset = "0x8047A0", VA = "0x1808057A0", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
ulong[] array;
int num;
for (;;)
{
array = new ulong[points];
num = 0;
if (len <= 0)
{
goto IL_49;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
if (y != 0 && y != 0)
{
break;
}
}
}
num += 8;
IL_49:
SecT193R1Curve.SecT193R1LookupTable secT193R1LookupTable;
secT193R1LookupTable.m_outer = 0;
secT193R1LookupTable.m_table = array;
secT193R1LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x04006DCE RID: 28110
[Token(Token = "0x4006DCE")]
private const int SECT193R1_DEFAULT_COORDS = 6;
// Token: 0x04006DCF RID: 28111
[Token(Token = "0x4006DCF")]
private const int SECT193R1_FE_LONGS = 4;
// Token: 0x04006DD0 RID: 28112
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4006DD0")]
protected readonly SecT193R1Point m_infinity;
// Token: 0x02001B6B RID: 7019
[Token(Token = "0x2001B6B")]
private class SecT193R1LookupTable : ECLookupTable
{
// Token: 0x0600AB19 RID: 43801 RVA: 0x00250028 File Offset: 0x0024E228
[Token(Token = "0x600AB19")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecT193R1LookupTable(SecT193R1Curve outer, ulong[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001AFB RID: 6907
// (get) Token: 0x0600AB1A RID: 43802 RVA: 0x00250050 File Offset: 0x0024E250
[Token(Token = "0x17001AFB")]
public virtual int Size
{
[Token(Token = "0x600AB1A")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600AB1B RID: 43803 RVA: 0x00250064 File Offset: 0x0024E264
[Token(Token = "0x600AB1B")]
[Address(RVA = "0x805D50", Offset = "0x804D50", VA = "0x180805D50", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
ulong[] array = Nat256.Create64();
ulong[] array2 = Nat256.Create64();
int num = 0;
int num2 = 0;
if (this.m_size > num2)
{
int num3 = 0;
ulong[] table = this.m_table;
ulong[] table2 = this.m_table;
num3++;
num += 8;
num2++;
}
SecT193R1Curve outer = this.m_outer;
new SecT193FieldElement().x = array;
new SecT193FieldElement().x = array2;
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006DD1 RID: 28113
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006DD1")]
private readonly SecT193R1Curve m_outer;
// Token: 0x04006DD2 RID: 28114
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006DD2")]
private readonly ulong[] m_table;
// Token: 0x04006DD3 RID: 28115
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006DD3")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,256 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B6C RID: 7020
[Token(Token = "0x2001B6C")]
internal class SecT193R1Point : AbstractF2mPoint
{
// Token: 0x0600AB1C RID: 43804 RVA: 0x002500E4 File Offset: 0x0024E2E4
[Token(Token = "0x600AB1C")]
[Address(RVA = "0x807520", Offset = "0x806520", VA = "0x180807520")]
public SecT193R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600AB1D RID: 43805 RVA: 0x002500F4 File Offset: 0x0024E2F4
[Token(Token = "0x600AB1D")]
[Address(RVA = "0x807460", Offset = "0x806460", VA = "0x180807460")]
public SecT193R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600AB1D)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600AB1E RID: 43806 RVA: 0x0025011C File Offset: 0x0024E31C
[Token(Token = "0x600AB1E")]
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
internal SecT193R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600AB1F RID: 43807 RVA: 0x0025012C File Offset: 0x0024E32C
[Token(Token = "0x600AB1F")]
[Address(RVA = "0x806760", Offset = "0x805760", VA = "0x180806760", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600AB1F)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193R1Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT193R1Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT193R1Point[exp:ECPoint](this)))
}
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: 0x17001AFC RID: 6908
// (get) Token: 0x0600AB20 RID: 43808 RVA: 0x00250148 File Offset: 0x0024E348
[Token(Token = "0x17001AFC")]
public override ECFieldElement YCoord
{
[Token(Token = "0x600AB20")]
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
get
{
ECFieldElement x = this.m_x;
ECFieldElement y = this.m_y;
if (!base.IsInfinity && !x.IsOne)
{
int fieldSize = y.FieldSize;
if (this.m_zs[0].BitLength == 0)
{
}
}
return y;
}
}
// Token: 0x17001AFD RID: 6909
// (get) Token: 0x0600AB21 RID: 43809 RVA: 0x00250198 File Offset: 0x0024E398
[Token(Token = "0x17001AFD")]
protected internal override bool CompressionYTilde
{
[Token(Token = "0x600AB21")]
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
get
{
if (!this.m_x.IsOne)
{
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement;
ECFieldElement ecfieldElement2;
return ecfieldElement != ecfieldElement2;
}
throw new NullReferenceException();
}
}
// Token: 0x0600AB22 RID: 43810 RVA: 0x002501CC File Offset: 0x0024E3CC
[Token(Token = "0x600AB22")]
[Address(RVA = "0x805F20", Offset = "0x804F20", VA = "0x180805F20", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
while (!base.IsInfinity && !b.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
ECFieldElement x2 = b.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
ECFieldElement[] zs2 = b.m_zs;
ECFieldElement y2 = b.m_y;
ECFieldElement ecfieldElement2 = zs2[0];
if (ecfieldElement.BitLength == 0)
{
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
}
if (ecfieldElement2.BitLength != 0)
{
continue;
}
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
int fieldSize2 = ecfieldElement5.FieldSize;
if (fieldSize2 == 0)
{
if (!x2.IsOne)
{
sbyte b3;
sbyte b2 = b3;
TypeCode typeCode = b2.GetTypeCode();
int fieldSize3 = y.FieldSize;
bool withCompression = this.m_withCompression;
}
short num;
TypeCode typeCode2 = num.GetTypeCode();
BigInteger one = BigInteger.One;
ECFieldElement[] array = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
ECPoint ecpoint;
if (ecpoint == 0)
{
break;
}
}
if (!x2.IsOne)
{
bool compressionYTilde = b.CompressionYTilde;
break;
}
break;
}
return b;
}
// Token: 0x0600AB23 RID: 43811 RVA: 0x00250320 File Offset: 0x0024E520
[Token(Token = "0x600AB23")]
[Address(RVA = "0x807010", Offset = "0x806010", VA = "0x180807010", Slot = "30")]
public override ECPoint Twice()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
int bitLength = ecfieldElement.BitLength;
if (bitLength != 0)
{
}
ECFieldElement ecfieldElement2 = y.Subtract(ecfieldElement);
ECFieldElement ecfieldElement3 = ecfieldElement.Negate();
if (bitLength == 0)
{
}
if (y.Negate().FieldSize.GetTypeCode() == TypeCode.Empty)
{
if (bitLength != 0)
{
}
ECFieldElement ecfieldElement4 = x.Subtract(ecfieldElement);
ECFieldElement ecfieldElement5;
TypeCode typeCode = ecfieldElement5.FieldSize.GetTypeCode();
sbyte b;
(new ECFieldElement[1])[0] = b;
bool withCompression = this.m_withCompression;
}
SecT193R1Point secT193R1Point;
ECFieldElement[] zcoords = secT193R1Point.GetZCoords();
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600AB24 RID: 43812 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600AB24")]
[Address(RVA = "0x8069B0", Offset = "0x8059B0", VA = "0x1808069B0", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600AB25 RID: 43813 RVA: 0x002503E8 File Offset: 0x0024E5E8
[Token(Token = "0x600AB25")]
[Address(RVA = "0x806800", Offset = "0x805800", VA = "0x180806800", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity && !this.m_x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
bool flag = this.SatisfiesOrder();
int fieldSize = y.FieldSize;
ECFieldElement[] array = new ECFieldElement[1];
if (ecfieldElement != 0)
{
}
array[0] = ecfieldElement;
bool withCompression = this.m_withCompression;
}
throw new IndexOutOfRangeException();
}
}
}
@@ -0,0 +1,391 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B6D RID: 7021
[Token(Token = "0x2001B6D")]
internal class SecT193R2Curve : AbstractF2mCurve
{
// Token: 0x0600AB26 RID: 43814 RVA: 0x00250454 File Offset: 0x0024E654
[Token(Token = "0x600AB26")]
[Address(RVA = "0x807B10", Offset = "0x806B10", VA = "0x180807B10")]
public SecT193R2Curve()
{
int num = 0;
int num2 = 0;
base..ctor(193, 15, num2, num);
int num3;
int num4;
SecT193R2Point secT193R2Point = new SecT193R2Point(this, num3, num4, num != 0);
num4 = 0;
num3 = 0;
this.m_infinity = secT193R2Point;
byte[] array = Hex.Decode("0163F35A5137C2CE3EA6ED8667190B0BC43ECD69977702709B");
BigInteger bigInteger = new BigInteger(1, array);
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
byte[] array2 = Hex.Decode("00C9BB9E8927D4D64C377E2AB2856A5B16E3EFB7F61D4316AE");
BigInteger bigInteger2 = new BigInteger(1, array2);
int fieldSize2 = this.FieldSize;
this.m_b = fieldSize2;
byte[] array3 = Hex.Decode("010000000000000000000000015AAB561B005413CCD4EE99D5");
BigInteger bigInteger3 = new BigInteger(1, array3);
this.m_order = bigInteger3;
BigInteger two = BigInteger.Two;
this.m_cofactor = two;
this.m_coord = (int)((ulong)6L);
}
// Token: 0x0600AB27 RID: 43815 RVA: 0x00250510 File Offset: 0x0024E710
[Token(Token = "0x600AB27")]
[Address(RVA = "0x807540", Offset = "0x806540", VA = "0x180807540", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600AB27)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193R2Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_1_01, ldc.i4:int32(0))
stloc:SecT193R2Point(var_3_0F, newobj:SecT193R2Point(SecT193R2Point::.ctor, ldloc:SecT193R2Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
stloc:int32(var_4, ldc.i4:int32(0))
stloc:int32(var_5, ldc.i4:int32(0))
stfld:SecT193R2Point(SecT193R2Curve::m_infinity, ldloc:SecT193R2Curve(var_0), ldloc:SecT193R2Point(var_3_0F))
stloc:uint8[](var_6_27, call:uint8[](Hex::Decode, ldstr:string("0163F35A5137C2CE3EA6ED8667190B0BC43ECD69977702709B")))
stloc:BigInteger(var_7_31, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_6_27)))
stloc:int32(var_8_39, callvirtgetter:int32(SecT193R2Curve::get_FieldSize, ldloc:SecT193R2Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT193R2Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_8_39))
stloc:uint8[](var_9_4D, call:uint8[](Hex::Decode, ldstr:string("00C9BB9E8927D4D64C377E2AB2856A5B16E3EFB7F61D4316AE")))
stloc:BigInteger(var_10_57, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_9_4D)))
stloc:int32(var_11_5F, callvirtgetter:int32(SecT193R2Curve::get_FieldSize, ldloc:SecT193R2Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT193R2Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_11_5F))
stloc:uint8[](var_12_73, call:uint8[](Hex::Decode, ldstr:string("010000000000000000000000015AAB561B005413CCD4EE99D5")))
stloc:BigInteger(var_13_7D, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_12_73)))
stfld:BigInteger(ECCurve::m_order, ldloc:SecT193R2Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_13_7D))
stloc:BigInteger(var_14_8C, ldsfld:BigInteger(BigInteger::Two))
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT193R2Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_14_8C))
stfld:int32(ECCurve::m_coord, ldloc:SecT193R2Curve[exp:ECCurve](var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](6)))
}
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: 0x0600AB28 RID: 43816 RVA: 0x002505BC File Offset: 0x0024E7BC
[Token(Token = "0x600AB28")]
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 6;
}
// Token: 0x17001AFE RID: 6910
// (get) Token: 0x0600AB29 RID: 43817 RVA: 0x002505D0 File Offset: 0x0024E7D0
[Token(Token = "0x17001AFE")]
public override ECPoint Infinity
{
[Token(Token = "0x600AB29")]
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600AB29)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193R2Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT193R2Point(var_0_06, ldfld:SecT193R2Point(SecT193R2Curve::m_infinity, ldloc:SecT193R2Curve(this)))
}
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: 0x17001AFF RID: 6911
// (get) Token: 0x0600AB2A RID: 43818 RVA: 0x002505E4 File Offset: 0x0024E7E4
[Token(Token = "0x17001AFF")]
public override int FieldSize
{
[Token(Token = "0x600AB2A")]
[Address(RVA = "0x803D70", Offset = "0x802D70", VA = "0x180803D70", Slot = "4")]
get
{
return 193;
}
}
// Token: 0x0600AB2B RID: 43819 RVA: 0x002505F8 File Offset: 0x0024E7F8
[Token(Token = "0x600AB2B")]
[Address(RVA = "0x807AB0", Offset = "0x806AB0", VA = "0x180807AB0", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600AB2B)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193R2Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT193FieldElement(var_0_06, newobj:SecT193FieldElement(SecT193FieldElement::.ctor, ldloc:BigInteger(x)))
}
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: 0x0600AB2C RID: 43820 RVA: 0x0025060C File Offset: 0x0024E80C
[Token(Token = "0x600AB2C")]
[Address(RVA = "0x807A20", Offset = "0x806A20", VA = "0x180807A20", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600AB2C)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193R2Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT193R2Point(var_0_09, newobj:SecT193R2Point(SecT193R2Point::.ctor, ldloc:SecT193R2Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600AB2D RID: 43821 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600AB2D")]
[Address(RVA = "0x807980", Offset = "0x806980", VA = "0x180807980", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x17001B00 RID: 6912
// (get) Token: 0x0600AB2E RID: 43822 RVA: 0x00250624 File Offset: 0x0024E824
[Token(Token = "0x17001B00")]
public override bool IsKoblitz
{
[Token(Token = "0x600AB2E")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "39")]
get
{
}
}
// Token: 0x17001B01 RID: 6913
// (get) Token: 0x0600AB2F RID: 43823 RVA: 0x00250634 File Offset: 0x0024E834
[Token(Token = "0x17001B01")]
public virtual int M
{
[Token(Token = "0x600AB2F")]
[Address(RVA = "0x803D70", Offset = "0x802D70", VA = "0x180803D70", Slot = "40")]
get
{
return 193;
}
}
// Token: 0x17001B02 RID: 6914
// (get) Token: 0x0600AB30 RID: 43824 RVA: 0x00250648 File Offset: 0x0024E848
[Token(Token = "0x17001B02")]
public virtual bool IsTrinomial
{
[Token(Token = "0x600AB30")]
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "41")]
get
{
return true;
}
}
// Token: 0x17001B03 RID: 6915
// (get) Token: 0x0600AB31 RID: 43825 RVA: 0x00250658 File Offset: 0x0024E858
[Token(Token = "0x17001B03")]
public virtual int K1
{
[Token(Token = "0x600AB31")]
[Address(RVA = "0x72B370", Offset = "0x72A370", VA = "0x18072B370", Slot = "42")]
get
{
return 15;
}
}
// Token: 0x17001B04 RID: 6916
// (get) Token: 0x0600AB32 RID: 43826 RVA: 0x00250668 File Offset: 0x0024E868
[Token(Token = "0x17001B04")]
public virtual int K2
{
[Token(Token = "0x600AB32")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "43")]
get
{
return 0;
}
}
// Token: 0x17001B05 RID: 6917
// (get) Token: 0x0600AB33 RID: 43827 RVA: 0x00250678 File Offset: 0x0024E878
[Token(Token = "0x17001B05")]
public virtual int K3
{
[Token(Token = "0x600AB33")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "44")]
get
{
return 0;
}
}
// Token: 0x0600AB34 RID: 43828 RVA: 0x00250688 File Offset: 0x0024E888
[Token(Token = "0x600AB34")]
[Address(RVA = "0x807720", Offset = "0x806720", VA = "0x180807720", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
ulong[] array;
int num;
for (;;)
{
array = new ulong[points];
num = 0;
if (len <= 0)
{
goto IL_49;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
if (y != 0 && y != 0)
{
break;
}
}
}
num += 8;
IL_49:
SecT193R2Curve.SecT193R2LookupTable secT193R2LookupTable;
secT193R2LookupTable.m_outer = 0;
secT193R2LookupTable.m_table = array;
secT193R2LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x04006DD4 RID: 28116
[Token(Token = "0x4006DD4")]
private const int SECT193R2_DEFAULT_COORDS = 6;
// Token: 0x04006DD5 RID: 28117
[Token(Token = "0x4006DD5")]
private const int SECT193R2_FE_LONGS = 4;
// Token: 0x04006DD6 RID: 28118
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4006DD6")]
protected readonly SecT193R2Point m_infinity;
// Token: 0x02001B6E RID: 7022
[Token(Token = "0x2001B6E")]
private class SecT193R2LookupTable : ECLookupTable
{
// Token: 0x0600AB35 RID: 43829 RVA: 0x002506FC File Offset: 0x0024E8FC
[Token(Token = "0x600AB35")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecT193R2LookupTable(SecT193R2Curve outer, ulong[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001B06 RID: 6918
// (get) Token: 0x0600AB36 RID: 43830 RVA: 0x00250724 File Offset: 0x0024E924
[Token(Token = "0x17001B06")]
public virtual int Size
{
[Token(Token = "0x600AB36")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600AB37 RID: 43831 RVA: 0x00250738 File Offset: 0x0024E938
[Token(Token = "0x600AB37")]
[Address(RVA = "0x807CD0", Offset = "0x806CD0", VA = "0x180807CD0", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
ulong[] array = Nat256.Create64();
ulong[] array2 = Nat256.Create64();
int num = 0;
int num2 = 0;
if (this.m_size > num2)
{
int num3 = 0;
ulong[] table = this.m_table;
ulong[] table2 = this.m_table;
num3++;
num += 8;
num2++;
}
SecT193R2Curve outer = this.m_outer;
new SecT193FieldElement().x = array;
new SecT193FieldElement().x = array2;
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006DD7 RID: 28119
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006DD7")]
private readonly SecT193R2Curve m_outer;
// Token: 0x04006DD8 RID: 28120
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006DD8")]
private readonly ulong[] m_table;
// Token: 0x04006DD9 RID: 28121
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006DD9")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,256 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B6F RID: 7023
[Token(Token = "0x2001B6F")]
internal class SecT193R2Point : AbstractF2mPoint
{
// Token: 0x0600AB38 RID: 43832 RVA: 0x002507B8 File Offset: 0x0024E9B8
[Token(Token = "0x600AB38")]
[Address(RVA = "0x8093E0", Offset = "0x8083E0", VA = "0x1808093E0")]
public SecT193R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600AB39 RID: 43833 RVA: 0x002507C8 File Offset: 0x0024E9C8
[Token(Token = "0x600AB39")]
[Address(RVA = "0x809400", Offset = "0x808400", VA = "0x180809400")]
public SecT193R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600AB39)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193R2Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600AB3A RID: 43834 RVA: 0x002507F0 File Offset: 0x0024E9F0
[Token(Token = "0x600AB3A")]
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
internal SecT193R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600AB3B RID: 43835 RVA: 0x00250800 File Offset: 0x0024EA00
[Token(Token = "0x600AB3B")]
[Address(RVA = "0x8086E0", Offset = "0x8076E0", VA = "0x1808086E0", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600AB3B)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193R2Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT193R2Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT193R2Point[exp:ECPoint](this)))
}
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: 0x17001B07 RID: 6919
// (get) Token: 0x0600AB3C RID: 43836 RVA: 0x0025081C File Offset: 0x0024EA1C
[Token(Token = "0x17001B07")]
public override ECFieldElement YCoord
{
[Token(Token = "0x600AB3C")]
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
get
{
ECFieldElement x = this.m_x;
ECFieldElement y = this.m_y;
if (!base.IsInfinity && !x.IsOne)
{
int fieldSize = y.FieldSize;
if (this.m_zs[0].BitLength == 0)
{
}
}
return y;
}
}
// Token: 0x17001B08 RID: 6920
// (get) Token: 0x0600AB3D RID: 43837 RVA: 0x0025086C File Offset: 0x0024EA6C
[Token(Token = "0x17001B08")]
protected internal override bool CompressionYTilde
{
[Token(Token = "0x600AB3D")]
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
get
{
if (!this.m_x.IsOne)
{
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement;
ECFieldElement ecfieldElement2;
return ecfieldElement != ecfieldElement2;
}
throw new NullReferenceException();
}
}
// Token: 0x0600AB3E RID: 43838 RVA: 0x002508A0 File Offset: 0x0024EAA0
[Token(Token = "0x600AB3E")]
[Address(RVA = "0x807EA0", Offset = "0x806EA0", VA = "0x180807EA0", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
while (!base.IsInfinity && !b.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
ECFieldElement x2 = b.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
ECFieldElement[] zs2 = b.m_zs;
ECFieldElement y2 = b.m_y;
ECFieldElement ecfieldElement2 = zs2[0];
if (ecfieldElement.BitLength == 0)
{
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
}
if (ecfieldElement2.BitLength != 0)
{
continue;
}
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
int fieldSize2 = ecfieldElement5.FieldSize;
if (fieldSize2 == 0)
{
if (!x2.IsOne)
{
sbyte b3;
sbyte b2 = b3;
TypeCode typeCode = b2.GetTypeCode();
int fieldSize3 = y.FieldSize;
bool withCompression = this.m_withCompression;
}
short num;
TypeCode typeCode2 = num.GetTypeCode();
BigInteger one = BigInteger.One;
ECFieldElement[] array = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
ECPoint ecpoint;
if (ecpoint == 0)
{
break;
}
}
if (!x2.IsOne)
{
bool compressionYTilde = b.CompressionYTilde;
break;
}
break;
}
return b;
}
// Token: 0x0600AB3F RID: 43839 RVA: 0x002509F4 File Offset: 0x0024EBF4
[Token(Token = "0x600AB3F")]
[Address(RVA = "0x808F90", Offset = "0x807F90", VA = "0x180808F90", Slot = "30")]
public override ECPoint Twice()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
int bitLength = ecfieldElement.BitLength;
if (bitLength != 0)
{
}
ECFieldElement ecfieldElement2 = y.Subtract(ecfieldElement);
ECFieldElement ecfieldElement3 = ecfieldElement.Negate();
if (bitLength == 0)
{
}
if (y.Negate().FieldSize.GetTypeCode() == TypeCode.Empty)
{
if (bitLength != 0)
{
}
ECFieldElement ecfieldElement4 = x.Subtract(ecfieldElement);
ECFieldElement ecfieldElement5;
TypeCode typeCode = ecfieldElement5.FieldSize.GetTypeCode();
sbyte b;
(new ECFieldElement[1])[0] = b;
bool withCompression = this.m_withCompression;
}
SecT193R2Point secT193R2Point;
ECFieldElement[] zcoords = secT193R2Point.GetZCoords();
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600AB40 RID: 43840 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600AB40")]
[Address(RVA = "0x808930", Offset = "0x807930", VA = "0x180808930", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600AB41 RID: 43841 RVA: 0x00250ABC File Offset: 0x0024ECBC
[Token(Token = "0x600AB41")]
[Address(RVA = "0x808780", Offset = "0x807780", VA = "0x180808780", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity && !this.m_x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
bool flag = this.SatisfiesOrder();
int fieldSize = y.FieldSize;
ECFieldElement[] array = new ECFieldElement[1];
if (ecfieldElement != 0)
{
}
array[0] = ecfieldElement;
bool withCompression = this.m_withCompression;
}
throw new IndexOutOfRangeException();
}
}
}
@@ -0,0 +1,368 @@
using System;
using System.Runtime.CompilerServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B70 RID: 7024
[Token(Token = "0x2001B70")]
internal class SecT233Field
{
// Token: 0x0600AB42 RID: 43842 RVA: 0x00250B28 File Offset: 0x0024ED28
[Token(Token = "0x600AB42")]
[Address(RVA = "0x7BA2D0", Offset = "0x7B92D0", VA = "0x1807BA2D0")]
public static void Add(ulong[] x, ulong[] y, ulong[] z)
{
ulong num = y[0];
z[0] = num;
ulong num2 = y[1];
z[1] = num2;
ulong num3 = y[2];
z[2] = num3;
ulong num4 = y[3];
z[3] = num4;
}
// Token: 0x0600AB43 RID: 43843 RVA: 0x00250B7C File Offset: 0x0024ED7C
[Token(Token = "0x600AB43")]
[Address(RVA = "0x7B9ED0", Offset = "0x7B8ED0", VA = "0x1807B9ED0")]
public static void AddExt(ulong[] xx, ulong[] yy, ulong[] zz)
{
ulong num = yy[0];
zz[0] = num;
ulong num2 = yy[1];
zz[1] = num2;
ulong num3 = yy[2];
zz[2] = num3;
ulong num4 = yy[3];
zz[3] = num4;
ulong num5 = yy[4];
zz[4] = num5;
ulong num6 = yy[5];
zz[5] = num6;
ulong num7 = yy[6];
zz[6] = num7;
ulong num8 = yy[7];
zz[7] = num8;
}
// Token: 0x0600AB44 RID: 43844 RVA: 0x00250C18 File Offset: 0x0024EE18
[Token(Token = "0x600AB44")]
[Address(RVA = "0x7BA1E0", Offset = "0x7B91E0", VA = "0x1807BA1E0")]
public static void AddOne(ulong[] x, ulong[] z)
{
ulong num = x[0];
z[0] = num;
ulong num2 = x[1];
z[1] = num2;
ulong num3 = x[2];
z[2] = num3;
ulong num4 = x[3];
z[3] = num4;
}
// Token: 0x0600AB45 RID: 43845 RVA: 0x00250C6C File Offset: 0x0024EE6C
[Token(Token = "0x600AB45")]
[Address(RVA = "0x80A2C0", Offset = "0x8092C0", VA = "0x18080A2C0")]
public static ulong[] FromBigInteger(BigInteger x)
{
ulong[] array = Nat256.FromBigInteger64(x);
ulong num = array[3];
array[3] = num;
return array;
}
// Token: 0x0600AB46 RID: 43846 RVA: 0x00250C98 File Offset: 0x0024EE98
[Token(Token = "0x600AB46")]
[Address(RVA = "0x80B040", Offset = "0x80A040", VA = "0x18080B040")]
public static void Invert(ulong[] x, ulong[] z)
{
/*
An exception occurred when decompiling this method (0600AB46)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233Field::Invert(System.UInt64[],System.UInt64[])
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_1E1:
stloc:InvalidOperationException(var_34_1E6, newobj:InvalidOperationException(InvalidOperationException::.ctor))
}
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: 0x0600AB47 RID: 43847 RVA: 0x00250E8C File Offset: 0x0024F08C
[Token(Token = "0x600AB47")]
[Address(RVA = "0x80B410", Offset = "0x80A410", VA = "0x18080B410")]
public static void Multiply(ulong[] x, ulong[] y, ulong[] z)
{
ulong[] array = Nat256.CreateExt64();
SecT233Field.ImplMultiply(x, y, array);
SecT233Field.Reduce(array, z);
}
// Token: 0x0600AB48 RID: 43848 RVA: 0x00250EB0 File Offset: 0x0024F0B0
[Token(Token = "0x600AB48")]
[Address(RVA = "0x80B3B0", Offset = "0x80A3B0", VA = "0x18080B3B0")]
public static void MultiplyAddToExt(ulong[] x, ulong[] y, ulong[] zz)
{
ulong[] array = Nat256.CreateExt64();
SecT233Field.ImplMultiply(x, y, array);
SecT233Field.AddExt(zz, array, zz);
}
// Token: 0x0600AB49 RID: 43849 RVA: 0x00250ED8 File Offset: 0x0024F0D8
[Token(Token = "0x600AB49")]
[Address(RVA = "0x80B520", Offset = "0x80A520", VA = "0x18080B520")]
public static void Reduce(ulong[] xx, ulong[] z)
{
int length = xx.Length;
ulong num = xx[3];
ulong num2 = xx[7];
num2 = num;
z[0] = num2;
z[1] = num2;
z[2] = num2;
z[3] = num;
}
// Token: 0x0600AB4A RID: 43850 RVA: 0x00250F24 File Offset: 0x0024F124
[Token(Token = "0x600AB4A")]
[Address(RVA = "0x80B470", Offset = "0x80A470", VA = "0x18080B470")]
public static void Reduce23(ulong[] z, int zOff)
{
int length = z.Length;
ulong num;
z[0] = num;
}
// Token: 0x0600AB4B RID: 43851 RVA: 0x00250F48 File Offset: 0x0024F148
[Token(Token = "0x600AB4B")]
[Address(RVA = "0x80B780", Offset = "0x80A780", VA = "0x18080B780")]
public static void Sqrt(ulong[] x, ulong[] z)
{
ulong num = Interleave.Unshuffle(x[0]);
ulong num2 = x[1];
ulong num3 = Interleave.Unshuffle(num2);
ulong num4 = Interleave.Unshuffle(x[2]);
ulong num5 = x[3];
ulong num6 = Interleave.Unshuffle(num5);
ulong[] array = Nat256.CreateExt64();
int[] array2 = new int[3];
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.E0219F11D9EECC43022AA94967780250AC270D4B).FieldHandle);
int num7 = 0;
int length = array2.Length;
if (num7 < length)
{
int num8 = array2[num7];
int num9 = num8 + 1;
num8 += 3;
num7++;
}
SecT233Field.Reduce(array, z);
}
// Token: 0x0600AB4C RID: 43852 RVA: 0x00251004 File Offset: 0x0024F204
[Token(Token = "0x600AB4C")]
[Address(RVA = "0x80BB40", Offset = "0x80AB40", VA = "0x18080BB40")]
public static void Square(ulong[] x, ulong[] z)
{
ulong[] array = Nat256.CreateExt64();
SecT233Field.ImplSquare(x, array);
SecT233Field.Reduce(array, z);
}
// Token: 0x0600AB4D RID: 43853 RVA: 0x00251028 File Offset: 0x0024F228
[Token(Token = "0x600AB4D")]
[Address(RVA = "0x7BBEA0", Offset = "0x7BAEA0", VA = "0x1807BBEA0")]
public static void SquareAddToExt(ulong[] x, ulong[] zz)
{
ulong[] array = Nat256.CreateExt64();
SecT233Field.ImplSquare(x, array);
SecT233Field.AddExt(zz, array, zz);
}
// Token: 0x0600AB4E RID: 43854 RVA: 0x0025104C File Offset: 0x0024F24C
[Token(Token = "0x600AB4E")]
[Address(RVA = "0x80BAB0", Offset = "0x80AAB0", VA = "0x18080BAB0")]
public static void SquareN(ulong[] x, int n, ulong[] z)
{
ulong[] array = Nat256.CreateExt64();
SecT233Field.Reduce(array, z);
if (n - 1 > 0)
{
SecT233Field.Reduce(array, z);
}
}
// Token: 0x0600AB4F RID: 43855 RVA: 0x00251078 File Offset: 0x0024F278
[Token(Token = "0x600AB4F")]
[Address(RVA = "0x80BB90", Offset = "0x80AB90", VA = "0x18080BB90")]
public static uint Trace(ulong[] x)
{
int length = x.Length;
ulong num = x[2];
throw new NullReferenceException();
}
// Token: 0x0600AB50 RID: 43856 RVA: 0x0025109C File Offset: 0x0024F29C
[Token(Token = "0x600AB50")]
[Address(RVA = "0x80A350", Offset = "0x809350", VA = "0x18080A350")]
protected static void ImplCompactExt(ulong[] zz)
{
int length = zz.Length;
ulong num = zz[1];
ulong num2 = zz[2];
ulong num3 = zz[3];
ulong num4 = zz[4];
ulong num5 = zz[5];
ulong num6 = zz[6];
ulong num7 = zz[7];
num = num2;
zz[1] = num;
zz[2] = num2;
zz[3] = num3;
zz[4] = num4;
zz[5] = num5;
zz[6] = num6;
zz[7] = num7;
}
// Token: 0x0600AB51 RID: 43857 RVA: 0x00251140 File Offset: 0x0024F340
[Token(Token = "0x600AB51")]
[Address(RVA = "0x80A5A0", Offset = "0x8095A0", VA = "0x18080A5A0")]
protected static void ImplExpand(ulong[] x, ulong[] z)
{
int length = x.Length;
ulong num = x[0];
ulong num2 = x[1];
ulong num3 = x[2];
z[0] = num;
num = num2;
z[1] = num;
z[2] = num2;
z[3] = num3;
}
// Token: 0x0600AB52 RID: 43858 RVA: 0x00251198 File Offset: 0x0024F398
[Token(Token = "0x600AB52")]
[Address(RVA = "0x80A6F0", Offset = "0x8096F0", VA = "0x18080A6F0")]
protected static void ImplMultiply(ulong[] x, ulong[] y, ulong[] zz)
{
ulong[] array = new ulong[4];
ulong[] array2 = new ulong[4];
SecT233Field.ImplExpand(x, array);
SecT233Field.ImplExpand(y, array2);
ulong num = array2[0];
ulong num2 = array[0];
int num3 = 0;
SecT233Field.ImplMulwAcc(num2, num, zz, num3);
ulong num4 = array2[1];
SecT233Field.ImplMulwAcc(array[1], num4, zz, 1);
ulong num5 = array2[2];
SecT233Field.ImplMulwAcc(array[2], num5, zz, 2);
ulong num6 = array2[3];
SecT233Field.ImplMulwAcc(array[3], num6, zz, 3);
int length = zz.Length;
int length2 = array.Length;
int length3 = array2.Length;
ulong num7 = array[1];
ulong num8 = array2[1];
uint num9;
SecT233Field.ImplMulwAcc(num7, num8, zz, (int)num9);
int length4 = array.Length;
int length5 = array2.Length;
ulong num10 = array[3];
ulong num11 = array2[2];
uint num12;
SecT233Field.ImplMulwAcc(num10, num11, zz, (int)num12);
int length6 = zz.Length;
uint num13;
num13 += (uint)(-2);
int length7 = array.Length;
ulong num14 = array[2];
int length8 = array2.Length;
ulong num15 = array2[2];
ulong num16 = array2[1];
uint num17;
SecT233Field.ImplMulwAcc(num14, num16, zz, (int)num17);
ulong[] array3 = new ulong[3];
int num18 = 0;
SecT233Field.ImplMulwAcc(num14, num15, array3, num18);
num15 = num16;
uint num19;
SecT233Field.ImplMulwAcc(num14, num15, array3, (int)num19);
int length9 = array3.Length;
ulong num20 = zz[3];
zz[3] = num20;
ulong num21 = zz[4];
zz[4] = num21;
SecT233Field.ImplCompactExt(zz);
}
// Token: 0x0600AB53 RID: 43859 RVA: 0x00251340 File Offset: 0x0024F540
[Token(Token = "0x600AB53")]
[Address(RVA = "0x80ACF0", Offset = "0x809CF0", VA = "0x18080ACF0")]
protected static void ImplMulwAcc(ulong x, ulong y, ulong[] z, int zOff)
{
ulong[] array = new ulong[8];
array[1] = y;
int num = array.Length;
array[2] = (ulong)num;
int length = array.Length;
array[3] = (ulong)num;
num = length;
array[4] = (ulong)num;
int length2 = array.Length;
array[5] = (ulong)num;
num = length2;
array[6] = (ulong)num;
int length3 = array.Length;
array[7] = (ulong)num;
int num2 = zOff + 1;
}
// Token: 0x0600AB54 RID: 43860 RVA: 0x002513B8 File Offset: 0x0024F5B8
[Token(Token = "0x600AB54")]
[Address(RVA = "0x7BB210", Offset = "0x7BA210", VA = "0x1807BB210")]
protected static void ImplSquare(ulong[] x, ulong[] zz)
{
ulong num = x[0];
int num2 = 0;
Interleave.Expand64To128(num, zz, num2);
Interleave.Expand64To128(x[1], zz, 2);
ulong num3 = x[2];
Interleave.Expand64To128(num3, zz, 4);
ulong num4 = Interleave.Expand32to64((uint)num3);
zz[6] = num4;
uint num5 = Interleave.Expand16to32((uint)num3);
zz[7] = (ulong)num5;
}
// Token: 0x0600AB55 RID: 43861 RVA: 0x0025141C File Offset: 0x0024F61C
[Token(Token = "0x600AB55")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public SecT233Field()
{
}
// Token: 0x04006DDA RID: 28122
[Token(Token = "0x4006DDA")]
private const ulong M41 = 2199023255551UL;
// Token: 0x04006DDB RID: 28123
[Token(Token = "0x4006DDB")]
private const ulong M59 = 576460752303423487UL;
}
}
@@ -0,0 +1,597 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B71 RID: 7025
[Token(Token = "0x2001B71")]
internal class SecT233FieldElement : AbstractF2mFieldElement
{
// Token: 0x0600AB56 RID: 43862 RVA: 0x00251430 File Offset: 0x0024F630
[Token(Token = "0x600AB56")]
[Address(RVA = "0x80A150", Offset = "0x809150", VA = "0x18080A150")]
public SecT233FieldElement(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600AB56)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_30:
stloc:ArgumentException(var_3_3F, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecT233FieldElement"), ldstr:string("x")))
}
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: 0x0600AB57 RID: 43863 RVA: 0x0025147C File Offset: 0x0024F67C
[Token(Token = "0x600AB57")]
[Address(RVA = "0x7B9E30", Offset = "0x7B8E30", VA = "0x1807B9E30")]
public SecT233FieldElement()
{
ulong[] array = Nat256.Create64();
this.x = array;
}
// Token: 0x0600AB58 RID: 43864 RVA: 0x002514A0 File Offset: 0x0024F6A0
[Token(Token = "0x600AB58")]
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
protected internal SecT233FieldElement(ulong[] x)
{
this.x = x;
}
// Token: 0x17001B09 RID: 6921
// (get) Token: 0x0600AB59 RID: 43865 RVA: 0x002514BC File Offset: 0x0024F6BC
[Token(Token = "0x17001B09")]
public override bool IsOne
{
[Token(Token = "0x600AB59")]
[Address(RVA = "0x7B9EA0", Offset = "0x7B8EA0", VA = "0x1807B9EA0", Slot = "17")]
get
{
return Nat256.IsOne64(this.x);
}
}
// Token: 0x17001B0A RID: 6922
// (get) Token: 0x0600AB5A RID: 43866 RVA: 0x002514D4 File Offset: 0x0024F6D4
[Token(Token = "0x17001B0A")]
public override bool IsZero
{
[Token(Token = "0x600AB5A")]
[Address(RVA = "0x7B9EB0", Offset = "0x7B8EB0", VA = "0x1807B9EB0", Slot = "18")]
get
{
return Nat256.IsZero64(this.x);
}
}
// Token: 0x0600AB5B RID: 43867 RVA: 0x002514EC File Offset: 0x0024F6EC
[Token(Token = "0x600AB5B")]
[Address(RVA = "0x7B9C40", Offset = "0x7B8C40", VA = "0x1807B9C40", Slot = "24")]
public override bool TestBitZero()
{
ulong[] array = this.x;
throw new NullReferenceException();
}
// Token: 0x0600AB5C RID: 43868 RVA: 0x00251508 File Offset: 0x0024F708
[Token(Token = "0x600AB5C")]
[Address(RVA = "0x7B9C80", Offset = "0x7B8C80", VA = "0x1807B9C80", Slot = "4")]
public override BigInteger ToBigInteger()
{
return Nat256.ToBigInteger64(this.x);
}
// Token: 0x17001B0B RID: 6923
// (get) Token: 0x0600AB5D RID: 43869 RVA: 0x00251520 File Offset: 0x0024F720
[Token(Token = "0x17001B0B")]
public override string FieldName
{
[Token(Token = "0x600AB5D")]
[Address(RVA = "0x80A270", Offset = "0x809270", VA = "0x18080A270", Slot = "5")]
get
{
return "SecT233Field";
}
}
// Token: 0x17001B0C RID: 6924
// (get) Token: 0x0600AB5E RID: 43870 RVA: 0x00251534 File Offset: 0x0024F734
[Token(Token = "0x17001B0C")]
public override int FieldSize
{
[Token(Token = "0x600AB5E")]
[Address(RVA = "0x80A2A0", Offset = "0x8092A0", VA = "0x18080A2A0", Slot = "6")]
get
{
return 233;
}
}
// Token: 0x0600AB5F RID: 43871 RVA: 0x00251548 File Offset: 0x0024F748
[Token(Token = "0x600AB5F")]
[Address(RVA = "0x809630", Offset = "0x808630", VA = "0x180809630", Slot = "7")]
public override ECFieldElement Add(ECFieldElement b)
{
ulong[] array;
do
{
array = Nat256.Create64();
ulong[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecT233FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecT233FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600AB60 RID: 43872 RVA: 0x00251590 File Offset: 0x0024F790
[Token(Token = "0x600AB60")]
[Address(RVA = "0x8094C0", Offset = "0x8084C0", VA = "0x1808094C0", Slot = "8")]
public override ECFieldElement AddOne()
{
ulong[] array = Nat256.Create64();
ulong[] array2 = this.x;
ulong num = array2[0];
array[0] = num;
ulong num2 = array2[1];
array[1] = num2;
ulong num3 = array2[2];
array[2] = num3;
ulong num4 = array2[3];
array[3] = num4;
new SecT233FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600AB61 RID: 43873 RVA: 0x00251604 File Offset: 0x0024F804
[Token(Token = "0x600AB61")]
[Address(RVA = "0x7B9C20", Offset = "0x7B8C20", VA = "0x1807B9C20", Slot = "9")]
public override ECFieldElement Subtract(ECFieldElement b)
{
/*
An exception occurred when decompiling this method (0600AB61)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233FieldElement::Subtract(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT233FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AB62 RID: 43874 RVA: 0x00251618 File Offset: 0x0024F818
[Token(Token = "0x600AB62")]
[Address(RVA = "0x809C00", Offset = "0x808C00", VA = "0x180809C00", Slot = "10")]
public override ECFieldElement Multiply(ECFieldElement b)
{
ulong[] array;
do
{
array = Nat256.Create64();
ulong[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecT233FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
SecT233Field.Reduce(Nat256.CreateExt64(), array);
new SecT233FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600AB63 RID: 43875 RVA: 0x0025166C File Offset: 0x0024F86C
[Token(Token = "0x600AB63")]
[Address(RVA = "0x7B9440", Offset = "0x7B8440", VA = "0x1807B9440", Slot = "19")]
public override ECFieldElement MultiplyMinusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
{
/*
An exception occurred when decompiling this method (0600AB63)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233FieldElement::MultiplyMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT233FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AB64 RID: 43876 RVA: 0x00251680 File Offset: 0x0024F880
[Token(Token = "0x600AB64")]
[Address(RVA = "0x809950", Offset = "0x808950", VA = "0x180809950", Slot = "20")]
public override ECFieldElement MultiplyPlusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
{
do
{
ulong[] array = this.x;
}
while (b == 0 || b == 0 || x == 0 || x == 0 || y == 0 || y == 0);
ulong[] array2 = Nat256.CreateExt64();
ulong[] array3 = Nat256.CreateExt64();
SecT233Field.AddExt(array2, array3, array2);
ulong[] array4 = Nat256.CreateExt64();
SecT233Field.AddExt(array2, array4, array2);
ulong[] array5 = Nat256.Create64();
SecT233Field.Reduce(array2, array5);
new SecT233FieldElement().x = array5;
throw new NullReferenceException();
}
// Token: 0x0600AB65 RID: 43877 RVA: 0x00251714 File Offset: 0x0024F914
[Token(Token = "0x600AB65")]
[Address(RVA = "0x7B91D0", Offset = "0x7B81D0", VA = "0x1807B91D0", Slot = "11")]
public override ECFieldElement Divide(ECFieldElement b)
{
ECFieldElement ecfieldElement = b.Square();
BigInteger bigInteger = base.ToBigInteger();
throw new NullReferenceException();
}
// Token: 0x0600AB66 RID: 43878 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600AB66")]
[Address(RVA = "0x4A65C0", Offset = "0x4A55C0", VA = "0x1804A65C0", Slot = "12")]
public override ECFieldElement Negate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600AB67 RID: 43879 RVA: 0x00251734 File Offset: 0x0024F934
[Token(Token = "0x600AB67")]
[Address(RVA = "0x80A050", Offset = "0x809050", VA = "0x18080A050", Slot = "13")]
public override ECFieldElement Square()
{
/*
An exception occurred when decompiling this method (0600AB67)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233FieldElement::Square()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat256::Create64))
stloc:uint64[](var_2_0E, ldfld:uint64[](SecT233FieldElement::x, ldloc:SecT233FieldElement(this)))
stloc:uint64[](var_4_16, call:uint64[](Nat256::CreateExt64))
call:void(SecT233Field::ImplSquare, ldloc:uint64[](var_2_0E), ldloc:uint64[](var_4_16))
call:void(SecT233Field::Reduce, ldloc:uint64[](var_4_16), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT233FieldElement::x, newobj:SecT233FieldElement(SecT233FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x0600AB68 RID: 43880 RVA: 0x00251774 File Offset: 0x0024F974
[Token(Token = "0x600AB68")]
[Address(RVA = "0x7B98C0", Offset = "0x7B88C0", VA = "0x1807B98C0", Slot = "21")]
public override ECFieldElement SquareMinusProduct(ECFieldElement x, ECFieldElement y)
{
/*
An exception occurred when decompiling this method (0600AB68)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233FieldElement::SquareMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT233FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AB69 RID: 43881 RVA: 0x00251788 File Offset: 0x0024F988
[Token(Token = "0x600AB69")]
[Address(RVA = "0x809DB0", Offset = "0x808DB0", VA = "0x180809DB0", Slot = "22")]
public override ECFieldElement SquarePlusProduct(ECFieldElement x, ECFieldElement y)
{
do
{
ulong[] array = this.x;
}
while (x == 0 || x == 0 || y == 0 || y == 0);
ulong[] array2 = Nat256.CreateExt64();
ulong[] array3 = Nat256.CreateExt64();
SecT233Field.AddExt(array2, array3, array2);
ulong[] array4 = Nat256.CreateExt64();
SecT233Field.AddExt(array2, array4, array2);
ulong[] array5 = Nat256.Create64();
SecT233Field.Reduce(array2, array5);
new SecT233FieldElement().x = array5;
throw new NullReferenceException();
}
// Token: 0x0600AB6A RID: 43882 RVA: 0x00251810 File Offset: 0x0024FA10
[Token(Token = "0x600AB6A")]
[Address(RVA = "0x809FD0", Offset = "0x808FD0", VA = "0x180809FD0", Slot = "23")]
public override ECFieldElement SquarePow(int pow)
{
/*
An exception occurred when decompiling this method (0600AB6A)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233FieldElement::SquarePow(System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat256::Create64))
call:void(SecT233Field::SquareN, ldfld:uint64[](SecT233FieldElement::x, ldloc:SecT233FieldElement(this)), ldloc:int32(pow), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT233FieldElement::x, newobj:SecT233FieldElement(SecT233FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x0600AB6B RID: 43883 RVA: 0x0025183C File Offset: 0x0024FA3C
[Token(Token = "0x600AB6B")]
[Address(RVA = "0x80A0F0", Offset = "0x8090F0", VA = "0x18080A0F0", Slot = "28")]
public override int Trace()
{
ulong[] array = this.x;
int length = array.Length;
ulong num = array[2];
throw new NullReferenceException();
}
// Token: 0x0600AB6C RID: 43884 RVA: 0x00251864 File Offset: 0x0024FA64
[Token(Token = "0x600AB6C")]
[Address(RVA = "0x8098E0", Offset = "0x8088E0", VA = "0x1808098E0", Slot = "14")]
public override ECFieldElement Invert()
{
/*
An exception occurred when decompiling this method (0600AB6C)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233FieldElement::Invert()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat256::Create64))
call:void(SecT233Field::Invert, ldfld:uint64[](SecT233FieldElement::x, ldloc:SecT233FieldElement(this)), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT233FieldElement::x, newobj:SecT233FieldElement(SecT233FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x0600AB6D RID: 43885 RVA: 0x00251890 File Offset: 0x0024FA90
[Token(Token = "0x600AB6D")]
[Address(RVA = "0x809D40", Offset = "0x808D40", VA = "0x180809D40", Slot = "15")]
public override ECFieldElement Sqrt()
{
/*
An exception occurred when decompiling this method (0600AB6D)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233FieldElement::Sqrt()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat256::Create64))
call:void(SecT233Field::Sqrt, ldfld:uint64[](SecT233FieldElement::x, ldloc:SecT233FieldElement(this)), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT233FieldElement::x, newobj:SecT233FieldElement(SecT233FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x17001B0D RID: 6925
// (get) Token: 0x0600AB6E RID: 43886 RVA: 0x002518BC File Offset: 0x0024FABC
[Token(Token = "0x17001B0D")]
public virtual int Representation
{
[Token(Token = "0x600AB6E")]
[Address(RVA = "0x4E86A0", Offset = "0x4E76A0", VA = "0x1804E86A0", Slot = "29")]
get
{
return 2;
}
}
// Token: 0x17001B0E RID: 6926
// (get) Token: 0x0600AB6F RID: 43887 RVA: 0x002518CC File Offset: 0x0024FACC
[Token(Token = "0x17001B0E")]
public virtual int M
{
[Token(Token = "0x600AB6F")]
[Address(RVA = "0x80A2A0", Offset = "0x8092A0", VA = "0x18080A2A0", Slot = "30")]
get
{
return 233;
}
}
// Token: 0x17001B0F RID: 6927
// (get) Token: 0x0600AB70 RID: 43888 RVA: 0x002518E0 File Offset: 0x0024FAE0
[Token(Token = "0x17001B0F")]
public virtual int K1
{
[Token(Token = "0x600AB70")]
[Address(RVA = "0x80A2B0", Offset = "0x8092B0", VA = "0x18080A2B0", Slot = "31")]
get
{
return 74;
}
}
// Token: 0x17001B10 RID: 6928
// (get) Token: 0x0600AB71 RID: 43889 RVA: 0x002518F0 File Offset: 0x0024FAF0
[Token(Token = "0x17001B10")]
public virtual int K2
{
[Token(Token = "0x600AB71")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "32")]
get
{
return 0;
}
}
// Token: 0x17001B11 RID: 6929
// (get) Token: 0x0600AB72 RID: 43890 RVA: 0x00251900 File Offset: 0x0024FB00
[Token(Token = "0x17001B11")]
public virtual int K3
{
[Token(Token = "0x600AB72")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "33")]
get
{
return 0;
}
}
// Token: 0x0600AB73 RID: 43891 RVA: 0x00251910 File Offset: 0x0024FB10
[Token(Token = "0x600AB73")]
[Address(RVA = "0x8097E0", Offset = "0x8087E0", VA = "0x1808097E0", Slot = "0")]
public override bool Equals(object obj)
{
/*
An exception occurred when decompiling this method (0600AB73)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233FieldElement::Equals(System.Object)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT233FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AB74 RID: 43892 RVA: 0x0025192C File Offset: 0x0024FB2C
[Token(Token = "0x600AB74")]
[Address(RVA = "0x809750", Offset = "0x808750", VA = "0x180809750", Slot = "25")]
public override bool Equals(ECFieldElement other)
{
/*
An exception occurred when decompiling this method (0600AB74)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT233FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AB75 RID: 43893 RVA: 0x00251948 File Offset: 0x0024FB48
[Token(Token = "0x600AB75")]
[Address(RVA = "0x7B9220", Offset = "0x7B8220", VA = "0x1807B9220", Slot = "34")]
public virtual bool Equals(SecT233FieldElement other)
{
if (this != other)
{
if (other != 0)
{
ulong[] array = other.x;
return Nat256.Eq64(this.x, array);
}
}
return true;
}
// Token: 0x0600AB76 RID: 43894 RVA: 0x00251974 File Offset: 0x0024FB74
[Token(Token = "0x600AB76")]
[Address(RVA = "0x809870", Offset = "0x808870", VA = "0x180809870", Slot = "2")]
public override int GetHashCode()
{
ulong[] array = this.x;
int num = 0;
return Arrays.GetHashCode(array, num, 4);
}
// Token: 0x04006DDC RID: 28124
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006DDC")]
protected internal readonly ulong[] x;
}
}
@@ -0,0 +1,410 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Multiplier;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B72 RID: 7026
[Token(Token = "0x2001B72")]
internal class SecT233K1Curve : AbstractF2mCurve
{
// Token: 0x0600AB77 RID: 43895 RVA: 0x00251994 File Offset: 0x0024FB94
[Token(Token = "0x600AB77")]
[Address(RVA = "0x80C1B0", Offset = "0x80B1B0", VA = "0x18080C1B0")]
public SecT233K1Curve()
{
int num = 0;
int num2 = 0;
base..ctor(233, 74, num2, num);
int num3;
int num4;
SecT233K1Point secT233K1Point = new SecT233K1Point(this, num3, num4, num != 0);
num4 = 0;
num3 = 0;
this.m_infinity = secT233K1Point;
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
int fieldSize2 = this.FieldSize;
this.m_b = fieldSize2;
byte[] array = Hex.Decode("8000000000000000000000000000069D5BB915BCD46EFB1AD5F173ABDF");
BigInteger bigInteger = new BigInteger(1, array);
this.m_order = bigInteger;
BigInteger bigInteger2;
this.m_cofactor = bigInteger2;
this.m_coord = (int)((ulong)6L);
}
// Token: 0x0600AB78 RID: 43896 RVA: 0x00251A1C File Offset: 0x0024FC1C
[Token(Token = "0x600AB78")]
[Address(RVA = "0x80BBE0", Offset = "0x80ABE0", VA = "0x18080BBE0", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600AB78)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233K1Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_1_01, ldc.i4:int32(0))
stloc:SecT233K1Point(var_3_0F, newobj:SecT233K1Point(SecT233K1Point::.ctor, ldloc:SecT233K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
stloc:int32(var_4, ldc.i4:int32(0))
stloc:int32(var_5, ldc.i4:int32(0))
stfld:SecT233K1Point(SecT233K1Curve::m_infinity, ldloc:SecT233K1Curve(var_0), ldloc:SecT233K1Point(var_3_0F))
stloc:int32(var_6_23, callvirtgetter:int32(SecT233K1Curve::get_FieldSize, ldloc:SecT233K1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT233K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_6_23))
stloc:int32(var_7_33, callvirtgetter:int32(SecT233K1Curve::get_FieldSize, ldloc:SecT233K1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT233K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_7_33))
stloc:uint8[](var_8_47, call:uint8[](Hex::Decode, ldstr:string("8000000000000000000000000000069D5BB915BCD46EFB1AD5F173ABDF")))
stloc:BigInteger(var_9_51, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_8_47)))
stfld:BigInteger(ECCurve::m_order, ldloc:SecT233K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_9_51))
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT233K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_10))
stfld:int32(ECCurve::m_coord, ldloc:SecT233K1Curve[exp:ECCurve](var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](6)))
}
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: 0x0600AB79 RID: 43897 RVA: 0x00251A94 File Offset: 0x0024FC94
[Token(Token = "0x600AB79")]
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 6;
}
// Token: 0x0600AB7A RID: 43898 RVA: 0x00251AA8 File Offset: 0x0024FCA8
[Token(Token = "0x600AB7A")]
[Address(RVA = "0x80BFD0", Offset = "0x80AFD0", VA = "0x18080BFD0", Slot = "15")]
protected override ECMultiplier CreateDefaultMultiplier()
{
/*
An exception occurred when decompiling this method (0600AB7A)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Multiplier.ECMultiplier BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233K1Curve::CreateDefaultMultiplier()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:WTauNafMultiplier(var_0_05, newobj:WTauNafMultiplier(WTauNafMultiplier::.ctor))
}
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: 0x17001B12 RID: 6930
// (get) Token: 0x0600AB7B RID: 43899 RVA: 0x00251ABC File Offset: 0x0024FCBC
[Token(Token = "0x17001B12")]
public override int FieldSize
{
[Token(Token = "0x600AB7B")]
[Address(RVA = "0x80A2A0", Offset = "0x8092A0", VA = "0x18080A2A0", Slot = "4")]
get
{
return 233;
}
}
// Token: 0x0600AB7C RID: 43900 RVA: 0x00251AD0 File Offset: 0x0024FCD0
[Token(Token = "0x600AB7C")]
[Address(RVA = "0x80C150", Offset = "0x80B150", VA = "0x18080C150", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600AB7C)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233K1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT233FieldElement(var_0_06, newobj:SecT233FieldElement(SecT233FieldElement::.ctor, ldloc:BigInteger(x)))
}
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: 0x0600AB7D RID: 43901 RVA: 0x00251AE4 File Offset: 0x0024FCE4
[Token(Token = "0x600AB7D")]
[Address(RVA = "0x80C020", Offset = "0x80B020", VA = "0x18080C020", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600AB7D)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233K1Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT233K1Point(var_0_09, newobj:SecT233K1Point(SecT233K1Point::.ctor, ldloc:SecT233K1Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600AB7E RID: 43902 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600AB7E")]
[Address(RVA = "0x80C0B0", Offset = "0x80B0B0", VA = "0x18080C0B0", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x17001B13 RID: 6931
// (get) Token: 0x0600AB7F RID: 43903 RVA: 0x00251AFC File Offset: 0x0024FCFC
[Token(Token = "0x17001B13")]
public override ECPoint Infinity
{
[Token(Token = "0x600AB7F")]
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600AB7F)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233K1Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT233K1Point(var_0_06, ldfld:SecT233K1Point(SecT233K1Curve::m_infinity, ldloc:SecT233K1Curve(this)))
}
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: 0x17001B14 RID: 6932
// (get) Token: 0x0600AB80 RID: 43904 RVA: 0x00251B10 File Offset: 0x0024FD10
[Token(Token = "0x17001B14")]
public override bool IsKoblitz
{
[Token(Token = "0x600AB80")]
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "39")]
get
{
return true;
}
}
// Token: 0x17001B15 RID: 6933
// (get) Token: 0x0600AB81 RID: 43905 RVA: 0x00251B20 File Offset: 0x0024FD20
[Token(Token = "0x17001B15")]
public virtual int M
{
[Token(Token = "0x600AB81")]
[Address(RVA = "0x80A2A0", Offset = "0x8092A0", VA = "0x18080A2A0", Slot = "40")]
get
{
return 233;
}
}
// Token: 0x17001B16 RID: 6934
// (get) Token: 0x0600AB82 RID: 43906 RVA: 0x00251B34 File Offset: 0x0024FD34
[Token(Token = "0x17001B16")]
public virtual bool IsTrinomial
{
[Token(Token = "0x600AB82")]
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "41")]
get
{
return true;
}
}
// Token: 0x17001B17 RID: 6935
// (get) Token: 0x0600AB83 RID: 43907 RVA: 0x00251B44 File Offset: 0x0024FD44
[Token(Token = "0x17001B17")]
public virtual int K1
{
[Token(Token = "0x600AB83")]
[Address(RVA = "0x80A2B0", Offset = "0x8092B0", VA = "0x18080A2B0", Slot = "42")]
get
{
return 74;
}
}
// Token: 0x17001B18 RID: 6936
// (get) Token: 0x0600AB84 RID: 43908 RVA: 0x00251B54 File Offset: 0x0024FD54
[Token(Token = "0x17001B18")]
public virtual int K2
{
[Token(Token = "0x600AB84")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "43")]
get
{
return 0;
}
}
// Token: 0x17001B19 RID: 6937
// (get) Token: 0x0600AB85 RID: 43909 RVA: 0x00251B64 File Offset: 0x0024FD64
[Token(Token = "0x17001B19")]
public virtual int K3
{
[Token(Token = "0x600AB85")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "44")]
get
{
return 0;
}
}
// Token: 0x0600AB86 RID: 43910 RVA: 0x00251B74 File Offset: 0x0024FD74
[Token(Token = "0x600AB86")]
[Address(RVA = "0x80BD70", Offset = "0x80AD70", VA = "0x18080BD70", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
ulong[] array;
int num;
for (;;)
{
array = new ulong[points];
num = 0;
if (len <= 0)
{
goto IL_49;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
if (y != 0 && y != 0)
{
break;
}
}
}
num += 8;
IL_49:
SecT233K1Curve.SecT233K1LookupTable secT233K1LookupTable;
secT233K1LookupTable.m_outer = 0;
secT233K1LookupTable.m_table = array;
secT233K1LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x04006DDD RID: 28125
[Token(Token = "0x4006DDD")]
private const int SECT233K1_DEFAULT_COORDS = 6;
// Token: 0x04006DDE RID: 28126
[Token(Token = "0x4006DDE")]
private const int SECT233K1_FE_LONGS = 4;
// Token: 0x04006DDF RID: 28127
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4006DDF")]
protected readonly SecT233K1Point m_infinity;
// Token: 0x02001B73 RID: 7027
[Token(Token = "0x2001B73")]
private class SecT233K1LookupTable : ECLookupTable
{
// Token: 0x0600AB87 RID: 43911 RVA: 0x00251BE8 File Offset: 0x0024FDE8
[Token(Token = "0x600AB87")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecT233K1LookupTable(SecT233K1Curve outer, ulong[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001B1A RID: 6938
// (get) Token: 0x0600AB88 RID: 43912 RVA: 0x00251C10 File Offset: 0x0024FE10
[Token(Token = "0x17001B1A")]
public virtual int Size
{
[Token(Token = "0x600AB88")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600AB89 RID: 43913 RVA: 0x00251C24 File Offset: 0x0024FE24
[Token(Token = "0x600AB89")]
[Address(RVA = "0x80C320", Offset = "0x80B320", VA = "0x18080C320", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
ulong[] array = Nat256.Create64();
ulong[] array2 = Nat256.Create64();
int num = 0;
int num2 = 0;
if (this.m_size > num2)
{
int num3 = 0;
ulong[] table = this.m_table;
ulong[] table2 = this.m_table;
num3++;
num += 8;
num2++;
}
SecT233K1Curve outer = this.m_outer;
new SecT233FieldElement().x = array;
new SecT233FieldElement().x = array2;
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006DE0 RID: 28128
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006DE0")]
private readonly SecT233K1Curve m_outer;
// Token: 0x04006DE1 RID: 28129
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006DE1")]
private readonly ulong[] m_table;
// Token: 0x04006DE2 RID: 28130
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006DE2")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,296 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B74 RID: 7028
[Token(Token = "0x2001B74")]
internal class SecT233K1Point : AbstractF2mPoint
{
// Token: 0x0600AB8A RID: 43914 RVA: 0x00251CA4 File Offset: 0x0024FEA4
[Token(Token = "0x600AB8A")]
[Address(RVA = "0x80DA20", Offset = "0x80CA20", VA = "0x18080DA20")]
public SecT233K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600AB8B RID: 43915 RVA: 0x00251CB4 File Offset: 0x0024FEB4
[Token(Token = "0x600AB8B")]
[Address(RVA = "0x80D960", Offset = "0x80C960", VA = "0x18080D960")]
public SecT233K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600AB8B)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233K1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600AB8C RID: 43916 RVA: 0x00251CDC File Offset: 0x0024FEDC
[Token(Token = "0x600AB8C")]
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
internal SecT233K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600AB8D RID: 43917 RVA: 0x00251CEC File Offset: 0x0024FEEC
[Token(Token = "0x600AB8D")]
[Address(RVA = "0x80CCE0", Offset = "0x80BCE0", VA = "0x18080CCE0", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600AB8D)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233K1Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT233K1Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT233K1Point[exp:ECPoint](this)))
}
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: 0x17001B1B RID: 6939
// (get) Token: 0x0600AB8E RID: 43918 RVA: 0x00251D08 File Offset: 0x0024FF08
[Token(Token = "0x17001B1B")]
public override ECFieldElement YCoord
{
[Token(Token = "0x600AB8E")]
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
get
{
ECFieldElement x = this.m_x;
ECFieldElement y = this.m_y;
if (!base.IsInfinity && !x.IsOne)
{
int fieldSize = y.FieldSize;
if (this.m_zs[0].BitLength == 0)
{
}
}
return y;
}
}
// Token: 0x17001B1C RID: 6940
// (get) Token: 0x0600AB8F RID: 43919 RVA: 0x00251D58 File Offset: 0x0024FF58
[Token(Token = "0x17001B1C")]
protected internal override bool CompressionYTilde
{
[Token(Token = "0x600AB8F")]
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
get
{
if (!this.m_x.IsOne)
{
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement;
ECFieldElement ecfieldElement2;
return ecfieldElement != ecfieldElement2;
}
throw new NullReferenceException();
}
}
// Token: 0x0600AB90 RID: 43920 RVA: 0x00251D8C File Offset: 0x0024FF8C
[Token(Token = "0x600AB90")]
[Address(RVA = "0x80C4F0", Offset = "0x80B4F0", VA = "0x18080C4F0", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
while (!base.IsInfinity && !b.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
ECFieldElement x2 = b.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
ECFieldElement[] zs2 = b.m_zs;
ECFieldElement y2 = b.m_y;
ECFieldElement ecfieldElement2 = zs2[0];
if (ecfieldElement.BitLength == 0)
{
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
}
if (ecfieldElement2.BitLength != 0)
{
continue;
}
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
int fieldSize2 = ecfieldElement5.FieldSize;
if (fieldSize2 == 0)
{
if (!x2.IsOne)
{
sbyte b3;
sbyte b2 = b3;
TypeCode typeCode = b2.GetTypeCode();
int fieldSize3 = y.FieldSize;
}
bool flag2 = this.IsNormalized();
ushort num;
TypeCode typeCode2 = num.GetTypeCode();
ushort num2;
TypeCode typeCode3 = num2.GetTypeCode().GetTypeCode();
short num3;
TypeCode typeCode4 = num3.GetTypeCode();
sbyte b4;
TypeCode typeCode5 = b4.GetTypeCode().GetTypeCode();
byte b5;
TypeCode typeCode6 = b5.GetTypeCode();
BigInteger one = BigInteger.One;
int num4 = flag.CompareTo(one);
ECFieldElement[] array = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
ECPoint ecpoint;
if (ecpoint == 0)
{
break;
}
}
if (!x2.IsOne)
{
bool compressionYTilde = b.CompressionYTilde;
break;
}
break;
}
return b;
}
// Token: 0x0600AB91 RID: 43921 RVA: 0x00251F1C File Offset: 0x0025011C
[Token(Token = "0x600AB91")]
[Address(RVA = "0x80D4F0", Offset = "0x80C4F0", VA = "0x18080D4F0", Slot = "30")]
public override ECPoint Twice()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
if (!this.m_x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
int bitLength = ecfieldElement.BitLength;
if (bitLength != 0)
{
int fieldSize = y.Negate().FieldSize;
}
ECFieldElement ecfieldElement2 = ecfieldElement.Negate();
int fieldSize2 = y.FieldSize;
if (bitLength != 0)
{
}
sbyte b2;
sbyte b = b2;
int fieldSize3 = y.FieldSize;
ECFieldElement ecfieldElement3 = ecfieldElement2.Negate();
ushort num;
TypeCode typeCode = num.GetTypeCode().GetTypeCode();
sbyte b3;
TypeCode typeCode2 = b3.GetTypeCode().GetTypeCode().GetTypeCode();
(new ECFieldElement[1])[0] = b;
bool withCompression = this.m_withCompression;
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600AB92 RID: 43922 RVA: 0x00251FE4 File Offset: 0x002501E4
[Token(Token = "0x600AB92")]
[Address(RVA = "0x80CF30", Offset = "0x80BF30", VA = "0x18080CF30", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
if (!base.IsInfinity)
{
if (!b.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
if (x.IsOne)
{
return b;
}
ECFieldElement[] zs = b.m_zs;
ECFieldElement x2 = b.m_x;
ECFieldElement ecfieldElement = zs[0];
if (!x2.IsOne && ecfieldElement.BitLength != 0)
{
ECFieldElement[] zs2 = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement2 = zs2[0];
ECFieldElement y2 = b.m_y;
ECFieldElement ecfieldElement3 = x.Negate();
ECFieldElement ecfieldElement4 = y.Negate();
ECFieldElement ecfieldElement5 = ecfieldElement2.Negate();
ECFieldElement ecfieldElement6 = y.Subtract(ecfieldElement2);
int fieldSize = ecfieldElement4.FieldSize;
ECFieldElement ecfieldElement7;
int fieldSize2 = ecfieldElement7.Subtract(ecfieldElement5).FieldSize;
int fieldSize3 = x2.Subtract(ecfieldElement5).FieldSize;
decimal num;
TypeCode typeCode = num.GetTypeCode();
ECFieldElement[] array = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
}
throw new NullReferenceException();
}
return b;
}
// Token: 0x0600AB93 RID: 43923 RVA: 0x00252100 File Offset: 0x00250300
[Token(Token = "0x600AB93")]
[Address(RVA = "0x80CD80", Offset = "0x80BD80", VA = "0x18080CD80", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity && !this.m_x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
bool flag = this.SatisfiesOrder();
int fieldSize = y.FieldSize;
ECFieldElement[] array = new ECFieldElement[1];
if (ecfieldElement != 0)
{
}
array[0] = ecfieldElement;
bool withCompression = this.m_withCompression;
}
throw new IndexOutOfRangeException();
}
}
}
@@ -0,0 +1,387 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B75 RID: 7029
[Token(Token = "0x2001B75")]
internal class SecT233R1Curve : AbstractF2mCurve
{
// Token: 0x0600AB94 RID: 43924 RVA: 0x0025216C File Offset: 0x0025036C
[Token(Token = "0x600AB94")]
[Address(RVA = "0x80DFF0", Offset = "0x80CFF0", VA = "0x18080DFF0")]
public SecT233R1Curve()
{
int num = 0;
int num2 = 0;
base..ctor(233, 74, num2, num);
int num3;
int num4;
SecT233R1Point secT233R1Point = new SecT233R1Point(this, num3, num4, num != 0);
num4 = 0;
num3 = 0;
this.m_infinity = secT233R1Point;
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
byte[] array = Hex.Decode("0066647EDE6C332C7F8C0923BB58213B333B20E9CE4281FE115F7D8F90AD");
BigInteger bigInteger = new BigInteger(1, array);
int fieldSize2 = this.FieldSize;
this.m_b = fieldSize2;
byte[] array2 = Hex.Decode("01000000000000000000000000000013E974E72F8A6922031D2603CFE0D7");
BigInteger bigInteger2 = new BigInteger(1, array2);
this.m_order = bigInteger2;
BigInteger two = BigInteger.Two;
this.m_cofactor = two;
this.m_coord = (int)((ulong)6L);
}
// Token: 0x0600AB95 RID: 43925 RVA: 0x00252210 File Offset: 0x00250410
[Token(Token = "0x600AB95")]
[Address(RVA = "0x80DA40", Offset = "0x80CA40", VA = "0x18080DA40", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600AB95)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233R1Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_1_01, ldc.i4:int32(0))
stloc:SecT233R1Point(var_3_0F, newobj:SecT233R1Point(SecT233R1Point::.ctor, ldloc:SecT233R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
stloc:int32(var_4, ldc.i4:int32(0))
stloc:int32(var_5, ldc.i4:int32(0))
stfld:SecT233R1Point(SecT233R1Curve::m_infinity, ldloc:SecT233R1Curve(var_0), ldloc:SecT233R1Point(var_3_0F))
stloc:int32(var_6_23, callvirtgetter:int32(SecT233R1Curve::get_FieldSize, ldloc:SecT233R1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT233R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_6_23))
stloc:uint8[](var_7_37, call:uint8[](Hex::Decode, ldstr:string("0066647EDE6C332C7F8C0923BB58213B333B20E9CE4281FE115F7D8F90AD")))
stloc:BigInteger(var_8_41, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_7_37)))
stloc:int32(var_9_49, callvirtgetter:int32(SecT233R1Curve::get_FieldSize, ldloc:SecT233R1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT233R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_9_49))
stloc:uint8[](var_10_5D, call:uint8[](Hex::Decode, ldstr:string("01000000000000000000000000000013E974E72F8A6922031D2603CFE0D7")))
stloc:BigInteger(var_11_67, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_10_5D)))
stfld:BigInteger(ECCurve::m_order, ldloc:SecT233R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_11_67))
stloc:BigInteger(var_12_76, ldsfld:BigInteger(BigInteger::Two))
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT233R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_12_76))
stfld:int32(ECCurve::m_coord, ldloc:SecT233R1Curve[exp:ECCurve](var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](6)))
}
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: 0x0600AB96 RID: 43926 RVA: 0x002522A8 File Offset: 0x002504A8
[Token(Token = "0x600AB96")]
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 6;
}
// Token: 0x17001B1D RID: 6941
// (get) Token: 0x0600AB97 RID: 43927 RVA: 0x002522BC File Offset: 0x002504BC
[Token(Token = "0x17001B1D")]
public override ECPoint Infinity
{
[Token(Token = "0x600AB97")]
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600AB97)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233R1Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT233R1Point(var_0_06, ldfld:SecT233R1Point(SecT233R1Curve::m_infinity, ldloc:SecT233R1Curve(this)))
}
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: 0x17001B1E RID: 6942
// (get) Token: 0x0600AB98 RID: 43928 RVA: 0x002522D0 File Offset: 0x002504D0
[Token(Token = "0x17001B1E")]
public override int FieldSize
{
[Token(Token = "0x600AB98")]
[Address(RVA = "0x80A2A0", Offset = "0x8092A0", VA = "0x18080A2A0", Slot = "4")]
get
{
return 233;
}
}
// Token: 0x0600AB99 RID: 43929 RVA: 0x002522E4 File Offset: 0x002504E4
[Token(Token = "0x600AB99")]
[Address(RVA = "0x80DF90", Offset = "0x80CF90", VA = "0x18080DF90", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600AB99)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233R1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT233FieldElement(var_0_06, newobj:SecT233FieldElement(SecT233FieldElement::.ctor, ldloc:BigInteger(x)))
}
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: 0x0600AB9A RID: 43930 RVA: 0x002522F8 File Offset: 0x002504F8
[Token(Token = "0x600AB9A")]
[Address(RVA = "0x80DF00", Offset = "0x80CF00", VA = "0x18080DF00", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600AB9A)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233R1Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT233R1Point(var_0_09, newobj:SecT233R1Point(SecT233R1Point::.ctor, ldloc:SecT233R1Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600AB9B RID: 43931 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600AB9B")]
[Address(RVA = "0x80DE60", Offset = "0x80CE60", VA = "0x18080DE60", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x17001B1F RID: 6943
// (get) Token: 0x0600AB9C RID: 43932 RVA: 0x00252310 File Offset: 0x00250510
[Token(Token = "0x17001B1F")]
public override bool IsKoblitz
{
[Token(Token = "0x600AB9C")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "39")]
get
{
}
}
// Token: 0x17001B20 RID: 6944
// (get) Token: 0x0600AB9D RID: 43933 RVA: 0x00252320 File Offset: 0x00250520
[Token(Token = "0x17001B20")]
public virtual int M
{
[Token(Token = "0x600AB9D")]
[Address(RVA = "0x80A2A0", Offset = "0x8092A0", VA = "0x18080A2A0", Slot = "40")]
get
{
return 233;
}
}
// Token: 0x17001B21 RID: 6945
// (get) Token: 0x0600AB9E RID: 43934 RVA: 0x00252334 File Offset: 0x00250534
[Token(Token = "0x17001B21")]
public virtual bool IsTrinomial
{
[Token(Token = "0x600AB9E")]
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "41")]
get
{
return true;
}
}
// Token: 0x17001B22 RID: 6946
// (get) Token: 0x0600AB9F RID: 43935 RVA: 0x00252344 File Offset: 0x00250544
[Token(Token = "0x17001B22")]
public virtual int K1
{
[Token(Token = "0x600AB9F")]
[Address(RVA = "0x80A2B0", Offset = "0x8092B0", VA = "0x18080A2B0", Slot = "42")]
get
{
return 74;
}
}
// Token: 0x17001B23 RID: 6947
// (get) Token: 0x0600ABA0 RID: 43936 RVA: 0x00252354 File Offset: 0x00250554
[Token(Token = "0x17001B23")]
public virtual int K2
{
[Token(Token = "0x600ABA0")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "43")]
get
{
return 0;
}
}
// Token: 0x17001B24 RID: 6948
// (get) Token: 0x0600ABA1 RID: 43937 RVA: 0x00252364 File Offset: 0x00250564
[Token(Token = "0x17001B24")]
public virtual int K3
{
[Token(Token = "0x600ABA1")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "44")]
get
{
return 0;
}
}
// Token: 0x0600ABA2 RID: 43938 RVA: 0x00252374 File Offset: 0x00250574
[Token(Token = "0x600ABA2")]
[Address(RVA = "0x80DC00", Offset = "0x80CC00", VA = "0x18080DC00", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
ulong[] array;
int num;
for (;;)
{
array = new ulong[points];
num = 0;
if (len <= 0)
{
goto IL_49;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
if (y != 0 && y != 0)
{
break;
}
}
}
num += 8;
IL_49:
SecT233R1Curve.SecT233R1LookupTable secT233R1LookupTable;
secT233R1LookupTable.m_outer = 0;
secT233R1LookupTable.m_table = array;
secT233R1LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x04006DE3 RID: 28131
[Token(Token = "0x4006DE3")]
private const int SECT233R1_DEFAULT_COORDS = 6;
// Token: 0x04006DE4 RID: 28132
[Token(Token = "0x4006DE4")]
private const int SECT233R1_FE_LONGS = 4;
// Token: 0x04006DE5 RID: 28133
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4006DE5")]
protected readonly SecT233R1Point m_infinity;
// Token: 0x02001B76 RID: 7030
[Token(Token = "0x2001B76")]
private class SecT233R1LookupTable : ECLookupTable
{
// Token: 0x0600ABA3 RID: 43939 RVA: 0x002523E8 File Offset: 0x002505E8
[Token(Token = "0x600ABA3")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecT233R1LookupTable(SecT233R1Curve outer, ulong[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001B25 RID: 6949
// (get) Token: 0x0600ABA4 RID: 43940 RVA: 0x00252410 File Offset: 0x00250610
[Token(Token = "0x17001B25")]
public virtual int Size
{
[Token(Token = "0x600ABA4")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600ABA5 RID: 43941 RVA: 0x00252424 File Offset: 0x00250624
[Token(Token = "0x600ABA5")]
[Address(RVA = "0x80E190", Offset = "0x80D190", VA = "0x18080E190", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
ulong[] array = Nat256.Create64();
ulong[] array2 = Nat256.Create64();
int num = 0;
int num2 = 0;
if (this.m_size > num2)
{
int num3 = 0;
ulong[] table = this.m_table;
ulong[] table2 = this.m_table;
num3++;
num += 8;
num2++;
}
SecT233R1Curve outer = this.m_outer;
new SecT233FieldElement().x = array;
new SecT233FieldElement().x = array2;
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006DE6 RID: 28134
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006DE6")]
private readonly SecT233R1Curve m_outer;
// Token: 0x04006DE7 RID: 28135
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006DE7")]
private readonly ulong[] m_table;
// Token: 0x04006DE8 RID: 28136
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006DE8")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,255 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B77 RID: 7031
[Token(Token = "0x2001B77")]
internal class SecT233R1Point : AbstractF2mPoint
{
// Token: 0x0600ABA6 RID: 43942 RVA: 0x002524A4 File Offset: 0x002506A4
[Token(Token = "0x600ABA6")]
[Address(RVA = "0x80F7C0", Offset = "0x80E7C0", VA = "0x18080F7C0")]
public SecT233R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600ABA7 RID: 43943 RVA: 0x002524B4 File Offset: 0x002506B4
[Token(Token = "0x600ABA7")]
[Address(RVA = "0x80F7E0", Offset = "0x80E7E0", VA = "0x18080F7E0")]
public SecT233R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600ABA7)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600ABA8 RID: 43944 RVA: 0x002524DC File Offset: 0x002506DC
[Token(Token = "0x600ABA8")]
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
internal SecT233R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600ABA9 RID: 43945 RVA: 0x002524EC File Offset: 0x002506EC
[Token(Token = "0x600ABA9")]
[Address(RVA = "0x80EB80", Offset = "0x80DB80", VA = "0x18080EB80", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600ABA9)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233R1Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT233R1Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT233R1Point[exp:ECPoint](this)))
}
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: 0x17001B26 RID: 6950
// (get) Token: 0x0600ABAA RID: 43946 RVA: 0x00252508 File Offset: 0x00250708
[Token(Token = "0x17001B26")]
public override ECFieldElement YCoord
{
[Token(Token = "0x600ABAA")]
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
get
{
ECFieldElement x = this.m_x;
ECFieldElement y = this.m_y;
if (!base.IsInfinity && !x.IsOne)
{
int fieldSize = y.FieldSize;
if (this.m_zs[0].BitLength == 0)
{
}
}
return y;
}
}
// Token: 0x17001B27 RID: 6951
// (get) Token: 0x0600ABAB RID: 43947 RVA: 0x00252558 File Offset: 0x00250758
[Token(Token = "0x17001B27")]
protected internal override bool CompressionYTilde
{
[Token(Token = "0x600ABAB")]
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
get
{
if (!this.m_x.IsOne)
{
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement;
ECFieldElement ecfieldElement2;
return ecfieldElement != ecfieldElement2;
}
throw new NullReferenceException();
}
}
// Token: 0x0600ABAC RID: 43948 RVA: 0x0025258C File Offset: 0x0025078C
[Token(Token = "0x600ABAC")]
[Address(RVA = "0x80E360", Offset = "0x80D360", VA = "0x18080E360", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
while (!base.IsInfinity && !b.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
ECFieldElement x2 = b.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
ECFieldElement[] zs2 = b.m_zs;
ECFieldElement y2 = b.m_y;
ECFieldElement ecfieldElement2 = zs2[0];
if (ecfieldElement.BitLength == 0)
{
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
}
if (ecfieldElement2.BitLength == 0)
{
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
int fieldSize2 = ecfieldElement5.FieldSize;
if (fieldSize2 == 0)
{
if (!x2.IsOne)
{
sbyte b3;
sbyte b2 = b3;
TypeCode typeCode = b2.GetTypeCode();
int fieldSize3 = y.FieldSize;
}
bool flag2 = this.IsNormalized();
ushort num;
TypeCode typeCode2 = num.GetTypeCode();
ushort num2;
TypeCode typeCode3 = num2.GetTypeCode().GetTypeCode();
short num3;
TypeCode typeCode4 = num3.GetTypeCode();
sbyte b4;
TypeCode typeCode5 = b4.GetTypeCode().GetTypeCode();
byte b5;
TypeCode typeCode6 = b5.GetTypeCode();
BigInteger one = BigInteger.One;
int num4 = flag.CompareTo(one);
ECFieldElement[] array = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
}
}
else
{
if (!x2.IsOne)
{
bool compressionYTilde = b.CompressionYTilde;
break;
}
break;
}
}
return b;
}
// Token: 0x0600ABAD RID: 43949 RVA: 0x00252728 File Offset: 0x00250928
[Token(Token = "0x600ABAD")]
[Address(RVA = "0x80F3C0", Offset = "0x80E3C0", VA = "0x18080F3C0", Slot = "30")]
public override ECPoint Twice()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
if (ecfieldElement.BitLength != 0)
{
}
ECFieldElement ecfieldElement2 = y.Subtract(ecfieldElement);
ECFieldElement ecfieldElement3 = ecfieldElement.Negate();
if (y.Negate().FieldSize.GetTypeCode() == TypeCode.Empty)
{
ECFieldElement ecfieldElement4 = x.Subtract(ecfieldElement);
ECFieldElement ecfieldElement5;
TypeCode typeCode = ecfieldElement5.FieldSize.GetTypeCode();
sbyte b;
(new ECFieldElement[1])[0] = b;
bool withCompression = this.m_withCompression;
}
SecT233R1Point secT233R1Point;
ECFieldElement[] zcoords = secT233R1Point.GetZCoords();
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600ABAE RID: 43950 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600ABAE")]
[Address(RVA = "0x80EDD0", Offset = "0x80DDD0", VA = "0x18080EDD0", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600ABAF RID: 43951 RVA: 0x002527E0 File Offset: 0x002509E0
[Token(Token = "0x600ABAF")]
[Address(RVA = "0x80EC20", Offset = "0x80DC20", VA = "0x18080EC20", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity && !this.m_x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
bool flag = this.SatisfiesOrder();
int fieldSize = y.FieldSize;
ECFieldElement[] array = new ECFieldElement[1];
if (ecfieldElement != 0)
{
}
array[0] = ecfieldElement;
bool withCompression = this.m_withCompression;
}
throw new IndexOutOfRangeException();
}
}
}
@@ -0,0 +1,370 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B78 RID: 7032
[Token(Token = "0x2001B78")]
internal class SecT239Field
{
// Token: 0x0600ABB0 RID: 43952 RVA: 0x0025284C File Offset: 0x00250A4C
[Token(Token = "0x600ABB0")]
[Address(RVA = "0x7BA2D0", Offset = "0x7B92D0", VA = "0x1807BA2D0")]
public static void Add(ulong[] x, ulong[] y, ulong[] z)
{
ulong num = y[0];
z[0] = num;
ulong num2 = y[1];
z[1] = num2;
ulong num3 = y[2];
z[2] = num3;
ulong num4 = y[3];
z[3] = num4;
}
// Token: 0x0600ABB1 RID: 43953 RVA: 0x002528A0 File Offset: 0x00250AA0
[Token(Token = "0x600ABB1")]
[Address(RVA = "0x7B9ED0", Offset = "0x7B8ED0", VA = "0x1807B9ED0")]
public static void AddExt(ulong[] xx, ulong[] yy, ulong[] zz)
{
ulong num = yy[0];
zz[0] = num;
ulong num2 = yy[1];
zz[1] = num2;
ulong num3 = yy[2];
zz[2] = num3;
ulong num4 = yy[3];
zz[3] = num4;
ulong num5 = yy[4];
zz[4] = num5;
ulong num6 = yy[5];
zz[5] = num6;
ulong num7 = yy[6];
zz[6] = num7;
ulong num8 = yy[7];
zz[7] = num8;
}
// Token: 0x0600ABB2 RID: 43954 RVA: 0x0025293C File Offset: 0x00250B3C
[Token(Token = "0x600ABB2")]
[Address(RVA = "0x7BA1E0", Offset = "0x7B91E0", VA = "0x1807BA1E0")]
public static void AddOne(ulong[] x, ulong[] z)
{
ulong num = x[0];
z[0] = num;
ulong num2 = x[1];
z[1] = num2;
ulong num3 = x[2];
z[2] = num3;
ulong num4 = x[3];
z[3] = num4;
}
// Token: 0x0600ABB3 RID: 43955 RVA: 0x00252990 File Offset: 0x00250B90
[Token(Token = "0x600ABB3")]
[Address(RVA = "0x7BA470", Offset = "0x7B9470", VA = "0x1807BA470")]
public static ulong[] FromBigInteger(BigInteger x)
{
ulong[] array = Nat256.FromBigInteger64(x);
ulong num = array[3];
array[3] = num;
return array;
}
// Token: 0x0600ABB4 RID: 43956 RVA: 0x002529BC File Offset: 0x00250BBC
[Token(Token = "0x600ABB4")]
[Address(RVA = "0x7BB330", Offset = "0x7BA330", VA = "0x1807BB330")]
public static void Invert(ulong[] x, ulong[] z)
{
/*
An exception occurred when decompiling this method (0600ABB4)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239Field::Invert(System.UInt64[],System.UInt64[])
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_24B:
stloc:InvalidOperationException(var_42_250, newobj:InvalidOperationException(InvalidOperationException::.ctor))
}
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: 0x0600ABB5 RID: 43957 RVA: 0x00252C1C File Offset: 0x00250E1C
[Token(Token = "0x600ABB5")]
[Address(RVA = "0x7BB7A0", Offset = "0x7BA7A0", VA = "0x1807BB7A0")]
public static void Multiply(ulong[] x, ulong[] y, ulong[] z)
{
ulong[] array = Nat256.CreateExt64();
SecT239Field.ImplMultiply(x, y, array);
SecT239Field.Reduce(array, z);
}
// Token: 0x0600ABB6 RID: 43958 RVA: 0x00252C40 File Offset: 0x00250E40
[Token(Token = "0x600ABB6")]
[Address(RVA = "0x7BB740", Offset = "0x7BA740", VA = "0x1807BB740")]
public static void MultiplyAddToExt(ulong[] x, ulong[] y, ulong[] zz)
{
ulong[] array = Nat256.CreateExt64();
SecT239Field.ImplMultiply(x, y, array);
SecT233Field.AddExt(zz, array, zz);
}
// Token: 0x0600ABB7 RID: 43959 RVA: 0x00252C68 File Offset: 0x00250E68
[Token(Token = "0x600ABB7")]
[Address(RVA = "0x7BB8B0", Offset = "0x7BA8B0", VA = "0x1807BB8B0")]
public static void Reduce(ulong[] xx, ulong[] z)
{
int length = xx.Length;
ulong num = xx[3];
ulong num2 = xx[4];
ulong num3 = xx[7];
num3 = num2;
z[0] = num3;
num3 = num2;
z[1] = num3;
z[2] = num2;
z[3] = num;
}
// Token: 0x0600ABB8 RID: 43960 RVA: 0x00252CC0 File Offset: 0x00250EC0
[Token(Token = "0x600ABB8")]
[Address(RVA = "0x7BB800", Offset = "0x7BA800", VA = "0x1807BB800")]
public static void Reduce17(ulong[] z, int zOff)
{
int length = z.Length;
ulong num;
z[0] = num;
}
// Token: 0x0600ABB9 RID: 43961 RVA: 0x00252CE4 File Offset: 0x00250EE4
[Token(Token = "0x600ABB9")]
[Address(RVA = "0x7BBB10", Offset = "0x7BAB10", VA = "0x1807BBB10")]
public static void Sqrt(ulong[] x, ulong[] z)
{
ulong num = Interleave.Unshuffle(x[0]);
ulong num2 = x[1];
ulong num3 = Interleave.Unshuffle(num2);
ulong num4 = Interleave.Unshuffle(x[2]);
ulong num5 = x[3];
ulong num6 = Interleave.Unshuffle(num5);
ulong[] array = Nat256.CreateExt64();
int[] array2 = new int[2];
array2[0] = (int)((ulong)39L);
array2[0] = (int)((ulong)120L);
int num7 = 0;
int length = array2.Length;
if (num7 < length)
{
int num8 = array2[num7];
int num9 = num8 + 1;
num8 += 4;
num7++;
}
SecT239Field.Reduce(array, z);
}
// Token: 0x0600ABBA RID: 43962 RVA: 0x00252DAC File Offset: 0x00250FAC
[Token(Token = "0x600ABBA")]
[Address(RVA = "0x7BBF80", Offset = "0x7BAF80", VA = "0x1807BBF80")]
public static void Square(ulong[] x, ulong[] z)
{
ulong[] array = Nat256.CreateExt64();
SecT233Field.ImplSquare(x, array);
SecT239Field.Reduce(array, z);
}
// Token: 0x0600ABBB RID: 43963 RVA: 0x00252DD0 File Offset: 0x00250FD0
[Token(Token = "0x600ABBB")]
[Address(RVA = "0x7BBEA0", Offset = "0x7BAEA0", VA = "0x1807BBEA0")]
public static void SquareAddToExt(ulong[] x, ulong[] zz)
{
ulong[] array = Nat256.CreateExt64();
SecT233Field.ImplSquare(x, array);
SecT233Field.AddExt(zz, array, zz);
}
// Token: 0x0600ABBC RID: 43964 RVA: 0x00252DF4 File Offset: 0x00250FF4
[Token(Token = "0x600ABBC")]
[Address(RVA = "0x7BBEF0", Offset = "0x7BAEF0", VA = "0x1807BBEF0")]
public static void SquareN(ulong[] x, int n, ulong[] z)
{
ulong[] array = Nat256.CreateExt64();
SecT239Field.Reduce(array, z);
if (n - 1 > 0)
{
SecT239Field.Reduce(array, z);
}
}
// Token: 0x0600ABBD RID: 43965 RVA: 0x00252E20 File Offset: 0x00251020
[Token(Token = "0x600ABBD")]
[Address(RVA = "0x7BBFD0", Offset = "0x7BAFD0", VA = "0x1807BBFD0")]
public static uint Trace(ulong[] x)
{
int length = x.Length;
ulong num = x[2];
throw new NullReferenceException();
}
// Token: 0x0600ABBE RID: 43966 RVA: 0x00252E44 File Offset: 0x00251044
[Token(Token = "0x600ABBE")]
[Address(RVA = "0x7BA500", Offset = "0x7B9500", VA = "0x1807BA500")]
protected static void ImplCompactExt(ulong[] zz)
{
int length = zz.Length;
ulong num = zz[1];
ulong num2 = zz[2];
ulong num3 = zz[3];
ulong num4 = zz[4];
ulong num5 = zz[5];
ulong num6 = zz[6];
ulong num7 = zz[7];
num = num2;
zz[1] = num;
zz[2] = num2;
zz[3] = num3;
zz[4] = num4;
zz[5] = num5;
zz[6] = num6;
zz[7] = num7;
}
// Token: 0x0600ABBF RID: 43967 RVA: 0x00252EE8 File Offset: 0x002510E8
[Token(Token = "0x600ABBF")]
[Address(RVA = "0x7BA750", Offset = "0x7B9750", VA = "0x1807BA750")]
protected static void ImplExpand(ulong[] x, ulong[] z)
{
int length = x.Length;
ulong num = x[0];
ulong num2 = x[1];
ulong num3 = x[2];
z[0] = num;
num = num2;
z[1] = num;
z[2] = num2;
z[3] = num3;
}
// Token: 0x0600ABC0 RID: 43968 RVA: 0x00252F40 File Offset: 0x00251140
[Token(Token = "0x600ABC0")]
[Address(RVA = "0x7BA8A0", Offset = "0x7B98A0", VA = "0x1807BA8A0")]
protected static void ImplMultiply(ulong[] x, ulong[] y, ulong[] zz)
{
ulong[] array = new ulong[4];
ulong[] array2 = new ulong[4];
SecT239Field.ImplExpand(x, array);
SecT239Field.ImplExpand(y, array2);
ulong num = array2[0];
ulong num2 = array[0];
int num3 = 0;
SecT239Field.ImplMulwAcc(num2, num, zz, num3);
ulong num4 = array2[1];
SecT239Field.ImplMulwAcc(array[1], num4, zz, 1);
ulong num5 = array2[2];
SecT239Field.ImplMulwAcc(array[2], num5, zz, 2);
ulong num6 = array2[3];
SecT239Field.ImplMulwAcc(array[3], num6, zz, 3);
int length = zz.Length;
int length2 = array.Length;
int length3 = array2.Length;
ulong num7 = array[1];
ulong num8 = array2[1];
uint num9;
SecT239Field.ImplMulwAcc(num7, num8, zz, (int)num9);
int length4 = array.Length;
int length5 = array2.Length;
ulong num10 = array[3];
ulong num11 = array2[2];
uint num12;
SecT239Field.ImplMulwAcc(num10, num11, zz, (int)num12);
int length6 = zz.Length;
uint num13;
num13 += (uint)(-2);
int length7 = array.Length;
ulong num14 = array[2];
int length8 = array2.Length;
ulong num15 = array2[2];
ulong num16 = array2[1];
uint num17;
SecT239Field.ImplMulwAcc(num14, num16, zz, (int)num17);
ulong[] array3 = new ulong[3];
int num18 = 0;
SecT239Field.ImplMulwAcc(num14, num15, array3, num18);
num15 = num16;
uint num19;
SecT239Field.ImplMulwAcc(num14, num15, array3, (int)num19);
int length9 = array3.Length;
ulong num20 = zz[3];
zz[3] = num20;
ulong num21 = zz[4];
zz[4] = num21;
SecT239Field.ImplCompactExt(zz);
}
// Token: 0x0600ABC1 RID: 43969 RVA: 0x002530E8 File Offset: 0x002512E8
[Token(Token = "0x600ABC1")]
[Address(RVA = "0x7BAEA0", Offset = "0x7B9EA0", VA = "0x1807BAEA0")]
protected static void ImplMulwAcc(ulong x, ulong y, ulong[] z, int zOff)
{
ulong[] array = new ulong[8];
array[1] = y;
int num = array.Length;
array[2] = (ulong)num;
int length = array.Length;
array[3] = (ulong)num;
num = length;
array[4] = (ulong)num;
int length2 = array.Length;
array[5] = (ulong)num;
num = length2;
array[6] = (ulong)num;
int length3 = array.Length;
array[7] = (ulong)num;
int num2 = zOff + 1;
}
// Token: 0x0600ABC2 RID: 43970 RVA: 0x00253160 File Offset: 0x00251360
[Token(Token = "0x600ABC2")]
[Address(RVA = "0x7BB210", Offset = "0x7BA210", VA = "0x1807BB210")]
protected static void ImplSquare(ulong[] x, ulong[] zz)
{
ulong num = x[0];
int num2 = 0;
Interleave.Expand64To128(num, zz, num2);
Interleave.Expand64To128(x[1], zz, 2);
ulong num3 = x[2];
Interleave.Expand64To128(num3, zz, 4);
ulong num4 = Interleave.Expand32to64((uint)num3);
zz[6] = num4;
uint num5 = Interleave.Expand16to32((uint)num3);
zz[7] = (ulong)num5;
}
// Token: 0x0600ABC3 RID: 43971 RVA: 0x002531C4 File Offset: 0x002513C4
[Token(Token = "0x600ABC3")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public SecT239Field()
{
}
// Token: 0x04006DE9 RID: 28137
[Token(Token = "0x4006DE9")]
private const ulong M47 = 140737488355327UL;
// Token: 0x04006DEA RID: 28138
[Token(Token = "0x4006DEA")]
private const ulong M60 = 1152921504606846975UL;
}
}
@@ -0,0 +1,597 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B79 RID: 7033
[Token(Token = "0x2001B79")]
internal class SecT239FieldElement : AbstractF2mFieldElement
{
// Token: 0x0600ABC4 RID: 43972 RVA: 0x002531D8 File Offset: 0x002513D8
[Token(Token = "0x600ABC4")]
[Address(RVA = "0x7B9D10", Offset = "0x7B8D10", VA = "0x1807B9D10")]
public SecT239FieldElement(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600ABC4)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_30:
stloc:ArgumentException(var_3_3F, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecT239FieldElement"), ldstr:string("x")))
}
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: 0x0600ABC5 RID: 43973 RVA: 0x00253224 File Offset: 0x00251424
[Token(Token = "0x600ABC5")]
[Address(RVA = "0x7B9E30", Offset = "0x7B8E30", VA = "0x1807B9E30")]
public SecT239FieldElement()
{
ulong[] array = Nat256.Create64();
this.x = array;
}
// Token: 0x0600ABC6 RID: 43974 RVA: 0x00253248 File Offset: 0x00251448
[Token(Token = "0x600ABC6")]
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
protected internal SecT239FieldElement(ulong[] x)
{
this.x = x;
}
// Token: 0x17001B28 RID: 6952
// (get) Token: 0x0600ABC7 RID: 43975 RVA: 0x00253264 File Offset: 0x00251464
[Token(Token = "0x17001B28")]
public override bool IsOne
{
[Token(Token = "0x600ABC7")]
[Address(RVA = "0x7B9EA0", Offset = "0x7B8EA0", VA = "0x1807B9EA0", Slot = "17")]
get
{
return Nat256.IsOne64(this.x);
}
}
// Token: 0x17001B29 RID: 6953
// (get) Token: 0x0600ABC8 RID: 43976 RVA: 0x0025327C File Offset: 0x0025147C
[Token(Token = "0x17001B29")]
public override bool IsZero
{
[Token(Token = "0x600ABC8")]
[Address(RVA = "0x7B9EB0", Offset = "0x7B8EB0", VA = "0x1807B9EB0", Slot = "18")]
get
{
return Nat256.IsZero64(this.x);
}
}
// Token: 0x0600ABC9 RID: 43977 RVA: 0x00253294 File Offset: 0x00251494
[Token(Token = "0x600ABC9")]
[Address(RVA = "0x7B9C40", Offset = "0x7B8C40", VA = "0x1807B9C40", Slot = "24")]
public override bool TestBitZero()
{
ulong[] array = this.x;
throw new NullReferenceException();
}
// Token: 0x0600ABCA RID: 43978 RVA: 0x002532B0 File Offset: 0x002514B0
[Token(Token = "0x600ABCA")]
[Address(RVA = "0x7B9C80", Offset = "0x7B8C80", VA = "0x1807B9C80", Slot = "4")]
public override BigInteger ToBigInteger()
{
return Nat256.ToBigInteger64(this.x);
}
// Token: 0x17001B2A RID: 6954
// (get) Token: 0x0600ABCB RID: 43979 RVA: 0x002532C8 File Offset: 0x002514C8
[Token(Token = "0x17001B2A")]
public override string FieldName
{
[Token(Token = "0x600ABCB")]
[Address(RVA = "0x7B9E60", Offset = "0x7B8E60", VA = "0x1807B9E60", Slot = "5")]
get
{
return "SecT239Field";
}
}
// Token: 0x17001B2B RID: 6955
// (get) Token: 0x0600ABCC RID: 43980 RVA: 0x002532DC File Offset: 0x002514DC
[Token(Token = "0x17001B2B")]
public override int FieldSize
{
[Token(Token = "0x600ABCC")]
[Address(RVA = "0x7B9E90", Offset = "0x7B8E90", VA = "0x1807B9E90", Slot = "6")]
get
{
return 239;
}
}
// Token: 0x0600ABCD RID: 43981 RVA: 0x002532F0 File Offset: 0x002514F0
[Token(Token = "0x600ABCD")]
[Address(RVA = "0x7B90B0", Offset = "0x7B80B0", VA = "0x1807B90B0", Slot = "7")]
public override ECFieldElement Add(ECFieldElement b)
{
ulong[] array;
do
{
array = Nat256.Create64();
ulong[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecT239FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecT239FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600ABCE RID: 43982 RVA: 0x00253338 File Offset: 0x00251538
[Token(Token = "0x600ABCE")]
[Address(RVA = "0x7B8F40", Offset = "0x7B7F40", VA = "0x1807B8F40", Slot = "8")]
public override ECFieldElement AddOne()
{
ulong[] array = Nat256.Create64();
ulong[] array2 = this.x;
ulong num = array2[0];
array[0] = num;
ulong num2 = array2[1];
array[1] = num2;
ulong num3 = array2[2];
array[2] = num3;
ulong num4 = array2[3];
array[3] = num4;
new SecT239FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600ABCF RID: 43983 RVA: 0x002533AC File Offset: 0x002515AC
[Token(Token = "0x600ABCF")]
[Address(RVA = "0x7B9C20", Offset = "0x7B8C20", VA = "0x1807B9C20", Slot = "9")]
public override ECFieldElement Subtract(ECFieldElement b)
{
/*
An exception occurred when decompiling this method (0600ABCF)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239FieldElement::Subtract(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT239FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600ABD0 RID: 43984 RVA: 0x002533C0 File Offset: 0x002515C0
[Token(Token = "0x600ABD0")]
[Address(RVA = "0x7B9710", Offset = "0x7B8710", VA = "0x1807B9710", Slot = "10")]
public override ECFieldElement Multiply(ECFieldElement b)
{
ulong[] array;
do
{
array = Nat256.Create64();
ulong[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecT239FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
SecT239Field.Reduce(Nat256.CreateExt64(), array);
new SecT239FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600ABD1 RID: 43985 RVA: 0x00253414 File Offset: 0x00251614
[Token(Token = "0x600ABD1")]
[Address(RVA = "0x7B9440", Offset = "0x7B8440", VA = "0x1807B9440", Slot = "19")]
public override ECFieldElement MultiplyMinusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
{
/*
An exception occurred when decompiling this method (0600ABD1)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239FieldElement::MultiplyMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT239FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600ABD2 RID: 43986 RVA: 0x00253428 File Offset: 0x00251628
[Token(Token = "0x600ABD2")]
[Address(RVA = "0x7B9460", Offset = "0x7B8460", VA = "0x1807B9460", Slot = "20")]
public override ECFieldElement MultiplyPlusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
{
do
{
ulong[] array = this.x;
}
while (b == 0 || b == 0 || x == 0 || x == 0 || y == 0 || y == 0);
ulong[] array2 = Nat256.CreateExt64();
ulong[] array3 = Nat256.CreateExt64();
SecT233Field.AddExt(array2, array3, array2);
ulong[] array4 = Nat256.CreateExt64();
SecT233Field.AddExt(array2, array4, array2);
ulong[] array5 = Nat256.Create64();
SecT239Field.Reduce(array2, array5);
new SecT239FieldElement().x = array5;
throw new NullReferenceException();
}
// Token: 0x0600ABD3 RID: 43987 RVA: 0x002534BC File Offset: 0x002516BC
[Token(Token = "0x600ABD3")]
[Address(RVA = "0x7B91D0", Offset = "0x7B81D0", VA = "0x1807B91D0", Slot = "11")]
public override ECFieldElement Divide(ECFieldElement b)
{
ECFieldElement ecfieldElement = b.Square();
BigInteger bigInteger = base.ToBigInteger();
throw new NullReferenceException();
}
// Token: 0x0600ABD4 RID: 43988 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600ABD4")]
[Address(RVA = "0x4A65C0", Offset = "0x4A55C0", VA = "0x1804A65C0", Slot = "12")]
public override ECFieldElement Negate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600ABD5 RID: 43989 RVA: 0x002534DC File Offset: 0x002516DC
[Token(Token = "0x600ABD5")]
[Address(RVA = "0x7B9B80", Offset = "0x7B8B80", VA = "0x1807B9B80", Slot = "13")]
public override ECFieldElement Square()
{
/*
An exception occurred when decompiling this method (0600ABD5)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239FieldElement::Square()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat256::Create64))
stloc:uint64[](var_2_0E, ldfld:uint64[](SecT239FieldElement::x, ldloc:SecT239FieldElement(this)))
stloc:uint64[](var_4_16, call:uint64[](Nat256::CreateExt64))
call:void(SecT233Field::ImplSquare, ldloc:uint64[](var_2_0E), ldloc:uint64[](var_4_16))
call:void(SecT239Field::Reduce, ldloc:uint64[](var_4_16), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT239FieldElement::x, newobj:SecT239FieldElement(SecT239FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x0600ABD6 RID: 43990 RVA: 0x0025351C File Offset: 0x0025171C
[Token(Token = "0x600ABD6")]
[Address(RVA = "0x7B98C0", Offset = "0x7B88C0", VA = "0x1807B98C0", Slot = "21")]
public override ECFieldElement SquareMinusProduct(ECFieldElement x, ECFieldElement y)
{
/*
An exception occurred when decompiling this method (0600ABD6)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239FieldElement::SquareMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT239FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600ABD7 RID: 43991 RVA: 0x00253530 File Offset: 0x00251730
[Token(Token = "0x600ABD7")]
[Address(RVA = "0x7B98E0", Offset = "0x7B88E0", VA = "0x1807B98E0", Slot = "22")]
public override ECFieldElement SquarePlusProduct(ECFieldElement x, ECFieldElement y)
{
do
{
ulong[] array = this.x;
}
while (x == 0 || x == 0 || y == 0 || y == 0);
ulong[] array2 = Nat256.CreateExt64();
ulong[] array3 = Nat256.CreateExt64();
SecT233Field.AddExt(array2, array3, array2);
ulong[] array4 = Nat256.CreateExt64();
SecT233Field.AddExt(array2, array4, array2);
ulong[] array5 = Nat256.Create64();
SecT239Field.Reduce(array2, array5);
new SecT239FieldElement().x = array5;
throw new NullReferenceException();
}
// Token: 0x0600ABD8 RID: 43992 RVA: 0x002535B8 File Offset: 0x002517B8
[Token(Token = "0x600ABD8")]
[Address(RVA = "0x7B9B00", Offset = "0x7B8B00", VA = "0x1807B9B00", Slot = "23")]
public override ECFieldElement SquarePow(int pow)
{
/*
An exception occurred when decompiling this method (0600ABD8)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239FieldElement::SquarePow(System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat256::Create64))
call:void(SecT239Field::SquareN, ldfld:uint64[](SecT239FieldElement::x, ldloc:SecT239FieldElement(this)), ldloc:int32(pow), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT239FieldElement::x, newobj:SecT239FieldElement(SecT239FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x0600ABD9 RID: 43993 RVA: 0x002535E4 File Offset: 0x002517E4
[Token(Token = "0x600ABD9")]
[Address(RVA = "0x7B9C90", Offset = "0x7B8C90", VA = "0x1807B9C90", Slot = "28")]
public override int Trace()
{
ulong[] array = this.x;
int length = array.Length;
ulong num = array[2];
throw new NullReferenceException();
}
// Token: 0x0600ABDA RID: 43994 RVA: 0x0025360C File Offset: 0x0025180C
[Token(Token = "0x600ABDA")]
[Address(RVA = "0x7B93D0", Offset = "0x7B83D0", VA = "0x1807B93D0", Slot = "14")]
public override ECFieldElement Invert()
{
/*
An exception occurred when decompiling this method (0600ABDA)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239FieldElement::Invert()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat256::Create64))
call:void(SecT239Field::Invert, ldfld:uint64[](SecT239FieldElement::x, ldloc:SecT239FieldElement(this)), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT239FieldElement::x, newobj:SecT239FieldElement(SecT239FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x0600ABDB RID: 43995 RVA: 0x00253638 File Offset: 0x00251838
[Token(Token = "0x600ABDB")]
[Address(RVA = "0x7B9850", Offset = "0x7B8850", VA = "0x1807B9850", Slot = "15")]
public override ECFieldElement Sqrt()
{
/*
An exception occurred when decompiling this method (0600ABDB)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239FieldElement::Sqrt()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat256::Create64))
call:void(SecT239Field::Sqrt, ldfld:uint64[](SecT239FieldElement::x, ldloc:SecT239FieldElement(this)), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT239FieldElement::x, newobj:SecT239FieldElement(SecT239FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x17001B2C RID: 6956
// (get) Token: 0x0600ABDC RID: 43996 RVA: 0x00253664 File Offset: 0x00251864
[Token(Token = "0x17001B2C")]
public virtual int Representation
{
[Token(Token = "0x600ABDC")]
[Address(RVA = "0x4E86A0", Offset = "0x4E76A0", VA = "0x1804E86A0", Slot = "29")]
get
{
return 2;
}
}
// Token: 0x17001B2D RID: 6957
// (get) Token: 0x0600ABDD RID: 43997 RVA: 0x00253674 File Offset: 0x00251874
[Token(Token = "0x17001B2D")]
public virtual int M
{
[Token(Token = "0x600ABDD")]
[Address(RVA = "0x7B9E90", Offset = "0x7B8E90", VA = "0x1807B9E90", Slot = "30")]
get
{
return 239;
}
}
// Token: 0x17001B2E RID: 6958
// (get) Token: 0x0600ABDE RID: 43998 RVA: 0x00253688 File Offset: 0x00251888
[Token(Token = "0x17001B2E")]
public virtual int K1
{
[Token(Token = "0x600ABDE")]
[Address(RVA = "0x7B9EC0", Offset = "0x7B8EC0", VA = "0x1807B9EC0", Slot = "31")]
get
{
return 158;
}
}
// Token: 0x17001B2F RID: 6959
// (get) Token: 0x0600ABDF RID: 43999 RVA: 0x0025369C File Offset: 0x0025189C
[Token(Token = "0x17001B2F")]
public virtual int K2
{
[Token(Token = "0x600ABDF")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "32")]
get
{
return 0;
}
}
// Token: 0x17001B30 RID: 6960
// (get) Token: 0x0600ABE0 RID: 44000 RVA: 0x002536AC File Offset: 0x002518AC
[Token(Token = "0x17001B30")]
public virtual int K3
{
[Token(Token = "0x600ABE0")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "33")]
get
{
return 0;
}
}
// Token: 0x0600ABE1 RID: 44001 RVA: 0x002536BC File Offset: 0x002518BC
[Token(Token = "0x600ABE1")]
[Address(RVA = "0x7B9240", Offset = "0x7B8240", VA = "0x1807B9240", Slot = "0")]
public override bool Equals(object obj)
{
/*
An exception occurred when decompiling this method (0600ABE1)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239FieldElement::Equals(System.Object)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT239FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600ABE2 RID: 44002 RVA: 0x002536D8 File Offset: 0x002518D8
[Token(Token = "0x600ABE2")]
[Address(RVA = "0x7B92D0", Offset = "0x7B82D0", VA = "0x1807B92D0", Slot = "25")]
public override bool Equals(ECFieldElement other)
{
/*
An exception occurred when decompiling this method (0600ABE2)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT239FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600ABE3 RID: 44003 RVA: 0x002536F4 File Offset: 0x002518F4
[Token(Token = "0x600ABE3")]
[Address(RVA = "0x7B9220", Offset = "0x7B8220", VA = "0x1807B9220", Slot = "34")]
public virtual bool Equals(SecT239FieldElement other)
{
if (this != other)
{
if (other != 0)
{
ulong[] array = other.x;
return Nat256.Eq64(this.x, array);
}
}
return true;
}
// Token: 0x0600ABE4 RID: 44004 RVA: 0x00253720 File Offset: 0x00251920
[Token(Token = "0x600ABE4")]
[Address(RVA = "0x7B9360", Offset = "0x7B8360", VA = "0x1807B9360", Slot = "2")]
public override int GetHashCode()
{
ulong[] array = this.x;
int num = 0;
return Arrays.GetHashCode(array, num, 4);
}
// Token: 0x04006DEB RID: 28139
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006DEB")]
protected internal readonly ulong[] x;
}
}
@@ -0,0 +1,408 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Multiplier;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B7A RID: 7034
[Token(Token = "0x2001B7A")]
internal class SecT239K1Curve : AbstractF2mCurve
{
// Token: 0x0600ABE5 RID: 44005 RVA: 0x00253740 File Offset: 0x00251940
[Token(Token = "0x600ABE5")]
[Address(RVA = "0x7BC710", Offset = "0x7BB710", VA = "0x1807BC710")]
public SecT239K1Curve()
{
int num = 0;
int num2;
int num3;
SecT239K1Point secT239K1Point = new SecT239K1Point(this, num2, num3, num != 0);
num3 = 0;
num2 = 0;
this.m_infinity = secT239K1Point;
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
int fieldSize2 = this.FieldSize;
this.m_b = fieldSize2;
byte[] array = Hex.Decode("2000000000000000000000000000005A79FEC67CB6E91F1C1DA800E478A5");
BigInteger bigInteger = new BigInteger(1, array);
this.m_order = bigInteger;
BigInteger bigInteger2;
this.m_cofactor = bigInteger2;
this.m_coord = (int)((ulong)6L);
}
// Token: 0x0600ABE6 RID: 44006 RVA: 0x002537B8 File Offset: 0x002519B8
[Token(Token = "0x600ABE6")]
[Address(RVA = "0x7BC040", Offset = "0x7BB040", VA = "0x1807BC040", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600ABE6)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239K1Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_1_01, ldc.i4:int32(0))
stloc:SecT239K1Point(var_3_0F, newobj:SecT239K1Point(SecT239K1Point::.ctor, ldloc:SecT239K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
stloc:int32(var_4, ldc.i4:int32(0))
stloc:int32(var_5, ldc.i4:int32(0))
stfld:SecT239K1Point(SecT239K1Curve::m_infinity, ldloc:SecT239K1Curve(var_0), ldloc:SecT239K1Point(var_3_0F))
stloc:int32(var_6_23, callvirtgetter:int32(SecT239K1Curve::get_FieldSize, ldloc:SecT239K1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT239K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_6_23))
stloc:int32(var_7_33, callvirtgetter:int32(SecT239K1Curve::get_FieldSize, ldloc:SecT239K1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT239K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_7_33))
stloc:uint8[](var_8_47, call:uint8[](Hex::Decode, ldstr:string("2000000000000000000000000000005A79FEC67CB6E91F1C1DA800E478A5")))
stloc:BigInteger(var_9_51, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_8_47)))
stfld:BigInteger(ECCurve::m_order, ldloc:SecT239K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_9_51))
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT239K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_10))
stfld:int32(ECCurve::m_coord, ldloc:SecT239K1Curve[exp:ECCurve](var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](6)))
}
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: 0x0600ABE7 RID: 44007 RVA: 0x00253830 File Offset: 0x00251A30
[Token(Token = "0x600ABE7")]
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 6;
}
// Token: 0x0600ABE8 RID: 44008 RVA: 0x00253844 File Offset: 0x00251A44
[Token(Token = "0x600ABE8")]
[Address(RVA = "0x7BC430", Offset = "0x7BB430", VA = "0x1807BC430", Slot = "15")]
protected override ECMultiplier CreateDefaultMultiplier()
{
/*
An exception occurred when decompiling this method (0600ABE8)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Multiplier.ECMultiplier BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239K1Curve::CreateDefaultMultiplier()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:WTauNafMultiplier(var_0_05, newobj:WTauNafMultiplier(WTauNafMultiplier::.ctor))
}
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: 0x17001B31 RID: 6961
// (get) Token: 0x0600ABE9 RID: 44009 RVA: 0x00253858 File Offset: 0x00251A58
[Token(Token = "0x17001B31")]
public override ECPoint Infinity
{
[Token(Token = "0x600ABE9")]
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600ABE9)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239K1Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT239K1Point(var_0_06, ldfld:SecT239K1Point(SecT239K1Curve::m_infinity, ldloc:SecT239K1Curve(this)))
}
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: 0x17001B32 RID: 6962
// (get) Token: 0x0600ABEA RID: 44010 RVA: 0x0025386C File Offset: 0x00251A6C
[Token(Token = "0x17001B32")]
public override int FieldSize
{
[Token(Token = "0x600ABEA")]
[Address(RVA = "0x7B9E90", Offset = "0x7B8E90", VA = "0x1807B9E90", Slot = "4")]
get
{
return 239;
}
}
// Token: 0x0600ABEB RID: 44011 RVA: 0x00253880 File Offset: 0x00251A80
[Token(Token = "0x600ABEB")]
[Address(RVA = "0x7BC5B0", Offset = "0x7BB5B0", VA = "0x1807BC5B0", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600ABEB)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239K1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_2F:
stloc:ArgumentException(var_4_3E, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecT239FieldElement"), ldstr:string("x")))
}
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: 0x0600ABEC RID: 44012 RVA: 0x002538CC File Offset: 0x00251ACC
[Token(Token = "0x600ABEC")]
[Address(RVA = "0x7BC520", Offset = "0x7BB520", VA = "0x1807BC520", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600ABEC)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239K1Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT239K1Point(var_0_09, newobj:SecT239K1Point(SecT239K1Point::.ctor, ldloc:SecT239K1Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600ABED RID: 44013 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600ABED")]
[Address(RVA = "0x7BC480", Offset = "0x7BB480", VA = "0x1807BC480", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x17001B33 RID: 6963
// (get) Token: 0x0600ABEE RID: 44014 RVA: 0x002538E4 File Offset: 0x00251AE4
[Token(Token = "0x17001B33")]
public override bool IsKoblitz
{
[Token(Token = "0x600ABEE")]
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "39")]
get
{
return true;
}
}
// Token: 0x17001B34 RID: 6964
// (get) Token: 0x0600ABEF RID: 44015 RVA: 0x002538F4 File Offset: 0x00251AF4
[Token(Token = "0x17001B34")]
public virtual int M
{
[Token(Token = "0x600ABEF")]
[Address(RVA = "0x7B9E90", Offset = "0x7B8E90", VA = "0x1807B9E90", Slot = "40")]
get
{
return 239;
}
}
// Token: 0x17001B35 RID: 6965
// (get) Token: 0x0600ABF0 RID: 44016 RVA: 0x00253908 File Offset: 0x00251B08
[Token(Token = "0x17001B35")]
public virtual bool IsTrinomial
{
[Token(Token = "0x600ABF0")]
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "41")]
get
{
return true;
}
}
// Token: 0x17001B36 RID: 6966
// (get) Token: 0x0600ABF1 RID: 44017 RVA: 0x00253918 File Offset: 0x00251B18
[Token(Token = "0x17001B36")]
public virtual int K1
{
[Token(Token = "0x600ABF1")]
[Address(RVA = "0x7B9EC0", Offset = "0x7B8EC0", VA = "0x1807B9EC0", Slot = "42")]
get
{
return 158;
}
}
// Token: 0x17001B37 RID: 6967
// (get) Token: 0x0600ABF2 RID: 44018 RVA: 0x0025392C File Offset: 0x00251B2C
[Token(Token = "0x17001B37")]
public virtual int K2
{
[Token(Token = "0x600ABF2")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "43")]
get
{
return 0;
}
}
// Token: 0x17001B38 RID: 6968
// (get) Token: 0x0600ABF3 RID: 44019 RVA: 0x0025393C File Offset: 0x00251B3C
[Token(Token = "0x17001B38")]
public virtual int K3
{
[Token(Token = "0x600ABF3")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "44")]
get
{
return 0;
}
}
// Token: 0x0600ABF4 RID: 44020 RVA: 0x0025394C File Offset: 0x00251B4C
[Token(Token = "0x600ABF4")]
[Address(RVA = "0x7BC1D0", Offset = "0x7BB1D0", VA = "0x1807BC1D0", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
ulong[] array;
int num;
for (;;)
{
array = new ulong[points];
num = 0;
if (len <= 0)
{
goto IL_49;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
if (y != 0 && y != 0)
{
break;
}
}
}
num += 8;
IL_49:
SecT239K1Curve.SecT239K1LookupTable secT239K1LookupTable;
secT239K1LookupTable.m_outer = 0;
secT239K1LookupTable.m_table = array;
secT239K1LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x04006DEC RID: 28140
[Token(Token = "0x4006DEC")]
private const int SECT239K1_DEFAULT_COORDS = 6;
// Token: 0x04006DED RID: 28141
[Token(Token = "0x4006DED")]
private const int SECT239K1_FE_LONGS = 4;
// Token: 0x04006DEE RID: 28142
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4006DEE")]
protected readonly SecT239K1Point m_infinity;
// Token: 0x02001B7B RID: 7035
[Token(Token = "0x2001B7B")]
private class SecT239K1LookupTable : ECLookupTable
{
// Token: 0x0600ABF5 RID: 44021 RVA: 0x002539C0 File Offset: 0x00251BC0
[Token(Token = "0x600ABF5")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecT239K1LookupTable(SecT239K1Curve outer, ulong[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001B39 RID: 6969
// (get) Token: 0x0600ABF6 RID: 44022 RVA: 0x002539E8 File Offset: 0x00251BE8
[Token(Token = "0x17001B39")]
public virtual int Size
{
[Token(Token = "0x600ABF6")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600ABF7 RID: 44023 RVA: 0x002539FC File Offset: 0x00251BFC
[Token(Token = "0x600ABF7")]
[Address(RVA = "0x7BC880", Offset = "0x7BB880", VA = "0x1807BC880", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
ulong[] array = Nat256.Create64();
ulong[] array2 = Nat256.Create64();
int num = 0;
int num2 = 0;
if (this.m_size > num2)
{
int num3 = 0;
ulong[] table = this.m_table;
ulong[] table2 = this.m_table;
num3++;
num += 8;
num2++;
}
SecT239K1Curve outer = this.m_outer;
new SecT239FieldElement().x = array;
new SecT239FieldElement().x = array2;
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006DEF RID: 28143
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006DEF")]
private readonly SecT239K1Curve m_outer;
// Token: 0x04006DF0 RID: 28144
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006DF0")]
private readonly ulong[] m_table;
// Token: 0x04006DF1 RID: 28145
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006DF1")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,296 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B7C RID: 7036
[Token(Token = "0x2001B7C")]
internal class SecT239K1Point : AbstractF2mPoint
{
// Token: 0x0600ABF8 RID: 44024 RVA: 0x00253A7C File Offset: 0x00251C7C
[Token(Token = "0x600ABF8")]
[Address(RVA = "0x7BDF80", Offset = "0x7BCF80", VA = "0x1807BDF80")]
public SecT239K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600ABF9 RID: 44025 RVA: 0x00253A8C File Offset: 0x00251C8C
[Token(Token = "0x600ABF9")]
[Address(RVA = "0x7BDEC0", Offset = "0x7BCEC0", VA = "0x1807BDEC0")]
public SecT239K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600ABF9)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239K1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600ABFA RID: 44026 RVA: 0x00253AB4 File Offset: 0x00251CB4
[Token(Token = "0x600ABFA")]
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
internal SecT239K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600ABFB RID: 44027 RVA: 0x00253AC4 File Offset: 0x00251CC4
[Token(Token = "0x600ABFB")]
[Address(RVA = "0x7BD240", Offset = "0x7BC240", VA = "0x1807BD240", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600ABFB)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239K1Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT239K1Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT239K1Point[exp:ECPoint](this)))
}
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: 0x17001B3A RID: 6970
// (get) Token: 0x0600ABFC RID: 44028 RVA: 0x00253AE0 File Offset: 0x00251CE0
[Token(Token = "0x17001B3A")]
public override ECFieldElement YCoord
{
[Token(Token = "0x600ABFC")]
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
get
{
ECFieldElement x = this.m_x;
ECFieldElement y = this.m_y;
if (!base.IsInfinity && !x.IsOne)
{
int fieldSize = y.FieldSize;
if (this.m_zs[0].BitLength == 0)
{
}
}
return y;
}
}
// Token: 0x17001B3B RID: 6971
// (get) Token: 0x0600ABFD RID: 44029 RVA: 0x00253B30 File Offset: 0x00251D30
[Token(Token = "0x17001B3B")]
protected internal override bool CompressionYTilde
{
[Token(Token = "0x600ABFD")]
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
get
{
if (!this.m_x.IsOne)
{
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement;
ECFieldElement ecfieldElement2;
return ecfieldElement != ecfieldElement2;
}
throw new NullReferenceException();
}
}
// Token: 0x0600ABFE RID: 44030 RVA: 0x00253B64 File Offset: 0x00251D64
[Token(Token = "0x600ABFE")]
[Address(RVA = "0x7BCA50", Offset = "0x7BBA50", VA = "0x1807BCA50", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
while (!base.IsInfinity && !b.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
ECFieldElement x2 = b.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
ECFieldElement[] zs2 = b.m_zs;
ECFieldElement y2 = b.m_y;
ECFieldElement ecfieldElement2 = zs2[0];
if (ecfieldElement.BitLength == 0)
{
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
}
if (ecfieldElement2.BitLength != 0)
{
continue;
}
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
int fieldSize2 = ecfieldElement5.FieldSize;
if (fieldSize2 == 0)
{
if (!x2.IsOne)
{
sbyte b3;
sbyte b2 = b3;
TypeCode typeCode = b2.GetTypeCode();
int fieldSize3 = y.FieldSize;
}
bool flag2 = this.IsNormalized();
ushort num;
TypeCode typeCode2 = num.GetTypeCode();
ushort num2;
TypeCode typeCode3 = num2.GetTypeCode().GetTypeCode();
short num3;
TypeCode typeCode4 = num3.GetTypeCode();
sbyte b4;
TypeCode typeCode5 = b4.GetTypeCode().GetTypeCode();
byte b5;
TypeCode typeCode6 = b5.GetTypeCode();
BigInteger one = BigInteger.One;
int num4 = flag.CompareTo(one);
ECFieldElement[] array = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
ECPoint ecpoint;
if (ecpoint == 0)
{
break;
}
}
if (!x2.IsOne)
{
bool compressionYTilde = b.CompressionYTilde;
break;
}
break;
}
return b;
}
// Token: 0x0600ABFF RID: 44031 RVA: 0x00253CF4 File Offset: 0x00251EF4
[Token(Token = "0x600ABFF")]
[Address(RVA = "0x7BDA50", Offset = "0x7BCA50", VA = "0x1807BDA50", Slot = "30")]
public override ECPoint Twice()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
if (!this.m_x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
int bitLength = ecfieldElement.BitLength;
if (bitLength != 0)
{
int fieldSize = y.Negate().FieldSize;
}
ECFieldElement ecfieldElement2 = ecfieldElement.Negate();
int fieldSize2 = y.FieldSize;
if (bitLength != 0)
{
}
sbyte b2;
sbyte b = b2;
int fieldSize3 = y.FieldSize;
ECFieldElement ecfieldElement3 = ecfieldElement2.Negate();
ushort num;
TypeCode typeCode = num.GetTypeCode().GetTypeCode();
sbyte b3;
TypeCode typeCode2 = b3.GetTypeCode().GetTypeCode().GetTypeCode();
(new ECFieldElement[1])[0] = b;
bool withCompression = this.m_withCompression;
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600AC00 RID: 44032 RVA: 0x00253DBC File Offset: 0x00251FBC
[Token(Token = "0x600AC00")]
[Address(RVA = "0x7BD490", Offset = "0x7BC490", VA = "0x1807BD490", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
if (!base.IsInfinity)
{
if (!b.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
if (x.IsOne)
{
return b;
}
ECFieldElement[] zs = b.m_zs;
ECFieldElement x2 = b.m_x;
ECFieldElement ecfieldElement = zs[0];
if (!x2.IsOne && ecfieldElement.BitLength != 0)
{
ECFieldElement[] zs2 = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement2 = zs2[0];
ECFieldElement y2 = b.m_y;
ECFieldElement ecfieldElement3 = x.Negate();
ECFieldElement ecfieldElement4 = y.Negate();
ECFieldElement ecfieldElement5 = ecfieldElement2.Negate();
ECFieldElement ecfieldElement6 = y.Subtract(ecfieldElement2);
int fieldSize = ecfieldElement4.FieldSize;
ECFieldElement ecfieldElement7;
int fieldSize2 = ecfieldElement7.Subtract(ecfieldElement5).FieldSize;
int fieldSize3 = x2.Subtract(ecfieldElement5).FieldSize;
decimal num;
TypeCode typeCode = num.GetTypeCode();
ECFieldElement[] array = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
}
throw new NullReferenceException();
}
return b;
}
// Token: 0x0600AC01 RID: 44033 RVA: 0x00253ED8 File Offset: 0x002520D8
[Token(Token = "0x600AC01")]
[Address(RVA = "0x7BD2E0", Offset = "0x7BC2E0", VA = "0x1807BD2E0", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity && !this.m_x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
bool flag = this.SatisfiesOrder();
int fieldSize = y.FieldSize;
ECFieldElement[] array = new ECFieldElement[1];
if (ecfieldElement != 0)
{
}
array[0] = ecfieldElement;
bool withCompression = this.m_withCompression;
}
throw new IndexOutOfRangeException();
}
}
}
@@ -0,0 +1,406 @@
using System;
using System.Runtime.CompilerServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B7D RID: 7037
[Token(Token = "0x2001B7D")]
internal class SecT283Field
{
// Token: 0x0600AC02 RID: 44034 RVA: 0x00253F44 File Offset: 0x00252144
[Token(Token = "0x600AC02")]
[Address(RVA = "0x7BF5E0", Offset = "0x7BE5E0", VA = "0x1807BF5E0")]
public static void Add(ulong[] x, ulong[] y, ulong[] z)
{
ulong num = y[0];
z[0] = num;
ulong num2 = y[1];
z[1] = num2;
ulong num3 = y[2];
z[2] = num3;
ulong num4 = y[3];
z[3] = num4;
ulong num5 = y[4];
z[4] = num5;
}
// Token: 0x0600AC03 RID: 44035 RVA: 0x00253FAC File Offset: 0x002521AC
[Token(Token = "0x600AC03")]
[Address(RVA = "0x7BF120", Offset = "0x7BE120", VA = "0x1807BF120")]
public static void AddExt(ulong[] xx, ulong[] yy, ulong[] zz)
{
ulong num = yy[0];
zz[0] = num;
ulong num2 = yy[1];
zz[1] = num2;
ulong num3 = yy[2];
zz[2] = num3;
ulong num4 = yy[3];
zz[3] = num4;
ulong num5 = yy[4];
zz[4] = num5;
ulong num6 = yy[5];
zz[5] = num6;
ulong num7 = yy[6];
zz[6] = num7;
ulong num8 = yy[7];
zz[7] = num8;
ulong num9 = yy[8];
zz[8] = num9;
}
// Token: 0x0600AC04 RID: 44036 RVA: 0x0025405C File Offset: 0x0025225C
[Token(Token = "0x600AC04")]
[Address(RVA = "0x7BF480", Offset = "0x7BE480", VA = "0x1807BF480")]
public static void AddOne(ulong[] x, ulong[] z)
{
ulong num = x[0];
z[0] = num;
ulong num2 = x[1];
z[1] = num2;
ulong num3 = x[2];
z[2] = num3;
ulong num4 = x[3];
z[3] = num4;
ulong num5 = x[4];
z[4] = num5;
}
// Token: 0x0600AC05 RID: 44037 RVA: 0x002540C4 File Offset: 0x002522C4
[Token(Token = "0x600AC05")]
[Address(RVA = "0x7BF7E0", Offset = "0x7BE7E0", VA = "0x1807BF7E0")]
public static ulong[] FromBigInteger(BigInteger x)
{
ulong[] array = Nat320.FromBigInteger64(x);
ulong num = array[4];
array[0] = num;
array[4] = num;
return array;
}
// Token: 0x0600AC06 RID: 44038 RVA: 0x002540F8 File Offset: 0x002522F8
[Token(Token = "0x600AC06")]
[Address(RVA = "0x7C0CA0", Offset = "0x7BFCA0", VA = "0x1807C0CA0")]
public static void Invert(ulong[] x, ulong[] z)
{
/*
An exception occurred when decompiling this method (0600AC06)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT283Field::Invert(System.UInt64[],System.UInt64[])
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_D7:
stloc:InvalidOperationException(var_4_DC, newobj:InvalidOperationException(InvalidOperationException::.ctor))
}
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: 0x0600AC07 RID: 44039 RVA: 0x002541E4 File Offset: 0x002523E4
[Token(Token = "0x600AC07")]
[Address(RVA = "0x7C0F80", Offset = "0x7BFF80", VA = "0x1807C0F80")]
public static void Multiply(ulong[] x, ulong[] y, ulong[] z)
{
ulong[] array = Nat320.CreateExt64();
SecT283Field.ImplMultiply(x, y, array);
SecT283Field.Reduce(array, z);
}
// Token: 0x0600AC08 RID: 44040 RVA: 0x00254208 File Offset: 0x00252408
[Token(Token = "0x600AC08")]
[Address(RVA = "0x7C0EE0", Offset = "0x7BFEE0", VA = "0x1807C0EE0")]
public static void MultiplyAddToExt(ulong[] x, ulong[] y, ulong[] zz)
{
ulong[] array = Nat320.CreateExt64();
SecT283Field.ImplMultiply(x, y, array);
SecT283Field.AddExt(zz, array, zz);
}
// Token: 0x0600AC09 RID: 44041 RVA: 0x00254230 File Offset: 0x00252430
[Token(Token = "0x600AC09")]
[Address(RVA = "0x7C10C0", Offset = "0x7C00C0", VA = "0x1807C10C0")]
public static void Reduce(ulong[] xx, ulong[] z)
{
int length = xx.Length;
ulong num = xx[4];
ulong num2 = xx[8];
z[0] = num2;
z[1] = num;
z[2] = num;
num = num2;
z[3] = num;
z[4] = num;
}
// Token: 0x0600AC0A RID: 44042 RVA: 0x00254284 File Offset: 0x00252484
[Token(Token = "0x600AC0A")]
[Address(RVA = "0x7C1020", Offset = "0x7C0020", VA = "0x1807C1020")]
public static void Reduce37(ulong[] z, int zOff)
{
int length = z.Length;
ulong num;
z.m_value = num;
z[0] = num;
}
// Token: 0x0600AC0B RID: 44043 RVA: 0x002542B0 File Offset: 0x002524B0
[Token(Token = "0x600AC0B")]
[Address(RVA = "0x7C13D0", Offset = "0x7C03D0", VA = "0x1807C13D0")]
public static void Sqrt(ulong[] x, ulong[] z)
{
ulong[] array = Nat320.Create64();
ulong num = Interleave.Unshuffle(x[0]);
ulong num2 = x[1];
ulong num3 = Interleave.Unshuffle(num2);
array[0] = num;
num = Interleave.Unshuffle(x[2]);
ulong num4 = x[3];
ulong num5 = Interleave.Unshuffle(num4);
array[1] = num;
ulong num6 = Interleave.Unshuffle(x[4]);
array[2] = num6;
}
// Token: 0x0600AC0C RID: 44044 RVA: 0x00254334 File Offset: 0x00252534
[Token(Token = "0x600AC0C")]
[Address(RVA = "0x7C17C0", Offset = "0x7C07C0", VA = "0x1807C17C0")]
public static void Square(ulong[] x, ulong[] z)
{
ulong[] array = Nat.Create64(9);
SecT283Field.ImplSquare(x, array);
SecT283Field.Reduce(array, z);
}
// Token: 0x0600AC0D RID: 44045 RVA: 0x00254358 File Offset: 0x00252558
[Token(Token = "0x600AC0D")]
[Address(RVA = "0x7C1640", Offset = "0x7C0640", VA = "0x1807C1640")]
public static void SquareAddToExt(ulong[] x, ulong[] zz)
{
ulong[] array = Nat.Create64(9);
SecT283Field.ImplSquare(x, array);
SecT283Field.AddExt(zz, array, zz);
}
// Token: 0x0600AC0E RID: 44046 RVA: 0x0025437C File Offset: 0x0025257C
[Token(Token = "0x600AC0E")]
[Address(RVA = "0x7C16D0", Offset = "0x7C06D0", VA = "0x1807C16D0")]
public static void SquareN(ulong[] x, int n, ulong[] z)
{
ulong[] array = Nat.Create64(9);
SecT283Field.ImplSquare(x, array);
SecT283Field.Reduce(array, z);
if (n > 0)
{
SecT283Field.ImplSquare(z, array);
SecT283Field.Reduce(array, z);
}
}
// Token: 0x0600AC0F RID: 44047 RVA: 0x002543B4 File Offset: 0x002525B4
[Token(Token = "0x600AC0F")]
[Address(RVA = "0x7C1850", Offset = "0x7C0850", VA = "0x1807C1850")]
public static uint Trace(ulong[] x)
{
int length = x.Length;
ulong num = x[4];
throw new NullReferenceException();
}
// Token: 0x0600AC10 RID: 44048 RVA: 0x002543D8 File Offset: 0x002525D8
[Token(Token = "0x600AC10")]
[Address(RVA = "0x7BF8B0", Offset = "0x7BE8B0", VA = "0x1807BF8B0")]
protected static void ImplCompactExt(ulong[] zz)
{
int length = zz.Length;
ulong num = zz[1];
ulong num2 = zz[2];
ulong num3 = zz[3];
ulong num4 = zz[4];
ulong num5 = zz[5];
ulong num6 = zz[6];
ulong num7 = zz[7];
ulong num8 = zz[8];
ulong num9 = zz[9];
num = num2;
zz[1] = num;
zz[2] = num2;
zz[3] = num3;
zz[4] = num4;
zz[5] = num5;
zz[6] = num6;
zz[7] = num7;
zz[8] = num8;
zz[9] = num9;
}
// Token: 0x0600AC11 RID: 44049 RVA: 0x002544A4 File Offset: 0x002526A4
[Token(Token = "0x600AC11")]
[Address(RVA = "0x7BFBA0", Offset = "0x7BEBA0", VA = "0x1807BFBA0")]
protected static void ImplExpand(ulong[] x, ulong[] z)
{
int length = x.Length;
ulong num = x[0];
ulong num2 = x[1];
ulong num3 = x[2];
ulong num4 = x[3];
z[0] = num;
num = num2;
z[1] = num;
z[2] = num2;
z[3] = num3;
z[4] = num4;
}
// Token: 0x0600AC12 RID: 44050 RVA: 0x00254510 File Offset: 0x00252710
[Token(Token = "0x600AC12")]
[Address(RVA = "0x7BFD50", Offset = "0x7BED50", VA = "0x1807BFD50")]
protected static void ImplMultiply(ulong[] x, ulong[] y, ulong[] zz)
{
ulong[] array = new ulong[5];
ulong[] array2 = new ulong[5];
SecT283Field.ImplExpand(x, array);
SecT283Field.ImplExpand(y, array2);
ulong[] array3 = new ulong[26];
ulong num = array2[0];
ulong num2 = array[0];
int num3 = 0;
SecT283Field.ImplMulw(num2, num, array3, num3);
ulong num4 = array2[1];
SecT283Field.ImplMulw(array[1], num4, array3, 2);
ulong num5 = array2[2];
SecT283Field.ImplMulw(array[2], num5, array3, 4);
ulong num6 = array2[3];
SecT283Field.ImplMulw(array[3], num6, array3, 6);
ulong num7 = array2[4];
SecT283Field.ImplMulw(array[4], num7, array3, 8);
int length = array.Length;
int length2 = array2.Length;
ulong num8 = array[2];
ulong num9 = array2[2];
ulong num10 = array[4];
ulong num11 = array2[4];
num9 = num10;
ulong num12 = array[3];
ulong num13 = array2[3];
SecT283Field.ImplMulw(num12, num13, array3, 18);
ulong num14 = array[1];
ulong num15 = array2[1];
SecT283Field.ImplMulw(num14, num15, array3, 20);
ulong num16 = array[2];
num16 = num11;
SecT283Field.ImplMulw(num9, num16, array3, 22);
SecT283Field.ImplMulw(num16, num16, array3, 24);
SecT283Field.ImplMulw(num16, num16, array3, 10);
num16 = num9;
SecT283Field.ImplMulw(num8, num16, array3, 12);
SecT283Field.ImplMulw(num8, num11, array3, 14);
SecT283Field.ImplMulw(num9, num11, array3, 16);
ulong num17 = array3[0];
zz[0] = num17;
ulong num18 = array3[9];
zz[9] = num18;
int length3 = array3.Length;
ulong num19 = array3[10];
zz[1] = num19;
int length4 = array3.Length;
ulong num20 = array3[12];
zz[2] = num20;
int length5 = array3.Length;
ulong num21 = array3[24];
zz[3] = num21;
int length6 = array3.Length;
ulong num22 = array3[17];
zz[8] = num22;
int length7 = array3.Length;
ulong num23 = array3[16];
zz[7] = num23;
int length8 = array3.Length;
ulong num24 = array3[23];
zz[4] = num24;
int length9 = array3.Length;
ulong num25 = array3[21];
zz[5] = num25;
int length10 = array3.Length;
ulong num26 = array3[25];
zz[6] = num26;
SecT283Field.ImplCompactExt(zz);
}
// Token: 0x0600AC13 RID: 44051 RVA: 0x002547A4 File Offset: 0x002529A4
[Token(Token = "0x600AC13")]
[Address(RVA = "0x7C0870", Offset = "0x7BF870", VA = "0x1807C0870")]
protected static void ImplMulw(ulong x, ulong y, ulong[] z, int zOff)
{
ulong[] array = new ulong[8];
array[1] = y;
int num = array.Length;
array[2] = (ulong)num;
int length = array.Length;
array[3] = (ulong)num;
num = length;
array[4] = (ulong)num;
int length2 = array.Length;
array[5] = (ulong)num;
num = length2;
array[6] = (ulong)num;
int length3 = array.Length;
array[7] = (ulong)num;
int num2 = zOff + 1;
z[0] = x;
z[0] = y;
}
// Token: 0x0600AC14 RID: 44052 RVA: 0x0025482C File Offset: 0x00252A2C
[Token(Token = "0x600AC14")]
[Address(RVA = "0x7C0BF0", Offset = "0x7BFBF0", VA = "0x1807C0BF0")]
protected static void ImplSquare(ulong[] x, ulong[] zz)
{
int num = 0;
Interleave.Expand64To128(x[num], zz, 0);
num++;
ulong num2 = Interleave.Expand32to64((uint)x[4]);
zz[8] = num2;
}
// Token: 0x0600AC15 RID: 44053 RVA: 0x00254868 File Offset: 0x00252A68
[Token(Token = "0x600AC15")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public SecT283Field()
{
}
// Token: 0x0600AC16 RID: 44054 RVA: 0x0025487C File Offset: 0x00252A7C
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600AC16")]
[Address(RVA = "0x7C18A0", Offset = "0x7C08A0", VA = "0x1807C18A0")]
static SecT283Field()
{
RuntimeHelpers.InitializeArray(new ulong[5], fieldof(<PrivateImplementationDetails>.5E7F55149EC07597C76E6E3CD9F62274214061E6).FieldHandle);
}
// Token: 0x04006DF2 RID: 28146
[Token(Token = "0x4006DF2")]
private const ulong M27 = 134217727UL;
// Token: 0x04006DF3 RID: 28147
[Token(Token = "0x4006DF3")]
private const ulong M57 = 144115188075855871UL;
// Token: 0x04006DF4 RID: 28148
[Token(Token = "0x4006DF4")]
private static readonly ulong[] ROOT_Z;
}
}
@@ -0,0 +1,591 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B7E RID: 7038
[Token(Token = "0x2001B7E")]
internal class SecT283FieldElement : AbstractF2mFieldElement
{
// Token: 0x0600AC17 RID: 44055 RVA: 0x0025489C File Offset: 0x00252A9C
[Token(Token = "0x600AC17")]
[Address(RVA = "0x7BEF40", Offset = "0x7BDF40", VA = "0x1807BEF40")]
public SecT283FieldElement(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600AC17)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT283FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_38:
stloc:ArgumentException(var_3_47, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecT283FieldElement"), ldstr:string("x")))
}
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: 0x0600AC18 RID: 44056 RVA: 0x002548F0 File Offset: 0x00252AF0
[Token(Token = "0x600AC18")]
[Address(RVA = "0x7BEF10", Offset = "0x7BDF10", VA = "0x1807BEF10")]
public SecT283FieldElement()
{
ulong[] array = Nat320.Create64();
this.x = array;
}
// Token: 0x0600AC19 RID: 44057 RVA: 0x00254914 File Offset: 0x00252B14
[Token(Token = "0x600AC19")]
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
protected internal SecT283FieldElement(ulong[] x)
{
this.x = x;
}
// Token: 0x17001B3C RID: 6972
// (get) Token: 0x0600AC1A RID: 44058 RVA: 0x00254930 File Offset: 0x00252B30
[Token(Token = "0x17001B3C")]
public override bool IsOne
{
[Token(Token = "0x600AC1A")]
[Address(RVA = "0x7BF100", Offset = "0x7BE100", VA = "0x1807BF100", Slot = "17")]
get
{
return Nat320.IsOne64(this.x);
}
}
// Token: 0x17001B3D RID: 6973
// (get) Token: 0x0600AC1B RID: 44059 RVA: 0x00254948 File Offset: 0x00252B48
[Token(Token = "0x17001B3D")]
public override bool IsZero
{
[Token(Token = "0x600AC1B")]
[Address(RVA = "0x7BF110", Offset = "0x7BE110", VA = "0x1807BF110", Slot = "18")]
get
{
return Nat320.IsZero64(this.x);
}
}
// Token: 0x0600AC1C RID: 44060 RVA: 0x00254960 File Offset: 0x00252B60
[Token(Token = "0x600AC1C")]
[Address(RVA = "0x7B9C40", Offset = "0x7B8C40", VA = "0x1807B9C40", Slot = "24")]
public override bool TestBitZero()
{
ulong[] array = this.x;
throw new NullReferenceException();
}
// Token: 0x0600AC1D RID: 44061 RVA: 0x0025497C File Offset: 0x00252B7C
[Token(Token = "0x600AC1D")]
[Address(RVA = "0x7BEE70", Offset = "0x7BDE70", VA = "0x1807BEE70", Slot = "4")]
public override BigInteger ToBigInteger()
{
return Nat320.ToBigInteger64(this.x);
}
// Token: 0x17001B3E RID: 6974
// (get) Token: 0x0600AC1E RID: 44062 RVA: 0x00254994 File Offset: 0x00252B94
[Token(Token = "0x17001B3E")]
public override string FieldName
{
[Token(Token = "0x600AC1E")]
[Address(RVA = "0x7BF0C0", Offset = "0x7BE0C0", VA = "0x1807BF0C0", Slot = "5")]
get
{
return "SecT283Field";
}
}
// Token: 0x17001B3F RID: 6975
// (get) Token: 0x0600AC1F RID: 44063 RVA: 0x002549A8 File Offset: 0x00252BA8
[Token(Token = "0x17001B3F")]
public override int FieldSize
{
[Token(Token = "0x600AC1F")]
[Address(RVA = "0x7BF0F0", Offset = "0x7BE0F0", VA = "0x1807BF0F0", Slot = "6")]
get
{
return 283;
}
}
// Token: 0x0600AC20 RID: 44064 RVA: 0x002549BC File Offset: 0x00252BBC
[Token(Token = "0x600AC20")]
[Address(RVA = "0x7BE300", Offset = "0x7BD300", VA = "0x1807BE300", Slot = "7")]
public override ECFieldElement Add(ECFieldElement b)
{
ulong[] array;
do
{
array = Nat320.Create64();
ulong[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecT283FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecT283FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600AC21 RID: 44065 RVA: 0x00254A04 File Offset: 0x00252C04
[Token(Token = "0x600AC21")]
[Address(RVA = "0x7BE130", Offset = "0x7BD130", VA = "0x1807BE130", Slot = "8")]
public override ECFieldElement AddOne()
{
ulong[] array = Nat320.Create64();
ulong[] array2 = this.x;
ulong num = array2[0];
array[0] = num;
ulong num2 = array2[1];
array[1] = num2;
ulong num3 = array2[2];
array[2] = num3;
ulong num4 = array2[3];
array[3] = num4;
ulong num5 = array2[4];
array[4] = num5;
new SecT283FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600AC22 RID: 44066 RVA: 0x00254A88 File Offset: 0x00252C88
[Token(Token = "0x600AC22")]
[Address(RVA = "0x7B9C20", Offset = "0x7B8C20", VA = "0x1807B9C20", Slot = "9")]
public override ECFieldElement Subtract(ECFieldElement b)
{
/*
An exception occurred when decompiling this method (0600AC22)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT283FieldElement::Subtract(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT283FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AC23 RID: 44067 RVA: 0x00254A9C File Offset: 0x00252C9C
[Token(Token = "0x600AC23")]
[Address(RVA = "0x7BE910", Offset = "0x7BD910", VA = "0x1807BE910", Slot = "10")]
public override ECFieldElement Multiply(ECFieldElement b)
{
ulong[] array;
do
{
array = Nat320.Create64();
ulong[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecT283FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecT283FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600AC24 RID: 44068 RVA: 0x00254AE4 File Offset: 0x00252CE4
[Token(Token = "0x600AC24")]
[Address(RVA = "0x7B9440", Offset = "0x7B8440", VA = "0x1807B9440", Slot = "19")]
public override ECFieldElement MultiplyMinusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
{
/*
An exception occurred when decompiling this method (0600AC24)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT283FieldElement::MultiplyMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT283FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AC25 RID: 44069 RVA: 0x00254AF8 File Offset: 0x00252CF8
[Token(Token = "0x600AC25")]
[Address(RVA = "0x7BE680", Offset = "0x7BD680", VA = "0x1807BE680", Slot = "20")]
public override ECFieldElement MultiplyPlusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
{
do
{
ulong[] array = this.x;
}
while (b == 0 || b == 0 || x == 0 || x == 0 || y == 0 || y == 0);
ulong[] array2 = Nat.Create64(9);
ulong[] array3 = Nat320.Create64();
SecT283Field.Reduce(array2, array3);
new SecT283FieldElement().x = array3;
throw new NullReferenceException();
}
// Token: 0x0600AC26 RID: 44070 RVA: 0x00254B60 File Offset: 0x00252D60
[Token(Token = "0x600AC26")]
[Address(RVA = "0x7B91D0", Offset = "0x7B81D0", VA = "0x1807B91D0", Slot = "11")]
public override ECFieldElement Divide(ECFieldElement b)
{
ECFieldElement ecfieldElement = b.Square();
BigInteger bigInteger = base.ToBigInteger();
throw new NullReferenceException();
}
// Token: 0x0600AC27 RID: 44071 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600AC27")]
[Address(RVA = "0x4A65C0", Offset = "0x4A55C0", VA = "0x1804A65C0", Slot = "12")]
public override ECFieldElement Negate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600AC28 RID: 44072 RVA: 0x00254B80 File Offset: 0x00252D80
[Token(Token = "0x600AC28")]
[Address(RVA = "0x7BEDE0", Offset = "0x7BDDE0", VA = "0x1807BEDE0", Slot = "13")]
public override ECFieldElement Square()
{
/*
An exception occurred when decompiling this method (0600AC28)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT283FieldElement::Square()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat320::Create64))
call:void(SecT283Field::Square, ldfld:uint64[](SecT283FieldElement::x, ldloc:SecT283FieldElement(this)), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT283FieldElement::x, newobj:SecT283FieldElement(SecT283FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x0600AC29 RID: 44073 RVA: 0x00254BAC File Offset: 0x00252DAC
[Token(Token = "0x600AC29")]
[Address(RVA = "0x7B98C0", Offset = "0x7B88C0", VA = "0x1807B98C0", Slot = "21")]
public override ECFieldElement SquareMinusProduct(ECFieldElement x, ECFieldElement y)
{
/*
An exception occurred when decompiling this method (0600AC29)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT283FieldElement::SquareMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT283FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AC2A RID: 44074 RVA: 0x00254BC0 File Offset: 0x00252DC0
[Token(Token = "0x600AC2A")]
[Address(RVA = "0x7BEAE0", Offset = "0x7BDAE0", VA = "0x1807BEAE0", Slot = "22")]
public override ECFieldElement SquarePlusProduct(ECFieldElement x, ECFieldElement y)
{
ulong[] array;
do
{
array = this.x;
}
while (x == 0 || x == 0 || y == 0 || y == 0);
ulong[] array2 = Nat.Create64(9);
ulong[] array3 = Nat.Create64(9);
SecT283Field.ImplSquare(array, array3);
SecT283Field.AddExt(array2, array3, array2);
ulong[] array4 = Nat320.Create64();
SecT283Field.Reduce(array2, array4);
new SecT283FieldElement().x = array4;
throw new NullReferenceException();
}
// Token: 0x0600AC2B RID: 44075 RVA: 0x00254C38 File Offset: 0x00252E38
[Token(Token = "0x600AC2B")]
[Address(RVA = "0x7BED40", Offset = "0x7BDD40", VA = "0x1807BED40", Slot = "23")]
public override ECFieldElement SquarePow(int pow)
{
/*
An exception occurred when decompiling this method (0600AC2B)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT283FieldElement::SquarePow(System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat320::Create64))
call:void(SecT283Field::SquareN, ldfld:uint64[](SecT283FieldElement::x, ldloc:SecT283FieldElement(this)), ldloc:int32(pow), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT283FieldElement::x, newobj:SecT283FieldElement(SecT283FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x0600AC2C RID: 44076 RVA: 0x00254C64 File Offset: 0x00252E64
[Token(Token = "0x600AC2C")]
[Address(RVA = "0x7BEE80", Offset = "0x7BDE80", VA = "0x1807BEE80", Slot = "28")]
public override int Trace()
{
ulong[] array = this.x;
int length = array.Length;
ulong num = array[4];
throw new NullReferenceException();
}
// Token: 0x0600AC2D RID: 44077 RVA: 0x00254C8C File Offset: 0x00252E8C
[Token(Token = "0x600AC2D")]
[Address(RVA = "0x7BE5F0", Offset = "0x7BD5F0", VA = "0x1807BE5F0", Slot = "14")]
public override ECFieldElement Invert()
{
/*
An exception occurred when decompiling this method (0600AC2D)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT283FieldElement::Invert()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat320::Create64))
call:void(SecT283Field::Invert, ldfld:uint64[](SecT283FieldElement::x, ldloc:SecT283FieldElement(this)), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT283FieldElement::x, newobj:SecT283FieldElement(SecT283FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x0600AC2E RID: 44078 RVA: 0x00254CB8 File Offset: 0x00252EB8
[Token(Token = "0x600AC2E")]
[Address(RVA = "0x7BEA50", Offset = "0x7BDA50", VA = "0x1807BEA50", Slot = "15")]
public override ECFieldElement Sqrt()
{
/*
An exception occurred when decompiling this method (0600AC2E)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT283FieldElement::Sqrt()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat320::Create64))
call:void(SecT283Field::Sqrt, ldfld:uint64[](SecT283FieldElement::x, ldloc:SecT283FieldElement(this)), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT283FieldElement::x, newobj:SecT283FieldElement(SecT283FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x17001B40 RID: 6976
// (get) Token: 0x0600AC2F RID: 44079 RVA: 0x00254CE4 File Offset: 0x00252EE4
[Token(Token = "0x17001B40")]
public virtual int Representation
{
[Token(Token = "0x600AC2F")]
[Address(RVA = "0x4DB5B0", Offset = "0x4DA5B0", VA = "0x1804DB5B0", Slot = "29")]
get
{
return 3;
}
}
// Token: 0x17001B41 RID: 6977
// (get) Token: 0x0600AC30 RID: 44080 RVA: 0x00254CF4 File Offset: 0x00252EF4
[Token(Token = "0x17001B41")]
public virtual int M
{
[Token(Token = "0x600AC30")]
[Address(RVA = "0x7BF0F0", Offset = "0x7BE0F0", VA = "0x1807BF0F0", Slot = "30")]
get
{
return 283;
}
}
// Token: 0x17001B42 RID: 6978
// (get) Token: 0x0600AC31 RID: 44081 RVA: 0x00254D08 File Offset: 0x00252F08
[Token(Token = "0x17001B42")]
public virtual int K1
{
[Token(Token = "0x600AC31")]
[Address(RVA = "0x6271D0", Offset = "0x6261D0", VA = "0x1806271D0", Slot = "31")]
get
{
return 5;
}
}
// Token: 0x17001B43 RID: 6979
// (get) Token: 0x0600AC32 RID: 44082 RVA: 0x00254D18 File Offset: 0x00252F18
[Token(Token = "0x17001B43")]
public virtual int K2
{
[Token(Token = "0x600AC32")]
[Address(RVA = "0x4B30C0", Offset = "0x4B20C0", VA = "0x1804B30C0", Slot = "32")]
get
{
return 7;
}
}
// Token: 0x17001B44 RID: 6980
// (get) Token: 0x0600AC33 RID: 44083 RVA: 0x00254D28 File Offset: 0x00252F28
[Token(Token = "0x17001B44")]
public virtual int K3
{
[Token(Token = "0x600AC33")]
[Address(RVA = "0x4B2B30", Offset = "0x4B1B30", VA = "0x1804B2B30", Slot = "33")]
get
{
return 12;
}
}
// Token: 0x0600AC34 RID: 44084 RVA: 0x00254D38 File Offset: 0x00252F38
[Token(Token = "0x600AC34")]
[Address(RVA = "0x7BE440", Offset = "0x7BD440", VA = "0x1807BE440", Slot = "0")]
public override bool Equals(object obj)
{
/*
An exception occurred when decompiling this method (0600AC34)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT283FieldElement::Equals(System.Object)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT283FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AC35 RID: 44085 RVA: 0x00254D54 File Offset: 0x00252F54
[Token(Token = "0x600AC35")]
[Address(RVA = "0x7BE4D0", Offset = "0x7BD4D0", VA = "0x1807BE4D0", Slot = "25")]
public override bool Equals(ECFieldElement other)
{
/*
An exception occurred when decompiling this method (0600AC35)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT283FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT283FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AC36 RID: 44086 RVA: 0x00254D70 File Offset: 0x00252F70
[Token(Token = "0x600AC36")]
[Address(RVA = "0x7BE560", Offset = "0x7BD560", VA = "0x1807BE560", Slot = "34")]
public virtual bool Equals(SecT283FieldElement other)
{
if (this != other)
{
if (other != 0)
{
ulong[] array = other.x;
return Nat320.Eq64(this.x, array);
}
}
return true;
}
// Token: 0x0600AC37 RID: 44087 RVA: 0x00254D9C File Offset: 0x00252F9C
[Token(Token = "0x600AC37")]
[Address(RVA = "0x7BE580", Offset = "0x7BD580", VA = "0x1807BE580", Slot = "2")]
public override int GetHashCode()
{
ulong[] array = this.x;
int num = 0;
return Arrays.GetHashCode(array, num, 5);
}
// Token: 0x04006DF5 RID: 28149
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006DF5")]
protected internal readonly ulong[] x;
}
}
@@ -0,0 +1,409 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Multiplier;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B7F RID: 7039
[Token(Token = "0x2001B7F")]
internal class SecT283K1Curve : AbstractF2mCurve
{
// Token: 0x0600AC38 RID: 44088 RVA: 0x00254DBC File Offset: 0x00252FBC
[Token(Token = "0x600AC38")]
[Address(RVA = "0x7C1EE0", Offset = "0x7C0EE0", VA = "0x1807C1EE0")]
public SecT283K1Curve()
{
int num = 0;
ulong num2;
base..ctor(283, 5, 7, (int)num2);
int num3;
int num4;
SecT283K1Point secT283K1Point = new SecT283K1Point(this, num3, num4, num != 0);
num4 = 0;
num3 = 0;
this.m_infinity = secT283K1Point;
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
int fieldSize2 = this.FieldSize;
this.m_b = fieldSize2;
byte[] array = Hex.Decode("01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9AE2ED07577265DFF7F94451E061E163C61");
BigInteger bigInteger = new BigInteger(1, array);
this.m_order = bigInteger;
BigInteger bigInteger2;
this.m_cofactor = bigInteger2;
this.m_coord = (int)((ulong)6L);
}
// Token: 0x0600AC39 RID: 44089 RVA: 0x00254E40 File Offset: 0x00253040
[Token(Token = "0x600AC39")]
[Address(RVA = "0x7C1900", Offset = "0x7C0900", VA = "0x1807C1900", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600AC39)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT283K1Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_1_01, ldc.i4:int32(0))
stloc:SecT283K1Point(var_3_0D, newobj:SecT283K1Point(SecT283K1Point::.ctor, ldloc:SecT283K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
stloc:int32(var_4, ldc.i4:int32(0))
stloc:int32(var_5, ldc.i4:int32(0))
stfld:SecT283K1Point(SecT283K1Curve::m_infinity, ldloc:SecT283K1Curve(var_0), ldloc:SecT283K1Point(var_3_0D))
stloc:int32(var_6_21, callvirtgetter:int32(SecT283K1Curve::get_FieldSize, ldloc:SecT283K1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT283K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_6_21))
stloc:int32(var_7_31, callvirtgetter:int32(SecT283K1Curve::get_FieldSize, ldloc:SecT283K1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT283K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_7_31))
stloc:uint8[](var_8_45, call:uint8[](Hex::Decode, ldstr:string("01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9AE2ED07577265DFF7F94451E061E163C61")))
stloc:BigInteger(var_9_4F, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_8_45)))
stfld:BigInteger(ECCurve::m_order, ldloc:SecT283K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_9_4F))
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT283K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_10))
stfld:int32(ECCurve::m_coord, ldloc:SecT283K1Curve[exp:ECCurve](var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](6)))
}
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: 0x0600AC3A RID: 44090 RVA: 0x00254EB8 File Offset: 0x002530B8
[Token(Token = "0x600AC3A")]
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 6;
}
// Token: 0x0600AC3B RID: 44091 RVA: 0x00254ECC File Offset: 0x002530CC
[Token(Token = "0x600AC3B")]
[Address(RVA = "0x7C1D00", Offset = "0x7C0D00", VA = "0x1807C1D00", Slot = "15")]
protected override ECMultiplier CreateDefaultMultiplier()
{
/*
An exception occurred when decompiling this method (0600AC3B)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Multiplier.ECMultiplier BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT283K1Curve::CreateDefaultMultiplier()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:WTauNafMultiplier(var_0_05, newobj:WTauNafMultiplier(WTauNafMultiplier::.ctor))
}
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: 0x17001B45 RID: 6981
// (get) Token: 0x0600AC3C RID: 44092 RVA: 0x00254EE0 File Offset: 0x002530E0
[Token(Token = "0x17001B45")]
public override ECPoint Infinity
{
[Token(Token = "0x600AC3C")]
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600AC3C)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT283K1Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT283K1Point(var_0_06, ldfld:SecT283K1Point(SecT283K1Curve::m_infinity, ldloc:SecT283K1Curve(this)))
}
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: 0x17001B46 RID: 6982
// (get) Token: 0x0600AC3D RID: 44093 RVA: 0x00254EF4 File Offset: 0x002530F4
[Token(Token = "0x17001B46")]
public override int FieldSize
{
[Token(Token = "0x600AC3D")]
[Address(RVA = "0x7BF0F0", Offset = "0x7BE0F0", VA = "0x1807BF0F0", Slot = "4")]
get
{
return 283;
}
}
// Token: 0x0600AC3E RID: 44094 RVA: 0x00254F08 File Offset: 0x00253108
[Token(Token = "0x600AC3E")]
[Address(RVA = "0x7C1E80", Offset = "0x7C0E80", VA = "0x1807C1E80", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600AC3E)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT283K1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT283FieldElement(var_0_06, newobj:SecT283FieldElement(SecT283FieldElement::.ctor, ldloc:BigInteger(x)))
}
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: 0x0600AC3F RID: 44095 RVA: 0x00254F1C File Offset: 0x0025311C
[Token(Token = "0x600AC3F")]
[Address(RVA = "0x7C1D50", Offset = "0x7C0D50", VA = "0x1807C1D50", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600AC3F)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT283K1Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT283K1Point(var_0_09, newobj:SecT283K1Point(SecT283K1Point::.ctor, ldloc:SecT283K1Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600AC40 RID: 44096 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600AC40")]
[Address(RVA = "0x7C1DE0", Offset = "0x7C0DE0", VA = "0x1807C1DE0", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x17001B47 RID: 6983
// (get) Token: 0x0600AC41 RID: 44097 RVA: 0x00254F34 File Offset: 0x00253134
[Token(Token = "0x17001B47")]
public override bool IsKoblitz
{
[Token(Token = "0x600AC41")]
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "39")]
get
{
return true;
}
}
// Token: 0x17001B48 RID: 6984
// (get) Token: 0x0600AC42 RID: 44098 RVA: 0x00254F44 File Offset: 0x00253144
[Token(Token = "0x17001B48")]
public virtual int M
{
[Token(Token = "0x600AC42")]
[Address(RVA = "0x7BF0F0", Offset = "0x7BE0F0", VA = "0x1807BF0F0", Slot = "40")]
get
{
return 283;
}
}
// Token: 0x17001B49 RID: 6985
// (get) Token: 0x0600AC43 RID: 44099 RVA: 0x00254F58 File Offset: 0x00253158
[Token(Token = "0x17001B49")]
public virtual bool IsTrinomial
{
[Token(Token = "0x600AC43")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "41")]
get
{
}
}
// Token: 0x17001B4A RID: 6986
// (get) Token: 0x0600AC44 RID: 44100 RVA: 0x00254F68 File Offset: 0x00253168
[Token(Token = "0x17001B4A")]
public virtual int K1
{
[Token(Token = "0x600AC44")]
[Address(RVA = "0x6271D0", Offset = "0x6261D0", VA = "0x1806271D0", Slot = "42")]
get
{
return 5;
}
}
// Token: 0x17001B4B RID: 6987
// (get) Token: 0x0600AC45 RID: 44101 RVA: 0x00254F78 File Offset: 0x00253178
[Token(Token = "0x17001B4B")]
public virtual int K2
{
[Token(Token = "0x600AC45")]
[Address(RVA = "0x4B30C0", Offset = "0x4B20C0", VA = "0x1804B30C0", Slot = "43")]
get
{
return 7;
}
}
// Token: 0x17001B4C RID: 6988
// (get) Token: 0x0600AC46 RID: 44102 RVA: 0x00254F88 File Offset: 0x00253188
[Token(Token = "0x17001B4C")]
public virtual int K3
{
[Token(Token = "0x600AC46")]
[Address(RVA = "0x4B2B30", Offset = "0x4B1B30", VA = "0x1804B2B30", Slot = "44")]
get
{
return 12;
}
}
// Token: 0x0600AC47 RID: 44103 RVA: 0x00254F98 File Offset: 0x00253198
[Token(Token = "0x600AC47")]
[Address(RVA = "0x7C1AA0", Offset = "0x7C0AA0", VA = "0x1807C1AA0", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
ulong[] array;
int num;
for (;;)
{
array = new ulong[points];
num = 0;
if (len <= 0)
{
goto IL_4A;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
if (y != 0 && y != 0)
{
break;
}
}
}
num += 10;
IL_4A:
SecT283K1Curve.SecT283K1LookupTable secT283K1LookupTable;
secT283K1LookupTable.m_outer = 0;
secT283K1LookupTable.m_table = array;
secT283K1LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x04006DF6 RID: 28150
[Token(Token = "0x4006DF6")]
private const int SECT283K1_DEFAULT_COORDS = 6;
// Token: 0x04006DF7 RID: 28151
[Token(Token = "0x4006DF7")]
private const int SECT283K1_FE_LONGS = 5;
// Token: 0x04006DF8 RID: 28152
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4006DF8")]
protected readonly SecT283K1Point m_infinity;
// Token: 0x02001B80 RID: 7040
[Token(Token = "0x2001B80")]
private class SecT283K1LookupTable : ECLookupTable
{
// Token: 0x0600AC48 RID: 44104 RVA: 0x0025500C File Offset: 0x0025320C
[Token(Token = "0x600AC48")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecT283K1LookupTable(SecT283K1Curve outer, ulong[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001B4D RID: 6989
// (get) Token: 0x0600AC49 RID: 44105 RVA: 0x00255034 File Offset: 0x00253234
[Token(Token = "0x17001B4D")]
public virtual int Size
{
[Token(Token = "0x600AC49")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600AC4A RID: 44106 RVA: 0x00255048 File Offset: 0x00253248
[Token(Token = "0x600AC4A")]
[Address(RVA = "0x7C2050", Offset = "0x7C1050", VA = "0x1807C2050", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
ulong[] array = Nat320.Create64();
ulong[] array2 = Nat320.Create64();
int num = 0;
int num2 = 0;
if (this.m_size > num)
{
int num3 = 0;
ulong[] table = this.m_table;
ulong[] table2 = this.m_table;
num3++;
num += 10;
num2++;
}
SecT283K1Curve outer = this.m_outer;
new SecT283FieldElement().x = array;
new SecT283FieldElement().x = array2;
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006DF9 RID: 28153
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006DF9")]
private readonly SecT283K1Curve m_outer;
// Token: 0x04006DFA RID: 28154
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006DFA")]
private readonly ulong[] m_table;
// Token: 0x04006DFB RID: 28155
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006DFB")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,296 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B81 RID: 7041
[Token(Token = "0x2001B81")]
internal class SecT283K1Point : AbstractF2mPoint
{
// Token: 0x0600AC4B RID: 44107 RVA: 0x002550C8 File Offset: 0x002532C8
[Token(Token = "0x600AC4B")]
[Address(RVA = "0x7C3750", Offset = "0x7C2750", VA = "0x1807C3750")]
public SecT283K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600AC4C RID: 44108 RVA: 0x002550D8 File Offset: 0x002532D8
[Token(Token = "0x600AC4C")]
[Address(RVA = "0x7C3690", Offset = "0x7C2690", VA = "0x1807C3690")]
public SecT283K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600AC4C)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT283K1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600AC4D RID: 44109 RVA: 0x00255100 File Offset: 0x00253300
[Token(Token = "0x600AC4D")]
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
internal SecT283K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600AC4E RID: 44110 RVA: 0x00255110 File Offset: 0x00253310
[Token(Token = "0x600AC4E")]
[Address(RVA = "0x7C2A10", Offset = "0x7C1A10", VA = "0x1807C2A10", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600AC4E)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT283K1Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT283K1Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT283K1Point[exp:ECPoint](this)))
}
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: 0x17001B4E RID: 6990
// (get) Token: 0x0600AC4F RID: 44111 RVA: 0x0025512C File Offset: 0x0025332C
[Token(Token = "0x17001B4E")]
public override ECFieldElement YCoord
{
[Token(Token = "0x600AC4F")]
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
get
{
ECFieldElement x = this.m_x;
ECFieldElement y = this.m_y;
if (!base.IsInfinity && !x.IsOne)
{
int fieldSize = y.FieldSize;
if (this.m_zs[0].BitLength == 0)
{
}
}
return y;
}
}
// Token: 0x17001B4F RID: 6991
// (get) Token: 0x0600AC50 RID: 44112 RVA: 0x0025517C File Offset: 0x0025337C
[Token(Token = "0x17001B4F")]
protected internal override bool CompressionYTilde
{
[Token(Token = "0x600AC50")]
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
get
{
if (!this.m_x.IsOne)
{
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement;
ECFieldElement ecfieldElement2;
return ecfieldElement != ecfieldElement2;
}
throw new NullReferenceException();
}
}
// Token: 0x0600AC51 RID: 44113 RVA: 0x002551B0 File Offset: 0x002533B0
[Token(Token = "0x600AC51")]
[Address(RVA = "0x7C2220", Offset = "0x7C1220", VA = "0x1807C2220", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
while (!base.IsInfinity && !b.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
ECFieldElement x2 = b.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
ECFieldElement[] zs2 = b.m_zs;
ECFieldElement y2 = b.m_y;
ECFieldElement ecfieldElement2 = zs2[0];
if (ecfieldElement.BitLength == 0)
{
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
}
if (ecfieldElement2.BitLength != 0)
{
continue;
}
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
int fieldSize2 = ecfieldElement5.FieldSize;
if (fieldSize2 == 0)
{
if (!x2.IsOne)
{
sbyte b3;
sbyte b2 = b3;
TypeCode typeCode = b2.GetTypeCode();
int fieldSize3 = y.FieldSize;
}
bool flag2 = this.IsNormalized();
ushort num;
TypeCode typeCode2 = num.GetTypeCode();
ushort num2;
TypeCode typeCode3 = num2.GetTypeCode().GetTypeCode();
short num3;
TypeCode typeCode4 = num3.GetTypeCode();
sbyte b4;
TypeCode typeCode5 = b4.GetTypeCode().GetTypeCode();
byte b5;
TypeCode typeCode6 = b5.GetTypeCode();
BigInteger one = BigInteger.One;
int num4 = flag.CompareTo(one);
ECFieldElement[] array = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
ECPoint ecpoint;
if (ecpoint == 0)
{
break;
}
}
if (!x2.IsOne)
{
bool compressionYTilde = b.CompressionYTilde;
break;
}
break;
}
return b;
}
// Token: 0x0600AC52 RID: 44114 RVA: 0x00255340 File Offset: 0x00253540
[Token(Token = "0x600AC52")]
[Address(RVA = "0x7C3220", Offset = "0x7C2220", VA = "0x1807C3220", Slot = "30")]
public override ECPoint Twice()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
if (!this.m_x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
int bitLength = ecfieldElement.BitLength;
if (bitLength != 0)
{
int fieldSize = y.Negate().FieldSize;
}
ECFieldElement ecfieldElement2 = ecfieldElement.Negate();
int fieldSize2 = y.FieldSize;
if (bitLength != 0)
{
}
sbyte b2;
sbyte b = b2;
int fieldSize3 = y.FieldSize;
ECFieldElement ecfieldElement3 = ecfieldElement2.Negate();
ushort num;
TypeCode typeCode = num.GetTypeCode().GetTypeCode();
sbyte b3;
TypeCode typeCode2 = b3.GetTypeCode().GetTypeCode().GetTypeCode();
(new ECFieldElement[1])[0] = b;
bool withCompression = this.m_withCompression;
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600AC53 RID: 44115 RVA: 0x00255408 File Offset: 0x00253608
[Token(Token = "0x600AC53")]
[Address(RVA = "0x7C2C60", Offset = "0x7C1C60", VA = "0x1807C2C60", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
if (!base.IsInfinity)
{
if (!b.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
if (x.IsOne)
{
return b;
}
ECFieldElement[] zs = b.m_zs;
ECFieldElement x2 = b.m_x;
ECFieldElement ecfieldElement = zs[0];
if (!x2.IsOne && ecfieldElement.BitLength != 0)
{
ECFieldElement[] zs2 = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement2 = zs2[0];
ECFieldElement y2 = b.m_y;
ECFieldElement ecfieldElement3 = x.Negate();
ECFieldElement ecfieldElement4 = y.Negate();
ECFieldElement ecfieldElement5 = ecfieldElement2.Negate();
ECFieldElement ecfieldElement6 = y.Subtract(ecfieldElement2);
int fieldSize = ecfieldElement4.FieldSize;
ECFieldElement ecfieldElement7;
int fieldSize2 = ecfieldElement7.Subtract(ecfieldElement5).FieldSize;
int fieldSize3 = x2.Subtract(ecfieldElement5).FieldSize;
decimal num;
TypeCode typeCode = num.GetTypeCode();
ECFieldElement[] array = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
}
throw new NullReferenceException();
}
return b;
}
// Token: 0x0600AC54 RID: 44116 RVA: 0x00255524 File Offset: 0x00253724
[Token(Token = "0x600AC54")]
[Address(RVA = "0x7C2AB0", Offset = "0x7C1AB0", VA = "0x1807C2AB0", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity && !this.m_x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
bool flag = this.SatisfiesOrder();
int fieldSize = y.FieldSize;
ECFieldElement[] array = new ECFieldElement[1];
if (ecfieldElement != 0)
{
}
array[0] = ecfieldElement;
bool withCompression = this.m_withCompression;
}
throw new IndexOutOfRangeException();
}
}
}
@@ -0,0 +1,386 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B82 RID: 7042
[Token(Token = "0x2001B82")]
internal class SecT283R1Curve : AbstractF2mCurve
{
// Token: 0x0600AC55 RID: 44117 RVA: 0x00255590 File Offset: 0x00253790
[Token(Token = "0x600AC55")]
[Address(RVA = "0x7C3D20", Offset = "0x7C2D20", VA = "0x1807C3D20")]
public SecT283R1Curve()
{
int num = 0;
ulong num2;
base..ctor(283, 5, 7, (int)num2);
int num3;
int num4;
SecT283R1Point secT283R1Point = new SecT283R1Point(this, num3, num4, num != 0);
num4 = 0;
num3 = 0;
this.m_infinity = secT283R1Point;
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
byte[] array = Hex.Decode("027B680AC8B8596DA5A4AF8A19A0303FCA97FD7645309FA2A581485AF6263E313B79A2F5");
BigInteger bigInteger = new BigInteger(1, array);
int fieldSize2 = this.FieldSize;
this.m_b = fieldSize2;
byte[] array2 = Hex.Decode("03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF90399660FC938A90165B042A7CEFADB307");
BigInteger bigInteger2 = new BigInteger(1, array2);
this.m_order = bigInteger2;
BigInteger two = BigInteger.Two;
this.m_cofactor = two;
this.m_coord = (int)((ulong)6L);
}
// Token: 0x0600AC56 RID: 44118 RVA: 0x00255630 File Offset: 0x00253830
[Token(Token = "0x600AC56")]
[Address(RVA = "0x7C3770", Offset = "0x7C2770", VA = "0x1807C3770", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600AC56)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT283R1Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_1_01, ldc.i4:int32(0))
stloc:SecT283R1Point(var_3_0D, newobj:SecT283R1Point(SecT283R1Point::.ctor, ldloc:SecT283R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
stloc:int32(var_4, ldc.i4:int32(0))
stloc:int32(var_5, ldc.i4:int32(0))
stfld:SecT283R1Point(SecT283R1Curve::m_infinity, ldloc:SecT283R1Curve(var_0), ldloc:SecT283R1Point(var_3_0D))
stloc:int32(var_6_21, callvirtgetter:int32(SecT283R1Curve::get_FieldSize, ldloc:SecT283R1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT283R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_6_21))
stloc:uint8[](var_7_35, call:uint8[](Hex::Decode, ldstr:string("027B680AC8B8596DA5A4AF8A19A0303FCA97FD7645309FA2A581485AF6263E313B79A2F5")))
stloc:BigInteger(var_8_3F, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_7_35)))
stloc:int32(var_9_47, callvirtgetter:int32(SecT283R1Curve::get_FieldSize, ldloc:SecT283R1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT283R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_9_47))
stloc:uint8[](var_10_5B, call:uint8[](Hex::Decode, ldstr:string("03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF90399660FC938A90165B042A7CEFADB307")))
stloc:BigInteger(var_11_65, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_10_5B)))
stfld:BigInteger(ECCurve::m_order, ldloc:SecT283R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_11_65))
stloc:BigInteger(var_12_74, ldsfld:BigInteger(BigInteger::Two))
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT283R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_12_74))
stfld:int32(ECCurve::m_coord, ldloc:SecT283R1Curve[exp:ECCurve](var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](6)))
}
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: 0x0600AC57 RID: 44119 RVA: 0x002556C4 File Offset: 0x002538C4
[Token(Token = "0x600AC57")]
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 6;
}
// Token: 0x17001B50 RID: 6992
// (get) Token: 0x0600AC58 RID: 44120 RVA: 0x002556D8 File Offset: 0x002538D8
[Token(Token = "0x17001B50")]
public override ECPoint Infinity
{
[Token(Token = "0x600AC58")]
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600AC58)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT283R1Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT283R1Point(var_0_06, ldfld:SecT283R1Point(SecT283R1Curve::m_infinity, ldloc:SecT283R1Curve(this)))
}
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: 0x17001B51 RID: 6993
// (get) Token: 0x0600AC59 RID: 44121 RVA: 0x002556EC File Offset: 0x002538EC
[Token(Token = "0x17001B51")]
public override int FieldSize
{
[Token(Token = "0x600AC59")]
[Address(RVA = "0x7BF0F0", Offset = "0x7BE0F0", VA = "0x1807BF0F0", Slot = "4")]
get
{
return 283;
}
}
// Token: 0x0600AC5A RID: 44122 RVA: 0x00255700 File Offset: 0x00253900
[Token(Token = "0x600AC5A")]
[Address(RVA = "0x7C3CC0", Offset = "0x7C2CC0", VA = "0x1807C3CC0", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600AC5A)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT283R1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT283FieldElement(var_0_06, newobj:SecT283FieldElement(SecT283FieldElement::.ctor, ldloc:BigInteger(x)))
}
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: 0x0600AC5B RID: 44123 RVA: 0x00255714 File Offset: 0x00253914
[Token(Token = "0x600AC5B")]
[Address(RVA = "0x7C3B90", Offset = "0x7C2B90", VA = "0x1807C3B90", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600AC5B)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT283R1Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT283R1Point(var_0_09, newobj:SecT283R1Point(SecT283R1Point::.ctor, ldloc:SecT283R1Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600AC5C RID: 44124 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600AC5C")]
[Address(RVA = "0x7C3C20", Offset = "0x7C2C20", VA = "0x1807C3C20", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x17001B52 RID: 6994
// (get) Token: 0x0600AC5D RID: 44125 RVA: 0x0025572C File Offset: 0x0025392C
[Token(Token = "0x17001B52")]
public override bool IsKoblitz
{
[Token(Token = "0x600AC5D")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "39")]
get
{
}
}
// Token: 0x17001B53 RID: 6995
// (get) Token: 0x0600AC5E RID: 44126 RVA: 0x0025573C File Offset: 0x0025393C
[Token(Token = "0x17001B53")]
public virtual int M
{
[Token(Token = "0x600AC5E")]
[Address(RVA = "0x7BF0F0", Offset = "0x7BE0F0", VA = "0x1807BF0F0", Slot = "40")]
get
{
return 283;
}
}
// Token: 0x17001B54 RID: 6996
// (get) Token: 0x0600AC5F RID: 44127 RVA: 0x00255750 File Offset: 0x00253950
[Token(Token = "0x17001B54")]
public virtual bool IsTrinomial
{
[Token(Token = "0x600AC5F")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "41")]
get
{
}
}
// Token: 0x17001B55 RID: 6997
// (get) Token: 0x0600AC60 RID: 44128 RVA: 0x00255760 File Offset: 0x00253960
[Token(Token = "0x17001B55")]
public virtual int K1
{
[Token(Token = "0x600AC60")]
[Address(RVA = "0x6271D0", Offset = "0x6261D0", VA = "0x1806271D0", Slot = "42")]
get
{
return 5;
}
}
// Token: 0x17001B56 RID: 6998
// (get) Token: 0x0600AC61 RID: 44129 RVA: 0x00255770 File Offset: 0x00253970
[Token(Token = "0x17001B56")]
public virtual int K2
{
[Token(Token = "0x600AC61")]
[Address(RVA = "0x4B30C0", Offset = "0x4B20C0", VA = "0x1804B30C0", Slot = "43")]
get
{
return 7;
}
}
// Token: 0x17001B57 RID: 6999
// (get) Token: 0x0600AC62 RID: 44130 RVA: 0x00255780 File Offset: 0x00253980
[Token(Token = "0x17001B57")]
public virtual int K3
{
[Token(Token = "0x600AC62")]
[Address(RVA = "0x4B2B30", Offset = "0x4B1B30", VA = "0x1804B2B30", Slot = "44")]
get
{
return 12;
}
}
// Token: 0x0600AC63 RID: 44131 RVA: 0x00255790 File Offset: 0x00253990
[Token(Token = "0x600AC63")]
[Address(RVA = "0x7C3930", Offset = "0x7C2930", VA = "0x1807C3930", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
ulong[] array;
int num;
for (;;)
{
array = new ulong[points];
num = 0;
if (len <= 0)
{
goto IL_4A;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
if (y != 0 && y != 0)
{
break;
}
}
}
num += 10;
IL_4A:
SecT283R1Curve.SecT283R1LookupTable secT283R1LookupTable;
secT283R1LookupTable.m_outer = 0;
secT283R1LookupTable.m_table = array;
secT283R1LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x04006DFC RID: 28156
[Token(Token = "0x4006DFC")]
private const int SECT283R1_DEFAULT_COORDS = 6;
// Token: 0x04006DFD RID: 28157
[Token(Token = "0x4006DFD")]
private const int SECT283R1_FE_LONGS = 5;
// Token: 0x04006DFE RID: 28158
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4006DFE")]
protected readonly SecT283R1Point m_infinity;
// Token: 0x02001B83 RID: 7043
[Token(Token = "0x2001B83")]
private class SecT283R1LookupTable : ECLookupTable
{
// Token: 0x0600AC64 RID: 44132 RVA: 0x00255804 File Offset: 0x00253A04
[Token(Token = "0x600AC64")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecT283R1LookupTable(SecT283R1Curve outer, ulong[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001B58 RID: 7000
// (get) Token: 0x0600AC65 RID: 44133 RVA: 0x0025582C File Offset: 0x00253A2C
[Token(Token = "0x17001B58")]
public virtual int Size
{
[Token(Token = "0x600AC65")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600AC66 RID: 44134 RVA: 0x00255840 File Offset: 0x00253A40
[Token(Token = "0x600AC66")]
[Address(RVA = "0x7C3EC0", Offset = "0x7C2EC0", VA = "0x1807C3EC0", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
ulong[] array = Nat320.Create64();
ulong[] array2 = Nat320.Create64();
int num = 0;
int num2 = 0;
if (this.m_size > num)
{
int num3 = 0;
ulong[] table = this.m_table;
ulong[] table2 = this.m_table;
num3++;
num += 10;
num2++;
}
SecT283R1Curve outer = this.m_outer;
new SecT283FieldElement().x = array;
new SecT283FieldElement().x = array2;
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006DFF RID: 28159
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006DFF")]
private readonly SecT283R1Curve m_outer;
// Token: 0x04006E00 RID: 28160
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006E00")]
private readonly ulong[] m_table;
// Token: 0x04006E01 RID: 28161
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006E01")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,255 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B84 RID: 7044
[Token(Token = "0x2001B84")]
internal class SecT283R1Point : AbstractF2mPoint
{
// Token: 0x0600AC67 RID: 44135 RVA: 0x002558C0 File Offset: 0x00253AC0
[Token(Token = "0x600AC67")]
[Address(RVA = "0x7C55B0", Offset = "0x7C45B0", VA = "0x1807C55B0")]
public SecT283R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600AC68 RID: 44136 RVA: 0x002558D0 File Offset: 0x00253AD0
[Token(Token = "0x600AC68")]
[Address(RVA = "0x7C54F0", Offset = "0x7C44F0", VA = "0x1807C54F0")]
public SecT283R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600AC68)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT283R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600AC69 RID: 44137 RVA: 0x002558F8 File Offset: 0x00253AF8
[Token(Token = "0x600AC69")]
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
internal SecT283R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600AC6A RID: 44138 RVA: 0x00255908 File Offset: 0x00253B08
[Token(Token = "0x600AC6A")]
[Address(RVA = "0x7C48B0", Offset = "0x7C38B0", VA = "0x1807C48B0", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600AC6A)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT283R1Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT283R1Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT283R1Point[exp:ECPoint](this)))
}
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: 0x17001B59 RID: 7001
// (get) Token: 0x0600AC6B RID: 44139 RVA: 0x00255924 File Offset: 0x00253B24
[Token(Token = "0x17001B59")]
public override ECFieldElement YCoord
{
[Token(Token = "0x600AC6B")]
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
get
{
ECFieldElement x = this.m_x;
ECFieldElement y = this.m_y;
if (!base.IsInfinity && !x.IsOne)
{
int fieldSize = y.FieldSize;
if (this.m_zs[0].BitLength == 0)
{
}
}
return y;
}
}
// Token: 0x17001B5A RID: 7002
// (get) Token: 0x0600AC6C RID: 44140 RVA: 0x00255974 File Offset: 0x00253B74
[Token(Token = "0x17001B5A")]
protected internal override bool CompressionYTilde
{
[Token(Token = "0x600AC6C")]
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
get
{
if (!this.m_x.IsOne)
{
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement;
ECFieldElement ecfieldElement2;
return ecfieldElement != ecfieldElement2;
}
throw new NullReferenceException();
}
}
// Token: 0x0600AC6D RID: 44141 RVA: 0x002559A8 File Offset: 0x00253BA8
[Token(Token = "0x600AC6D")]
[Address(RVA = "0x7C4090", Offset = "0x7C3090", VA = "0x1807C4090", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
while (!base.IsInfinity && !b.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
ECFieldElement x2 = b.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
ECFieldElement[] zs2 = b.m_zs;
ECFieldElement y2 = b.m_y;
ECFieldElement ecfieldElement2 = zs2[0];
if (ecfieldElement.BitLength == 0)
{
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
}
if (ecfieldElement2.BitLength == 0)
{
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
int fieldSize2 = ecfieldElement5.FieldSize;
if (fieldSize2 == 0)
{
if (!x2.IsOne)
{
sbyte b3;
sbyte b2 = b3;
TypeCode typeCode = b2.GetTypeCode();
int fieldSize3 = y.FieldSize;
}
bool flag2 = this.IsNormalized();
ushort num;
TypeCode typeCode2 = num.GetTypeCode();
ushort num2;
TypeCode typeCode3 = num2.GetTypeCode().GetTypeCode();
short num3;
TypeCode typeCode4 = num3.GetTypeCode();
sbyte b4;
TypeCode typeCode5 = b4.GetTypeCode().GetTypeCode();
byte b5;
TypeCode typeCode6 = b5.GetTypeCode();
BigInteger one = BigInteger.One;
int num4 = flag.CompareTo(one);
ECFieldElement[] array = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
}
}
else
{
if (!x2.IsOne)
{
bool compressionYTilde = b.CompressionYTilde;
break;
}
break;
}
}
return b;
}
// Token: 0x0600AC6E RID: 44142 RVA: 0x00255B44 File Offset: 0x00253D44
[Token(Token = "0x600AC6E")]
[Address(RVA = "0x7C50F0", Offset = "0x7C40F0", VA = "0x1807C50F0", Slot = "30")]
public override ECPoint Twice()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
if (ecfieldElement.BitLength != 0)
{
}
ECFieldElement ecfieldElement2 = y.Subtract(ecfieldElement);
ECFieldElement ecfieldElement3 = ecfieldElement.Negate();
if (y.Negate().FieldSize.GetTypeCode() == TypeCode.Empty)
{
ECFieldElement ecfieldElement4 = x.Subtract(ecfieldElement);
ECFieldElement ecfieldElement5;
TypeCode typeCode = ecfieldElement5.FieldSize.GetTypeCode();
sbyte b;
(new ECFieldElement[1])[0] = b;
bool withCompression = this.m_withCompression;
}
SecT283R1Point secT283R1Point;
ECFieldElement[] zcoords = secT283R1Point.GetZCoords();
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600AC6F RID: 44143 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600AC6F")]
[Address(RVA = "0x7C4B00", Offset = "0x7C3B00", VA = "0x1807C4B00", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600AC70 RID: 44144 RVA: 0x00255BFC File Offset: 0x00253DFC
[Token(Token = "0x600AC70")]
[Address(RVA = "0x7C4950", Offset = "0x7C3950", VA = "0x1807C4950", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity && !this.m_x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
bool flag = this.SatisfiesOrder();
int fieldSize = y.FieldSize;
ECFieldElement[] array = new ECFieldElement[1];
if (ecfieldElement != 0)
{
}
array[0] = ecfieldElement;
bool withCompression = this.m_withCompression;
}
throw new IndexOutOfRangeException();
}
}
}
@@ -0,0 +1,351 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B85 RID: 7045
[Token(Token = "0x2001B85")]
internal class SecT409Field
{
// Token: 0x0600AC71 RID: 44145 RVA: 0x00255C68 File Offset: 0x00253E68
[Token(Token = "0x600AC71")]
[Address(RVA = "0x7C65A0", Offset = "0x7C55A0", VA = "0x1807C65A0")]
public static void Add(ulong[] x, ulong[] y, ulong[] z)
{
ulong num = y[0];
z[0] = num;
ulong num2 = y[1];
z[1] = num2;
ulong num3 = y[2];
z[2] = num3;
ulong num4 = y[3];
z[3] = num4;
ulong num5 = y[4];
z[4] = num5;
ulong num6 = y[5];
z[5] = num6;
ulong num7 = y[6];
z[6] = num7;
}
// Token: 0x0600AC72 RID: 44146 RVA: 0x00255CF4 File Offset: 0x00253EF4
[Token(Token = "0x600AC72")]
[Address(RVA = "0x7C6340", Offset = "0x7C5340", VA = "0x1807C6340")]
public static void AddExt(ulong[] xx, ulong[] yy, ulong[] zz)
{
int num = 0;
ulong num2 = xx[num];
num++;
zz[0] = num2;
}
// Token: 0x0600AC73 RID: 44147 RVA: 0x00255D20 File Offset: 0x00253F20
[Token(Token = "0x600AC73")]
[Address(RVA = "0x7C63D0", Offset = "0x7C53D0", VA = "0x1807C63D0")]
public static void AddOne(ulong[] x, ulong[] z)
{
ulong num = x[0];
z[0] = num;
ulong num2 = x[1];
z[1] = num2;
ulong num3 = x[2];
z[2] = num3;
ulong num4 = x[3];
z[3] = num4;
ulong num5 = x[4];
z[4] = num5;
ulong num6 = x[5];
z[5] = num6;
ulong num7 = x[6];
z[6] = num7;
}
// Token: 0x0600AC74 RID: 44148 RVA: 0x00255DAC File Offset: 0x00253FAC
[Token(Token = "0x600AC74")]
[Address(RVA = "0x7C6850", Offset = "0x7C5850", VA = "0x1807C6850")]
public static ulong[] FromBigInteger(BigInteger x)
{
ulong[] array = Nat448.FromBigInteger64(x);
ulong num = array[6];
array[6] = num;
return array;
}
// Token: 0x0600AC75 RID: 44149 RVA: 0x00255DD8 File Offset: 0x00253FD8
[Token(Token = "0x600AC75")]
[Address(RVA = "0x7C74B0", Offset = "0x7C64B0", VA = "0x1807C74B0")]
public static void Invert(ulong[] x, ulong[] z)
{
/*
An exception occurred when decompiling this method (0600AC75)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT409Field::Invert(System.UInt64[],System.UInt64[])
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_1AA:
stloc:InvalidOperationException(var_27_1AF, newobj:InvalidOperationException(InvalidOperationException::.ctor))
}
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: 0x0600AC76 RID: 44150 RVA: 0x00255F98 File Offset: 0x00254198
[Token(Token = "0x600AC76")]
[Address(RVA = "0x7C7840", Offset = "0x7C6840", VA = "0x1807C7840")]
public static void Multiply(ulong[] x, ulong[] y, ulong[] z)
{
ulong[] array = Nat448.CreateExt64();
SecT409Field.ImplMultiply(x, y, array);
SecT409Field.Reduce(array, z);
}
// Token: 0x0600AC77 RID: 44151 RVA: 0x00255FBC File Offset: 0x002541BC
[Token(Token = "0x600AC77")]
[Address(RVA = "0x7C77E0", Offset = "0x7C67E0", VA = "0x1807C77E0")]
public static void MultiplyAddToExt(ulong[] x, ulong[] y, ulong[] zz)
{
ulong[] array = Nat448.CreateExt64();
SecT409Field.ImplMultiply(x, y, array);
SecT409Field.AddExt(zz, array, zz);
}
// Token: 0x0600AC78 RID: 44152 RVA: 0x00255FE4 File Offset: 0x002541E4
[Token(Token = "0x600AC78")]
[Address(RVA = "0x7C7940", Offset = "0x7C6940", VA = "0x1807C7940")]
public static void Reduce(ulong[] xx, ulong[] z)
{
int length = xx.Length;
ulong num = xx[2];
ulong num2 = xx[6];
ulong num3 = xx[12];
z[0] = num3;
num = num3;
z[1] = num;
z[2] = num;
z[3] = num;
z[4] = num;
z[5] = num3;
z[6] = num2;
}
// Token: 0x0600AC79 RID: 44153 RVA: 0x00256054 File Offset: 0x00254254
[Token(Token = "0x600AC79")]
[Address(RVA = "0x7C78A0", Offset = "0x7C68A0", VA = "0x1807C78A0")]
public static void Reduce39(ulong[] z, int zOff)
{
int length = z.Length;
ulong num;
z[0] = num;
}
// Token: 0x0600AC7A RID: 44154 RVA: 0x00256078 File Offset: 0x00254278
[Token(Token = "0x600AC7A")]
[Address(RVA = "0x7C7C70", Offset = "0x7C6C70", VA = "0x1807C7C70")]
public static void Sqrt(ulong[] x, ulong[] z)
{
ulong num = Interleave.Unshuffle(x[0]);
ulong num2 = x[1];
ulong num3 = Interleave.Unshuffle(num2);
ulong num4 = Interleave.Unshuffle(x[2]);
ulong num5 = x[3];
num5 = Interleave.Unshuffle(num5);
ulong num6 = Interleave.Unshuffle(x[4]);
num4 = num6;
ulong num7 = x[5];
num7 = Interleave.Unshuffle(num7);
ulong num8 = x[6];
ulong num9 = Interleave.Unshuffle(num8);
z[0] = num3;
num8 = num;
num = num4;
z[1] = num8;
num8 = num4;
z[2] = num8;
num8 = num9;
z[3] = num8;
z[4] = num;
z[5] = num4;
z[6] = num4;
}
// Token: 0x0600AC7B RID: 44155 RVA: 0x00256154 File Offset: 0x00254354
[Token(Token = "0x600AC7B")]
[Address(RVA = "0x7C8080", Offset = "0x7C7080", VA = "0x1807C8080")]
public static void Square(ulong[] x, ulong[] z)
{
ulong[] array = Nat.Create64(13);
SecT409Field.ImplSquare(x, array);
SecT409Field.Reduce(array, z);
}
// Token: 0x0600AC7C RID: 44156 RVA: 0x00256178 File Offset: 0x00254378
[Token(Token = "0x600AC7C")]
[Address(RVA = "0x7C7FA0", Offset = "0x7C6FA0", VA = "0x1807C7FA0")]
public static void SquareAddToExt(ulong[] x, ulong[] zz)
{
ulong[] array = Nat.Create64(13);
SecT409Field.ImplSquare(x, array);
SecT409Field.AddExt(zz, array, zz);
}
// Token: 0x0600AC7D RID: 44157 RVA: 0x0025619C File Offset: 0x0025439C
[Token(Token = "0x600AC7D")]
[Address(RVA = "0x7C7FF0", Offset = "0x7C6FF0", VA = "0x1807C7FF0")]
public static void SquareN(ulong[] x, int n, ulong[] z)
{
ulong[] array = Nat.Create64(13);
SecT409Field.ImplSquare(x, array);
SecT409Field.Reduce(array, z);
if (n - 1 > 0)
{
SecT409Field.ImplSquare(z, array);
SecT409Field.Reduce(array, z);
}
}
// Token: 0x0600AC7E RID: 44158 RVA: 0x002561D4 File Offset: 0x002543D4
[Token(Token = "0x600AC7E")]
[Address(RVA = "0x7C80D0", Offset = "0x7C70D0", VA = "0x1807C80D0")]
public static uint Trace(ulong[] x)
{
ulong num = x[0];
throw new NullReferenceException();
}
// Token: 0x0600AC7F RID: 44159 RVA: 0x002561F0 File Offset: 0x002543F0
[Token(Token = "0x600AC7F")]
[Address(RVA = "0x7C68D0", Offset = "0x7C58D0", VA = "0x1807C68D0")]
protected static void ImplCompactExt(ulong[] zz)
{
int length = zz.Length;
ulong num = zz[1];
ulong num2 = zz[2];
ulong num3 = zz[3];
ulong num4 = zz[4];
ulong num5 = zz[5];
ulong num6 = zz[6];
ulong num7 = zz[7];
ulong num8 = zz[8];
ulong num9 = zz[9];
ulong num10 = zz[10];
ulong num11 = zz[12];
num = num2;
zz[1] = num;
zz[2] = num2;
zz[3] = num3;
zz[4] = num4;
zz[5] = num5;
zz[6] = num6;
zz[7] = num7;
zz[8] = num8;
num = num10;
zz[9] = num9;
zz[10] = num10;
zz[11] = num;
zz[12] = num11;
}
// Token: 0x0600AC80 RID: 44160 RVA: 0x002562F4 File Offset: 0x002544F4
[Token(Token = "0x600AC80")]
[Address(RVA = "0x7C6D20", Offset = "0x7C5D20", VA = "0x1807C6D20")]
protected static void ImplExpand(ulong[] x, ulong[] z)
{
int length = x.Length;
ulong num = x[0];
ulong num2 = x[1];
ulong num3 = x[2];
ulong num4 = x[3];
ulong num5 = x[4];
ulong num6 = x[5];
z[0] = num;
num = num2;
z[1] = num;
z[2] = num2;
z[3] = num3;
z[4] = num4;
z[5] = num5;
z[6] = num6;
}
// Token: 0x0600AC81 RID: 44161 RVA: 0x0025638C File Offset: 0x0025458C
[Token(Token = "0x600AC81")]
[Address(RVA = "0x7C6F70", Offset = "0x7C5F70", VA = "0x1807C6F70")]
protected static void ImplMultiply(ulong[] x, ulong[] y, ulong[] zz)
{
ulong[] array = new ulong[7];
ulong[] array2 = new ulong[7];
SecT409Field.ImplExpand(x, array);
SecT409Field.ImplExpand(y, array2);
int num = 0;
ulong num2 = array2[num];
SecT409Field.ImplMulwAcc(array, num2, zz, num);
num++;
SecT409Field.ImplCompactExt(zz);
}
// Token: 0x0600AC82 RID: 44162 RVA: 0x002563D8 File Offset: 0x002545D8
[Token(Token = "0x600AC82")]
[Address(RVA = "0x7C7060", Offset = "0x7C6060", VA = "0x1807C7060")]
protected static void ImplMulwAcc(ulong[] xs, ulong y, ulong[] z, int zOff)
{
ulong[] array = new ulong[8];
array[1] = y;
int num = array.Length;
array[2] = (ulong)num;
int length = array.Length;
array[3] = (ulong)num;
num = length;
array[4] = (ulong)num;
int length2 = array.Length;
array[5] = (ulong)num;
num = length2;
array[6] = (ulong)num;
int length3 = array.Length;
array[7] = (ulong)num;
int num2 = 0;
int length4 = array.Length;
ulong num3 = xs[num2];
ulong num4 = array[(int)num3];
num2++;
}
// Token: 0x0600AC83 RID: 44163 RVA: 0x00256470 File Offset: 0x00254670
[Token(Token = "0x600AC83")]
[Address(RVA = "0x7C7400", Offset = "0x7C6400", VA = "0x1807C7400")]
protected static void ImplSquare(ulong[] x, ulong[] zz)
{
int num = 0;
Interleave.Expand64To128(x[num], zz, 0);
num++;
ulong num2 = Interleave.Expand32to64((uint)x[6]);
zz[12] = num2;
}
// Token: 0x0600AC84 RID: 44164 RVA: 0x002564B0 File Offset: 0x002546B0
[Token(Token = "0x600AC84")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public SecT409Field()
{
}
// Token: 0x04006E02 RID: 28162
[Token(Token = "0x4006E02")]
private const ulong M25 = 33554431UL;
// Token: 0x04006E03 RID: 28163
[Token(Token = "0x4006E03")]
private const ulong M59 = 576460752303423487UL;
}
}
@@ -0,0 +1,606 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B86 RID: 7046
[Token(Token = "0x2001B86")]
internal class SecT409FieldElement : AbstractF2mFieldElement
{
// Token: 0x0600AC85 RID: 44165 RVA: 0x002564C4 File Offset: 0x002546C4
[Token(Token = "0x600AC85")]
[Address(RVA = "0x7C6180", Offset = "0x7C5180", VA = "0x1807C6180")]
public SecT409FieldElement(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600AC85)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT409FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_30:
stloc:ArgumentException(var_3_3F, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecT409FieldElement"), ldstr:string("x")))
}
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: 0x0600AC86 RID: 44166 RVA: 0x00256510 File Offset: 0x00254710
[Token(Token = "0x600AC86")]
[Address(RVA = "0x7C62A0", Offset = "0x7C52A0", VA = "0x1807C62A0")]
public SecT409FieldElement()
{
ulong[] array = Nat448.Create64();
this.x = array;
}
// Token: 0x0600AC87 RID: 44167 RVA: 0x00256534 File Offset: 0x00254734
[Token(Token = "0x600AC87")]
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
protected internal SecT409FieldElement(ulong[] x)
{
this.x = x;
}
// Token: 0x17001B5B RID: 7003
// (get) Token: 0x0600AC88 RID: 44168 RVA: 0x00256550 File Offset: 0x00254750
[Token(Token = "0x17001B5B")]
public override bool IsOne
{
[Token(Token = "0x600AC88")]
[Address(RVA = "0x7C6310", Offset = "0x7C5310", VA = "0x1807C6310", Slot = "17")]
get
{
return Nat448.IsOne64(this.x);
}
}
// Token: 0x17001B5C RID: 7004
// (get) Token: 0x0600AC89 RID: 44169 RVA: 0x00256568 File Offset: 0x00254768
[Token(Token = "0x17001B5C")]
public override bool IsZero
{
[Token(Token = "0x600AC89")]
[Address(RVA = "0x7C6320", Offset = "0x7C5320", VA = "0x1807C6320", Slot = "18")]
get
{
return Nat448.IsZero64(this.x);
}
}
// Token: 0x0600AC8A RID: 44170 RVA: 0x00256580 File Offset: 0x00254780
[Token(Token = "0x600AC8A")]
[Address(RVA = "0x7B9C40", Offset = "0x7B8C40", VA = "0x1807B9C40", Slot = "24")]
public override bool TestBitZero()
{
ulong[] array = this.x;
throw new NullReferenceException();
}
// Token: 0x0600AC8B RID: 44171 RVA: 0x0025659C File Offset: 0x0025479C
[Token(Token = "0x600AC8B")]
[Address(RVA = "0x7C6130", Offset = "0x7C5130", VA = "0x1807C6130", Slot = "4")]
public override BigInteger ToBigInteger()
{
return Nat448.ToBigInteger64(this.x);
}
// Token: 0x17001B5D RID: 7005
// (get) Token: 0x0600AC8C RID: 44172 RVA: 0x002565B4 File Offset: 0x002547B4
[Token(Token = "0x17001B5D")]
public override string FieldName
{
[Token(Token = "0x600AC8C")]
[Address(RVA = "0x7C62D0", Offset = "0x7C52D0", VA = "0x1807C62D0", Slot = "5")]
get
{
return "SecT409Field";
}
}
// Token: 0x17001B5E RID: 7006
// (get) Token: 0x0600AC8D RID: 44173 RVA: 0x002565C8 File Offset: 0x002547C8
[Token(Token = "0x17001B5E")]
public override int FieldSize
{
[Token(Token = "0x600AC8D")]
[Address(RVA = "0x7C6300", Offset = "0x7C5300", VA = "0x1807C6300", Slot = "6")]
get
{
return 409;
}
}
// Token: 0x0600AC8E RID: 44174 RVA: 0x002565DC File Offset: 0x002547DC
[Token(Token = "0x600AC8E")]
[Address(RVA = "0x7C5640", Offset = "0x7C4640", VA = "0x1807C5640", Slot = "7")]
public override ECFieldElement Add(ECFieldElement b)
{
ulong[] array;
do
{
array = Nat448.Create64();
ulong[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecT409FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecT409FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600AC8F RID: 44175 RVA: 0x00256624 File Offset: 0x00254824
[Token(Token = "0x600AC8F")]
[Address(RVA = "0x7C55D0", Offset = "0x7C45D0", VA = "0x1807C55D0", Slot = "8")]
public override ECFieldElement AddOne()
{
/*
An exception occurred when decompiling this method (0600AC8F)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT409FieldElement::AddOne()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat448::Create64))
call:void(SecT409Field::AddOne, ldfld:uint64[](SecT409FieldElement::x, ldloc:SecT409FieldElement(this)), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT409FieldElement::x, newobj:SecT409FieldElement(SecT409FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x0600AC90 RID: 44176 RVA: 0x00256650 File Offset: 0x00254850
[Token(Token = "0x600AC90")]
[Address(RVA = "0x7B9C20", Offset = "0x7B8C20", VA = "0x1807B9C20", Slot = "9")]
public override ECFieldElement Subtract(ECFieldElement b)
{
/*
An exception occurred when decompiling this method (0600AC90)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT409FieldElement::Subtract(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT409FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AC91 RID: 44177 RVA: 0x00256664 File Offset: 0x00254864
[Token(Token = "0x600AC91")]
[Address(RVA = "0x7C5C40", Offset = "0x7C4C40", VA = "0x1807C5C40", Slot = "10")]
public override ECFieldElement Multiply(ECFieldElement b)
{
ulong[] array;
do
{
array = Nat448.Create64();
ulong[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecT409FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
SecT409Field.Reduce(Nat448.CreateExt64(), array);
new SecT409FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600AC92 RID: 44178 RVA: 0x002566B8 File Offset: 0x002548B8
[Token(Token = "0x600AC92")]
[Address(RVA = "0x7B9440", Offset = "0x7B8440", VA = "0x1807B9440", Slot = "19")]
public override ECFieldElement MultiplyMinusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
{
/*
An exception occurred when decompiling this method (0600AC92)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT409FieldElement::MultiplyMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT409FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AC93 RID: 44179 RVA: 0x002566CC File Offset: 0x002548CC
[Token(Token = "0x600AC93")]
[Address(RVA = "0x7C5980", Offset = "0x7C4980", VA = "0x1807C5980", Slot = "20")]
public override ECFieldElement MultiplyPlusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
{
do
{
ulong[] array = this.x;
}
while (b == 0 || b == 0 || x == 0 || x == 0 || y == 0 || y == 0);
ulong[] array2 = Nat.Create64(13);
ulong[] array3 = Nat448.CreateExt64();
SecT409Field.AddExt(array2, array3, array2);
ulong[] array4 = Nat448.CreateExt64();
SecT409Field.AddExt(array2, array4, array2);
ulong[] array5 = Nat448.Create64();
SecT409Field.Reduce(array2, array5);
new SecT409FieldElement().x = array5;
throw new NullReferenceException();
}
// Token: 0x0600AC94 RID: 44180 RVA: 0x00256760 File Offset: 0x00254960
[Token(Token = "0x600AC94")]
[Address(RVA = "0x7B91D0", Offset = "0x7B81D0", VA = "0x1807B91D0", Slot = "11")]
public override ECFieldElement Divide(ECFieldElement b)
{
ECFieldElement ecfieldElement = b.Square();
BigInteger bigInteger = base.ToBigInteger();
throw new NullReferenceException();
}
// Token: 0x0600AC95 RID: 44181 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600AC95")]
[Address(RVA = "0x4A65C0", Offset = "0x4A55C0", VA = "0x1804A65C0", Slot = "12")]
public override ECFieldElement Negate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600AC96 RID: 44182 RVA: 0x00256780 File Offset: 0x00254980
[Token(Token = "0x600AC96")]
[Address(RVA = "0x7C6090", Offset = "0x7C5090", VA = "0x1807C6090", Slot = "13")]
public override ECFieldElement Square()
{
/*
An exception occurred when decompiling this method (0600AC96)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT409FieldElement::Square()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat448::Create64))
stloc:uint64[](var_2_0E, ldfld:uint64[](SecT409FieldElement::x, ldloc:SecT409FieldElement(this)))
stloc:uint64[](var_3_16, call:uint64[](Nat::Create64, ldc.i4:int32(13)))
call:void(SecT409Field::ImplSquare, ldloc:uint64[](var_2_0E), ldloc:uint64[](var_3_16))
call:void(SecT409Field::Reduce, ldloc:uint64[](var_3_16), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT409FieldElement::x, newobj:SecT409FieldElement(SecT409FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x0600AC97 RID: 44183 RVA: 0x002567BC File Offset: 0x002549BC
[Token(Token = "0x600AC97")]
[Address(RVA = "0x7B98C0", Offset = "0x7B88C0", VA = "0x1807B98C0", Slot = "21")]
public override ECFieldElement SquareMinusProduct(ECFieldElement x, ECFieldElement y)
{
/*
An exception occurred when decompiling this method (0600AC97)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT409FieldElement::SquareMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT409FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AC98 RID: 44184 RVA: 0x002567D0 File Offset: 0x002549D0
[Token(Token = "0x600AC98")]
[Address(RVA = "0x7C5DF0", Offset = "0x7C4DF0", VA = "0x1807C5DF0", Slot = "22")]
public override ECFieldElement SquarePlusProduct(ECFieldElement x, ECFieldElement y)
{
ulong[] array;
do
{
array = this.x;
}
while (x == 0 || x == 0 || y == 0 || y == 0);
ulong[] array2 = Nat.Create64(13);
ulong[] array3 = Nat.Create64(13);
SecT409Field.ImplSquare(array, array3);
SecT409Field.AddExt(array2, array3, array2);
ulong[] array4 = Nat448.CreateExt64();
SecT409Field.AddExt(array2, array4, array2);
ulong[] array5 = Nat448.Create64();
SecT409Field.Reduce(array2, array5);
new SecT409FieldElement().x = array5;
throw new NullReferenceException();
}
// Token: 0x0600AC99 RID: 44185 RVA: 0x0025685C File Offset: 0x00254A5C
[Token(Token = "0x600AC99")]
[Address(RVA = "0x7C6010", Offset = "0x7C5010", VA = "0x1807C6010", Slot = "23")]
public override ECFieldElement SquarePow(int pow)
{
/*
An exception occurred when decompiling this method (0600AC99)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT409FieldElement::SquarePow(System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat448::Create64))
call:void(SecT409Field::SquareN, ldfld:uint64[](SecT409FieldElement::x, ldloc:SecT409FieldElement(this)), ldloc:int32(pow), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT409FieldElement::x, newobj:SecT409FieldElement(SecT409FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x0600AC9A RID: 44186 RVA: 0x00256888 File Offset: 0x00254A88
[Token(Token = "0x600AC9A")]
[Address(RVA = "0x7C6140", Offset = "0x7C5140", VA = "0x1807C6140", Slot = "28")]
public override int Trace()
{
ulong num = this.x[0];
throw new NullReferenceException();
}
// Token: 0x0600AC9B RID: 44187 RVA: 0x002568A8 File Offset: 0x00254AA8
[Token(Token = "0x600AC9B")]
[Address(RVA = "0x7C5910", Offset = "0x7C4910", VA = "0x1807C5910", Slot = "14")]
public override ECFieldElement Invert()
{
/*
An exception occurred when decompiling this method (0600AC9B)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT409FieldElement::Invert()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat448::Create64))
call:void(SecT409Field::Invert, ldfld:uint64[](SecT409FieldElement::x, ldloc:SecT409FieldElement(this)), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT409FieldElement::x, newobj:SecT409FieldElement(SecT409FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x0600AC9C RID: 44188 RVA: 0x002568D4 File Offset: 0x00254AD4
[Token(Token = "0x600AC9C")]
[Address(RVA = "0x7C5D80", Offset = "0x7C4D80", VA = "0x1807C5D80", Slot = "15")]
public override ECFieldElement Sqrt()
{
/*
An exception occurred when decompiling this method (0600AC9C)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT409FieldElement::Sqrt()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat448::Create64))
call:void(SecT409Field::Sqrt, ldfld:uint64[](SecT409FieldElement::x, ldloc:SecT409FieldElement(this)), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT409FieldElement::x, newobj:SecT409FieldElement(SecT409FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x17001B5F RID: 7007
// (get) Token: 0x0600AC9D RID: 44189 RVA: 0x00256900 File Offset: 0x00254B00
[Token(Token = "0x17001B5F")]
public virtual int Representation
{
[Token(Token = "0x600AC9D")]
[Address(RVA = "0x4E86A0", Offset = "0x4E76A0", VA = "0x1804E86A0", Slot = "29")]
get
{
return 2;
}
}
// Token: 0x17001B60 RID: 7008
// (get) Token: 0x0600AC9E RID: 44190 RVA: 0x00256910 File Offset: 0x00254B10
[Token(Token = "0x17001B60")]
public virtual int M
{
[Token(Token = "0x600AC9E")]
[Address(RVA = "0x7C6300", Offset = "0x7C5300", VA = "0x1807C6300", Slot = "30")]
get
{
return 409;
}
}
// Token: 0x17001B61 RID: 7009
// (get) Token: 0x0600AC9F RID: 44191 RVA: 0x00256924 File Offset: 0x00254B24
[Token(Token = "0x17001B61")]
public virtual int K1
{
[Token(Token = "0x600AC9F")]
[Address(RVA = "0x7C6330", Offset = "0x7C5330", VA = "0x1807C6330", Slot = "31")]
get
{
return 87;
}
}
// Token: 0x17001B62 RID: 7010
// (get) Token: 0x0600ACA0 RID: 44192 RVA: 0x00256934 File Offset: 0x00254B34
[Token(Token = "0x17001B62")]
public virtual int K2
{
[Token(Token = "0x600ACA0")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "32")]
get
{
return 0;
}
}
// Token: 0x17001B63 RID: 7011
// (get) Token: 0x0600ACA1 RID: 44193 RVA: 0x00256944 File Offset: 0x00254B44
[Token(Token = "0x17001B63")]
public virtual int K3
{
[Token(Token = "0x600ACA1")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "33")]
get
{
return 0;
}
}
// Token: 0x0600ACA2 RID: 44194 RVA: 0x00256954 File Offset: 0x00254B54
[Token(Token = "0x600ACA2")]
[Address(RVA = "0x7C57F0", Offset = "0x7C47F0", VA = "0x1807C57F0", Slot = "0")]
public override bool Equals(object obj)
{
/*
An exception occurred when decompiling this method (0600ACA2)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT409FieldElement::Equals(System.Object)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT409FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600ACA3 RID: 44195 RVA: 0x00256970 File Offset: 0x00254B70
[Token(Token = "0x600ACA3")]
[Address(RVA = "0x7C5760", Offset = "0x7C4760", VA = "0x1807C5760", Slot = "25")]
public override bool Equals(ECFieldElement other)
{
/*
An exception occurred when decompiling this method (0600ACA3)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT409FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT409FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600ACA4 RID: 44196 RVA: 0x0025698C File Offset: 0x00254B8C
[Token(Token = "0x600ACA4")]
[Address(RVA = "0x7C5880", Offset = "0x7C4880", VA = "0x1807C5880", Slot = "34")]
public virtual bool Equals(SecT409FieldElement other)
{
if (this != other)
{
if (other != 0)
{
ulong[] array = other.x;
return Nat448.Eq64(this.x, array);
}
}
return true;
}
// Token: 0x0600ACA5 RID: 44197 RVA: 0x002569B8 File Offset: 0x00254BB8
[Token(Token = "0x600ACA5")]
[Address(RVA = "0x7C58A0", Offset = "0x7C48A0", VA = "0x1807C58A0", Slot = "2")]
public override int GetHashCode()
{
ulong[] array = this.x;
int num = 0;
return Arrays.GetHashCode(array, num, 7);
}
// Token: 0x04006E04 RID: 28164
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006E04")]
protected internal readonly ulong[] x;
}
}
@@ -0,0 +1,410 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Multiplier;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B87 RID: 7047
[Token(Token = "0x2001B87")]
internal class SecT409K1Curve : AbstractF2mCurve
{
// Token: 0x0600ACA6 RID: 44198 RVA: 0x002569D8 File Offset: 0x00254BD8
[Token(Token = "0x600ACA6")]
[Address(RVA = "0x7C86D0", Offset = "0x7C76D0", VA = "0x1807C86D0")]
public SecT409K1Curve()
{
int num = 0;
int num2 = 0;
base..ctor(409, 87, num2, num);
int num3;
int num4;
SecT409K1Point secT409K1Point = new SecT409K1Point(this, num3, num4, num != 0);
num4 = 0;
num3 = 0;
this.m_infinity = secT409K1Point;
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
int fieldSize2 = this.FieldSize;
this.m_b = fieldSize2;
byte[] array = Hex.Decode("7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5F83B2D4EA20400EC4557D5ED3E3E7CA5B4B5C83B8E01E5FCF");
BigInteger bigInteger = new BigInteger(1, array);
this.m_order = bigInteger;
BigInteger bigInteger2;
this.m_cofactor = bigInteger2;
this.m_coord = (int)((ulong)6L);
}
// Token: 0x0600ACA7 RID: 44199 RVA: 0x00256A60 File Offset: 0x00254C60
[Token(Token = "0x600ACA7")]
[Address(RVA = "0x7C8100", Offset = "0x7C7100", VA = "0x1807C8100", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600ACA7)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT409K1Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_1_01, ldc.i4:int32(0))
stloc:SecT409K1Point(var_3_0F, newobj:SecT409K1Point(SecT409K1Point::.ctor, ldloc:SecT409K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
stloc:int32(var_4, ldc.i4:int32(0))
stloc:int32(var_5, ldc.i4:int32(0))
stfld:SecT409K1Point(SecT409K1Curve::m_infinity, ldloc:SecT409K1Curve(var_0), ldloc:SecT409K1Point(var_3_0F))
stloc:int32(var_6_23, callvirtgetter:int32(SecT409K1Curve::get_FieldSize, ldloc:SecT409K1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT409K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_6_23))
stloc:int32(var_7_33, callvirtgetter:int32(SecT409K1Curve::get_FieldSize, ldloc:SecT409K1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT409K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_7_33))
stloc:uint8[](var_8_47, call:uint8[](Hex::Decode, ldstr:string("7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5F83B2D4EA20400EC4557D5ED3E3E7CA5B4B5C83B8E01E5FCF")))
stloc:BigInteger(var_9_51, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_8_47)))
stfld:BigInteger(ECCurve::m_order, ldloc:SecT409K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_9_51))
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT409K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_10))
stfld:int32(ECCurve::m_coord, ldloc:SecT409K1Curve[exp:ECCurve](var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](6)))
}
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: 0x0600ACA8 RID: 44200 RVA: 0x00256AD8 File Offset: 0x00254CD8
[Token(Token = "0x600ACA8")]
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 6;
}
// Token: 0x0600ACA9 RID: 44201 RVA: 0x00256AEC File Offset: 0x00254CEC
[Token(Token = "0x600ACA9")]
[Address(RVA = "0x7C84F0", Offset = "0x7C74F0", VA = "0x1807C84F0", Slot = "15")]
protected override ECMultiplier CreateDefaultMultiplier()
{
/*
An exception occurred when decompiling this method (0600ACA9)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Multiplier.ECMultiplier BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT409K1Curve::CreateDefaultMultiplier()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:WTauNafMultiplier(var_0_05, newobj:WTauNafMultiplier(WTauNafMultiplier::.ctor))
}
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: 0x17001B64 RID: 7012
// (get) Token: 0x0600ACAA RID: 44202 RVA: 0x00256B00 File Offset: 0x00254D00
[Token(Token = "0x17001B64")]
public override ECPoint Infinity
{
[Token(Token = "0x600ACAA")]
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600ACAA)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT409K1Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT409K1Point(var_0_06, ldfld:SecT409K1Point(SecT409K1Curve::m_infinity, ldloc:SecT409K1Curve(this)))
}
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: 0x17001B65 RID: 7013
// (get) Token: 0x0600ACAB RID: 44203 RVA: 0x00256B14 File Offset: 0x00254D14
[Token(Token = "0x17001B65")]
public override int FieldSize
{
[Token(Token = "0x600ACAB")]
[Address(RVA = "0x7C6300", Offset = "0x7C5300", VA = "0x1807C6300", Slot = "4")]
get
{
return 409;
}
}
// Token: 0x0600ACAC RID: 44204 RVA: 0x00256B28 File Offset: 0x00254D28
[Token(Token = "0x600ACAC")]
[Address(RVA = "0x7C8670", Offset = "0x7C7670", VA = "0x1807C8670", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600ACAC)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT409K1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT409FieldElement(var_0_06, newobj:SecT409FieldElement(SecT409FieldElement::.ctor, ldloc:BigInteger(x)))
}
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: 0x0600ACAD RID: 44205 RVA: 0x00256B3C File Offset: 0x00254D3C
[Token(Token = "0x600ACAD")]
[Address(RVA = "0x7C85E0", Offset = "0x7C75E0", VA = "0x1807C85E0", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600ACAD)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT409K1Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT409K1Point(var_0_09, newobj:SecT409K1Point(SecT409K1Point::.ctor, ldloc:SecT409K1Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600ACAE RID: 44206 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600ACAE")]
[Address(RVA = "0x7C8540", Offset = "0x7C7540", VA = "0x1807C8540", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x17001B66 RID: 7014
// (get) Token: 0x0600ACAF RID: 44207 RVA: 0x00256B54 File Offset: 0x00254D54
[Token(Token = "0x17001B66")]
public override bool IsKoblitz
{
[Token(Token = "0x600ACAF")]
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "39")]
get
{
return true;
}
}
// Token: 0x17001B67 RID: 7015
// (get) Token: 0x0600ACB0 RID: 44208 RVA: 0x00256B64 File Offset: 0x00254D64
[Token(Token = "0x17001B67")]
public virtual int M
{
[Token(Token = "0x600ACB0")]
[Address(RVA = "0x7C6300", Offset = "0x7C5300", VA = "0x1807C6300", Slot = "40")]
get
{
return 409;
}
}
// Token: 0x17001B68 RID: 7016
// (get) Token: 0x0600ACB1 RID: 44209 RVA: 0x00256B78 File Offset: 0x00254D78
[Token(Token = "0x17001B68")]
public virtual bool IsTrinomial
{
[Token(Token = "0x600ACB1")]
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "41")]
get
{
return true;
}
}
// Token: 0x17001B69 RID: 7017
// (get) Token: 0x0600ACB2 RID: 44210 RVA: 0x00256B88 File Offset: 0x00254D88
[Token(Token = "0x17001B69")]
public virtual int K1
{
[Token(Token = "0x600ACB2")]
[Address(RVA = "0x7C6330", Offset = "0x7C5330", VA = "0x1807C6330", Slot = "42")]
get
{
return 87;
}
}
// Token: 0x17001B6A RID: 7018
// (get) Token: 0x0600ACB3 RID: 44211 RVA: 0x00256B98 File Offset: 0x00254D98
[Token(Token = "0x17001B6A")]
public virtual int K2
{
[Token(Token = "0x600ACB3")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "43")]
get
{
return 0;
}
}
// Token: 0x17001B6B RID: 7019
// (get) Token: 0x0600ACB4 RID: 44212 RVA: 0x00256BA8 File Offset: 0x00254DA8
[Token(Token = "0x17001B6B")]
public virtual int K3
{
[Token(Token = "0x600ACB4")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "44")]
get
{
return 0;
}
}
// Token: 0x0600ACB5 RID: 44213 RVA: 0x00256BB8 File Offset: 0x00254DB8
[Token(Token = "0x600ACB5")]
[Address(RVA = "0x7C8290", Offset = "0x7C7290", VA = "0x1807C8290", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
ulong[] array;
int num;
for (;;)
{
array = new ulong[len * (int)((uint)14)];
num = 0;
if (len <= 0)
{
goto IL_4E;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
if (y != 0 && y != 0)
{
break;
}
}
}
num += 14;
IL_4E:
SecT409K1Curve.SecT409K1LookupTable secT409K1LookupTable;
secT409K1LookupTable.m_outer = 0;
secT409K1LookupTable.m_table = array;
secT409K1LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x04006E05 RID: 28165
[Token(Token = "0x4006E05")]
private const int SECT409K1_DEFAULT_COORDS = 6;
// Token: 0x04006E06 RID: 28166
[Token(Token = "0x4006E06")]
private const int SECT409K1_FE_LONGS = 7;
// Token: 0x04006E07 RID: 28167
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4006E07")]
protected readonly SecT409K1Point m_infinity;
// Token: 0x02001B88 RID: 7048
[Token(Token = "0x2001B88")]
private class SecT409K1LookupTable : ECLookupTable
{
// Token: 0x0600ACB6 RID: 44214 RVA: 0x00256C30 File Offset: 0x00254E30
[Token(Token = "0x600ACB6")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecT409K1LookupTable(SecT409K1Curve outer, ulong[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001B6C RID: 7020
// (get) Token: 0x0600ACB7 RID: 44215 RVA: 0x00256C58 File Offset: 0x00254E58
[Token(Token = "0x17001B6C")]
public virtual int Size
{
[Token(Token = "0x600ACB7")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600ACB8 RID: 44216 RVA: 0x00256C6C File Offset: 0x00254E6C
[Token(Token = "0x600ACB8")]
[Address(RVA = "0x7C8840", Offset = "0x7C7840", VA = "0x1807C8840", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
ulong[] array = Nat448.Create64();
ulong[] array2 = Nat448.Create64();
int num = 0;
int num2 = 0;
if (this.m_size > num)
{
int num3 = 0;
ulong[] table = this.m_table;
ulong[] table2 = this.m_table;
num3++;
num += 14;
num2++;
}
SecT409K1Curve outer = this.m_outer;
new SecT409FieldElement().x = array;
new SecT409FieldElement().x = array2;
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006E08 RID: 28168
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006E08")]
private readonly SecT409K1Curve m_outer;
// Token: 0x04006E09 RID: 28169
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006E09")]
private readonly ulong[] m_table;
// Token: 0x04006E0A RID: 28170
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006E0A")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,296 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B89 RID: 7049
[Token(Token = "0x2001B89")]
internal class SecT409K1Point : AbstractF2mPoint
{
// Token: 0x0600ACB9 RID: 44217 RVA: 0x00256CEC File Offset: 0x00254EEC
[Token(Token = "0x600ACB9")]
[Address(RVA = "0x7C9E80", Offset = "0x7C8E80", VA = "0x1807C9E80")]
public SecT409K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600ACBA RID: 44218 RVA: 0x00256CFC File Offset: 0x00254EFC
[Token(Token = "0x600ACBA")]
[Address(RVA = "0x7C9EA0", Offset = "0x7C8EA0", VA = "0x1807C9EA0")]
public SecT409K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600ACBA)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT409K1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600ACBB RID: 44219 RVA: 0x00256D24 File Offset: 0x00254F24
[Token(Token = "0x600ACBB")]
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
internal SecT409K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600ACBC RID: 44220 RVA: 0x00256D34 File Offset: 0x00254F34
[Token(Token = "0x600ACBC")]
[Address(RVA = "0x7C9200", Offset = "0x7C8200", VA = "0x1807C9200", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600ACBC)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT409K1Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT409K1Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT409K1Point[exp:ECPoint](this)))
}
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: 0x17001B6D RID: 7021
// (get) Token: 0x0600ACBD RID: 44221 RVA: 0x00256D50 File Offset: 0x00254F50
[Token(Token = "0x17001B6D")]
public override ECFieldElement YCoord
{
[Token(Token = "0x600ACBD")]
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
get
{
ECFieldElement x = this.m_x;
ECFieldElement y = this.m_y;
if (!base.IsInfinity && !x.IsOne)
{
int fieldSize = y.FieldSize;
if (this.m_zs[0].BitLength == 0)
{
}
}
return y;
}
}
// Token: 0x17001B6E RID: 7022
// (get) Token: 0x0600ACBE RID: 44222 RVA: 0x00256DA0 File Offset: 0x00254FA0
[Token(Token = "0x17001B6E")]
protected internal override bool CompressionYTilde
{
[Token(Token = "0x600ACBE")]
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
get
{
if (!this.m_x.IsOne)
{
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement;
ECFieldElement ecfieldElement2;
return ecfieldElement != ecfieldElement2;
}
throw new NullReferenceException();
}
}
// Token: 0x0600ACBF RID: 44223 RVA: 0x00256DD4 File Offset: 0x00254FD4
[Token(Token = "0x600ACBF")]
[Address(RVA = "0x7C8A10", Offset = "0x7C7A10", VA = "0x1807C8A10", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
while (!base.IsInfinity && !b.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
ECFieldElement x2 = b.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
ECFieldElement[] zs2 = b.m_zs;
ECFieldElement y2 = b.m_y;
ECFieldElement ecfieldElement2 = zs2[0];
if (ecfieldElement.BitLength == 0)
{
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
}
if (ecfieldElement2.BitLength != 0)
{
continue;
}
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
int fieldSize2 = ecfieldElement5.FieldSize;
if (fieldSize2 == 0)
{
if (!x2.IsOne)
{
sbyte b3;
sbyte b2 = b3;
TypeCode typeCode = b2.GetTypeCode();
int fieldSize3 = y.FieldSize;
}
bool flag2 = this.IsNormalized();
ushort num;
TypeCode typeCode2 = num.GetTypeCode();
ushort num2;
TypeCode typeCode3 = num2.GetTypeCode().GetTypeCode();
short num3;
TypeCode typeCode4 = num3.GetTypeCode();
sbyte b4;
TypeCode typeCode5 = b4.GetTypeCode().GetTypeCode();
byte b5;
TypeCode typeCode6 = b5.GetTypeCode();
BigInteger one = BigInteger.One;
int num4 = flag.CompareTo(one);
ECFieldElement[] array = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
ECPoint ecpoint;
if (ecpoint == 0)
{
break;
}
}
if (!x2.IsOne)
{
bool compressionYTilde = b.CompressionYTilde;
break;
}
break;
}
return b;
}
// Token: 0x0600ACC0 RID: 44224 RVA: 0x00256F64 File Offset: 0x00255164
[Token(Token = "0x600ACC0")]
[Address(RVA = "0x7C9A10", Offset = "0x7C8A10", VA = "0x1807C9A10", Slot = "30")]
public override ECPoint Twice()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
if (!this.m_x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
int bitLength = ecfieldElement.BitLength;
if (bitLength != 0)
{
int fieldSize = y.Negate().FieldSize;
}
ECFieldElement ecfieldElement2 = ecfieldElement.Negate();
int fieldSize2 = y.FieldSize;
if (bitLength != 0)
{
}
sbyte b2;
sbyte b = b2;
int fieldSize3 = y.FieldSize;
ECFieldElement ecfieldElement3 = ecfieldElement2.Negate();
ushort num;
TypeCode typeCode = num.GetTypeCode().GetTypeCode();
sbyte b3;
TypeCode typeCode2 = b3.GetTypeCode().GetTypeCode().GetTypeCode();
(new ECFieldElement[1])[0] = b;
bool withCompression = this.m_withCompression;
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600ACC1 RID: 44225 RVA: 0x0025702C File Offset: 0x0025522C
[Token(Token = "0x600ACC1")]
[Address(RVA = "0x7C9450", Offset = "0x7C8450", VA = "0x1807C9450", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
if (!base.IsInfinity)
{
if (!b.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
if (x.IsOne)
{
return b;
}
ECFieldElement[] zs = b.m_zs;
ECFieldElement x2 = b.m_x;
ECFieldElement ecfieldElement = zs[0];
if (!x2.IsOne && ecfieldElement.BitLength != 0)
{
ECFieldElement[] zs2 = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement2 = zs2[0];
ECFieldElement y2 = b.m_y;
ECFieldElement ecfieldElement3 = x.Negate();
ECFieldElement ecfieldElement4 = y.Negate();
ECFieldElement ecfieldElement5 = ecfieldElement2.Negate();
ECFieldElement ecfieldElement6 = y.Subtract(ecfieldElement2);
int fieldSize = ecfieldElement4.FieldSize;
ECFieldElement ecfieldElement7;
int fieldSize2 = ecfieldElement7.Subtract(ecfieldElement5).FieldSize;
int fieldSize3 = x2.Subtract(ecfieldElement5).FieldSize;
decimal num;
TypeCode typeCode = num.GetTypeCode();
ECFieldElement[] array = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
}
throw new NullReferenceException();
}
return b;
}
// Token: 0x0600ACC2 RID: 44226 RVA: 0x00257148 File Offset: 0x00255348
[Token(Token = "0x600ACC2")]
[Address(RVA = "0x7C92A0", Offset = "0x7C82A0", VA = "0x1807C92A0", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity && !this.m_x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
bool flag = this.SatisfiesOrder();
int fieldSize = y.FieldSize;
ECFieldElement[] array = new ECFieldElement[1];
if (ecfieldElement != 0)
{
}
array[0] = ecfieldElement;
bool withCompression = this.m_withCompression;
}
throw new IndexOutOfRangeException();
}
}
}
@@ -0,0 +1,387 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B8A RID: 7050
[Token(Token = "0x2001B8A")]
internal class SecT409R1Curve : AbstractF2mCurve
{
// Token: 0x0600ACC3 RID: 44227 RVA: 0x002571B4 File Offset: 0x002553B4
[Token(Token = "0x600ACC3")]
[Address(RVA = "0x7CA510", Offset = "0x7C9510", VA = "0x1807CA510")]
public SecT409R1Curve()
{
int num = 0;
int num2 = 0;
base..ctor(409, 87, num2, num);
int num3;
int num4;
SecT409R1Point secT409R1Point = new SecT409R1Point(this, num3, num4, num != 0);
num4 = 0;
num3 = 0;
this.m_infinity = secT409R1Point;
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
byte[] array = Hex.Decode("0021A5C2C8EE9FEB5C4B9A753B7B476B7FD6422EF1F3DD674761FA99D6AC27C8A9A197B272822F6CD57A55AA4F50AE317B13545F");
BigInteger bigInteger = new BigInteger(1, array);
int fieldSize2 = this.FieldSize;
this.m_b = fieldSize2;
byte[] array2 = Hex.Decode("010000000000000000000000000000000000000000000000000001E2AAD6A612F33307BE5FA47C3C9E052F838164CD37D9A21173");
BigInteger bigInteger2 = new BigInteger(1, array2);
this.m_order = bigInteger2;
BigInteger two = BigInteger.Two;
this.m_cofactor = two;
this.m_coord = (int)((ulong)6L);
}
// Token: 0x0600ACC4 RID: 44228 RVA: 0x00257258 File Offset: 0x00255458
[Token(Token = "0x600ACC4")]
[Address(RVA = "0x7C9F60", Offset = "0x7C8F60", VA = "0x1807C9F60", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600ACC4)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT409R1Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_1_01, ldc.i4:int32(0))
stloc:SecT409R1Point(var_3_0F, newobj:SecT409R1Point(SecT409R1Point::.ctor, ldloc:SecT409R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
stloc:int32(var_4, ldc.i4:int32(0))
stloc:int32(var_5, ldc.i4:int32(0))
stfld:SecT409R1Point(SecT409R1Curve::m_infinity, ldloc:SecT409R1Curve(var_0), ldloc:SecT409R1Point(var_3_0F))
stloc:int32(var_6_23, callvirtgetter:int32(SecT409R1Curve::get_FieldSize, ldloc:SecT409R1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT409R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_6_23))
stloc:uint8[](var_7_37, call:uint8[](Hex::Decode, ldstr:string("0021A5C2C8EE9FEB5C4B9A753B7B476B7FD6422EF1F3DD674761FA99D6AC27C8A9A197B272822F6CD57A55AA4F50AE317B13545F")))
stloc:BigInteger(var_8_41, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_7_37)))
stloc:int32(var_9_49, callvirtgetter:int32(SecT409R1Curve::get_FieldSize, ldloc:SecT409R1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT409R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_9_49))
stloc:uint8[](var_10_5D, call:uint8[](Hex::Decode, ldstr:string("010000000000000000000000000000000000000000000000000001E2AAD6A612F33307BE5FA47C3C9E052F838164CD37D9A21173")))
stloc:BigInteger(var_11_67, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_10_5D)))
stfld:BigInteger(ECCurve::m_order, ldloc:SecT409R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_11_67))
stloc:BigInteger(var_12_76, ldsfld:BigInteger(BigInteger::Two))
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT409R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_12_76))
stfld:int32(ECCurve::m_coord, ldloc:SecT409R1Curve[exp:ECCurve](var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](6)))
}
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: 0x0600ACC5 RID: 44229 RVA: 0x002572F0 File Offset: 0x002554F0
[Token(Token = "0x600ACC5")]
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 6;
}
// Token: 0x17001B6F RID: 7023
// (get) Token: 0x0600ACC6 RID: 44230 RVA: 0x00257304 File Offset: 0x00255504
[Token(Token = "0x17001B6F")]
public override ECPoint Infinity
{
[Token(Token = "0x600ACC6")]
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600ACC6)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT409R1Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT409R1Point(var_0_06, ldfld:SecT409R1Point(SecT409R1Curve::m_infinity, ldloc:SecT409R1Curve(this)))
}
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: 0x17001B70 RID: 7024
// (get) Token: 0x0600ACC7 RID: 44231 RVA: 0x00257318 File Offset: 0x00255518
[Token(Token = "0x17001B70")]
public override int FieldSize
{
[Token(Token = "0x600ACC7")]
[Address(RVA = "0x7C6300", Offset = "0x7C5300", VA = "0x1807C6300", Slot = "4")]
get
{
return 409;
}
}
// Token: 0x0600ACC8 RID: 44232 RVA: 0x0025732C File Offset: 0x0025552C
[Token(Token = "0x600ACC8")]
[Address(RVA = "0x7CA4B0", Offset = "0x7C94B0", VA = "0x1807CA4B0", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600ACC8)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT409R1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT409FieldElement(var_0_06, newobj:SecT409FieldElement(SecT409FieldElement::.ctor, ldloc:BigInteger(x)))
}
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: 0x0600ACC9 RID: 44233 RVA: 0x00257340 File Offset: 0x00255540
[Token(Token = "0x600ACC9")]
[Address(RVA = "0x7CA380", Offset = "0x7C9380", VA = "0x1807CA380", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600ACC9)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT409R1Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT409R1Point(var_0_09, newobj:SecT409R1Point(SecT409R1Point::.ctor, ldloc:SecT409R1Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600ACCA RID: 44234 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600ACCA")]
[Address(RVA = "0x7CA410", Offset = "0x7C9410", VA = "0x1807CA410", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x17001B71 RID: 7025
// (get) Token: 0x0600ACCB RID: 44235 RVA: 0x00257358 File Offset: 0x00255558
[Token(Token = "0x17001B71")]
public override bool IsKoblitz
{
[Token(Token = "0x600ACCB")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "39")]
get
{
}
}
// Token: 0x17001B72 RID: 7026
// (get) Token: 0x0600ACCC RID: 44236 RVA: 0x00257368 File Offset: 0x00255568
[Token(Token = "0x17001B72")]
public virtual int M
{
[Token(Token = "0x600ACCC")]
[Address(RVA = "0x7C6300", Offset = "0x7C5300", VA = "0x1807C6300", Slot = "40")]
get
{
return 409;
}
}
// Token: 0x17001B73 RID: 7027
// (get) Token: 0x0600ACCD RID: 44237 RVA: 0x0025737C File Offset: 0x0025557C
[Token(Token = "0x17001B73")]
public virtual bool IsTrinomial
{
[Token(Token = "0x600ACCD")]
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "41")]
get
{
return true;
}
}
// Token: 0x17001B74 RID: 7028
// (get) Token: 0x0600ACCE RID: 44238 RVA: 0x0025738C File Offset: 0x0025558C
[Token(Token = "0x17001B74")]
public virtual int K1
{
[Token(Token = "0x600ACCE")]
[Address(RVA = "0x7C6330", Offset = "0x7C5330", VA = "0x1807C6330", Slot = "42")]
get
{
return 87;
}
}
// Token: 0x17001B75 RID: 7029
// (get) Token: 0x0600ACCF RID: 44239 RVA: 0x0025739C File Offset: 0x0025559C
[Token(Token = "0x17001B75")]
public virtual int K2
{
[Token(Token = "0x600ACCF")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "43")]
get
{
return 0;
}
}
// Token: 0x17001B76 RID: 7030
// (get) Token: 0x0600ACD0 RID: 44240 RVA: 0x002573AC File Offset: 0x002555AC
[Token(Token = "0x17001B76")]
public virtual int K3
{
[Token(Token = "0x600ACD0")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "44")]
get
{
return 0;
}
}
// Token: 0x0600ACD1 RID: 44241 RVA: 0x002573BC File Offset: 0x002555BC
[Token(Token = "0x600ACD1")]
[Address(RVA = "0x7CA120", Offset = "0x7C9120", VA = "0x1807CA120", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
ulong[] array;
int num;
for (;;)
{
array = new ulong[len * (int)((uint)14)];
num = 0;
if (len <= 0)
{
goto IL_4E;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
if (y != 0 && y != 0)
{
break;
}
}
}
num += 14;
IL_4E:
SecT409R1Curve.SecT409R1LookupTable secT409R1LookupTable;
secT409R1LookupTable.m_outer = 0;
secT409R1LookupTable.m_table = array;
secT409R1LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x04006E0B RID: 28171
[Token(Token = "0x4006E0B")]
private const int SECT409R1_DEFAULT_COORDS = 6;
// Token: 0x04006E0C RID: 28172
[Token(Token = "0x4006E0C")]
private const int SECT409R1_FE_LONGS = 7;
// Token: 0x04006E0D RID: 28173
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4006E0D")]
protected readonly SecT409R1Point m_infinity;
// Token: 0x02001B8B RID: 7051
[Token(Token = "0x2001B8B")]
private class SecT409R1LookupTable : ECLookupTable
{
// Token: 0x0600ACD2 RID: 44242 RVA: 0x00257434 File Offset: 0x00255634
[Token(Token = "0x600ACD2")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecT409R1LookupTable(SecT409R1Curve outer, ulong[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001B77 RID: 7031
// (get) Token: 0x0600ACD3 RID: 44243 RVA: 0x0025745C File Offset: 0x0025565C
[Token(Token = "0x17001B77")]
public virtual int Size
{
[Token(Token = "0x600ACD3")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600ACD4 RID: 44244 RVA: 0x00257470 File Offset: 0x00255670
[Token(Token = "0x600ACD4")]
[Address(RVA = "0x7CA6B0", Offset = "0x7C96B0", VA = "0x1807CA6B0", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
ulong[] array = Nat448.Create64();
ulong[] array2 = Nat448.Create64();
int num = 0;
int num2 = 0;
if (this.m_size > num)
{
int num3 = 0;
ulong[] table = this.m_table;
ulong[] table2 = this.m_table;
num3++;
num += 14;
num2++;
}
SecT409R1Curve outer = this.m_outer;
new SecT409FieldElement().x = array;
new SecT409FieldElement().x = array2;
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006E0E RID: 28174
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006E0E")]
private readonly SecT409R1Curve m_outer;
// Token: 0x04006E0F RID: 28175
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006E0F")]
private readonly ulong[] m_table;
// Token: 0x04006E10 RID: 28176
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006E10")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,255 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B8C RID: 7052
[Token(Token = "0x2001B8C")]
internal class SecT409R1Point : AbstractF2mPoint
{
// Token: 0x0600ACD5 RID: 44245 RVA: 0x002574F0 File Offset: 0x002556F0
[Token(Token = "0x600ACD5")]
[Address(RVA = "0x7CBCE0", Offset = "0x7CACE0", VA = "0x1807CBCE0")]
public SecT409R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600ACD6 RID: 44246 RVA: 0x00257500 File Offset: 0x00255700
[Token(Token = "0x600ACD6")]
[Address(RVA = "0x7CBD00", Offset = "0x7CAD00", VA = "0x1807CBD00")]
public SecT409R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600ACD6)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT409R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600ACD7 RID: 44247 RVA: 0x00257528 File Offset: 0x00255728
[Token(Token = "0x600ACD7")]
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
internal SecT409R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600ACD8 RID: 44248 RVA: 0x00257538 File Offset: 0x00255738
[Token(Token = "0x600ACD8")]
[Address(RVA = "0x7CB0A0", Offset = "0x7CA0A0", VA = "0x1807CB0A0", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600ACD8)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT409R1Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT409R1Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT409R1Point[exp:ECPoint](this)))
}
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: 0x17001B78 RID: 7032
// (get) Token: 0x0600ACD9 RID: 44249 RVA: 0x00257554 File Offset: 0x00255754
[Token(Token = "0x17001B78")]
public override ECFieldElement YCoord
{
[Token(Token = "0x600ACD9")]
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
get
{
ECFieldElement x = this.m_x;
ECFieldElement y = this.m_y;
if (!base.IsInfinity && !x.IsOne)
{
int fieldSize = y.FieldSize;
if (this.m_zs[0].BitLength == 0)
{
}
}
return y;
}
}
// Token: 0x17001B79 RID: 7033
// (get) Token: 0x0600ACDA RID: 44250 RVA: 0x002575A4 File Offset: 0x002557A4
[Token(Token = "0x17001B79")]
protected internal override bool CompressionYTilde
{
[Token(Token = "0x600ACDA")]
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
get
{
if (!this.m_x.IsOne)
{
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement;
ECFieldElement ecfieldElement2;
return ecfieldElement != ecfieldElement2;
}
throw new NullReferenceException();
}
}
// Token: 0x0600ACDB RID: 44251 RVA: 0x002575D8 File Offset: 0x002557D8
[Token(Token = "0x600ACDB")]
[Address(RVA = "0x7CA880", Offset = "0x7C9880", VA = "0x1807CA880", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
while (!base.IsInfinity && !b.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
ECFieldElement x2 = b.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
ECFieldElement[] zs2 = b.m_zs;
ECFieldElement y2 = b.m_y;
ECFieldElement ecfieldElement2 = zs2[0];
if (ecfieldElement.BitLength == 0)
{
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
}
if (ecfieldElement2.BitLength == 0)
{
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
int fieldSize2 = ecfieldElement5.FieldSize;
if (fieldSize2 == 0)
{
if (!x2.IsOne)
{
sbyte b3;
sbyte b2 = b3;
TypeCode typeCode = b2.GetTypeCode();
int fieldSize3 = y.FieldSize;
}
bool flag2 = this.IsNormalized();
ushort num;
TypeCode typeCode2 = num.GetTypeCode();
ushort num2;
TypeCode typeCode3 = num2.GetTypeCode().GetTypeCode();
short num3;
TypeCode typeCode4 = num3.GetTypeCode();
sbyte b4;
TypeCode typeCode5 = b4.GetTypeCode().GetTypeCode();
byte b5;
TypeCode typeCode6 = b5.GetTypeCode();
BigInteger one = BigInteger.One;
int num4 = flag.CompareTo(one);
ECFieldElement[] array = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
}
}
else
{
if (!x2.IsOne)
{
bool compressionYTilde = b.CompressionYTilde;
break;
}
break;
}
}
return b;
}
// Token: 0x0600ACDC RID: 44252 RVA: 0x00257774 File Offset: 0x00255974
[Token(Token = "0x600ACDC")]
[Address(RVA = "0x7CB8E0", Offset = "0x7CA8E0", VA = "0x1807CB8E0", Slot = "30")]
public override ECPoint Twice()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
if (ecfieldElement.BitLength != 0)
{
}
ECFieldElement ecfieldElement2 = y.Subtract(ecfieldElement);
ECFieldElement ecfieldElement3 = ecfieldElement.Negate();
if (y.Negate().FieldSize.GetTypeCode() == TypeCode.Empty)
{
ECFieldElement ecfieldElement4 = x.Subtract(ecfieldElement);
ECFieldElement ecfieldElement5;
TypeCode typeCode = ecfieldElement5.FieldSize.GetTypeCode();
sbyte b;
(new ECFieldElement[1])[0] = b;
bool withCompression = this.m_withCompression;
}
SecT409R1Point secT409R1Point;
ECFieldElement[] zcoords = secT409R1Point.GetZCoords();
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600ACDD RID: 44253 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600ACDD")]
[Address(RVA = "0x7CB2F0", Offset = "0x7CA2F0", VA = "0x1807CB2F0", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600ACDE RID: 44254 RVA: 0x0025782C File Offset: 0x00255A2C
[Token(Token = "0x600ACDE")]
[Address(RVA = "0x7CB140", Offset = "0x7CA140", VA = "0x1807CB140", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity && !this.m_x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
bool flag = this.SatisfiesOrder();
int fieldSize = y.FieldSize;
ECFieldElement[] array = new ECFieldElement[1];
if (ecfieldElement != 0)
{
}
array[0] = ecfieldElement;
bool withCompression = this.m_withCompression;
}
throw new IndexOutOfRangeException();
}
}
}
@@ -0,0 +1,333 @@
using System;
using System.Runtime.CompilerServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B8D RID: 7053
[Token(Token = "0x2001B8D")]
internal class SecT571Field
{
// Token: 0x0600ACDF RID: 44255 RVA: 0x00257898 File Offset: 0x00255A98
[Token(Token = "0x600ACDF")]
[Address(RVA = "0x7CCFE0", Offset = "0x7CBFE0", VA = "0x1807CCFE0")]
public static void Add(ulong[] x, ulong[] y, ulong[] z)
{
int num = 0;
ulong num2 = x[num];
num++;
z[0] = num2;
}
// Token: 0x0600ACE0 RID: 44256 RVA: 0x002578C4 File Offset: 0x00255AC4
[Token(Token = "0x600ACE0")]
[Address(RVA = "0x7CCF10", Offset = "0x7CBF10", VA = "0x1807CCF10")]
private static void Add(ulong[] x, int xOff, ulong[] y, int yOff, ulong[] z, int zOff)
{
}
// Token: 0x0600ACE1 RID: 44257 RVA: 0x002578D8 File Offset: 0x00255AD8
[Token(Token = "0x600ACE1")]
[Address(RVA = "0x7CCD20", Offset = "0x7CBD20", VA = "0x1807CCD20")]
private static void AddBothTo(ulong[] x, int xOff, ulong[] y, int yOff, ulong[] z, int zOff)
{
}
// Token: 0x0600ACE2 RID: 44258 RVA: 0x002578EC File Offset: 0x00255AEC
[Token(Token = "0x600ACE2")]
[Address(RVA = "0x7CCDE0", Offset = "0x7CBDE0", VA = "0x1807CCDE0")]
public static void AddExt(ulong[] xx, ulong[] yy, ulong[] zz)
{
int num = 0;
ulong num2 = xx[num];
num++;
zz[0] = num2;
}
// Token: 0x0600ACE3 RID: 44259 RVA: 0x00257918 File Offset: 0x00255B18
[Token(Token = "0x600ACE3")]
[Address(RVA = "0x7CCE70", Offset = "0x7CBE70", VA = "0x1807CCE70")]
public static void AddOne(ulong[] x, ulong[] z)
{
ulong num = x[0];
z[0] = num;
ulong num2;
z[0] = num2;
}
// Token: 0x0600ACE4 RID: 44260 RVA: 0x00257944 File Offset: 0x00255B44
[Token(Token = "0x600ACE4")]
[Address(RVA = "0x7CD070", Offset = "0x7CC070", VA = "0x1807CD070")]
public static ulong[] FromBigInteger(BigInteger x)
{
ulong[] array = Nat576.FromBigInteger64(x);
int num = 0;
SecT571Field.Reduce5(array, num);
return array;
}
// Token: 0x0600ACE5 RID: 44261 RVA: 0x00257964 File Offset: 0x00255B64
[Token(Token = "0x600ACE5")]
[Address(RVA = "0x7CD720", Offset = "0x7CC720", VA = "0x1807CD720")]
public static void Invert(ulong[] x, ulong[] z)
{
/*
An exception occurred when decompiling this method (0600ACE5)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT571Field::Invert(System.UInt64[],System.UInt64[])
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_FF:
stloc:InvalidOperationException(var_6_104, newobj:InvalidOperationException(InvalidOperationException::.ctor))
}
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: 0x0600ACE6 RID: 44262 RVA: 0x00257A78 File Offset: 0x00255C78
[Token(Token = "0x600ACE6")]
[Address(RVA = "0x7CDA40", Offset = "0x7CCA40", VA = "0x1807CDA40")]
public static void Multiply(ulong[] x, ulong[] y, ulong[] z)
{
ulong[] array = Nat576.CreateExt64();
SecT571Field.ImplMultiply(x, y, array);
SecT571Field.Reduce(array, z);
}
// Token: 0x0600ACE7 RID: 44263 RVA: 0x00257A9C File Offset: 0x00255C9C
[Token(Token = "0x600ACE7")]
[Address(RVA = "0x7CD9A0", Offset = "0x7CC9A0", VA = "0x1807CD9A0")]
public static void MultiplyAddToExt(ulong[] x, ulong[] y, ulong[] zz)
{
ulong[] array = Nat576.CreateExt64();
SecT571Field.ImplMultiply(x, y, array);
SecT571Field.AddExt(zz, array, zz);
}
// Token: 0x0600ACE8 RID: 44264 RVA: 0x00257AC4 File Offset: 0x00255CC4
[Token(Token = "0x600ACE8")]
[Address(RVA = "0x7CDB90", Offset = "0x7CCB90", VA = "0x1807CDB90")]
public static void Reduce(ulong[] xx, ulong[] z)
{
int length = xx.Length;
ulong num = xx[9];
ulong num2 = xx[17];
uint num4;
ulong num3 = xx[(int)num4];
num4 += (uint)(-9);
z[0] = num3;
int length2 = xx.Length;
while (num4 >= (uint)10)
{
}
z[1] = num;
ulong num5 = z[8];
num2 = num;
z[0] = num2;
z[8] = num5;
}
// Token: 0x0600ACE9 RID: 44265 RVA: 0x00257B40 File Offset: 0x00255D40
[Token(Token = "0x600ACE9")]
[Address(RVA = "0x7CDAE0", Offset = "0x7CCAE0", VA = "0x1807CDAE0")]
public static void Reduce5(ulong[] z, int zOff)
{
int length = z.Length;
ulong num;
z[0] = num;
z[0] = num;
}
// Token: 0x0600ACEA RID: 44266 RVA: 0x00257B6C File Offset: 0x00255D6C
[Token(Token = "0x600ACEA")]
[Address(RVA = "0x7CDDF0", Offset = "0x7CCDF0", VA = "0x1807CDDF0")]
public static void Sqrt(ulong[] x, ulong[] z)
{
ulong[] array = Nat576.Create64();
ulong[] array2 = Nat576.Create64();
int num = 0;
ulong num2 = Interleave.Unshuffle(x[num]);
ulong num4;
ulong num3 = Interleave.Unshuffle(num4);
num4 = num2;
array[0] = num3;
num++;
array2[0] = num2;
ulong num5 = x[num];
ulong num6 = Interleave.Unshuffle(num5);
num5 = num6;
num6 = num5;
array[4] = num6;
array2[4] = num5;
ulong[] array3 = Nat576.CreateExt64();
SecT571Field.ImplMultiply(array2, x, array3);
SecT571Field.Reduce(array3, z);
ulong num7 = array[num];
num++;
}
// Token: 0x0600ACEB RID: 44267 RVA: 0x00257C20 File Offset: 0x00255E20
[Token(Token = "0x600ACEB")]
[Address(RVA = "0x7CE310", Offset = "0x7CD310", VA = "0x1807CE310")]
public static void Square(ulong[] x, ulong[] z)
{
ulong[] array = Nat576.CreateExt64();
int num = 0;
Interleave.Expand64To128(x[num], array, 0);
num++;
SecT571Field.Reduce(array, z);
}
// Token: 0x0600ACEC RID: 44268 RVA: 0x00257C58 File Offset: 0x00255E58
[Token(Token = "0x600ACEC")]
[Address(RVA = "0x7CE0A0", Offset = "0x7CD0A0", VA = "0x1807CE0A0")]
public static void SquareAddToExt(ulong[] x, ulong[] zz)
{
ulong[] array = Nat576.CreateExt64();
int num = 0;
Interleave.Expand64To128(x[num], array, 0);
num++;
ulong num2 = array[num];
num++;
}
// Token: 0x0600ACED RID: 44269 RVA: 0x00257C94 File Offset: 0x00255E94
[Token(Token = "0x600ACED")]
[Address(RVA = "0x7CE1B0", Offset = "0x7CD1B0", VA = "0x1807CE1B0")]
public static void SquareN(ulong[] x, int n, ulong[] z)
{
ulong[] array = Nat576.CreateExt64();
int num = 0;
Interleave.Expand64To128(x[num], array, 0);
num++;
SecT571Field.Reduce(array, z);
if (n - 1 > 0)
{
int num2 = 0;
Interleave.Expand64To128(z[num2], array, 0);
num2++;
SecT571Field.Reduce(array, z);
}
}
// Token: 0x0600ACEE RID: 44270 RVA: 0x00257CEC File Offset: 0x00255EEC
[Token(Token = "0x600ACEE")]
[Address(RVA = "0x7CE3D0", Offset = "0x7CD3D0", VA = "0x1807CE3D0")]
public static uint Trace(ulong[] x)
{
int length = x.Length;
ulong num = x[8];
throw new NullReferenceException();
}
// Token: 0x0600ACEF RID: 44271 RVA: 0x00257D10 File Offset: 0x00255F10
[Token(Token = "0x600ACEF")]
[Address(RVA = "0x7CD0E0", Offset = "0x7CC0E0", VA = "0x1807CD0E0")]
protected static void ImplMultiply(ulong[] x, ulong[] y, ulong[] zz)
{
ulong[] array = new ulong[144];
int num = 0;
int num2 = 0;
ulong num3;
Array.Copy(y, num2, array, 9, (int)num3);
int num4 = 0;
num += 18;
ulong num5 = Nat.ShiftUpBit64(9, array, num, (ulong)num4, array, num);
SecT571Field.Reduce5(array, num);
uint num6;
int num7;
SecT571Field.Add(array, (int)num6, array, num, array, num7);
ulong[] array2 = new ulong[array.Length];
int length = array.Length;
int num8 = 0;
uint num10;
ulong num9 = Nat.ShiftUpBits64(length, array, num8, (int)num10, (ulong)num, array2, num);
uint num12;
uint num11 = num12 - 1U;
int num13 = 0;
num12 += (uint)2;
int num14 = 0;
ulong num15 = Nat.ShiftUpBits64(16, zz, num14, 8, (ulong)num13);
int num16 = 0;
num13 += 2;
uint num17;
if (num17 > (uint)0)
{
int num18 = 0;
ulong num19 = Nat.ShiftUpBits64(18, zz, num18, 8, (ulong)num16);
}
}
// Token: 0x0600ACF0 RID: 44272 RVA: 0x00257DD8 File Offset: 0x00255FD8
[Token(Token = "0x600ACF0")]
[Address(RVA = "0x7CD3F0", Offset = "0x7CC3F0", VA = "0x1807CD3F0")]
protected static void ImplMulwAcc(ulong[] xs, ulong y, ulong[] z, int zOff)
{
ulong[] array = new ulong[32];
array[1] = y;
int length = array.Length;
uint num2;
ulong num = array[(int)num2];
num += num;
array[0] = num;
int length2 = array.Length;
num2 += (uint)1;
num2 += (uint)2;
array[0] = num;
int num3 = 0;
int length3 = array.Length;
ulong num4 = xs[num3];
num3++;
}
// Token: 0x0600ACF1 RID: 44273 RVA: 0x00257E54 File Offset: 0x00256054
[Token(Token = "0x600ACF1")]
[Address(RVA = "0x7CD6B0", Offset = "0x7CC6B0", VA = "0x1807CD6B0")]
protected static void ImplSquare(ulong[] x, ulong[] zz)
{
int num = 0;
Interleave.Expand64To128(x[num], zz, 0);
num++;
}
// Token: 0x0600ACF2 RID: 44274 RVA: 0x00257E7C File Offset: 0x0025607C
[Token(Token = "0x600ACF2")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public SecT571Field()
{
}
// Token: 0x0600ACF3 RID: 44275 RVA: 0x00257E90 File Offset: 0x00256090
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600ACF3")]
[Address(RVA = "0x7CE430", Offset = "0x7CD430", VA = "0x1807CE430")]
static SecT571Field()
{
RuntimeHelpers.InitializeArray(new ulong[9], fieldof(<PrivateImplementationDetails>.0D0825E62E82DBEBFAD598623694129548E24C9C).FieldHandle);
}
// Token: 0x04006E11 RID: 28177
[Token(Token = "0x4006E11")]
private const ulong M59 = 576460752303423487UL;
// Token: 0x04006E12 RID: 28178
[Token(Token = "0x4006E12")]
private const ulong RM = 17256631552825064414UL;
// Token: 0x04006E13 RID: 28179
[Token(Token = "0x4006E13")]
private static readonly ulong[] ROOT_Z;
}
}
@@ -0,0 +1,587 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B8E RID: 7054
[Token(Token = "0x2001B8E")]
internal class SecT571FieldElement : AbstractF2mFieldElement
{
// Token: 0x0600ACF4 RID: 44276 RVA: 0x00257EB0 File Offset: 0x002560B0
[Token(Token = "0x600ACF4")]
[Address(RVA = "0x7CCB90", Offset = "0x7CBB90", VA = "0x1807CCB90")]
public SecT571FieldElement(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600ACF4)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT571FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_29:
stloc:ArgumentException(var_3_38, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecT571FieldElement"), ldstr:string("x")))
}
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: 0x0600ACF5 RID: 44277 RVA: 0x00257EF8 File Offset: 0x002560F8
[Token(Token = "0x600ACF5")]
[Address(RVA = "0x7CCB60", Offset = "0x7CBB60", VA = "0x1807CCB60")]
public SecT571FieldElement()
{
ulong[] array = Nat576.Create64();
this.x = array;
}
// Token: 0x0600ACF6 RID: 44278 RVA: 0x00257F1C File Offset: 0x0025611C
[Token(Token = "0x600ACF6")]
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
protected internal SecT571FieldElement(ulong[] x)
{
this.x = x;
}
// Token: 0x17001B7A RID: 7034
// (get) Token: 0x0600ACF7 RID: 44279 RVA: 0x00257F38 File Offset: 0x00256138
[Token(Token = "0x17001B7A")]
public override bool IsOne
{
[Token(Token = "0x600ACF7")]
[Address(RVA = "0x7CCCF0", Offset = "0x7CBCF0", VA = "0x1807CCCF0", Slot = "17")]
get
{
return Nat576.IsOne64(this.x);
}
}
// Token: 0x17001B7B RID: 7035
// (get) Token: 0x0600ACF8 RID: 44280 RVA: 0x00257F50 File Offset: 0x00256150
[Token(Token = "0x17001B7B")]
public override bool IsZero
{
[Token(Token = "0x600ACF8")]
[Address(RVA = "0x7CCD00", Offset = "0x7CBD00", VA = "0x1807CCD00", Slot = "18")]
get
{
return Nat576.IsZero64(this.x);
}
}
// Token: 0x0600ACF9 RID: 44281 RVA: 0x00257F68 File Offset: 0x00256168
[Token(Token = "0x600ACF9")]
[Address(RVA = "0x7B9C40", Offset = "0x7B8C40", VA = "0x1807B9C40", Slot = "24")]
public override bool TestBitZero()
{
ulong[] array = this.x;
throw new NullReferenceException();
}
// Token: 0x0600ACFA RID: 44282 RVA: 0x00257F84 File Offset: 0x00256184
[Token(Token = "0x600ACFA")]
[Address(RVA = "0x7CCAB0", Offset = "0x7CBAB0", VA = "0x1807CCAB0", Slot = "4")]
public override BigInteger ToBigInteger()
{
return Nat576.ToBigInteger64(this.x);
}
// Token: 0x17001B7C RID: 7036
// (get) Token: 0x0600ACFB RID: 44283 RVA: 0x00257F9C File Offset: 0x0025619C
[Token(Token = "0x17001B7C")]
public override string FieldName
{
[Token(Token = "0x600ACFB")]
[Address(RVA = "0x7CCCB0", Offset = "0x7CBCB0", VA = "0x1807CCCB0", Slot = "5")]
get
{
return "SecT571Field";
}
}
// Token: 0x17001B7D RID: 7037
// (get) Token: 0x0600ACFC RID: 44284 RVA: 0x00257FB0 File Offset: 0x002561B0
[Token(Token = "0x17001B7D")]
public override int FieldSize
{
[Token(Token = "0x600ACFC")]
[Address(RVA = "0x7CCCE0", Offset = "0x7CBCE0", VA = "0x1807CCCE0", Slot = "6")]
get
{
return 571;
}
}
// Token: 0x0600ACFD RID: 44285 RVA: 0x00257FC4 File Offset: 0x002561C4
[Token(Token = "0x600ACFD")]
[Address(RVA = "0x7CBED0", Offset = "0x7CAED0", VA = "0x1807CBED0", Slot = "7")]
public override ECFieldElement Add(ECFieldElement b)
{
ulong[] array;
do
{
array = Nat576.Create64();
ulong[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecT571FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecT571FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600ACFE RID: 44286 RVA: 0x0025800C File Offset: 0x0025620C
[Token(Token = "0x600ACFE")]
[Address(RVA = "0x7CBDC0", Offset = "0x7CADC0", VA = "0x1807CBDC0", Slot = "8")]
public override ECFieldElement AddOne()
{
ulong[] array = Nat576.Create64();
ulong num = this.x[0];
array[0] = num;
ulong num2;
array[0] = num2;
new SecT571FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600ACFF RID: 44287 RVA: 0x00258050 File Offset: 0x00256250
[Token(Token = "0x600ACFF")]
[Address(RVA = "0x7B9C20", Offset = "0x7B8C20", VA = "0x1807B9C20", Slot = "9")]
public override ECFieldElement Subtract(ECFieldElement b)
{
/*
An exception occurred when decompiling this method (0600ACFF)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT571FieldElement::Subtract(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT571FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AD00 RID: 44288 RVA: 0x00258064 File Offset: 0x00256264
[Token(Token = "0x600AD00")]
[Address(RVA = "0x7CC4E0", Offset = "0x7CB4E0", VA = "0x1807CC4E0", Slot = "10")]
public override ECFieldElement Multiply(ECFieldElement b)
{
ulong[] array;
do
{
array = Nat576.Create64();
ulong[] array2 = this.x;
if ("{il2cpp array field local3->}" == typeof(SecT571FieldElement).TypeHandle)
{
}
}
while (b == 0 || b == 0);
new SecT571FieldElement().x = array;
throw new NullReferenceException();
}
// Token: 0x0600AD01 RID: 44289 RVA: 0x002580AC File Offset: 0x002562AC
[Token(Token = "0x600AD01")]
[Address(RVA = "0x7B9440", Offset = "0x7B8440", VA = "0x1807B9440", Slot = "19")]
public override ECFieldElement MultiplyMinusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
{
/*
An exception occurred when decompiling this method (0600AD01)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT571FieldElement::MultiplyMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT571FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AD02 RID: 44290 RVA: 0x002580C0 File Offset: 0x002562C0
[Token(Token = "0x600AD02")]
[Address(RVA = "0x7CC250", Offset = "0x7CB250", VA = "0x1807CC250", Slot = "20")]
public override ECFieldElement MultiplyPlusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
{
do
{
ulong[] array = this.x;
}
while (b == 0 || b == 0 || x == 0 || x == 0 || y == 0 || y == 0);
ulong[] array2 = Nat576.CreateExt64();
ulong[] array3 = Nat576.Create64();
SecT571Field.Reduce(array2, array3);
new SecT571FieldElement().x = array3;
throw new NullReferenceException();
}
// Token: 0x0600AD03 RID: 44291 RVA: 0x0025812C File Offset: 0x0025632C
[Token(Token = "0x600AD03")]
[Address(RVA = "0x7B91D0", Offset = "0x7B81D0", VA = "0x1807B91D0", Slot = "11")]
public override ECFieldElement Divide(ECFieldElement b)
{
ECFieldElement ecfieldElement = b.Square();
BigInteger bigInteger = base.ToBigInteger();
throw new NullReferenceException();
}
// Token: 0x0600AD04 RID: 44292 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600AD04")]
[Address(RVA = "0x4A65C0", Offset = "0x4A55C0", VA = "0x1804A65C0", Slot = "12")]
public override ECFieldElement Negate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600AD05 RID: 44293 RVA: 0x0025814C File Offset: 0x0025634C
[Token(Token = "0x600AD05")]
[Address(RVA = "0x7CCA20", Offset = "0x7CBA20", VA = "0x1807CCA20", Slot = "13")]
public override ECFieldElement Square()
{
/*
An exception occurred when decompiling this method (0600AD05)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT571FieldElement::Square()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat576::Create64))
call:void(SecT571Field::Square, ldfld:uint64[](SecT571FieldElement::x, ldloc:SecT571FieldElement(this)), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT571FieldElement::x, newobj:SecT571FieldElement(SecT571FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x0600AD06 RID: 44294 RVA: 0x00258178 File Offset: 0x00256378
[Token(Token = "0x600AD06")]
[Address(RVA = "0x7B98C0", Offset = "0x7B88C0", VA = "0x1807B98C0", Slot = "21")]
public override ECFieldElement SquareMinusProduct(ECFieldElement x, ECFieldElement y)
{
/*
An exception occurred when decompiling this method (0600AD06)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT571FieldElement::SquareMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT571FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AD07 RID: 44295 RVA: 0x0025818C File Offset: 0x0025638C
[Token(Token = "0x600AD07")]
[Address(RVA = "0x7CC6B0", Offset = "0x7CB6B0", VA = "0x1807CC6B0", Slot = "22")]
public override ECFieldElement SquarePlusProduct(ECFieldElement x, ECFieldElement y)
{
ulong[] array;
int num;
do
{
array = this.x;
num = 0;
}
while (x == 0 || x == 0 || y == 0 || y == 0);
ulong[] array2 = Nat576.CreateExt64();
ulong[] array3 = Nat576.CreateExt64();
Interleave.Expand64To128(array[num], array3, 0);
num++;
num++;
ulong[] array4 = Nat576.Create64();
SecT571Field.Reduce(array2, array4);
new SecT571FieldElement().x = array4;
throw new NullReferenceException();
}
// Token: 0x0600AD08 RID: 44296 RVA: 0x0025820C File Offset: 0x0025640C
[Token(Token = "0x600AD08")]
[Address(RVA = "0x7CC980", Offset = "0x7CB980", VA = "0x1807CC980", Slot = "23")]
public override ECFieldElement SquarePow(int pow)
{
/*
An exception occurred when decompiling this method (0600AD08)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT571FieldElement::SquarePow(System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat576::Create64))
call:void(SecT571Field::SquareN, ldfld:uint64[](SecT571FieldElement::x, ldloc:SecT571FieldElement(this)), ldloc:int32(pow), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT571FieldElement::x, newobj:SecT571FieldElement(SecT571FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x0600AD09 RID: 44297 RVA: 0x00258238 File Offset: 0x00256438
[Token(Token = "0x600AD09")]
[Address(RVA = "0x7CCAC0", Offset = "0x7CBAC0", VA = "0x1807CCAC0", Slot = "28")]
public override int Trace()
{
ulong[] array = this.x;
int length = array.Length;
ulong num = array[8];
throw new NullReferenceException();
}
// Token: 0x0600AD0A RID: 44298 RVA: 0x00258260 File Offset: 0x00256460
[Token(Token = "0x600AD0A")]
[Address(RVA = "0x7CC1C0", Offset = "0x7CB1C0", VA = "0x1807CC1C0", Slot = "14")]
public override ECFieldElement Invert()
{
/*
An exception occurred when decompiling this method (0600AD0A)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT571FieldElement::Invert()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat576::Create64))
call:void(SecT571Field::Invert, ldfld:uint64[](SecT571FieldElement::x, ldloc:SecT571FieldElement(this)), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT571FieldElement::x, newobj:SecT571FieldElement(SecT571FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x0600AD0B RID: 44299 RVA: 0x0025828C File Offset: 0x0025648C
[Token(Token = "0x600AD0B")]
[Address(RVA = "0x7CC620", Offset = "0x7CB620", VA = "0x1807CC620", Slot = "15")]
public override ECFieldElement Sqrt()
{
/*
An exception occurred when decompiling this method (0600AD0B)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT571FieldElement::Sqrt()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint64[](var_1_07, call:uint64[](Nat576::Create64))
call:void(SecT571Field::Sqrt, ldfld:uint64[](SecT571FieldElement::x, ldloc:SecT571FieldElement(this)), ldloc:uint64[](var_1_07))
stfld:uint64[](SecT571FieldElement::x, newobj:SecT571FieldElement(SecT571FieldElement::.ctor), ldloc:uint64[](var_1_07))
}
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: 0x17001B7E RID: 7038
// (get) Token: 0x0600AD0C RID: 44300 RVA: 0x002582B8 File Offset: 0x002564B8
[Token(Token = "0x17001B7E")]
public virtual int Representation
{
[Token(Token = "0x600AD0C")]
[Address(RVA = "0x4DB5B0", Offset = "0x4DA5B0", VA = "0x1804DB5B0", Slot = "29")]
get
{
return 3;
}
}
// Token: 0x17001B7F RID: 7039
// (get) Token: 0x0600AD0D RID: 44301 RVA: 0x002582C8 File Offset: 0x002564C8
[Token(Token = "0x17001B7F")]
public virtual int M
{
[Token(Token = "0x600AD0D")]
[Address(RVA = "0x7CCCE0", Offset = "0x7CBCE0", VA = "0x1807CCCE0", Slot = "30")]
get
{
return 571;
}
}
// Token: 0x17001B80 RID: 7040
// (get) Token: 0x0600AD0E RID: 44302 RVA: 0x002582DC File Offset: 0x002564DC
[Token(Token = "0x17001B80")]
public virtual int K1
{
[Token(Token = "0x600AD0E")]
[Address(RVA = "0x4E86A0", Offset = "0x4E76A0", VA = "0x1804E86A0", Slot = "31")]
get
{
return 2;
}
}
// Token: 0x17001B81 RID: 7041
// (get) Token: 0x0600AD0F RID: 44303 RVA: 0x002582EC File Offset: 0x002564EC
[Token(Token = "0x17001B81")]
public virtual int K2
{
[Token(Token = "0x600AD0F")]
[Address(RVA = "0x6271D0", Offset = "0x6261D0", VA = "0x1806271D0", Slot = "32")]
get
{
return 5;
}
}
// Token: 0x17001B82 RID: 7042
// (get) Token: 0x0600AD10 RID: 44304 RVA: 0x002582FC File Offset: 0x002564FC
[Token(Token = "0x17001B82")]
public virtual int K3
{
[Token(Token = "0x600AD10")]
[Address(RVA = "0x7CCD10", Offset = "0x7CBD10", VA = "0x1807CCD10", Slot = "33")]
get
{
return 10;
}
}
// Token: 0x0600AD11 RID: 44305 RVA: 0x0025830C File Offset: 0x0025650C
[Token(Token = "0x600AD11")]
[Address(RVA = "0x7CC0C0", Offset = "0x7CB0C0", VA = "0x1807CC0C0", Slot = "0")]
public override bool Equals(object obj)
{
/*
An exception occurred when decompiling this method (0600AD11)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT571FieldElement::Equals(System.Object)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT571FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AD12 RID: 44306 RVA: 0x00258328 File Offset: 0x00256528
[Token(Token = "0x600AD12")]
[Address(RVA = "0x7CC010", Offset = "0x7CB010", VA = "0x1807CC010", Slot = "25")]
public override bool Equals(ECFieldElement other)
{
/*
An exception occurred when decompiling this method (0600AD12)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT571FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT571FieldElement[exp:ECFieldElement](this)))
}
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: 0x0600AD13 RID: 44307 RVA: 0x00258344 File Offset: 0x00256544
[Token(Token = "0x600AD13")]
[Address(RVA = "0x7CC0A0", Offset = "0x7CB0A0", VA = "0x1807CC0A0", Slot = "34")]
public virtual bool Equals(SecT571FieldElement other)
{
if (this != other)
{
if (other != 0)
{
ulong[] array = other.x;
return Nat576.Eq64(this.x, array);
}
}
return true;
}
// Token: 0x0600AD14 RID: 44308 RVA: 0x00258370 File Offset: 0x00256570
[Token(Token = "0x600AD14")]
[Address(RVA = "0x7CC150", Offset = "0x7CB150", VA = "0x1807CC150", Slot = "2")]
public override int GetHashCode()
{
ulong[] array = this.x;
int num = 0;
return Arrays.GetHashCode(array, num, 9);
}
// Token: 0x04006E14 RID: 28180
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006E14")]
protected internal readonly ulong[] x;
}
}
@@ -0,0 +1,409 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Multiplier;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B8F RID: 7055
[Token(Token = "0x2001B8F")]
internal class SecT571K1Curve : AbstractF2mCurve
{
// Token: 0x0600AD15 RID: 44309 RVA: 0x00258390 File Offset: 0x00256590
[Token(Token = "0x600AD15")]
[Address(RVA = "0x7CEB50", Offset = "0x7CDB50", VA = "0x1807CEB50")]
public SecT571K1Curve()
{
int num = 0;
ulong num2;
base..ctor(571, 2, 5, (int)num2);
int num3;
int num4;
SecT571K1Point secT571K1Point = new SecT571K1Point(this, num3, num4, num != 0);
num4 = 0;
num3 = 0;
this.m_infinity = secT571K1Point;
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
int fieldSize2 = this.FieldSize;
this.m_b = fieldSize2;
byte[] array = Hex.Decode("020000000000000000000000000000000000000000000000000000000000000000000000131850E1F19A63E4B391A8DB917F4138B630D84BE5D639381E91DEB45CFE778F637C1001");
BigInteger bigInteger = new BigInteger(1, array);
this.m_order = bigInteger;
BigInteger bigInteger2;
this.m_cofactor = bigInteger2;
this.m_coord = (int)((ulong)6L);
}
// Token: 0x0600AD16 RID: 44310 RVA: 0x00258414 File Offset: 0x00256614
[Token(Token = "0x600AD16")]
[Address(RVA = "0x7CE490", Offset = "0x7CD490", VA = "0x1807CE490", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600AD16)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT571K1Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_1_01, ldc.i4:int32(0))
stloc:SecT571K1Point(var_3_0D, newobj:SecT571K1Point(SecT571K1Point::.ctor, ldloc:SecT571K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
stloc:int32(var_4, ldc.i4:int32(0))
stloc:int32(var_5, ldc.i4:int32(0))
stfld:SecT571K1Point(SecT571K1Curve::m_infinity, ldloc:SecT571K1Curve(var_0), ldloc:SecT571K1Point(var_3_0D))
stloc:int32(var_6_21, callvirtgetter:int32(SecT571K1Curve::get_FieldSize, ldloc:SecT571K1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT571K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_6_21))
stloc:int32(var_7_31, callvirtgetter:int32(SecT571K1Curve::get_FieldSize, ldloc:SecT571K1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT571K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_7_31))
stloc:uint8[](var_8_45, call:uint8[](Hex::Decode, ldstr:string("020000000000000000000000000000000000000000000000000000000000000000000000131850E1F19A63E4B391A8DB917F4138B630D84BE5D639381E91DEB45CFE778F637C1001")))
stloc:BigInteger(var_9_4F, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_8_45)))
stfld:BigInteger(ECCurve::m_order, ldloc:SecT571K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_9_4F))
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT571K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_10))
stfld:int32(ECCurve::m_coord, ldloc:SecT571K1Curve[exp:ECCurve](var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](6)))
}
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: 0x0600AD17 RID: 44311 RVA: 0x0025848C File Offset: 0x0025668C
[Token(Token = "0x600AD17")]
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 6;
}
// Token: 0x0600AD18 RID: 44312 RVA: 0x002584A0 File Offset: 0x002566A0
[Token(Token = "0x600AD18")]
[Address(RVA = "0x7CE890", Offset = "0x7CD890", VA = "0x1807CE890", Slot = "15")]
protected override ECMultiplier CreateDefaultMultiplier()
{
/*
An exception occurred when decompiling this method (0600AD18)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Multiplier.ECMultiplier BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT571K1Curve::CreateDefaultMultiplier()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:WTauNafMultiplier(var_0_05, newobj:WTauNafMultiplier(WTauNafMultiplier::.ctor))
}
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: 0x17001B83 RID: 7043
// (get) Token: 0x0600AD19 RID: 44313 RVA: 0x002584B4 File Offset: 0x002566B4
[Token(Token = "0x17001B83")]
public override ECPoint Infinity
{
[Token(Token = "0x600AD19")]
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600AD19)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT571K1Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT571K1Point(var_0_06, ldfld:SecT571K1Point(SecT571K1Curve::m_infinity, ldloc:SecT571K1Curve(this)))
}
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: 0x17001B84 RID: 7044
// (get) Token: 0x0600AD1A RID: 44314 RVA: 0x002584C8 File Offset: 0x002566C8
[Token(Token = "0x17001B84")]
public override int FieldSize
{
[Token(Token = "0x600AD1A")]
[Address(RVA = "0x7CCCE0", Offset = "0x7CBCE0", VA = "0x1807CCCE0", Slot = "4")]
get
{
return 571;
}
}
// Token: 0x0600AD1B RID: 44315 RVA: 0x002584DC File Offset: 0x002566DC
[Token(Token = "0x600AD1B")]
[Address(RVA = "0x7CEA10", Offset = "0x7CDA10", VA = "0x1807CEA10", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600AD1B)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT571K1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_28:
stloc:ArgumentException(var_4_37, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecT571FieldElement"), ldstr:string("x")))
}
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: 0x0600AD1C RID: 44316 RVA: 0x00258524 File Offset: 0x00256724
[Token(Token = "0x600AD1C")]
[Address(RVA = "0x7CE8E0", Offset = "0x7CD8E0", VA = "0x1807CE8E0", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600AD1C)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT571K1Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT571K1Point(var_0_09, newobj:SecT571K1Point(SecT571K1Point::.ctor, ldloc:SecT571K1Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600AD1D RID: 44317 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600AD1D")]
[Address(RVA = "0x7CE970", Offset = "0x7CD970", VA = "0x1807CE970", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x17001B85 RID: 7045
// (get) Token: 0x0600AD1E RID: 44318 RVA: 0x0025853C File Offset: 0x0025673C
[Token(Token = "0x17001B85")]
public override bool IsKoblitz
{
[Token(Token = "0x600AD1E")]
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "39")]
get
{
return true;
}
}
// Token: 0x17001B86 RID: 7046
// (get) Token: 0x0600AD1F RID: 44319 RVA: 0x0025854C File Offset: 0x0025674C
[Token(Token = "0x17001B86")]
public virtual int M
{
[Token(Token = "0x600AD1F")]
[Address(RVA = "0x7CCCE0", Offset = "0x7CBCE0", VA = "0x1807CCCE0", Slot = "40")]
get
{
return 571;
}
}
// Token: 0x17001B87 RID: 7047
// (get) Token: 0x0600AD20 RID: 44320 RVA: 0x00258560 File Offset: 0x00256760
[Token(Token = "0x17001B87")]
public virtual bool IsTrinomial
{
[Token(Token = "0x600AD20")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "41")]
get
{
}
}
// Token: 0x17001B88 RID: 7048
// (get) Token: 0x0600AD21 RID: 44321 RVA: 0x00258570 File Offset: 0x00256770
[Token(Token = "0x17001B88")]
public virtual int K1
{
[Token(Token = "0x600AD21")]
[Address(RVA = "0x4E86A0", Offset = "0x4E76A0", VA = "0x1804E86A0", Slot = "42")]
get
{
return 2;
}
}
// Token: 0x17001B89 RID: 7049
// (get) Token: 0x0600AD22 RID: 44322 RVA: 0x00258580 File Offset: 0x00256780
[Token(Token = "0x17001B89")]
public virtual int K2
{
[Token(Token = "0x600AD22")]
[Address(RVA = "0x6271D0", Offset = "0x6261D0", VA = "0x1806271D0", Slot = "43")]
get
{
return 5;
}
}
// Token: 0x17001B8A RID: 7050
// (get) Token: 0x0600AD23 RID: 44323 RVA: 0x00258590 File Offset: 0x00256790
[Token(Token = "0x17001B8A")]
public virtual int K3
{
[Token(Token = "0x600AD23")]
[Address(RVA = "0x7CCD10", Offset = "0x7CBD10", VA = "0x1807CCD10", Slot = "44")]
get
{
return 10;
}
}
// Token: 0x0600AD24 RID: 44324 RVA: 0x002585A0 File Offset: 0x002567A0
[Token(Token = "0x600AD24")]
[Address(RVA = "0x7CE630", Offset = "0x7CD630", VA = "0x1807CE630", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
ulong[] array;
int num;
for (;;)
{
array = new ulong[points];
num = 0;
if (len <= 0)
{
goto IL_4A;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
if (y != 0 && y != 0)
{
break;
}
}
}
num += 18;
IL_4A:
SecT571K1Curve.SecT571K1LookupTable secT571K1LookupTable;
secT571K1LookupTable.m_outer = 0;
secT571K1LookupTable.m_table = array;
secT571K1LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x04006E15 RID: 28181
[Token(Token = "0x4006E15")]
private const int SECT571K1_DEFAULT_COORDS = 6;
// Token: 0x04006E16 RID: 28182
[Token(Token = "0x4006E16")]
private const int SECT571K1_FE_LONGS = 9;
// Token: 0x04006E17 RID: 28183
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4006E17")]
protected readonly SecT571K1Point m_infinity;
// Token: 0x02001B90 RID: 7056
[Token(Token = "0x2001B90")]
private class SecT571K1LookupTable : ECLookupTable
{
// Token: 0x0600AD25 RID: 44325 RVA: 0x00258614 File Offset: 0x00256814
[Token(Token = "0x600AD25")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecT571K1LookupTable(SecT571K1Curve outer, ulong[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001B8B RID: 7051
// (get) Token: 0x0600AD26 RID: 44326 RVA: 0x0025863C File Offset: 0x0025683C
[Token(Token = "0x17001B8B")]
public virtual int Size
{
[Token(Token = "0x600AD26")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600AD27 RID: 44327 RVA: 0x00258650 File Offset: 0x00256850
[Token(Token = "0x600AD27")]
[Address(RVA = "0x7CECC0", Offset = "0x7CDCC0", VA = "0x1807CECC0", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
ulong[] array = Nat576.Create64();
ulong[] array2 = Nat576.Create64();
int num = 0;
int num2 = 0;
if (this.m_size > num)
{
int num3 = 0;
ulong[] table = this.m_table;
ulong[] table2 = this.m_table;
num3++;
num += 18;
num2++;
}
SecT571K1Curve outer = this.m_outer;
new SecT571FieldElement().x = array;
new SecT571FieldElement().x = array2;
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006E18 RID: 28184
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006E18")]
private readonly SecT571K1Curve m_outer;
// Token: 0x04006E19 RID: 28185
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006E19")]
private readonly ulong[] m_table;
// Token: 0x04006E1A RID: 28186
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006E1A")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,296 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B91 RID: 7057
[Token(Token = "0x2001B91")]
internal class SecT571K1Point : AbstractF2mPoint
{
// Token: 0x0600AD28 RID: 44328 RVA: 0x002586D0 File Offset: 0x002568D0
[Token(Token = "0x600AD28")]
[Address(RVA = "0x7D0300", Offset = "0x7CF300", VA = "0x1807D0300")]
public SecT571K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600AD29 RID: 44329 RVA: 0x002586E0 File Offset: 0x002568E0
[Token(Token = "0x600AD29")]
[Address(RVA = "0x7D0320", Offset = "0x7CF320", VA = "0x1807D0320")]
public SecT571K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600AD29)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT571K1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600AD2A RID: 44330 RVA: 0x00258708 File Offset: 0x00256908
[Token(Token = "0x600AD2A")]
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
internal SecT571K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600AD2B RID: 44331 RVA: 0x00258718 File Offset: 0x00256918
[Token(Token = "0x600AD2B")]
[Address(RVA = "0x7CF680", Offset = "0x7CE680", VA = "0x1807CF680", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600AD2B)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT571K1Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT571K1Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT571K1Point[exp:ECPoint](this)))
}
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: 0x17001B8C RID: 7052
// (get) Token: 0x0600AD2C RID: 44332 RVA: 0x00258734 File Offset: 0x00256934
[Token(Token = "0x17001B8C")]
public override ECFieldElement YCoord
{
[Token(Token = "0x600AD2C")]
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
get
{
ECFieldElement x = this.m_x;
ECFieldElement y = this.m_y;
if (!base.IsInfinity && !x.IsOne)
{
int fieldSize = y.FieldSize;
if (this.m_zs[0].BitLength == 0)
{
}
}
return y;
}
}
// Token: 0x17001B8D RID: 7053
// (get) Token: 0x0600AD2D RID: 44333 RVA: 0x00258784 File Offset: 0x00256984
[Token(Token = "0x17001B8D")]
protected internal override bool CompressionYTilde
{
[Token(Token = "0x600AD2D")]
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
get
{
if (!this.m_x.IsOne)
{
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement;
ECFieldElement ecfieldElement2;
return ecfieldElement != ecfieldElement2;
}
throw new NullReferenceException();
}
}
// Token: 0x0600AD2E RID: 44334 RVA: 0x002587B8 File Offset: 0x002569B8
[Token(Token = "0x600AD2E")]
[Address(RVA = "0x7CEE90", Offset = "0x7CDE90", VA = "0x1807CEE90", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
while (!base.IsInfinity && !b.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
ECFieldElement x2 = b.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
ECFieldElement[] zs2 = b.m_zs;
ECFieldElement y2 = b.m_y;
ECFieldElement ecfieldElement2 = zs2[0];
if (ecfieldElement.BitLength == 0)
{
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
}
if (ecfieldElement2.BitLength != 0)
{
continue;
}
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
int fieldSize2 = ecfieldElement5.FieldSize;
if (fieldSize2 == 0)
{
if (!x2.IsOne)
{
sbyte b3;
sbyte b2 = b3;
TypeCode typeCode = b2.GetTypeCode();
int fieldSize3 = y.FieldSize;
}
bool flag2 = this.IsNormalized();
ushort num;
TypeCode typeCode2 = num.GetTypeCode();
ushort num2;
TypeCode typeCode3 = num2.GetTypeCode().GetTypeCode();
short num3;
TypeCode typeCode4 = num3.GetTypeCode();
sbyte b4;
TypeCode typeCode5 = b4.GetTypeCode().GetTypeCode();
byte b5;
TypeCode typeCode6 = b5.GetTypeCode();
BigInteger one = BigInteger.One;
int num4 = flag.CompareTo(one);
ECFieldElement[] array = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
ECPoint ecpoint;
if (ecpoint == 0)
{
break;
}
}
if (!x2.IsOne)
{
bool compressionYTilde = b.CompressionYTilde;
break;
}
break;
}
return b;
}
// Token: 0x0600AD2F RID: 44335 RVA: 0x00258948 File Offset: 0x00256B48
[Token(Token = "0x600AD2F")]
[Address(RVA = "0x7CFE90", Offset = "0x7CEE90", VA = "0x1807CFE90", Slot = "30")]
public override ECPoint Twice()
{
if (!base.IsInfinity)
{
bool flag = this.SatisfiesOrder();
if (!this.m_x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
int bitLength = ecfieldElement.BitLength;
if (bitLength != 0)
{
int fieldSize = y.Negate().FieldSize;
}
ECFieldElement ecfieldElement2 = ecfieldElement.Negate();
int fieldSize2 = y.FieldSize;
if (bitLength != 0)
{
}
sbyte b2;
sbyte b = b2;
int fieldSize3 = y.FieldSize;
ECFieldElement ecfieldElement3 = ecfieldElement2.Negate();
ushort num;
TypeCode typeCode = num.GetTypeCode().GetTypeCode();
sbyte b3;
TypeCode typeCode2 = b3.GetTypeCode().GetTypeCode().GetTypeCode();
(new ECFieldElement[1])[0] = b;
bool withCompression = this.m_withCompression;
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600AD30 RID: 44336 RVA: 0x00258A10 File Offset: 0x00256C10
[Token(Token = "0x600AD30")]
[Address(RVA = "0x7CF8D0", Offset = "0x7CE8D0", VA = "0x1807CF8D0", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
if (!base.IsInfinity)
{
if (!b.IsInfinity)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
if (x.IsOne)
{
return b;
}
ECFieldElement[] zs = b.m_zs;
ECFieldElement x2 = b.m_x;
ECFieldElement ecfieldElement = zs[0];
if (!x2.IsOne && ecfieldElement.BitLength != 0)
{
ECFieldElement[] zs2 = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement2 = zs2[0];
ECFieldElement y2 = b.m_y;
ECFieldElement ecfieldElement3 = x.Negate();
ECFieldElement ecfieldElement4 = y.Negate();
ECFieldElement ecfieldElement5 = ecfieldElement2.Negate();
ECFieldElement ecfieldElement6 = y.Subtract(ecfieldElement2);
int fieldSize = ecfieldElement4.FieldSize;
ECFieldElement ecfieldElement7;
int fieldSize2 = ecfieldElement7.Subtract(ecfieldElement5).FieldSize;
int fieldSize3 = x2.Subtract(ecfieldElement5).FieldSize;
decimal num;
TypeCode typeCode = num.GetTypeCode();
ECFieldElement[] array = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
}
throw new NullReferenceException();
}
return b;
}
// Token: 0x0600AD31 RID: 44337 RVA: 0x00258B2C File Offset: 0x00256D2C
[Token(Token = "0x600AD31")]
[Address(RVA = "0x7CF720", Offset = "0x7CE720", VA = "0x1807CF720", Slot = "28")]
public override ECPoint Negate()
{
if (!base.IsInfinity && !this.m_x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
bool flag = this.SatisfiesOrder();
int fieldSize = y.FieldSize;
ECFieldElement[] array = new ECFieldElement[1];
if (ecfieldElement != 0)
{
}
array[0] = ecfieldElement;
bool withCompression = this.m_withCompression;
}
throw new IndexOutOfRangeException();
}
}
}
@@ -0,0 +1,410 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B92 RID: 7058
[Token(Token = "0x2001B92")]
internal class SecT571R1Curve : AbstractF2mCurve
{
// Token: 0x0600AD32 RID: 44338 RVA: 0x00258B98 File Offset: 0x00256D98
[Token(Token = "0x600AD32")]
[Address(RVA = "0x7E3160", Offset = "0x7E2160", VA = "0x1807E3160")]
public SecT571R1Curve()
{
int num = 0;
ulong num2;
base..ctor(571, 2, 5, (int)num2);
int num3;
int num4;
SecT571R1Point secT571R1Point = new SecT571R1Point(this, num3, num4, num != 0);
num4 = 0;
num3 = 0;
this.m_infinity = secT571R1Point;
int fieldSize = this.FieldSize;
this.m_a = fieldSize;
SecT571FieldElement secT571R1_B = SecT571R1Curve.SecT571R1_B;
this.m_b = secT571R1_B;
byte[] array = Hex.Decode("03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE661CE18FF55987308059B186823851EC7DD9CA1161DE93D5174D66E8382E9BB2FE84E47");
BigInteger bigInteger = new BigInteger(1, array);
this.m_order = bigInteger;
BigInteger two = BigInteger.Two;
this.m_cofactor = two;
this.m_coord = (int)((ulong)6L);
}
// Token: 0x0600AD33 RID: 44339 RVA: 0x00258C24 File Offset: 0x00256E24
[Token(Token = "0x600AD33")]
[Address(RVA = "0x7E2A70", Offset = "0x7E1A70", VA = "0x1807E2A70", Slot = "12")]
protected override ECCurve CloneCurve()
{
/*
An exception occurred when decompiling this method (0600AD33)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT571R1Curve::CloneCurve()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_1_01, ldc.i4:int32(0))
stloc:SecT571R1Point(var_3_0D, newobj:SecT571R1Point(SecT571R1Point::.ctor, ldloc:SecT571R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
stloc:int32(var_4, ldc.i4:int32(0))
stloc:int32(var_5, ldc.i4:int32(0))
stfld:SecT571R1Point(SecT571R1Curve::m_infinity, ldloc:SecT571R1Curve(var_0), ldloc:SecT571R1Point(var_3_0D))
stloc:int32(var_6_21, callvirtgetter:int32(SecT571R1Curve::get_FieldSize, ldloc:SecT571R1Curve(var_0)))
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT571R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_6_21))
stloc:SecT571FieldElement(var_7_30, ldsfld:SecT571FieldElement(SecT571R1Curve::SecT571R1_B))
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT571R1Curve[exp:ECCurve](var_0), ldloc:SecT571FieldElement[exp:ECFieldElement](var_7_30))
stloc:uint8[](var_8_44, call:uint8[](Hex::Decode, ldstr:string("03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE661CE18FF55987308059B186823851EC7DD9CA1161DE93D5174D66E8382E9BB2FE84E47")))
stloc:BigInteger(var_9_4E, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_8_44)))
stfld:BigInteger(ECCurve::m_order, ldloc:SecT571R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_9_4E))
stloc:BigInteger(var_10_5D, ldsfld:BigInteger(BigInteger::Two))
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT571R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_10_5D))
stfld:int32(ECCurve::m_coord, ldloc:SecT571R1Curve[exp:ECCurve](var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](6)))
}
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: 0x0600AD34 RID: 44340 RVA: 0x00258CA0 File Offset: 0x00256EA0
[Token(Token = "0x600AD34")]
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
public override bool SupportsCoordinateSystem(int coord)
{
return coord == 6;
}
// Token: 0x17001B8E RID: 7054
// (get) Token: 0x0600AD35 RID: 44341 RVA: 0x00258CB4 File Offset: 0x00256EB4
[Token(Token = "0x17001B8E")]
public override ECPoint Infinity
{
[Token(Token = "0x600AD35")]
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
get
{
/*
An exception occurred when decompiling this method (0600AD35)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT571R1Curve::get_Infinity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT571R1Point(var_0_06, ldfld:SecT571R1Point(SecT571R1Curve::m_infinity, ldloc:SecT571R1Curve(this)))
}
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: 0x17001B8F RID: 7055
// (get) Token: 0x0600AD36 RID: 44342 RVA: 0x00258CC8 File Offset: 0x00256EC8
[Token(Token = "0x17001B8F")]
public override int FieldSize
{
[Token(Token = "0x600AD36")]
[Address(RVA = "0x7CCCE0", Offset = "0x7CBCE0", VA = "0x1807CCCE0", Slot = "4")]
get
{
return 571;
}
}
// Token: 0x0600AD37 RID: 44343 RVA: 0x00258CDC File Offset: 0x00256EDC
[Token(Token = "0x600AD37")]
[Address(RVA = "0x7E2FB0", Offset = "0x7E1FB0", VA = "0x1807E2FB0", Slot = "5")]
public override ECFieldElement FromBigInteger(BigInteger x)
{
/*
An exception occurred when decompiling this method (0600AD37)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT571R1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT571FieldElement(var_0_06, newobj:SecT571FieldElement(SecT571FieldElement::.ctor, ldloc:BigInteger(x)))
}
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: 0x0600AD38 RID: 44344 RVA: 0x00258CF0 File Offset: 0x00256EF0
[Token(Token = "0x600AD38")]
[Address(RVA = "0x7E2E80", Offset = "0x7E1E80", VA = "0x1807E2E80", Slot = "13")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600AD38)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT571R1Curve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:SecT571R1Point(var_0_09, newobj:SecT571R1Point(SecT571R1Point::.ctor, ldloc:SecT571R1Curve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
}
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: 0x0600AD39 RID: 44345 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600AD39")]
[Address(RVA = "0x7E2F10", Offset = "0x7E1F10", VA = "0x1807E2F10", Slot = "14")]
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x17001B90 RID: 7056
// (get) Token: 0x0600AD3A RID: 44346 RVA: 0x00258D08 File Offset: 0x00256F08
[Token(Token = "0x17001B90")]
public override bool IsKoblitz
{
[Token(Token = "0x600AD3A")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "39")]
get
{
}
}
// Token: 0x17001B91 RID: 7057
// (get) Token: 0x0600AD3B RID: 44347 RVA: 0x00258D18 File Offset: 0x00256F18
[Token(Token = "0x17001B91")]
public virtual int M
{
[Token(Token = "0x600AD3B")]
[Address(RVA = "0x7CCCE0", Offset = "0x7CBCE0", VA = "0x1807CCCE0", Slot = "40")]
get
{
return 571;
}
}
// Token: 0x17001B92 RID: 7058
// (get) Token: 0x0600AD3C RID: 44348 RVA: 0x00258D2C File Offset: 0x00256F2C
[Token(Token = "0x17001B92")]
public virtual bool IsTrinomial
{
[Token(Token = "0x600AD3C")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "41")]
get
{
}
}
// Token: 0x17001B93 RID: 7059
// (get) Token: 0x0600AD3D RID: 44349 RVA: 0x00258D3C File Offset: 0x00256F3C
[Token(Token = "0x17001B93")]
public virtual int K1
{
[Token(Token = "0x600AD3D")]
[Address(RVA = "0x4E86A0", Offset = "0x4E76A0", VA = "0x1804E86A0", Slot = "42")]
get
{
return 2;
}
}
// Token: 0x17001B94 RID: 7060
// (get) Token: 0x0600AD3E RID: 44350 RVA: 0x00258D4C File Offset: 0x00256F4C
[Token(Token = "0x17001B94")]
public virtual int K2
{
[Token(Token = "0x600AD3E")]
[Address(RVA = "0x6271D0", Offset = "0x6261D0", VA = "0x1806271D0", Slot = "43")]
get
{
return 5;
}
}
// Token: 0x17001B95 RID: 7061
// (get) Token: 0x0600AD3F RID: 44351 RVA: 0x00258D5C File Offset: 0x00256F5C
[Token(Token = "0x17001B95")]
public virtual int K3
{
[Token(Token = "0x600AD3F")]
[Address(RVA = "0x7CCD10", Offset = "0x7CBD10", VA = "0x1807CCD10", Slot = "44")]
get
{
return 10;
}
}
// Token: 0x0600AD40 RID: 44352 RVA: 0x00258D6C File Offset: 0x00256F6C
[Token(Token = "0x600AD40")]
[Address(RVA = "0x7E2C20", Offset = "0x7E1C20", VA = "0x1807E2C20", Slot = "29")]
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
{
ulong[] array;
int num;
for (;;)
{
array = new ulong[points];
num = 0;
if (len <= 0)
{
goto IL_4A;
}
ECPoint ecpoint = points[off];
ECFieldElement x = ecpoint.m_x;
if (x != 0 && x != 0)
{
ECFieldElement y = ecpoint.m_y;
if (y != 0 && y != 0)
{
break;
}
}
}
num += 18;
IL_4A:
SecT571R1Curve.SecT571R1LookupTable secT571R1LookupTable;
secT571R1LookupTable.m_outer = 0;
secT571R1LookupTable.m_table = array;
secT571R1LookupTable.m_size = len;
throw new NullReferenceException();
}
// Token: 0x0600AD41 RID: 44353 RVA: 0x00258DE0 File Offset: 0x00256FE0
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600AD41")]
[Address(RVA = "0x7E3010", Offset = "0x7E2010", VA = "0x1807E3010")]
static SecT571R1Curve()
{
ECFieldElement ecfieldElement;
do
{
byte[] array = Hex.Decode("02F40E7E2221F295DE297117B7F3D62F5C6A97FFCB8CEFF1CD6BA8CE4A9A18AD84FFABBD8EFA59332BE7AD6756A66E294AFD185A78FF12AA520E4DE739BACA0C7FFEFF7F2955727A");
SecT571R1Curve.SecT571R1_B = new SecT571FieldElement(new BigInteger(1, array));
ecfieldElement = SecT571R1Curve.SecT571R1_B.Invert();
if (ecfieldElement == 0)
{
}
}
while (ecfieldElement == 0);
SecT571R1Curve.SecT571R1_B_SQRT = ecfieldElement;
}
// Token: 0x04006E1B RID: 28187
[Token(Token = "0x4006E1B")]
private const int SECT571R1_DEFAULT_COORDS = 6;
// Token: 0x04006E1C RID: 28188
[Token(Token = "0x4006E1C")]
private const int SECT571R1_FE_LONGS = 9;
// Token: 0x04006E1D RID: 28189
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4006E1D")]
protected readonly SecT571R1Point m_infinity;
// Token: 0x04006E1E RID: 28190
[Token(Token = "0x4006E1E")]
internal static readonly SecT571FieldElement SecT571R1_B;
// Token: 0x04006E1F RID: 28191
[Token(Token = "0x4006E1F")]
internal static readonly SecT571FieldElement SecT571R1_B_SQRT;
// Token: 0x02001B93 RID: 7059
[Token(Token = "0x2001B93")]
private class SecT571R1LookupTable : ECLookupTable
{
// Token: 0x0600AD42 RID: 44354 RVA: 0x00258E2C File Offset: 0x0025702C
[Token(Token = "0x600AD42")]
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
internal SecT571R1LookupTable(SecT571R1Curve outer, ulong[] table, int size)
{
this.m_outer = outer;
this.m_table = table;
this.m_size = size;
}
// Token: 0x17001B96 RID: 7062
// (get) Token: 0x0600AD43 RID: 44355 RVA: 0x00258E54 File Offset: 0x00257054
[Token(Token = "0x17001B96")]
public virtual int Size
{
[Token(Token = "0x600AD43")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
get
{
return this.m_size;
}
}
// Token: 0x0600AD44 RID: 44356 RVA: 0x00258E68 File Offset: 0x00257068
[Token(Token = "0x600AD44")]
[Address(RVA = "0x7E32E0", Offset = "0x7E22E0", VA = "0x1807E32E0", Slot = "7")]
public virtual ECPoint Lookup(int index)
{
ulong[] array = Nat576.Create64();
ulong[] array2 = Nat576.Create64();
int num = 0;
int num2 = 0;
if (this.m_size > num)
{
int num3 = 0;
ulong[] table = this.m_table;
ulong[] table2 = this.m_table;
num3++;
num += 18;
num2++;
}
SecT571R1Curve outer = this.m_outer;
SecT571FieldElement secT571FieldElement = new SecT571FieldElement(array);
SecT571FieldElement secT571FieldElement2 = new SecT571FieldElement(array2);
ECCurve eccurve = outer.CloneCurve();
throw new NullReferenceException();
}
// Token: 0x04006E20 RID: 28192
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006E20")]
private readonly SecT571R1Curve m_outer;
// Token: 0x04006E21 RID: 28193
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006E21")]
private readonly ulong[] m_table;
// Token: 0x04006E22 RID: 28194
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006E22")]
private readonly int m_size;
}
}
}
@@ -0,0 +1,227 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
{
// Token: 0x02001B94 RID: 7060
[Token(Token = "0x2001B94")]
internal class SecT571R1Point : AbstractF2mPoint
{
// Token: 0x0600AD45 RID: 44357 RVA: 0x00258EE4 File Offset: 0x002570E4
[Token(Token = "0x600AD45")]
[Address(RVA = "0x7E49B0", Offset = "0x7E39B0", VA = "0x1807E49B0")]
public SecT571R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600AD46 RID: 44358 RVA: 0x00258EF4 File Offset: 0x002570F4
[Token(Token = "0x600AD46")]
[Address(RVA = "0x7E48F0", Offset = "0x7E38F0", VA = "0x1807E48F0")]
public SecT571R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600AD46)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT571R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
}
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: 0x0600AD47 RID: 44359 RVA: 0x00258F1C File Offset: 0x0025711C
[Token(Token = "0x600AD47")]
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
internal SecT571R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600AD48 RID: 44360 RVA: 0x00258F2C File Offset: 0x0025712C
[Token(Token = "0x600AD48")]
[Address(RVA = "0x7E3CD0", Offset = "0x7E2CD0", VA = "0x1807E3CD0", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600AD48)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT571R1Point::Detach()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT571R1Point[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT571R1Point[exp:ECPoint](this)))
}
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: 0x17001B97 RID: 7063
// (get) Token: 0x0600AD49 RID: 44361 RVA: 0x00258F48 File Offset: 0x00257148
[Token(Token = "0x17001B97")]
public override ECFieldElement YCoord
{
[Token(Token = "0x600AD49")]
[Address(RVA = "0x7E49D0", Offset = "0x7E39D0", VA = "0x1807E49D0", Slot = "12")]
get
{
ECFieldElement x = this.m_x;
ECFieldElement y = this.m_y;
if ((x != 0 || y != 0) && !x.IsOne)
{
int fieldSize = y.FieldSize;
if (this.m_zs[0].BitLength == 0)
{
}
}
return y;
}
}
// Token: 0x17001B98 RID: 7064
// (get) Token: 0x0600AD4A RID: 44362 RVA: 0x00258F98 File Offset: 0x00257198
[Token(Token = "0x17001B98")]
protected internal override bool CompressionYTilde
{
[Token(Token = "0x600AD4A")]
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
get
{
if (!this.m_x.IsOne)
{
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement;
ECFieldElement ecfieldElement2;
return ecfieldElement != ecfieldElement2;
}
throw new NullReferenceException();
}
}
// Token: 0x0600AD4B RID: 44363 RVA: 0x00258FCC File Offset: 0x002571CC
[Token(Token = "0x600AD4B")]
[Address(RVA = "0x7E34B0", Offset = "0x7E24B0", VA = "0x1807E34B0", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
return b;
}
// Token: 0x0600AD4C RID: 44364 RVA: 0x00259158 File Offset: 0x00257358
[Token(Token = "0x600AD4C")]
[Address(RVA = "0x7E4500", Offset = "0x7E3500", VA = "0x1807E4500", Slot = "30")]
public override ECPoint Twice()
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
if (ecfieldElement.BitLength != 0)
{
}
ECFieldElement ecfieldElement2 = y.Subtract(ecfieldElement);
ECFieldElement ecfieldElement3 = ecfieldElement.Negate();
if (y.Negate().FieldSize.GetTypeCode() == TypeCode.Empty)
{
ECFieldElement ecfieldElement4 = x.Subtract(ecfieldElement);
ECFieldElement ecfieldElement5;
TypeCode typeCode = ecfieldElement5.FieldSize.GetTypeCode();
sbyte b;
(new ECFieldElement[1])[0] = b;
bool withCompression = this.m_withCompression;
}
}
throw new NullReferenceException();
}
// Token: 0x0600AD4D RID: 44365 RVA: 0x002591F8 File Offset: 0x002573F8
[Token(Token = "0x600AD4D")]
[Address(RVA = "0x7E3F10", Offset = "0x7E2F10", VA = "0x1807E3F10", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
if (b.m_x != (ulong)0L)
{
}
if (b.m_y != (ulong)0L)
{
bool flag = this.SatisfiesOrder();
ECFieldElement x = this.m_x;
if (x.IsOne)
{
return b;
}
ECFieldElement[] zs = b.m_zs;
ECFieldElement x2 = b.m_x;
ECFieldElement ecfieldElement = zs[0];
if (!x2.IsOne && ecfieldElement.BitLength != 0)
{
ECFieldElement[] zs2 = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement2 = zs2[0];
ECFieldElement y2 = b.m_y;
ECFieldElement ecfieldElement3 = x.Negate();
ECFieldElement ecfieldElement4 = y.Negate();
ECFieldElement ecfieldElement5 = ecfieldElement2.Negate();
ECFieldElement ecfieldElement6 = y.Subtract(ecfieldElement2);
TypeCode typeCode = ecfieldElement5.FieldSize.GetTypeCode();
int fieldSize = y2.Subtract(ecfieldElement5).FieldSize;
int fieldSize2 = x2.Subtract(ecfieldElement5).FieldSize;
decimal num;
TypeCode typeCode2 = num.GetTypeCode();
ECFieldElement[] array = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
}
throw new NullReferenceException();
}
// Token: 0x0600AD4E RID: 44366 RVA: 0x00259330 File Offset: 0x00257530
[Token(Token = "0x600AD4E")]
[Address(RVA = "0x7E3D70", Offset = "0x7E2D70", VA = "0x1807E3D70", Slot = "28")]
public override ECPoint Negate()
{
ECFieldElement x = this.m_x;
if (x == 0)
{
}
if (!x.IsOne)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement y = this.m_y;
ECFieldElement ecfieldElement = zs[0];
bool flag = this.SatisfiesOrder();
int fieldSize = y.FieldSize;
ECFieldElement[] array = new ECFieldElement[1];
if (ecfieldElement != 0)
{
}
array[0] = ecfieldElement;
bool withCompression = this.m_withCompression;
}
throw new NullReferenceException();
}
}
}