Files
niko c12fbe3fc6 m
2026-04-12 16:51:38 +02:00

466 lines
26 KiB
C#

using System;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC
{
// Token: 0x02001AE0 RID: 6880
[Token(Token = "0x2001AE0")]
public class FpPoint : AbstractFpPoint
{
// Token: 0x0600A4F4 RID: 42228 RVA: 0x0023036C File Offset: 0x0022E56C
[Token(Token = "0x600A4F4")]
[Address(RVA = "0x7E24E0", Offset = "0x7E14E0", VA = "0x1807E24E0")]
[Obsolete]
public FpPoint(ECCurve curve, ECFieldElement x, ECFieldElement y)
{
}
// Token: 0x0600A4F5 RID: 42229 RVA: 0x0023037C File Offset: 0x0022E57C
[Token(Token = "0x600A4F5")]
[Address(RVA = "0x7E2420", Offset = "0x7E1420", VA = "0x1807E2420")]
[Obsolete]
public FpPoint(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
{
/*
An exception occurred when decompiling this method (0600A4F5)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.FpPoint::.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: 0x0600A4F6 RID: 42230 RVA: 0x002303A4 File Offset: 0x0022E5A4
[Token(Token = "0x600A4F6")]
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
internal FpPoint(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
{
}
// Token: 0x0600A4F7 RID: 42231 RVA: 0x002303B4 File Offset: 0x0022E5B4
[Token(Token = "0x600A4F7")]
[Address(RVA = "0x7DFC00", Offset = "0x7DEC00", VA = "0x1807DFC00", Slot = "7")]
protected override ECPoint Detach()
{
/*
An exception occurred when decompiling this method (0600A4F7)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.FpPoint::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:FpPoint[exp:ECPoint](this)))
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:FpPoint[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: 0x0600A4F8 RID: 42232 RVA: 0x002303D0 File Offset: 0x0022E5D0
[Token(Token = "0x600A4F8")]
[Address(RVA = "0x7DFE60", Offset = "0x7DEE60", VA = "0x1807DFE60", Slot = "13")]
public override ECFieldElement GetZCoord(int index)
{
if (index == 1 && this.Detach() == (ulong)4L)
{
bool flag = base.SatisfiesCurveEquation();
}
ECFieldElement[] zs = this.m_zs;
int length = zs.Length;
if (index < length)
{
return zs[index];
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600A4F9 RID: 42233 RVA: 0x00230414 File Offset: 0x0022E614
[Token(Token = "0x600A4F9")]
[Address(RVA = "0x7DEC00", Offset = "0x7DDC00", VA = "0x1807DEC00", Slot = "26")]
public override ECPoint Add(ECPoint b)
{
return b;
}
// Token: 0x0600A4FA RID: 42234 RVA: 0x002306D4 File Offset: 0x0022E8D4
[Token(Token = "0x600A4FA")]
[Address(RVA = "0x7E1790", Offset = "0x7E0790", VA = "0x1807E1790", Slot = "30")]
public override ECPoint Twice()
{
bool flag = this.SatisfiesOrder();
ECFieldElement y = this.m_y;
if (!y.IsOne)
{
ECFieldElement x = this.m_x;
ECFieldElement jacobianModifiedW = this.GetJacobianModifiedW();
ECFieldElement ecfieldElement = this.m_zs[0];
int bitLength = ecfieldElement.BitLength;
ECFieldElement ecfieldElement2 = y.Negate();
ECFieldElement ecfieldElement3 = ecfieldElement2.Negate();
ushort num;
string text = num.ToString();
BigInteger bigInteger;
if (bigInteger == 0)
{
ECFieldElement ecfieldElement4 = x.Negate();
ECFieldElement ecfieldElement5 = this.Two(ecfieldElement4);
if (ecfieldElement5 == 0)
{
ECFieldElement ecfieldElement6 = ecfieldElement.Negate().Negate();
int fieldSize = ecfieldElement5.FieldSize;
}
}
ECFieldElement ecfieldElement7 = ecfieldElement.Negate();
int fieldSize2 = x.FieldSize;
ECFieldElement ecfieldElement8 = x.AddOne();
ECFieldElement ecfieldElement9 = ecfieldElement2.Subtract(x);
ECFieldElement ecfieldElement10 = this.Three(ecfieldElement9);
ECFieldElement ecfieldElement12;
ECFieldElement ecfieldElement11 = ecfieldElement12.Negate();
ECPoint ecpoint = this.ThreeTimes();
ECFieldElement ecfieldElement13 = ecfieldElement11.AddOne();
ECFieldElement ecfieldElement14 = ecfieldElement10.AddOne().Subtract(ecfieldElement12);
ECFieldElement ecfieldElement15 = this.Four(ecfieldElement3);
ECFieldElement ecfieldElement16 = ecfieldElement14.AddOne();
ECFieldElement affineXCoord = this.ThreeTimes().AffineXCoord;
ECFieldElement[] array = new ECFieldElement[1];
throw new ArrayTypeMismatchException();
}
throw new NullReferenceException();
}
// Token: 0x0600A4FB RID: 42235 RVA: 0x00230894 File Offset: 0x0022EA94
[Token(Token = "0x600A4FB")]
[Address(RVA = "0x7E1200", Offset = "0x7E0200", VA = "0x1807E1200", Slot = "32")]
public override ECPoint TwicePlus(ECPoint b)
{
if (this != b)
{
if (b.m_x == (ulong)0L && b.m_y == (ulong)0L)
{
ECPoint ecpoint;
return ecpoint;
}
if (!this.m_y.IsOne)
{
if (this.SatisfiesOrder())
{
goto IL_131;
}
ECFieldElement x = b.m_x;
ECFieldElement y = b.m_y;
ECFieldElement x2 = this.m_x;
ECFieldElement ecfieldElement = x.AddOne();
ECFieldElement ecfieldElement2 = y.AddOne();
if (ecfieldElement.IsOne)
{
goto IL_12C;
}
ECFieldElement ecfieldElement3 = ecfieldElement.Negate();
ECFieldElement ecfieldElement4 = ecfieldElement2.Negate();
ECCurve curve = this.ThreeTimes().Curve;
ECFieldElement ecfieldElement6;
ECFieldElement ecfieldElement5 = ecfieldElement6.AddOne();
if (!ecfieldElement5.IsOne)
{
ECFieldElement ecfieldElement7 = ecfieldElement5.Subtract(ecfieldElement).Square();
ECFieldElement ecfieldElement8 = ecfieldElement5.Subtract(ecfieldElement7).Subtract(ecfieldElement2);
ECFieldElement ecfieldElement9 = this.ThreeTimes().AffineXCoord.Subtract(ecfieldElement).Subtract(ecfieldElement7).AddOne();
ECFieldElement ecfieldElement10 = ecfieldElement9.AddOne();
int fieldSize = ecfieldElement8.FieldSize;
ECFieldElement ecfieldElement11;
int fieldSize2 = ecfieldElement11.FieldSize;
ECFieldElement ecfieldElement12 = x2.AddOne().Subtract(ecfieldElement9).AddOne();
bool flag = this.SatisfiesOrder();
bool withCompression = this.m_withCompression;
}
}
bool flag2 = this.SatisfiesOrder();
IL_12C:
ECPoint ecpoint2;
if (ecpoint2 == 0)
{
}
IL_131:
if (this == (ulong)4L)
{
ECFieldElement jacobianModifiedW = this.GetJacobianModifiedW();
}
}
bool flag3 = base.SatisfiesCurveEquation();
throw new NullReferenceException();
}
// Token: 0x0600A4FC RID: 42236 RVA: 0x002309F0 File Offset: 0x0022EBF0
[Token(Token = "0x600A4FC")]
[Address(RVA = "0x7E0060", Offset = "0x7DF060", VA = "0x1807E0060", Slot = "33")]
public override ECPoint ThreeTimes()
{
ECFieldElement y = this.m_y;
if (y != 0 && !y.IsOne)
{
bool flag = this.SatisfiesOrder();
if (!flag)
{
ECFieldElement x = this.m_x;
ECFieldElement ycoord = this.ThreeTimes().YCoord;
ECFieldElement ecfieldElement = x.Negate();
ECFieldElement ecfieldElement2 = this.Two(ecfieldElement);
bool flag2 = this.SatisfiesOrder();
int fieldSize = ecfieldElement2.FieldSize;
ECFieldElement ecfieldElement3 = this.Two(x).Subtract(ycoord).AddOne();
if (!ecfieldElement3.IsOne)
{
ECFieldElement ecfieldElement5;
ECFieldElement ecfieldElement4 = ecfieldElement5.Square();
ECFieldElement ecfieldElement6 = ecfieldElement3.Subtract(ecfieldElement4);
ECFieldElement ecfieldElement7 = ycoord.Negate().Subtract(ecfieldElement4).AddOne();
ECFieldElement ecfieldElement8 = ecfieldElement7.AddOne();
ECFieldElement ecfieldElement9;
int fieldSize2 = ecfieldElement9.FieldSize;
ECFieldElement ecfieldElement10;
int fieldSize3 = ecfieldElement10.FieldSize;
ECFieldElement ecfieldElement11 = x.AddOne().Subtract(ecfieldElement7).AddOne();
bool flag3 = this.SatisfiesOrder();
bool withCompression = this.m_withCompression;
}
bool flag4 = this.SatisfiesOrder();
}
if (flag)
{
ECFieldElement jacobianModifiedW = this.GetJacobianModifiedW();
}
}
throw new NullReferenceException();
}
// Token: 0x0600A4FD RID: 42237 RVA: 0x00230AFC File Offset: 0x0022ECFC
[Token(Token = "0x600A4FD")]
[Address(RVA = "0x7E0570", Offset = "0x7DF570", VA = "0x1807E0570", Slot = "29")]
public override ECPoint TimesPow2(int e)
{
/*
An exception occurred when decompiling this method (0600A4FD)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.FpPoint::TimesPow2(System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_1B0:
stloc:ArgumentException(var_52_1BF, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("cannot be negative"), ldstr:string("e")))
stloc:InvalidOperationException(var_53_1CB, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("unsupported coordinate system")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
*/;
}
// Token: 0x0600A4FE RID: 42238 RVA: 0x00230CD8 File Offset: 0x0022EED8
[Token(Token = "0x600A4FE")]
[Address(RVA = "0x7E23F0", Offset = "0x7E13F0", VA = "0x1807E23F0", Slot = "34")]
protected virtual ECFieldElement Two(ECFieldElement x)
{
BigInteger bigInteger = x.ToBigInteger();
throw new NullReferenceException();
}
// Token: 0x0600A4FF RID: 42239 RVA: 0x00230CF4 File Offset: 0x0022EEF4
[Token(Token = "0x600A4FF")]
[Address(RVA = "0x7E0530", Offset = "0x7DF530", VA = "0x1807E0530", Slot = "35")]
protected virtual ECFieldElement Three(ECFieldElement x)
{
bool flag = this.ThreeTimes().SatisfiesCurveEquation();
throw new NullReferenceException();
}
// Token: 0x0600A500 RID: 42240 RVA: 0x00230D14 File Offset: 0x0022EF14
[Token(Token = "0x600A500")]
[Address(RVA = "0x7DFD70", Offset = "0x7DED70", VA = "0x1807DFD70", Slot = "36")]
protected virtual ECFieldElement Four(ECFieldElement x)
{
/*
An exception occurred when decompiling this method (0600A500)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.FpPoint::Four(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:ECPoint(var_0_06, callvirt:ECPoint(FpPoint::ThreeTimes, ldloc:FpPoint(this)))
stloc:bool(var_1_0D, call:bool(ECPoint::SatisfiesCurveEquation, ldloc:FpPoint[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: 0x0600A501 RID: 42241 RVA: 0x00230D30 File Offset: 0x0022EF30
[Token(Token = "0x600A501")]
[Address(RVA = "0x7DFD30", Offset = "0x7DED30", VA = "0x1807DFD30", Slot = "37")]
protected virtual ECFieldElement Eight(ECFieldElement x)
{
/*
An exception occurred when decompiling this method (0600A501)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.FpPoint::Eight(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:ECPoint(var_0_06, callvirt:ECPoint(FpPoint::ThreeTimes, ldloc:FpPoint(this)))
stloc:bool(var_1_0D, call:bool(ECPoint::SatisfiesCurveEquation, ldloc:FpPoint[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: 0x0600A502 RID: 42242 RVA: 0x00230D4C File Offset: 0x0022EF4C
[Token(Token = "0x600A502")]
[Address(RVA = "0x7DFCA0", Offset = "0x7DECA0", VA = "0x1807DFCA0", Slot = "38")]
protected virtual ECFieldElement DoubleProductFromSquares(ECFieldElement a, ECFieldElement b, ECFieldElement aSquared, ECFieldElement bSquared)
{
int fieldSize = a.FieldSize;
char c;
TypeCode typeCode = ((IConvertible)c).GetTypeCode();
throw new NullReferenceException();
}
// Token: 0x0600A503 RID: 42243 RVA: 0x00230D6C File Offset: 0x0022EF6C
[Token(Token = "0x600A503")]
[Address(RVA = "0x7DFF00", Offset = "0x7DEF00", VA = "0x1807DFF00", Slot = "28")]
public override ECPoint Negate()
{
bool flag = this.SatisfiesOrder();
ECFieldElement y = this.m_y;
if (!flag)
{
bool withCompression = this.m_withCompression;
}
FpPoint fpPoint;
ECFieldElement xcoord = fpPoint.XCoord;
throw new NullReferenceException();
}
// Token: 0x0600A504 RID: 42244 RVA: 0x00230DA0 File Offset: 0x0022EFA0
[Token(Token = "0x600A504")]
[Address(RVA = "0x7DFA80", Offset = "0x7DEA80", VA = "0x1807DFA80", Slot = "39")]
protected virtual ECFieldElement CalculateJacobianModifiedW(ECFieldElement Z, ECFieldElement ZSquared)
{
bool flag = this.SatisfiesOrder();
bool flag2;
if (!flag2 && Z.BitLength == 0)
{
if (ZSquared == 0)
{
ECFieldElement ecfieldElement = Z.Negate();
}
ECFieldElement ecfieldElement2 = ZSquared.Negate();
ECFieldElement ecfieldElement3;
return ecfieldElement3;
}
throw new NullReferenceException();
}
// Token: 0x0600A505 RID: 42245 RVA: 0x00230DE0 File Offset: 0x0022EFE0
[Token(Token = "0x600A505")]
[Address(RVA = "0x7DFDB0", Offset = "0x7DEDB0", VA = "0x1807DFDB0", Slot = "40")]
protected virtual ECFieldElement GetJacobianModifiedW()
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement ecfieldElement = zs[1];
if (ecfieldElement == 0)
{
ECFieldElement ecfieldElement2;
if (ecfieldElement2 != 0)
{
}
zs[1] = ecfieldElement2;
}
return ecfieldElement;
}
// Token: 0x0600A506 RID: 42246 RVA: 0x00230E14 File Offset: 0x0022F014
[Token(Token = "0x600A506")]
[Address(RVA = "0x7E0E00", Offset = "0x7DFE00", VA = "0x1807E0E00", Slot = "41")]
protected virtual FpPoint TwiceJacobianModified(bool calculateW)
{
ECFieldElement[] zs = this.m_zs;
ECFieldElement x = this.m_x;
ECFieldElement ecfieldElement = zs[0];
ECFieldElement ecfieldElement2 = x.Negate();
int fieldSize = this.Two(ecfieldElement2).FieldSize;
ECPoint ecpoint = this.ThreeTimes();
ECFieldElement affineXCoord = ecpoint.AffineXCoord;
ECFieldElement ecfieldElement3 = x.Subtract(affineXCoord);
ECPoint ecpoint2 = this.ThreeTimes();
ECPoint ecpoint3 = this.ThreeTimes();
ECFieldElement ecfieldElement4 = affineXCoord.Negate();
ECPoint ecpoint4 = this.ThreeTimes();
int curveCoordinateSystem = ecpoint2.CurveCoordinateSystem;
ECFieldElement affineXCoord2 = ecpoint4.AffineXCoord;
ECPoint ecpoint5 = this.ThreeTimes();
int num = 0;
ECFieldElement affineXCoord3;
if (ecfieldElement.BitLength == 0)
{
affineXCoord3 = ecpoint.AffineXCoord;
}
bool flag = this.SatisfiesOrder();
ECFieldElement[] array = new ECFieldElement[2];
if (affineXCoord3 != 0)
{
}
array[0] = affineXCoord3;
if (num != 0)
{
}
array[1] = num;
bool withCompression = this.m_withCompression;
FpPoint fpPoint;
return fpPoint;
}
}
}