Files
Jan2021-Cpp2Il-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Math/EC/F2mFieldElement.cs
T
2026-04-08 23:40:05 +02:00

615 lines
27 KiB
C#

using System;
using System.Runtime.InteropServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC
{
// Token: 0x0200141D RID: 5149
[Token(Token = "0x200141D")]
[StructLayout(3)]
public class F2mFieldElement : AbstractF2mFieldElement
{
// Token: 0x060084F0 RID: 34032 RVA: 0x001CEA84 File Offset: 0x001CCC84
[Token(Token = "0x60084F0")]
[Address(RVA = "0x21A75B0", Offset = "0x21A5FB0", VA = "0x1821A75B0")]
[Obsolete]
public F2mFieldElement(int m, int k1, int k2, int k3, BigInteger x)
{
do
{
base..ctor();
int num = 0;
if (k2 == 0)
{
this.representation = (int)((ulong)2L);
(new int[num])[0] = k1;
}
}
while (k2 <= 0);
this.representation = (int)((ulong)3L);
int[] array = new int[3];
array[0] = k1;
array[0] = k2;
this.ks = array;
this.m = m;
LongArray longArray;
this.x = longArray;
}
// Token: 0x060084F1 RID: 34033 RVA: 0x001CEB00 File Offset: 0x001CCD00
[Token(Token = "0x60084F1")]
[Address(RVA = "0x21A7520", Offset = "0x21A5F20", VA = "0x1821A7520")]
[Obsolete]
public F2mFieldElement(int m, int k, BigInteger x)
{
}
// Token: 0x060084F2 RID: 34034 RVA: 0x001CEB14 File Offset: 0x001CCD14
[Token(Token = "0x60084F2")]
[Address(RVA = "0x21A7550", Offset = "0x21A5F50", VA = "0x1821A7550")]
internal F2mFieldElement(int m, int[] ks, LongArray x)
{
this.m = m;
bool flag = ks.Length != 1;
this.representation = (flag ? 1 : 0);
this.ks = ks;
this.x = x;
}
// Token: 0x1700155A RID: 5466
// (get) Token: 0x060084F3 RID: 34035 RVA: 0x001CEB58 File Offset: 0x001CCD58
[Token(Token = "0x1700155A")]
public override int BitLength
{
[Token(Token = "0x60084F3")]
[Address(RVA = "0x21A77E0", Offset = "0x21A61E0", VA = "0x1821A77E0", Slot = "16")]
get
{
return this.x.Degree();
}
}
// Token: 0x1700155B RID: 5467
// (get) Token: 0x060084F4 RID: 34036 RVA: 0x001CEB78 File Offset: 0x001CCD78
[Token(Token = "0x1700155B")]
public override bool IsOne
{
[Token(Token = "0x60084F4")]
[Address(RVA = "0x21A7830", Offset = "0x21A6230", VA = "0x1821A7830", Slot = "17")]
get
{
return this.x.IsOne();
}
}
// Token: 0x1700155C RID: 5468
// (get) Token: 0x060084F5 RID: 34037 RVA: 0x001CEB98 File Offset: 0x001CCD98
[Token(Token = "0x1700155C")]
public override bool IsZero
{
[Token(Token = "0x60084F5")]
[Address(RVA = "0x21A7850", Offset = "0x21A6250", VA = "0x1821A7850", Slot = "18")]
get
{
return this.x.IsZero();
}
}
// Token: 0x060084F6 RID: 34038 RVA: 0x001CEBB8 File Offset: 0x001CCDB8
[Token(Token = "0x60084F6")]
[Address(RVA = "0x21A74E0", Offset = "0x21A5EE0", VA = "0x1821A74E0", Slot = "24")]
public override bool TestBitZero()
{
return this.x.TestBitZero();
}
// Token: 0x060084F7 RID: 34039 RVA: 0x001CEBD8 File Offset: 0x001CCDD8
[Token(Token = "0x60084F7")]
[Address(RVA = "0x21A7500", Offset = "0x21A5F00", VA = "0x1821A7500", Slot = "4")]
public override BigInteger ToBigInteger()
{
return this.x.ToBigInteger();
}
// Token: 0x1700155D RID: 5469
// (get) Token: 0x060084F8 RID: 34040 RVA: 0x001CEBF8 File Offset: 0x001CCDF8
[Token(Token = "0x1700155D")]
public override string FieldName
{
[Token(Token = "0x60084F8")]
[Address(RVA = "0x21A7800", Offset = "0x21A6200", VA = "0x1821A7800", Slot = "5")]
get
{
return "F2m";
}
}
// Token: 0x1700155E RID: 5470
// (get) Token: 0x060084F9 RID: 34041 RVA: 0x001CEC0C File Offset: 0x001CCE0C
[Token(Token = "0x1700155E")]
public override int FieldSize
{
[Token(Token = "0x60084F9")]
[Address(RVA = "0x55D550", Offset = "0x55BF50", VA = "0x18055D550", Slot = "6")]
get
{
return this.m;
}
}
// Token: 0x060084FA RID: 34042 RVA: 0x001CEC20 File Offset: 0x001CCE20
[Token(Token = "0x60084FA")]
[Address(RVA = "0x21A66F0", Offset = "0x21A50F0", VA = "0x1821A66F0")]
public static void CheckFieldElements(ECFieldElement a, ECFieldElement b)
{
/*
An exception occurred when decompiling this method (060084FA)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.F2mFieldElement::CheckFieldElements(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_26:
stloc:ArgumentException(var_5_30, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Field elements are not elements of the same field F2m")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(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: 0x060084FB RID: 34043 RVA: 0x001CEC60 File Offset: 0x001CCE60
[Token(Token = "0x60084FB")]
[Address(RVA = "0x21A65C0", Offset = "0x21A4FC0", VA = "0x1821A65C0", Slot = "7")]
public override ECFieldElement Add(ECFieldElement b)
{
LongArray longArray;
do
{
longArray = this.x.Copy();
}
while (b == 0);
int num = this.m;
int[] array = this.ks;
F2mFieldElement f2mFieldElement;
f2mFieldElement.m = num;
bool flag = array.Length != 1;
f2mFieldElement.representation = (flag ? 1 : 0);
f2mFieldElement.x = longArray;
f2mFieldElement.ks = array;
throw new NullReferenceException();
}
// Token: 0x060084FC RID: 34044 RVA: 0x001CECC4 File Offset: 0x001CCEC4
[Token(Token = "0x60084FC")]
[Address(RVA = "0x21A6510", Offset = "0x21A4F10", VA = "0x1821A6510", Slot = "8")]
public override ECFieldElement AddOne()
{
LongArray longArray = this.x;
int num = this.m;
int[] array = this.ks;
LongArray longArray2 = longArray.AddOne();
F2mFieldElement f2mFieldElement;
f2mFieldElement.m = num;
bool flag = array.Length != 1;
f2mFieldElement.representation = (flag ? 1 : 0);
f2mFieldElement.x = longArray2;
f2mFieldElement.ks = array;
throw new NullReferenceException();
}
// Token: 0x060084FD RID: 34045 RVA: 0x001CED24 File Offset: 0x001CCF24
[Token(Token = "0x60084FD")]
[Address(RVA = "0x199F810", Offset = "0x199E210", VA = "0x18199F810", Slot = "9")]
public override ECFieldElement Subtract(ECFieldElement b)
{
/*
An exception occurred when decompiling this method (060084FD)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.F2mFieldElement::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:F2mFieldElement[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: 0x060084FE RID: 34046 RVA: 0x001CED38 File Offset: 0x001CCF38
[Token(Token = "0x60084FE")]
[Address(RVA = "0x21A6F50", Offset = "0x21A5950", VA = "0x1821A6F50", Slot = "10")]
public override ECFieldElement Multiply(ECFieldElement b)
{
int num;
int[] array;
do
{
num = this.m;
array = this.ks;
LongArray longArray = this.x;
}
while (b == 0 || b == 0);
F2mFieldElement f2mFieldElement;
f2mFieldElement.m = num;
bool flag = array.Length != 1;
f2mFieldElement.representation = (flag ? 1 : 0);
f2mFieldElement.ks = array;
LongArray longArray2;
f2mFieldElement.x = longArray2;
throw new NullReferenceException();
}
// Token: 0x060084FF RID: 34047 RVA: 0x001CEDA0 File Offset: 0x001CCFA0
[Token(Token = "0x60084FF")]
[Address(RVA = "0x21A6C40", Offset = "0x21A5640", VA = "0x1821A6C40", Slot = "19")]
public override ECFieldElement MultiplyMinusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
{
/*
An exception occurred when decompiling this method (060084FF)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.F2mFieldElement::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:F2mFieldElement[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: 0x06008500 RID: 34048 RVA: 0x001CEDB4 File Offset: 0x001CCFB4
[Token(Token = "0x6008500")]
[Address(RVA = "0x21A6C60", Offset = "0x21A5660", VA = "0x1821A6C60", Slot = "20")]
public override ECFieldElement MultiplyPlusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
{
LongArray longArray;
do
{
longArray = this.x;
}
while (b == 0 || b == 0 || x == 0 || x == 0 || y == 0 || y == 0);
LongArray longArray2;
if (longArray2 != longArray)
{
}
LongArray longArray3 = longArray2.Copy();
int num = 0;
LongArray longArray4;
longArray3.AddShiftedByWords(longArray4, num);
int[] array = this.ks;
int num2 = this.m;
longArray3.Reduce(num2, array);
int num3 = this.m;
int[] array2 = this.ks;
F2mFieldElement f2mFieldElement;
f2mFieldElement.m = num3;
bool flag = array2.Length != 1;
f2mFieldElement.representation = (flag ? 1 : 0);
f2mFieldElement.ks = array2;
f2mFieldElement.x = longArray3;
throw new NullReferenceException();
}
// Token: 0x06008501 RID: 34049 RVA: 0x001CEE74 File Offset: 0x001CD074
[Token(Token = "0x6008501")]
[Address(RVA = "0x21A6920", Offset = "0x21A5320", VA = "0x1821A6920", Slot = "11")]
public override ECFieldElement Divide(ECFieldElement b)
{
ECFieldElement ecfieldElement = b.Square();
BigInteger bigInteger = base.ToBigInteger();
throw new NullReferenceException();
}
// Token: 0x06008502 RID: 34050 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6008502")]
[Address(RVA = "0x518E70", Offset = "0x517870", VA = "0x180518E70", Slot = "12")]
public override ECFieldElement Negate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06008503 RID: 34051 RVA: 0x001CEE94 File Offset: 0x001CD094
[Token(Token = "0x6008503")]
[Address(RVA = "0x21A7430", Offset = "0x21A5E30", VA = "0x1821A7430", Slot = "13")]
public override ECFieldElement Square()
{
LongArray longArray = this.x;
int num = this.m;
int[] array = this.ks;
LongArray longArray2 = longArray.ModSquare(num, array);
F2mFieldElement f2mFieldElement;
f2mFieldElement.m = num;
bool flag = array.Length != 1;
f2mFieldElement.representation = (flag ? 1 : 0);
f2mFieldElement.x = longArray2;
f2mFieldElement.ks = array;
throw new NullReferenceException();
}
// Token: 0x06008504 RID: 34052 RVA: 0x001CEEF4 File Offset: 0x001CD0F4
[Token(Token = "0x6008504")]
[Address(RVA = "0x21A7100", Offset = "0x21A5B00", VA = "0x1821A7100", Slot = "21")]
public override ECFieldElement SquareMinusProduct(ECFieldElement x, ECFieldElement y)
{
/*
An exception occurred when decompiling this method (06008504)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.F2mFieldElement::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:F2mFieldElement[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: 0x06008505 RID: 34053 RVA: 0x001CEF08 File Offset: 0x001CD108
[Token(Token = "0x6008505")]
[Address(RVA = "0x21A7120", Offset = "0x21A5B20", VA = "0x1821A7120", Slot = "22")]
public override ECFieldElement SquarePlusProduct(ECFieldElement x, ECFieldElement y)
{
LongArray longArray;
do
{
longArray = this.x;
}
while (x == 0 || x == 0 || y == 0 || y == 0);
int[] array = this.ks;
int num = this.m;
LongArray longArray2 = longArray.Square(num, array);
LongArray longArray3;
if (longArray2 == longArray)
{
longArray3 = longArray2.Copy();
}
int num2 = 0;
LongArray longArray4;
longArray3.AddShiftedByWords(longArray4, num2);
int[] array2 = this.ks;
int num3 = this.m;
longArray3.Reduce(num3, array2);
int num4 = this.m;
int[] array3 = this.ks;
F2mFieldElement f2mFieldElement;
f2mFieldElement.m = num4;
bool flag = array3.Length != 1;
f2mFieldElement.representation = (flag ? 1 : 0);
f2mFieldElement.ks = array3;
f2mFieldElement.x = longArray3;
throw new NullReferenceException();
}
// Token: 0x06008506 RID: 34054 RVA: 0x001CEFD4 File Offset: 0x001CD1D4
[Token(Token = "0x6008506")]
[Address(RVA = "0x21A7360", Offset = "0x21A5D60", VA = "0x1821A7360", Slot = "23")]
public override ECFieldElement SquarePow(int pow)
{
if (pow < 1)
{
}
LongArray longArray = this.x;
int[] array = this.ks;
int num = this.m;
LongArray longArray2 = longArray.ModSquareN(pow, num, array);
F2mFieldElement f2mFieldElement;
f2mFieldElement.m = num;
bool flag = array.Length != 1;
f2mFieldElement.representation = (flag ? 1 : 0);
f2mFieldElement.ks = array;
f2mFieldElement.x = longArray2;
throw new NullReferenceException();
}
// Token: 0x06008507 RID: 34055 RVA: 0x001CF03C File Offset: 0x001CD23C
[Token(Token = "0x6008507")]
[Address(RVA = "0x21A6B90", Offset = "0x21A5590", VA = "0x1821A6B90", Slot = "14")]
public override ECFieldElement Invert()
{
LongArray longArray = this.x;
int num = this.m;
int[] array = this.ks;
LongArray longArray2 = longArray.ModInverse(num, array);
F2mFieldElement f2mFieldElement;
f2mFieldElement.m = num;
bool flag = array.Length != 1;
f2mFieldElement.representation = (flag ? 1 : 0);
f2mFieldElement.x = longArray2;
f2mFieldElement.ks = array;
throw new NullReferenceException();
}
// Token: 0x06008508 RID: 34056 RVA: 0x001CF09C File Offset: 0x001CD29C
[Token(Token = "0x6008508")]
[Address(RVA = "0x21A70A0", Offset = "0x21A5AA0", VA = "0x1821A70A0", Slot = "15")]
public override ECFieldElement Sqrt()
{
if (!this.x.IsZero() && !this.x.IsOne())
{
BigInteger bigInteger = base.ToBigInteger();
}
throw new NullReferenceException();
}
// Token: 0x1700155F RID: 5471
// (get) Token: 0x06008509 RID: 34057 RVA: 0x001CF0D4 File Offset: 0x001CD2D4
[Token(Token = "0x1700155F")]
public int Representation
{
[Token(Token = "0x6008509")]
[Address(RVA = "0x3C1C50", Offset = "0x3C0650", VA = "0x1803C1C50")]
get
{
return this.representation;
}
}
// Token: 0x17001560 RID: 5472
// (get) Token: 0x0600850A RID: 34058 RVA: 0x001CF0E8 File Offset: 0x001CD2E8
[Token(Token = "0x17001560")]
public int M
{
[Token(Token = "0x600850A")]
[Address(RVA = "0x55D550", Offset = "0x55BF50", VA = "0x18055D550")]
get
{
return this.m;
}
}
// Token: 0x17001561 RID: 5473
// (get) Token: 0x0600850B RID: 34059 RVA: 0x001CF0FC File Offset: 0x001CD2FC
[Token(Token = "0x17001561")]
public int K1
{
[Token(Token = "0x600850B")]
[Address(RVA = "0x21A7870", Offset = "0x21A6270", VA = "0x1821A7870")]
get
{
return this.ks[0];
}
}
// Token: 0x17001562 RID: 5474
// (get) Token: 0x0600850C RID: 34060 RVA: 0x001CF11C File Offset: 0x001CD31C
[Token(Token = "0x17001562")]
public int K2
{
[Token(Token = "0x600850C")]
[Address(RVA = "0x21A78B0", Offset = "0x21A62B0", VA = "0x1821A78B0")]
get
{
int[] array = this.ks;
int length = array.Length;
return array[0];
}
}
// Token: 0x17001563 RID: 5475
// (get) Token: 0x0600850D RID: 34061 RVA: 0x001CF148 File Offset: 0x001CD348
[Token(Token = "0x17001563")]
public int K3
{
[Token(Token = "0x600850D")]
[Address(RVA = "0x21A7900", Offset = "0x21A6300", VA = "0x1821A7900")]
get
{
int[] array = this.ks;
int length = array.Length;
return array[1];
}
}
// Token: 0x0600850E RID: 34062 RVA: 0x001CF174 File Offset: 0x001CD374
[Token(Token = "0x600850E")]
[Address(RVA = "0x21A6970", Offset = "0x21A5370", VA = "0x1821A6970", Slot = "0")]
public override bool Equals(object obj)
{
if (obj != this)
{
if (obj != 0 && obj != 0)
{
BigInteger bigInteger = base.ToBigInteger();
}
}
return true;
}
// Token: 0x0600850F RID: 34063 RVA: 0x001CF19C File Offset: 0x001CD39C
[Token(Token = "0x600850F")]
[Address(RVA = "0x21A6A20", Offset = "0x21A5420", VA = "0x1821A6A20", Slot = "29")]
public virtual bool Equals(F2mFieldElement other)
{
int num = other.m;
if (this.m == num)
{
int num2 = other.representation;
if (this.representation == num2)
{
int[] array = other.ks;
if (Arrays.AreEqual(this.ks, array))
{
LongArray longArray = this.x;
}
}
}
throw new NullReferenceException();
}
// Token: 0x06008510 RID: 34064 RVA: 0x001CF1F0 File Offset: 0x001CD3F0
[Token(Token = "0x6008510")]
[Address(RVA = "0x21A6AF0", Offset = "0x21A54F0", VA = "0x1821A6AF0", Slot = "2")]
public override int GetHashCode()
{
this.x.Finalize();
return Arrays.GetHashCode(this.ks);
}
// Token: 0x04005C45 RID: 23621
[Token(Token = "0x4005C45")]
public const int Gnb = 1;
// Token: 0x04005C46 RID: 23622
[Token(Token = "0x4005C46")]
public const int Tpb = 2;
// Token: 0x04005C47 RID: 23623
[Token(Token = "0x4005C47")]
public const int Ppb = 3;
// Token: 0x04005C48 RID: 23624
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x4005C48")]
private int representation;
// Token: 0x04005C49 RID: 23625
[global::Cpp2IlInjected.FieldOffset(Offset = "0x14")]
[Token(Token = "0x4005C49")]
private int m;
// Token: 0x04005C4A RID: 23626
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4005C4A")]
private int[] ks;
// Token: 0x04005C4B RID: 23627
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x4005C4B")]
internal LongArray x;
}
}