This commit is contained in:
niko
2026-04-11 22:19:20 +02:00
parent 45b857ff11
commit 8fc35183db
17034 changed files with 2863552 additions and 0 deletions
@@ -0,0 +1,119 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw
{
// Token: 0x020019D8 RID: 6616
[Token(Token = "0x20019D8")]
internal abstract class Interleave
{
// Token: 0x06009E84 RID: 40580 RVA: 0x00216FB0 File Offset: 0x002151B0
[Token(Token = "0x6009E84")]
[Address(RVA = "0x1F6CCE0", Offset = "0x1F6BAE0", VA = "0x181F6CCE0")]
internal static uint Expand8to16(uint x)
{
return x;
}
// Token: 0x06009E85 RID: 40581 RVA: 0x00216FC0 File Offset: 0x002151C0
[Token(Token = "0x6009E85")]
[Address(RVA = "0x1F6C9D0", Offset = "0x1F6B7D0", VA = "0x181F6C9D0")]
internal static uint Expand16to32(uint x)
{
return x;
}
// Token: 0x06009E86 RID: 40582 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009E86")]
[Address(RVA = "0x1F6CA10", Offset = "0x1F6B810", VA = "0x181F6CA10")]
internal static ulong Expand32to64(uint x)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009E87 RID: 40583 RVA: 0x00216FD0 File Offset: 0x002151D0
[Token(Token = "0x6009E87")]
[Address(RVA = "0x1F6CBC0", Offset = "0x1F6B9C0", VA = "0x181F6CBC0")]
internal static void Expand64To128(ulong x, ulong[] z, int zOff)
{
z[0] = x;
z[0] = x;
}
// Token: 0x06009E88 RID: 40584 RVA: 0x00216FF4 File Offset: 0x002151F4
[Token(Token = "0x6009E88")]
[Address(RVA = "0x1F6CAA0", Offset = "0x1F6B8A0", VA = "0x181F6CAA0")]
internal static void Expand64To128Rev(ulong x, ulong[] z, int zOff)
{
z[0] = x;
z[0] = x;
}
// Token: 0x06009E89 RID: 40585 RVA: 0x00217018 File Offset: 0x00215218
[Token(Token = "0x6009E89")]
[Address(RVA = "0x1F6CE30", Offset = "0x1F6BC30", VA = "0x181F6CE30")]
internal static uint Shuffle(uint x)
{
return x;
}
// Token: 0x06009E8A RID: 40586 RVA: 0x00217028 File Offset: 0x00215228
[Token(Token = "0x6009E8A")]
[Address(RVA = "0x1F6CD80", Offset = "0x1F6BB80", VA = "0x181F6CD80")]
internal static ulong Shuffle(ulong x)
{
return (ulong)2459565876494606882L;
}
// Token: 0x06009E8B RID: 40587 RVA: 0x00217040 File Offset: 0x00215240
[Token(Token = "0x6009E8B")]
[Address(RVA = "0x1F6CD10", Offset = "0x1F6BB10", VA = "0x181F6CD10")]
internal static uint Shuffle2(uint x)
{
return x;
}
// Token: 0x06009E8C RID: 40588 RVA: 0x00217050 File Offset: 0x00215250
[Token(Token = "0x6009E8C")]
[Address(RVA = "0x1F6CFC0", Offset = "0x1F6BDC0", VA = "0x181F6CFC0")]
internal static uint Unshuffle(uint x)
{
return x;
}
// Token: 0x06009E8D RID: 40589 RVA: 0x00217060 File Offset: 0x00215260
[Token(Token = "0x6009E8D")]
[Address(RVA = "0x1F6CF10", Offset = "0x1F6BD10", VA = "0x181F6CF10")]
internal static ulong Unshuffle(ulong x)
{
return x;
}
// Token: 0x06009E8E RID: 40590 RVA: 0x00217070 File Offset: 0x00215270
[Token(Token = "0x6009E8E")]
[Address(RVA = "0x1F6CEA0", Offset = "0x1F6BCA0", VA = "0x181F6CEA0")]
internal static uint Unshuffle2(uint x)
{
return x;
}
// Token: 0x06009E8F RID: 40591 RVA: 0x00217080 File Offset: 0x00215280
[Token(Token = "0x6009E8F")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
protected Interleave()
{
}
// Token: 0x04006A50 RID: 27216
[Token(Token = "0x4006A50")]
private const ulong M32 = 1431655765UL;
// Token: 0x04006A51 RID: 27217
[Token(Token = "0x4006A51")]
private const ulong M64 = 6148914691236517205UL;
// Token: 0x04006A52 RID: 27218
[Token(Token = "0x4006A52")]
private const ulong M64R = 12297829382473034410UL;
}
}
@@ -0,0 +1,196 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw
{
// Token: 0x020019D9 RID: 6617
[Token(Token = "0x20019D9")]
internal abstract class Mod
{
// Token: 0x06009E90 RID: 40592 RVA: 0x00217094 File Offset: 0x00215294
[Token(Token = "0x6009E90")]
[Address(RVA = "0x1F6D430", Offset = "0x1F6C230", VA = "0x181F6D430")]
public static void Invert(uint[] p, uint[] x, uint[] z)
{
/*
An exception occurred when decompiling this method (06009E90)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw.Mod::Invert(System.UInt32[],System.UInt32[],System.UInt32[])
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_238:
stloc:ArgumentException(var_27_247, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("cannot be 0"), ldstr:string("x")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x06009E91 RID: 40593 RVA: 0x002172EC File Offset: 0x002154EC
[Token(Token = "0x6009E91")]
[Address(RVA = "0x1F6DBC0", Offset = "0x1F6C9C0", VA = "0x181F6DBC0")]
public static uint[] Random(uint[] p)
{
uint[] array;
int num3;
uint num4;
do
{
int i = p.Length;
array = new uint[i];
int num = i - 1;
byte[] array2 = new byte[i];
int num2 = 0;
Pack.BE_To_UInt32(array2, num2, array);
num3 = i - 1;
while (i <= 0)
{
}
int length = array.Length;
num4 = p[num3];
}
while (array[num3] > num4);
return array;
}
// Token: 0x06009E92 RID: 40594 RVA: 0x0021734C File Offset: 0x0021554C
[Token(Token = "0x6009E92")]
[Address(RVA = "0x1F6D150", Offset = "0x1F6BF50", VA = "0x181F6D150")]
public static void Add(uint[] p, uint[] x, uint[] y, uint[] z)
{
int length = p.Length;
if (Nat.Add(length, x, y, z) != (uint)0)
{
int num = Nat.SubFrom(length, p, z);
}
}
// Token: 0x06009E93 RID: 40595 RVA: 0x0021737C File Offset: 0x0021557C
[Token(Token = "0x6009E93")]
[Address(RVA = "0x1F6DDB0", Offset = "0x1F6CBB0", VA = "0x181F6DDB0")]
public static void Subtract(uint[] p, uint[] x, uint[] y, uint[] z)
{
int length = p.Length;
int num = 0;
if (length > 0)
{
uint num2 = x[num];
num++;
uint num3 = y[num];
num2 -= num3;
num += (int)num2;
z[0] = (uint)num;
}
if (num != 0 && length > 0)
{
uint num4 = z[num];
num++;
uint num5 = p[num];
num += (int)num4;
num += (int)num5;
z[0] = (uint)num;
}
}
// Token: 0x06009E94 RID: 40596 RVA: 0x002173F0 File Offset: 0x002155F0
[Token(Token = "0x6009E94")]
[Address(RVA = "0x1F6D1D0", Offset = "0x1F6BFD0", VA = "0x181F6D1D0")]
private static void InversionResult(uint[] p, int ac, uint[] a, uint[] z)
{
int length = p.Length;
int num = 0;
int num2 = 0;
Array.Copy(a, num2, z, num, length);
}
// Token: 0x06009E95 RID: 40597 RVA: 0x00217424 File Offset: 0x00215624
[Token(Token = "0x6009E95")]
[Address(RVA = "0x1F6D230", Offset = "0x1F6C030", VA = "0x181F6D230")]
private static void InversionStep(uint[] p, uint[] u, int uLen, uint[] x, ref int xc)
{
int length = p.Length;
int num = 0;
uint num2 = u[0];
if (num2 == (uint)0)
{
int num3 = uLen - 1;
u[0] = (uint)num;
num += 32;
}
uint num5;
if (num2 == (uint)1)
{
num++;
while (num2 == (uint)1)
{
}
if (num > 0)
{
int num4 = uLen - 1;
num5 = u[num4];
u[0] = num5;
num += num;
}
}
if (num > 0)
{
if ("{il2cpp array field x->}" != (ulong)1L)
{
int num6 = Nat.SubFrom(length, p, x);
uint num7 = Nat.AddTo(length, p, x);
num7 += num5;
}
uint num8 = Nat.ShiftDownBit(length, x, (uint)num);
num++;
}
}
// Token: 0x06009E96 RID: 40598 RVA: 0x002174C4 File Offset: 0x002156C4
[Token(Token = "0x6009E96")]
[Address(RVA = "0x1F6D1B0", Offset = "0x1F6BFB0", VA = "0x181F6D1B0")]
private static int GetTrailingZeroes(uint x)
{
int num = 0;
if (x == (uint)1)
{
num++;
while (x == (uint)1)
{
}
}
return num;
}
// Token: 0x06009E97 RID: 40599 RVA: 0x002174E4 File Offset: 0x002156E4
[Token(Token = "0x6009E97")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
protected Mod()
{
}
// Token: 0x06009E98 RID: 40600 RVA: 0x002174F8 File Offset: 0x002156F8
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x6009E98")]
[Address(RVA = "0x1F6DEF0", Offset = "0x1F6CCF0", VA = "0x181F6DEF0")]
static Mod()
{
SecureRandom secureRandom = new SecureRandom();
}
// Token: 0x04006A53 RID: 27219
[Token(Token = "0x4006A53")]
private static readonly SecureRandom RandomSource;
}
}
@@ -0,0 +1,1698 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw
{
// Token: 0x020019DA RID: 6618
[Token(Token = "0x20019DA")]
internal abstract class Nat
{
// Token: 0x06009E99 RID: 40601 RVA: 0x0021750C File Offset: 0x0021570C
[Token(Token = "0x6009E99")]
[Address(RVA = "0x1F7B0F0", Offset = "0x1F79EF0", VA = "0x181F7B0F0")]
public static uint Add(int len, uint[] x, uint[] y, uint[] z)
{
int num = 0;
if (len > 0)
{
uint num2 = y[num];
num++;
uint num3 = x[num];
num += (int)num2;
num += (int)num3;
z[0] = (uint)num;
}
throw new NullReferenceException();
}
// Token: 0x06009E9A RID: 40602 RVA: 0x00217548 File Offset: 0x00215748
[Token(Token = "0x6009E9A")]
[Address(RVA = "0x1F7A550", Offset = "0x1F79350", VA = "0x181F7A550")]
public static uint Add33At(int len, uint x, uint[] z, int zPos)
{
uint num = z[zPos];
z[0] = x;
uint num2 = z[zPos];
num2 += (uint)1;
z[0] = x;
ulong num3;
if (num3 == (ulong)x)
{
}
if (num3 < (ulong)len)
{
while (num3 != (ulong)z.Length)
{
}
num3 += (ulong)1L;
}
uint num4;
return num4;
}
// Token: 0x06009E9B RID: 40603 RVA: 0x0021759C File Offset: 0x0021579C
[Token(Token = "0x6009E9B")]
[Address(RVA = "0x1F7A610", Offset = "0x1F79410", VA = "0x181F7A610")]
public static uint Add33At(int len, uint x, uint[] z, int zOff, int zPos)
{
uint num;
num += x;
z[0] = num;
uint num2;
num2 += (uint)1;
num += num2;
z[0] = num;
ulong num3;
if (num3 == (ulong)num)
{
}
while (num != (uint)z.Length)
{
}
num += (uint)1;
uint num4;
return num4;
}
// Token: 0x06009E9C RID: 40604 RVA: 0x002175E4 File Offset: 0x002157E4
[Token(Token = "0x6009E9C")]
[Address(RVA = "0x1F7A6E0", Offset = "0x1F794E0", VA = "0x181F7A6E0")]
public static uint Add33To(int len, uint x, uint[] z)
{
uint num = z[0];
num += x;
z[0] = num;
uint num2 = z[0];
num2 += (uint)1;
num += num2;
z[0] = num;
ulong num3;
if (num3 == (ulong)num)
{
}
uint num4;
if (len > (int)num4)
{
while (num4 != (uint)z.Length)
{
}
num4 += (uint)1;
}
uint num5;
return num5;
}
// Token: 0x06009E9D RID: 40605 RVA: 0x00217644 File Offset: 0x00215844
[Token(Token = "0x6009E9D")]
[Address(RVA = "0x1F7A7A0", Offset = "0x1F795A0", VA = "0x181F7A7A0")]
public static uint Add33To(int len, uint x, uint[] z, int zOff)
{
uint num = z[zOff];
num += x;
z[0] = num;
uint num2 = z[zOff];
num2 += (uint)1;
num += num2;
z[0] = num;
ulong num3;
if (num3 == (ulong)num)
{
}
if (len > 2)
{
while (num != (uint)z.Length)
{
}
num += (uint)1;
num -= (uint)zOff;
}
uint num4;
return num4;
}
// Token: 0x06009E9E RID: 40606 RVA: 0x002176A4 File Offset: 0x002158A4
[Token(Token = "0x6009E9E")]
[Address(RVA = "0x1F7A860", Offset = "0x1F79660", VA = "0x181F7A860")]
public static uint AddBothTo(int len, uint[] x, uint[] y, uint[] z)
{
int num = 0;
if (len > 0)
{
uint num2 = y[num];
num++;
uint num3 = x[num];
num3 += num2;
uint num4 = z[num];
num += (int)num4;
num += (int)num3;
z[0] = (uint)num;
}
throw new NullReferenceException();
}
// Token: 0x06009E9F RID: 40607 RVA: 0x002176EC File Offset: 0x002158EC
[Token(Token = "0x6009E9F")]
[Address(RVA = "0x1F7A910", Offset = "0x1F79710", VA = "0x181F7A910")]
public static uint AddBothTo(int len, uint[] x, int xOff, uint[] y, int yOff, uint[] z, int zOff)
{
int num = 0;
if (len > 0)
{
uint num2 = x[x];
uint num3;
num2 += num3;
num += (int)num2;
}
throw new NullReferenceException();
}
// Token: 0x06009EA0 RID: 40608 RVA: 0x00217714 File Offset: 0x00215914
[Token(Token = "0x6009EA0")]
[Address(RVA = "0x1F7AA10", Offset = "0x1F79810", VA = "0x181F7AA10")]
public static uint AddDWordAt(int len, ulong x, uint[] z, int zPos)
{
uint num = z[zPos];
z[0] = (uint)x;
uint num2 = z[zPos];
num2 = (uint)((ulong)num2 + x);
num2 = (uint)((ulong)num2 + x);
z[0] = num2;
ulong num3;
if (num3 == (ulong)num2)
{
}
if (num2 < (uint)len)
{
while (num2 != (uint)z.Length)
{
}
num2 += (uint)1;
}
uint num4;
return num4;
}
// Token: 0x06009EA1 RID: 40609 RVA: 0x0021776C File Offset: 0x0021596C
[Token(Token = "0x6009EA1")]
[Address(RVA = "0x1F7AAD0", Offset = "0x1F798D0", VA = "0x181F7AAD0")]
public static uint AddDWordAt(int len, ulong x, uint[] z, int zOff, int zPos)
{
z[0] = (uint)x;
uint num = (uint)((ulong)num + x);
num = (uint)((ulong)num + x);
z[0] = num;
ulong num2;
if (num2 == (ulong)num)
{
}
while (num != (uint)z.Length)
{
}
num += (uint)1;
uint num3;
return num3;
}
// Token: 0x06009EA2 RID: 40610 RVA: 0x002177B0 File Offset: 0x002159B0
[Token(Token = "0x6009EA2")]
[Address(RVA = "0x1F7AC90", Offset = "0x1F79A90", VA = "0x181F7AC90")]
public static uint AddDWordTo(int len, ulong x, uint[] z)
{
uint num = z[0];
z[0] = (uint)x;
uint num2 = z[0];
z[0] = (uint)x;
ulong num3;
if (num3 == x)
{
}
uint num4;
if (len > (int)num4)
{
while (num4 != (uint)z.Length)
{
}
num4 += (uint)1;
}
uint num5;
return num5;
}
// Token: 0x06009EA3 RID: 40611 RVA: 0x00217804 File Offset: 0x00215A04
[Token(Token = "0x6009EA3")]
[Address(RVA = "0x1F7ABC0", Offset = "0x1F799C0", VA = "0x181F7ABC0")]
public static uint AddDWordTo(int len, ulong x, uint[] z, int zOff)
{
uint num = z[zOff];
z[0] = (uint)x;
uint num2 = z[zOff];
num2 = (uint)((ulong)num2 + x);
num2 = (uint)((ulong)num2 + x);
z[0] = num2;
ulong num3;
if (num3 == (ulong)num2)
{
}
if (len > 2)
{
while (num2 != (uint)z.Length)
{
}
num2 += (uint)1;
num2 -= (uint)zOff;
}
uint num4;
return num4;
}
// Token: 0x06009EA4 RID: 40612 RVA: 0x00217860 File Offset: 0x00215A60
[Token(Token = "0x6009EA4")]
[Address(RVA = "0x1F7AD50", Offset = "0x1F79B50", VA = "0x181F7AD50")]
public static uint AddTo(int len, uint[] x, uint[] z)
{
int num = 0;
if (len > 0)
{
uint num2 = z[num];
num++;
uint num3 = x[num];
num += (int)num2;
num += (int)num3;
z[0] = (uint)num;
}
throw new NullReferenceException();
}
// Token: 0x06009EA5 RID: 40613 RVA: 0x0021789C File Offset: 0x00215A9C
[Token(Token = "0x6009EA5")]
[Address(RVA = "0x1F7ADD0", Offset = "0x1F79BD0", VA = "0x181F7ADD0")]
public static uint AddTo(int len, uint[] x, int xOff, uint[] z, int zOff)
{
int num = 0;
if (len > 0)
{
uint num2 = x[len];
uint num3;
num += (int)num3;
num += (int)num2;
z[0] = (uint)num;
}
throw new NullReferenceException();
}
// Token: 0x06009EA6 RID: 40614 RVA: 0x002178CC File Offset: 0x00215ACC
[Token(Token = "0x6009EA6")]
[Address(RVA = "0x1F7AF20", Offset = "0x1F79D20", VA = "0x181F7AF20")]
public static uint AddWordAt(int len, uint x, uint[] z, int zPos)
{
uint num = z[zPos];
num += x;
z[0] = num;
ulong num2;
if (num2 == (ulong)num)
{
}
int num3 = zPos + 1;
if (num3 < len)
{
while (num3 != z.Length)
{
}
num3++;
}
uint num4;
return num4;
}
// Token: 0x06009EA7 RID: 40615 RVA: 0x00217910 File Offset: 0x00215B10
[Token(Token = "0x6009EA7")]
[Address(RVA = "0x1F7AE80", Offset = "0x1F79C80", VA = "0x181F7AE80")]
public static uint AddWordAt(int len, uint x, uint[] z, int zOff, int zPos)
{
uint num;
num += x;
z[0] = num;
ulong num2;
if (num2 == (ulong)num)
{
}
while (num != (uint)z.Length)
{
}
num += (uint)1;
uint num3;
return num3;
}
// Token: 0x06009EA8 RID: 40616 RVA: 0x00217944 File Offset: 0x00215B44
[Token(Token = "0x6009EA8")]
[Address(RVA = "0x1F7AFB0", Offset = "0x1F79DB0", VA = "0x181F7AFB0")]
public static uint AddWordTo(int len, uint x, uint[] z)
{
uint num = z[0];
num += x;
z[0] = num;
ulong num2;
if (num2 == (ulong)num)
{
}
uint num3;
if (len > (int)num3)
{
if (num3 != (uint)z.Length)
{
throw new NullReferenceException();
}
num3 += (uint)1;
}
return num3;
}
// Token: 0x06009EA9 RID: 40617 RVA: 0x00217988 File Offset: 0x00215B88
[Token(Token = "0x6009EA9")]
[Address(RVA = "0x1F7B050", Offset = "0x1F79E50", VA = "0x181F7B050")]
public static uint AddWordTo(int len, uint x, uint[] z, int zOff)
{
uint num = z[zOff];
num += x;
z[0] = num;
ulong num2;
if (num2 == (ulong)num)
{
}
if (len > 1)
{
int num3 = zOff + 1;
while (num3 != z.Length)
{
}
num3++;
num3 -= zOff;
}
uint num4;
return num4;
}
// Token: 0x06009EAA RID: 40618 RVA: 0x002179D0 File Offset: 0x00215BD0
[Token(Token = "0x6009EAA")]
[Address(RVA = "0x1F7B1A0", Offset = "0x1F79FA0", VA = "0x181F7B1A0")]
public static uint CAdd(int len, int mask, uint[] x, uint[] y, uint[] z)
{
int num = 0;
if (len > 0)
{
num++;
uint num2 = x[num];
num += (int)num2;
num += mask;
}
throw new NullReferenceException();
}
// Token: 0x06009EAB RID: 40619 RVA: 0x002179FC File Offset: 0x00215BFC
[Token(Token = "0x6009EAB")]
[Address(RVA = "0x1F7B260", Offset = "0x1F7A060", VA = "0x181F7B260")]
public static void CMov(int len, int mask, uint[] x, int xOff, uint[] z, int zOff)
{
if (len > 0)
{
}
}
// Token: 0x06009EAC RID: 40620 RVA: 0x00217A14 File Offset: 0x00215C14
[Token(Token = "0x6009EAC")]
[Address(RVA = "0x1F7B260", Offset = "0x1F7A060", VA = "0x181F7B260")]
public static void CMov(int len, int mask, int[] x, int xOff, int[] z, int zOff)
{
if (len > 0)
{
}
}
// Token: 0x06009EAD RID: 40621 RVA: 0x00217A2C File Offset: 0x00215C2C
[Token(Token = "0x6009EAD")]
[Address(RVA = "0x1F7B350", Offset = "0x1F7A150", VA = "0x181F7B350")]
public static void Copy(int len, uint[] x, uint[] z)
{
int num = 0;
int num2 = 0;
Array.Copy(x, num2, z, num, len);
}
// Token: 0x06009EAE RID: 40622 RVA: 0x00217A48 File Offset: 0x00215C48
[Token(Token = "0x6009EAE")]
[Address(RVA = "0x1F7B380", Offset = "0x1F7A180", VA = "0x181F7B380")]
public static uint[] Copy(int len, uint[] x)
{
uint[] array = new uint[len];
int num = 0;
int num2 = 0;
Array.Copy(x, num2, array, num, len);
return array;
}
// Token: 0x06009EAF RID: 40623 RVA: 0x00217A6C File Offset: 0x00215C6C
[Token(Token = "0x6009EAF")]
[Address(RVA = "0x1F7B320", Offset = "0x1F7A120", VA = "0x181F7B320")]
public static void Copy(int len, uint[] x, int xOff, uint[] z, int zOff)
{
}
// Token: 0x06009EB0 RID: 40624 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009EB0")]
[Address(RVA = "0x1F7B430", Offset = "0x1F7A230", VA = "0x181F7B430")]
public static uint[] Create(int len)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009EB1 RID: 40625 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009EB1")]
[Address(RVA = "0x1F7B3F0", Offset = "0x1F7A1F0", VA = "0x181F7B3F0")]
public static ulong[] Create64(int len)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009EB2 RID: 40626 RVA: 0x00217A7C File Offset: 0x00215C7C
[Token(Token = "0x6009EB2")]
[Address(RVA = "0x1F7B540", Offset = "0x1F7A340", VA = "0x181F7B540")]
public static int Dec(int len, uint[] z)
{
int num = 0;
if (len > 0)
{
uint num2 = z[num];
z[0] = num2;
if (num2 != (uint)(-1))
{
return 0;
}
num++;
}
return -1;
}
// Token: 0x06009EB3 RID: 40627 RVA: 0x00217AB4 File Offset: 0x00215CB4
[Token(Token = "0x6009EB3")]
[Address(RVA = "0x1F7B5A0", Offset = "0x1F7A3A0", VA = "0x181F7B5A0")]
public static int Dec(int len, uint[] x, uint[] z)
{
int num = 0;
if (num < len)
{
uint num2 = x[num];
num++;
z[0] = num2;
while (num2 == (uint)(-1))
{
}
if (num < len)
{
uint num3 = x[num];
num++;
z[0] = num3;
}
return 0;
}
return -1;
}
// Token: 0x06009EB4 RID: 40628 RVA: 0x00217B04 File Offset: 0x00215D04
[Token(Token = "0x6009EB4")]
[Address(RVA = "0x1F7B470", Offset = "0x1F7A270", VA = "0x181F7B470")]
public static int DecAt(int len, uint[] z, int zPos)
{
if (zPos < len)
{
uint num = z[zPos];
z[0] = num;
if (num != (uint)(-1))
{
return 0;
}
}
return -1;
}
// Token: 0x06009EB5 RID: 40629 RVA: 0x00217B34 File Offset: 0x00215D34
[Token(Token = "0x6009EB5")]
[Address(RVA = "0x1F7B4D0", Offset = "0x1F7A2D0", VA = "0x181F7B4D0")]
public static int DecAt(int len, uint[] z, int zOff, int zPos)
{
if (zPos < len)
{
uint num = z[zOff];
z[0] = num;
if (num == (uint)(-1))
{
num -= (uint)zOff;
}
}
return 0;
}
// Token: 0x06009EB6 RID: 40630 RVA: 0x00217B68 File Offset: 0x00215D68
[Token(Token = "0x6009EB6")]
[Address(RVA = "0x1F7B670", Offset = "0x1F7A470", VA = "0x181F7B670")]
public static bool Eq(int len, uint[] x, uint[] y)
{
uint num = y[len];
if ("{il2cpp array field x->}" == num)
{
}
throw new NullReferenceException();
}
// Token: 0x06009EB7 RID: 40631 RVA: 0x00217B8C File Offset: 0x00215D8C
[Token(Token = "0x6009EB7")]
[Address(RVA = "0x1F7B6E0", Offset = "0x1F7A4E0", VA = "0x181F7B6E0")]
public static uint[] FromBigInteger(int bits, BigInteger x)
{
int num = 0;
int bitLength = x.BitLength;
uint[] array = new uint[num];
int num2 = 0;
if (x.sign != 0)
{
num2++;
int intValue = x.IntValue;
array[0] = (uint)intValue;
BigInteger bigInteger = x.ShiftRight(32);
}
return array;
}
// Token: 0x06009EB8 RID: 40632 RVA: 0x00217BDC File Offset: 0x00215DDC
[Token(Token = "0x6009EB8")]
[Address(RVA = "0x1F7B810", Offset = "0x1F7A610", VA = "0x181F7B810")]
public static uint GetBit(uint[] x, int bit)
{
if (bit != 0)
{
if (bit < x.Length)
{
return x[bit];
}
}
return x[0];
}
// Token: 0x06009EB9 RID: 40633 RVA: 0x00217C10 File Offset: 0x00215E10
[Token(Token = "0x6009EB9")]
[Address(RVA = "0x1F7B890", Offset = "0x1F7A690", VA = "0x181F7B890")]
public static bool Gte(int len, uint[] x, uint[] y)
{
uint num = y[len];
if (x[len] <= num)
{
}
throw new NullReferenceException();
}
// Token: 0x06009EBA RID: 40634 RVA: 0x00217C38 File Offset: 0x00215E38
[Token(Token = "0x6009EBA")]
[Address(RVA = "0x1F7BAA0", Offset = "0x1F7A8A0", VA = "0x181F7BAA0")]
public static uint Inc(int len, uint[] z)
{
int num = 0;
if (len > 0)
{
if (num != z.Length)
{
throw new NullReferenceException();
}
num++;
}
uint num2;
return num2;
}
// Token: 0x06009EBB RID: 40635 RVA: 0x00217C64 File Offset: 0x00215E64
[Token(Token = "0x6009EBB")]
[Address(RVA = "0x1F7B9D0", Offset = "0x1F7A7D0", VA = "0x181F7B9D0")]
public static uint Inc(int len, uint[] x, uint[] z)
{
int num = 0;
if (num < len)
{
uint num2 = x[num];
num2 += (uint)1;
num++;
z[0] = num2;
while (num2 == (uint)0)
{
}
if (num < len)
{
uint num3 = x[num];
num++;
z[0] = num3;
}
}
return (uint)1;
}
// Token: 0x06009EBC RID: 40636 RVA: 0x00217CB8 File Offset: 0x00215EB8
[Token(Token = "0x6009EBC")]
[Address(RVA = "0x1F7B970", Offset = "0x1F7A770", VA = "0x181F7B970")]
public static uint IncAt(int len, uint[] z, int zPos)
{
if (zPos >= len || zPos == z.Length)
{
uint num;
return num;
}
throw new NullReferenceException();
}
// Token: 0x06009EBD RID: 40637 RVA: 0x00217CDC File Offset: 0x00215EDC
[Token(Token = "0x6009EBD")]
[Address(RVA = "0x1F7B910", Offset = "0x1F7A710", VA = "0x181F7B910")]
public static uint IncAt(int len, uint[] z, int zOff, int zPos)
{
if (zPos < len)
{
}
uint num;
return num;
}
// Token: 0x06009EBE RID: 40638 RVA: 0x00217CF8 File Offset: 0x00215EF8
[Token(Token = "0x6009EBE")]
[Address(RVA = "0x1F7BB00", Offset = "0x1F7A900", VA = "0x181F7BB00")]
public static bool IsOne(int len, uint[] x)
{
int length = x.Length;
if ("{il2cpp array field x->}" == (ulong)1L && (len <= 1 || "{il2cpp array field x->}" == (ulong)0L))
{
return true;
}
throw new NullReferenceException();
}
// Token: 0x06009EBF RID: 40639 RVA: 0x00217D30 File Offset: 0x00215F30
[Token(Token = "0x6009EBF")]
[Address(RVA = "0x1F7BB70", Offset = "0x1F7A970", VA = "0x181F7BB70")]
public static bool IsZero(int len, uint[] x)
{
int length = x.Length;
if ("{il2cpp array field x->}" == (ulong)0L && (len <= 1 || "{il2cpp array field x->}" == (ulong)0L))
{
return true;
}
throw new NullReferenceException();
}
// Token: 0x06009EC0 RID: 40640 RVA: 0x00217D68 File Offset: 0x00215F68
[Token(Token = "0x6009EC0")]
[Address(RVA = "0x1F7C5A0", Offset = "0x1F7B3A0", VA = "0x181F7C5A0")]
public static void Mul(int len, uint[] x, uint[] y, uint[] zz)
{
uint num = x[0];
int num2 = 0;
uint num3 = y[num2] * num;
num2 += (int)num3;
zz[0] = (uint)num2;
zz[0] = (uint)num2;
uint num4;
if (len > (int)num4)
{
int num5 = 0;
uint num6 = x[(int)num4];
uint num7 = Nat.MulWordAddTo(len, num6, y, num5, zz, (int)num4);
num4 += (uint)1;
zz[0] = num7;
}
}
// Token: 0x06009EC1 RID: 40641 RVA: 0x00217DD0 File Offset: 0x00215FD0
[Token(Token = "0x6009EC1")]
[Address(RVA = "0x1F7C3C0", Offset = "0x1F7B1C0", VA = "0x181F7C3C0")]
public static void Mul(int len, uint[] x, int xOff, uint[] y, int yOff, uint[] zz, int zzOff)
{
uint num;
if (len > (int)num)
{
int num2 = xOff + 1;
int num3 = 0;
uint num4 = x[len];
num3 += 0;
uint num6;
uint num5 = num6 * num4;
num3 += (int)num5;
num += (uint)1;
num2++;
}
}
// Token: 0x06009EC2 RID: 40642 RVA: 0x00217E14 File Offset: 0x00216014
[Token(Token = "0x6009EC2")]
[Address(RVA = "0x1F7C1E0", Offset = "0x1F7AFE0", VA = "0x181F7C1E0")]
public static void Mul(uint[] x, int xOff, int xLen, uint[] y, int yOff, int yLen, uint[] zz, int zzOff)
{
int num = xOff + 1;
int num2 = 0;
uint num3 = x[num];
num2 += 0;
uint num5;
uint num4 = num5 * num3;
num2 += (int)num4;
uint num6;
num6 += (uint)1;
num++;
}
// Token: 0x06009EC3 RID: 40643 RVA: 0x00217E50 File Offset: 0x00216050
[Token(Token = "0x6009EC3")]
[Address(RVA = "0x1F7BDF0", Offset = "0x1F7ABF0", VA = "0x181F7BDF0")]
public static uint MulAddTo(int len, uint[] x, uint[] y, uint[] zz)
{
int num = 0;
if (len > 0)
{
int num2 = 0;
uint num3 = x[num];
num3 = Nat.MulWordAddTo(len, num3, y, num2, zz, num);
num++;
uint num4;
num4 += num3;
num += (int)num4;
zz[0] = (uint)num;
}
throw new NullReferenceException();
}
// Token: 0x06009EC4 RID: 40644 RVA: 0x00217E94 File Offset: 0x00216094
[Token(Token = "0x6009EC4")]
[Address(RVA = "0x1F7BCD0", Offset = "0x1F7AAD0", VA = "0x181F7BCD0")]
public static uint MulAddTo(int len, uint[] x, int xOff, uint[] y, int yOff, uint[] zz, int zzOff)
{
int num = 0;
if (len > 0)
{
uint num2 = x[xOff];
uint num3;
num2 = num3;
num3 += num2;
num += (int)num3;
}
throw new NullReferenceException();
}
// Token: 0x06009EC5 RID: 40645 RVA: 0x00217EC0 File Offset: 0x002160C0
[Token(Token = "0x6009EC5")]
[Address(RVA = "0x1F7BBE0", Offset = "0x1F7A9E0", VA = "0x181F7BBE0")]
public static uint Mul31BothAdd(int len, uint a, uint[] x, uint b, uint[] y, uint[] z, int zOff)
{
int num = 0;
uint num2 = x[num];
int num3 = num * (int)b;
uint num4 = num2 * a;
num4 += (uint)num3;
num += num3;
num += (int)num4;
throw new NullReferenceException();
}
// Token: 0x06009EC6 RID: 40646 RVA: 0x00217EF0 File Offset: 0x002160F0
[Token(Token = "0x6009EC6")]
[Address(RVA = "0x1F7C0B0", Offset = "0x1F7AEB0", VA = "0x181F7C0B0")]
public static uint MulWord(int len, uint x, uint[] y, uint[] z)
{
int num = 0;
uint num2 = y[num] * x;
num += (int)num2;
z[0] = (uint)num;
throw new NullReferenceException();
}
// Token: 0x06009EC7 RID: 40647 RVA: 0x00217F1C File Offset: 0x0021611C
[Token(Token = "0x6009EC7")]
[Address(RVA = "0x1F7C130", Offset = "0x1F7AF30", VA = "0x181F7C130")]
public static uint MulWord(int len, uint x, uint[] y, int yOff, uint[] z, int zOff)
{
int num = 0;
uint num3;
uint num2 = num3 * x;
num += (int)num2;
throw new NullReferenceException();
}
// Token: 0x06009EC8 RID: 40648 RVA: 0x00217F38 File Offset: 0x00216138
[Token(Token = "0x6009EC8")]
[Address(RVA = "0x1F7BED0", Offset = "0x1F7ACD0", VA = "0x181F7BED0")]
public static uint MulWordAddTo(int len, uint x, uint[] y, int yOff, uint[] z, int zOff)
{
int num = 0;
num += 0;
uint num3;
uint num2 = num3 * x;
num += (int)num2;
throw new NullReferenceException();
}
// Token: 0x06009EC9 RID: 40649 RVA: 0x00217F58 File Offset: 0x00216158
[Token(Token = "0x6009EC9")]
[Address(RVA = "0x1F7BF90", Offset = "0x1F7AD90", VA = "0x181F7BF90")]
public static uint MulWordDwordAddAt(int len, uint x, ulong y, uint[] z, int zPos)
{
ulong num = y * (ulong)x;
uint num2;
num += (ulong)num2;
z[0] = (uint)num;
uint num3 = z[(int)num2];
ulong num4 = y * (ulong)x;
num3 = (uint)((ulong)num3 + num4);
num3 = (uint)((ulong)num3 + num);
z[0] = num3;
uint num5;
num5 += num3;
z[0] = num5;
ulong num6;
if (num6 == (ulong)num5)
{
}
if (num5 < (uint)len)
{
while (num5 != (uint)z.Length)
{
}
num5 += (uint)1;
}
uint num7;
return num7;
}
// Token: 0x06009ECA RID: 40650 RVA: 0x00217FC8 File Offset: 0x002161C8
[Token(Token = "0x6009ECA")]
[Address(RVA = "0x1F7C820", Offset = "0x1F7B620", VA = "0x181F7C820")]
public static uint ShiftDownBit(int len, uint[] z, uint c)
{
int num = len - 1;
uint num2 = z[num];
z[0] = num2;
return c;
}
// Token: 0x06009ECB RID: 40651 RVA: 0x00217FF0 File Offset: 0x002161F0
[Token(Token = "0x6009ECB")]
[Address(RVA = "0x1F7C710", Offset = "0x1F7B510", VA = "0x181F7C710")]
public static uint ShiftDownBit(int len, uint[] z, int zOff, uint c)
{
int num = len - 1;
uint num2 = z[zOff];
z[0] = num2;
return c;
}
// Token: 0x06009ECC RID: 40652 RVA: 0x0021801C File Offset: 0x0021621C
[Token(Token = "0x6009ECC")]
[Address(RVA = "0x1F7C880", Offset = "0x1F7B680", VA = "0x181F7C880")]
public static uint ShiftDownBit(int len, uint[] x, uint c, uint[] z)
{
int num = len - 1;
uint num2 = x[num];
z[0] = num2;
return c;
}
// Token: 0x06009ECD RID: 40653 RVA: 0x00218044 File Offset: 0x00216244
[Token(Token = "0x6009ECD")]
[Address(RVA = "0x1F7C780", Offset = "0x1F7B580", VA = "0x181F7C780")]
public static uint ShiftDownBit(int len, uint[] x, int xOff, uint c, uint[] z, int zOff)
{
int num = len - 1;
return c;
}
// Token: 0x06009ECE RID: 40654 RVA: 0x0021805C File Offset: 0x0021625C
[Token(Token = "0x6009ECE")]
[Address(RVA = "0x1F7C9B0", Offset = "0x1F7B7B0", VA = "0x181F7C9B0")]
public static uint ShiftDownBits(int len, uint[] z, int bits, uint c)
{
int num = len - 1;
uint num2 = z[num];
z[0] = num2;
return c;
}
// Token: 0x06009ECF RID: 40655 RVA: 0x00218088 File Offset: 0x00216288
[Token(Token = "0x6009ECF")]
[Address(RVA = "0x1F7C900", Offset = "0x1F7B700", VA = "0x181F7C900")]
public static uint ShiftDownBits(int len, uint[] z, int zOff, int bits, uint c)
{
int num = len - 1;
uint num2 = z[zOff];
z[0] = num2;
return num2;
}
// Token: 0x06009ED0 RID: 40656 RVA: 0x002180B0 File Offset: 0x002162B0
[Token(Token = "0x6009ED0")]
[Address(RVA = "0x1F7CA50", Offset = "0x1F7B850", VA = "0x181F7CA50")]
public static uint ShiftDownBits(int len, uint[] x, int bits, uint c, uint[] z)
{
int num = len - 1;
return c;
}
// Token: 0x06009ED1 RID: 40657 RVA: 0x002180C8 File Offset: 0x002162C8
[Token(Token = "0x6009ED1")]
[Address(RVA = "0x1F7CB10", Offset = "0x1F7B910", VA = "0x181F7CB10")]
public static uint ShiftDownBits(int len, uint[] x, int xOff, int bits, uint c, uint[] z, int zOff)
{
int num = len - 1;
uint num2;
return num2;
}
// Token: 0x06009ED2 RID: 40658 RVA: 0x002180E0 File Offset: 0x002162E0
[Token(Token = "0x6009ED2")]
[Address(RVA = "0x1F7CBF0", Offset = "0x1F7B9F0", VA = "0x181F7CBF0")]
public static uint ShiftDownWord(int len, uint[] z, uint c)
{
int num = len - 1;
z[0] = c;
return c;
}
// Token: 0x06009ED3 RID: 40659 RVA: 0x00218100 File Offset: 0x00216300
[Token(Token = "0x6009ED3")]
[Address(RVA = "0x1F7CCE0", Offset = "0x1F7BAE0", VA = "0x181F7CCE0")]
public static uint ShiftUpBit(int len, uint[] z, uint c)
{
int num = 0;
if (len > 0)
{
num++;
z[0] = c;
}
return c;
}
// Token: 0x06009ED4 RID: 40660 RVA: 0x00218128 File Offset: 0x00216328
[Token(Token = "0x6009ED4")]
[Address(RVA = "0x1F7CD40", Offset = "0x1F7BB40", VA = "0x181F7CD40")]
public static uint ShiftUpBit(int len, uint[] z, int zOff, uint c)
{
if (len > 0)
{
z[0] = c;
}
return c;
}
// Token: 0x06009ED5 RID: 40661 RVA: 0x00218148 File Offset: 0x00216348
[Token(Token = "0x6009ED5")]
[Address(RVA = "0x1F7CDB0", Offset = "0x1F7BBB0", VA = "0x181F7CDB0")]
public static uint ShiftUpBit(int len, uint[] x, uint c, uint[] z)
{
int num = 0;
if (len > 0)
{
num++;
z[0] = c;
}
return c;
}
// Token: 0x06009ED6 RID: 40662 RVA: 0x00218170 File Offset: 0x00216370
[Token(Token = "0x6009ED6")]
[Address(RVA = "0x1F7CE30", Offset = "0x1F7BC30", VA = "0x181F7CE30")]
public static uint ShiftUpBit(int len, uint[] x, int xOff, uint c, uint[] z, int zOff)
{
if (len > 0)
{
}
return c;
}
// Token: 0x06009ED7 RID: 40663 RVA: 0x00218188 File Offset: 0x00216388
[Token(Token = "0x6009ED7")]
[Address(RVA = "0x1F7CC40", Offset = "0x1F7BA40", VA = "0x181F7CC40")]
public static ulong ShiftUpBit64(int len, ulong[] x, int xOff, ulong c, ulong[] z, int zOff)
{
if (len > 0)
{
}
return c;
}
// Token: 0x06009ED8 RID: 40664 RVA: 0x002181A0 File Offset: 0x002163A0
[Token(Token = "0x6009ED8")]
[Address(RVA = "0x1F7D300", Offset = "0x1F7C100", VA = "0x181F7D300")]
public static uint ShiftUpBits(int len, uint[] z, int bits, uint c)
{
int num = 0;
if (len > 0)
{
num++;
z[0] = c;
}
return c;
}
// Token: 0x06009ED9 RID: 40665 RVA: 0x002181C8 File Offset: 0x002163C8
[Token(Token = "0x6009ED9")]
[Address(RVA = "0x1F7D240", Offset = "0x1F7C040", VA = "0x181F7D240")]
public static uint ShiftUpBits(int len, uint[] z, int zOff, int bits, uint c)
{
while (len <= 0)
{
}
return z[bits];
}
// Token: 0x06009EDA RID: 40666 RVA: 0x002181E8 File Offset: 0x002163E8
[Token(Token = "0x6009EDA")]
[Address(RVA = "0x1F7CFC0", Offset = "0x1F7BDC0", VA = "0x181F7CFC0")]
public static ulong ShiftUpBits64(int len, ulong[] z, int zOff, int bits, ulong c)
{
while (len <= 0)
{
}
return z[bits];
}
// Token: 0x06009EDB RID: 40667 RVA: 0x00218208 File Offset: 0x00216408
[Token(Token = "0x6009EDB")]
[Address(RVA = "0x1F7D170", Offset = "0x1F7BF70", VA = "0x181F7D170")]
public static uint ShiftUpBits(int len, uint[] x, int bits, uint c, uint[] z)
{
int num = 0;
if (len > 0)
{
num++;
}
return c;
}
// Token: 0x06009EDC RID: 40668 RVA: 0x00218228 File Offset: 0x00216428
[Token(Token = "0x6009EDC")]
[Address(RVA = "0x1F7D080", Offset = "0x1F7BE80", VA = "0x181F7D080")]
public static uint ShiftUpBits(int len, uint[] x, int xOff, int bits, uint c, uint[] z, int zOff)
{
if (len > 0)
{
}
uint num;
return num;
}
// Token: 0x06009EDD RID: 40669 RVA: 0x00218240 File Offset: 0x00216440
[Token(Token = "0x6009EDD")]
[Address(RVA = "0x1F7CED0", Offset = "0x1F7BCD0", VA = "0x181F7CED0")]
public static ulong ShiftUpBits64(int len, ulong[] x, int xOff, int bits, ulong c, ulong[] z, int zOff)
{
if (len > 0)
{
}
ulong num;
return num;
}
// Token: 0x06009EDE RID: 40670 RVA: 0x00218258 File Offset: 0x00216458
[Token(Token = "0x6009EDE")]
[Address(RVA = "0x1F7D540", Offset = "0x1F7C340", VA = "0x181F7D540")]
public static void Square(int len, uint[] x, uint[] zz)
{
int num = 0;
uint num2 = x[len];
uint num3 = num2 * num2;
zz[0] = num3;
zz[0] = num3;
uint num4;
if (len > (int)num4)
{
uint num5 = x[(int)num4];
uint num6 = x[num];
uint num7;
num += (int)num7;
uint num8 = num6 * num5;
num += (int)num8;
zz[0] = (uint)num;
uint num9 = zz[(int)num8];
num9 += (uint)num;
zz[0] = num9;
ulong num10;
if (num10 != (ulong)num9)
{
uint num11 = num8 + 1U;
if (num11 == (uint)zz.Length)
{
num11 += (uint)1;
}
}
num4 += (uint)1;
}
uint num12 = x[0];
num++;
zz[0] = num12;
}
// Token: 0x06009EDF RID: 40671 RVA: 0x00218310 File Offset: 0x00216510
[Token(Token = "0x6009EDF")]
[Address(RVA = "0x1F7D7B0", Offset = "0x1F7C5B0", VA = "0x181F7D7B0")]
public static void Square(int len, uint[] x, int xOff, uint[] zz, int zzOff)
{
int num = xOff - 1;
uint num3;
uint num2 = num3 * num3;
zz[0] = num2;
zz[0] = num2;
uint num4;
if (len > (int)num4)
{
int num5 = 0;
uint num6 = x[(int)num2];
num2 += (uint)1;
uint num7 = zz[(int)num2];
num5 += (int)num7;
uint num9;
uint num8 = num9 * num6;
num5 += (int)num8;
zz[0] = (uint)num5;
uint num10;
num10 += (uint)num5;
zz[0] = num10;
ulong num11;
if (num11 != (ulong)num10)
{
num2 += (uint)1;
if (num11 == (ulong)zz.Length)
{
num2 += (uint)1;
num11 += (ulong)1L;
}
}
num4 += (uint)1;
}
uint num12 = x[xOff];
zz[0] = num12;
}
// Token: 0x06009EE0 RID: 40672 RVA: 0x002183C0 File Offset: 0x002165C0
[Token(Token = "0x6009EE0")]
[Address(RVA = "0x1F7D3A0", Offset = "0x1F7C1A0", VA = "0x181F7D3A0")]
public static uint SquareWordAdd(uint[] x, int xPos, uint[] z)
{
int num = 0;
uint num2 = x[xPos];
uint num3 = x[num];
uint num4;
num += (int)num4;
uint num5 = num3 * num2;
num += (int)num5;
z[0] = (uint)num;
throw new NullReferenceException();
}
// Token: 0x06009EE1 RID: 40673 RVA: 0x002183FC File Offset: 0x002165FC
[Token(Token = "0x6009EE1")]
[Address(RVA = "0x1F7D460", Offset = "0x1F7C260", VA = "0x181F7D460")]
public static uint SquareWordAdd(uint[] x, int xOff, int xPos, uint[] z, int zOff)
{
int num = 0;
uint num2;
num += (int)num2;
uint num4;
uint num5;
uint num3 = num4 * num5;
num += (int)num3;
z[0] = (uint)num;
throw new NullReferenceException();
}
// Token: 0x06009EE2 RID: 40674 RVA: 0x00218428 File Offset: 0x00216628
[Token(Token = "0x6009EE2")]
[Address(RVA = "0x1F7E6B0", Offset = "0x1F7D4B0", VA = "0x181F7E6B0")]
public static int Sub(int len, uint[] x, uint[] y, uint[] z)
{
int num = 0;
if (len > 0)
{
uint num2 = x[num];
num++;
uint num3 = y[num];
num2 -= num3;
num += (int)num2;
z[0] = (uint)num;
}
return num;
}
// Token: 0x06009EE3 RID: 40675 RVA: 0x00218468 File Offset: 0x00216668
[Token(Token = "0x6009EE3")]
[Address(RVA = "0x1F7E760", Offset = "0x1F7D560", VA = "0x181F7E760")]
public static int Sub(int len, uint[] x, int xOff, uint[] y, int yOff, uint[] z, int zOff)
{
int num = 0;
if (len > 0)
{
uint num2 = x[len];
uint num3;
num2 -= num3;
num += (int)num2;
}
return num;
}
// Token: 0x06009EE4 RID: 40676 RVA: 0x00218494 File Offset: 0x00216694
[Token(Token = "0x6009EE4")]
[Address(RVA = "0x1F7DA50", Offset = "0x1F7C850", VA = "0x181F7DA50")]
public static int Sub33At(int len, uint x, uint[] z, int zPos)
{
uint num = z[zPos];
num -= x;
z[0] = num;
uint num2 = z[zPos];
num += num2;
z[0] = num;
ulong num3;
if (num3 == (ulong)num)
{
return 0;
}
if (num3 < (ulong)len)
{
uint num4 = z[(int)num3];
z[0] = num4;
while (num4 != (uint)(-1))
{
}
num3 += (ulong)1L;
}
throw new NullReferenceException();
}
// Token: 0x06009EE5 RID: 40677 RVA: 0x002184F4 File Offset: 0x002166F4
[Token(Token = "0x6009EE5")]
[Address(RVA = "0x1F7DB20", Offset = "0x1F7C920", VA = "0x181F7DB20")]
public static int Sub33At(int len, uint x, uint[] z, int zOff, int zPos)
{
uint num;
num -= x;
z[0] = num;
uint num2;
num += num2;
z[0] = num;
ulong num3;
if (num3 == (ulong)num)
{
return 0;
}
uint num4 = z[(int)num];
z[0] = num4;
while (num4 != (uint)(-1))
{
}
num += (uint)1;
throw new NullReferenceException();
}
// Token: 0x06009EE6 RID: 40678 RVA: 0x00218540 File Offset: 0x00216740
[Token(Token = "0x6009EE6")]
[Address(RVA = "0x1F7DCE0", Offset = "0x1F7CAE0", VA = "0x181F7DCE0")]
public static int Sub33From(int len, uint x, uint[] z)
{
uint num = z[0];
num -= x;
z[0] = num;
uint num2 = z[0];
num += num2;
z[0] = num;
ulong num3;
if (num3 == (ulong)num)
{
return 0;
}
uint num4;
if (len > (int)num4)
{
uint num5 = z[(int)num4];
z[0] = num5;
while (num5 != (uint)(-1))
{
}
num4 += (uint)1;
}
throw new NullReferenceException();
}
// Token: 0x06009EE7 RID: 40679 RVA: 0x002185A4 File Offset: 0x002167A4
[Token(Token = "0x6009EE7")]
[Address(RVA = "0x1F7DC00", Offset = "0x1F7CA00", VA = "0x181F7DC00")]
public static int Sub33From(int len, uint x, uint[] z, int zOff)
{
uint num = z[zOff];
num -= x;
z[0] = num;
uint num2 = z[zOff];
num += num2;
z[0] = num;
ulong num3;
if (num3 == (ulong)num)
{
return 0;
}
if (len > 2)
{
uint num4 = z[(int)num3];
z[0] = num4;
while (num4 != (uint)(-1))
{
}
num3 += (ulong)1L;
num3 -= (ulong)zOff;
}
throw new NullReferenceException();
}
// Token: 0x06009EE8 RID: 40680 RVA: 0x00218608 File Offset: 0x00216808
[Token(Token = "0x6009EE8")]
[Address(RVA = "0x1F7DDB0", Offset = "0x1F7CBB0", VA = "0x181F7DDB0")]
public static int SubBothFrom(int len, uint[] x, uint[] y, uint[] z)
{
int num = 0;
if (len > 0)
{
uint num2 = x[num];
num++;
uint num3 = z[num];
num3 -= num2;
uint num4 = y[num];
num3 -= num4;
num += (int)num3;
z[0] = (uint)num;
}
return num;
}
// Token: 0x06009EE9 RID: 40681 RVA: 0x00218654 File Offset: 0x00216854
[Token(Token = "0x6009EE9")]
[Address(RVA = "0x1F7DE60", Offset = "0x1F7CC60", VA = "0x181F7DE60")]
public static int SubBothFrom(int len, uint[] x, int xOff, uint[] y, int yOff, uint[] z, int zOff)
{
int num = 0;
if (len > 0)
{
uint num2 = y[len];
uint num3 = x[len];
num += xOff;
}
return num;
}
// Token: 0x06009EEA RID: 40682 RVA: 0x00218684 File Offset: 0x00216884
[Token(Token = "0x6009EEA")]
[Address(RVA = "0x1F7E060", Offset = "0x1F7CE60", VA = "0x181F7E060")]
public static int SubDWordAt(int len, ulong x, uint[] z, int zPos)
{
uint num = z[zPos];
num = (uint)((ulong)num - x);
z[0] = num;
uint num2 = z[zPos];
num2 = (uint)((ulong)num2 - x);
num2 += num;
z[0] = num2;
ulong num3;
if (num3 == (ulong)num2)
{
return 0;
}
if (num2 < (uint)len)
{
uint num4 = z[(int)num2];
z[0] = num4;
while (num4 != (uint)(-1))
{
}
num2 += (uint)1;
}
throw new NullReferenceException();
}
// Token: 0x06009EEB RID: 40683 RVA: 0x002186E8 File Offset: 0x002168E8
[Token(Token = "0x6009EEB")]
[Address(RVA = "0x1F7DF60", Offset = "0x1F7CD60", VA = "0x181F7DF60")]
public static int SubDWordAt(int len, ulong x, uint[] z, int zOff, int zPos)
{
uint num = (uint)((ulong)num - x);
z[0] = num;
uint num2 = (uint)((ulong)num2 - x);
num2 += num;
z[0] = num2;
ulong num3;
if (num3 == (ulong)num2)
{
return 0;
}
uint num4 = z[(int)num2];
z[0] = num4;
while (num4 != (uint)(-1))
{
}
num2 += (uint)1;
throw new NullReferenceException();
}
// Token: 0x06009EEC RID: 40684 RVA: 0x00218738 File Offset: 0x00216938
[Token(Token = "0x6009EEC")]
[Address(RVA = "0x1F7E220", Offset = "0x1F7D020", VA = "0x181F7E220")]
public static int SubDWordFrom(int len, ulong x, uint[] z)
{
uint num = z[0];
num = (uint)((ulong)num - x);
z[0] = num;
uint num2 = z[0];
num = (uint)((ulong)num - x);
num += num2;
z[0] = num;
ulong num3;
if (num3 == (ulong)num)
{
return 0;
}
uint num4;
if (len > (int)num4)
{
uint num5 = z[(int)num4];
z[0] = num5;
while (num5 != (uint)(-1))
{
}
num4 += (uint)1;
}
throw new NullReferenceException();
}
// Token: 0x06009EED RID: 40685 RVA: 0x002187A0 File Offset: 0x002169A0
[Token(Token = "0x6009EED")]
[Address(RVA = "0x1F7E140", Offset = "0x1F7CF40", VA = "0x181F7E140")]
public static int SubDWordFrom(int len, ulong x, uint[] z, int zOff)
{
uint num = z[zOff];
num = (uint)((ulong)num - x);
z[0] = num;
uint num2 = z[zOff];
num2 = (uint)((ulong)num2 - x);
num2 += num;
z[0] = num2;
ulong num3;
if (num3 == (ulong)num2)
{
return 0;
}
if (len > 2)
{
uint num4 = z[(int)num2];
z[0] = num4;
while (num4 != (uint)(-1))
{
}
num2 += (uint)1;
num4 = num2;
num4 -= (uint)zOff;
}
throw new NullReferenceException();
}
// Token: 0x06009EEE RID: 40686 RVA: 0x00218808 File Offset: 0x00216A08
[Token(Token = "0x6009EEE")]
[Address(RVA = "0x1F7E2F0", Offset = "0x1F7D0F0", VA = "0x181F7E2F0")]
public static int SubFrom(int len, uint[] x, uint[] z)
{
int num = 0;
if (len > 0)
{
uint num2 = x[num];
num++;
uint num3 = z[num];
num3 -= num2;
num += (int)num3;
z[0] = (uint)num;
}
return num;
}
// Token: 0x06009EEF RID: 40687 RVA: 0x00218848 File Offset: 0x00216A48
[Token(Token = "0x6009EEF")]
[Address(RVA = "0x1F7E370", Offset = "0x1F7D170", VA = "0x181F7E370")]
public static int SubFrom(int len, uint[] x, int xOff, uint[] z, int zOff)
{
int num = 0;
if (len > 0)
{
uint num2 = x[len];
uint num3 = z[xOff];
num3 -= num2;
num += (int)num3;
z[0] = (uint)num;
}
return num;
}
// Token: 0x06009EF0 RID: 40688 RVA: 0x00218884 File Offset: 0x00216A84
[Token(Token = "0x6009EF0")]
[Address(RVA = "0x1F7E4D0", Offset = "0x1F7D2D0", VA = "0x181F7E4D0")]
public static int SubWordAt(int len, uint x, uint[] z, int zPos)
{
uint num = z[zPos];
num -= x;
z[0] = num;
ulong num2;
if (num2 == (ulong)num)
{
return 0;
}
int num3 = zPos + 1;
if (num3 < len)
{
uint num4 = z[num3];
z[0] = num4;
while (num4 != (uint)(-1))
{
}
num3++;
}
throw new NullReferenceException();
}
// Token: 0x06009EF1 RID: 40689 RVA: 0x002188D4 File Offset: 0x00216AD4
[Token(Token = "0x6009EF1")]
[Address(RVA = "0x1F7E420", Offset = "0x1F7D220", VA = "0x181F7E420")]
public static int SubWordAt(int len, uint x, uint[] z, int zOff, int zPos)
{
uint num;
num -= x;
z[0] = num;
ulong num2;
if (num2 == (ulong)num)
{
return 0;
}
uint num3 = z[(int)num2];
z[0] = num3;
while (num3 != (uint)(-1))
{
}
num2 += (ulong)1L;
throw new NullReferenceException();
}
// Token: 0x06009EF2 RID: 40690 RVA: 0x00218914 File Offset: 0x00216B14
[Token(Token = "0x6009EF2")]
[Address(RVA = "0x1F7E570", Offset = "0x1F7D370", VA = "0x181F7E570")]
public static int SubWordFrom(int len, uint x, uint[] z)
{
uint num = z[0];
num -= x;
z[0] = num;
ulong num2;
if (num2 == (ulong)num)
{
return 0;
}
uint num3;
if (len > (int)num3)
{
uint num4 = z[(int)num3];
z[0] = num4;
while (num4 != (uint)(-1))
{
}
num3 += (uint)1;
}
throw new NullReferenceException();
}
// Token: 0x06009EF3 RID: 40691 RVA: 0x00218960 File Offset: 0x00216B60
[Token(Token = "0x6009EF3")]
[Address(RVA = "0x1F7E610", Offset = "0x1F7D410", VA = "0x181F7E610")]
public static int SubWordFrom(int len, uint x, uint[] z, int zOff)
{
uint num = z[zOff];
num -= x;
z[0] = num;
ulong num2;
if (num2 == (ulong)num)
{
return 0;
}
if (len > 1)
{
int num3 = zOff + 1;
uint num4 = z[num3];
z[0] = num4;
while (num4 != (uint)(-1))
{
}
num3++;
num3 -= zOff;
}
throw new NullReferenceException();
}
// Token: 0x06009EF4 RID: 40692 RVA: 0x002189B4 File Offset: 0x00216BB4
[Token(Token = "0x6009EF4")]
[Address(RVA = "0x1F7E850", Offset = "0x1F7D650", VA = "0x181F7E850")]
public static BigInteger ToBigInteger(int len, uint[] x)
{
byte[] array = new byte[x];
int num = 0;
if (len > 0)
{
if (x[num] != (uint)0)
{
}
num++;
}
return new BigInteger(1, array);
}
// Token: 0x06009EF5 RID: 40693 RVA: 0x002189EC File Offset: 0x00216BEC
[Token(Token = "0x6009EF5")]
[Address(RVA = "0x1F7E940", Offset = "0x1F7D740", VA = "0x181F7E940")]
public static void Zero(int len, uint[] z)
{
int num = 0;
if (len > 0)
{
num++;
z[0] = (uint)num;
}
}
// Token: 0x06009EF6 RID: 40694 RVA: 0x00218A14 File Offset: 0x00216C14
[Token(Token = "0x6009EF6")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
protected Nat()
{
}
// Token: 0x04006A54 RID: 27220
[Token(Token = "0x4006A54")]
private const ulong M = 4294967295UL;
}
}
@@ -0,0 +1,1083 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw
{
// Token: 0x020019DB RID: 6619
[Token(Token = "0x20019DB")]
internal abstract class Nat128
{
// Token: 0x06009EF7 RID: 40695 RVA: 0x00218A28 File Offset: 0x00216C28
[Token(Token = "0x6009EF7")]
[Address(RVA = "0x1F6E600", Offset = "0x1F6D400", VA = "0x181F6E600")]
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 = x[1];
uint num8 = y[1];
num8 += num5;
num8 += num7;
z[1] = num8;
return num8;
}
// Token: 0x06009EF8 RID: 40696 RVA: 0x00218AD0 File Offset: 0x00216CD0
[Token(Token = "0x6009EF8")]
[Address(RVA = "0x1F6DF50", Offset = "0x1F6CD50", VA = "0x181F6DF50")]
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 = x[1];
uint num11 = y[1];
uint num12 = z[1];
num2 += num11;
num2 += num10;
num2 += num12;
z[1] = num2;
return num2;
}
// Token: 0x06009EF9 RID: 40697 RVA: 0x00218BA4 File Offset: 0x00216DA4
[Token(Token = "0x6009EF9")]
[Address(RVA = "0x1F6E330", Offset = "0x1F6D130", VA = "0x181F6E330")]
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 = x[1];
uint num8 = z[1];
num += num8;
num += num7;
z[1] = num;
return num;
}
// Token: 0x06009EFA RID: 40698 RVA: 0x00218C40 File Offset: 0x00216E40
[Token(Token = "0x6009EFA")]
[Address(RVA = "0x1F6E480", Offset = "0x1F6D280", VA = "0x181F6E480")]
public static uint AddTo(uint[] x, int xOff, uint[] z, int zOff, uint cIn)
{
uint num = x[xOff];
uint num2 = z[zOff];
num += num2;
int num3 = xOff + 1;
z[0] = num;
uint num4 = x[num3];
int num5 = zOff + 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[xOff];
uint num10 = z[zOff];
num10 += num8;
num10 += num9;
z[0] = num10;
return num10;
}
// Token: 0x06009EFB RID: 40699 RVA: 0x00218CF4 File Offset: 0x00216EF4
[Token(Token = "0x6009EFB")]
[Address(RVA = "0x1F6E130", Offset = "0x1F6CF30", VA = "0x181F6E130")]
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[(int)num];
uint num8 = u[num3];
num7 += num5;
num7 += num8;
u[0] = num7;
v[0] = num7;
uint num9 = v[uOff];
uint num10 = u[(int)num5];
num9 += num7;
num9 += num10;
u[0] = num9;
v[0] = num9;
return num9;
}
// Token: 0x06009EFC RID: 40700 RVA: 0x00218DD0 File Offset: 0x00216FD0
[Token(Token = "0x6009EFC")]
[Address(RVA = "0x1F6E8F0", Offset = "0x1F6D6F0", VA = "0x181F6E8F0")]
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;
}
// Token: 0x06009EFD RID: 40701 RVA: 0x00218E24 File Offset: 0x00217024
[Token(Token = "0x6009EFD")]
[Address(RVA = "0x1F6E9E0", Offset = "0x1F6D7E0", VA = "0x181F6E9E0")]
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[xOff];
z[0] = num6;
}
// Token: 0x06009EFE RID: 40702 RVA: 0x00218E84 File Offset: 0x00217084
[Token(Token = "0x6009EFE")]
[Address(RVA = "0x1F6E7C0", Offset = "0x1F6D5C0", VA = "0x181F6E7C0")]
public static void Copy64(ulong[] x, ulong[] z)
{
ulong num = x[0];
z[0] = num;
ulong num2 = x[1];
z[1] = num2;
}
// Token: 0x06009EFF RID: 40703 RVA: 0x00218EB8 File Offset: 0x002170B8
[Token(Token = "0x6009EFF")]
[Address(RVA = "0x1F6E850", Offset = "0x1F6D650", VA = "0x181F6E850")]
public static void Copy64(ulong[] x, int xOff, ulong[] z, int zOff)
{
ulong num = x[xOff];
z[0] = num;
int num2 = xOff + 1;
ulong num3 = x[num2];
int num4 = zOff + 1;
z[0] = num3;
}
// Token: 0x06009F00 RID: 40704 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009F00")]
[Address(RVA = "0x1F6EBE0", Offset = "0x1F6D9E0", VA = "0x181F6EBE0")]
public static uint[] Create()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009F01 RID: 40705 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009F01")]
[Address(RVA = "0x1F6EB20", Offset = "0x1F6D920", VA = "0x181F6EB20")]
public static ulong[] Create64()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009F02 RID: 40706 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009F02")]
[Address(RVA = "0x1F6EBA0", Offset = "0x1F6D9A0", VA = "0x181F6EBA0")]
public static uint[] CreateExt()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009F03 RID: 40707 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009F03")]
[Address(RVA = "0x1F6EB60", Offset = "0x1F6D960", VA = "0x181F6EB60")]
public static ulong[] CreateExt64()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009F04 RID: 40708 RVA: 0x00218EF4 File Offset: 0x002170F4
[Token(Token = "0x6009F04")]
[Address(RVA = "0x1F6EC20", Offset = "0x1F6DA20", VA = "0x181F6EC20")]
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: 0x06009F05 RID: 40709 RVA: 0x00218F14 File Offset: 0x00217114
[Token(Token = "0x6009F05")]
[Address(RVA = "0x1F6ED90", Offset = "0x1F6DB90", VA = "0x181F6ED90")]
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: 0x06009F06 RID: 40710 RVA: 0x00218F38 File Offset: 0x00217138
[Token(Token = "0x6009F06")]
[Address(RVA = "0x1F6ED20", Offset = "0x1F6DB20", VA = "0x181F6ED20")]
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: 0x06009F07 RID: 40711 RVA: 0x00218F5C File Offset: 0x0021715C
[Token(Token = "0x6009F07")]
[Address(RVA = "0x1F6EF30", Offset = "0x1F6DD30", VA = "0x181F6EF30")]
public static uint[] FromBigInteger(BigInteger x)
{
int bitLength = x.BitLength;
uint[] array = new uint[4];
int num = 0;
if (x.sign != 0)
{
num++;
int intValue = x.IntValue;
array[0] = (uint)intValue;
BigInteger bigInteger = x.ShiftRight(32);
}
return array;
}
// Token: 0x06009F08 RID: 40712 RVA: 0x00218FA8 File Offset: 0x002171A8
[Token(Token = "0x6009F08")]
[Address(RVA = "0x1F6EE00", Offset = "0x1F6DC00", VA = "0x181F6EE00")]
public static ulong[] FromBigInteger64(BigInteger x)
{
int bitLength = x.BitLength;
ulong[] array = new ulong[2];
int num = 0;
if (x.sign != 0)
{
num++;
long longValue = x.LongValue;
array[0] = (ulong)longValue;
BigInteger bigInteger = x.ShiftRight(64);
}
return array;
}
// Token: 0x06009F09 RID: 40713 RVA: 0x00218FF4 File Offset: 0x002171F4
[Token(Token = "0x6009F09")]
[Address(RVA = "0x1F6F060", Offset = "0x1F6DE60", VA = "0x181F6F060")]
public static uint GetBit(uint[] x, int bit)
{
if (bit != 0)
{
if (bit == 0)
{
return x[bit];
}
}
return x[0];
}
// Token: 0x06009F0A RID: 40714 RVA: 0x00219020 File Offset: 0x00217220
[Token(Token = "0x6009F0A")]
[Address(RVA = "0x1F6F160", Offset = "0x1F6DF60", VA = "0x181F6F160")]
public static bool Gte(uint[] x, uint[] y)
{
uint num2;
uint num = y[(int)num2];
if (x[(int)num2] <= num)
{
}
throw new NullReferenceException();
}
// Token: 0x06009F0B RID: 40715 RVA: 0x00219048 File Offset: 0x00217248
[Token(Token = "0x6009F0B")]
[Address(RVA = "0x1F6F0E0", Offset = "0x1F6DEE0", VA = "0x181F6F0E0")]
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: 0x06009F0C RID: 40716 RVA: 0x0021906C File Offset: 0x0021726C
[Token(Token = "0x6009F0C")]
[Address(RVA = "0x1F6F250", Offset = "0x1F6E050", VA = "0x181F6F250")]
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: 0x06009F0D RID: 40717 RVA: 0x002190A0 File Offset: 0x002172A0
[Token(Token = "0x6009F0D")]
[Address(RVA = "0x1F6F1E0", Offset = "0x1F6DFE0", VA = "0x181F6F1E0")]
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: 0x06009F0E RID: 40718 RVA: 0x002190D4 File Offset: 0x002172D4
[Token(Token = "0x6009F0E")]
[Address(RVA = "0x1F6F310", Offset = "0x1F6E110", VA = "0x181F6F310")]
public static bool IsZero(uint[] x)
{
int num = 0;
if ("{il2cpp array field x->}" == (ulong)0L)
{
num++;
return true;
}
throw new NullReferenceException();
}
// Token: 0x06009F0F RID: 40719 RVA: 0x002190FC File Offset: 0x002172FC
[Token(Token = "0x6009F0F")]
[Address(RVA = "0x1F6F2C0", Offset = "0x1F6E0C0", VA = "0x181F6F2C0")]
public static bool IsZero64(ulong[] x)
{
int num = 0;
if ("{il2cpp array field x->}" == (ulong)0L)
{
num++;
return true;
}
throw new NullReferenceException();
}
// Token: 0x06009F10 RID: 40720 RVA: 0x00219124 File Offset: 0x00217324
[Token(Token = "0x6009F10")]
[Address(RVA = "0x1F70350", Offset = "0x1F6F150", VA = "0x181F70350")]
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 = x[0];
uint num6 = num5 * num;
zz[0] = num6;
uint num7 = num5 * num2;
num7 += num6;
zz[0] = num7;
num6 = num5;
uint num8 = num6 * num3;
num8 += num7;
uint num9 = num5 * num4;
zz[1] = num8;
num9 += num8;
zz[1] = num9;
zz[2] = num9;
uint num11;
uint num10 = x[(int)num11];
uint num12 = num11 + 1U;
uint num13 = zz[(int)num11];
num8 = num10;
uint num14 = num8 * num;
num14 += num13;
zz[0] = num14;
uint num15 = zz[(int)num12];
num13 = num10;
uint num16 = num13 * num2;
num15 += num16;
num15 += num14;
zz[0] = num15;
uint num17 = zz[(int)num12];
num16 = num10;
uint num18 = num16 * num3;
num17 += num18;
num17 += num15;
zz[0] = num17;
uint num19 = zz[(int)num15];
num11 += (uint)4;
uint num20 = num10 * num4;
num19 += num20;
num19 += num17;
zz[0] = num19;
num11 += (uint)1;
zz[0] = num19;
}
// Token: 0x06009F11 RID: 40721 RVA: 0x00219290 File Offset: 0x00217490
[Token(Token = "0x6009F11")]
[Address(RVA = "0x1F70020", Offset = "0x1F6EE20", VA = "0x181F70020")]
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[yOff];
uint num6 = x[xOff];
uint num7 = num6 * num;
uint num8 = num6 * num3;
num8 += num7;
num7 = num6;
uint num9 = num7 * num4;
num9 += num8;
uint num10 = num6 * num5;
num10 += num9;
int num11 = xOff + 1;
uint num12 = x[num11];
num8 = num12;
uint num13 = num8 * num;
num13 += (uint)num11;
uint num14 = num12 * num3;
num14 = num12;
uint num15 = num14 * num4;
num13 += num15;
uint num16 = num12 * num5;
num15 += num16;
num15 += num13;
num11++;
num11 -= xOff;
}
// Token: 0x06009F12 RID: 40722 RVA: 0x00219368 File Offset: 0x00217568
[Token(Token = "0x6009F12")]
[Address(RVA = "0x1F6F7C0", Offset = "0x1F6E5C0", VA = "0x181F6F7C0")]
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];
int num5 = 0;
uint num6 = x[num5];
uint num7 = zz[num5];
uint num8 = num6 * num;
num8 += num7;
zz[0] = num8;
num7 = num6;
uint num9 = num7 * num2;
uint num10;
num10 += num9;
num10 += num8;
zz[0] = num10;
num9 = num6;
uint num11 = num9 * num3;
uint num12;
num12 += num11;
num12 += num10;
zz[0] = num12;
num5 += 4;
uint num13 = num6 * num4;
uint num14;
num14 += num13;
num14 += num12;
zz[0] = num14;
uint num15 = zz[num5];
num5++;
num5 += (int)num15;
num5 += (int)num14;
zz[0] = (uint)num5;
throw new NullReferenceException();
}
// Token: 0x06009F13 RID: 40723 RVA: 0x0021945C File Offset: 0x0021765C
[Token(Token = "0x6009F13")]
[Address(RVA = "0x1F6F9E0", Offset = "0x1F6E7E0", VA = "0x181F6F9E0")]
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[num2];
uint num5 = y[yOff];
int num6 = 0;
uint num7 = x[(int)num5];
uint num8 = num7 * num;
num8 += num5;
num5 = num7;
uint num9 = num5 * num3;
num9 = num7;
uint num10 = num9 * num4;
num8 += num7;
num6 += (int)num10;
num6 += (int)num8;
throw new NullReferenceException();
}
// Token: 0x06009F14 RID: 40724 RVA: 0x002194E0 File Offset: 0x002176E0
[Token(Token = "0x6009F14")]
[Address(RVA = "0x1F6F360", Offset = "0x1F6E160", VA = "0x181F6F360")]
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 = num10 * w;
num11 += num8;
uint num12;
num11 += num12;
num3 += num11;
throw new NullReferenceException();
}
// Token: 0x06009F15 RID: 40725 RVA: 0x0021957C File Offset: 0x0021777C
[Token(Token = "0x6009F15")]
[Address(RVA = "0x1F6FC30", Offset = "0x1F6EA30", VA = "0x181F6FC30")]
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 = zz[yyOff];
num5 += num4;
num5 += num;
zz[0] = num5;
uint num6 = yy[(int)num4];
uint num7 = zz[(int)num];
uint num8 = num6 * x;
num7 += num8;
num7 += num5;
zz[0] = num7;
uint num9 = yy[yyOff] * x;
uint num10;
num10 += num9;
num10 += num7;
zz[0] = num10;
return num10;
}
// Token: 0x06009F16 RID: 40726 RVA: 0x00219624 File Offset: 0x00217824
[Token(Token = "0x6009F16")]
[Address(RVA = "0x1F6F5C0", Offset = "0x1F6E3C0", VA = "0x181F6F5C0")]
public static uint Mul33DWordAdd(uint x, ulong y, uint[] z, int zOff)
{
uint num = z[zOff];
int num2 = zOff + 1;
ulong num3 = y * (ulong)x;
num3 += (ulong)num;
z[0] = (uint)num3;
uint num4 = z[num2];
ulong num5 = y * (ulong)x;
num5 += y;
num5 += (ulong)num4;
num3 += num5;
z[0] = (uint)num3;
uint num6 = z[(int)num5];
num6 = (uint)((ulong)num6 + y);
num3 += (ulong)num6;
z[0] = (uint)num3;
uint num7 = z[(int)num5];
num7 = (uint)((ulong)num7 + num3);
z[0] = num7;
return num7;
}
// Token: 0x06009F17 RID: 40727 RVA: 0x002196B4 File Offset: 0x002178B4
[Token(Token = "0x6009F17")]
[Address(RVA = "0x1F6F6C0", Offset = "0x1F6E4C0", VA = "0x181F6F6C0")]
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: 0x06009F18 RID: 40728 RVA: 0x00219738 File Offset: 0x00217938
[Token(Token = "0x6009F18")]
[Address(RVA = "0x1F6FDC0", Offset = "0x1F6EBC0", VA = "0x181F6FDC0")]
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: 0x06009F19 RID: 40729 RVA: 0x002197C4 File Offset: 0x002179C4
[Token(Token = "0x6009F19")]
[Address(RVA = "0x1F6FF60", Offset = "0x1F6ED60", VA = "0x181F6FF60")]
public static uint MulWordsAdd(uint x, uint y, uint[] z, int zOff)
{
uint num = x * y;
uint num2 = z[zOff];
num += num2;
z[0] = num;
uint num3 = z[zOff];
num3 += num;
z[0] = num3;
ulong num4;
if (num4 != (ulong)num3 && num3 == (uint)z.Length)
{
num3 += (uint)1;
num3 -= (uint)zOff;
uint num5;
return num5;
}
throw new NullReferenceException();
}
// Token: 0x06009F1A RID: 40730 RVA: 0x00219820 File Offset: 0x00217A20
[Token(Token = "0x6009F1A")]
[Address(RVA = "0x1F6FED0", Offset = "0x1F6ECD0", VA = "0x181F6FED0")]
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: 0x06009F1B RID: 40731 RVA: 0x0021984C File Offset: 0x00217A4C
[Token(Token = "0x6009F1B")]
[Address(RVA = "0x1F70640", Offset = "0x1F6F440", VA = "0x181F70640")]
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];
uint num11 = zz[2];
num8 = num4;
uint num12 = num9 * num;
num12 += num8;
num12 += num7;
num7 = num9;
uint num13 = num7 * num6;
zz[1] = num8;
num8 = num12;
num13 += num8;
num13 += num10;
num13 += num11;
uint num14 = x[1];
uint num15 = zz[2];
num13 += num15;
uint num16 = zz[3];
num4 = num14;
uint num17 = num4 * num;
num15 = num13;
num17 += num15;
num12 = num14;
zz[1] = num15;
num15 = num17;
uint num18 = num12 * num6;
uint num19 = num14 * num9;
num18 += num15;
num15 = num13;
num18 += num15;
num15 = num18;
num19 += num15;
num15 = num13;
num19 += num15;
num15 = num19;
num13 += num15;
num13 += num16;
zz[2] = num15;
zz[2] = num15;
zz[3] = num15;
num15 = num13;
num15 += num15;
zz[3] = num15;
}
// Token: 0x06009F1C RID: 40732 RVA: 0x002199E4 File Offset: 0x00217BE4
[Token(Token = "0x6009F1C")]
[Address(RVA = "0x1F70A10", Offset = "0x1F6F810", VA = "0x181F70A10")]
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;
uint num7 = zz[zzOff];
int num8 = zzOff + 1;
num7 = num6;
uint num9 = num7 * num;
num3 += num9;
zz[0] = num4;
uint num10 = x[(int)num9];
int length2 = zz.Length;
uint num11 = num10 * num;
uint num12 = num3;
num11 += num12;
num11 += num7;
zz[0] = num7;
uint num13 = num10 * num6;
num7 = num11;
num13 += num7;
uint num14;
num13 += num14;
num14 = num13;
num14 += num12;
uint num15 = x[xOff];
int length3 = zz.Length;
uint num16 = zz[(int)num6];
num12 = num14;
num16 += num12;
uint num17 = zz[xOff];
num10 = num15;
uint num18 = num10 * num;
num17 = num13;
num18 += num17;
zz[0] = num17;
num17 = num18;
num15 += num17;
num17 = num14;
num15 += num17;
num17 = num15;
num15 += num17;
num17 = num16;
num15 += num17;
num17 = num15;
num16 += num17;
num16 += num17;
zz[2] = num17;
zz[2] = num17;
zz[3] = num17;
num17 = num16;
num17 += num17;
zz[0] = num17;
}
// Token: 0x06009F1D RID: 40733 RVA: 0x00219B7C File Offset: 0x00217D7C
[Token(Token = "0x6009F1D")]
[Address(RVA = "0x1F71520", Offset = "0x1F70320", VA = "0x181F71520")]
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 = x[1];
uint num8 = y[1];
num2 -= num8;
num2 += num7;
z[1] = num2;
throw new NullReferenceException();
}
// Token: 0x06009F1E RID: 40734 RVA: 0x00219C18 File Offset: 0x00217E18
[Token(Token = "0x6009F1E")]
[Address(RVA = "0x1F71310", Offset = "0x1F70110", VA = "0x181F71310")]
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[yOff];
uint num10 = y[yOff];
num -= num10;
num += num9;
throw new NullReferenceException();
}
// Token: 0x06009F1F RID: 40735 RVA: 0x00219CA0 File Offset: 0x00217EA0
[Token(Token = "0x6009F1F")]
[Address(RVA = "0x1F70E70", Offset = "0x1F6FC70", VA = "0x181F70E70")]
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 = x[1];
uint num11 = y[1];
num2 -= num11;
uint num12 = z[1];
num2 -= num10;
num2 += num12;
z[1] = num2;
throw new NullReferenceException();
}
// Token: 0x06009F20 RID: 40736 RVA: 0x00219D74 File Offset: 0x00217F74
[Token(Token = "0x6009F20")]
[Address(RVA = "0x1F71050", Offset = "0x1F6FE50", VA = "0x181F71050")]
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;
throw new NullReferenceException();
}
// Token: 0x06009F21 RID: 40737 RVA: 0x00219E10 File Offset: 0x00218010
[Token(Token = "0x6009F21")]
[Address(RVA = "0x1F711A0", Offset = "0x1F6FFA0", VA = "0x181F711A0")]
public static int SubFrom(uint[] x, int xOff, uint[] z, int zOff)
{
int num = zOff + 1;
uint num2 = z[zOff];
uint num3 = x[zOff];
num2 -= num3;
z[0] = num2;
int num4 = zOff + 1;
uint num5 = x[num4];
num2 -= num5;
uint num6 = z[num];
num2 += num6;
z[0] = num2;
uint num7 = x[(int)num6];
num2 -= num7;
uint num8 = z[num];
num2 += num8;
z[0] = num2;
uint num9 = x[zOff];
uint num10 = z[zOff];
num2 -= num9;
num10 += num2;
z[0] = num10;
throw new NullReferenceException();
}
// Token: 0x06009F22 RID: 40738 RVA: 0x00219EBC File Offset: 0x002180BC
[Token(Token = "0x6009F22")]
[Address(RVA = "0x1F717B0", Offset = "0x1F705B0", VA = "0x181F717B0")]
public static BigInteger ToBigInteger(uint[] x)
{
byte[] array = new byte[16];
int num = 0;
uint num2 = x[num];
if (num2 != (uint)0)
{
Pack.UInt32_To_BE(num2, array, 12);
}
num++;
return new BigInteger(1, array);
}
// Token: 0x06009F23 RID: 40739 RVA: 0x00219EFC File Offset: 0x002180FC
[Token(Token = "0x6009F23")]
[Address(RVA = "0x1F716E0", Offset = "0x1F704E0", VA = "0x181F716E0")]
public static BigInteger ToBigInteger64(ulong[] x)
{
byte[] array = new byte[16];
int num = 0;
ulong num2 = x[num];
if (num2 != (ulong)0L)
{
Pack.UInt64_To_BE(num2, array, 8);
}
num++;
return new BigInteger(1, array);
}
// Token: 0x06009F24 RID: 40740 RVA: 0x00219F3C File Offset: 0x0021813C
[Token(Token = "0x6009F24")]
[Address(RVA = "0x1F71880", Offset = "0x1F70680", VA = "0x181F71880")]
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;
}
// Token: 0x06009F25 RID: 40741 RVA: 0x00219F74 File Offset: 0x00218174
[Token(Token = "0x6009F25")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
protected Nat128()
{
}
// Token: 0x04006A55 RID: 27221
[Token(Token = "0x4006A55")]
private const ulong M = 4294967295UL;
}
}
@@ -0,0 +1,1134 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw
{
// Token: 0x020019DC RID: 6620
[Token(Token = "0x20019DC")]
internal abstract class Nat160
{
// Token: 0x06009F26 RID: 40742 RVA: 0x00219F88 File Offset: 0x00218188
[Token(Token = "0x6009F26")]
[Address(RVA = "0x1F72180", Offset = "0x1F70F80", VA = "0x181F72180")]
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 = x[2];
uint num10 = y[2];
num10 += num7;
num10 += num9;
z[2] = num10;
return num10;
}
// Token: 0x06009F27 RID: 40743 RVA: 0x0021A058 File Offset: 0x00218258
[Token(Token = "0x6009F27")]
[Address(RVA = "0x1F71900", Offset = "0x1F70700", VA = "0x181F71900")]
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 = y[1];
num2 += num7;
uint num8 = x[1];
num2 += num8;
uint num9 = z[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 = x[2];
uint num14 = y[2];
uint num15 = z[2];
num2 += num15;
num2 += num14;
num2 += num13;
z[2] = num2;
return num2;
}
// Token: 0x06009F28 RID: 40744 RVA: 0x0021A160 File Offset: 0x00218360
[Token(Token = "0x6009F28")]
[Address(RVA = "0x1F71DC0", Offset = "0x1F70BC0", VA = "0x181F71DC0")]
public static uint AddTo(uint[] x, uint[] z)
{
uint num = x[0];
uint num2 = z[0];
num += num2;
z[0] = num;
uint num3 = z[0];
num += num3;
uint num4 = x[0];
num += num4;
z[0] = num;
uint num5 = z[1];
num += num5;
uint num6 = x[1];
num += num6;
z[1] = num;
uint num7 = z[1];
num += num7;
uint num8 = x[1];
num += num8;
z[1] = num;
uint num9 = x[2];
uint num10 = z[2];
num += num9;
num += num10;
z[2] = num;
return num;
}
// Token: 0x06009F29 RID: 40745 RVA: 0x0021A220 File Offset: 0x00218420
[Token(Token = "0x6009F29")]
[Address(RVA = "0x1F71F60", Offset = "0x1F70D60", VA = "0x181F71F60")]
public static uint AddTo(uint[] x, int xOff, uint[] z, int zOff, uint cIn)
{
uint num = z[zOff];
uint num2 = x[xOff];
num += num2;
int num3 = xOff + 1;
z[0] = num;
uint num4 = x[num3];
int num5 = zOff + 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[zOff];
num14 += num12;
return num14 + num13;
}
// Token: 0x06009F2A RID: 40746 RVA: 0x0021A324 File Offset: 0x00218524
[Token(Token = "0x6009F2A")]
[Address(RVA = "0x1F71B50", Offset = "0x1F70950", VA = "0x181F71B50")]
public static uint AddToEachOther(uint[] u, int uOff, uint[] v, int vOff)
{
uint num = u[uOff];
uint num2 = v[vOff];
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[uOff];
uint num12 = u[num4];
num11 += num9;
num11 += num12;
u[0] = num11;
v[0] = num11;
return num11;
}
// Token: 0x06009F2B RID: 40747 RVA: 0x0021A430 File Offset: 0x00218630
[Token(Token = "0x6009F2B")]
[Address(RVA = "0x1F723A0", Offset = "0x1F711A0", VA = "0x181F723A0")]
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;
}
// Token: 0x06009F2C RID: 40748 RVA: 0x0021A498 File Offset: 0x00218698
[Token(Token = "0x6009F2C")]
[Address(RVA = "0x1F724E0", Offset = "0x1F712E0", VA = "0x181F724E0")]
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[xOff];
z[0] = num7;
}
// Token: 0x06009F2D RID: 40749 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009F2D")]
[Address(RVA = "0x1F726A0", Offset = "0x1F714A0", VA = "0x181F726A0")]
public static uint[] Create()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009F2E RID: 40750 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009F2E")]
[Address(RVA = "0x1F72660", Offset = "0x1F71460", VA = "0x181F72660")]
public static uint[] CreateExt()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009F2F RID: 40751 RVA: 0x0021A50C File Offset: 0x0021870C
[Token(Token = "0x6009F2F")]
[Address(RVA = "0x1F726E0", Offset = "0x1F714E0", VA = "0x181F726E0")]
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: 0x06009F30 RID: 40752 RVA: 0x0021A52C File Offset: 0x0021872C
[Token(Token = "0x6009F30")]
[Address(RVA = "0x1F727E0", Offset = "0x1F715E0", VA = "0x181F727E0")]
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: 0x06009F31 RID: 40753 RVA: 0x0021A550 File Offset: 0x00218750
[Token(Token = "0x6009F31")]
[Address(RVA = "0x1F72850", Offset = "0x1F71650", VA = "0x181F72850")]
public static uint[] FromBigInteger(BigInteger x)
{
int bitLength = x.BitLength;
uint[] array = new uint[5];
int num = 0;
if (x.sign != 0)
{
num++;
int intValue = x.IntValue;
array[0] = (uint)intValue;
BigInteger bigInteger = x.ShiftRight(32);
}
return array;
}
// Token: 0x06009F32 RID: 40754 RVA: 0x0021A59C File Offset: 0x0021879C
[Token(Token = "0x6009F32")]
[Address(RVA = "0x1F72980", Offset = "0x1F71780", VA = "0x181F72980")]
public static uint GetBit(uint[] x, int bit)
{
if (bit != 0)
{
if (bit <= 4)
{
return x[bit];
}
}
return x[0];
}
// Token: 0x06009F33 RID: 40755 RVA: 0x0021A5C8 File Offset: 0x002187C8
[Token(Token = "0x6009F33")]
[Address(RVA = "0x1F72A80", Offset = "0x1F71880", VA = "0x181F72A80")]
public static bool Gte(uint[] x, uint[] y)
{
uint num2;
uint num = y[(int)num2];
if (x[(int)num2] <= num)
{
}
throw new NullReferenceException();
}
// Token: 0x06009F34 RID: 40756 RVA: 0x0021A5F0 File Offset: 0x002187F0
[Token(Token = "0x6009F34")]
[Address(RVA = "0x1F72A00", Offset = "0x1F71800", VA = "0x181F72A00")]
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: 0x06009F35 RID: 40757 RVA: 0x0021A614 File Offset: 0x00218814
[Token(Token = "0x6009F35")]
[Address(RVA = "0x1F72B00", Offset = "0x1F71900", VA = "0x181F72B00")]
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: 0x06009F36 RID: 40758 RVA: 0x0021A648 File Offset: 0x00218848
[Token(Token = "0x6009F36")]
[Address(RVA = "0x1F72B70", Offset = "0x1F71970", VA = "0x181F72B70")]
public static bool IsZero(uint[] x)
{
int num = 0;
if ("{il2cpp array field x->}" == (ulong)0L)
{
num++;
return true;
}
throw new NullReferenceException();
}
// Token: 0x06009F37 RID: 40759 RVA: 0x0021A670 File Offset: 0x00218870
[Token(Token = "0x6009F37")]
[Address(RVA = "0x1F73A70", Offset = "0x1F72870", VA = "0x181F73A70")]
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 = x[0];
uint num7 = num6 * num;
zz[0] = num7;
uint num8 = num6 * num2;
num8 += num7;
zz[0] = num8;
num7 = num6;
uint num9 = num7 * num3;
num9 += num8;
zz[1] = num9;
num8 = num6;
uint num10 = num8 * num4;
num10 += num9;
uint num11 = num6 * num5;
zz[1] = num10;
num11 += num10;
zz[2] = num11;
zz[2] = num11;
uint num13;
uint num12 = x[(int)num13];
uint num14 = num13 + 1U;
uint num15 = zz[(int)num13];
num9 = num12;
uint num16 = num9 * num;
num16 += num15;
zz[0] = num16;
uint num17 = zz[(int)num14];
num15 = num12;
uint num18 = num15 * num2;
num17 += num18;
num17 += num16;
zz[0] = num17;
uint num19 = zz[(int)num16];
num18 = num12;
uint num20 = num18 * num3;
num19 += num20;
num19 += num17;
zz[0] = num19;
uint num21 = zz[(int)num17];
num20 = num12;
uint num22 = num20 * num4;
num21 += num22;
num21 += num19;
zz[0] = num21;
uint num23 = zz[(int)num17];
num13 += (uint)5;
uint num24 = num12 * num5;
num23 += num24;
num23 += num21;
zz[0] = num23;
num13 += (uint)1;
zz[0] = num23;
}
// Token: 0x06009F38 RID: 40760 RVA: 0x0021A82C File Offset: 0x00218A2C
[Token(Token = "0x6009F38")]
[Address(RVA = "0x1F73DF0", Offset = "0x1F72BF0", VA = "0x181F73DF0")]
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[yOff];
uint num7 = x[xOff];
uint num8 = num7 * num;
uint num9 = num7 * num3;
num9 += num8;
num8 = num7;
uint num10 = num8 * num4;
num10 += num9;
num9 = num7;
uint num11 = num9 * num5;
num11 += num10;
uint num12 = num7 * num6;
num12 += num11;
int num13 = xOff + 1;
uint num14 = x[num13];
num12 = num14;
uint num15 = num12 * num;
num15 += (uint)num13;
uint num16 = num14 * num3;
num16 = num14;
uint num17 = num16 * num5;
num15 += num17;
uint num18 = num14 * num6;
num17 += num18;
num17 += num15;
num13++;
num13 -= xOff;
}
// Token: 0x06009F39 RID: 40761 RVA: 0x0021A920 File Offset: 0x00218B20
[Token(Token = "0x6009F39")]
[Address(RVA = "0x1F73100", Offset = "0x1F71F00", VA = "0x181F73100")]
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];
int num6 = 0;
uint num7 = x[num6];
uint num8 = zz[num6];
uint num9 = num7 * num;
num9 += num8;
zz[0] = num9;
num8 = num7;
uint num10 = num8 * num2;
uint num11;
num11 += num10;
num11 += num9;
zz[0] = num11;
num10 = num7;
uint num12 = num10 * num3;
uint num13;
num13 += num12;
num13 += num11;
zz[0] = num13;
num12 = num7;
uint num14 = num12 * num4;
uint num15;
num15 += num14;
num15 += num13;
zz[0] = num15;
num6 += 5;
uint num16 = num7 * num5;
uint num17;
num17 += num16;
num17 += num15;
zz[0] = num17;
uint num18 = zz[num6];
num6++;
num6 += (int)num18;
num6 += (int)num17;
zz[0] = (uint)num6;
throw new NullReferenceException();
}
// Token: 0x06009F3A RID: 40762 RVA: 0x0021AA40 File Offset: 0x00218C40
[Token(Token = "0x6009F3A")]
[Address(RVA = "0x1F73370", Offset = "0x1F72170", VA = "0x181F73370")]
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)num3];
uint num6 = y[yOff];
int num7 = 0;
uint num8 = x[(int)num6];
uint num9 = num8 * num;
num9 += num6;
num6 = num8;
uint num10 = num6 * num4;
num9 += num10;
num10 = num8;
uint num11 = num10 * num5;
num9 += num8;
num7 += (int)num11;
num7 += (int)num9;
throw new NullReferenceException();
}
// Token: 0x06009F3B RID: 40763 RVA: 0x0021AAD8 File Offset: 0x00218CD8
[Token(Token = "0x6009F3B")]
[Address(RVA = "0x1F72BC0", Offset = "0x1F719C0", VA = "0x181F72BC0")]
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 = num13 * w;
num14 += num11;
uint num15;
num14 += num15;
num3 += num14;
throw new NullReferenceException();
}
// Token: 0x06009F3C RID: 40764 RVA: 0x0021ABA4 File Offset: 0x00218DA4
[Token(Token = "0x6009F3C")]
[Address(RVA = "0x1F73620", Offset = "0x1F72420", VA = "0x181F73620")]
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[yyOff] * x;
uint num11;
num11 += num10;
num11 += num9;
zz[0] = num11;
return num11;
}
// Token: 0x06009F3D RID: 40765 RVA: 0x0021AC58 File Offset: 0x00218E58
[Token(Token = "0x6009F3D")]
[Address(RVA = "0x1F72E90", Offset = "0x1F71C90", VA = "0x181F72E90")]
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: 0x06009F3E RID: 40766 RVA: 0x0021AD04 File Offset: 0x00218F04
[Token(Token = "0x6009F3E")]
[Address(RVA = "0x1F73000", Offset = "0x1F71E00", VA = "0x181F73000")]
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: 0x06009F3F RID: 40767 RVA: 0x0021AD88 File Offset: 0x00218F88
[Token(Token = "0x6009F3F")]
[Address(RVA = "0x1F73810", Offset = "0x1F72610", VA = "0x181F73810")]
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: 0x06009F40 RID: 40768 RVA: 0x0021AE14 File Offset: 0x00219014
[Token(Token = "0x6009F40")]
[Address(RVA = "0x1F739B0", Offset = "0x1F727B0", VA = "0x181F739B0")]
public static uint MulWordsAdd(uint x, uint y, uint[] z, int zOff)
{
uint num = x * y;
uint num2 = z[zOff];
num += num2;
z[0] = num;
uint num3 = z[zOff];
num3 += num;
z[0] = num3;
ulong num4;
if (num4 != (ulong)num3 && num3 == (uint)z.Length)
{
num3 += (uint)1;
num3 -= (uint)zOff;
uint num5;
return num5;
}
throw new NullReferenceException();
}
// Token: 0x06009F41 RID: 40769 RVA: 0x0021AE70 File Offset: 0x00219070
[Token(Token = "0x6009F41")]
[Address(RVA = "0x1F73920", Offset = "0x1F72720", VA = "0x181F73920")]
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: 0x06009F42 RID: 40770 RVA: 0x0021AE9C File Offset: 0x0021909C
[Token(Token = "0x6009F42")]
[Address(RVA = "0x1F741C0", Offset = "0x1F72FC0", VA = "0x181F741C0")]
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];
num4 = num9;
uint num11 = zz[2];
num8 = num4;
uint num12 = num4 * num;
num12 += num8;
num12 += num7;
num4 = num9;
uint num13 = num4 * num6;
zz[1] = num8;
num8 = num12;
num13 += num8;
num13 += num10;
num10 = num13;
num10 += num11;
uint num14 = x[1];
uint num15 = zz[2];
num10 += num15;
num7 = num14;
num15 = num13;
uint num16 = num7 * num;
uint num17 = zz[3];
num16 += num15;
zz[1] = num15;
num15 = num16;
uint num18 = num14 * num6;
uint num19 = num14 * num9;
num18 += num15;
num15 = num10;
num18 += num15;
num15 = num18;
num19 += num15;
num15 = num10;
num19 += num15;
num15 = num19;
num10 += num15;
num10 += num17;
uint num20 = x[2];
int length2 = zz.Length;
uint num21 = zz[3];
num12 = num10;
num12 += num21;
uint num22 = zz[4];
num10 = num20;
uint num23 = num10 * num;
num21 = num18;
num23 += num21;
zz[2] = num21;
num16 = num20;
uint num24 = num16 * num6;
uint num25 = num20 * num9;
uint num26 = num20 * num14;
num21 = num23;
num24 += num21;
num21 = num19;
num24 += num21;
num21 = num24;
num25 += num21;
num21 = num10;
num25 += num21;
num21 = num25;
num26 += num21;
num21 = num12;
num26 += num21;
num21 = num26;
num12 += num21;
num12 += num22;
zz[2] = num21;
zz[3] = num21;
zz[3] = num21;
zz[4] = num21;
num21 = num12;
num21 += num21;
zz[4] = num21;
}
// Token: 0x06009F43 RID: 40771 RVA: 0x0021B0F8 File Offset: 0x002192F8
[Token(Token = "0x6009F43")]
[Address(RVA = "0x1F746B0", Offset = "0x1F734B0", VA = "0x181F746B0")]
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;
uint num10 = x[(int)num9];
int length2 = zz.Length;
uint num11 = zz[(int)num9];
num4 = num10;
uint num12 = num4 * num;
num11 = num3;
num12 += num11;
num12 += num8;
zz[0] = num8;
num8 = num12;
uint num13 = num10 * num6;
num13 += num8;
uint num14;
num13 += num14;
num3 = num13;
num3 += num11;
uint num15 = x[(int)num11];
int length3 = zz.Length;
uint num16 = zz[(int)num11];
num11 = num3;
num16 += num11;
uint num17 = zz[(int)num14];
uint num18 = num15 * num;
num17 = num13;
num18 += num17;
zz[0] = num17;
uint num19 = num15 * num10;
num17 = num18;
num15 += num17;
num17 = num3;
num15 += num17;
num17 = num15;
num19 += num17;
num17 = num16;
num19 += num17;
num17 = num19;
num16 += num17;
num16 += num17;
uint num20 = x[xOff];
int length4 = zz.Length;
uint num21 = zz[xOff];
num17 = num16;
num21 += num17;
uint num22 = zz[xOff];
uint num23 = num20 * num;
num22 = num15;
num23 += num22;
zz[0] = num22;
num18 = num20;
uint num24 = num20 * num10;
num22 = num23;
num18 += num22;
num18 += num19;
num19 = num18;
num24 += num19;
num19 = num16;
num24 += num19;
num19 = num24;
num20 += num19;
num19 = num21;
num20 += num19;
num19 = num20;
num21 += num19;
num21 += num22;
zz[2] = num22;
zz[3] = num22;
zz[3] = num22;
zz[0] = num22;
num22 = num21;
num22 += num22;
zz[0] = num22;
}
// Token: 0x06009F44 RID: 40772 RVA: 0x0021B340 File Offset: 0x00219540
[Token(Token = "0x6009F44")]
[Address(RVA = "0x1F75220", Offset = "0x1F74020", VA = "0x181F75220")]
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 = x[2];
uint num10 = y[2];
num2 -= num10;
num2 += num9;
z[2] = num2;
throw new NullReferenceException();
}
// Token: 0x06009F45 RID: 40773 RVA: 0x0021B400 File Offset: 0x00219600
[Token(Token = "0x6009F45")]
[Address(RVA = "0x1F75450", Offset = "0x1F74250", VA = "0x181F75450")]
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[yOff];
uint num12 = y[yOff];
num -= num12;
num += num11;
throw new NullReferenceException();
}
// Token: 0x06009F46 RID: 40774 RVA: 0x0021B4A8 File Offset: 0x002196A8
[Token(Token = "0x6009F46")]
[Address(RVA = "0x1F74C60", Offset = "0x1F73A60", VA = "0x181F74C60")]
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 = x[2];
uint num14 = y[2];
num2 -= num14;
uint num15 = z[2];
num2 -= num13;
num2 += num15;
z[2] = num2;
throw new NullReferenceException();
}
// Token: 0x06009F47 RID: 40775 RVA: 0x0021B5AC File Offset: 0x002197AC
[Token(Token = "0x6009F47")]
[Address(RVA = "0x1F75080", Offset = "0x1F73E80", VA = "0x181F75080")]
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;
throw new NullReferenceException();
}
// Token: 0x06009F48 RID: 40776 RVA: 0x0021B66C File Offset: 0x0021986C
[Token(Token = "0x6009F48")]
[Address(RVA = "0x1F74EB0", Offset = "0x1F73CB0", VA = "0x181F74EB0")]
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[xOff];
uint num12 = z[zOff];
num10 -= num11;
num12 += num10;
z[0] = num12;
throw new NullReferenceException();
}
// Token: 0x06009F49 RID: 40777 RVA: 0x0021B734 File Offset: 0x00219934
[Token(Token = "0x6009F49")]
[Address(RVA = "0x1F756D0", Offset = "0x1F744D0", VA = "0x181F756D0")]
public static BigInteger ToBigInteger(uint[] x)
{
byte[] array = new byte[20];
int num = 0;
uint num2 = x[num];
if (num2 != (uint)0)
{
Pack.UInt32_To_BE(num2, array, 16);
}
num++;
return new BigInteger(1, array);
}
// Token: 0x06009F4A RID: 40778 RVA: 0x0021B774 File Offset: 0x00219974
[Token(Token = "0x6009F4A")]
[Address(RVA = "0x1F757A0", Offset = "0x1F745A0", VA = "0x181F757A0")]
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;
}
// Token: 0x06009F4B RID: 40779 RVA: 0x0021B7B4 File Offset: 0x002199B4
[Token(Token = "0x6009F4B")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
protected Nat160()
{
}
// Token: 0x04006A56 RID: 27222
[Token(Token = "0x4006A56")]
private const ulong M = 4294967295UL;
}
}
@@ -0,0 +1,1389 @@
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;
}
}
@@ -0,0 +1,1576 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw
{
// Token: 0x020019DE RID: 6622
[Token(Token = "0x20019DE")]
internal abstract class Nat224
{
// Token: 0x06009F7A RID: 40826 RVA: 0x0021D5A0 File Offset: 0x0021B7A0
[Token(Token = "0x6009F7A")]
[Address(RVA = "0x28B7A10", Offset = "0x28B6810", VA = "0x1828B7A10")]
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 = x[3];
uint num14 = y[3];
num14 += num11;
num14 += num13;
z[3] = num14;
return num14;
}
// Token: 0x06009F7B RID: 40827 RVA: 0x0021D6C4 File Offset: 0x0021B8C4
[Token(Token = "0x6009F7B")]
[Address(RVA = "0x28B7D00", Offset = "0x28B6B00", VA = "0x1828B7D00")]
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[yOff];
uint num16 = y[yOff];
num16 += num14;
return num16 + num15;
}
// Token: 0x06009F7C RID: 40828 RVA: 0x0021D7C0 File Offset: 0x0021B9C0
[Token(Token = "0x6009F7C")]
[Address(RVA = "0x28B6B40", Offset = "0x28B5940", VA = "0x1828B6B40")]
public static uint AddBothTo(uint[] x, uint[] y, uint[] z)
{
uint num = y[0];
uint num2 = x[0];
num += num2;
uint num3 = z[0];
num += num3;
z[0] = num;
uint num4 = z[0];
num += num4;
uint num5 = y[0];
num += num5;
uint num6 = x[0];
num += num6;
z[0] = num;
uint num7 = z[1];
num += num7;
uint num8 = y[1];
num += num8;
uint num9 = x[1];
num += num9;
z[1] = num;
uint num10 = z[1];
num += num10;
uint num11 = y[1];
num += num11;
uint num12 = x[1];
num += num12;
z[1] = num;
uint num13 = y[2];
num += num13;
uint num14 = x[2];
num += num14;
uint num15 = z[2];
num += num15;
z[2] = num;
uint num16 = z[2];
num += num16;
uint num17 = y[2];
num += num17;
uint num18 = x[2];
num += num18;
z[2] = num;
uint num19 = x[3];
uint num20 = y[3];
uint num21 = z[3];
num += num21;
num += num20;
num += num19;
z[3] = num;
return num;
}
// Token: 0x06009F7D RID: 40829 RVA: 0x0021D92C File Offset: 0x0021BB2C
[Token(Token = "0x6009F7D")]
[Address(RVA = "0x28B6E60", Offset = "0x28B5C60", VA = "0x1828B6E60")]
public static uint AddBothTo(uint[] x, int xOff, uint[] y, int yOff, uint[] z, int zOff)
{
uint num = x[xOff];
uint num2 = y[yOff];
num2 += num;
num2 += num;
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];
num2 += num8;
num2 += num7;
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];
num2 += num14;
num2 += num13;
uint num15 = x[xOff];
uint num16 = y[yOff];
num14 += num2;
num14 += num16;
return num14 + num15;
}
// Token: 0x06009F7E RID: 40830 RVA: 0x0021DA00 File Offset: 0x0021BC00
[Token(Token = "0x6009F7E")]
[Address(RVA = "0x28B7560", Offset = "0x28B6360", VA = "0x1828B7560")]
public static uint AddTo(uint[] x, uint[] z)
{
uint num = x[0];
uint num2 = z[0];
num += num2;
z[0] = num;
uint num3 = z[0];
num += num3;
uint num4 = x[0];
num += num4;
z[0] = num;
uint num5 = z[1];
num += num5;
uint num6 = x[1];
num += num6;
z[1] = num;
uint num7 = z[1];
num += num7;
uint num8 = x[1];
num += num8;
z[1] = num;
uint num9 = x[2];
num += num9;
uint num10 = z[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];
uint num14 = z[3];
num += num14;
num += num13;
z[3] = num;
return num;
}
// Token: 0x06009F7F RID: 40831 RVA: 0x0021DB08 File Offset: 0x0021BD08
[Token(Token = "0x6009F7F")]
[Address(RVA = "0x28B7790", Offset = "0x28B6590", VA = "0x1828B7790")]
public static uint AddTo(uint[] x, int xOff, uint[] z, int zOff, uint cIn)
{
uint num = x[xOff];
uint num2 = z[xOff];
num2 += num;
int num3 = xOff + 1;
z[0] = num2;
uint num4 = x[num3];
int num5 = xOff + 1;
uint num6 = z[num5];
num6 += num2;
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[(int)num8];
num12 += num10;
num12 += num11;
z[0] = num12;
uint num13 = x[(int)num11];
uint num14 = z[(int)num10];
num14 += num12;
num14 += num13;
z[0] = num14;
uint num15 = x[xOff];
uint num16 = z[xOff];
num16 += num14;
num16 += num15;
z[0] = num16;
return num16;
}
// Token: 0x06009F80 RID: 40832 RVA: 0x0021DC40 File Offset: 0x0021BE40
[Token(Token = "0x6009F80")]
[Address(RVA = "0x28B7200", Offset = "0x28B6000", VA = "0x1828B7200")]
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[(int)num7];
uint num12 = u[num3];
num11 += num9;
num11 += num12;
u[0] = num11;
v[0] = num11;
uint num13 = v[(int)num9];
uint num14 = u[num3];
num13 += num11;
num13 += num14;
u[0] = num13;
v[0] = num13;
uint num15 = v[uOff];
uint num16 = u[(int)num9];
num15 += num13;
num15 += num16;
u[0] = num15;
v[0] = num15;
return num15;
}
// Token: 0x06009F81 RID: 40833 RVA: 0x0021DDB4 File Offset: 0x0021BFB4
[Token(Token = "0x6009F81")]
[Address(RVA = "0x28B8070", Offset = "0x28B6E70", VA = "0x1828B8070")]
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;
}
// Token: 0x06009F82 RID: 40834 RVA: 0x0021DE40 File Offset: 0x0021C040
[Token(Token = "0x6009F82")]
[Address(RVA = "0x28B8230", Offset = "0x28B7030", VA = "0x1828B8230")]
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[xOff];
z[0] = num9;
}
// Token: 0x06009F83 RID: 40835 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009F83")]
[Address(RVA = "0x28B8480", Offset = "0x28B7280", VA = "0x1828B8480")]
public static uint[] Create()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009F84 RID: 40836 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009F84")]
[Address(RVA = "0x28B8440", Offset = "0x28B7240", VA = "0x1828B8440")]
public static uint[] CreateExt()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009F85 RID: 40837 RVA: 0x0021DED8 File Offset: 0x0021C0D8
[Token(Token = "0x6009F85")]
[Address(RVA = "0x28B84C0", Offset = "0x28B72C0", VA = "0x1828B84C0")]
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: 0x06009F86 RID: 40838 RVA: 0x0021DEF8 File Offset: 0x0021C0F8
[Token(Token = "0x6009F86")]
[Address(RVA = "0x28B85C0", Offset = "0x28B73C0", VA = "0x1828B85C0")]
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: 0x06009F87 RID: 40839 RVA: 0x0021DF1C File Offset: 0x0021C11C
[Token(Token = "0x6009F87")]
[Address(RVA = "0x28B8630", Offset = "0x28B7430", VA = "0x1828B8630")]
public static uint[] FromBigInteger(BigInteger x)
{
int bitLength = x.BitLength;
uint[] array = new uint[7];
int num = 0;
if (x.sign != 0)
{
num++;
int intValue = x.IntValue;
array[0] = (uint)intValue;
BigInteger bigInteger = x.ShiftRight(32);
}
return array;
}
// Token: 0x06009F88 RID: 40840 RVA: 0x0021DF68 File Offset: 0x0021C168
[Token(Token = "0x6009F88")]
[Address(RVA = "0x28B8760", Offset = "0x28B7560", VA = "0x1828B8760")]
public static uint GetBit(uint[] x, int bit)
{
if (bit != 0)
{
if (bit <= 6)
{
return x[bit];
}
}
return x[0];
}
// Token: 0x06009F89 RID: 40841 RVA: 0x0021DF94 File Offset: 0x0021C194
[Token(Token = "0x6009F89")]
[Address(RVA = "0x28B87E0", Offset = "0x28B75E0", VA = "0x1828B87E0")]
public static bool Gte(uint[] x, uint[] y)
{
uint num2;
uint num = y[(int)num2];
if (x[(int)num2] <= num)
{
}
throw new NullReferenceException();
}
// Token: 0x06009F8A RID: 40842 RVA: 0x0021DFBC File Offset: 0x0021C1BC
[Token(Token = "0x6009F8A")]
[Address(RVA = "0x28B8860", Offset = "0x28B7660", VA = "0x1828B8860")]
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: 0x06009F8B RID: 40843 RVA: 0x0021DFE0 File Offset: 0x0021C1E0
[Token(Token = "0x6009F8B")]
[Address(RVA = "0x28B88E0", Offset = "0x28B76E0", VA = "0x1828B88E0")]
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: 0x06009F8C RID: 40844 RVA: 0x0021E014 File Offset: 0x0021C214
[Token(Token = "0x6009F8C")]
[Address(RVA = "0x28B8950", Offset = "0x28B7750", VA = "0x1828B8950")]
public static bool IsZero(uint[] x)
{
int num = 0;
if ("{il2cpp array field x->}" == (ulong)0L)
{
num++;
return true;
}
throw new NullReferenceException();
}
// Token: 0x06009F8D RID: 40845 RVA: 0x0021E03C File Offset: 0x0021C23C
[Token(Token = "0x6009F8D")]
[Address(RVA = "0x28BA300", Offset = "0x28B9100", VA = "0x1828BA300")]
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 = x[0];
uint num9 = num8 * num;
zz[0] = num9;
uint num10 = num8 * num2;
num10 += num9;
zz[0] = num10;
num9 = num8;
uint num11 = num9 * num3;
num11 += num10;
zz[1] = num11;
num10 = num8;
uint num12 = num10 * num4;
num12 += num11;
zz[1] = num12;
num11 = num8;
uint num13 = num11 * num5;
num13 += num12;
zz[2] = num13;
num12 = num8;
uint num14 = num12 * num6;
num14 += num13;
uint num15 = num8 * num7;
zz[2] = num14;
num15 += num14;
zz[3] = num15;
zz[3] = num15;
uint num17;
uint num16 = x[(int)num17];
uint num18 = num17 + 1U;
uint num19 = zz[(int)num17];
num4 = num16;
uint num20 = num4 * num;
num20 += num19;
zz[0] = num20;
uint num21 = zz[(int)num18];
num19 = num16;
uint num22 = num19 * num2;
num21 += num22;
num21 += num20;
zz[0] = num21;
uint num23 = zz[(int)num18];
num22 = num16;
uint num24 = num22 * num3;
num23 += num24;
num23 += num21;
zz[0] = num23;
uint num25 = zz[(int)num18];
num24 = num16;
num25 += num24;
num25 += num23;
zz[0] = num25;
uint num26 = zz[(int)num23];
num24 = num16;
uint num27 = num24 * num5;
num26 += num27;
num26 += num25;
zz[0] = num26;
uint num28 = zz[(int)num25];
num27 = num16;
uint num29 = num27 * num6;
num28 += num29;
num28 += num26;
zz[0] = num28;
uint num30 = zz[(int)num25];
num17 += (uint)7;
uint num31 = num16 * num7;
num30 += num31;
num30 += num28;
zz[0] = num30;
num17 += (uint)1;
zz[0] = num30;
}
// Token: 0x06009F8E RID: 40846 RVA: 0x0021E294 File Offset: 0x0021C494
[Token(Token = "0x6009F8E")]
[Address(RVA = "0x28B9E10", Offset = "0x28B8C10", VA = "0x1828B9E10")]
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[num2];
uint num8 = y[yOff];
uint num9 = x[xOff];
uint num10 = num9 * num;
uint num11 = num9 * num3;
num11 += num10;
num10 = num9;
uint num12 = num10 * num4;
num12 += num11;
num11 = num9;
uint num13 = num11 * num5;
num13 += num12;
num12 = num9;
uint num14 = num12 * num6;
num14 += num13;
num13 = num9;
uint num15 = num13 * num7;
num15 += num14;
uint num16 = num9 * num8;
num16 += num15;
int num17 = xOff + 1;
uint num18 = x[num17];
uint num19 = num18 * num;
num19 += (uint)num17;
num19 += num18;
uint num20 = num18 * num6;
num20 = num18;
uint num21 = num20 * num7;
num19 += num21;
uint num22 = num18 * num8;
num21 += num22;
num21 += num19;
num17++;
num17 -= xOff;
}
// Token: 0x06009F8F RID: 40847 RVA: 0x0021E3C0 File Offset: 0x0021C5C0
[Token(Token = "0x6009F8F")]
[Address(RVA = "0x28B8FA0", Offset = "0x28B7DA0", VA = "0x1828B8FA0")]
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];
int num8 = 0;
uint num9 = x[num8];
uint num10 = zz[num8];
uint num11 = num9 * num;
num11 += num10;
zz[0] = num11;
num10 = num9;
uint num12 = num10 * num2;
uint num13;
num13 += num12;
num13 += num11;
zz[0] = num13;
num12 = num9;
uint num14 = num12 * num3;
uint num15;
num15 += num14;
num15 += num13;
zz[0] = num15;
num14 = num9;
uint num16;
num16 += num14;
num16 += num15;
zz[0] = num16;
num14 = num9;
uint num17 = num14 * num5;
uint num18;
num18 += num17;
num18 += num16;
zz[0] = num18;
num17 = num9;
uint num19 = num17 * num6;
uint num20;
num20 += num19;
num20 += num18;
zz[0] = num20;
uint num21;
num21 += num9;
num21 += num20;
zz[0] = num21;
num8++;
uint num22;
num8 += (int)num22;
num8 += (int)num21;
zz[0] = (uint)num8;
throw new NullReferenceException();
}
// Token: 0x06009F90 RID: 40848 RVA: 0x0021E518 File Offset: 0x0021C718
[Token(Token = "0x6009F90")]
[Address(RVA = "0x28B92D0", Offset = "0x28B80D0", VA = "0x1828B92D0")]
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)num5];
uint num8 = y[yOff];
int num9 = 0;
uint num10 = x[(int)num8];
uint num11 = num10 * num;
num11 += num8;
num8 = num10;
num11 += num8;
num8 = num10;
uint num12 = num8 * num6;
num11 += num12;
num12 = num10;
uint num13 = num12 * num7;
num11 += num10;
num9 += (int)num13;
num9 += (int)num11;
throw new NullReferenceException();
}
// Token: 0x06009F91 RID: 40849 RVA: 0x0021E5D4 File Offset: 0x0021C7D4
[Token(Token = "0x6009F91")]
[Address(RVA = "0x28B89A0", Offset = "0x28B77A0", VA = "0x1828B89A0")]
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 = num19 * w;
num20 += num17;
uint num21;
num20 += num21;
num3 += num20;
throw new NullReferenceException();
}
// Token: 0x06009F92 RID: 40850 RVA: 0x0021E700 File Offset: 0x0021C900
[Token(Token = "0x6009F92")]
[Address(RVA = "0x28B98A0", Offset = "0x28B86A0", VA = "0x1828B98A0")]
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;
return num7;
}
// Token: 0x06009F93 RID: 40851 RVA: 0x0021E7BC File Offset: 0x0021C9BC
[Token(Token = "0x6009F93")]
[Address(RVA = "0x28B9650", Offset = "0x28B8450", VA = "0x1828B9650")]
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;
return num21;
}
// Token: 0x06009F94 RID: 40852 RVA: 0x0021E908 File Offset: 0x0021CB08
[Token(Token = "0x6009F94")]
[Address(RVA = "0x28B99F0", Offset = "0x28B87F0", VA = "0x1828B99F0")]
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];
uint num11 = z[(int)num7];
uint num12 = num10 * x;
num11 += num12;
num11 += num9;
z[0] = num11;
uint num13 = y[(int)num12];
uint num14 = z[(int)num9];
uint num15 = num13 * x;
num14 += num15;
num14 += num11;
z[0] = num14;
uint num16 = y[yOff];
uint num17 = z[y];
uint num18 = num16 * x;
num17 += num18;
num17 += num14;
z[0] = num17;
return num17;
}
// Token: 0x06009F95 RID: 40853 RVA: 0x0021EA2C File Offset: 0x0021CC2C
[Token(Token = "0x6009F95")]
[Address(RVA = "0x28B8D70", Offset = "0x28B7B70", VA = "0x1828B8D70")]
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: 0x06009F96 RID: 40854 RVA: 0x0021EACC File Offset: 0x0021CCCC
[Token(Token = "0x6009F96")]
[Address(RVA = "0x28B8EC0", Offset = "0x28B7CC0", VA = "0x1828B8EC0")]
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: 0x06009F97 RID: 40855 RVA: 0x0021EB44 File Offset: 0x0021CD44
[Token(Token = "0x6009F97")]
[Address(RVA = "0x28B9C90", Offset = "0x28B8A90", VA = "0x1828B9C90")]
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: 0x06009F98 RID: 40856 RVA: 0x0021EBC0 File Offset: 0x0021CDC0
[Token(Token = "0x6009F98")]
[Address(RVA = "0x28B9D80", Offset = "0x28B8B80", VA = "0x1828B9D80")]
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: 0x06009F99 RID: 40857 RVA: 0x0021EBEC File Offset: 0x0021CDEC
[Token(Token = "0x6009F99")]
[Address(RVA = "0x28BB060", Offset = "0x28B9E60", VA = "0x1828BB060")]
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;
num15 = num16;
uint num18 = num14 * num6;
num18 += num15;
num15 = num7;
num18 += num15;
num7 = num14;
uint num19 = num7 * num9;
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];
num12 = num7;
num12 += num21;
uint num22 = zz[4];
num13 = num20;
uint num23 = num13 * num;
num22 = num18;
num23 += num22;
num18 = num20;
zz[2] = num22;
num22 = num23;
uint num24 = num18 * num6;
uint num25 = num20 * num9;
uint num26 = num20 * num14;
num24 += num22;
num22 = num19;
num24 += num22;
num22 = num24;
num25 += num22;
num22 = num7;
num25 += num22;
num22 = num25;
num26 += num22;
num22 = num12;
num26 += num22;
num22 = num26;
num12 += num22;
num12 += num22;
uint num27 = x[2];
int length3 = zz.Length;
uint num28 = zz[4];
num16 = num12;
num16 += num28;
uint num29 = zz[5];
uint num30 = num27 * num;
num29 = num24;
num30 += num29;
num24 = num27;
num23 = num27;
zz[2] = num29;
num29 = num30;
uint num31 = num24 * num6;
uint num32 = num23 * num9;
num31 += num29;
num29 = num25;
num31 += num29;
num29 = num31;
num32 += num29;
num29 = num26;
num32 += num29;
num26 = num27;
uint num33 = num26 * num14;
uint num34 = num27 * num20;
num29 = num32;
num33 += num29;
num29 = num12;
num33 += num29;
num29 = num33;
num34 += num29;
num29 = num16;
num34 += num29;
num29 = num34;
num16 += num29;
num16 += num29;
uint num35 = x[3];
int length4 = zz.Length;
uint num36 = zz[5];
num34 = num16;
num34 += num36;
uint num37 = zz[6];
num32 = num35;
uint num38 = num32 * num;
num37 = num31;
num38 += num37;
num31 = num35;
zz[3] = num37;
num = num35;
num30 = num35;
uint num39 = num31 * num6;
uint num40 = num * num9;
uint num41 = num30 * num14;
uint num42 = num35 * num20;
num37 = num38;
num39 += num37;
num39 += num32;
num32 = num39;
num40 += num32;
num32 = num33;
num40 += num32;
num32 = num40;
num41 += num32;
num41 += num34;
num34 = num41;
num42 += num34;
num34 = num16;
num42 += num34;
num34 = num42;
num35 += num34;
num35 += num34;
num34 = num35;
num34 += num34;
num34 += num37;
zz[3] = num37;
zz[4] = num37;
zz[4] = num37;
zz[5] = num37;
zz[5] = num37;
zz[6] = num37;
num37 = num34;
num37 += num37;
zz[6] = num37;
}
// Token: 0x06009F9A RID: 40858 RVA: 0x0021F020 File Offset: 0x0021D220
[Token(Token = "0x6009F9A")]
[Address(RVA = "0x28BA780", Offset = "0x28B9580", VA = "0x1828BA780")]
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;
uint num10 = x[(int)num9];
int length2 = zz.Length;
uint num11 = zz[xOff];
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)num13];
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 = num19 * num;
uint num22 = num15;
num21 += num22;
num15 = num19;
num18 = num19;
zz[0] = num22;
num22 = num21;
num15 += num22;
num22 = num15;
num15 += num22;
num22 = num15;
num18 += num22;
num22 = num16;
num18 += num22;
num16 = num19;
num22 = num18;
num16 += num22;
num22 = num20;
num16 += num22;
num22 = num16;
num20 += num22;
num20 += num22;
uint num23 = x[(int)num22];
int length5 = zz.Length;
num22 = num20;
uint num24;
num24 += num22;
uint num25 = zz[(int)num22];
uint num26 = num23 * num;
num25 = num15;
num26 += num25;
num15 = num23;
zz[0] = num25;
num21 = num23;
num25 = num26;
uint num27 = num15 * num6;
num27 += num25;
num27 += num18;
num18 = num27;
num21 += num18;
num21 += num16;
num16 = num21;
num16 += num16;
num16 = num20;
num16 += num16;
num20 = num23;
num20 += num16;
num16 = num24;
num20 += num16;
num16 = num20;
num24 += num16;
num24 += num25;
uint num28 = x[xOff];
int length6 = zz.Length;
uint num29 = zz[xOff];
num25 = num24;
num29 += num25;
uint num30 = zz[(int)num25];
uint num31 = num28 * num;
num30 = num27;
num31 += num30;
zz[0] = num30;
num26 = num28;
num27 = num28;
uint num32 = num27 * num6;
num6 = num28;
num30 = num31;
num32 += num30;
num32 += num21;
num21 = num32;
num6 += num21;
num6 += num16;
num16 = num6;
num26 += num16;
num26 += num20;
num20 = num26;
num28 += num20;
num20 = num24;
num28 += num20;
num20 = num28;
num28 += num20;
num20 = num29;
num28 += num20;
num20 = num28;
num29 += num20;
num29 += num30;
zz[0] = num30;
zz[0] = num30;
zz[0] = num30;
zz[0] = num30;
zz[5] = num30;
zz[6] = num30;
num30 = num29;
num30 += num30;
zz[0] = num30;
}
// Token: 0x06009F9B RID: 40859 RVA: 0x0021F400 File Offset: 0x0021D600
[Token(Token = "0x6009F9B")]
[Address(RVA = "0x28BBFB0", Offset = "0x28BADB0", VA = "0x1828BBFB0")]
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 = x[3];
uint num14 = y[3];
num2 -= num14;
num2 += num13;
z[3] = num2;
throw new NullReferenceException();
}
// Token: 0x06009F9C RID: 40860 RVA: 0x0021F508 File Offset: 0x0021D708
[Token(Token = "0x6009F9C")]
[Address(RVA = "0x28BC2A0", Offset = "0x28BB0A0", VA = "0x1828BC2A0")]
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[yOff];
uint num16 = y[yOff];
num -= num16;
num += num15;
throw new NullReferenceException();
}
// Token: 0x06009F9D RID: 40861 RVA: 0x0021F5EC File Offset: 0x0021D7EC
[Token(Token = "0x6009F9D")]
[Address(RVA = "0x28BB7F0", Offset = "0x28BA5F0", VA = "0x1828BB7F0")]
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 = x[3];
uint num20 = y[3];
num2 -= num20;
uint num21 = z[3];
num2 -= num19;
num2 += num21;
z[3] = num2;
throw new NullReferenceException();
}
// Token: 0x06009F9E RID: 40862 RVA: 0x0021F754 File Offset: 0x0021D954
[Token(Token = "0x6009F9E")]
[Address(RVA = "0x28BBD80", Offset = "0x28BAB80", VA = "0x1828BBD80")]
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;
throw new NullReferenceException();
}
// Token: 0x06009F9F RID: 40863 RVA: 0x0021F85C File Offset: 0x0021DA5C
[Token(Token = "0x6009F9F")]
[Address(RVA = "0x28BBB10", Offset = "0x28BA910", VA = "0x1828BBB10")]
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[xOff];
uint num16 = z[zOff];
num14 -= num15;
num16 += num14;
z[0] = num16;
throw new NullReferenceException();
}
// Token: 0x06009FA0 RID: 40864 RVA: 0x0021F964 File Offset: 0x0021DB64
[Token(Token = "0x6009FA0")]
[Address(RVA = "0x28BC600", Offset = "0x28BB400", VA = "0x1828BC600")]
public static BigInteger ToBigInteger(uint[] x)
{
byte[] array = new byte[28];
int num = 0;
uint num2 = x[num];
if (num2 != (uint)0)
{
Pack.UInt32_To_BE(num2, array, 24);
}
num++;
return new BigInteger(1, array);
}
// Token: 0x06009FA1 RID: 40865 RVA: 0x0021F9A4 File Offset: 0x0021DBA4
[Token(Token = "0x6009FA1")]
[Address(RVA = "0x28BC6D0", Offset = "0x28BB4D0", VA = "0x1828BC6D0")]
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;
}
// Token: 0x06009FA2 RID: 40866 RVA: 0x0021F9F4 File Offset: 0x0021DBF4
[Token(Token = "0x6009FA2")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
protected Nat224()
{
}
// Token: 0x04006A58 RID: 27224
[Token(Token = "0x4006A58")]
private const ulong M = 4294967295UL;
}
}
@@ -0,0 +1,1872 @@
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;
}
}
@@ -0,0 +1,144 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw
{
// Token: 0x020019E0 RID: 6624
[Token(Token = "0x20019E0")]
internal abstract class Nat320
{
// Token: 0x06009FD5 RID: 40917 RVA: 0x002224E8 File Offset: 0x002206E8
[Token(Token = "0x6009FD5")]
[Address(RVA = "0x28C35A0", Offset = "0x28C23A0", VA = "0x1828C35A0")]
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;
ulong num5 = x[4];
z[4] = num5;
}
// Token: 0x06009FD6 RID: 40918 RVA: 0x00222550 File Offset: 0x00220750
[Token(Token = "0x6009FD6")]
[Address(RVA = "0x28C36F0", Offset = "0x28C24F0", VA = "0x1828C36F0")]
public static void Copy64(ulong[] x, int xOff, ulong[] z, int zOff)
{
ulong num = x[xOff];
z[0] = num;
int num2 = xOff + 1;
ulong num3 = x[num2];
int num4 = zOff + 1;
z[0] = num3;
ulong num5 = x[num4];
z[0] = num5;
ulong num6 = x[xOff];
z[0] = num6;
ulong num7 = x[zOff];
z[0] = num7;
}
// Token: 0x06009FD7 RID: 40919 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009FD7")]
[Address(RVA = "0x28C3880", Offset = "0x28C2680", VA = "0x1828C3880")]
public static ulong[] Create64()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009FD8 RID: 40920 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009FD8")]
[Address(RVA = "0x28C38C0", Offset = "0x28C26C0", VA = "0x1828C38C0")]
public static ulong[] CreateExt64()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009FD9 RID: 40921 RVA: 0x002225C4 File Offset: 0x002207C4
[Token(Token = "0x6009FD9")]
[Address(RVA = "0x28C3900", Offset = "0x28C2700", VA = "0x1828C3900")]
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: 0x06009FDA RID: 40922 RVA: 0x002225E8 File Offset: 0x002207E8
[Token(Token = "0x6009FDA")]
[Address(RVA = "0x28C3970", Offset = "0x28C2770", VA = "0x1828C3970")]
public static ulong[] FromBigInteger64(BigInteger x)
{
int bitLength = x.BitLength;
ulong[] array = new ulong[5];
int num = 0;
if (x.sign != 0)
{
num++;
long longValue = x.LongValue;
array[0] = (ulong)longValue;
BigInteger bigInteger = x.ShiftRight(64);
}
return array;
}
// Token: 0x06009FDB RID: 40923 RVA: 0x00222634 File Offset: 0x00220834
[Token(Token = "0x6009FDB")]
[Address(RVA = "0x28C3AA0", Offset = "0x28C28A0", VA = "0x1828C3AA0")]
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: 0x06009FDC RID: 40924 RVA: 0x00222668 File Offset: 0x00220868
[Token(Token = "0x6009FDC")]
[Address(RVA = "0x28C3B10", Offset = "0x28C2910", VA = "0x1828C3B10")]
public static bool IsZero64(ulong[] x)
{
int num = 0;
if ("{il2cpp array field x->}" == (ulong)0L)
{
num++;
return true;
}
throw new NullReferenceException();
}
// Token: 0x06009FDD RID: 40925 RVA: 0x00222690 File Offset: 0x00220890
[Token(Token = "0x6009FDD")]
[Address(RVA = "0x28C3B60", Offset = "0x28C2960", VA = "0x1828C3B60")]
public static BigInteger ToBigInteger64(ulong[] x)
{
byte[] array = new byte[40];
int num = 0;
ulong num2 = x[num];
if (num2 != (ulong)0L)
{
Pack.UInt64_To_BE(num2, array, 32);
}
num++;
return new BigInteger(1, array);
}
// Token: 0x06009FDE RID: 40926 RVA: 0x002226D0 File Offset: 0x002208D0
[Token(Token = "0x6009FDE")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
protected Nat320()
{
}
}
}
@@ -0,0 +1,78 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw
{
// Token: 0x020019E1 RID: 6625
[Token(Token = "0x20019E1")]
internal abstract class Nat384
{
// Token: 0x06009FDF RID: 40927 RVA: 0x002226E4 File Offset: 0x002208E4
[Token(Token = "0x6009FDF")]
[Address(RVA = "0x28C3C30", Offset = "0x28C2A30", VA = "0x1828C3C30")]
public static void Mul(uint[] x, uint[] y, uint[] zz)
{
Nat192.Mul(x, y, zz);
int num = 0;
uint num2;
ulong num3;
Nat192.Mul(x, (int)num2, y, (int)num2, zz, (int)num3);
uint num4 = Nat192.AddToEachOther(zz, 6, zz, 12);
int num5 = 0;
uint num6 = Nat192.AddTo(zz, num5, zz, 6, (uint)num);
num6 += num4;
uint num7 = Nat192.AddTo(zz, 18, zz, 12, num6);
uint[] array = Nat192.Create();
uint[] array2 = Nat192.Create();
int num8 = 0;
bool flag = Nat192.Diff(x, 6, x, num8, array, num);
int num9 = 0;
int num10 = 0;
bool flag2 = Nat192.Diff(y, 6, y, num9, array2, num10);
uint[] array3 = Nat192.CreateExt();
Nat192.Mul(array, array2, array3);
int num11 = 0;
if (flag != flag2)
{
ulong num13;
uint num12 = Nat.AddTo(12, array3, num11, zz, (int)num13);
}
ulong num15;
int num14 = Nat.SubFrom(12, array3, num11, zz, (int)num15);
uint num17;
uint num16 = Nat.AddWordAt(12, array3, zz, (int)num17);
}
// Token: 0x06009FE0 RID: 40928 RVA: 0x002227C4 File Offset: 0x002209C4
[Token(Token = "0x6009FE0")]
[Address(RVA = "0x28C3DD0", Offset = "0x28C2BD0", VA = "0x1828C3DD0")]
public static void Square(uint[] x, uint[] zz)
{
Nat192.Square(x, zz);
int num = 0;
Nat192.Square(x, 6, zz, 12);
uint num2 = Nat192.AddToEachOther(zz, 6, zz, 12);
int num3 = 0;
uint num4 = Nat192.AddTo(zz, num3, zz, 6, (uint)num);
num4 += num2;
uint num5 = Nat192.AddTo(zz, 18, zz, 12, num4);
uint[] array = Nat192.Create();
int num6 = 0;
bool flag = Nat192.Diff(x, 6, x, num6, array, num);
uint[] array2 = Nat192.CreateExt();
Nat192.Square(array, array2);
int num7 = 0;
ulong num9;
int num8 = Nat.SubFrom(12, array2, num7, zz, (int)num9);
array2 += num2;
uint num10 = Nat.AddWordAt(24, array2, zz, 18);
}
// Token: 0x06009FE1 RID: 40929 RVA: 0x00222864 File Offset: 0x00220A64
[Token(Token = "0x6009FE1")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
protected Nat384()
{
}
}
}
@@ -0,0 +1,152 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw
{
// Token: 0x020019E2 RID: 6626
[Token(Token = "0x20019E2")]
internal abstract class Nat448
{
// Token: 0x06009FE2 RID: 40930 RVA: 0x00222878 File Offset: 0x00220A78
[Token(Token = "0x6009FE2")]
[Address(RVA = "0x28C4110", Offset = "0x28C2F10", VA = "0x1828C4110")]
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;
ulong num5 = x[4];
z[4] = num5;
ulong num6 = x[5];
z[5] = num6;
ulong num7 = x[6];
z[6] = num7;
}
// Token: 0x06009FE3 RID: 40931 RVA: 0x00222904 File Offset: 0x00220B04
[Token(Token = "0x6009FE3")]
[Address(RVA = "0x28C3F00", Offset = "0x28C2D00", VA = "0x1828C3F00")]
public static void Copy64(ulong[] x, int xOff, ulong[] z, int zOff)
{
ulong num = x[xOff];
int num2 = xOff + 1;
z.m_value = 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;
ulong num7;
z[0] = num7;
ulong num8 = x[(int)num7];
z[0] = num8;
ulong num9 = x[xOff];
z[0] = num9;
}
// Token: 0x06009FE4 RID: 40932 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009FE4")]
[Address(RVA = "0x28C42E0", Offset = "0x28C30E0", VA = "0x1828C42E0")]
public static ulong[] Create64()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009FE5 RID: 40933 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009FE5")]
[Address(RVA = "0x28C4320", Offset = "0x28C3120", VA = "0x1828C4320")]
public static ulong[] CreateExt64()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009FE6 RID: 40934 RVA: 0x00222990 File Offset: 0x00220B90
[Token(Token = "0x6009FE6")]
[Address(RVA = "0x28C4360", Offset = "0x28C3160", VA = "0x1828C4360")]
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: 0x06009FE7 RID: 40935 RVA: 0x002229B4 File Offset: 0x00220BB4
[Token(Token = "0x6009FE7")]
[Address(RVA = "0x28C43D0", Offset = "0x28C31D0", VA = "0x1828C43D0")]
public static ulong[] FromBigInteger64(BigInteger x)
{
int bitLength = x.BitLength;
ulong[] array = new ulong[7];
int num = 0;
if (x.sign != 0)
{
num++;
long longValue = x.LongValue;
array[0] = (ulong)longValue;
BigInteger bigInteger = x.ShiftRight(64);
}
return array;
}
// Token: 0x06009FE8 RID: 40936 RVA: 0x00222A00 File Offset: 0x00220C00
[Token(Token = "0x6009FE8")]
[Address(RVA = "0x28C4500", Offset = "0x28C3300", VA = "0x1828C4500")]
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: 0x06009FE9 RID: 40937 RVA: 0x00222A34 File Offset: 0x00220C34
[Token(Token = "0x6009FE9")]
[Address(RVA = "0x28C4570", Offset = "0x28C3370", VA = "0x1828C4570")]
public static bool IsZero64(ulong[] x)
{
int num = 0;
if ("{il2cpp array field x->}" == (ulong)0L)
{
num++;
return true;
}
throw new NullReferenceException();
}
// Token: 0x06009FEA RID: 40938 RVA: 0x00222A5C File Offset: 0x00220C5C
[Token(Token = "0x6009FEA")]
[Address(RVA = "0x28C45C0", Offset = "0x28C33C0", VA = "0x1828C45C0")]
public static BigInteger ToBigInteger64(ulong[] x)
{
byte[] array = new byte[56];
int num = 0;
ulong num2 = x[num];
if (num2 != (ulong)0L)
{
Pack.UInt64_To_BE(num2, array, 48);
}
num++;
return new BigInteger(1, array);
}
// Token: 0x06009FEB RID: 40939 RVA: 0x00222A9C File Offset: 0x00220C9C
[Token(Token = "0x6009FEB")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
protected Nat448()
{
}
}
}
@@ -0,0 +1,78 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw
{
// Token: 0x020019E3 RID: 6627
[Token(Token = "0x20019E3")]
internal abstract class Nat512
{
// Token: 0x06009FEC RID: 40940 RVA: 0x00222AB0 File Offset: 0x00220CB0
[Token(Token = "0x6009FEC")]
[Address(RVA = "0x28C4690", Offset = "0x28C3490", VA = "0x1828C4690")]
public static void Mul(uint[] x, uint[] y, uint[] zz)
{
Nat256.Mul(x, y, zz);
int num = 0;
uint num2;
ulong num3;
Nat256.Mul(x, (int)num2, y, (int)num2, zz, (int)num3);
uint num4 = Nat256.AddToEachOther(zz, 8, zz, 16);
int num5 = 0;
uint num6 = Nat256.AddTo(zz, num5, zz, 8, (uint)num);
num6 += num4;
uint num7 = Nat256.AddTo(zz, 24, zz, 16, num6);
uint[] array = new uint[8];
uint[] array2 = new uint[8];
int num8 = 0;
bool flag = Nat256.Diff(x, 8, x, num8, array, num);
int num9 = 0;
bool flag2 = Nat256.Diff(y, 8, y, num9, array2, num);
bool flag3 = flag != flag2;
uint[] array3 = new uint[16];
Nat256.Mul(array, array2, array3);
int num10 = 0;
ulong num12;
if (flag3)
{
uint num11 = Nat.AddTo(16, array3, num10, zz, (int)num12);
}
int num13 = Nat.SubFrom(16, array3, num10, zz, (int)num12);
uint num15;
uint num14 = Nat.AddWordAt(16, array3, zz, (int)num15);
}
// Token: 0x06009FED RID: 40941 RVA: 0x00222B8C File Offset: 0x00220D8C
[Token(Token = "0x6009FED")]
[Address(RVA = "0x28C4890", Offset = "0x28C3690", VA = "0x1828C4890")]
public static void Square(uint[] x, uint[] zz)
{
Nat256.Square(x, zz);
int num = 0;
Nat256.Square(x, 8, zz, 16);
uint num2 = Nat256.AddToEachOther(zz, 8, zz, 16);
int num3 = 0;
uint num4 = Nat256.AddTo(zz, num3, zz, 8, (uint)num);
num4 += num2;
uint num5 = Nat256.AddTo(zz, 24, zz, 16, num4);
num2 += num5;
uint[] array = new uint[8];
int num6 = 0;
bool flag = Nat256.Diff(x, 8, x, num6, array, num);
uint[] array2 = new uint[16];
Nat256.Square(array, array2);
int num7 = 0;
ulong num9;
int num8 = Nat.SubFrom(16, array2, num7, zz, (int)num9);
uint num11;
uint num10 = Nat.AddWordAt(16, array2, zz, (int)num11);
}
// Token: 0x06009FEE RID: 40942 RVA: 0x00222C28 File Offset: 0x00220E28
[Token(Token = "0x6009FEE")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
protected Nat512()
{
}
}
}
@@ -0,0 +1,160 @@
using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw
{
// Token: 0x020019E4 RID: 6628
[Token(Token = "0x20019E4")]
internal abstract class Nat576
{
// Token: 0x06009FEF RID: 40943 RVA: 0x00222C3C File Offset: 0x00220E3C
[Token(Token = "0x6009FEF")]
[Address(RVA = "0x28C4A10", Offset = "0x28C3810", VA = "0x1828C4A10")]
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;
ulong num5 = x[4];
z[4] = num5;
ulong num6 = x[5];
z[5] = num6;
ulong num7 = x[6];
z[6] = num7;
ulong num8 = x[7];
z[7] = num8;
ulong num9 = x[8];
z[8] = num9;
}
// Token: 0x06009FF0 RID: 40944 RVA: 0x00222CEC File Offset: 0x00220EEC
[Token(Token = "0x6009FF0")]
[Address(RVA = "0x28C4C50", Offset = "0x28C3A50", VA = "0x1828C4C50")]
public static void Copy64(ulong[] x, int xOff, ulong[] z, int zOff)
{
ulong num = x[xOff];
int num2 = xOff + 1;
z.m_value = 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;
ulong num7;
z[0] = num7;
ulong num8 = x[(int)num7];
z[0] = num8;
ulong num9 = x[(int)num7];
z[0] = num9;
ulong num10 = x[(int)num7];
z[0] = num10;
ulong num11 = x[xOff];
z[0] = num11;
}
// Token: 0x06009FF1 RID: 40945 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009FF1")]
[Address(RVA = "0x28C4EF0", Offset = "0x28C3CF0", VA = "0x1828C4EF0")]
public static ulong[] Create64()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009FF2 RID: 40946 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009FF2")]
[Address(RVA = "0x28C4F30", Offset = "0x28C3D30", VA = "0x1828C4F30")]
public static ulong[] CreateExt64()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009FF3 RID: 40947 RVA: 0x00222DA0 File Offset: 0x00220FA0
[Token(Token = "0x6009FF3")]
[Address(RVA = "0x28C4F70", Offset = "0x28C3D70", VA = "0x1828C4F70")]
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: 0x06009FF4 RID: 40948 RVA: 0x00222DC4 File Offset: 0x00220FC4
[Token(Token = "0x6009FF4")]
[Address(RVA = "0x28C4FE0", Offset = "0x28C3DE0", VA = "0x1828C4FE0")]
public static ulong[] FromBigInteger64(BigInteger x)
{
int bitLength = x.BitLength;
ulong[] array = new ulong[9];
int num = 0;
if (x.sign != 0)
{
num++;
long longValue = x.LongValue;
array[0] = (ulong)longValue;
BigInteger bigInteger = x.ShiftRight(64);
}
return array;
}
// Token: 0x06009FF5 RID: 40949 RVA: 0x00222E10 File Offset: 0x00221010
[Token(Token = "0x6009FF5")]
[Address(RVA = "0x28C5110", Offset = "0x28C3F10", VA = "0x1828C5110")]
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: 0x06009FF6 RID: 40950 RVA: 0x00222E44 File Offset: 0x00221044
[Token(Token = "0x6009FF6")]
[Address(RVA = "0x28C5180", Offset = "0x28C3F80", VA = "0x1828C5180")]
public static bool IsZero64(ulong[] x)
{
int num = 0;
if ("{il2cpp array field x->}" == (ulong)0L)
{
num++;
return true;
}
throw new NullReferenceException();
}
// Token: 0x06009FF7 RID: 40951 RVA: 0x00222E6C File Offset: 0x0022106C
[Token(Token = "0x6009FF7")]
[Address(RVA = "0x28C51D0", Offset = "0x28C3FD0", VA = "0x1828C51D0")]
public static BigInteger ToBigInteger64(ulong[] x)
{
byte[] array = new byte[72];
int num = 0;
ulong num2 = x[num];
if (num2 != (ulong)0L)
{
Pack.UInt64_To_BE(num2, array, 64);
}
num++;
return new BigInteger(1, array);
}
// Token: 0x06009FF8 RID: 40952 RVA: 0x00222EAC File Offset: 0x002210AC
[Token(Token = "0x6009FF8")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
protected Nat576()
{
}
}
}