465 lines
26 KiB
C#
465 lines
26 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC
|
|
{
|
|
// Token: 0x02001423 RID: 5155
|
|
[Token(Token = "0x2001423")]
|
|
[StructLayout(3)]
|
|
public class FpPoint : AbstractFpPoint
|
|
{
|
|
// Token: 0x0600854C RID: 34124 RVA: 0x001CFCE8 File Offset: 0x001CDEE8
|
|
[Token(Token = "0x600854C")]
|
|
[Address(RVA = "0x21B0820", Offset = "0x21AF220", VA = "0x1821B0820")]
|
|
[Obsolete]
|
|
public FpPoint(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600854D RID: 34125 RVA: 0x001CFCF8 File Offset: 0x001CDEF8
|
|
[Token(Token = "0x600854D")]
|
|
[Address(RVA = "0x21B0760", Offset = "0x21AF160", VA = "0x1821B0760")]
|
|
[Obsolete]
|
|
public FpPoint(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600854D)
|
|
|
|
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: 0x0600854E RID: 34126 RVA: 0x001CFD20 File Offset: 0x001CDF20
|
|
[Token(Token = "0x600854E")]
|
|
[Address(RVA = "0x21A9D90", Offset = "0x21A8790", VA = "0x1821A9D90")]
|
|
internal FpPoint(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600854F RID: 34127 RVA: 0x001CFD30 File Offset: 0x001CDF30
|
|
[Token(Token = "0x600854F")]
|
|
[Address(RVA = "0x21ADF40", Offset = "0x21AC940", VA = "0x1821ADF40", Slot = "7")]
|
|
protected override ECPoint Detach()
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600854F)
|
|
|
|
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: 0x06008550 RID: 34128 RVA: 0x001CFD4C File Offset: 0x001CDF4C
|
|
[Token(Token = "0x6008550")]
|
|
[Address(RVA = "0x21AE1A0", Offset = "0x21ACBA0", VA = "0x1821AE1A0", 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: 0x06008551 RID: 34129 RVA: 0x001CFD90 File Offset: 0x001CDF90
|
|
[Token(Token = "0x6008551")]
|
|
[Address(RVA = "0x21ACF40", Offset = "0x21AB940", VA = "0x1821ACF40", Slot = "26")]
|
|
public override ECPoint Add(ECPoint b)
|
|
{
|
|
return b;
|
|
}
|
|
|
|
// Token: 0x06008552 RID: 34130 RVA: 0x001D0050 File Offset: 0x001CE250
|
|
[Token(Token = "0x6008552")]
|
|
[Address(RVA = "0x21AFAD0", Offset = "0x21AE4D0", VA = "0x1821AFAD0", 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: 0x06008553 RID: 34131 RVA: 0x001D0210 File Offset: 0x001CE410
|
|
[Token(Token = "0x6008553")]
|
|
[Address(RVA = "0x21AF540", Offset = "0x21ADF40", VA = "0x1821AF540", 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: 0x06008554 RID: 34132 RVA: 0x001D036C File Offset: 0x001CE56C
|
|
[Token(Token = "0x6008554")]
|
|
[Address(RVA = "0x21AE3A0", Offset = "0x21ACDA0", VA = "0x1821AE3A0", 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: 0x06008555 RID: 34133 RVA: 0x001D0478 File Offset: 0x001CE678
|
|
[Token(Token = "0x6008555")]
|
|
[Address(RVA = "0x21AE8B0", Offset = "0x21AD2B0", VA = "0x1821AE8B0", Slot = "29")]
|
|
public override ECPoint TimesPow2(int e)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06008555)
|
|
|
|
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: 0x06008556 RID: 34134 RVA: 0x001D0654 File Offset: 0x001CE854
|
|
[Token(Token = "0x6008556")]
|
|
[Address(RVA = "0x21B0730", Offset = "0x21AF130", VA = "0x1821B0730", Slot = "34")]
|
|
protected virtual ECFieldElement Two(ECFieldElement x)
|
|
{
|
|
BigInteger bigInteger = x.ToBigInteger();
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06008557 RID: 34135 RVA: 0x001D0670 File Offset: 0x001CE870
|
|
[Token(Token = "0x6008557")]
|
|
[Address(RVA = "0x21AE870", Offset = "0x21AD270", VA = "0x1821AE870", Slot = "35")]
|
|
protected virtual ECFieldElement Three(ECFieldElement x)
|
|
{
|
|
bool flag = this.ThreeTimes().SatisfiesCurveEquation();
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06008558 RID: 34136 RVA: 0x001D0690 File Offset: 0x001CE890
|
|
[Token(Token = "0x6008558")]
|
|
[Address(RVA = "0x21AE0B0", Offset = "0x21ACAB0", VA = "0x1821AE0B0", Slot = "36")]
|
|
protected virtual ECFieldElement Four(ECFieldElement x)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06008558)
|
|
|
|
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: 0x06008559 RID: 34137 RVA: 0x001D06AC File Offset: 0x001CE8AC
|
|
[Token(Token = "0x6008559")]
|
|
[Address(RVA = "0x21AE070", Offset = "0x21ACA70", VA = "0x1821AE070", Slot = "37")]
|
|
protected virtual ECFieldElement Eight(ECFieldElement x)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06008559)
|
|
|
|
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: 0x0600855A RID: 34138 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x600855A")]
|
|
[Address(RVA = "0x21ADFE0", Offset = "0x21AC9E0", VA = "0x1821ADFE0", Slot = "38")]
|
|
protected virtual ECFieldElement DoubleProductFromSquares(ECFieldElement a, ECFieldElement b, ECFieldElement aSquared, ECFieldElement bSquared)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x0600855B RID: 34139 RVA: 0x001D06C8 File Offset: 0x001CE8C8
|
|
[Token(Token = "0x600855B")]
|
|
[Address(RVA = "0x21AE240", Offset = "0x21ACC40", VA = "0x1821AE240", 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: 0x0600855C RID: 34140 RVA: 0x001D06FC File Offset: 0x001CE8FC
|
|
[Token(Token = "0x600855C")]
|
|
[Address(RVA = "0x21ADDC0", Offset = "0x21AC7C0", VA = "0x1821ADDC0", 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: 0x0600855D RID: 34141 RVA: 0x001D073C File Offset: 0x001CE93C
|
|
[Token(Token = "0x600855D")]
|
|
[Address(RVA = "0x21AE0F0", Offset = "0x21ACAF0", VA = "0x1821AE0F0", 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: 0x0600855E RID: 34142 RVA: 0x001D0770 File Offset: 0x001CE970
|
|
[Token(Token = "0x600855E")]
|
|
[Address(RVA = "0x21AF140", Offset = "0x21ADB40", VA = "0x1821AF140", 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;
|
|
}
|
|
}
|
|
}
|