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

1875 lines
43 KiB
C#

using System;
using System.Runtime.InteropServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw
{
// Token: 0x02001402 RID: 5122
[Token(Token = "0x2001402")]
[StructLayout(3)]
internal abstract class Nat256
{
// Token: 0x060083C9 RID: 33737 RVA: 0x001C8454 File Offset: 0x001C6654
[Token(Token = "0x60083C9")]
[Address(RVA = "0xC18F60", Offset = "0xC17960", VA = "0x180C18F60")]
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: 0x060083CA RID: 33738 RVA: 0x001C85A0 File Offset: 0x001C67A0
[Token(Token = "0x60083CA")]
[Address(RVA = "0xC18B90", Offset = "0xC17590", VA = "0x180C18B90")]
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: 0x060083CB RID: 33739 RVA: 0x001C86C0 File Offset: 0x001C68C0
[Token(Token = "0x60083CB")]
[Address(RVA = "0xC17AD0", Offset = "0xC164D0", VA = "0x180C17AD0")]
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: 0x060083CC RID: 33740 RVA: 0x001C885C File Offset: 0x001C6A5C
[Token(Token = "0x60083CC")]
[Address(RVA = "0xC17E60", Offset = "0xC16860", VA = "0x180C17E60")]
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: 0x060083CD RID: 33741 RVA: 0x001C8920 File Offset: 0x001C6B20
[Token(Token = "0x60083CD")]
[Address(RVA = "0xC18640", Offset = "0xC17040", VA = "0x180C18640")]
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: 0x060083CE RID: 33742 RVA: 0x001C8A4C File Offset: 0x001C6C4C
[Token(Token = "0x60083CE")]
[Address(RVA = "0xC188C0", Offset = "0xC172C0", VA = "0x180C188C0")]
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: 0x060083CF RID: 33743 RVA: 0x001C8BAC File Offset: 0x001C6DAC
[Token(Token = "0x60083CF")]
[Address(RVA = "0xC18270", Offset = "0xC16C70", VA = "0x180C18270")]
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: 0x060083D0 RID: 33744 RVA: 0x001C8D50 File Offset: 0x001C6F50
[Token(Token = "0x60083D0")]
[Address(RVA = "0xC194E0", Offset = "0xC17EE0", VA = "0x180C194E0")]
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: 0x060083D1 RID: 33745 RVA: 0x001C8DEC File Offset: 0x001C6FEC
[Token(Token = "0x60083D1")]
[Address(RVA = "0xC196E0", Offset = "0xC180E0", VA = "0x180C196E0")]
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: 0x060083D2 RID: 33746 RVA: 0x001C8E94 File Offset: 0x001C7094
[Token(Token = "0x60083D2")]
[Address(RVA = "0xC193F0", Offset = "0xC17DF0", VA = "0x180C193F0")]
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: 0x060083D3 RID: 33747 RVA: 0x001C8EE8 File Offset: 0x001C70E8
[Token(Token = "0x60083D3")]
[Address(RVA = "0xC192B0", Offset = "0xC17CB0", VA = "0x180C192B0")]
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: 0x060083D4 RID: 33748 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60083D4")]
[Address(RVA = "0xC199F0", Offset = "0xC183F0", VA = "0x180C199F0")]
public static uint[] Create()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060083D5 RID: 33749 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60083D5")]
[Address(RVA = "0xC19930", Offset = "0xC18330", VA = "0x180C19930")]
public static ulong[] Create64()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060083D6 RID: 33750 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60083D6")]
[Address(RVA = "0xC199B0", Offset = "0xC183B0", VA = "0x180C199B0")]
public static uint[] CreateExt()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060083D7 RID: 33751 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60083D7")]
[Address(RVA = "0xC19970", Offset = "0xC18370", VA = "0x180C19970")]
public static ulong[] CreateExt64()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060083D8 RID: 33752 RVA: 0x001C8F48 File Offset: 0x001C7148
[Token(Token = "0x60083D8")]
[Address(RVA = "0xC19A30", Offset = "0xC18430", VA = "0x180C19A30")]
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: 0x060083D9 RID: 33753 RVA: 0x001C8F68 File Offset: 0x001C7168
[Token(Token = "0x60083D9")]
[Address(RVA = "0xC19BA0", Offset = "0xC185A0", VA = "0x180C19BA0")]
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: 0x060083DA RID: 33754 RVA: 0x001C8F8C File Offset: 0x001C718C
[Token(Token = "0x60083DA")]
[Address(RVA = "0xC19B30", Offset = "0xC18530", VA = "0x180C19B30")]
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: 0x060083DB RID: 33755 RVA: 0x001C8FB0 File Offset: 0x001C71B0
[Token(Token = "0x60083DB")]
[Address(RVA = "0xC19D40", Offset = "0xC18740", VA = "0x180C19D40")]
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: 0x060083DC RID: 33756 RVA: 0x001C8FFC File Offset: 0x001C71FC
[Token(Token = "0x60083DC")]
[Address(RVA = "0xC19C10", Offset = "0xC18610", VA = "0x180C19C10")]
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: 0x060083DD RID: 33757 RVA: 0x001C9048 File Offset: 0x001C7248
[Token(Token = "0x60083DD")]
[Address(RVA = "0xC19E70", Offset = "0xC18870", VA = "0x180C19E70")]
public static uint GetBit(uint[] x, int bit)
{
if (bit != 0)
{
if (bit == 0)
{
return x[bit];
}
}
return x[0];
}
// Token: 0x060083DE RID: 33758 RVA: 0x001C9074 File Offset: 0x001C7274
[Token(Token = "0x60083DE")]
[Address(RVA = "0xC19EF0", Offset = "0xC188F0", VA = "0x180C19EF0")]
public static bool Gte(uint[] x, uint[] y)
{
uint num2;
uint num = y[(int)num2];
if (x[(int)num2] <= num)
{
}
throw new NullReferenceException();
}
// Token: 0x060083DF RID: 33759 RVA: 0x001C909C File Offset: 0x001C729C
[Token(Token = "0x60083DF")]
[Address(RVA = "0xC19F70", Offset = "0xC18970", VA = "0x180C19F70")]
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: 0x060083E0 RID: 33760 RVA: 0x001C90C0 File Offset: 0x001C72C0
[Token(Token = "0x60083E0")]
[Address(RVA = "0xC1A060", Offset = "0xC18A60", VA = "0x180C1A060")]
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: 0x060083E1 RID: 33761 RVA: 0x001C90F4 File Offset: 0x001C72F4
[Token(Token = "0x60083E1")]
[Address(RVA = "0xC19FF0", Offset = "0xC189F0", VA = "0x180C19FF0")]
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: 0x060083E2 RID: 33762 RVA: 0x001C9128 File Offset: 0x001C7328
[Token(Token = "0x60083E2")]
[Address(RVA = "0xC1A120", Offset = "0xC18B20", VA = "0x180C1A120")]
public static bool IsZero(uint[] x)
{
int num = 0;
if ("{il2cpp array field x->}" == (ulong)0L)
{
num++;
return true;
}
throw new NullReferenceException();
}
// Token: 0x060083E3 RID: 33763 RVA: 0x001C9150 File Offset: 0x001C7350
[Token(Token = "0x60083E3")]
[Address(RVA = "0xC1A0D0", Offset = "0xC18AD0", VA = "0x180C1A0D0")]
public static bool IsZero64(ulong[] x)
{
int num = 0;
if ("{il2cpp array field x->}" == (ulong)0L)
{
num++;
return true;
}
throw new NullReferenceException();
}
// Token: 0x060083E4 RID: 33764 RVA: 0x001C9178 File Offset: 0x001C7378
[Token(Token = "0x60083E4")]
[Address(RVA = "0xC1BD80", Offset = "0xC1A780", VA = "0x180C1BD80")]
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: 0x060083E5 RID: 33765 RVA: 0x001C9404 File Offset: 0x001C7604
[Token(Token = "0x60083E5")]
[Address(RVA = "0xC1B7F0", Offset = "0xC1A1F0", VA = "0x180C1B7F0")]
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: 0x060083E6 RID: 33766 RVA: 0x001C954C File Offset: 0x001C774C
[Token(Token = "0x60083E6")]
[Address(RVA = "0xC1ABD0", Offset = "0xC195D0", VA = "0x180C1ABD0")]
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: 0x060083E7 RID: 33767 RVA: 0x001C96A4 File Offset: 0x001C78A4
[Token(Token = "0x60083E7")]
[Address(RVA = "0xC1A7F0", Offset = "0xC191F0", VA = "0x180C1A7F0")]
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: 0x060083E8 RID: 33768 RVA: 0x001C9748 File Offset: 0x001C7948
[Token(Token = "0x60083E8")]
[Address(RVA = "0xC1A170", Offset = "0xC18B70", VA = "0x180C1A170")]
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: 0x060083E9 RID: 33769 RVA: 0x001C98A8 File Offset: 0x001C7AA8
[Token(Token = "0x60083E9")]
[Address(RVA = "0xC1B1F0", Offset = "0xC19BF0", VA = "0x180C1B1F0")]
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: 0x060083EA RID: 33770 RVA: 0x001C997C File Offset: 0x001C7B7C
[Token(Token = "0x60083EA")]
[Address(RVA = "0xC1AF50", Offset = "0xC19950", VA = "0x180C1AF50")]
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: 0x060083EB RID: 33771 RVA: 0x001C9AF8 File Offset: 0x001C7CF8
[Token(Token = "0x60083EB")]
[Address(RVA = "0xC1B370", Offset = "0xC19D70", VA = "0x180C1B370")]
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: 0x060083EC RID: 33772 RVA: 0x001C9C24 File Offset: 0x001C7E24
[Token(Token = "0x60083EC")]
[Address(RVA = "0xC1A5C0", Offset = "0xC18FC0", VA = "0x180C1A5C0")]
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: 0x060083ED RID: 33773 RVA: 0x001C9CC4 File Offset: 0x001C7EC4
[Token(Token = "0x60083ED")]
[Address(RVA = "0xC1A710", Offset = "0xC19110", VA = "0x180C1A710")]
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: 0x060083EE RID: 33774 RVA: 0x001C9D3C File Offset: 0x001C7F3C
[Token(Token = "0x60083EE")]
[Address(RVA = "0xC1B670", Offset = "0xC1A070", VA = "0x180C1B670")]
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: 0x060083EF RID: 33775 RVA: 0x001C9DB8 File Offset: 0x001C7FB8
[Token(Token = "0x60083EF")]
[Address(RVA = "0xC1B760", Offset = "0xC1A160", VA = "0x180C1B760")]
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: 0x060083F0 RID: 33776 RVA: 0x001C9DE4 File Offset: 0x001C7FE4
[Token(Token = "0x60083F0")]
[Address(RVA = "0xC1CD00", Offset = "0xC1B700", VA = "0x180C1CD00")]
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: 0x060083F1 RID: 33777 RVA: 0x001CA320 File Offset: 0x001C8520
[Token(Token = "0x60083F1")]
[Address(RVA = "0xC1C280", Offset = "0xC1AC80", VA = "0x180C1C280")]
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: 0x060083F2 RID: 33778 RVA: 0x001CA820 File Offset: 0x001C8A20
[Token(Token = "0x60083F2")]
[Address(RVA = "0xC1E2F0", Offset = "0xC1CCF0", VA = "0x180C1E2F0")]
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: 0x060083F3 RID: 33779 RVA: 0x001CA94C File Offset: 0x001C8B4C
[Token(Token = "0x60083F3")]
[Address(RVA = "0xC1DF10", Offset = "0xC1C910", VA = "0x180C1DF10")]
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: 0x060083F4 RID: 33780 RVA: 0x001CAA4C File Offset: 0x001C8C4C
[Token(Token = "0x60083F4")]
[Address(RVA = "0xC1D640", Offset = "0xC1C040", VA = "0x180C1D640")]
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: 0x060083F5 RID: 33781 RVA: 0x001CABE8 File Offset: 0x001C8DE8
[Token(Token = "0x60083F5")]
[Address(RVA = "0xC1DC90", Offset = "0xC1C690", VA = "0x180C1DC90")]
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: 0x060083F6 RID: 33782 RVA: 0x001CAD14 File Offset: 0x001C8F14
[Token(Token = "0x60083F6")]
[Address(RVA = "0xC1D9D0", Offset = "0xC1C3D0", VA = "0x180C1D9D0")]
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: 0x060083F7 RID: 33783 RVA: 0x001CAE48 File Offset: 0x001C9048
[Token(Token = "0x60083F7")]
[Address(RVA = "0xC1E720", Offset = "0xC1D120", VA = "0x180C1E720")]
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: 0x060083F8 RID: 33784 RVA: 0x001CAE88 File Offset: 0x001C9088
[Token(Token = "0x60083F8")]
[Address(RVA = "0xC1E650", Offset = "0xC1D050", VA = "0x180C1E650")]
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: 0x060083F9 RID: 33785 RVA: 0x001CAEC8 File Offset: 0x001C90C8
[Token(Token = "0x60083F9")]
[Address(RVA = "0xC1E7F0", Offset = "0xC1D1F0", VA = "0x180C1E7F0")]
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: 0x060083FA RID: 33786 RVA: 0x001CAF20 File Offset: 0x001C9120
[Token(Token = "0x60083FA")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
protected Nat256()
{
}
// Token: 0x04005C16 RID: 23574
[Token(Token = "0x4005C16")]
private const ulong M = 4294967295UL;
}
}