Files
Aug2021-Cpp2IL-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Math/Raw/Nat192.cs
T
2026-04-10 22:50:51 +02:00

1390 lines
33 KiB
C#

using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw
{
// Token: 0x020019DD RID: 6621
[Token(Token = "0x20019DD")]
internal abstract class Nat192
{
// Token: 0x06009F4C RID: 40780 RVA: 0x0021B7C8 File Offset: 0x002199C8
[Token(Token = "0x6009F4C")]
[Address(RVA = "0x1F761F0", Offset = "0x1F74FF0", VA = "0x181F761F0")]
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 = x[2];
uint num12 = y[2];
num12 += num9;
num12 += num11;
z[2] = num12;
return num12;
}
// Token: 0x06009F4D RID: 40781 RVA: 0x0021B8C0 File Offset: 0x00219AC0
[Token(Token = "0x6009F4D")]
[Address(RVA = "0x1F75840", Offset = "0x1F74640", VA = "0x181F75840")]
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 = z[0];
num2 += num4;
uint num5 = y[0];
num2 += num5;
uint num6 = x[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 = z[1];
num2 += num10;
uint num11 = y[1];
num2 += num11;
uint num12 = x[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 = x[2];
uint num17 = y[2];
uint num18 = z[2];
num2 += num17;
num2 += num16;
num2 += num18;
z[2] = num2;
return num2;
}
// Token: 0x06009F4E RID: 40782 RVA: 0x0021B9F8 File Offset: 0x00219BF8
[Token(Token = "0x6009F4E")]
[Address(RVA = "0x1F75DE0", Offset = "0x1F74BE0", VA = "0x181F75DE0")]
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 = x[2];
uint num12 = z[2];
num += num12;
num += num11;
z[2] = num;
return num;
}
// Token: 0x06009F4F RID: 40783 RVA: 0x0021BADC File Offset: 0x00219CDC
[Token(Token = "0x6009F4F")]
[Address(RVA = "0x1F75FC0", Offset = "0x1F74DC0", VA = "0x181F75FC0")]
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[xOff];
uint num14 = z[xOff];
num14 += num12;
num14 += num13;
z[0] = num14;
return num14;
}
// Token: 0x06009F50 RID: 40784 RVA: 0x0021BBE8 File Offset: 0x00219DE8
[Token(Token = "0x6009F50")]
[Address(RVA = "0x1F75B00", Offset = "0x1F74900", VA = "0x181F75B00")]
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[(int)num5];
uint num10 = u[num3];
num9 += num7;
num9 += num10;
u[0] = num9;
v[0] = num9;
uint num11 = v[(int)num7];
uint num12 = u[num3];
num11 += num9;
num11 += num12;
u[0] = num11;
v[0] = num11;
uint num13 = v[uOff];
uint num14 = u[(int)num9];
num13 += num11;
num13 += num14;
u[0] = num13;
v[0] = num13;
return num13;
}
// Token: 0x06009F51 RID: 40785 RVA: 0x0021BD2C File Offset: 0x00219F2C
[Token(Token = "0x6009F51")]
[Address(RVA = "0x1F76600", Offset = "0x1F75400", VA = "0x181F76600")]
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;
}
// Token: 0x06009F52 RID: 40786 RVA: 0x0021BDA4 File Offset: 0x00219FA4
[Token(Token = "0x6009F52")]
[Address(RVA = "0x1F76780", Offset = "0x1F75580", VA = "0x181F76780")]
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[xOff];
z[0] = num8;
}
// Token: 0x06009F53 RID: 40787 RVA: 0x0021BE28 File Offset: 0x0021A028
[Token(Token = "0x6009F53")]
[Address(RVA = "0x1F76540", Offset = "0x1F75340", VA = "0x181F76540")]
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;
}
// Token: 0x06009F54 RID: 40788 RVA: 0x0021BE6C File Offset: 0x0021A06C
[Token(Token = "0x6009F54")]
[Address(RVA = "0x1F76470", Offset = "0x1F75270", VA = "0x181F76470")]
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;
}
// Token: 0x06009F55 RID: 40789 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009F55")]
[Address(RVA = "0x1F76A00", Offset = "0x1F75800", VA = "0x181F76A00")]
public static uint[] Create()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009F56 RID: 40790 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009F56")]
[Address(RVA = "0x1F76940", Offset = "0x1F75740", VA = "0x181F76940")]
public static ulong[] Create64()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009F57 RID: 40791 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009F57")]
[Address(RVA = "0x1F769C0", Offset = "0x1F757C0", VA = "0x181F769C0")]
public static uint[] CreateExt()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009F58 RID: 40792 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009F58")]
[Address(RVA = "0x1F76980", Offset = "0x1F75780", VA = "0x181F76980")]
public static ulong[] CreateExt64()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009F59 RID: 40793 RVA: 0x0021BEBC File Offset: 0x0021A0BC
[Token(Token = "0x6009F59")]
[Address(RVA = "0x1F76A40", Offset = "0x1F75840", VA = "0x181F76A40")]
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: 0x06009F5A RID: 40794 RVA: 0x0021BEDC File Offset: 0x0021A0DC
[Token(Token = "0x6009F5A")]
[Address(RVA = "0x1F76BB0", Offset = "0x1F759B0", VA = "0x181F76BB0")]
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: 0x06009F5B RID: 40795 RVA: 0x0021BF00 File Offset: 0x0021A100
[Token(Token = "0x6009F5B")]
[Address(RVA = "0x1F76B40", Offset = "0x1F75940", VA = "0x181F76B40")]
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: 0x06009F5C RID: 40796 RVA: 0x0021BF24 File Offset: 0x0021A124
[Token(Token = "0x6009F5C")]
[Address(RVA = "0x1F76D50", Offset = "0x1F75B50", VA = "0x181F76D50")]
public static uint[] FromBigInteger(BigInteger x)
{
int bitLength = x.BitLength;
uint[] array = new uint[6];
int num = 0;
if (x.sign != 0)
{
num++;
int intValue = x.IntValue;
array[0] = (uint)intValue;
BigInteger bigInteger = x.ShiftRight(32);
}
return array;
}
// Token: 0x06009F5D RID: 40797 RVA: 0x0021BF70 File Offset: 0x0021A170
[Token(Token = "0x6009F5D")]
[Address(RVA = "0x1F76C20", Offset = "0x1F75A20", VA = "0x181F76C20")]
public static ulong[] FromBigInteger64(BigInteger x)
{
int bitLength = x.BitLength;
ulong[] array = new ulong[3];
int num = 0;
if (x.sign != 0)
{
num++;
long longValue = x.LongValue;
array[0] = (ulong)longValue;
BigInteger bigInteger = x.ShiftRight(64);
}
return array;
}
// Token: 0x06009F5E RID: 40798 RVA: 0x0021BFBC File Offset: 0x0021A1BC
[Token(Token = "0x6009F5E")]
[Address(RVA = "0x1F76E80", Offset = "0x1F75C80", VA = "0x181F76E80")]
public static uint GetBit(uint[] x, int bit)
{
if (bit != 0)
{
if (bit <= 5)
{
return x[bit];
}
}
return x[0];
}
// Token: 0x06009F5F RID: 40799 RVA: 0x0021BFE8 File Offset: 0x0021A1E8
[Token(Token = "0x6009F5F")]
[Address(RVA = "0x1F76F00", Offset = "0x1F75D00", VA = "0x181F76F00")]
public static bool Gte(uint[] x, uint[] y)
{
uint num2;
uint num = y[(int)num2];
if (x[(int)num2] <= num)
{
}
throw new NullReferenceException();
}
// Token: 0x06009F60 RID: 40800 RVA: 0x0021C010 File Offset: 0x0021A210
[Token(Token = "0x6009F60")]
[Address(RVA = "0x1F76F80", Offset = "0x1F75D80", VA = "0x181F76F80")]
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: 0x06009F61 RID: 40801 RVA: 0x0021C034 File Offset: 0x0021A234
[Token(Token = "0x6009F61")]
[Address(RVA = "0x1F77070", Offset = "0x1F75E70", VA = "0x181F77070")]
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: 0x06009F62 RID: 40802 RVA: 0x0021C068 File Offset: 0x0021A268
[Token(Token = "0x6009F62")]
[Address(RVA = "0x1F77000", Offset = "0x1F75E00", VA = "0x181F77000")]
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: 0x06009F63 RID: 40803 RVA: 0x0021C09C File Offset: 0x0021A29C
[Token(Token = "0x6009F63")]
[Address(RVA = "0x1F77130", Offset = "0x1F75F30", VA = "0x181F77130")]
public static bool IsZero(uint[] x)
{
int num = 0;
if ("{il2cpp array field x->}" == (ulong)0L)
{
num++;
return true;
}
throw new NullReferenceException();
}
// Token: 0x06009F64 RID: 40804 RVA: 0x0021C0C4 File Offset: 0x0021A2C4
[Token(Token = "0x6009F64")]
[Address(RVA = "0x1F770E0", Offset = "0x1F75EE0", VA = "0x181F770E0")]
public static bool IsZero64(ulong[] x)
{
int num = 0;
if ("{il2cpp array field x->}" == (ulong)0L)
{
num++;
return true;
}
throw new NullReferenceException();
}
// Token: 0x06009F65 RID: 40805 RVA: 0x0021C0EC File Offset: 0x0021A2EC
[Token(Token = "0x6009F65")]
[Address(RVA = "0x1F78110", Offset = "0x1F76F10", VA = "0x181F78110")]
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 = x[0];
uint num8 = num7 * num;
zz[0] = num8;
uint num9 = num7 * num2;
num9 += num8;
zz[0] = num9;
num8 = num7;
uint num10 = num8 * num3;
num10 += num9;
zz[1] = num10;
num9 = num7;
uint num11 = num9 * num4;
num11 += num10;
zz[1] = num11;
num10 = num7;
uint num12 = num10 * num5;
num12 += num11;
uint num13 = num7 * num6;
zz[2] = num12;
num13 += num12;
zz[2] = num13;
zz[3] = num13;
uint num15;
uint num14 = x[(int)num15];
uint num16 = num15 + 1U;
uint num17 = zz[(int)num15];
num12 = num14;
uint num18 = num12 * num;
num18 += num17;
zz[0] = num18;
uint num19 = zz[(int)num16];
num17 = num14;
uint num20 = num17 * num2;
num19 += num20;
num19 += num18;
zz[0] = num19;
uint num21 = zz[(int)num16];
num20 = num14;
uint num22 = num20 * num3;
num21 += num22;
num21 += num19;
zz[0] = num21;
uint num23 = zz[(int)num16];
num22 = num14;
uint num24 = num22 * num4;
num23 += num24;
num23 += num21;
zz[0] = num23;
uint num25 = zz[(int)num16];
num24 = num14;
uint num26 = num24 * num5;
num25 += num26;
num25 += num23;
zz[0] = num25;
uint num27 = zz[(int)num23];
num15 += (uint)6;
uint num28 = num14 * num6;
num27 += num28;
num27 += num25;
zz[0] = num27;
num15 += (uint)1;
zz[0] = num27;
}
// Token: 0x06009F66 RID: 40806 RVA: 0x0021C2F8 File Offset: 0x0021A4F8
[Token(Token = "0x6009F66")]
[Address(RVA = "0x1F78500", Offset = "0x1F77300", VA = "0x181F78500")]
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[num2];
uint num6 = y[num2];
uint num7 = y[yOff];
uint num8 = x[xOff];
uint num9 = num8 * num;
uint num10 = num8 * num3;
num10 += num9;
num9 = num8;
uint num11 = num9 * num4;
num11 += num10;
num10 = num8;
uint num12 = num10 * num5;
num12 += num11;
num11 = num8;
uint num13 = num11 * num6;
num13 += num12;
uint num14 = num8 * num7;
num14 += num13;
int num15 = xOff + 1;
uint num16 = x[num15];
num12 = num16;
uint num17 = num12 * num;
num17 += (uint)num15;
uint num18 = num16 * num3;
num18 = num16;
num17 += num18;
num18 = num16;
uint num19 = num18 * num6;
num17 += num19;
uint num20 = num16 * num7;
num19 += num20;
num19 += num17;
num15++;
num15 -= xOff;
}
// Token: 0x06009F67 RID: 40807 RVA: 0x0021C414 File Offset: 0x0021A614
[Token(Token = "0x6009F67")]
[Address(RVA = "0x1F77A50", Offset = "0x1F76850", VA = "0x181F77A50")]
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];
int num7 = 0;
uint num8 = x[num7];
uint num9 = zz[num7];
uint num10 = num8 * num;
num10 += num9;
zz[0] = num10;
num9 = num8;
uint num11 = num9 * num2;
uint num12;
num12 += num11;
num12 += num10;
zz[0] = num12;
num11 = num8;
uint num13 = num11 * num3;
uint num14;
num14 += num13;
num14 += num12;
zz[0] = num14;
num13 = num8;
uint num15 = num13 * num4;
uint num16;
num16 += num15;
num16 += num14;
zz[0] = num16;
num15 = num8;
uint num17 = num15 * num5;
uint num18;
num18 += num17;
num18 += num16;
zz[0] = num18;
num7 += 6;
uint num19;
num19 += num8;
num19 += num18;
zz[0] = num19;
uint num20 = zz[num7];
num7++;
num7 += (int)num20;
num7 += (int)num19;
zz[0] = (uint)num7;
throw new NullReferenceException();
}
// Token: 0x06009F68 RID: 40808 RVA: 0x0021C558 File Offset: 0x0021A758
[Token(Token = "0x6009F68")]
[Address(RVA = "0x1F77740", Offset = "0x1F76540", VA = "0x181F77740")]
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)num4];
uint num7 = y[yOff];
int num8 = 0;
uint num9 = x[(int)num7];
uint num10 = num9 * num;
num10 += num7;
num7 = num9;
num10 += num7;
num7 = num9;
uint num11 = num7 * num5;
num11 = num9;
uint num12 = num11 * num6;
num10 += num9;
num8 += (int)num12;
num8 += (int)num10;
throw new NullReferenceException();
}
// Token: 0x06009F69 RID: 40809 RVA: 0x0021C600 File Offset: 0x0021A800
[Token(Token = "0x6009F69")]
[Address(RVA = "0x1F77180", Offset = "0x1F75F80", VA = "0x181F77180")]
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 = num16 * w;
num17 += num14;
uint num18;
num17 += num18;
num3 += num17;
throw new NullReferenceException();
}
// Token: 0x06009F6A RID: 40810 RVA: 0x0021C6FC File Offset: 0x0021A8FC
[Token(Token = "0x6009F6A")]
[Address(RVA = "0x1F77D20", Offset = "0x1F76B20", VA = "0x181F77D20")]
public static uint MulWordAddExt(uint x, uint[] yy, int yyOff, uint[] zz, int zzOff)
{
uint num = yy[yyOff] * x;
uint num2;
num += num2;
int num3 = yyOff + 1;
zz[0] = num;
uint num4 = yy[num3] * x;
uint num5;
num5 += num4;
num5 += num;
zz[0] = num5;
uint num6 = yy[(int)num4] * x;
uint num7;
num7 += num6;
num7 += num5;
zz[0] = num7;
uint num8 = yy[(int)num6] * x;
uint num9;
num9 += num8;
num9 += num7;
zz[0] = num9;
uint num10 = yy[(int)num8] * x;
uint num11;
num11 += num10;
num11 += num9;
zz[0] = num11;
uint num12 = yy[yyOff];
uint num13 = zz[yy];
uint num14 = num12 * x;
num13 += num14;
num13 += num11;
zz[0] = num13;
return num13;
}
// Token: 0x06009F6B RID: 40811 RVA: 0x0021C7E0 File Offset: 0x0021A9E0
[Token(Token = "0x6009F6B")]
[Address(RVA = "0x1F774D0", Offset = "0x1F762D0", VA = "0x181F774D0")]
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 && num7 == (uint)z.Length)
{
num7 += (uint)1;
num7 -= (uint)zOff;
uint num9;
return num9;
}
throw new NullReferenceException();
}
// Token: 0x06009F6C RID: 40812 RVA: 0x0021C88C File Offset: 0x0021AA8C
[Token(Token = "0x6009F6C")]
[Address(RVA = "0x1F77640", Offset = "0x1F76440", VA = "0x181F77640")]
public static uint Mul33WordAdd(uint x, uint y, uint[] z, int zOff)
{
uint num = z[zOff];
int num2 = zOff + 1;
uint num3 = x * y;
num3 += num;
z[0] = num3;
uint num4 = z[num2];
num4 += y;
num3 += num4;
z[0] = num3;
uint num5 = z[zOff];
num5 += num3;
z[0] = num5;
ulong num6;
if (num6 != (ulong)num5 && num5 == (uint)z.Length)
{
num5 += (uint)1;
num5 -= (uint)zOff;
uint num7;
return num7;
}
throw new NullReferenceException();
}
// Token: 0x06009F6D RID: 40813 RVA: 0x0021C910 File Offset: 0x0021AB10
[Token(Token = "0x6009F6D")]
[Address(RVA = "0x1F77F70", Offset = "0x1F76D70", VA = "0x181F77F70")]
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 && num6 == (uint)z.Length)
{
num6 += (uint)1;
num6 -= (uint)zOff;
uint num8;
return num8;
}
throw new NullReferenceException();
}
// Token: 0x06009F6E RID: 40814 RVA: 0x0021C99C File Offset: 0x0021AB9C
[Token(Token = "0x6009F6E")]
[Address(RVA = "0x1F78080", Offset = "0x1F76E80", VA = "0x181F78080")]
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: 0x06009F6F RID: 40815 RVA: 0x0021C9C8 File Offset: 0x0021ABC8
[Token(Token = "0x6009F6F")]
[Address(RVA = "0x1F78950", Offset = "0x1F77750", VA = "0x181F78950")]
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;
num4 = num9;
uint num13 = num4 * num6;
zz[1] = num8;
num8 = num12;
num13 += num8;
num13 += num10;
num7 = num13;
num7 += num11;
uint num14 = x[1];
uint num15 = zz[2];
num7 += num15;
num10 = num14;
num15 = num13;
uint num16 = num10 * num;
uint num17 = zz[3];
num16 += num15;
zz[1] = num15;
num12 = num14;
uint num18 = num12 * num6;
uint num19 = num14 * num9;
num15 = num16;
num18 += num15;
num15 = num7;
num18 += num15;
num15 = num18;
num19 += num15;
num15 = num7;
num19 += num15;
num15 = num19;
num7 += num15;
num7 += num17;
int length2 = zz.Length;
uint num20 = x[2];
uint num21 = zz[3];
num13 = num7;
num13 += num21;
uint num22 = zz[4];
num7 = num20;
uint num23 = num7 * num;
num22 = num18;
num23 += num22;
zz[2] = num22;
num22 = num23;
uint num24 = num20 * num6;
num24 += num22;
num22 = num19;
num24 += num22;
num19 = num20;
uint num25 = num19 * num9;
num22 = num24;
num25 += num22;
num22 = num7;
num25 += num22;
num7 = num20;
uint num26 = num7 * num14;
num22 = num25;
num26 += num22;
num22 = num13;
num26 += num22;
num22 = num26;
num13 += num22;
num13 += num22;
int length3 = zz.Length;
uint num27 = x[2];
uint num28 = zz[4];
num26 = num13;
num26 += num28;
uint num29 = zz[5];
uint num30 = num27 * num;
num29 = num24;
num30 += num29;
num = num27;
zz[2] = num29;
num23 = num27;
num29 = num30;
uint num31 = num * num6;
uint num32 = num23 * num9;
uint num33 = num27 * num14;
uint num34 = num27 * num20;
num31 += num29;
num29 = num25;
num31 += num29;
num29 = num31;
num32 += num29;
num32 += num26;
num26 = num32;
num33 += num26;
num26 = num13;
num33 += num26;
num26 = num33;
num34 += num26;
num34 += num26;
num26 = num34;
num26 += num26;
num26 += num29;
zz[3] = num29;
zz[3] = num29;
zz[4] = num29;
zz[4] = num29;
zz[5] = num29;
num29 = num26;
num29 += num29;
zz[5] = num29;
}
// Token: 0x06009F70 RID: 40816 RVA: 0x0021CD00 File Offset: 0x0021AF00
[Token(Token = "0x6009F70")]
[Address(RVA = "0x1F78F80", Offset = "0x1F77D80", VA = "0x181F78F80")]
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.m_value = 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;
int length2 = zz.Length;
uint num10 = x[(int)num9];
uint num11 = zz[xOff];
uint num12 = zz[(int)num9];
num4 = num10;
uint num13 = num4 * num;
num12 = num3;
num13 += num12;
num13 += num8;
num3 = num10;
zz[0] = num8;
num8 = num13;
uint num14 = num3 * num6;
num14 += num8;
num14 += num11;
num11 = num14;
num11 += num12;
uint num15 = x[(int)num12];
int length3 = zz.Length;
uint num16 = zz[(int)num12];
num12 = num11;
num16 += num12;
uint num17 = zz[(int)num12];
uint num18 = num15 * num;
num17 = num14;
num18 += num17;
zz[0] = num17;
num17 = num18;
num15 += num17;
num17 = num11;
num15 += num17;
uint num19 = num15 * num10;
num17 = num15;
num19 += num17;
num17 = num16;
num19 += num17;
num17 = num19;
num16 += num17;
num16 += num17;
uint num20 = x[(int)num17];
int length4 = zz.Length;
uint num21 = zz[length3];
num17 = num16;
num21 += num17;
uint num22 = num20 * num;
uint num23 = num15;
num22 += num23;
zz[0] = num23;
num15 = num20;
num23 = num22;
num15 += num23;
num23 = num19;
num15 += num23;
num19 = num20;
num23 = num15;
num15 = num20;
num19 += num23;
num23 = num16;
num19 += num23;
num23 = num19;
num15 += num23;
num23 = num21;
num15 += num23;
num23 = num15;
num21 += num23;
num21 += num23;
uint num24 = x[xOff];
int length5 = zz.Length;
uint num25 = zz[xOff];
num23 = num21;
num25 += num23;
uint num26 = zz[length4];
uint num27 = num24 * num;
num27 += num15;
zz[0] = num15;
num22 = num24;
num19 = num24;
num15 = num27;
num19 += num15;
num19 += num19;
num24 += num19;
num24 += num15;
num15 = num24;
num22 += num15;
num15 = num21;
num22 += num15;
num15 = num22;
num24 += num15;
num15 = num25;
num24 += num15;
num15 = num24;
num25 += num15;
num25 += num26;
zz[0] = num26;
zz[0] = num26;
zz[0] = num26;
zz[4] = num26;
zz[5] = num26;
num26 = num25;
num26 += num26;
zz[0] = num26;
}
// Token: 0x06009F71 RID: 40817 RVA: 0x0021D00C File Offset: 0x0021B20C
[Token(Token = "0x6009F71")]
[Address(RVA = "0x1F79D80", Offset = "0x1F78B80", VA = "0x181F79D80")]
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 = x[2];
uint num12 = y[2];
num2 -= num12;
num2 += num11;
z[2] = num2;
throw new NullReferenceException();
}
// Token: 0x06009F72 RID: 40818 RVA: 0x0021D0F0 File Offset: 0x0021B2F0
[Token(Token = "0x6009F72")]
[Address(RVA = "0x1F7A010", Offset = "0x1F78E10", VA = "0x181F7A010")]
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[yOff];
uint num14 = y[yOff];
num -= num14;
num += num13;
throw new NullReferenceException();
}
// Token: 0x06009F73 RID: 40819 RVA: 0x0021D1B4 File Offset: 0x0021B3B4
[Token(Token = "0x6009F73")]
[Address(RVA = "0x1F796C0", Offset = "0x1F784C0", VA = "0x181F796C0")]
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 = x[2];
uint num17 = y[2];
num2 -= num17;
uint num18 = z[2];
num2 -= num16;
num2 += num18;
z[2] = num2;
throw new NullReferenceException();
}
// Token: 0x06009F74 RID: 40820 RVA: 0x0021D2EC File Offset: 0x0021B4EC
[Token(Token = "0x6009F74")]
[Address(RVA = "0x1F79980", Offset = "0x1F78780", VA = "0x181F79980")]
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;
throw new NullReferenceException();
}
// Token: 0x06009F75 RID: 40821 RVA: 0x0021D3D0 File Offset: 0x0021B5D0
[Token(Token = "0x6009F75")]
[Address(RVA = "0x1F79B60", Offset = "0x1F78960", VA = "0x181F79B60")]
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 = z[(int)num8];
num10 += num12;
z[0] = num10;
uint num13 = x[xOff];
uint num14 = z[zOff];
num10 -= num13;
num14 += num10;
z[0] = num14;
throw new NullReferenceException();
}
// Token: 0x06009F76 RID: 40822 RVA: 0x0021D4C4 File Offset: 0x0021B6C4
[Token(Token = "0x6009F76")]
[Address(RVA = "0x1F7A3D0", Offset = "0x1F791D0", VA = "0x181F7A3D0")]
public static BigInteger ToBigInteger(uint[] x)
{
byte[] array = new byte[24];
int num = 0;
uint num2 = x[num];
if (num2 != (uint)0)
{
Pack.UInt32_To_BE(num2, array, 20);
}
num++;
return new BigInteger(1, array);
}
// Token: 0x06009F77 RID: 40823 RVA: 0x0021D504 File Offset: 0x0021B704
[Token(Token = "0x6009F77")]
[Address(RVA = "0x1F7A300", Offset = "0x1F79100", VA = "0x181F7A300")]
public static BigInteger ToBigInteger64(ulong[] x)
{
byte[] array = new byte[24];
int num = 0;
ulong num2 = x[num];
if (num2 != (ulong)0L)
{
Pack.UInt64_To_BE(num2, array, 16);
}
num++;
return new BigInteger(1, array);
}
// Token: 0x06009F78 RID: 40824 RVA: 0x0021D544 File Offset: 0x0021B744
[Token(Token = "0x6009F78")]
[Address(RVA = "0x1F7A4A0", Offset = "0x1F792A0", VA = "0x181F7A4A0")]
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;
}
// Token: 0x06009F79 RID: 40825 RVA: 0x0021D58C File Offset: 0x0021B78C
[Token(Token = "0x6009F79")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
protected Nat192()
{
}
// Token: 0x04006A57 RID: 27223
[Token(Token = "0x4006A57")]
private const ulong M = 4294967295UL;
}
}