1873 lines
43 KiB
C#
1873 lines
43 KiB
C#
using System;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw
|
|
{
|
|
// Token: 0x020019DF RID: 6623
|
|
[Token(Token = "0x20019DF")]
|
|
internal abstract class Nat256
|
|
{
|
|
// Token: 0x06009FA3 RID: 40867 RVA: 0x0021FA08 File Offset: 0x0021DC08
|
|
[Token(Token = "0x6009FA3")]
|
|
[Address(RVA = "0x28BDC30", Offset = "0x28BCA30", VA = "0x1828BDC30")]
|
|
public static uint Add(uint[] x, uint[] y, uint[] z)
|
|
{
|
|
uint num = y[0];
|
|
uint num2 = x[0];
|
|
num += num2;
|
|
z[0] = num;
|
|
uint num3 = y[0];
|
|
uint num4 = x[0];
|
|
num3 += num;
|
|
num3 += num4;
|
|
z[0] = num3;
|
|
uint num5 = y[1];
|
|
uint num6 = x[1];
|
|
num5 += num3;
|
|
num5 += num6;
|
|
z[1] = num5;
|
|
uint num7 = y[1];
|
|
uint num8 = x[1];
|
|
num7 += num5;
|
|
num7 += num8;
|
|
z[1] = num7;
|
|
uint num9 = y[2];
|
|
uint num10 = x[2];
|
|
num9 += num7;
|
|
num9 += num10;
|
|
z[2] = num9;
|
|
uint num11 = y[2];
|
|
uint num12 = x[2];
|
|
num11 += num9;
|
|
num11 += num12;
|
|
z[2] = num11;
|
|
uint num13 = y[3];
|
|
uint num14 = x[3];
|
|
num13 += num11;
|
|
num13 += num14;
|
|
z[3] = num13;
|
|
uint num15 = x[3];
|
|
uint num16 = y[3];
|
|
num16 += num13;
|
|
num16 += num15;
|
|
z[3] = num16;
|
|
return num16;
|
|
}
|
|
|
|
// Token: 0x06009FA4 RID: 40868 RVA: 0x0021FB54 File Offset: 0x0021DD54
|
|
[Token(Token = "0x6009FA4")]
|
|
[Address(RVA = "0x28BD860", Offset = "0x28BC660", VA = "0x1828BD860")]
|
|
public static uint Add(uint[] x, int xOff, uint[] y, int yOff, uint[] z, int zOff)
|
|
{
|
|
uint num = y[yOff];
|
|
uint num2 = x[yOff];
|
|
num += num2;
|
|
int num3 = yOff + 1;
|
|
uint num4 = x[num3];
|
|
int num5 = yOff + 1;
|
|
uint num6 = y[num5];
|
|
num6 += num;
|
|
num6 += num4;
|
|
uint num7 = x[num5];
|
|
uint num8 = y[num5];
|
|
num8 += num6;
|
|
num8 += num7;
|
|
uint num9 = x[num5];
|
|
uint num10 = y[num5];
|
|
num10 += num8;
|
|
num10 += num9;
|
|
uint num11 = x[num5];
|
|
uint num12 = y[num5];
|
|
num12 += num10;
|
|
num12 += num11;
|
|
uint num13 = x[num5];
|
|
uint num14 = y[num5];
|
|
num14 += num12;
|
|
num14 += num13;
|
|
uint num15 = x[num5];
|
|
uint num16 = y[num5];
|
|
num16 += num14;
|
|
num16 += num15;
|
|
uint num17 = x[yOff];
|
|
uint num18 = y[yOff];
|
|
num18 += num16;
|
|
return num18 + num17;
|
|
}
|
|
|
|
// Token: 0x06009FA5 RID: 40869 RVA: 0x0021FC74 File Offset: 0x0021DE74
|
|
[Token(Token = "0x6009FA5")]
|
|
[Address(RVA = "0x28BC7A0", Offset = "0x28BB5A0", VA = "0x1828BC7A0")]
|
|
public static uint AddBothTo(uint[] x, uint[] y, uint[] z)
|
|
{
|
|
uint num = y[0];
|
|
uint num2 = z[0];
|
|
num2 += num;
|
|
uint num3 = x[0];
|
|
num2 += num3;
|
|
z[0] = num2;
|
|
uint num4 = y[0];
|
|
num2 += num4;
|
|
uint num5 = x[0];
|
|
num2 += num5;
|
|
uint num6 = z[0];
|
|
num2 += num6;
|
|
z[0] = num2;
|
|
uint num7 = z[1];
|
|
num2 += num7;
|
|
uint num8 = y[1];
|
|
num2 += num8;
|
|
uint num9 = x[1];
|
|
num2 += num9;
|
|
z[1] = num2;
|
|
uint num10 = y[1];
|
|
num2 += num10;
|
|
uint num11 = x[1];
|
|
num2 += num11;
|
|
uint num12 = z[1];
|
|
num2 += num12;
|
|
z[1] = num2;
|
|
uint num13 = z[2];
|
|
num2 += num13;
|
|
uint num14 = y[2];
|
|
num2 += num14;
|
|
uint num15 = x[2];
|
|
num2 += num15;
|
|
z[2] = num2;
|
|
uint num16 = z[2];
|
|
num2 += num16;
|
|
uint num17 = y[2];
|
|
num2 += num17;
|
|
uint num18 = x[2];
|
|
num2 += num18;
|
|
z[2] = num2;
|
|
uint num19 = z[3];
|
|
num2 += num19;
|
|
uint num20 = y[3];
|
|
num2 += num20;
|
|
uint num21 = x[3];
|
|
num2 += num21;
|
|
z[3] = num2;
|
|
uint num22 = x[3];
|
|
uint num23 = y[3];
|
|
uint num24 = z[3];
|
|
num2 += num23;
|
|
num2 += num22;
|
|
num2 += num24;
|
|
z[3] = num2;
|
|
return num2;
|
|
}
|
|
|
|
// Token: 0x06009FA6 RID: 40870 RVA: 0x0021FE10 File Offset: 0x0021E010
|
|
[Token(Token = "0x6009FA6")]
|
|
[Address(RVA = "0x28BCB30", Offset = "0x28BB930", VA = "0x1828BCB30")]
|
|
public static uint AddBothTo(uint[] x, int xOff, uint[] y, int yOff, uint[] z, int zOff)
|
|
{
|
|
uint num = y[yOff];
|
|
uint num2 = x[xOff];
|
|
int num3 = xOff + 1;
|
|
uint num4 = x[num3];
|
|
int num5 = yOff + 1;
|
|
uint num6 = y[num5];
|
|
uint num7 = x[(int)num6];
|
|
uint num8 = y[(int)num6];
|
|
uint num9 = x[(int)num8];
|
|
uint num10 = y[(int)num8];
|
|
uint num11 = x[(int)num10];
|
|
uint num12 = y[(int)num10];
|
|
uint num13 = x[(int)num12];
|
|
uint num14 = y[(int)num12];
|
|
uint num15 = x[(int)num14];
|
|
uint num16 = y[(int)num14];
|
|
uint num17 = x[xOff];
|
|
uint num18 = y[yOff];
|
|
num16 += num18;
|
|
return num16 + num17;
|
|
}
|
|
|
|
// Token: 0x06009FA7 RID: 40871 RVA: 0x0021FED4 File Offset: 0x0021E0D4
|
|
[Token(Token = "0x6009FA7")]
|
|
[Address(RVA = "0x28BD310", Offset = "0x28BC110", VA = "0x1828BD310")]
|
|
public static uint AddTo(uint[] x, uint[] z)
|
|
{
|
|
uint num = z[0];
|
|
uint num2 = x[0];
|
|
num += num2;
|
|
z[0] = num;
|
|
uint num3 = z[0];
|
|
num += num3;
|
|
uint num4 = x[0];
|
|
num += num4;
|
|
z[0] = num;
|
|
uint num5 = x[1];
|
|
num += num5;
|
|
uint num6 = z[1];
|
|
num += num6;
|
|
z[1] = num;
|
|
uint num7 = z[1];
|
|
num += num7;
|
|
uint num8 = x[1];
|
|
num += num8;
|
|
z[1] = num;
|
|
uint num9 = z[2];
|
|
num += num9;
|
|
uint num10 = x[2];
|
|
num += num10;
|
|
z[2] = num;
|
|
uint num11 = z[2];
|
|
num += num11;
|
|
uint num12 = x[2];
|
|
num += num12;
|
|
z[2] = num;
|
|
uint num13 = x[3];
|
|
num += num13;
|
|
uint num14 = z[3];
|
|
num += num14;
|
|
z[3] = num;
|
|
uint num15 = x[3];
|
|
uint num16 = z[3];
|
|
num += num16;
|
|
num += num15;
|
|
z[3] = num;
|
|
return num;
|
|
}
|
|
|
|
// Token: 0x06009FA8 RID: 40872 RVA: 0x00220000 File Offset: 0x0021E200
|
|
[Token(Token = "0x6009FA8")]
|
|
[Address(RVA = "0x28BD590", Offset = "0x28BC390", VA = "0x1828BD590")]
|
|
public static uint AddTo(uint[] x, int xOff, uint[] z, int zOff, uint cIn)
|
|
{
|
|
uint num = x[xOff];
|
|
uint num2 = z[xOff];
|
|
num += num2;
|
|
int num3 = xOff + 1;
|
|
z[0] = num;
|
|
uint num4 = x[num3];
|
|
int num5 = xOff + 1;
|
|
uint num6 = z[num5];
|
|
num6 += num;
|
|
num6 += num4;
|
|
z[0] = num6;
|
|
uint num7 = x[(int)num4];
|
|
uint num8 = z[num5];
|
|
num8 += num6;
|
|
num8 += num7;
|
|
z[0] = num8;
|
|
uint num9 = x[(int)num7];
|
|
uint num10 = z[num5];
|
|
num10 += num8;
|
|
num10 += num9;
|
|
z[0] = num10;
|
|
uint num11 = x[(int)num9];
|
|
uint num12 = z[num5];
|
|
num12 += num10;
|
|
num12 += num11;
|
|
z[0] = num12;
|
|
uint num13 = x[(int)num11];
|
|
uint num14 = z[num5];
|
|
num14 += num12;
|
|
num14 += num13;
|
|
z[0] = num14;
|
|
uint num15 = x[(int)num13];
|
|
uint num16 = z[num5];
|
|
num16 += num14;
|
|
num16 += num15;
|
|
z[0] = num16;
|
|
uint num17 = x[xOff];
|
|
uint num18 = z[xOff];
|
|
num18 += num16;
|
|
num18 += num17;
|
|
z[0] = num18;
|
|
return num18;
|
|
}
|
|
|
|
// Token: 0x06009FA9 RID: 40873 RVA: 0x00220160 File Offset: 0x0021E360
|
|
[Token(Token = "0x6009FA9")]
|
|
[Address(RVA = "0x28BCF40", Offset = "0x28BBD40", VA = "0x1828BCF40")]
|
|
public static uint AddToEachOther(uint[] u, int uOff, uint[] v, int vOff)
|
|
{
|
|
uint num = v[vOff];
|
|
uint num2 = u[uOff];
|
|
num += num2;
|
|
u[0] = num;
|
|
int num3 = uOff + 1;
|
|
v[0] = num;
|
|
int num4 = vOff + 1;
|
|
uint num5 = v[num4];
|
|
uint num6 = u[num3];
|
|
num5 += num;
|
|
num5 += num6;
|
|
u[0] = num5;
|
|
v[0] = num5;
|
|
uint num7 = v[num4];
|
|
uint num8 = u[num3];
|
|
num7 += num5;
|
|
num7 += num8;
|
|
u[0] = num7;
|
|
v[0] = num7;
|
|
uint num9 = v[num4];
|
|
uint num10 = u[num3];
|
|
num9 += num7;
|
|
num9 += num10;
|
|
u[0] = num9;
|
|
v[0] = num9;
|
|
uint num11 = v[num4];
|
|
uint num12 = u[num3];
|
|
num11 += num9;
|
|
num11 += num12;
|
|
u[0] = num11;
|
|
v[0] = num11;
|
|
uint num13 = v[num4];
|
|
uint num14 = u[num3];
|
|
num13 += num11;
|
|
num13 += num14;
|
|
u[0] = num13;
|
|
v[0] = num13;
|
|
uint num15 = v[num4];
|
|
uint num16 = u[num3];
|
|
num15 += num13;
|
|
num15 += num16;
|
|
u[0] = num15;
|
|
v[0] = num15;
|
|
uint num17 = v[uOff];
|
|
uint num18 = u[(int)num13];
|
|
num17 += num15;
|
|
num17 += num18;
|
|
u[0] = num17;
|
|
v[0] = num17;
|
|
return num17;
|
|
}
|
|
|
|
// Token: 0x06009FAA RID: 40874 RVA: 0x00220304 File Offset: 0x0021E504
|
|
[Token(Token = "0x6009FAA")]
|
|
[Address(RVA = "0x28BE1B0", Offset = "0x28BCFB0", VA = "0x1828BE1B0")]
|
|
public static void Copy(uint[] x, uint[] z)
|
|
{
|
|
uint num = x[0];
|
|
z[0] = num;
|
|
uint num2 = x[0];
|
|
z[0] = num2;
|
|
uint num3 = x[1];
|
|
z[1] = num3;
|
|
uint num4 = x[1];
|
|
z[1] = num4;
|
|
uint num5 = x[2];
|
|
z[2] = num5;
|
|
uint num6 = x[2];
|
|
z[2] = num6;
|
|
uint num7 = x[3];
|
|
z[3] = num7;
|
|
uint num8 = x[3];
|
|
z[3] = num8;
|
|
}
|
|
|
|
// Token: 0x06009FAB RID: 40875 RVA: 0x002203A0 File Offset: 0x0021E5A0
|
|
[Token(Token = "0x6009FAB")]
|
|
[Address(RVA = "0x28BE3B0", Offset = "0x28BD1B0", VA = "0x1828BE3B0")]
|
|
public static void Copy(uint[] x, int xOff, uint[] z, int zOff)
|
|
{
|
|
uint num = x[xOff];
|
|
int num2 = xOff + 1;
|
|
z[0] = num;
|
|
uint num3 = x[num2];
|
|
int num4 = xOff + 1;
|
|
z[0] = num3;
|
|
uint num5 = x[num4];
|
|
z[0] = num5;
|
|
uint num6 = x[num4];
|
|
z[0] = num6;
|
|
uint num7 = x[num4];
|
|
z[0] = num7;
|
|
uint num8 = x[num4];
|
|
z[0] = num8;
|
|
uint num9 = x[num4];
|
|
z[0] = num9;
|
|
uint num10 = x[xOff];
|
|
z[0] = num10;
|
|
}
|
|
|
|
// Token: 0x06009FAC RID: 40876 RVA: 0x00220448 File Offset: 0x0021E648
|
|
[Token(Token = "0x6009FAC")]
|
|
[Address(RVA = "0x28BE0C0", Offset = "0x28BCEC0", VA = "0x1828BE0C0")]
|
|
public static void Copy64(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: 0x06009FAD RID: 40877 RVA: 0x0022049C File Offset: 0x0021E69C
|
|
[Token(Token = "0x6009FAD")]
|
|
[Address(RVA = "0x28BDF80", Offset = "0x28BCD80", VA = "0x1828BDF80")]
|
|
public static void Copy64(ulong[] x, int xOff, ulong[] z, int zOff)
|
|
{
|
|
ulong num = x[xOff];
|
|
int num2 = xOff + 1;
|
|
z[0] = num;
|
|
ulong num3 = x[num2];
|
|
int num4 = xOff + 1;
|
|
z[0] = num3;
|
|
ulong num5 = x[num4];
|
|
z[0] = num5;
|
|
ulong num6 = x[num4];
|
|
z[0] = num6;
|
|
}
|
|
|
|
// Token: 0x06009FAE RID: 40878 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x6009FAE")]
|
|
[Address(RVA = "0x28BE6C0", Offset = "0x28BD4C0", VA = "0x1828BE6C0")]
|
|
public static uint[] Create()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06009FAF RID: 40879 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x6009FAF")]
|
|
[Address(RVA = "0x28BE600", Offset = "0x28BD400", VA = "0x1828BE600")]
|
|
public static ulong[] Create64()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06009FB0 RID: 40880 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x6009FB0")]
|
|
[Address(RVA = "0x28BE680", Offset = "0x28BD480", VA = "0x1828BE680")]
|
|
public static uint[] CreateExt()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06009FB1 RID: 40881 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x6009FB1")]
|
|
[Address(RVA = "0x28BE640", Offset = "0x28BD440", VA = "0x1828BE640")]
|
|
public static ulong[] CreateExt64()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06009FB2 RID: 40882 RVA: 0x002204FC File Offset: 0x0021E6FC
|
|
[Token(Token = "0x6009FB2")]
|
|
[Address(RVA = "0x28BE700", Offset = "0x28BD500", VA = "0x1828BE700")]
|
|
public static bool Diff(uint[] x, int xOff, uint[] y, int yOff, uint[] z, int zOff)
|
|
{
|
|
uint num;
|
|
if ("{il2cpp array field x->}" <= num)
|
|
{
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009FB3 RID: 40883 RVA: 0x0022051C File Offset: 0x0021E71C
|
|
[Token(Token = "0x6009FB3")]
|
|
[Address(RVA = "0x28BE870", Offset = "0x28BD670", VA = "0x1828BE870")]
|
|
public static bool Eq(uint[] x, uint[] y)
|
|
{
|
|
uint num2;
|
|
uint num = y[(int)num2];
|
|
if ("{il2cpp array field x->}" == num)
|
|
{
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009FB4 RID: 40884 RVA: 0x00220540 File Offset: 0x0021E740
|
|
[Token(Token = "0x6009FB4")]
|
|
[Address(RVA = "0x28BE800", Offset = "0x28BD600", VA = "0x1828BE800")]
|
|
public static bool Eq64(ulong[] x, ulong[] y)
|
|
{
|
|
uint num2;
|
|
ulong num = y[(int)num2];
|
|
if ("{il2cpp array field x->}" == num)
|
|
{
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009FB5 RID: 40885 RVA: 0x00220564 File Offset: 0x0021E764
|
|
[Token(Token = "0x6009FB5")]
|
|
[Address(RVA = "0x28BEA10", Offset = "0x28BD810", VA = "0x1828BEA10")]
|
|
public static uint[] FromBigInteger(BigInteger x)
|
|
{
|
|
int bitLength = x.BitLength;
|
|
uint[] array = new uint[8];
|
|
int num = 0;
|
|
if (x.sign != 0)
|
|
{
|
|
num++;
|
|
int intValue = x.IntValue;
|
|
array[0] = (uint)intValue;
|
|
BigInteger bigInteger = x.ShiftRight(32);
|
|
}
|
|
return array;
|
|
}
|
|
|
|
// Token: 0x06009FB6 RID: 40886 RVA: 0x002205B0 File Offset: 0x0021E7B0
|
|
[Token(Token = "0x6009FB6")]
|
|
[Address(RVA = "0x28BE8E0", Offset = "0x28BD6E0", VA = "0x1828BE8E0")]
|
|
public static ulong[] FromBigInteger64(BigInteger x)
|
|
{
|
|
int bitLength = x.BitLength;
|
|
ulong[] array = new ulong[4];
|
|
int num = 0;
|
|
if (x.sign != 0)
|
|
{
|
|
num++;
|
|
long longValue = x.LongValue;
|
|
array[0] = (ulong)longValue;
|
|
BigInteger bigInteger = x.ShiftRight(64);
|
|
}
|
|
return array;
|
|
}
|
|
|
|
// Token: 0x06009FB7 RID: 40887 RVA: 0x002205FC File Offset: 0x0021E7FC
|
|
[Token(Token = "0x6009FB7")]
|
|
[Address(RVA = "0x28BEB40", Offset = "0x28BD940", VA = "0x1828BEB40")]
|
|
public static uint GetBit(uint[] x, int bit)
|
|
{
|
|
if (bit != 0)
|
|
{
|
|
if (bit == 0)
|
|
{
|
|
return x[bit];
|
|
}
|
|
}
|
|
return x[0];
|
|
}
|
|
|
|
// Token: 0x06009FB8 RID: 40888 RVA: 0x00220628 File Offset: 0x0021E828
|
|
[Token(Token = "0x6009FB8")]
|
|
[Address(RVA = "0x28BEBC0", Offset = "0x28BD9C0", VA = "0x1828BEBC0")]
|
|
public static bool Gte(uint[] x, uint[] y)
|
|
{
|
|
uint num2;
|
|
uint num = y[(int)num2];
|
|
if (x[(int)num2] <= num)
|
|
{
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009FB9 RID: 40889 RVA: 0x00220650 File Offset: 0x0021E850
|
|
[Token(Token = "0x6009FB9")]
|
|
[Address(RVA = "0x28BEC40", Offset = "0x28BDA40", VA = "0x1828BEC40")]
|
|
public static bool Gte(uint[] x, int xOff, uint[] y, int yOff)
|
|
{
|
|
uint num = y[x];
|
|
if ("{il2cpp array field x->}" <= num)
|
|
{
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009FBA RID: 40890 RVA: 0x00220674 File Offset: 0x0021E874
|
|
[Token(Token = "0x6009FBA")]
|
|
[Address(RVA = "0x28BED30", Offset = "0x28BDB30", VA = "0x1828BED30")]
|
|
public static bool IsOne(uint[] x)
|
|
{
|
|
int length = x.Length;
|
|
if ("{il2cpp array field x->}" == (ulong)1L && "{il2cpp array field x->}" == (ulong)0L)
|
|
{
|
|
return true;
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009FBB RID: 40891 RVA: 0x002206A8 File Offset: 0x0021E8A8
|
|
[Token(Token = "0x6009FBB")]
|
|
[Address(RVA = "0x28BECC0", Offset = "0x28BDAC0", VA = "0x1828BECC0")]
|
|
public static bool IsOne64(ulong[] x)
|
|
{
|
|
int length = x.Length;
|
|
if ("{il2cpp array field x->}" == (ulong)1L && "{il2cpp array field x->}" == (ulong)0L)
|
|
{
|
|
return true;
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009FBC RID: 40892 RVA: 0x002206DC File Offset: 0x0021E8DC
|
|
[Token(Token = "0x6009FBC")]
|
|
[Address(RVA = "0x28BEDF0", Offset = "0x28BDBF0", VA = "0x1828BEDF0")]
|
|
public static bool IsZero(uint[] x)
|
|
{
|
|
int num = 0;
|
|
if ("{il2cpp array field x->}" == (ulong)0L)
|
|
{
|
|
num++;
|
|
return true;
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009FBD RID: 40893 RVA: 0x00220704 File Offset: 0x0021E904
|
|
[Token(Token = "0x6009FBD")]
|
|
[Address(RVA = "0x28BEDA0", Offset = "0x28BDBA0", VA = "0x1828BEDA0")]
|
|
public static bool IsZero64(ulong[] x)
|
|
{
|
|
int num = 0;
|
|
if ("{il2cpp array field x->}" == (ulong)0L)
|
|
{
|
|
num++;
|
|
return true;
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009FBE RID: 40894 RVA: 0x0022072C File Offset: 0x0021E92C
|
|
[Token(Token = "0x6009FBE")]
|
|
[Address(RVA = "0x28C0A50", Offset = "0x28BF850", VA = "0x1828C0A50")]
|
|
public static void Mul(uint[] x, uint[] y, uint[] zz)
|
|
{
|
|
int length = y.Length;
|
|
uint num = y[0];
|
|
uint num2 = y[0];
|
|
uint num3 = y[1];
|
|
uint num4 = y[1];
|
|
uint num5 = y[2];
|
|
uint num6 = y[2];
|
|
uint num7 = y[3];
|
|
uint num8 = y[3];
|
|
uint num9 = x[0];
|
|
uint num10 = num9 * num;
|
|
zz[0] = num10;
|
|
uint num11 = num9 * num2;
|
|
num11 += num10;
|
|
zz[0] = num11;
|
|
num10 = num9;
|
|
uint num12 = num10 * num3;
|
|
num12 += num11;
|
|
zz[1] = num12;
|
|
num11 = num9;
|
|
uint num13 = num11 * num4;
|
|
num13 += num12;
|
|
zz[1] = num13;
|
|
num12 = num9;
|
|
uint num14 = num12 * num5;
|
|
num14 += num13;
|
|
zz[2] = num14;
|
|
num13 = num9;
|
|
uint num15 = num13 * num6;
|
|
num15 += num14;
|
|
zz[2] = num15;
|
|
num14 = num9;
|
|
uint num16 = num14 * num7;
|
|
num16 += num15;
|
|
uint num17 = num9 * num8;
|
|
zz[3] = num16;
|
|
num17 += num16;
|
|
zz[3] = num17;
|
|
zz[4] = num17;
|
|
uint num19;
|
|
uint num18 = x[(int)num19];
|
|
uint num20 = num19 + 1U;
|
|
num3 = num18;
|
|
uint num21 = num3 * num;
|
|
num21 += num17;
|
|
zz.m_value = num21;
|
|
uint num22 = zz[(int)num20];
|
|
num17 = num18;
|
|
uint num23 = num17 * num2;
|
|
num22 += num23;
|
|
num22 += num21;
|
|
zz[0] = num22;
|
|
uint num24 = zz[(int)num20];
|
|
num23 = num18;
|
|
num24 += num23;
|
|
num24 += num22;
|
|
zz[0] = num24;
|
|
uint num25 = zz[(int)num20];
|
|
num23 = num18;
|
|
num25 += num23;
|
|
num25 += num24;
|
|
zz[0] = num25;
|
|
uint num26 = zz[(int)num20];
|
|
num23 = num18;
|
|
num26 += num23;
|
|
num26 += num25;
|
|
zz[0] = num26;
|
|
uint num27 = zz[(int)num20];
|
|
num23 = num18;
|
|
uint num28 = num23 * num6;
|
|
num27 += num28;
|
|
num27 += num26;
|
|
zz[0] = num27;
|
|
uint num29 = zz[(int)num20];
|
|
num28 = num18;
|
|
uint num30 = num28 * num7;
|
|
num19 += (uint)7;
|
|
num29 += num30;
|
|
num29 += num27;
|
|
zz[0] = num29;
|
|
uint num31 = zz[(int)num19];
|
|
uint num32 = num18 * num8;
|
|
num31 += num32;
|
|
num31 += num29;
|
|
zz[0] = num31;
|
|
num19 += (uint)1;
|
|
zz[0] = num31;
|
|
}
|
|
|
|
// Token: 0x06009FBF RID: 40895 RVA: 0x002209B8 File Offset: 0x0021EBB8
|
|
[Token(Token = "0x6009FBF")]
|
|
[Address(RVA = "0x28C04C0", Offset = "0x28BF2C0", VA = "0x1828C04C0")]
|
|
public static void Mul(uint[] x, int xOff, uint[] y, int yOff, uint[] zz, int zzOff)
|
|
{
|
|
int length = y.Length;
|
|
uint num = y[yOff];
|
|
int num2 = yOff + 1;
|
|
uint num3 = y[num2];
|
|
uint num4 = y[num2];
|
|
uint num5 = y[(int)num4];
|
|
uint num6 = y[(int)num5];
|
|
uint num7 = y[(int)num5];
|
|
uint num8 = y[(int)num5];
|
|
uint num9 = y[yOff];
|
|
uint num10 = x[xOff];
|
|
uint num11 = num10 * num;
|
|
uint num12 = num10 * num3;
|
|
num12 += num11;
|
|
num11 = num10;
|
|
num11 += num12;
|
|
num12 = num10;
|
|
num12 += num11;
|
|
num11 = num10;
|
|
uint num13 = num11 * num6;
|
|
num13 += num12;
|
|
num12 = num10;
|
|
uint num14 = num12 * num7;
|
|
num14 += num13;
|
|
num13 = num10;
|
|
uint num15 = num13 * num8;
|
|
num15 += num14;
|
|
uint num16 = num10 * num9;
|
|
num16 += num15;
|
|
int num17 = xOff + 1;
|
|
uint num18 = x[num17];
|
|
num14 = num18;
|
|
uint num19 = num14 * num;
|
|
num19 += (uint)num17;
|
|
num19 += num18;
|
|
num19 += num18;
|
|
uint num20 = num18 * num7;
|
|
num20 = num18;
|
|
uint num21 = num20 * num8;
|
|
num19 += num21;
|
|
uint num22 = num18 * num9;
|
|
num21 += num22;
|
|
num21 += num19;
|
|
num17++;
|
|
num17 -= xOff;
|
|
}
|
|
|
|
// Token: 0x06009FC0 RID: 40896 RVA: 0x00220B00 File Offset: 0x0021ED00
|
|
[Token(Token = "0x6009FC0")]
|
|
[Address(RVA = "0x28BF8A0", Offset = "0x28BE6A0", VA = "0x1828BF8A0")]
|
|
public static uint MulAddTo(uint[] x, uint[] y, uint[] zz)
|
|
{
|
|
int length = y.Length;
|
|
uint num = y[0];
|
|
uint num2 = y[0];
|
|
uint num3 = y[1];
|
|
uint num4 = y[1];
|
|
uint num5 = y[2];
|
|
uint num6 = y[2];
|
|
uint num7 = y[3];
|
|
uint num8 = y[3];
|
|
int num9 = 0;
|
|
uint num10 = x[num9];
|
|
uint num11 = num10 * num;
|
|
num11 += (uint)length;
|
|
zz.m_value = num11;
|
|
uint num12;
|
|
num12 += num10;
|
|
num12 += num11;
|
|
zz[0] = num12;
|
|
uint num13;
|
|
num13 += num10;
|
|
num13 += num12;
|
|
zz[0] = num13;
|
|
uint num14;
|
|
num14 += num10;
|
|
num14 += num13;
|
|
zz[0] = num14;
|
|
uint num15;
|
|
num15 += num10;
|
|
num15 += num14;
|
|
zz[0] = num15;
|
|
uint num16 = num10 * num6;
|
|
uint num17;
|
|
num17 += num16;
|
|
num17 += num15;
|
|
zz[0] = num17;
|
|
num16 = num10;
|
|
uint num18 = num16 * num7;
|
|
uint num19;
|
|
num19 += num18;
|
|
num19 += num17;
|
|
zz[0] = num19;
|
|
uint num20 = num10 * num8;
|
|
uint num21;
|
|
num21 += num20;
|
|
num21 += num19;
|
|
zz[0] = num21;
|
|
num9++;
|
|
uint num22;
|
|
num9 += (int)num22;
|
|
num9 += (int)num21;
|
|
zz[0] = (uint)num9;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009FC1 RID: 40897 RVA: 0x00220C58 File Offset: 0x0021EE58
|
|
[Token(Token = "0x6009FC1")]
|
|
[Address(RVA = "0x28BF4C0", Offset = "0x28BE2C0", VA = "0x1828BF4C0")]
|
|
public static uint MulAddTo(uint[] x, int xOff, uint[] y, int yOff, uint[] zz, int zzOff)
|
|
{
|
|
int length = y.Length;
|
|
uint num = y[yOff];
|
|
int num2 = yOff + 1;
|
|
uint num3 = y[num2];
|
|
uint num4 = y[(int)num3];
|
|
uint num5 = y[(int)num4];
|
|
uint num6 = y[(int)num5];
|
|
uint num7 = y[(int)num6];
|
|
uint num8 = y[(int)num7];
|
|
int num9 = 0;
|
|
uint num10 = y[yOff];
|
|
uint num11 = x[length];
|
|
uint num12 = num11 * num;
|
|
num12 += (uint)length;
|
|
num12 += num11;
|
|
num12 += num11;
|
|
num12 += num11;
|
|
uint num13 = num11 * num10;
|
|
num9 += (int)num11;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009FC2 RID: 40898 RVA: 0x00220CFC File Offset: 0x0021EEFC
|
|
[Token(Token = "0x6009FC2")]
|
|
[Address(RVA = "0x28BEE40", Offset = "0x28BDC40", VA = "0x1828BEE40")]
|
|
public static ulong Mul33Add(uint w, uint[] x, int xOff, uint[] y, int yOff, uint[] z, int zOff)
|
|
{
|
|
uint num = x[xOff];
|
|
uint num2 = num * w;
|
|
uint num3;
|
|
num3 += num2;
|
|
int num4 = xOff + 1;
|
|
uint num5 = x[num4];
|
|
uint num6 = y[num4];
|
|
uint num7 = w * w;
|
|
num7 += num;
|
|
num7 += num6;
|
|
num3 += num7;
|
|
uint num8 = x[(int)num6];
|
|
uint num9 = y[(int)num6];
|
|
num7 = num8;
|
|
uint num10 = num7 * w;
|
|
num10 += num5;
|
|
num10 += num9;
|
|
num3 += num10;
|
|
uint num11 = x[(int)num9];
|
|
uint num12 = y[(int)num9];
|
|
num10 = num11;
|
|
uint num13 = num10 * w;
|
|
num13 += num8;
|
|
num13 += num12;
|
|
num3 += num13;
|
|
uint num14 = x[(int)num12];
|
|
uint num15 = y[(int)num12];
|
|
num13 = num14;
|
|
uint num16 = num13 * w;
|
|
num16 += num11;
|
|
num16 += num15;
|
|
num3 += num16;
|
|
uint num17 = x[(int)num15];
|
|
uint num18 = y[(int)num15];
|
|
num16 = num17;
|
|
uint num19 = num16 * w;
|
|
num19 += num14;
|
|
num19 += num18;
|
|
num3 += num19;
|
|
uint num20 = x[(int)num18];
|
|
uint num21 = y[(int)num18];
|
|
num19 = num20;
|
|
uint num22 = num19 * w;
|
|
num22 += num17;
|
|
num22 += num21;
|
|
num3 += num22;
|
|
uint num23 = num22 * w;
|
|
num23 += num20;
|
|
uint num24;
|
|
num23 += num24;
|
|
num3 += num23;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009FC3 RID: 40899 RVA: 0x00220E5C File Offset: 0x0021F05C
|
|
[Token(Token = "0x6009FC3")]
|
|
[Address(RVA = "0x28BFEC0", Offset = "0x28BECC0", VA = "0x1828BFEC0")]
|
|
public static uint MulByWord(uint x, uint[] z)
|
|
{
|
|
uint num = z[0] * x;
|
|
z[0] = num;
|
|
uint num2 = z[0] * x;
|
|
num2 += num;
|
|
z[0] = num2;
|
|
uint num3 = z[1] * x;
|
|
num3 += num2;
|
|
z[1] = num3;
|
|
uint num4 = z[1] * x;
|
|
num4 += num3;
|
|
z[1] = num4;
|
|
uint num5 = z[2] * x;
|
|
num5 += num4;
|
|
z[2] = num5;
|
|
uint num6 = z[2] * x;
|
|
num6 += num5;
|
|
z[2] = num6;
|
|
uint num7 = z[3] * x;
|
|
num7 += num6;
|
|
z[3] = num7;
|
|
uint num8 = z[3] * x;
|
|
num8 += num7;
|
|
z[3] = num8;
|
|
return num8;
|
|
}
|
|
|
|
// Token: 0x06009FC4 RID: 40900 RVA: 0x00220F30 File Offset: 0x0021F130
|
|
[Token(Token = "0x6009FC4")]
|
|
[Address(RVA = "0x28BFC20", Offset = "0x28BEA20", VA = "0x1828BFC20")]
|
|
public static uint MulByWordAddTo(uint x, uint[] y, uint[] z)
|
|
{
|
|
uint num = z[0];
|
|
uint num2 = y[0];
|
|
uint num3 = num * x;
|
|
num3 += num2;
|
|
z[0] = num3;
|
|
uint num4 = z[0];
|
|
uint num5 = y[0];
|
|
uint num6 = num4 * x;
|
|
num6 += num5;
|
|
num6 += num3;
|
|
z[0] = num6;
|
|
uint num7 = z[1];
|
|
uint num8 = y[1];
|
|
uint num9 = num7 * x;
|
|
num9 += num8;
|
|
num9 += num6;
|
|
z[1] = num9;
|
|
uint num10 = z[1];
|
|
uint num11 = y[1];
|
|
uint num12 = num10 * x;
|
|
num12 += num11;
|
|
num12 += num9;
|
|
z[1] = num12;
|
|
uint num13 = z[2];
|
|
uint num14 = y[2];
|
|
uint num15 = num13 * x;
|
|
num15 += num14;
|
|
num15 += num12;
|
|
z[2] = num15;
|
|
uint num16 = z[2];
|
|
uint num17 = y[2];
|
|
uint num18 = num16 * x;
|
|
num18 += num17;
|
|
num18 += num15;
|
|
z[2] = num18;
|
|
uint num19 = z[3];
|
|
uint num20 = y[3];
|
|
uint num21 = num19 * x;
|
|
num21 += num20;
|
|
num21 += num18;
|
|
z[3] = num21;
|
|
uint num22 = z[3];
|
|
uint num23 = y[3];
|
|
uint num24 = num22 * x;
|
|
num24 += num23;
|
|
num24 += num21;
|
|
z[3] = num24;
|
|
return num24;
|
|
}
|
|
|
|
// Token: 0x06009FC5 RID: 40901 RVA: 0x002210AC File Offset: 0x0021F2AC
|
|
[Token(Token = "0x6009FC5")]
|
|
[Address(RVA = "0x28C0040", Offset = "0x28BEE40", VA = "0x1828C0040")]
|
|
public static uint MulWordAddTo(uint x, uint[] y, int yOff, uint[] z, int zOff)
|
|
{
|
|
uint num = y[yOff] * x;
|
|
uint num2;
|
|
num += num2;
|
|
int num3 = yOff + 1;
|
|
z[0] = num;
|
|
uint num4 = y[num3] * x;
|
|
uint num5;
|
|
num5 += num4;
|
|
num5 += num;
|
|
z[0] = num5;
|
|
uint num6 = y[(int)num4] * x;
|
|
uint num7;
|
|
num7 += num6;
|
|
num7 += num5;
|
|
z[0] = num7;
|
|
uint num8 = y[(int)num6] * x;
|
|
uint num9;
|
|
num9 += num8;
|
|
num9 += num7;
|
|
z[0] = num9;
|
|
uint num10 = y[(int)num8] * x;
|
|
uint num11;
|
|
num11 += num10;
|
|
num11 += num9;
|
|
z[0] = num11;
|
|
uint num12 = y[(int)num10] * x;
|
|
uint num13;
|
|
num13 += num12;
|
|
num13 += num11;
|
|
z[0] = num13;
|
|
uint num14 = y[(int)num12] * x;
|
|
uint num15;
|
|
num15 += num14;
|
|
num15 += num13;
|
|
z[0] = num15;
|
|
uint num16 = y[yOff];
|
|
uint num17 = z[y];
|
|
uint num18 = num16 * x;
|
|
num17 += num18;
|
|
num17 += num15;
|
|
z[0] = num17;
|
|
return num17;
|
|
}
|
|
|
|
// Token: 0x06009FC6 RID: 40902 RVA: 0x002211D8 File Offset: 0x0021F3D8
|
|
[Token(Token = "0x6009FC6")]
|
|
[Address(RVA = "0x28BF290", Offset = "0x28BE090", VA = "0x1828BF290")]
|
|
public static uint Mul33DWordAdd(uint x, ulong y, uint[] z, int zOff)
|
|
{
|
|
uint num = z[zOff];
|
|
ulong num2 = y * (ulong)x;
|
|
int num3 = zOff + 1;
|
|
num2 += (ulong)num;
|
|
z[0] = (uint)num2;
|
|
uint num4 = z[num3];
|
|
ulong num5 = y * (ulong)x;
|
|
num5 += y;
|
|
num5 += (ulong)num4;
|
|
num2 += num5;
|
|
z[0] = (uint)num2;
|
|
uint num6 = z[(int)num5];
|
|
num6 = (uint)((ulong)num6 + y);
|
|
num2 += (ulong)num6;
|
|
z[0] = (uint)num2;
|
|
uint num7 = z[zOff];
|
|
num7 = (uint)((ulong)num7 + num2);
|
|
z[0] = num7;
|
|
ulong num8;
|
|
if (num8 == (ulong)num7)
|
|
{
|
|
}
|
|
uint num9;
|
|
return Nat.IncAt((int)num8, z, zOff, (int)num9);
|
|
}
|
|
|
|
// Token: 0x06009FC7 RID: 40903 RVA: 0x00221278 File Offset: 0x0021F478
|
|
[Token(Token = "0x6009FC7")]
|
|
[Address(RVA = "0x28BF3E0", Offset = "0x28BE1E0", VA = "0x1828BF3E0")]
|
|
public static uint Mul33WordAdd(uint x, uint y, uint[] z, int zOff)
|
|
{
|
|
uint num = z[zOff];
|
|
uint num2 = x * y;
|
|
num2 += num;
|
|
z[0] = num2;
|
|
int num3 = zOff + 1;
|
|
uint num4 = z[num3];
|
|
num4 += y;
|
|
num2 += num4;
|
|
z[0] = num2;
|
|
uint num5 = z[zOff];
|
|
num5 += num2;
|
|
z[0] = num5;
|
|
ulong num6;
|
|
if (num6 == (ulong)num5)
|
|
{
|
|
}
|
|
uint num7;
|
|
return Nat.IncAt((int)num6, z, zOff, (int)num7);
|
|
}
|
|
|
|
// Token: 0x06009FC8 RID: 40904 RVA: 0x002212F0 File Offset: 0x0021F4F0
|
|
[Token(Token = "0x6009FC8")]
|
|
[Address(RVA = "0x28C0340", Offset = "0x28BF140", VA = "0x1828C0340")]
|
|
public static uint MulWordDwordAdd(uint x, ulong y, uint[] z, int zOff)
|
|
{
|
|
uint num = z[zOff];
|
|
uint num2 = (uint)((ulong)x * y);
|
|
num2 += num;
|
|
int num3 = zOff + 1;
|
|
z[0] = num2;
|
|
uint num4 = z[num3];
|
|
ulong num5 = y * (ulong)x;
|
|
num4 = (uint)((ulong)num4 + num5);
|
|
num4 += num2;
|
|
z[0] = num4;
|
|
uint num6 = z[zOff];
|
|
num6 += num4;
|
|
z[0] = num6;
|
|
ulong num7;
|
|
if (num7 == (ulong)num6)
|
|
{
|
|
}
|
|
uint num8;
|
|
return Nat.IncAt((int)num7, z, zOff, (int)num8);
|
|
}
|
|
|
|
// Token: 0x06009FC9 RID: 40905 RVA: 0x0022136C File Offset: 0x0021F56C
|
|
[Token(Token = "0x6009FC9")]
|
|
[Address(RVA = "0x28C0430", Offset = "0x28BF230", VA = "0x1828C0430")]
|
|
public static uint MulWord(uint x, uint[] y, uint[] z, int zOff)
|
|
{
|
|
int num = 0;
|
|
uint num2 = y[num] * x;
|
|
num += (int)num2;
|
|
z[0] = (uint)num;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009FCA RID: 40906 RVA: 0x00221398 File Offset: 0x0021F598
|
|
[Token(Token = "0x6009FCA")]
|
|
[Address(RVA = "0x28C19D0", Offset = "0x28C07D0", VA = "0x1828C19D0")]
|
|
public static void Square(uint[] x, uint[] zz)
|
|
{
|
|
uint num = x[0];
|
|
uint num3;
|
|
uint num2 = x[(int)num3];
|
|
uint num4 = num2 * num2;
|
|
zz[0] = num4;
|
|
zz[0] = num4;
|
|
num4 = num;
|
|
uint num5 = num4 * num;
|
|
zz[0] = num5;
|
|
uint num6 = x[0];
|
|
uint num7 = zz[1];
|
|
num5 = num6;
|
|
uint num8 = num5 * num;
|
|
num4 += num8;
|
|
zz[0] = num5;
|
|
int length = zz.Length;
|
|
uint num9 = x[1];
|
|
uint num10 = zz[1];
|
|
num5 = num9;
|
|
uint num11 = zz[2];
|
|
num8 = num4;
|
|
uint num12 = num5 * num;
|
|
num12 += num8;
|
|
num12 += num7;
|
|
zz[1] = num8;
|
|
num4 = num9;
|
|
uint num13 = num4 * num6;
|
|
num8 = num12;
|
|
num13 += num8;
|
|
num13 += num10;
|
|
num13 += num11;
|
|
uint num14 = x[1];
|
|
uint num15 = zz[2];
|
|
num13 += num15;
|
|
uint num16 = zz[3];
|
|
num10 = num14;
|
|
uint num17 = num10 * num;
|
|
num15 = num13;
|
|
num17 += num15;
|
|
zz[1] = num15;
|
|
num15 = num17;
|
|
uint num18 = num14 * num6;
|
|
num18 += num15;
|
|
num15 = num13;
|
|
num18 += num15;
|
|
num13 = num14;
|
|
uint num19 = num13 * num9;
|
|
num15 = num18;
|
|
num19 += num15;
|
|
num15 = num13;
|
|
num19 += num15;
|
|
num15 = num19;
|
|
num13 += num15;
|
|
num13 += num16;
|
|
int length2 = zz.Length;
|
|
uint num20 = x[2];
|
|
uint num21 = zz[3];
|
|
num12 = num13;
|
|
num12 += num21;
|
|
uint num22 = zz[4];
|
|
num13 = num20;
|
|
uint num23 = num13 * num;
|
|
num22 = num18;
|
|
num23 += num22;
|
|
num18 = num20;
|
|
zz[2] = num22;
|
|
uint num24 = num18 * num6;
|
|
uint num25 = num20 * num14;
|
|
num22 = num23;
|
|
num24 += num22;
|
|
num22 = num19;
|
|
num24 += num22;
|
|
num19 = num20;
|
|
uint num26 = num19 * num9;
|
|
num22 = num24;
|
|
num26 += num22;
|
|
num22 = num13;
|
|
num26 += num22;
|
|
num22 = num26;
|
|
num25 += num22;
|
|
num22 = num12;
|
|
num25 += num22;
|
|
num22 = num25;
|
|
num12 += num22;
|
|
num12 += num22;
|
|
uint num27 = x[2];
|
|
int length3 = zz.Length;
|
|
uint num28 = zz[4];
|
|
num13 = num12;
|
|
num13 += num28;
|
|
uint num29 = zz[5];
|
|
uint num30 = num27 * num;
|
|
num29 = num24;
|
|
num30 += num29;
|
|
num23 = num27;
|
|
zz[2] = num29;
|
|
num29 = num30;
|
|
uint num31 = num23 * num6;
|
|
num31 += num29;
|
|
num29 = num26;
|
|
num31 += num29;
|
|
num26 = num27;
|
|
uint num32 = num26 * num9;
|
|
num29 = num31;
|
|
num32 += num29;
|
|
num29 = num25;
|
|
num32 += num29;
|
|
num25 = num27;
|
|
uint num33 = num25 * num14;
|
|
num29 = num32;
|
|
num33 += num29;
|
|
num29 = num12;
|
|
num33 += num29;
|
|
num12 = num27;
|
|
uint num34 = num12 * num20;
|
|
num29 = num33;
|
|
num34 += num29;
|
|
num29 = num13;
|
|
num34 += num29;
|
|
num29 = num34;
|
|
num13 += num29;
|
|
num13 += num29;
|
|
uint num35 = x[3];
|
|
int length4 = zz.Length;
|
|
uint num36 = zz[5];
|
|
num31 = num13;
|
|
num31 += num36;
|
|
uint num37 = zz[6];
|
|
uint num38 = num35 * num;
|
|
num38 += num31;
|
|
num30 = num35;
|
|
zz[3] = num31;
|
|
num31 = num38;
|
|
uint num39 = num30 * num6;
|
|
num39 += num31;
|
|
num31 = num32;
|
|
num39 += num31;
|
|
num32 = num35;
|
|
num31 = num39;
|
|
num39 = num35;
|
|
uint num40 = num32 * num9;
|
|
uint num41 = num39 * num14;
|
|
num40 += num31;
|
|
num31 = num33;
|
|
num40 += num31;
|
|
num33 = num35;
|
|
uint num42 = num33 * num20;
|
|
num31 = num40;
|
|
num41 += num31;
|
|
num41 += num34;
|
|
num34 = num41;
|
|
num42 += num34;
|
|
num34 = num13;
|
|
num42 += num34;
|
|
num13 = num35;
|
|
num34 = num42;
|
|
num13 += num34;
|
|
num34 = num31;
|
|
num13 += num34;
|
|
num34 = num13;
|
|
num31 += num34;
|
|
num31 += num37;
|
|
int length5 = zz.Length;
|
|
uint num43 = x[3];
|
|
uint num44 = zz[6];
|
|
num13 = num31;
|
|
num13 += num44;
|
|
uint num45 = zz[7];
|
|
uint num46 = num43 * num;
|
|
num46 += num39;
|
|
num42 = num43;
|
|
zz[3] = num39;
|
|
num = num43;
|
|
uint num47 = num42 * num6;
|
|
uint num48 = num * num14;
|
|
num38 = num43;
|
|
uint num49 = num38 * num20;
|
|
num39 = num46;
|
|
num47 += num39;
|
|
num39 = num40;
|
|
num47 += num39;
|
|
num40 = num43;
|
|
uint num50 = num40 * num9;
|
|
num39 = num47;
|
|
num50 += num39;
|
|
num50 += num41;
|
|
num41 = num50;
|
|
num48 += num41;
|
|
num48 += num42;
|
|
num42 = num48;
|
|
num49 += num42;
|
|
num49 += num13;
|
|
num13 = num49;
|
|
num43 += num13;
|
|
num13 = num31;
|
|
num43 += num13;
|
|
num13 = num43;
|
|
num43 += num13;
|
|
num43 += num13;
|
|
num13 = num43;
|
|
num13 += num13;
|
|
num13 += num45;
|
|
zz[4] = num45;
|
|
zz[4] = num45;
|
|
zz[5] = num45;
|
|
zz[5] = num45;
|
|
zz[6] = num45;
|
|
zz[6] = num45;
|
|
zz[7] = num45;
|
|
num45 = num13;
|
|
num45 += num45;
|
|
zz[7] = num45;
|
|
}
|
|
|
|
// Token: 0x06009FCB RID: 40907 RVA: 0x002218D4 File Offset: 0x0021FAD4
|
|
[Token(Token = "0x6009FCB")]
|
|
[Address(RVA = "0x28C0F50", Offset = "0x28BFD50", VA = "0x1828C0F50")]
|
|
public static void Square(uint[] x, int xOff, uint[] zz, int zzOff)
|
|
{
|
|
uint num = x[xOff];
|
|
uint num2 = x[x];
|
|
uint num3 = num2 * num2;
|
|
zz[0] = num3;
|
|
zz[0] = num3;
|
|
num3 = num;
|
|
uint num4 = num3 * num;
|
|
int num5 = xOff + 1;
|
|
zz[0] = num4;
|
|
uint num6 = x[num5];
|
|
int length = zz.Length;
|
|
int num7 = zzOff + 1;
|
|
uint num8 = num6;
|
|
uint num9 = num8 * num;
|
|
num3 += num9;
|
|
zz[0] = num4;
|
|
uint num10 = x[(int)num9];
|
|
int length2 = zz.Length;
|
|
uint num11 = zz[length];
|
|
num4 = num10;
|
|
uint num12 = num4 * num;
|
|
uint num13 = num3;
|
|
num12 += num13;
|
|
num12 += num8;
|
|
num3 = num10;
|
|
zz[0] = num8;
|
|
num8 = num12;
|
|
uint num14 = num3 * num6;
|
|
num14 += num8;
|
|
num14 += num11;
|
|
num10 = num14;
|
|
num10 += num13;
|
|
uint num15 = x[(int)num13];
|
|
int length3 = zz.Length;
|
|
uint num16 = zz[(int)num11];
|
|
num13 = num10;
|
|
num16 += num13;
|
|
uint num17 = zz[(int)num13];
|
|
uint num18 = num15 * num;
|
|
num17 = num14;
|
|
num18 += num17;
|
|
zz[0] = num17;
|
|
num17 = num18;
|
|
num15 += num17;
|
|
num17 = num10;
|
|
num15 += num17;
|
|
num17 = num15;
|
|
num15 += num17;
|
|
num17 = num16;
|
|
num15 += num17;
|
|
num17 = num15;
|
|
num16 += num17;
|
|
num16 += num17;
|
|
uint num19 = x[(int)num17];
|
|
int length4 = zz.Length;
|
|
uint num20 = zz[(int)num17];
|
|
num17 = num16;
|
|
num20 += num17;
|
|
uint num21 = zz[(int)num17];
|
|
uint num22 = num19 * num;
|
|
num21 = num15;
|
|
num22 += num21;
|
|
zz[0] = num21;
|
|
num15 = num19;
|
|
num21 = num22;
|
|
num15 += num21;
|
|
num21 = num15;
|
|
num15 += num21;
|
|
num15 = num19;
|
|
num21 = num15;
|
|
num15 += num21;
|
|
num21 = num16;
|
|
num15 += num21;
|
|
num21 = num15;
|
|
num19 += num21;
|
|
num21 = num20;
|
|
num19 += num21;
|
|
num21 = num19;
|
|
num20 += num21;
|
|
num20 += num21;
|
|
uint num23 = x[(int)num21];
|
|
int length5 = zz.Length;
|
|
uint num24 = zz[(int)num21];
|
|
num21 = num20;
|
|
num24 += num21;
|
|
uint num25 = zz[(int)num21];
|
|
uint num26 = num23 * num;
|
|
num25 = num15;
|
|
num26 += num25;
|
|
zz[0] = num25;
|
|
num11 = num23;
|
|
uint num27 = num11 * num10;
|
|
num25 = num26;
|
|
num23 += num25;
|
|
num25 = num15;
|
|
num23 += num25;
|
|
num25 = num23;
|
|
num27 += num25;
|
|
num25 = num19;
|
|
num27 += num25;
|
|
num19 = num23;
|
|
uint num28 = num19 * num15;
|
|
num25 = num27;
|
|
num28 += num25;
|
|
num25 = num20;
|
|
num28 += num25;
|
|
num20 = num23;
|
|
num25 = num28;
|
|
num20 += num25;
|
|
num25 = num24;
|
|
num20 += num25;
|
|
num25 = num20;
|
|
num24 += num25;
|
|
num24 += num25;
|
|
uint num29 = x[(int)num25];
|
|
int length6 = zz.Length;
|
|
uint num30 = zz[(int)num27];
|
|
num25 = num24;
|
|
num30 += num25;
|
|
uint num31 = zz[(int)num25];
|
|
uint num32 = num29 * num;
|
|
num31 = num23;
|
|
num32 += num31;
|
|
zz[0] = num31;
|
|
num23 = num29;
|
|
uint num33 = num23 * num6;
|
|
num31 = num32;
|
|
num33 += num31;
|
|
num33 += num27;
|
|
num27 = num29;
|
|
uint num34 = num27 * num10;
|
|
num34 = num33;
|
|
num33 = num29;
|
|
num34 += num34;
|
|
num34 += num28;
|
|
num28 = num34;
|
|
num34 = num29;
|
|
uint num35 = num33 * num15;
|
|
num35 += num28;
|
|
num35 += num20;
|
|
num20 = num35;
|
|
num34 += num20;
|
|
num20 = num24;
|
|
num34 += num20;
|
|
num20 = num34;
|
|
num29 += num20;
|
|
num20 = num30;
|
|
num29 += num20;
|
|
num20 = num29;
|
|
num30 += num20;
|
|
num30 += num31;
|
|
uint num36 = x[xOff];
|
|
int length7 = zz.Length;
|
|
uint num37 = zz[xOff];
|
|
num31 = num30;
|
|
num37 += num31;
|
|
uint num38 = zz[(int)num35];
|
|
num24 = num36;
|
|
uint num39 = num24 * num;
|
|
num39 += num33;
|
|
num = num36;
|
|
zz[0] = num33;
|
|
num32 = num36;
|
|
uint num40 = num * num6;
|
|
num15 = num36;
|
|
num6 = num36;
|
|
num33 = num39;
|
|
num40 += num33;
|
|
num40 += num34;
|
|
num34 = num40;
|
|
num15 += num34;
|
|
num15 += num35;
|
|
num35 = num15;
|
|
num32 += num35;
|
|
num32 += num34;
|
|
num34 = num32;
|
|
num6 += num34;
|
|
num6 += num29;
|
|
num29 = num6;
|
|
num36 += num29;
|
|
num29 = num30;
|
|
num36 += num29;
|
|
num29 = num36;
|
|
num36 += num29;
|
|
num29 = num37;
|
|
num36 += num29;
|
|
num29 = num36;
|
|
num37 += num29;
|
|
num37 += num38;
|
|
zz[0] = num38;
|
|
zz[0] = num38;
|
|
zz[0] = num38;
|
|
zz[0] = num38;
|
|
zz[0] = num38;
|
|
zz[0] = num38;
|
|
zz[0] = num38;
|
|
num38 = num37;
|
|
num38 += num38;
|
|
zz[0] = num38;
|
|
}
|
|
|
|
// Token: 0x06009FCC RID: 40908 RVA: 0x00221DD4 File Offset: 0x0021FFD4
|
|
[Token(Token = "0x6009FCC")]
|
|
[Address(RVA = "0x28C2FC0", Offset = "0x28C1DC0", VA = "0x1828C2FC0")]
|
|
public static int Sub(uint[] x, uint[] y, uint[] z)
|
|
{
|
|
uint num = y[0];
|
|
uint num2 = x[0];
|
|
num2 -= num;
|
|
z[0] = num2;
|
|
uint num3 = y[0];
|
|
num2 -= num3;
|
|
uint num4 = x[0];
|
|
num2 += num4;
|
|
z[0] = num2;
|
|
uint num5 = y[1];
|
|
num2 -= num5;
|
|
uint num6 = x[1];
|
|
num2 += num6;
|
|
z[1] = num2;
|
|
uint num7 = y[1];
|
|
num2 -= num7;
|
|
uint num8 = x[1];
|
|
num2 += num8;
|
|
z[1] = num2;
|
|
uint num9 = y[2];
|
|
num2 -= num9;
|
|
uint num10 = x[2];
|
|
num2 += num10;
|
|
z[2] = num2;
|
|
uint num11 = y[2];
|
|
num2 -= num11;
|
|
uint num12 = x[2];
|
|
num2 += num12;
|
|
z[2] = num2;
|
|
uint num13 = y[3];
|
|
num2 -= num13;
|
|
uint num14 = x[3];
|
|
num2 += num14;
|
|
z[3] = num2;
|
|
uint num15 = x[3];
|
|
uint num16 = y[3];
|
|
num2 -= num16;
|
|
num2 += num15;
|
|
z[3] = num2;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009FCD RID: 40909 RVA: 0x00221F00 File Offset: 0x00220100
|
|
[Token(Token = "0x6009FCD")]
|
|
[Address(RVA = "0x28C2BE0", Offset = "0x28C19E0", VA = "0x1828C2BE0")]
|
|
public static int Sub(uint[] x, int xOff, uint[] y, int yOff, uint[] z, int zOff)
|
|
{
|
|
uint num = x[yOff];
|
|
uint num2 = y[yOff];
|
|
num -= num2;
|
|
int num3 = yOff + 1;
|
|
uint num4 = x[num3];
|
|
int num5 = yOff + 1;
|
|
uint num6 = y[num5];
|
|
num -= num6;
|
|
num += num4;
|
|
uint num7 = x[(int)num6];
|
|
uint num8 = y[(int)num6];
|
|
num -= num8;
|
|
num += num7;
|
|
uint num9 = x[(int)num8];
|
|
uint num10 = y[(int)num8];
|
|
num -= num10;
|
|
num += num9;
|
|
uint num11 = x[(int)num10];
|
|
uint num12 = y[(int)num10];
|
|
num -= num12;
|
|
num += num11;
|
|
uint num13 = x[(int)num12];
|
|
uint num14 = y[(int)num12];
|
|
num -= num14;
|
|
num += num13;
|
|
uint num15 = x[(int)num14];
|
|
uint num16 = y[(int)num14];
|
|
num -= num16;
|
|
num += num15;
|
|
uint num17 = x[yOff];
|
|
uint num18 = y[yOff];
|
|
num -= num18;
|
|
num += num17;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009FCE RID: 40910 RVA: 0x00222000 File Offset: 0x00220200
|
|
[Token(Token = "0x6009FCE")]
|
|
[Address(RVA = "0x28C2310", Offset = "0x28C1110", VA = "0x1828C2310")]
|
|
public static int SubBothFrom(uint[] x, uint[] y, uint[] z)
|
|
{
|
|
uint num = y[0];
|
|
uint num2 = z[0];
|
|
num2 -= num;
|
|
uint num3 = x[0];
|
|
num2 -= num3;
|
|
z[0] = num2;
|
|
uint num4 = y[0];
|
|
num2 -= num4;
|
|
uint num5 = x[0];
|
|
num2 -= num5;
|
|
uint num6 = z[0];
|
|
num2 += num6;
|
|
z[0] = num2;
|
|
uint num7 = y[1];
|
|
num2 -= num7;
|
|
uint num8 = x[1];
|
|
num2 -= num8;
|
|
uint num9 = z[1];
|
|
num2 += num9;
|
|
z[1] = num2;
|
|
uint num10 = y[1];
|
|
num2 -= num10;
|
|
uint num11 = x[1];
|
|
num2 -= num11;
|
|
uint num12 = z[1];
|
|
num2 += num12;
|
|
z[1] = num2;
|
|
uint num13 = y[2];
|
|
num2 -= num13;
|
|
uint num14 = x[2];
|
|
num2 -= num14;
|
|
uint num15 = z[2];
|
|
num2 += num15;
|
|
z[2] = num2;
|
|
uint num16 = y[2];
|
|
num2 -= num16;
|
|
uint num17 = x[2];
|
|
num2 -= num17;
|
|
uint num18 = z[2];
|
|
num2 += num18;
|
|
z[2] = num2;
|
|
uint num19 = y[3];
|
|
num2 -= num19;
|
|
uint num20 = x[3];
|
|
num2 -= num20;
|
|
uint num21 = z[3];
|
|
num2 += num21;
|
|
z[3] = num2;
|
|
uint num22 = x[3];
|
|
uint num23 = y[3];
|
|
num2 -= num23;
|
|
uint num24 = z[3];
|
|
num2 -= num22;
|
|
num2 += num24;
|
|
z[3] = num2;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009FCF RID: 40911 RVA: 0x0022219C File Offset: 0x0022039C
|
|
[Token(Token = "0x6009FCF")]
|
|
[Address(RVA = "0x28C2960", Offset = "0x28C1760", VA = "0x1828C2960")]
|
|
public static int SubFrom(uint[] x, uint[] z)
|
|
{
|
|
uint num = x[0];
|
|
uint num2 = z[0];
|
|
num2 -= num;
|
|
z[0] = num2;
|
|
uint num3 = x[0];
|
|
num2 -= num3;
|
|
uint num4 = z[0];
|
|
num2 += num4;
|
|
z[0] = num2;
|
|
uint num5 = x[1];
|
|
num2 -= num5;
|
|
uint num6 = z[1];
|
|
num2 += num6;
|
|
z[1] = num2;
|
|
uint num7 = x[1];
|
|
num2 -= num7;
|
|
uint num8 = z[1];
|
|
num2 += num8;
|
|
z[1] = num2;
|
|
uint num9 = x[2];
|
|
num2 -= num9;
|
|
uint num10 = z[2];
|
|
num2 += num10;
|
|
z[2] = num2;
|
|
uint num11 = x[2];
|
|
num2 -= num11;
|
|
uint num12 = z[2];
|
|
num2 += num12;
|
|
z[2] = num2;
|
|
uint num13 = x[3];
|
|
num2 -= num13;
|
|
uint num14 = z[3];
|
|
num2 += num14;
|
|
z[3] = num2;
|
|
uint num15 = x[3];
|
|
num2 -= num15;
|
|
uint num16 = z[3];
|
|
num2 += num16;
|
|
z[3] = num2;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009FD0 RID: 40912 RVA: 0x002222C8 File Offset: 0x002204C8
|
|
[Token(Token = "0x6009FD0")]
|
|
[Address(RVA = "0x28C26A0", Offset = "0x28C14A0", VA = "0x1828C26A0")]
|
|
public static int SubFrom(uint[] x, int xOff, uint[] z, int zOff)
|
|
{
|
|
uint num = z[zOff];
|
|
int num2 = zOff + 1;
|
|
uint num3 = x[xOff];
|
|
num -= num3;
|
|
z[0] = num;
|
|
int num4 = xOff + 1;
|
|
uint num5 = x[num4];
|
|
num -= num5;
|
|
uint num6 = z[num2];
|
|
num += num6;
|
|
z[0] = num;
|
|
uint num7 = x[(int)num6];
|
|
num -= num7;
|
|
uint num8;
|
|
num8 += num;
|
|
z[0] = num8;
|
|
uint num9 = x[(int)num7];
|
|
num8 -= num9;
|
|
uint num10;
|
|
num10 += num8;
|
|
z[0] = num10;
|
|
uint num11 = x[(int)num9];
|
|
num10 -= num11;
|
|
uint num12;
|
|
num12 += num10;
|
|
z[0] = num12;
|
|
uint num13 = x[(int)num11];
|
|
num12 -= num13;
|
|
uint num14;
|
|
num14 += num12;
|
|
z[0] = num14;
|
|
uint num15 = x[(int)num13];
|
|
num14 -= num15;
|
|
uint num16 = z[(int)num12];
|
|
num14 += num16;
|
|
z[0] = num14;
|
|
uint num17 = x[xOff];
|
|
uint num18 = z[zOff];
|
|
num14 -= num17;
|
|
num18 += num14;
|
|
z[0] = num18;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009FD1 RID: 40913 RVA: 0x002223FC File Offset: 0x002205FC
|
|
[Token(Token = "0x6009FD1")]
|
|
[Address(RVA = "0x28C33F0", Offset = "0x28C21F0", VA = "0x1828C33F0")]
|
|
public static BigInteger ToBigInteger(uint[] x)
|
|
{
|
|
byte[] array = new byte[32];
|
|
int num = 0;
|
|
uint num2 = x[num];
|
|
if (num2 != (uint)0)
|
|
{
|
|
Pack.UInt32_To_BE(num2, array, 28);
|
|
}
|
|
num++;
|
|
return new BigInteger(1, array);
|
|
}
|
|
|
|
// Token: 0x06009FD2 RID: 40914 RVA: 0x0022243C File Offset: 0x0022063C
|
|
[Token(Token = "0x6009FD2")]
|
|
[Address(RVA = "0x28C3320", Offset = "0x28C2120", VA = "0x1828C3320")]
|
|
public static BigInteger ToBigInteger64(ulong[] x)
|
|
{
|
|
byte[] array = new byte[32];
|
|
int num = 0;
|
|
ulong num2 = x[num];
|
|
if (num2 != (ulong)0L)
|
|
{
|
|
Pack.UInt64_To_BE(num2, array, 24);
|
|
}
|
|
num++;
|
|
return new BigInteger(1, array);
|
|
}
|
|
|
|
// Token: 0x06009FD3 RID: 40915 RVA: 0x0022247C File Offset: 0x0022067C
|
|
[Token(Token = "0x6009FD3")]
|
|
[Address(RVA = "0x28C34C0", Offset = "0x28C22C0", VA = "0x1828C34C0")]
|
|
public static void Zero(uint[] z)
|
|
{
|
|
int num = 0;
|
|
z[0] = (uint)num;
|
|
z[0] = (uint)num;
|
|
z[1] = (uint)num;
|
|
z[1] = (uint)num;
|
|
z[2] = (uint)num;
|
|
z[2] = (uint)num;
|
|
z[3] = (uint)num;
|
|
z[3] = (uint)num;
|
|
}
|
|
|
|
// Token: 0x06009FD4 RID: 40916 RVA: 0x002224D4 File Offset: 0x002206D4
|
|
[Token(Token = "0x6009FD4")]
|
|
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
|
protected Nat256()
|
|
{
|
|
}
|
|
|
|
// Token: 0x04006A59 RID: 27225
|
|
[Token(Token = "0x4006A59")]
|
|
private const ulong M = 4294967295UL;
|
|
}
|
|
}
|