This commit is contained in:
niko
2026-04-08 23:40:05 +02:00
parent d6894bcbc7
commit 18dc73f922
7750 changed files with 1795369 additions and 0 deletions
@@ -0,0 +1,121 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw
{
// Token: 0x020013FB RID: 5115
[Token(Token = "0x20013FB")]
[StructLayout(3)]
internal abstract class Interleave
{
// Token: 0x060082AA RID: 33450 RVA: 0x001BF9FC File Offset: 0x001BDBFC
[Token(Token = "0x60082AA")]
[Address(RVA = "0x20AF6E0", Offset = "0x20AE0E0", VA = "0x1820AF6E0")]
internal static uint Expand8to16(uint x)
{
return x;
}
// Token: 0x060082AB RID: 33451 RVA: 0x001BFA0C File Offset: 0x001BDC0C
[Token(Token = "0x60082AB")]
[Address(RVA = "0x20AF3D0", Offset = "0x20ADDD0", VA = "0x1820AF3D0")]
internal static uint Expand16to32(uint x)
{
return x;
}
// Token: 0x060082AC RID: 33452 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60082AC")]
[Address(RVA = "0x20AF410", Offset = "0x20ADE10", VA = "0x1820AF410")]
internal static ulong Expand32to64(uint x)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060082AD RID: 33453 RVA: 0x001BFA1C File Offset: 0x001BDC1C
[Token(Token = "0x60082AD")]
[Address(RVA = "0x20AF5C0", Offset = "0x20ADFC0", VA = "0x1820AF5C0")]
internal static void Expand64To128(ulong x, ulong[] z, int zOff)
{
z[0] = x;
z[0] = x;
}
// Token: 0x060082AE RID: 33454 RVA: 0x001BFA40 File Offset: 0x001BDC40
[Token(Token = "0x60082AE")]
[Address(RVA = "0x20AF4A0", Offset = "0x20ADEA0", VA = "0x1820AF4A0")]
internal static void Expand64To128Rev(ulong x, ulong[] z, int zOff)
{
z[0] = x;
z[0] = x;
}
// Token: 0x060082AF RID: 33455 RVA: 0x001BFA64 File Offset: 0x001BDC64
[Token(Token = "0x60082AF")]
[Address(RVA = "0x20AF830", Offset = "0x20AE230", VA = "0x1820AF830")]
internal static uint Shuffle(uint x)
{
return x;
}
// Token: 0x060082B0 RID: 33456 RVA: 0x001BFA74 File Offset: 0x001BDC74
[Token(Token = "0x60082B0")]
[Address(RVA = "0x20AF780", Offset = "0x20AE180", VA = "0x1820AF780")]
internal static ulong Shuffle(ulong x)
{
return (ulong)2459565876494606882L;
}
// Token: 0x060082B1 RID: 33457 RVA: 0x001BFA8C File Offset: 0x001BDC8C
[Token(Token = "0x60082B1")]
[Address(RVA = "0x20AF710", Offset = "0x20AE110", VA = "0x1820AF710")]
internal static uint Shuffle2(uint x)
{
return x;
}
// Token: 0x060082B2 RID: 33458 RVA: 0x001BFA9C File Offset: 0x001BDC9C
[Token(Token = "0x60082B2")]
[Address(RVA = "0x20AF9C0", Offset = "0x20AE3C0", VA = "0x1820AF9C0")]
internal static uint Unshuffle(uint x)
{
return x;
}
// Token: 0x060082B3 RID: 33459 RVA: 0x001BFAAC File Offset: 0x001BDCAC
[Token(Token = "0x60082B3")]
[Address(RVA = "0x20AF910", Offset = "0x20AE310", VA = "0x1820AF910")]
internal static ulong Unshuffle(ulong x)
{
return x;
}
// Token: 0x060082B4 RID: 33460 RVA: 0x001BFABC File Offset: 0x001BDCBC
[Token(Token = "0x60082B4")]
[Address(RVA = "0x20AF8A0", Offset = "0x20AE2A0", VA = "0x1820AF8A0")]
internal static uint Unshuffle2(uint x)
{
return x;
}
// Token: 0x060082B5 RID: 33461 RVA: 0x001BFACC File Offset: 0x001BDCCC
[Token(Token = "0x60082B5")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
protected Interleave()
{
}
// Token: 0x04005C0D RID: 23565
[Token(Token = "0x4005C0D")]
private const ulong M32 = 1431655765UL;
// Token: 0x04005C0E RID: 23566
[Token(Token = "0x4005C0E")]
private const ulong M64 = 6148914691236517205UL;
// Token: 0x04005C0F RID: 23567
[Token(Token = "0x4005C0F")]
private const ulong M64R = 12297829382473034410UL;
}
}
@@ -0,0 +1,198 @@
using System;
using System.Runtime.InteropServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw
{
// Token: 0x020013FC RID: 5116
[Token(Token = "0x20013FC")]
[StructLayout(3)]
internal abstract class Mod
{
// Token: 0x060082B6 RID: 33462 RVA: 0x001BFAE0 File Offset: 0x001BDCE0
[Token(Token = "0x60082B6")]
[Address(RVA = "0x20AFE30", Offset = "0x20AE830", VA = "0x1820AFE30")]
public static void Invert(uint[] p, uint[] x, uint[] z)
{
/*
An exception occurred when decompiling this method (060082B6)
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 1663
*/;
}
// Token: 0x060082B7 RID: 33463 RVA: 0x001BFD38 File Offset: 0x001BDF38
[Token(Token = "0x60082B7")]
[Address(RVA = "0x20B05C0", Offset = "0x20AEFC0", VA = "0x1820B05C0")]
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: 0x060082B8 RID: 33464 RVA: 0x001BFD98 File Offset: 0x001BDF98
[Token(Token = "0x60082B8")]
[Address(RVA = "0x20AFB50", Offset = "0x20AE550", VA = "0x1820AFB50")]
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: 0x060082B9 RID: 33465 RVA: 0x001BFDC8 File Offset: 0x001BDFC8
[Token(Token = "0x60082B9")]
[Address(RVA = "0x20B07B0", Offset = "0x20AF1B0", VA = "0x1820B07B0")]
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: 0x060082BA RID: 33466 RVA: 0x001BFE3C File Offset: 0x001BE03C
[Token(Token = "0x60082BA")]
[Address(RVA = "0x20AFBD0", Offset = "0x20AE5D0", VA = "0x1820AFBD0")]
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: 0x060082BB RID: 33467 RVA: 0x001BFE70 File Offset: 0x001BE070
[Token(Token = "0x60082BB")]
[Address(RVA = "0x20AFC30", Offset = "0x20AE630", VA = "0x1820AFC30")]
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: 0x060082BC RID: 33468 RVA: 0x001BFF10 File Offset: 0x001BE110
[Token(Token = "0x60082BC")]
[Address(RVA = "0x20AFBB0", Offset = "0x20AE5B0", VA = "0x1820AFBB0")]
private static int GetTrailingZeroes(uint x)
{
int num = 0;
if (x == (uint)1)
{
num++;
while (x == (uint)1)
{
}
}
return num;
}
// Token: 0x060082BD RID: 33469 RVA: 0x001BFF30 File Offset: 0x001BE130
[Token(Token = "0x60082BD")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
protected Mod()
{
}
// Token: 0x060082BE RID: 33470 RVA: 0x001BFF44 File Offset: 0x001BE144
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x60082BE")]
[Address(RVA = "0x20B08F0", Offset = "0x20AF2F0", VA = "0x1820B08F0")]
static Mod()
{
SecureRandom secureRandom = new SecureRandom();
}
// Token: 0x04005C10 RID: 23568
[Token(Token = "0x4005C10")]
private static readonly SecureRandom RandomSource;
}
}
@@ -0,0 +1,1700 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw
{
// Token: 0x020013FD RID: 5117
[Token(Token = "0x20013FD")]
[StructLayout(3)]
internal abstract class Nat
{
// Token: 0x060082BF RID: 33471 RVA: 0x001BFF58 File Offset: 0x001BE158
[Token(Token = "0x60082BF")]
[Address(RVA = "0x20BDAF0", Offset = "0x20BC4F0", VA = "0x1820BDAF0")]
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: 0x060082C0 RID: 33472 RVA: 0x001BFF94 File Offset: 0x001BE194
[Token(Token = "0x60082C0")]
[Address(RVA = "0x20BCF50", Offset = "0x20BB950", VA = "0x1820BCF50")]
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: 0x060082C1 RID: 33473 RVA: 0x001BFFE8 File Offset: 0x001BE1E8
[Token(Token = "0x60082C1")]
[Address(RVA = "0x20BD010", Offset = "0x20BBA10", VA = "0x1820BD010")]
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: 0x060082C2 RID: 33474 RVA: 0x001C0030 File Offset: 0x001BE230
[Token(Token = "0x60082C2")]
[Address(RVA = "0x20BD0E0", Offset = "0x20BBAE0", VA = "0x1820BD0E0")]
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: 0x060082C3 RID: 33475 RVA: 0x001C0090 File Offset: 0x001BE290
[Token(Token = "0x60082C3")]
[Address(RVA = "0x20BD1A0", Offset = "0x20BBBA0", VA = "0x1820BD1A0")]
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: 0x060082C4 RID: 33476 RVA: 0x001C00F0 File Offset: 0x001BE2F0
[Token(Token = "0x60082C4")]
[Address(RVA = "0x20BD260", Offset = "0x20BBC60", VA = "0x1820BD260")]
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: 0x060082C5 RID: 33477 RVA: 0x001C0138 File Offset: 0x001BE338
[Token(Token = "0x60082C5")]
[Address(RVA = "0x20BD310", Offset = "0x20BBD10", VA = "0x1820BD310")]
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: 0x060082C6 RID: 33478 RVA: 0x001C0160 File Offset: 0x001BE360
[Token(Token = "0x60082C6")]
[Address(RVA = "0x20BD410", Offset = "0x20BBE10", VA = "0x1820BD410")]
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: 0x060082C7 RID: 33479 RVA: 0x001C01B8 File Offset: 0x001BE3B8
[Token(Token = "0x60082C7")]
[Address(RVA = "0x20BD4D0", Offset = "0x20BBED0", VA = "0x1820BD4D0")]
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: 0x060082C8 RID: 33480 RVA: 0x001C01FC File Offset: 0x001BE3FC
[Token(Token = "0x60082C8")]
[Address(RVA = "0x20BD690", Offset = "0x20BC090", VA = "0x1820BD690")]
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: 0x060082C9 RID: 33481 RVA: 0x001C0250 File Offset: 0x001BE450
[Token(Token = "0x60082C9")]
[Address(RVA = "0x20BD5C0", Offset = "0x20BBFC0", VA = "0x1820BD5C0")]
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: 0x060082CA RID: 33482 RVA: 0x001C02AC File Offset: 0x001BE4AC
[Token(Token = "0x60082CA")]
[Address(RVA = "0x20BD750", Offset = "0x20BC150", VA = "0x1820BD750")]
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: 0x060082CB RID: 33483 RVA: 0x001C02E8 File Offset: 0x001BE4E8
[Token(Token = "0x60082CB")]
[Address(RVA = "0x20BD7D0", Offset = "0x20BC1D0", VA = "0x1820BD7D0")]
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: 0x060082CC RID: 33484 RVA: 0x001C0318 File Offset: 0x001BE518
[Token(Token = "0x60082CC")]
[Address(RVA = "0x20BD920", Offset = "0x20BC320", VA = "0x1820BD920")]
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: 0x060082CD RID: 33485 RVA: 0x001C035C File Offset: 0x001BE55C
[Token(Token = "0x60082CD")]
[Address(RVA = "0x20BD880", Offset = "0x20BC280", VA = "0x1820BD880")]
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: 0x060082CE RID: 33486 RVA: 0x001C0390 File Offset: 0x001BE590
[Token(Token = "0x60082CE")]
[Address(RVA = "0x20BD9B0", Offset = "0x20BC3B0", VA = "0x1820BD9B0")]
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: 0x060082CF RID: 33487 RVA: 0x001C03D4 File Offset: 0x001BE5D4
[Token(Token = "0x60082CF")]
[Address(RVA = "0x20BDA50", Offset = "0x20BC450", VA = "0x1820BDA50")]
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: 0x060082D0 RID: 33488 RVA: 0x001C041C File Offset: 0x001BE61C
[Token(Token = "0x60082D0")]
[Address(RVA = "0x20BDBA0", Offset = "0x20BC5A0", VA = "0x1820BDBA0")]
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: 0x060082D1 RID: 33489 RVA: 0x001C0448 File Offset: 0x001BE648
[Token(Token = "0x60082D1")]
[Address(RVA = "0x20BDC60", Offset = "0x20BC660", VA = "0x1820BDC60")]
public static void CMov(int len, int mask, uint[] x, int xOff, uint[] z, int zOff)
{
if (len > 0)
{
}
}
// Token: 0x060082D2 RID: 33490 RVA: 0x001C0460 File Offset: 0x001BE660
[Token(Token = "0x60082D2")]
[Address(RVA = "0x20BDC60", Offset = "0x20BC660", VA = "0x1820BDC60")]
public static void CMov(int len, int mask, int[] x, int xOff, int[] z, int zOff)
{
if (len > 0)
{
}
}
// Token: 0x060082D3 RID: 33491 RVA: 0x001C0478 File Offset: 0x001BE678
[Token(Token = "0x60082D3")]
[Address(RVA = "0x20BDD50", Offset = "0x20BC750", VA = "0x1820BDD50")]
public static void Copy(int len, uint[] x, uint[] z)
{
int num = 0;
int num2 = 0;
Array.Copy(x, num2, z, num, len);
}
// Token: 0x060082D4 RID: 33492 RVA: 0x001C0494 File Offset: 0x001BE694
[Token(Token = "0x60082D4")]
[Address(RVA = "0x20BDD80", Offset = "0x20BC780", VA = "0x1820BDD80")]
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: 0x060082D5 RID: 33493 RVA: 0x001C04B8 File Offset: 0x001BE6B8
[Token(Token = "0x60082D5")]
[Address(RVA = "0x20BDD20", Offset = "0x20BC720", VA = "0x1820BDD20")]
public static void Copy(int len, uint[] x, int xOff, uint[] z, int zOff)
{
}
// Token: 0x060082D6 RID: 33494 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60082D6")]
[Address(RVA = "0x20BDE30", Offset = "0x20BC830", VA = "0x1820BDE30")]
public static uint[] Create(int len)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060082D7 RID: 33495 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60082D7")]
[Address(RVA = "0x20BDDF0", Offset = "0x20BC7F0", VA = "0x1820BDDF0")]
public static ulong[] Create64(int len)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060082D8 RID: 33496 RVA: 0x001C04C8 File Offset: 0x001BE6C8
[Token(Token = "0x60082D8")]
[Address(RVA = "0x20BDF40", Offset = "0x20BC940", VA = "0x1820BDF40")]
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: 0x060082D9 RID: 33497 RVA: 0x001C0500 File Offset: 0x001BE700
[Token(Token = "0x60082D9")]
[Address(RVA = "0x20BDFA0", Offset = "0x20BC9A0", VA = "0x1820BDFA0")]
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: 0x060082DA RID: 33498 RVA: 0x001C0550 File Offset: 0x001BE750
[Token(Token = "0x60082DA")]
[Address(RVA = "0x20BDE70", Offset = "0x20BC870", VA = "0x1820BDE70")]
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: 0x060082DB RID: 33499 RVA: 0x001C0580 File Offset: 0x001BE780
[Token(Token = "0x60082DB")]
[Address(RVA = "0x20BDED0", Offset = "0x20BC8D0", VA = "0x1820BDED0")]
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: 0x060082DC RID: 33500 RVA: 0x001C05B4 File Offset: 0x001BE7B4
[Token(Token = "0x60082DC")]
[Address(RVA = "0x20BE070", Offset = "0x20BCA70", VA = "0x1820BE070")]
public static bool Eq(int len, uint[] x, uint[] y)
{
uint num = y[len];
if ("{il2cpp array field x->}" == num)
{
}
throw new NullReferenceException();
}
// Token: 0x060082DD RID: 33501 RVA: 0x001C05D8 File Offset: 0x001BE7D8
[Token(Token = "0x60082DD")]
[Address(RVA = "0x20BE0E0", Offset = "0x20BCAE0", VA = "0x1820BE0E0")]
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: 0x060082DE RID: 33502 RVA: 0x001C0628 File Offset: 0x001BE828
[Token(Token = "0x60082DE")]
[Address(RVA = "0x20BE210", Offset = "0x20BCC10", VA = "0x1820BE210")]
public static uint GetBit(uint[] x, int bit)
{
if (bit != 0)
{
if (bit < x.Length)
{
return x[bit];
}
}
return x[0];
}
// Token: 0x060082DF RID: 33503 RVA: 0x001C065C File Offset: 0x001BE85C
[Token(Token = "0x60082DF")]
[Address(RVA = "0x20BE290", Offset = "0x20BCC90", VA = "0x1820BE290")]
public static bool Gte(int len, uint[] x, uint[] y)
{
uint num = y[len];
if (x[len] <= num)
{
}
throw new NullReferenceException();
}
// Token: 0x060082E0 RID: 33504 RVA: 0x001C0684 File Offset: 0x001BE884
[Token(Token = "0x60082E0")]
[Address(RVA = "0x20BE4A0", Offset = "0x20BCEA0", VA = "0x1820BE4A0")]
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: 0x060082E1 RID: 33505 RVA: 0x001C06B0 File Offset: 0x001BE8B0
[Token(Token = "0x60082E1")]
[Address(RVA = "0x20BE3D0", Offset = "0x20BCDD0", VA = "0x1820BE3D0")]
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: 0x060082E2 RID: 33506 RVA: 0x001C0704 File Offset: 0x001BE904
[Token(Token = "0x60082E2")]
[Address(RVA = "0x20BE370", Offset = "0x20BCD70", VA = "0x1820BE370")]
public static uint IncAt(int len, uint[] z, int zPos)
{
if (zPos >= len || zPos == z.Length)
{
uint num;
return num;
}
throw new NullReferenceException();
}
// Token: 0x060082E3 RID: 33507 RVA: 0x001C0728 File Offset: 0x001BE928
[Token(Token = "0x60082E3")]
[Address(RVA = "0x20BE310", Offset = "0x20BCD10", VA = "0x1820BE310")]
public static uint IncAt(int len, uint[] z, int zOff, int zPos)
{
if (zPos < len)
{
}
uint num;
return num;
}
// Token: 0x060082E4 RID: 33508 RVA: 0x001C0744 File Offset: 0x001BE944
[Token(Token = "0x60082E4")]
[Address(RVA = "0x20BE500", Offset = "0x20BCF00", VA = "0x1820BE500")]
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: 0x060082E5 RID: 33509 RVA: 0x001C077C File Offset: 0x001BE97C
[Token(Token = "0x60082E5")]
[Address(RVA = "0x20BE570", Offset = "0x20BCF70", VA = "0x1820BE570")]
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: 0x060082E6 RID: 33510 RVA: 0x001C07B4 File Offset: 0x001BE9B4
[Token(Token = "0x60082E6")]
[Address(RVA = "0x20BEFA0", Offset = "0x20BD9A0", VA = "0x1820BEFA0")]
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: 0x060082E7 RID: 33511 RVA: 0x001C081C File Offset: 0x001BEA1C
[Token(Token = "0x60082E7")]
[Address(RVA = "0x20BEDC0", Offset = "0x20BD7C0", VA = "0x1820BEDC0")]
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: 0x060082E8 RID: 33512 RVA: 0x001C0860 File Offset: 0x001BEA60
[Token(Token = "0x60082E8")]
[Address(RVA = "0x20BEBE0", Offset = "0x20BD5E0", VA = "0x1820BEBE0")]
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: 0x060082E9 RID: 33513 RVA: 0x001C089C File Offset: 0x001BEA9C
[Token(Token = "0x60082E9")]
[Address(RVA = "0x20BE7F0", Offset = "0x20BD1F0", VA = "0x1820BE7F0")]
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: 0x060082EA RID: 33514 RVA: 0x001C08E0 File Offset: 0x001BEAE0
[Token(Token = "0x60082EA")]
[Address(RVA = "0x20BE6D0", Offset = "0x20BD0D0", VA = "0x1820BE6D0")]
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: 0x060082EB RID: 33515 RVA: 0x001C090C File Offset: 0x001BEB0C
[Token(Token = "0x60082EB")]
[Address(RVA = "0x20BE5E0", Offset = "0x20BCFE0", VA = "0x1820BE5E0")]
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: 0x060082EC RID: 33516 RVA: 0x001C093C File Offset: 0x001BEB3C
[Token(Token = "0x60082EC")]
[Address(RVA = "0x20BEAB0", Offset = "0x20BD4B0", VA = "0x1820BEAB0")]
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: 0x060082ED RID: 33517 RVA: 0x001C0968 File Offset: 0x001BEB68
[Token(Token = "0x60082ED")]
[Address(RVA = "0x20BEB30", Offset = "0x20BD530", VA = "0x1820BEB30")]
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: 0x060082EE RID: 33518 RVA: 0x001C0984 File Offset: 0x001BEB84
[Token(Token = "0x60082EE")]
[Address(RVA = "0x20BE8D0", Offset = "0x20BD2D0", VA = "0x1820BE8D0")]
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: 0x060082EF RID: 33519 RVA: 0x001C09A4 File Offset: 0x001BEBA4
[Token(Token = "0x60082EF")]
[Address(RVA = "0x20BE990", Offset = "0x20BD390", VA = "0x1820BE990")]
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: 0x060082F0 RID: 33520 RVA: 0x001C0A14 File Offset: 0x001BEC14
[Token(Token = "0x60082F0")]
[Address(RVA = "0x20BF220", Offset = "0x20BDC20", VA = "0x1820BF220")]
public static uint ShiftDownBit(int len, uint[] z, uint c)
{
int num = len - 1;
uint num2 = z[num];
z[0] = num2;
return c;
}
// Token: 0x060082F1 RID: 33521 RVA: 0x001C0A3C File Offset: 0x001BEC3C
[Token(Token = "0x60082F1")]
[Address(RVA = "0x20BF110", Offset = "0x20BDB10", VA = "0x1820BF110")]
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: 0x060082F2 RID: 33522 RVA: 0x001C0A68 File Offset: 0x001BEC68
[Token(Token = "0x60082F2")]
[Address(RVA = "0x20BF280", Offset = "0x20BDC80", VA = "0x1820BF280")]
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: 0x060082F3 RID: 33523 RVA: 0x001C0A90 File Offset: 0x001BEC90
[Token(Token = "0x60082F3")]
[Address(RVA = "0x20BF180", Offset = "0x20BDB80", VA = "0x1820BF180")]
public static uint ShiftDownBit(int len, uint[] x, int xOff, uint c, uint[] z, int zOff)
{
int num = len - 1;
return c;
}
// Token: 0x060082F4 RID: 33524 RVA: 0x001C0AA8 File Offset: 0x001BECA8
[Token(Token = "0x60082F4")]
[Address(RVA = "0x20BF3B0", Offset = "0x20BDDB0", VA = "0x1820BF3B0")]
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: 0x060082F5 RID: 33525 RVA: 0x001C0AD4 File Offset: 0x001BECD4
[Token(Token = "0x60082F5")]
[Address(RVA = "0x20BF300", Offset = "0x20BDD00", VA = "0x1820BF300")]
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: 0x060082F6 RID: 33526 RVA: 0x001C0AFC File Offset: 0x001BECFC
[Token(Token = "0x60082F6")]
[Address(RVA = "0x20BF450", Offset = "0x20BDE50", VA = "0x1820BF450")]
public static uint ShiftDownBits(int len, uint[] x, int bits, uint c, uint[] z)
{
int num = len - 1;
return c;
}
// Token: 0x060082F7 RID: 33527 RVA: 0x001C0B14 File Offset: 0x001BED14
[Token(Token = "0x60082F7")]
[Address(RVA = "0x20BF510", Offset = "0x20BDF10", VA = "0x1820BF510")]
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: 0x060082F8 RID: 33528 RVA: 0x001C0B2C File Offset: 0x001BED2C
[Token(Token = "0x60082F8")]
[Address(RVA = "0x20BF5F0", Offset = "0x20BDFF0", VA = "0x1820BF5F0")]
public static uint ShiftDownWord(int len, uint[] z, uint c)
{
int num = len - 1;
z[0] = c;
return c;
}
// Token: 0x060082F9 RID: 33529 RVA: 0x001C0B4C File Offset: 0x001BED4C
[Token(Token = "0x60082F9")]
[Address(RVA = "0x20BF6E0", Offset = "0x20BE0E0", VA = "0x1820BF6E0")]
public static uint ShiftUpBit(int len, uint[] z, uint c)
{
int num = 0;
if (len > 0)
{
num++;
z[0] = c;
}
return c;
}
// Token: 0x060082FA RID: 33530 RVA: 0x001C0B74 File Offset: 0x001BED74
[Token(Token = "0x60082FA")]
[Address(RVA = "0x20BF740", Offset = "0x20BE140", VA = "0x1820BF740")]
public static uint ShiftUpBit(int len, uint[] z, int zOff, uint c)
{
if (len > 0)
{
z[0] = c;
}
return c;
}
// Token: 0x060082FB RID: 33531 RVA: 0x001C0B94 File Offset: 0x001BED94
[Token(Token = "0x60082FB")]
[Address(RVA = "0x20BF7B0", Offset = "0x20BE1B0", VA = "0x1820BF7B0")]
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: 0x060082FC RID: 33532 RVA: 0x001C0BBC File Offset: 0x001BEDBC
[Token(Token = "0x60082FC")]
[Address(RVA = "0x20BF830", Offset = "0x20BE230", VA = "0x1820BF830")]
public static uint ShiftUpBit(int len, uint[] x, int xOff, uint c, uint[] z, int zOff)
{
if (len > 0)
{
}
return c;
}
// Token: 0x060082FD RID: 33533 RVA: 0x001C0BD4 File Offset: 0x001BEDD4
[Token(Token = "0x60082FD")]
[Address(RVA = "0x20BF640", Offset = "0x20BE040", VA = "0x1820BF640")]
public static ulong ShiftUpBit64(int len, ulong[] x, int xOff, ulong c, ulong[] z, int zOff)
{
if (len > 0)
{
}
return c;
}
// Token: 0x060082FE RID: 33534 RVA: 0x001C0BEC File Offset: 0x001BEDEC
[Token(Token = "0x60082FE")]
[Address(RVA = "0x20BFD00", Offset = "0x20BE700", VA = "0x1820BFD00")]
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: 0x060082FF RID: 33535 RVA: 0x001C0C14 File Offset: 0x001BEE14
[Token(Token = "0x60082FF")]
[Address(RVA = "0x20BFC40", Offset = "0x20BE640", VA = "0x1820BFC40")]
public static uint ShiftUpBits(int len, uint[] z, int zOff, int bits, uint c)
{
while (len <= 0)
{
}
return z[bits];
}
// Token: 0x06008300 RID: 33536 RVA: 0x001C0C34 File Offset: 0x001BEE34
[Token(Token = "0x6008300")]
[Address(RVA = "0x20BF9C0", Offset = "0x20BE3C0", VA = "0x1820BF9C0")]
public static ulong ShiftUpBits64(int len, ulong[] z, int zOff, int bits, ulong c)
{
while (len <= 0)
{
}
return z[bits];
}
// Token: 0x06008301 RID: 33537 RVA: 0x001C0C54 File Offset: 0x001BEE54
[Token(Token = "0x6008301")]
[Address(RVA = "0x20BFB70", Offset = "0x20BE570", VA = "0x1820BFB70")]
public static uint ShiftUpBits(int len, uint[] x, int bits, uint c, uint[] z)
{
int num = 0;
if (len > 0)
{
num++;
}
return c;
}
// Token: 0x06008302 RID: 33538 RVA: 0x001C0C74 File Offset: 0x001BEE74
[Token(Token = "0x6008302")]
[Address(RVA = "0x20BFA80", Offset = "0x20BE480", VA = "0x1820BFA80")]
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: 0x06008303 RID: 33539 RVA: 0x001C0C8C File Offset: 0x001BEE8C
[Token(Token = "0x6008303")]
[Address(RVA = "0x20BF8D0", Offset = "0x20BE2D0", VA = "0x1820BF8D0")]
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: 0x06008304 RID: 33540 RVA: 0x001C0CA4 File Offset: 0x001BEEA4
[Token(Token = "0x6008304")]
[Address(RVA = "0x20BFF40", Offset = "0x20BE940", VA = "0x1820BFF40")]
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: 0x06008305 RID: 33541 RVA: 0x001C0D5C File Offset: 0x001BEF5C
[Token(Token = "0x6008305")]
[Address(RVA = "0x20C01B0", Offset = "0x20BEBB0", VA = "0x1820C01B0")]
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: 0x06008306 RID: 33542 RVA: 0x001C0E0C File Offset: 0x001BF00C
[Token(Token = "0x6008306")]
[Address(RVA = "0x20BFDA0", Offset = "0x20BE7A0", VA = "0x1820BFDA0")]
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: 0x06008307 RID: 33543 RVA: 0x001C0E48 File Offset: 0x001BF048
[Token(Token = "0x6008307")]
[Address(RVA = "0x20BFE60", Offset = "0x20BE860", VA = "0x1820BFE60")]
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: 0x06008308 RID: 33544 RVA: 0x001C0E74 File Offset: 0x001BF074
[Token(Token = "0x6008308")]
[Address(RVA = "0x20C10B0", Offset = "0x20BFAB0", VA = "0x1820C10B0")]
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: 0x06008309 RID: 33545 RVA: 0x001C0EB4 File Offset: 0x001BF0B4
[Token(Token = "0x6008309")]
[Address(RVA = "0x20C1160", Offset = "0x20BFB60", VA = "0x1820C1160")]
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: 0x0600830A RID: 33546 RVA: 0x001C0EE0 File Offset: 0x001BF0E0
[Token(Token = "0x600830A")]
[Address(RVA = "0x20C0450", Offset = "0x20BEE50", VA = "0x1820C0450")]
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: 0x0600830B RID: 33547 RVA: 0x001C0F40 File Offset: 0x001BF140
[Token(Token = "0x600830B")]
[Address(RVA = "0x20C0520", Offset = "0x20BEF20", VA = "0x1820C0520")]
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: 0x0600830C RID: 33548 RVA: 0x001C0F8C File Offset: 0x001BF18C
[Token(Token = "0x600830C")]
[Address(RVA = "0x20C06E0", Offset = "0x20BF0E0", VA = "0x1820C06E0")]
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: 0x0600830D RID: 33549 RVA: 0x001C0FF0 File Offset: 0x001BF1F0
[Token(Token = "0x600830D")]
[Address(RVA = "0x20C0600", Offset = "0x20BF000", VA = "0x1820C0600")]
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: 0x0600830E RID: 33550 RVA: 0x001C1054 File Offset: 0x001BF254
[Token(Token = "0x600830E")]
[Address(RVA = "0x20C07B0", Offset = "0x20BF1B0", VA = "0x1820C07B0")]
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: 0x0600830F RID: 33551 RVA: 0x001C10A0 File Offset: 0x001BF2A0
[Token(Token = "0x600830F")]
[Address(RVA = "0x20C0860", Offset = "0x20BF260", VA = "0x1820C0860")]
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: 0x06008310 RID: 33552 RVA: 0x001C10D0 File Offset: 0x001BF2D0
[Token(Token = "0x6008310")]
[Address(RVA = "0x20C0A60", Offset = "0x20BF460", VA = "0x1820C0A60")]
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: 0x06008311 RID: 33553 RVA: 0x001C1134 File Offset: 0x001BF334
[Token(Token = "0x6008311")]
[Address(RVA = "0x20C0960", Offset = "0x20BF360", VA = "0x1820C0960")]
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: 0x06008312 RID: 33554 RVA: 0x001C1184 File Offset: 0x001BF384
[Token(Token = "0x6008312")]
[Address(RVA = "0x20C0C20", Offset = "0x20BF620", VA = "0x1820C0C20")]
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: 0x06008313 RID: 33555 RVA: 0x001C11EC File Offset: 0x001BF3EC
[Token(Token = "0x6008313")]
[Address(RVA = "0x20C0B40", Offset = "0x20BF540", VA = "0x1820C0B40")]
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: 0x06008314 RID: 33556 RVA: 0x001C1254 File Offset: 0x001BF454
[Token(Token = "0x6008314")]
[Address(RVA = "0x20C0CF0", Offset = "0x20BF6F0", VA = "0x1820C0CF0")]
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: 0x06008315 RID: 33557 RVA: 0x001C1294 File Offset: 0x001BF494
[Token(Token = "0x6008315")]
[Address(RVA = "0x20C0D70", Offset = "0x20BF770", VA = "0x1820C0D70")]
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: 0x06008316 RID: 33558 RVA: 0x001C12D0 File Offset: 0x001BF4D0
[Token(Token = "0x6008316")]
[Address(RVA = "0x20C0ED0", Offset = "0x20BF8D0", VA = "0x1820C0ED0")]
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: 0x06008317 RID: 33559 RVA: 0x001C1320 File Offset: 0x001BF520
[Token(Token = "0x6008317")]
[Address(RVA = "0x20C0E20", Offset = "0x20BF820", VA = "0x1820C0E20")]
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: 0x06008318 RID: 33560 RVA: 0x001C1360 File Offset: 0x001BF560
[Token(Token = "0x6008318")]
[Address(RVA = "0x20C0F70", Offset = "0x20BF970", VA = "0x1820C0F70")]
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: 0x06008319 RID: 33561 RVA: 0x001C13AC File Offset: 0x001BF5AC
[Token(Token = "0x6008319")]
[Address(RVA = "0x20C1010", Offset = "0x20BFA10", VA = "0x1820C1010")]
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: 0x0600831A RID: 33562 RVA: 0x001C1400 File Offset: 0x001BF600
[Token(Token = "0x600831A")]
[Address(RVA = "0x20C1250", Offset = "0x20BFC50", VA = "0x1820C1250")]
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: 0x0600831B RID: 33563 RVA: 0x001C1438 File Offset: 0x001BF638
[Token(Token = "0x600831B")]
[Address(RVA = "0x20C1340", Offset = "0x20BFD40", VA = "0x1820C1340")]
public static void Zero(int len, uint[] z)
{
int num = 0;
if (len > 0)
{
num++;
z[0] = (uint)num;
}
}
// Token: 0x0600831C RID: 33564 RVA: 0x001C1460 File Offset: 0x001BF660
[Token(Token = "0x600831C")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
protected Nat()
{
}
// Token: 0x04005C11 RID: 23569
[Token(Token = "0x4005C11")]
private const ulong M = 4294967295UL;
}
}
@@ -0,0 +1,1085 @@
using System;
using System.Runtime.InteropServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw
{
// Token: 0x020013FE RID: 5118
[Token(Token = "0x20013FE")]
[StructLayout(3)]
internal abstract class Nat128
{
// Token: 0x0600831D RID: 33565 RVA: 0x001C1474 File Offset: 0x001BF674
[Token(Token = "0x600831D")]
[Address(RVA = "0x20B1000", Offset = "0x20AFA00", VA = "0x1820B1000")]
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: 0x0600831E RID: 33566 RVA: 0x001C151C File Offset: 0x001BF71C
[Token(Token = "0x600831E")]
[Address(RVA = "0x20B0950", Offset = "0x20AF350", VA = "0x1820B0950")]
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: 0x0600831F RID: 33567 RVA: 0x001C15F0 File Offset: 0x001BF7F0
[Token(Token = "0x600831F")]
[Address(RVA = "0x20B0D30", Offset = "0x20AF730", VA = "0x1820B0D30")]
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: 0x06008320 RID: 33568 RVA: 0x001C168C File Offset: 0x001BF88C
[Token(Token = "0x6008320")]
[Address(RVA = "0x20B0E80", Offset = "0x20AF880", VA = "0x1820B0E80")]
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: 0x06008321 RID: 33569 RVA: 0x001C1740 File Offset: 0x001BF940
[Token(Token = "0x6008321")]
[Address(RVA = "0x20B0B30", Offset = "0x20AF530", VA = "0x1820B0B30")]
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: 0x06008322 RID: 33570 RVA: 0x001C181C File Offset: 0x001BFA1C
[Token(Token = "0x6008322")]
[Address(RVA = "0x20B12F0", Offset = "0x20AFCF0", VA = "0x1820B12F0")]
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: 0x06008323 RID: 33571 RVA: 0x001C1870 File Offset: 0x001BFA70
[Token(Token = "0x6008323")]
[Address(RVA = "0x20B13E0", Offset = "0x20AFDE0", VA = "0x1820B13E0")]
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: 0x06008324 RID: 33572 RVA: 0x001C18D0 File Offset: 0x001BFAD0
[Token(Token = "0x6008324")]
[Address(RVA = "0x20B11C0", Offset = "0x20AFBC0", VA = "0x1820B11C0")]
public static void Copy64(ulong[] x, ulong[] z)
{
ulong num = x[0];
z[0] = num;
ulong num2 = x[1];
z[1] = num2;
}
// Token: 0x06008325 RID: 33573 RVA: 0x001C1904 File Offset: 0x001BFB04
[Token(Token = "0x6008325")]
[Address(RVA = "0x20B1250", Offset = "0x20AFC50", VA = "0x1820B1250")]
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: 0x06008326 RID: 33574 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6008326")]
[Address(RVA = "0x20B15E0", Offset = "0x20AFFE0", VA = "0x1820B15E0")]
public static uint[] Create()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06008327 RID: 33575 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6008327")]
[Address(RVA = "0x20B1520", Offset = "0x20AFF20", VA = "0x1820B1520")]
public static ulong[] Create64()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06008328 RID: 33576 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6008328")]
[Address(RVA = "0x20B15A0", Offset = "0x20AFFA0", VA = "0x1820B15A0")]
public static uint[] CreateExt()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06008329 RID: 33577 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6008329")]
[Address(RVA = "0x20B1560", Offset = "0x20AFF60", VA = "0x1820B1560")]
public static ulong[] CreateExt64()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600832A RID: 33578 RVA: 0x001C1940 File Offset: 0x001BFB40
[Token(Token = "0x600832A")]
[Address(RVA = "0x20B1620", Offset = "0x20B0020", VA = "0x1820B1620")]
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: 0x0600832B RID: 33579 RVA: 0x001C1960 File Offset: 0x001BFB60
[Token(Token = "0x600832B")]
[Address(RVA = "0x20B1790", Offset = "0x20B0190", VA = "0x1820B1790")]
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: 0x0600832C RID: 33580 RVA: 0x001C1984 File Offset: 0x001BFB84
[Token(Token = "0x600832C")]
[Address(RVA = "0x20B1720", Offset = "0x20B0120", VA = "0x1820B1720")]
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: 0x0600832D RID: 33581 RVA: 0x001C19A8 File Offset: 0x001BFBA8
[Token(Token = "0x600832D")]
[Address(RVA = "0x20B1930", Offset = "0x20B0330", VA = "0x1820B1930")]
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: 0x0600832E RID: 33582 RVA: 0x001C19F4 File Offset: 0x001BFBF4
[Token(Token = "0x600832E")]
[Address(RVA = "0x20B1800", Offset = "0x20B0200", VA = "0x1820B1800")]
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: 0x0600832F RID: 33583 RVA: 0x001C1A40 File Offset: 0x001BFC40
[Token(Token = "0x600832F")]
[Address(RVA = "0x20B1A60", Offset = "0x20B0460", VA = "0x1820B1A60")]
public static uint GetBit(uint[] x, int bit)
{
if (bit != 0)
{
if (bit == 0)
{
return x[bit];
}
}
return x[0];
}
// Token: 0x06008330 RID: 33584 RVA: 0x001C1A6C File Offset: 0x001BFC6C
[Token(Token = "0x6008330")]
[Address(RVA = "0x20B1B60", Offset = "0x20B0560", VA = "0x1820B1B60")]
public static bool Gte(uint[] x, uint[] y)
{
uint num2;
uint num = y[(int)num2];
if (x[(int)num2] <= num)
{
}
throw new NullReferenceException();
}
// Token: 0x06008331 RID: 33585 RVA: 0x001C1A94 File Offset: 0x001BFC94
[Token(Token = "0x6008331")]
[Address(RVA = "0x20B1AE0", Offset = "0x20B04E0", VA = "0x1820B1AE0")]
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: 0x06008332 RID: 33586 RVA: 0x001C1AB8 File Offset: 0x001BFCB8
[Token(Token = "0x6008332")]
[Address(RVA = "0x20B1C50", Offset = "0x20B0650", VA = "0x1820B1C50")]
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: 0x06008333 RID: 33587 RVA: 0x001C1AEC File Offset: 0x001BFCEC
[Token(Token = "0x6008333")]
[Address(RVA = "0x20B1BE0", Offset = "0x20B05E0", VA = "0x1820B1BE0")]
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: 0x06008334 RID: 33588 RVA: 0x001C1B20 File Offset: 0x001BFD20
[Token(Token = "0x6008334")]
[Address(RVA = "0x20B1D10", Offset = "0x20B0710", VA = "0x1820B1D10")]
public static bool IsZero(uint[] x)
{
int num = 0;
if ("{il2cpp array field x->}" == (ulong)0L)
{
num++;
return true;
}
throw new NullReferenceException();
}
// Token: 0x06008335 RID: 33589 RVA: 0x001C1B48 File Offset: 0x001BFD48
[Token(Token = "0x6008335")]
[Address(RVA = "0x20B1CC0", Offset = "0x20B06C0", VA = "0x1820B1CC0")]
public static bool IsZero64(ulong[] x)
{
int num = 0;
if ("{il2cpp array field x->}" == (ulong)0L)
{
num++;
return true;
}
throw new NullReferenceException();
}
// Token: 0x06008336 RID: 33590 RVA: 0x001C1B70 File Offset: 0x001BFD70
[Token(Token = "0x6008336")]
[Address(RVA = "0x20B2D50", Offset = "0x20B1750", VA = "0x1820B2D50")]
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: 0x06008337 RID: 33591 RVA: 0x001C1CDC File Offset: 0x001BFEDC
[Token(Token = "0x6008337")]
[Address(RVA = "0x20B2A20", Offset = "0x20B1420", VA = "0x1820B2A20")]
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: 0x06008338 RID: 33592 RVA: 0x001C1DB4 File Offset: 0x001BFFB4
[Token(Token = "0x6008338")]
[Address(RVA = "0x20B21C0", Offset = "0x20B0BC0", VA = "0x1820B21C0")]
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: 0x06008339 RID: 33593 RVA: 0x001C1EA8 File Offset: 0x001C00A8
[Token(Token = "0x6008339")]
[Address(RVA = "0x20B23E0", Offset = "0x20B0DE0", VA = "0x1820B23E0")]
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: 0x0600833A RID: 33594 RVA: 0x001C1F2C File Offset: 0x001C012C
[Token(Token = "0x600833A")]
[Address(RVA = "0x20B1D60", Offset = "0x20B0760", VA = "0x1820B1D60")]
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: 0x0600833B RID: 33595 RVA: 0x001C1FC8 File Offset: 0x001C01C8
[Token(Token = "0x600833B")]
[Address(RVA = "0x20B2630", Offset = "0x20B1030", VA = "0x1820B2630")]
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: 0x0600833C RID: 33596 RVA: 0x001C2070 File Offset: 0x001C0270
[Token(Token = "0x600833C")]
[Address(RVA = "0x20B1FC0", Offset = "0x20B09C0", VA = "0x1820B1FC0")]
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: 0x0600833D RID: 33597 RVA: 0x001C2100 File Offset: 0x001C0300
[Token(Token = "0x600833D")]
[Address(RVA = "0x20B20C0", Offset = "0x20B0AC0", VA = "0x1820B20C0")]
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: 0x0600833E RID: 33598 RVA: 0x001C2184 File Offset: 0x001C0384
[Token(Token = "0x600833E")]
[Address(RVA = "0x20B27C0", Offset = "0x20B11C0", VA = "0x1820B27C0")]
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: 0x0600833F RID: 33599 RVA: 0x001C2210 File Offset: 0x001C0410
[Token(Token = "0x600833F")]
[Address(RVA = "0x20B2960", Offset = "0x20B1360", VA = "0x1820B2960")]
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: 0x06008340 RID: 33600 RVA: 0x001C226C File Offset: 0x001C046C
[Token(Token = "0x6008340")]
[Address(RVA = "0x20B28D0", Offset = "0x20B12D0", VA = "0x1820B28D0")]
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: 0x06008341 RID: 33601 RVA: 0x001C2298 File Offset: 0x001C0498
[Token(Token = "0x6008341")]
[Address(RVA = "0x20B3040", Offset = "0x20B1A40", VA = "0x1820B3040")]
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: 0x06008342 RID: 33602 RVA: 0x001C2430 File Offset: 0x001C0630
[Token(Token = "0x6008342")]
[Address(RVA = "0x20B3410", Offset = "0x20B1E10", VA = "0x1820B3410")]
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: 0x06008343 RID: 33603 RVA: 0x001C25C8 File Offset: 0x001C07C8
[Token(Token = "0x6008343")]
[Address(RVA = "0x20B3F20", Offset = "0x20B2920", VA = "0x1820B3F20")]
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: 0x06008344 RID: 33604 RVA: 0x001C2664 File Offset: 0x001C0864
[Token(Token = "0x6008344")]
[Address(RVA = "0x20B3D10", Offset = "0x20B2710", VA = "0x1820B3D10")]
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: 0x06008345 RID: 33605 RVA: 0x001C26EC File Offset: 0x001C08EC
[Token(Token = "0x6008345")]
[Address(RVA = "0x20B3870", Offset = "0x20B2270", VA = "0x1820B3870")]
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: 0x06008346 RID: 33606 RVA: 0x001C27C0 File Offset: 0x001C09C0
[Token(Token = "0x6008346")]
[Address(RVA = "0x20B3A50", Offset = "0x20B2450", VA = "0x1820B3A50")]
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: 0x06008347 RID: 33607 RVA: 0x001C285C File Offset: 0x001C0A5C
[Token(Token = "0x6008347")]
[Address(RVA = "0x20B3BA0", Offset = "0x20B25A0", VA = "0x1820B3BA0")]
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: 0x06008348 RID: 33608 RVA: 0x001C2908 File Offset: 0x001C0B08
[Token(Token = "0x6008348")]
[Address(RVA = "0x20B41B0", Offset = "0x20B2BB0", VA = "0x1820B41B0")]
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: 0x06008349 RID: 33609 RVA: 0x001C2948 File Offset: 0x001C0B48
[Token(Token = "0x6008349")]
[Address(RVA = "0x20B40E0", Offset = "0x20B2AE0", VA = "0x1820B40E0")]
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: 0x0600834A RID: 33610 RVA: 0x001C2988 File Offset: 0x001C0B88
[Token(Token = "0x600834A")]
[Address(RVA = "0x20B4280", Offset = "0x20B2C80", VA = "0x1820B4280")]
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: 0x0600834B RID: 33611 RVA: 0x001C29C0 File Offset: 0x001C0BC0
[Token(Token = "0x600834B")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
protected Nat128()
{
}
// Token: 0x04005C12 RID: 23570
[Token(Token = "0x4005C12")]
private const ulong M = 4294967295UL;
}
}
@@ -0,0 +1,1136 @@
using System;
using System.Runtime.InteropServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw
{
// Token: 0x020013FF RID: 5119
[Token(Token = "0x20013FF")]
[StructLayout(3)]
internal abstract class Nat160
{
// Token: 0x0600834C RID: 33612 RVA: 0x001C29D4 File Offset: 0x001C0BD4
[Token(Token = "0x600834C")]
[Address(RVA = "0x20B4B80", Offset = "0x20B3580", VA = "0x1820B4B80")]
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: 0x0600834D RID: 33613 RVA: 0x001C2AA4 File Offset: 0x001C0CA4
[Token(Token = "0x600834D")]
[Address(RVA = "0x20B4300", Offset = "0x20B2D00", VA = "0x1820B4300")]
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: 0x0600834E RID: 33614 RVA: 0x001C2BAC File Offset: 0x001C0DAC
[Token(Token = "0x600834E")]
[Address(RVA = "0x20B47C0", Offset = "0x20B31C0", VA = "0x1820B47C0")]
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: 0x0600834F RID: 33615 RVA: 0x001C2C6C File Offset: 0x001C0E6C
[Token(Token = "0x600834F")]
[Address(RVA = "0x20B4960", Offset = "0x20B3360", VA = "0x1820B4960")]
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: 0x06008350 RID: 33616 RVA: 0x001C2D70 File Offset: 0x001C0F70
[Token(Token = "0x6008350")]
[Address(RVA = "0x20B4550", Offset = "0x20B2F50", VA = "0x1820B4550")]
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: 0x06008351 RID: 33617 RVA: 0x001C2E7C File Offset: 0x001C107C
[Token(Token = "0x6008351")]
[Address(RVA = "0x20B4DA0", Offset = "0x20B37A0", VA = "0x1820B4DA0")]
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: 0x06008352 RID: 33618 RVA: 0x001C2EE4 File Offset: 0x001C10E4
[Token(Token = "0x6008352")]
[Address(RVA = "0x20B4EE0", Offset = "0x20B38E0", VA = "0x1820B4EE0")]
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: 0x06008353 RID: 33619 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6008353")]
[Address(RVA = "0x20B50A0", Offset = "0x20B3AA0", VA = "0x1820B50A0")]
public static uint[] Create()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06008354 RID: 33620 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6008354")]
[Address(RVA = "0x20B5060", Offset = "0x20B3A60", VA = "0x1820B5060")]
public static uint[] CreateExt()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06008355 RID: 33621 RVA: 0x001C2F58 File Offset: 0x001C1158
[Token(Token = "0x6008355")]
[Address(RVA = "0x20B50E0", Offset = "0x20B3AE0", VA = "0x1820B50E0")]
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: 0x06008356 RID: 33622 RVA: 0x001C2F78 File Offset: 0x001C1178
[Token(Token = "0x6008356")]
[Address(RVA = "0x20B51E0", Offset = "0x20B3BE0", VA = "0x1820B51E0")]
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: 0x06008357 RID: 33623 RVA: 0x001C2F9C File Offset: 0x001C119C
[Token(Token = "0x6008357")]
[Address(RVA = "0x20B5250", Offset = "0x20B3C50", VA = "0x1820B5250")]
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: 0x06008358 RID: 33624 RVA: 0x001C2FE8 File Offset: 0x001C11E8
[Token(Token = "0x6008358")]
[Address(RVA = "0x20B5380", Offset = "0x20B3D80", VA = "0x1820B5380")]
public static uint GetBit(uint[] x, int bit)
{
if (bit != 0)
{
if (bit <= 4)
{
return x[bit];
}
}
return x[0];
}
// Token: 0x06008359 RID: 33625 RVA: 0x001C3014 File Offset: 0x001C1214
[Token(Token = "0x6008359")]
[Address(RVA = "0x20B5480", Offset = "0x20B3E80", VA = "0x1820B5480")]
public static bool Gte(uint[] x, uint[] y)
{
uint num2;
uint num = y[(int)num2];
if (x[(int)num2] <= num)
{
}
throw new NullReferenceException();
}
// Token: 0x0600835A RID: 33626 RVA: 0x001C303C File Offset: 0x001C123C
[Token(Token = "0x600835A")]
[Address(RVA = "0x20B5400", Offset = "0x20B3E00", VA = "0x1820B5400")]
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: 0x0600835B RID: 33627 RVA: 0x001C3060 File Offset: 0x001C1260
[Token(Token = "0x600835B")]
[Address(RVA = "0x20B5500", Offset = "0x20B3F00", VA = "0x1820B5500")]
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: 0x0600835C RID: 33628 RVA: 0x001C3094 File Offset: 0x001C1294
[Token(Token = "0x600835C")]
[Address(RVA = "0x20B5570", Offset = "0x20B3F70", VA = "0x1820B5570")]
public static bool IsZero(uint[] x)
{
int num = 0;
if ("{il2cpp array field x->}" == (ulong)0L)
{
num++;
return true;
}
throw new NullReferenceException();
}
// Token: 0x0600835D RID: 33629 RVA: 0x001C30BC File Offset: 0x001C12BC
[Token(Token = "0x600835D")]
[Address(RVA = "0x20B6470", Offset = "0x20B4E70", VA = "0x1820B6470")]
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: 0x0600835E RID: 33630 RVA: 0x001C3278 File Offset: 0x001C1478
[Token(Token = "0x600835E")]
[Address(RVA = "0x20B67F0", Offset = "0x20B51F0", VA = "0x1820B67F0")]
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: 0x0600835F RID: 33631 RVA: 0x001C336C File Offset: 0x001C156C
[Token(Token = "0x600835F")]
[Address(RVA = "0x20B5B00", Offset = "0x20B4500", VA = "0x1820B5B00")]
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: 0x06008360 RID: 33632 RVA: 0x001C348C File Offset: 0x001C168C
[Token(Token = "0x6008360")]
[Address(RVA = "0x20B5D70", Offset = "0x20B4770", VA = "0x1820B5D70")]
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: 0x06008361 RID: 33633 RVA: 0x001C3524 File Offset: 0x001C1724
[Token(Token = "0x6008361")]
[Address(RVA = "0x20B55C0", Offset = "0x20B3FC0", VA = "0x1820B55C0")]
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: 0x06008362 RID: 33634 RVA: 0x001C35F0 File Offset: 0x001C17F0
[Token(Token = "0x6008362")]
[Address(RVA = "0x20B6020", Offset = "0x20B4A20", VA = "0x1820B6020")]
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: 0x06008363 RID: 33635 RVA: 0x001C36A4 File Offset: 0x001C18A4
[Token(Token = "0x6008363")]
[Address(RVA = "0x20B5890", Offset = "0x20B4290", VA = "0x1820B5890")]
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: 0x06008364 RID: 33636 RVA: 0x001C3750 File Offset: 0x001C1950
[Token(Token = "0x6008364")]
[Address(RVA = "0x20B5A00", Offset = "0x20B4400", VA = "0x1820B5A00")]
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: 0x06008365 RID: 33637 RVA: 0x001C37D4 File Offset: 0x001C19D4
[Token(Token = "0x6008365")]
[Address(RVA = "0x20B6210", Offset = "0x20B4C10", VA = "0x1820B6210")]
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: 0x06008366 RID: 33638 RVA: 0x001C3860 File Offset: 0x001C1A60
[Token(Token = "0x6008366")]
[Address(RVA = "0x20B63B0", Offset = "0x20B4DB0", VA = "0x1820B63B0")]
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: 0x06008367 RID: 33639 RVA: 0x001C38BC File Offset: 0x001C1ABC
[Token(Token = "0x6008367")]
[Address(RVA = "0x20B6320", Offset = "0x20B4D20", VA = "0x1820B6320")]
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: 0x06008368 RID: 33640 RVA: 0x001C38E8 File Offset: 0x001C1AE8
[Token(Token = "0x6008368")]
[Address(RVA = "0x20B6BC0", Offset = "0x20B55C0", VA = "0x1820B6BC0")]
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: 0x06008369 RID: 33641 RVA: 0x001C3B44 File Offset: 0x001C1D44
[Token(Token = "0x6008369")]
[Address(RVA = "0x20B70B0", Offset = "0x20B5AB0", VA = "0x1820B70B0")]
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: 0x0600836A RID: 33642 RVA: 0x001C3D8C File Offset: 0x001C1F8C
[Token(Token = "0x600836A")]
[Address(RVA = "0x20B7C20", Offset = "0x20B6620", VA = "0x1820B7C20")]
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: 0x0600836B RID: 33643 RVA: 0x001C3E4C File Offset: 0x001C204C
[Token(Token = "0x600836B")]
[Address(RVA = "0x20B7E50", Offset = "0x20B6850", VA = "0x1820B7E50")]
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: 0x0600836C RID: 33644 RVA: 0x001C3EF4 File Offset: 0x001C20F4
[Token(Token = "0x600836C")]
[Address(RVA = "0x20B7660", Offset = "0x20B6060", VA = "0x1820B7660")]
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: 0x0600836D RID: 33645 RVA: 0x001C3FF8 File Offset: 0x001C21F8
[Token(Token = "0x600836D")]
[Address(RVA = "0x20B7A80", Offset = "0x20B6480", VA = "0x1820B7A80")]
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: 0x0600836E RID: 33646 RVA: 0x001C40B8 File Offset: 0x001C22B8
[Token(Token = "0x600836E")]
[Address(RVA = "0x20B78B0", Offset = "0x20B62B0", VA = "0x1820B78B0")]
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: 0x0600836F RID: 33647 RVA: 0x001C4180 File Offset: 0x001C2380
[Token(Token = "0x600836F")]
[Address(RVA = "0x20B80D0", Offset = "0x20B6AD0", VA = "0x1820B80D0")]
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: 0x06008370 RID: 33648 RVA: 0x001C41C0 File Offset: 0x001C23C0
[Token(Token = "0x6008370")]
[Address(RVA = "0x20B81A0", Offset = "0x20B6BA0", VA = "0x1820B81A0")]
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: 0x06008371 RID: 33649 RVA: 0x001C4200 File Offset: 0x001C2400
[Token(Token = "0x6008371")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
protected Nat160()
{
}
// Token: 0x04005C13 RID: 23571
[Token(Token = "0x4005C13")]
private const ulong M = 4294967295UL;
}
}
@@ -0,0 +1,1391 @@
using System;
using System.Runtime.InteropServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw
{
// Token: 0x02001400 RID: 5120
[Token(Token = "0x2001400")]
[StructLayout(3)]
internal abstract class Nat192
{
// Token: 0x06008372 RID: 33650 RVA: 0x001C4214 File Offset: 0x001C2414
[Token(Token = "0x6008372")]
[Address(RVA = "0x20B8BF0", Offset = "0x20B75F0", VA = "0x1820B8BF0")]
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: 0x06008373 RID: 33651 RVA: 0x001C430C File Offset: 0x001C250C
[Token(Token = "0x6008373")]
[Address(RVA = "0x20B8240", Offset = "0x20B6C40", VA = "0x1820B8240")]
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: 0x06008374 RID: 33652 RVA: 0x001C4444 File Offset: 0x001C2644
[Token(Token = "0x6008374")]
[Address(RVA = "0x20B87E0", Offset = "0x20B71E0", VA = "0x1820B87E0")]
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: 0x06008375 RID: 33653 RVA: 0x001C4528 File Offset: 0x001C2728
[Token(Token = "0x6008375")]
[Address(RVA = "0x20B89C0", Offset = "0x20B73C0", VA = "0x1820B89C0")]
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: 0x06008376 RID: 33654 RVA: 0x001C4634 File Offset: 0x001C2834
[Token(Token = "0x6008376")]
[Address(RVA = "0x20B8500", Offset = "0x20B6F00", VA = "0x1820B8500")]
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: 0x06008377 RID: 33655 RVA: 0x001C4778 File Offset: 0x001C2978
[Token(Token = "0x6008377")]
[Address(RVA = "0x20B9000", Offset = "0x20B7A00", VA = "0x1820B9000")]
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: 0x06008378 RID: 33656 RVA: 0x001C47F0 File Offset: 0x001C29F0
[Token(Token = "0x6008378")]
[Address(RVA = "0x20B9180", Offset = "0x20B7B80", VA = "0x1820B9180")]
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: 0x06008379 RID: 33657 RVA: 0x001C4874 File Offset: 0x001C2A74
[Token(Token = "0x6008379")]
[Address(RVA = "0x20B8F40", Offset = "0x20B7940", VA = "0x1820B8F40")]
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: 0x0600837A RID: 33658 RVA: 0x001C48B8 File Offset: 0x001C2AB8
[Token(Token = "0x600837A")]
[Address(RVA = "0x20B8E70", Offset = "0x20B7870", VA = "0x1820B8E70")]
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: 0x0600837B RID: 33659 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600837B")]
[Address(RVA = "0x20B9400", Offset = "0x20B7E00", VA = "0x1820B9400")]
public static uint[] Create()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600837C RID: 33660 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600837C")]
[Address(RVA = "0x20B9340", Offset = "0x20B7D40", VA = "0x1820B9340")]
public static ulong[] Create64()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600837D RID: 33661 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600837D")]
[Address(RVA = "0x20B93C0", Offset = "0x20B7DC0", VA = "0x1820B93C0")]
public static uint[] CreateExt()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600837E RID: 33662 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600837E")]
[Address(RVA = "0x20B9380", Offset = "0x20B7D80", VA = "0x1820B9380")]
public static ulong[] CreateExt64()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600837F RID: 33663 RVA: 0x001C4908 File Offset: 0x001C2B08
[Token(Token = "0x600837F")]
[Address(RVA = "0x20B9440", Offset = "0x20B7E40", VA = "0x1820B9440")]
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: 0x06008380 RID: 33664 RVA: 0x001C4928 File Offset: 0x001C2B28
[Token(Token = "0x6008380")]
[Address(RVA = "0x20B95B0", Offset = "0x20B7FB0", VA = "0x1820B95B0")]
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: 0x06008381 RID: 33665 RVA: 0x001C494C File Offset: 0x001C2B4C
[Token(Token = "0x6008381")]
[Address(RVA = "0x20B9540", Offset = "0x20B7F40", VA = "0x1820B9540")]
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: 0x06008382 RID: 33666 RVA: 0x001C4970 File Offset: 0x001C2B70
[Token(Token = "0x6008382")]
[Address(RVA = "0x20B9750", Offset = "0x20B8150", VA = "0x1820B9750")]
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: 0x06008383 RID: 33667 RVA: 0x001C49BC File Offset: 0x001C2BBC
[Token(Token = "0x6008383")]
[Address(RVA = "0x20B9620", Offset = "0x20B8020", VA = "0x1820B9620")]
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: 0x06008384 RID: 33668 RVA: 0x001C4A08 File Offset: 0x001C2C08
[Token(Token = "0x6008384")]
[Address(RVA = "0x20B9880", Offset = "0x20B8280", VA = "0x1820B9880")]
public static uint GetBit(uint[] x, int bit)
{
if (bit != 0)
{
if (bit <= 5)
{
return x[bit];
}
}
return x[0];
}
// Token: 0x06008385 RID: 33669 RVA: 0x001C4A34 File Offset: 0x001C2C34
[Token(Token = "0x6008385")]
[Address(RVA = "0x20B9900", Offset = "0x20B8300", VA = "0x1820B9900")]
public static bool Gte(uint[] x, uint[] y)
{
uint num2;
uint num = y[(int)num2];
if (x[(int)num2] <= num)
{
}
throw new NullReferenceException();
}
// Token: 0x06008386 RID: 33670 RVA: 0x001C4A5C File Offset: 0x001C2C5C
[Token(Token = "0x6008386")]
[Address(RVA = "0x20B9980", Offset = "0x20B8380", VA = "0x1820B9980")]
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: 0x06008387 RID: 33671 RVA: 0x001C4A80 File Offset: 0x001C2C80
[Token(Token = "0x6008387")]
[Address(RVA = "0x20B9A70", Offset = "0x20B8470", VA = "0x1820B9A70")]
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: 0x06008388 RID: 33672 RVA: 0x001C4AB4 File Offset: 0x001C2CB4
[Token(Token = "0x6008388")]
[Address(RVA = "0x20B9A00", Offset = "0x20B8400", VA = "0x1820B9A00")]
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: 0x06008389 RID: 33673 RVA: 0x001C4AE8 File Offset: 0x001C2CE8
[Token(Token = "0x6008389")]
[Address(RVA = "0x20B9B30", Offset = "0x20B8530", VA = "0x1820B9B30")]
public static bool IsZero(uint[] x)
{
int num = 0;
if ("{il2cpp array field x->}" == (ulong)0L)
{
num++;
return true;
}
throw new NullReferenceException();
}
// Token: 0x0600838A RID: 33674 RVA: 0x001C4B10 File Offset: 0x001C2D10
[Token(Token = "0x600838A")]
[Address(RVA = "0x20B9AE0", Offset = "0x20B84E0", VA = "0x1820B9AE0")]
public static bool IsZero64(ulong[] x)
{
int num = 0;
if ("{il2cpp array field x->}" == (ulong)0L)
{
num++;
return true;
}
throw new NullReferenceException();
}
// Token: 0x0600838B RID: 33675 RVA: 0x001C4B38 File Offset: 0x001C2D38
[Token(Token = "0x600838B")]
[Address(RVA = "0x20BAB10", Offset = "0x20B9510", VA = "0x1820BAB10")]
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: 0x0600838C RID: 33676 RVA: 0x001C4D44 File Offset: 0x001C2F44
[Token(Token = "0x600838C")]
[Address(RVA = "0x20BAF00", Offset = "0x20B9900", VA = "0x1820BAF00")]
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: 0x0600838D RID: 33677 RVA: 0x001C4E60 File Offset: 0x001C3060
[Token(Token = "0x600838D")]
[Address(RVA = "0x20BA450", Offset = "0x20B8E50", VA = "0x1820BA450")]
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: 0x0600838E RID: 33678 RVA: 0x001C4FA4 File Offset: 0x001C31A4
[Token(Token = "0x600838E")]
[Address(RVA = "0x20BA140", Offset = "0x20B8B40", VA = "0x1820BA140")]
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: 0x0600838F RID: 33679 RVA: 0x001C504C File Offset: 0x001C324C
[Token(Token = "0x600838F")]
[Address(RVA = "0x20B9B80", Offset = "0x20B8580", VA = "0x1820B9B80")]
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: 0x06008390 RID: 33680 RVA: 0x001C5148 File Offset: 0x001C3348
[Token(Token = "0x6008390")]
[Address(RVA = "0x20BA720", Offset = "0x20B9120", VA = "0x1820BA720")]
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: 0x06008391 RID: 33681 RVA: 0x001C522C File Offset: 0x001C342C
[Token(Token = "0x6008391")]
[Address(RVA = "0x20B9ED0", Offset = "0x20B88D0", VA = "0x1820B9ED0")]
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: 0x06008392 RID: 33682 RVA: 0x001C52D8 File Offset: 0x001C34D8
[Token(Token = "0x6008392")]
[Address(RVA = "0x20BA040", Offset = "0x20B8A40", VA = "0x1820BA040")]
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: 0x06008393 RID: 33683 RVA: 0x001C535C File Offset: 0x001C355C
[Token(Token = "0x6008393")]
[Address(RVA = "0x20BA970", Offset = "0x20B9370", VA = "0x1820BA970")]
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: 0x06008394 RID: 33684 RVA: 0x001C53E8 File Offset: 0x001C35E8
[Token(Token = "0x6008394")]
[Address(RVA = "0x20BAA80", Offset = "0x20B9480", VA = "0x1820BAA80")]
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: 0x06008395 RID: 33685 RVA: 0x001C5414 File Offset: 0x001C3614
[Token(Token = "0x6008395")]
[Address(RVA = "0x20BB350", Offset = "0x20B9D50", VA = "0x1820BB350")]
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: 0x06008396 RID: 33686 RVA: 0x001C574C File Offset: 0x001C394C
[Token(Token = "0x6008396")]
[Address(RVA = "0x20BB980", Offset = "0x20BA380", VA = "0x1820BB980")]
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: 0x06008397 RID: 33687 RVA: 0x001C5A58 File Offset: 0x001C3C58
[Token(Token = "0x6008397")]
[Address(RVA = "0x20BC780", Offset = "0x20BB180", VA = "0x1820BC780")]
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: 0x06008398 RID: 33688 RVA: 0x001C5B3C File Offset: 0x001C3D3C
[Token(Token = "0x6008398")]
[Address(RVA = "0x20BCA10", Offset = "0x20BB410", VA = "0x1820BCA10")]
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: 0x06008399 RID: 33689 RVA: 0x001C5C00 File Offset: 0x001C3E00
[Token(Token = "0x6008399")]
[Address(RVA = "0x20BC0C0", Offset = "0x20BAAC0", VA = "0x1820BC0C0")]
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: 0x0600839A RID: 33690 RVA: 0x001C5D38 File Offset: 0x001C3F38
[Token(Token = "0x600839A")]
[Address(RVA = "0x20BC380", Offset = "0x20BAD80", VA = "0x1820BC380")]
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: 0x0600839B RID: 33691 RVA: 0x001C5E1C File Offset: 0x001C401C
[Token(Token = "0x600839B")]
[Address(RVA = "0x20BC560", Offset = "0x20BAF60", VA = "0x1820BC560")]
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: 0x0600839C RID: 33692 RVA: 0x001C5F10 File Offset: 0x001C4110
[Token(Token = "0x600839C")]
[Address(RVA = "0x20BCDD0", Offset = "0x20BB7D0", VA = "0x1820BCDD0")]
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: 0x0600839D RID: 33693 RVA: 0x001C5F50 File Offset: 0x001C4150
[Token(Token = "0x600839D")]
[Address(RVA = "0x20BCD00", Offset = "0x20BB700", VA = "0x1820BCD00")]
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: 0x0600839E RID: 33694 RVA: 0x001C5F90 File Offset: 0x001C4190
[Token(Token = "0x600839E")]
[Address(RVA = "0x20BCEA0", Offset = "0x20BB8A0", VA = "0x1820BCEA0")]
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: 0x0600839F RID: 33695 RVA: 0x001C5FD8 File Offset: 0x001C41D8
[Token(Token = "0x600839F")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
protected Nat192()
{
}
// Token: 0x04005C14 RID: 23572
[Token(Token = "0x4005C14")]
private const ulong M = 4294967295UL;
}
}
@@ -0,0 +1,1578 @@
using System;
using System.Runtime.InteropServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw
{
// Token: 0x02001401 RID: 5121
[Token(Token = "0x2001401")]
[StructLayout(3)]
internal abstract class Nat224
{
// Token: 0x060083A0 RID: 33696 RVA: 0x001C5FEC File Offset: 0x001C41EC
[Token(Token = "0x60083A0")]
[Address(RVA = "0xC12D40", Offset = "0xC11740", VA = "0x180C12D40")]
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: 0x060083A1 RID: 33697 RVA: 0x001C6110 File Offset: 0x001C4310
[Token(Token = "0x60083A1")]
[Address(RVA = "0xC13030", Offset = "0xC11A30", VA = "0x180C13030")]
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: 0x060083A2 RID: 33698 RVA: 0x001C620C File Offset: 0x001C440C
[Token(Token = "0x60083A2")]
[Address(RVA = "0xC11E70", Offset = "0xC10870", VA = "0x180C11E70")]
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: 0x060083A3 RID: 33699 RVA: 0x001C6378 File Offset: 0x001C4578
[Token(Token = "0x60083A3")]
[Address(RVA = "0xC12190", Offset = "0xC10B90", VA = "0x180C12190")]
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: 0x060083A4 RID: 33700 RVA: 0x001C644C File Offset: 0x001C464C
[Token(Token = "0x60083A4")]
[Address(RVA = "0xC12890", Offset = "0xC11290", VA = "0x180C12890")]
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: 0x060083A5 RID: 33701 RVA: 0x001C6554 File Offset: 0x001C4754
[Token(Token = "0x60083A5")]
[Address(RVA = "0xC12AC0", Offset = "0xC114C0", VA = "0x180C12AC0")]
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: 0x060083A6 RID: 33702 RVA: 0x001C668C File Offset: 0x001C488C
[Token(Token = "0x60083A6")]
[Address(RVA = "0xC12530", Offset = "0xC10F30", VA = "0x180C12530")]
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: 0x060083A7 RID: 33703 RVA: 0x001C6800 File Offset: 0x001C4A00
[Token(Token = "0x60083A7")]
[Address(RVA = "0xC133A0", Offset = "0xC11DA0", VA = "0x180C133A0")]
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: 0x060083A8 RID: 33704 RVA: 0x001C688C File Offset: 0x001C4A8C
[Token(Token = "0x60083A8")]
[Address(RVA = "0xC13560", Offset = "0xC11F60", VA = "0x180C13560")]
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: 0x060083A9 RID: 33705 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60083A9")]
[Address(RVA = "0xC137B0", Offset = "0xC121B0", VA = "0x180C137B0")]
public static uint[] Create()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060083AA RID: 33706 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60083AA")]
[Address(RVA = "0xC13770", Offset = "0xC12170", VA = "0x180C13770")]
public static uint[] CreateExt()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060083AB RID: 33707 RVA: 0x001C6924 File Offset: 0x001C4B24
[Token(Token = "0x60083AB")]
[Address(RVA = "0xC137F0", Offset = "0xC121F0", VA = "0x180C137F0")]
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: 0x060083AC RID: 33708 RVA: 0x001C6944 File Offset: 0x001C4B44
[Token(Token = "0x60083AC")]
[Address(RVA = "0xC138F0", Offset = "0xC122F0", VA = "0x180C138F0")]
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: 0x060083AD RID: 33709 RVA: 0x001C6968 File Offset: 0x001C4B68
[Token(Token = "0x60083AD")]
[Address(RVA = "0xC13960", Offset = "0xC12360", VA = "0x180C13960")]
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: 0x060083AE RID: 33710 RVA: 0x001C69B4 File Offset: 0x001C4BB4
[Token(Token = "0x60083AE")]
[Address(RVA = "0xC13A90", Offset = "0xC12490", VA = "0x180C13A90")]
public static uint GetBit(uint[] x, int bit)
{
if (bit != 0)
{
if (bit <= 6)
{
return x[bit];
}
}
return x[0];
}
// Token: 0x060083AF RID: 33711 RVA: 0x001C69E0 File Offset: 0x001C4BE0
[Token(Token = "0x60083AF")]
[Address(RVA = "0xC13B10", Offset = "0xC12510", VA = "0x180C13B10")]
public static bool Gte(uint[] x, uint[] y)
{
uint num2;
uint num = y[(int)num2];
if (x[(int)num2] <= num)
{
}
throw new NullReferenceException();
}
// Token: 0x060083B0 RID: 33712 RVA: 0x001C6A08 File Offset: 0x001C4C08
[Token(Token = "0x60083B0")]
[Address(RVA = "0xC13B90", Offset = "0xC12590", VA = "0x180C13B90")]
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: 0x060083B1 RID: 33713 RVA: 0x001C6A2C File Offset: 0x001C4C2C
[Token(Token = "0x60083B1")]
[Address(RVA = "0xC13C10", Offset = "0xC12610", VA = "0x180C13C10")]
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: 0x060083B2 RID: 33714 RVA: 0x001C6A60 File Offset: 0x001C4C60
[Token(Token = "0x60083B2")]
[Address(RVA = "0xC13C80", Offset = "0xC12680", VA = "0x180C13C80")]
public static bool IsZero(uint[] x)
{
int num = 0;
if ("{il2cpp array field x->}" == (ulong)0L)
{
num++;
return true;
}
throw new NullReferenceException();
}
// Token: 0x060083B3 RID: 33715 RVA: 0x001C6A88 File Offset: 0x001C4C88
[Token(Token = "0x60083B3")]
[Address(RVA = "0xC15630", Offset = "0xC14030", VA = "0x180C15630")]
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: 0x060083B4 RID: 33716 RVA: 0x001C6CE0 File Offset: 0x001C4EE0
[Token(Token = "0x60083B4")]
[Address(RVA = "0xC15140", Offset = "0xC13B40", VA = "0x180C15140")]
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: 0x060083B5 RID: 33717 RVA: 0x001C6E0C File Offset: 0x001C500C
[Token(Token = "0x60083B5")]
[Address(RVA = "0xC142D0", Offset = "0xC12CD0", VA = "0x180C142D0")]
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: 0x060083B6 RID: 33718 RVA: 0x001C6F64 File Offset: 0x001C5164
[Token(Token = "0x60083B6")]
[Address(RVA = "0xC14600", Offset = "0xC13000", VA = "0x180C14600")]
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: 0x060083B7 RID: 33719 RVA: 0x001C7020 File Offset: 0x001C5220
[Token(Token = "0x60083B7")]
[Address(RVA = "0xC13CD0", Offset = "0xC126D0", VA = "0x180C13CD0")]
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: 0x060083B8 RID: 33720 RVA: 0x001C714C File Offset: 0x001C534C
[Token(Token = "0x60083B8")]
[Address(RVA = "0xC14BD0", Offset = "0xC135D0", VA = "0x180C14BD0")]
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: 0x060083B9 RID: 33721 RVA: 0x001C7208 File Offset: 0x001C5408
[Token(Token = "0x60083B9")]
[Address(RVA = "0xC14980", Offset = "0xC13380", VA = "0x180C14980")]
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: 0x060083BA RID: 33722 RVA: 0x001C7354 File Offset: 0x001C5554
[Token(Token = "0x60083BA")]
[Address(RVA = "0xC14D20", Offset = "0xC13720", VA = "0x180C14D20")]
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: 0x060083BB RID: 33723 RVA: 0x001C7478 File Offset: 0x001C5678
[Token(Token = "0x60083BB")]
[Address(RVA = "0xC140A0", Offset = "0xC12AA0", VA = "0x180C140A0")]
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: 0x060083BC RID: 33724 RVA: 0x001C7518 File Offset: 0x001C5718
[Token(Token = "0x60083BC")]
[Address(RVA = "0xC141F0", Offset = "0xC12BF0", VA = "0x180C141F0")]
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: 0x060083BD RID: 33725 RVA: 0x001C7590 File Offset: 0x001C5790
[Token(Token = "0x60083BD")]
[Address(RVA = "0xC14FC0", Offset = "0xC139C0", VA = "0x180C14FC0")]
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: 0x060083BE RID: 33726 RVA: 0x001C760C File Offset: 0x001C580C
[Token(Token = "0x60083BE")]
[Address(RVA = "0xC150B0", Offset = "0xC13AB0", VA = "0x180C150B0")]
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: 0x060083BF RID: 33727 RVA: 0x001C7638 File Offset: 0x001C5838
[Token(Token = "0x60083BF")]
[Address(RVA = "0xC16390", Offset = "0xC14D90", VA = "0x180C16390")]
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: 0x060083C0 RID: 33728 RVA: 0x001C7A6C File Offset: 0x001C5C6C
[Token(Token = "0x60083C0")]
[Address(RVA = "0xC15AB0", Offset = "0xC144B0", VA = "0x180C15AB0")]
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: 0x060083C1 RID: 33729 RVA: 0x001C7E4C File Offset: 0x001C604C
[Token(Token = "0x60083C1")]
[Address(RVA = "0xC172E0", Offset = "0xC15CE0", VA = "0x180C172E0")]
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: 0x060083C2 RID: 33730 RVA: 0x001C7F54 File Offset: 0x001C6154
[Token(Token = "0x60083C2")]
[Address(RVA = "0xC175D0", Offset = "0xC15FD0", VA = "0x180C175D0")]
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: 0x060083C3 RID: 33731 RVA: 0x001C8038 File Offset: 0x001C6238
[Token(Token = "0x60083C3")]
[Address(RVA = "0xC16B20", Offset = "0xC15520", VA = "0x180C16B20")]
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: 0x060083C4 RID: 33732 RVA: 0x001C81A0 File Offset: 0x001C63A0
[Token(Token = "0x60083C4")]
[Address(RVA = "0xC170B0", Offset = "0xC15AB0", VA = "0x180C170B0")]
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: 0x060083C5 RID: 33733 RVA: 0x001C82A8 File Offset: 0x001C64A8
[Token(Token = "0x60083C5")]
[Address(RVA = "0xC16E40", Offset = "0xC15840", VA = "0x180C16E40")]
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: 0x060083C6 RID: 33734 RVA: 0x001C83B0 File Offset: 0x001C65B0
[Token(Token = "0x60083C6")]
[Address(RVA = "0xC17930", Offset = "0xC16330", VA = "0x180C17930")]
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: 0x060083C7 RID: 33735 RVA: 0x001C83F0 File Offset: 0x001C65F0
[Token(Token = "0x60083C7")]
[Address(RVA = "0xC17A00", Offset = "0xC16400", VA = "0x180C17A00")]
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: 0x060083C8 RID: 33736 RVA: 0x001C8440 File Offset: 0x001C6640
[Token(Token = "0x60083C8")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
protected Nat224()
{
}
// Token: 0x04005C15 RID: 23573
[Token(Token = "0x4005C15")]
private const ulong M = 4294967295UL;
}
}
@@ -0,0 +1,1874 @@
using System;
using System.Runtime.InteropServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw
{
// Token: 0x02001402 RID: 5122
[Token(Token = "0x2001402")]
[StructLayout(3)]
internal abstract class Nat256
{
// Token: 0x060083C9 RID: 33737 RVA: 0x001C8454 File Offset: 0x001C6654
[Token(Token = "0x60083C9")]
[Address(RVA = "0xC18F60", Offset = "0xC17960", VA = "0x180C18F60")]
public static uint Add(uint[] x, uint[] y, uint[] z)
{
uint num = y[0];
uint num2 = x[0];
num += num2;
z[0] = num;
uint num3 = y[0];
uint num4 = x[0];
num3 += num;
num3 += num4;
z[0] = num3;
uint num5 = y[1];
uint num6 = x[1];
num5 += num3;
num5 += num6;
z[1] = num5;
uint num7 = y[1];
uint num8 = x[1];
num7 += num5;
num7 += num8;
z[1] = num7;
uint num9 = y[2];
uint num10 = x[2];
num9 += num7;
num9 += num10;
z[2] = num9;
uint num11 = y[2];
uint num12 = x[2];
num11 += num9;
num11 += num12;
z[2] = num11;
uint num13 = y[3];
uint num14 = x[3];
num13 += num11;
num13 += num14;
z[3] = num13;
uint num15 = x[3];
uint num16 = y[3];
num16 += num13;
num16 += num15;
z[3] = num16;
return num16;
}
// Token: 0x060083CA RID: 33738 RVA: 0x001C85A0 File Offset: 0x001C67A0
[Token(Token = "0x60083CA")]
[Address(RVA = "0xC18B90", Offset = "0xC17590", VA = "0x180C18B90")]
public static uint Add(uint[] x, int xOff, uint[] y, int yOff, uint[] z, int zOff)
{
uint num = y[yOff];
uint num2 = x[yOff];
num += num2;
int num3 = yOff + 1;
uint num4 = x[num3];
int num5 = yOff + 1;
uint num6 = y[num5];
num6 += num;
num6 += num4;
uint num7 = x[num5];
uint num8 = y[num5];
num8 += num6;
num8 += num7;
uint num9 = x[num5];
uint num10 = y[num5];
num10 += num8;
num10 += num9;
uint num11 = x[num5];
uint num12 = y[num5];
num12 += num10;
num12 += num11;
uint num13 = x[num5];
uint num14 = y[num5];
num14 += num12;
num14 += num13;
uint num15 = x[num5];
uint num16 = y[num5];
num16 += num14;
num16 += num15;
uint num17 = x[yOff];
uint num18 = y[yOff];
num18 += num16;
return num18 + num17;
}
// Token: 0x060083CB RID: 33739 RVA: 0x001C86C0 File Offset: 0x001C68C0
[Token(Token = "0x60083CB")]
[Address(RVA = "0xC17AD0", Offset = "0xC164D0", VA = "0x180C17AD0")]
public static uint AddBothTo(uint[] x, uint[] y, uint[] z)
{
uint num = y[0];
uint num2 = z[0];
num2 += num;
uint num3 = x[0];
num2 += num3;
z[0] = num2;
uint num4 = y[0];
num2 += num4;
uint num5 = x[0];
num2 += num5;
uint num6 = z[0];
num2 += num6;
z[0] = num2;
uint num7 = z[1];
num2 += num7;
uint num8 = y[1];
num2 += num8;
uint num9 = x[1];
num2 += num9;
z[1] = num2;
uint num10 = y[1];
num2 += num10;
uint num11 = x[1];
num2 += num11;
uint num12 = z[1];
num2 += num12;
z[1] = num2;
uint num13 = z[2];
num2 += num13;
uint num14 = y[2];
num2 += num14;
uint num15 = x[2];
num2 += num15;
z[2] = num2;
uint num16 = z[2];
num2 += num16;
uint num17 = y[2];
num2 += num17;
uint num18 = x[2];
num2 += num18;
z[2] = num2;
uint num19 = z[3];
num2 += num19;
uint num20 = y[3];
num2 += num20;
uint num21 = x[3];
num2 += num21;
z[3] = num2;
uint num22 = x[3];
uint num23 = y[3];
uint num24 = z[3];
num2 += num23;
num2 += num22;
num2 += num24;
z[3] = num2;
return num2;
}
// Token: 0x060083CC RID: 33740 RVA: 0x001C885C File Offset: 0x001C6A5C
[Token(Token = "0x60083CC")]
[Address(RVA = "0xC17E60", Offset = "0xC16860", VA = "0x180C17E60")]
public static uint AddBothTo(uint[] x, int xOff, uint[] y, int yOff, uint[] z, int zOff)
{
uint num = y[yOff];
uint num2 = x[xOff];
int num3 = xOff + 1;
uint num4 = x[num3];
int num5 = yOff + 1;
uint num6 = y[num5];
uint num7 = x[(int)num6];
uint num8 = y[(int)num6];
uint num9 = x[(int)num8];
uint num10 = y[(int)num8];
uint num11 = x[(int)num10];
uint num12 = y[(int)num10];
uint num13 = x[(int)num12];
uint num14 = y[(int)num12];
uint num15 = x[(int)num14];
uint num16 = y[(int)num14];
uint num17 = x[xOff];
uint num18 = y[yOff];
num16 += num18;
return num16 + num17;
}
// Token: 0x060083CD RID: 33741 RVA: 0x001C8920 File Offset: 0x001C6B20
[Token(Token = "0x60083CD")]
[Address(RVA = "0xC18640", Offset = "0xC17040", VA = "0x180C18640")]
public static uint AddTo(uint[] x, uint[] z)
{
uint num = z[0];
uint num2 = x[0];
num += num2;
z[0] = num;
uint num3 = z[0];
num += num3;
uint num4 = x[0];
num += num4;
z[0] = num;
uint num5 = x[1];
num += num5;
uint num6 = z[1];
num += num6;
z[1] = num;
uint num7 = z[1];
num += num7;
uint num8 = x[1];
num += num8;
z[1] = num;
uint num9 = z[2];
num += num9;
uint num10 = x[2];
num += num10;
z[2] = num;
uint num11 = z[2];
num += num11;
uint num12 = x[2];
num += num12;
z[2] = num;
uint num13 = x[3];
num += num13;
uint num14 = z[3];
num += num14;
z[3] = num;
uint num15 = x[3];
uint num16 = z[3];
num += num16;
num += num15;
z[3] = num;
return num;
}
// Token: 0x060083CE RID: 33742 RVA: 0x001C8A4C File Offset: 0x001C6C4C
[Token(Token = "0x60083CE")]
[Address(RVA = "0xC188C0", Offset = "0xC172C0", VA = "0x180C188C0")]
public static uint AddTo(uint[] x, int xOff, uint[] z, int zOff, uint cIn)
{
uint num = x[xOff];
uint num2 = z[xOff];
num += num2;
int num3 = xOff + 1;
z[0] = num;
uint num4 = x[num3];
int num5 = xOff + 1;
uint num6 = z[num5];
num6 += num;
num6 += num4;
z[0] = num6;
uint num7 = x[(int)num4];
uint num8 = z[num5];
num8 += num6;
num8 += num7;
z[0] = num8;
uint num9 = x[(int)num7];
uint num10 = z[num5];
num10 += num8;
num10 += num9;
z[0] = num10;
uint num11 = x[(int)num9];
uint num12 = z[num5];
num12 += num10;
num12 += num11;
z[0] = num12;
uint num13 = x[(int)num11];
uint num14 = z[num5];
num14 += num12;
num14 += num13;
z[0] = num14;
uint num15 = x[(int)num13];
uint num16 = z[num5];
num16 += num14;
num16 += num15;
z[0] = num16;
uint num17 = x[xOff];
uint num18 = z[xOff];
num18 += num16;
num18 += num17;
z[0] = num18;
return num18;
}
// Token: 0x060083CF RID: 33743 RVA: 0x001C8BAC File Offset: 0x001C6DAC
[Token(Token = "0x60083CF")]
[Address(RVA = "0xC18270", Offset = "0xC16C70", VA = "0x180C18270")]
public static uint AddToEachOther(uint[] u, int uOff, uint[] v, int vOff)
{
uint num = v[vOff];
uint num2 = u[uOff];
num += num2;
u[0] = num;
int num3 = uOff + 1;
v[0] = num;
int num4 = vOff + 1;
uint num5 = v[num4];
uint num6 = u[num3];
num5 += num;
num5 += num6;
u[0] = num5;
v[0] = num5;
uint num7 = v[num4];
uint num8 = u[num3];
num7 += num5;
num7 += num8;
u[0] = num7;
v[0] = num7;
uint num9 = v[num4];
uint num10 = u[num3];
num9 += num7;
num9 += num10;
u[0] = num9;
v[0] = num9;
uint num11 = v[num4];
uint num12 = u[num3];
num11 += num9;
num11 += num12;
u[0] = num11;
v[0] = num11;
uint num13 = v[num4];
uint num14 = u[num3];
num13 += num11;
num13 += num14;
u[0] = num13;
v[0] = num13;
uint num15 = v[num4];
uint num16 = u[num3];
num15 += num13;
num15 += num16;
u[0] = num15;
v[0] = num15;
uint num17 = v[uOff];
uint num18 = u[(int)num13];
num17 += num15;
num17 += num18;
u[0] = num17;
v[0] = num17;
return num17;
}
// Token: 0x060083D0 RID: 33744 RVA: 0x001C8D50 File Offset: 0x001C6F50
[Token(Token = "0x60083D0")]
[Address(RVA = "0xC194E0", Offset = "0xC17EE0", VA = "0x180C194E0")]
public static void Copy(uint[] x, uint[] z)
{
uint num = x[0];
z[0] = num;
uint num2 = x[0];
z[0] = num2;
uint num3 = x[1];
z[1] = num3;
uint num4 = x[1];
z[1] = num4;
uint num5 = x[2];
z[2] = num5;
uint num6 = x[2];
z[2] = num6;
uint num7 = x[3];
z[3] = num7;
uint num8 = x[3];
z[3] = num8;
}
// Token: 0x060083D1 RID: 33745 RVA: 0x001C8DEC File Offset: 0x001C6FEC
[Token(Token = "0x60083D1")]
[Address(RVA = "0xC196E0", Offset = "0xC180E0", VA = "0x180C196E0")]
public static void Copy(uint[] x, int xOff, uint[] z, int zOff)
{
uint num = x[xOff];
int num2 = xOff + 1;
z[0] = num;
uint num3 = x[num2];
int num4 = xOff + 1;
z[0] = num3;
uint num5 = x[num4];
z[0] = num5;
uint num6 = x[num4];
z[0] = num6;
uint num7 = x[num4];
z[0] = num7;
uint num8 = x[num4];
z[0] = num8;
uint num9 = x[num4];
z[0] = num9;
uint num10 = x[xOff];
z[0] = num10;
}
// Token: 0x060083D2 RID: 33746 RVA: 0x001C8E94 File Offset: 0x001C7094
[Token(Token = "0x60083D2")]
[Address(RVA = "0xC193F0", Offset = "0xC17DF0", VA = "0x180C193F0")]
public static void Copy64(ulong[] x, ulong[] z)
{
ulong num = x[0];
z[0] = num;
ulong num2 = x[1];
z[1] = num2;
ulong num3 = x[2];
z[2] = num3;
ulong num4 = x[3];
z[3] = num4;
}
// Token: 0x060083D3 RID: 33747 RVA: 0x001C8EE8 File Offset: 0x001C70E8
[Token(Token = "0x60083D3")]
[Address(RVA = "0xC192B0", Offset = "0xC17CB0", VA = "0x180C192B0")]
public static void Copy64(ulong[] x, int xOff, ulong[] z, int zOff)
{
ulong num = x[xOff];
int num2 = xOff + 1;
z[0] = num;
ulong num3 = x[num2];
int num4 = xOff + 1;
z[0] = num3;
ulong num5 = x[num4];
z[0] = num5;
ulong num6 = x[num4];
z[0] = num6;
}
// Token: 0x060083D4 RID: 33748 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60083D4")]
[Address(RVA = "0xC199F0", Offset = "0xC183F0", VA = "0x180C199F0")]
public static uint[] Create()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060083D5 RID: 33749 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60083D5")]
[Address(RVA = "0xC19930", Offset = "0xC18330", VA = "0x180C19930")]
public static ulong[] Create64()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060083D6 RID: 33750 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60083D6")]
[Address(RVA = "0xC199B0", Offset = "0xC183B0", VA = "0x180C199B0")]
public static uint[] CreateExt()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060083D7 RID: 33751 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60083D7")]
[Address(RVA = "0xC19970", Offset = "0xC18370", VA = "0x180C19970")]
public static ulong[] CreateExt64()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060083D8 RID: 33752 RVA: 0x001C8F48 File Offset: 0x001C7148
[Token(Token = "0x60083D8")]
[Address(RVA = "0xC19A30", Offset = "0xC18430", VA = "0x180C19A30")]
public static bool Diff(uint[] x, int xOff, uint[] y, int yOff, uint[] z, int zOff)
{
uint num;
if ("{il2cpp array field x->}" <= num)
{
}
throw new NullReferenceException();
}
// Token: 0x060083D9 RID: 33753 RVA: 0x001C8F68 File Offset: 0x001C7168
[Token(Token = "0x60083D9")]
[Address(RVA = "0xC19BA0", Offset = "0xC185A0", VA = "0x180C19BA0")]
public static bool Eq(uint[] x, uint[] y)
{
uint num2;
uint num = y[(int)num2];
if ("{il2cpp array field x->}" == num)
{
}
throw new NullReferenceException();
}
// Token: 0x060083DA RID: 33754 RVA: 0x001C8F8C File Offset: 0x001C718C
[Token(Token = "0x60083DA")]
[Address(RVA = "0xC19B30", Offset = "0xC18530", VA = "0x180C19B30")]
public static bool Eq64(ulong[] x, ulong[] y)
{
uint num2;
ulong num = y[(int)num2];
if ("{il2cpp array field x->}" == num)
{
}
throw new NullReferenceException();
}
// Token: 0x060083DB RID: 33755 RVA: 0x001C8FB0 File Offset: 0x001C71B0
[Token(Token = "0x60083DB")]
[Address(RVA = "0xC19D40", Offset = "0xC18740", VA = "0x180C19D40")]
public static uint[] FromBigInteger(BigInteger x)
{
int bitLength = x.BitLength;
uint[] array = new uint[8];
int num = 0;
if (x.sign != 0)
{
num++;
int intValue = x.IntValue;
array[0] = (uint)intValue;
BigInteger bigInteger = x.ShiftRight(32);
}
return array;
}
// Token: 0x060083DC RID: 33756 RVA: 0x001C8FFC File Offset: 0x001C71FC
[Token(Token = "0x60083DC")]
[Address(RVA = "0xC19C10", Offset = "0xC18610", VA = "0x180C19C10")]
public static ulong[] FromBigInteger64(BigInteger x)
{
int bitLength = x.BitLength;
ulong[] array = new ulong[4];
int num = 0;
if (x.sign != 0)
{
num++;
long longValue = x.LongValue;
array[0] = (ulong)longValue;
BigInteger bigInteger = x.ShiftRight(64);
}
return array;
}
// Token: 0x060083DD RID: 33757 RVA: 0x001C9048 File Offset: 0x001C7248
[Token(Token = "0x60083DD")]
[Address(RVA = "0xC19E70", Offset = "0xC18870", VA = "0x180C19E70")]
public static uint GetBit(uint[] x, int bit)
{
if (bit != 0)
{
if (bit == 0)
{
return x[bit];
}
}
return x[0];
}
// Token: 0x060083DE RID: 33758 RVA: 0x001C9074 File Offset: 0x001C7274
[Token(Token = "0x60083DE")]
[Address(RVA = "0xC19EF0", Offset = "0xC188F0", VA = "0x180C19EF0")]
public static bool Gte(uint[] x, uint[] y)
{
uint num2;
uint num = y[(int)num2];
if (x[(int)num2] <= num)
{
}
throw new NullReferenceException();
}
// Token: 0x060083DF RID: 33759 RVA: 0x001C909C File Offset: 0x001C729C
[Token(Token = "0x60083DF")]
[Address(RVA = "0xC19F70", Offset = "0xC18970", VA = "0x180C19F70")]
public static bool Gte(uint[] x, int xOff, uint[] y, int yOff)
{
uint num = y[x];
if ("{il2cpp array field x->}" <= num)
{
}
throw new NullReferenceException();
}
// Token: 0x060083E0 RID: 33760 RVA: 0x001C90C0 File Offset: 0x001C72C0
[Token(Token = "0x60083E0")]
[Address(RVA = "0xC1A060", Offset = "0xC18A60", VA = "0x180C1A060")]
public static bool IsOne(uint[] x)
{
int length = x.Length;
if ("{il2cpp array field x->}" == (ulong)1L && "{il2cpp array field x->}" == (ulong)0L)
{
return true;
}
throw new NullReferenceException();
}
// Token: 0x060083E1 RID: 33761 RVA: 0x001C90F4 File Offset: 0x001C72F4
[Token(Token = "0x60083E1")]
[Address(RVA = "0xC19FF0", Offset = "0xC189F0", VA = "0x180C19FF0")]
public static bool IsOne64(ulong[] x)
{
int length = x.Length;
if ("{il2cpp array field x->}" == (ulong)1L && "{il2cpp array field x->}" == (ulong)0L)
{
return true;
}
throw new NullReferenceException();
}
// Token: 0x060083E2 RID: 33762 RVA: 0x001C9128 File Offset: 0x001C7328
[Token(Token = "0x60083E2")]
[Address(RVA = "0xC1A120", Offset = "0xC18B20", VA = "0x180C1A120")]
public static bool IsZero(uint[] x)
{
int num = 0;
if ("{il2cpp array field x->}" == (ulong)0L)
{
num++;
return true;
}
throw new NullReferenceException();
}
// Token: 0x060083E3 RID: 33763 RVA: 0x001C9150 File Offset: 0x001C7350
[Token(Token = "0x60083E3")]
[Address(RVA = "0xC1A0D0", Offset = "0xC18AD0", VA = "0x180C1A0D0")]
public static bool IsZero64(ulong[] x)
{
int num = 0;
if ("{il2cpp array field x->}" == (ulong)0L)
{
num++;
return true;
}
throw new NullReferenceException();
}
// Token: 0x060083E4 RID: 33764 RVA: 0x001C9178 File Offset: 0x001C7378
[Token(Token = "0x60083E4")]
[Address(RVA = "0xC1BD80", Offset = "0xC1A780", VA = "0x180C1BD80")]
public static void Mul(uint[] x, uint[] y, uint[] zz)
{
int length = y.Length;
uint num = y[0];
uint num2 = y[0];
uint num3 = y[1];
uint num4 = y[1];
uint num5 = y[2];
uint num6 = y[2];
uint num7 = y[3];
uint num8 = y[3];
uint num9 = x[0];
uint num10 = num9 * num;
zz[0] = num10;
uint num11 = num9 * num2;
num11 += num10;
zz[0] = num11;
num10 = num9;
uint num12 = num10 * num3;
num12 += num11;
zz[1] = num12;
num11 = num9;
uint num13 = num11 * num4;
num13 += num12;
zz[1] = num13;
num12 = num9;
uint num14 = num12 * num5;
num14 += num13;
zz[2] = num14;
num13 = num9;
uint num15 = num13 * num6;
num15 += num14;
zz[2] = num15;
num14 = num9;
uint num16 = num14 * num7;
num16 += num15;
uint num17 = num9 * num8;
zz[3] = num16;
num17 += num16;
zz[3] = num17;
zz[4] = num17;
uint num19;
uint num18 = x[(int)num19];
uint num20 = num19 + 1U;
num3 = num18;
uint num21 = num3 * num;
num21 += num17;
zz.m_value = num21;
uint num22 = zz[(int)num20];
num17 = num18;
uint num23 = num17 * num2;
num22 += num23;
num22 += num21;
zz[0] = num22;
uint num24 = zz[(int)num20];
num23 = num18;
num24 += num23;
num24 += num22;
zz[0] = num24;
uint num25 = zz[(int)num20];
num23 = num18;
num25 += num23;
num25 += num24;
zz[0] = num25;
uint num26 = zz[(int)num20];
num23 = num18;
num26 += num23;
num26 += num25;
zz[0] = num26;
uint num27 = zz[(int)num20];
num23 = num18;
uint num28 = num23 * num6;
num27 += num28;
num27 += num26;
zz[0] = num27;
uint num29 = zz[(int)num20];
num28 = num18;
uint num30 = num28 * num7;
num19 += (uint)7;
num29 += num30;
num29 += num27;
zz[0] = num29;
uint num31 = zz[(int)num19];
uint num32 = num18 * num8;
num31 += num32;
num31 += num29;
zz[0] = num31;
num19 += (uint)1;
zz[0] = num31;
}
// Token: 0x060083E5 RID: 33765 RVA: 0x001C9404 File Offset: 0x001C7604
[Token(Token = "0x60083E5")]
[Address(RVA = "0xC1B7F0", Offset = "0xC1A1F0", VA = "0x180C1B7F0")]
public static void Mul(uint[] x, int xOff, uint[] y, int yOff, uint[] zz, int zzOff)
{
int length = y.Length;
uint num = y[yOff];
int num2 = yOff + 1;
uint num3 = y[num2];
uint num4 = y[num2];
uint num5 = y[(int)num4];
uint num6 = y[(int)num5];
uint num7 = y[(int)num5];
uint num8 = y[(int)num5];
uint num9 = y[yOff];
uint num10 = x[xOff];
uint num11 = num10 * num;
uint num12 = num10 * num3;
num12 += num11;
num11 = num10;
num11 += num12;
num12 = num10;
num12 += num11;
num11 = num10;
uint num13 = num11 * num6;
num13 += num12;
num12 = num10;
uint num14 = num12 * num7;
num14 += num13;
num13 = num10;
uint num15 = num13 * num8;
num15 += num14;
uint num16 = num10 * num9;
num16 += num15;
int num17 = xOff + 1;
uint num18 = x[num17];
num14 = num18;
uint num19 = num14 * num;
num19 += (uint)num17;
num19 += num18;
num19 += num18;
uint num20 = num18 * num7;
num20 = num18;
uint num21 = num20 * num8;
num19 += num21;
uint num22 = num18 * num9;
num21 += num22;
num21 += num19;
num17++;
num17 -= xOff;
}
// Token: 0x060083E6 RID: 33766 RVA: 0x001C954C File Offset: 0x001C774C
[Token(Token = "0x60083E6")]
[Address(RVA = "0xC1ABD0", Offset = "0xC195D0", VA = "0x180C1ABD0")]
public static uint MulAddTo(uint[] x, uint[] y, uint[] zz)
{
int length = y.Length;
uint num = y[0];
uint num2 = y[0];
uint num3 = y[1];
uint num4 = y[1];
uint num5 = y[2];
uint num6 = y[2];
uint num7 = y[3];
uint num8 = y[3];
int num9 = 0;
uint num10 = x[num9];
uint num11 = num10 * num;
num11 += (uint)length;
zz.m_value = num11;
uint num12;
num12 += num10;
num12 += num11;
zz[0] = num12;
uint num13;
num13 += num10;
num13 += num12;
zz[0] = num13;
uint num14;
num14 += num10;
num14 += num13;
zz[0] = num14;
uint num15;
num15 += num10;
num15 += num14;
zz[0] = num15;
uint num16 = num10 * num6;
uint num17;
num17 += num16;
num17 += num15;
zz[0] = num17;
num16 = num10;
uint num18 = num16 * num7;
uint num19;
num19 += num18;
num19 += num17;
zz[0] = num19;
uint num20 = num10 * num8;
uint num21;
num21 += num20;
num21 += num19;
zz[0] = num21;
num9++;
uint num22;
num9 += (int)num22;
num9 += (int)num21;
zz[0] = (uint)num9;
throw new NullReferenceException();
}
// Token: 0x060083E7 RID: 33767 RVA: 0x001C96A4 File Offset: 0x001C78A4
[Token(Token = "0x60083E7")]
[Address(RVA = "0xC1A7F0", Offset = "0xC191F0", VA = "0x180C1A7F0")]
public static uint MulAddTo(uint[] x, int xOff, uint[] y, int yOff, uint[] zz, int zzOff)
{
int length = y.Length;
uint num = y[yOff];
int num2 = yOff + 1;
uint num3 = y[num2];
uint num4 = y[(int)num3];
uint num5 = y[(int)num4];
uint num6 = y[(int)num5];
uint num7 = y[(int)num6];
uint num8 = y[(int)num7];
int num9 = 0;
uint num10 = y[yOff];
uint num11 = x[length];
uint num12 = num11 * num;
num12 += (uint)length;
num12 += num11;
num12 += num11;
num12 += num11;
uint num13 = num11 * num10;
num9 += (int)num11;
throw new NullReferenceException();
}
// Token: 0x060083E8 RID: 33768 RVA: 0x001C9748 File Offset: 0x001C7948
[Token(Token = "0x60083E8")]
[Address(RVA = "0xC1A170", Offset = "0xC18B70", VA = "0x180C1A170")]
public static ulong Mul33Add(uint w, uint[] x, int xOff, uint[] y, int yOff, uint[] z, int zOff)
{
uint num = x[xOff];
uint num2 = num * w;
uint num3;
num3 += num2;
int num4 = xOff + 1;
uint num5 = x[num4];
uint num6 = y[num4];
uint num7 = w * w;
num7 += num;
num7 += num6;
num3 += num7;
uint num8 = x[(int)num6];
uint num9 = y[(int)num6];
num7 = num8;
uint num10 = num7 * w;
num10 += num5;
num10 += num9;
num3 += num10;
uint num11 = x[(int)num9];
uint num12 = y[(int)num9];
num10 = num11;
uint num13 = num10 * w;
num13 += num8;
num13 += num12;
num3 += num13;
uint num14 = x[(int)num12];
uint num15 = y[(int)num12];
num13 = num14;
uint num16 = num13 * w;
num16 += num11;
num16 += num15;
num3 += num16;
uint num17 = x[(int)num15];
uint num18 = y[(int)num15];
num16 = num17;
uint num19 = num16 * w;
num19 += num14;
num19 += num18;
num3 += num19;
uint num20 = x[(int)num18];
uint num21 = y[(int)num18];
num19 = num20;
uint num22 = num19 * w;
num22 += num17;
num22 += num21;
num3 += num22;
uint num23 = num22 * w;
num23 += num20;
uint num24;
num23 += num24;
num3 += num23;
throw new NullReferenceException();
}
// Token: 0x060083E9 RID: 33769 RVA: 0x001C98A8 File Offset: 0x001C7AA8
[Token(Token = "0x60083E9")]
[Address(RVA = "0xC1B1F0", Offset = "0xC19BF0", VA = "0x180C1B1F0")]
public static uint MulByWord(uint x, uint[] z)
{
uint num = z[0] * x;
z[0] = num;
uint num2 = z[0] * x;
num2 += num;
z[0] = num2;
uint num3 = z[1] * x;
num3 += num2;
z[1] = num3;
uint num4 = z[1] * x;
num4 += num3;
z[1] = num4;
uint num5 = z[2] * x;
num5 += num4;
z[2] = num5;
uint num6 = z[2] * x;
num6 += num5;
z[2] = num6;
uint num7 = z[3] * x;
num7 += num6;
z[3] = num7;
uint num8 = z[3] * x;
num8 += num7;
z[3] = num8;
return num8;
}
// Token: 0x060083EA RID: 33770 RVA: 0x001C997C File Offset: 0x001C7B7C
[Token(Token = "0x60083EA")]
[Address(RVA = "0xC1AF50", Offset = "0xC19950", VA = "0x180C1AF50")]
public static uint MulByWordAddTo(uint x, uint[] y, uint[] z)
{
uint num = z[0];
uint num2 = y[0];
uint num3 = num * x;
num3 += num2;
z[0] = num3;
uint num4 = z[0];
uint num5 = y[0];
uint num6 = num4 * x;
num6 += num5;
num6 += num3;
z[0] = num6;
uint num7 = z[1];
uint num8 = y[1];
uint num9 = num7 * x;
num9 += num8;
num9 += num6;
z[1] = num9;
uint num10 = z[1];
uint num11 = y[1];
uint num12 = num10 * x;
num12 += num11;
num12 += num9;
z[1] = num12;
uint num13 = z[2];
uint num14 = y[2];
uint num15 = num13 * x;
num15 += num14;
num15 += num12;
z[2] = num15;
uint num16 = z[2];
uint num17 = y[2];
uint num18 = num16 * x;
num18 += num17;
num18 += num15;
z[2] = num18;
uint num19 = z[3];
uint num20 = y[3];
uint num21 = num19 * x;
num21 += num20;
num21 += num18;
z[3] = num21;
uint num22 = z[3];
uint num23 = y[3];
uint num24 = num22 * x;
num24 += num23;
num24 += num21;
z[3] = num24;
return num24;
}
// Token: 0x060083EB RID: 33771 RVA: 0x001C9AF8 File Offset: 0x001C7CF8
[Token(Token = "0x60083EB")]
[Address(RVA = "0xC1B370", Offset = "0xC19D70", VA = "0x180C1B370")]
public static uint MulWordAddTo(uint x, uint[] y, int yOff, uint[] z, int zOff)
{
uint num = y[yOff] * x;
uint num2;
num += num2;
int num3 = yOff + 1;
z[0] = num;
uint num4 = y[num3] * x;
uint num5;
num5 += num4;
num5 += num;
z[0] = num5;
uint num6 = y[(int)num4] * x;
uint num7;
num7 += num6;
num7 += num5;
z[0] = num7;
uint num8 = y[(int)num6] * x;
uint num9;
num9 += num8;
num9 += num7;
z[0] = num9;
uint num10 = y[(int)num8] * x;
uint num11;
num11 += num10;
num11 += num9;
z[0] = num11;
uint num12 = y[(int)num10] * x;
uint num13;
num13 += num12;
num13 += num11;
z[0] = num13;
uint num14 = y[(int)num12] * x;
uint num15;
num15 += num14;
num15 += num13;
z[0] = num15;
uint num16 = y[yOff];
uint num17 = z[y];
uint num18 = num16 * x;
num17 += num18;
num17 += num15;
z[0] = num17;
return num17;
}
// Token: 0x060083EC RID: 33772 RVA: 0x001C9C24 File Offset: 0x001C7E24
[Token(Token = "0x60083EC")]
[Address(RVA = "0xC1A5C0", Offset = "0xC18FC0", VA = "0x180C1A5C0")]
public static uint Mul33DWordAdd(uint x, ulong y, uint[] z, int zOff)
{
uint num = z[zOff];
ulong num2 = y * (ulong)x;
int num3 = zOff + 1;
num2 += (ulong)num;
z[0] = (uint)num2;
uint num4 = z[num3];
ulong num5 = y * (ulong)x;
num5 += y;
num5 += (ulong)num4;
num2 += num5;
z[0] = (uint)num2;
uint num6 = z[(int)num5];
num6 = (uint)((ulong)num6 + y);
num2 += (ulong)num6;
z[0] = (uint)num2;
uint num7 = z[zOff];
num7 = (uint)((ulong)num7 + num2);
z[0] = num7;
ulong num8;
if (num8 == (ulong)num7)
{
}
uint num9;
return Nat.IncAt((int)num8, z, zOff, (int)num9);
}
// Token: 0x060083ED RID: 33773 RVA: 0x001C9CC4 File Offset: 0x001C7EC4
[Token(Token = "0x60083ED")]
[Address(RVA = "0xC1A710", Offset = "0xC19110", VA = "0x180C1A710")]
public static uint Mul33WordAdd(uint x, uint y, uint[] z, int zOff)
{
uint num = z[zOff];
uint num2 = x * y;
num2 += num;
z[0] = num2;
int num3 = zOff + 1;
uint num4 = z[num3];
num4 += y;
num2 += num4;
z[0] = num2;
uint num5 = z[zOff];
num5 += num2;
z[0] = num5;
ulong num6;
if (num6 == (ulong)num5)
{
}
uint num7;
return Nat.IncAt((int)num6, z, zOff, (int)num7);
}
// Token: 0x060083EE RID: 33774 RVA: 0x001C9D3C File Offset: 0x001C7F3C
[Token(Token = "0x60083EE")]
[Address(RVA = "0xC1B670", Offset = "0xC1A070", VA = "0x180C1B670")]
public static uint MulWordDwordAdd(uint x, ulong y, uint[] z, int zOff)
{
uint num = z[zOff];
uint num2 = (uint)((ulong)x * y);
num2 += num;
int num3 = zOff + 1;
z[0] = num2;
uint num4 = z[num3];
ulong num5 = y * (ulong)x;
num4 = (uint)((ulong)num4 + num5);
num4 += num2;
z[0] = num4;
uint num6 = z[zOff];
num6 += num4;
z[0] = num6;
ulong num7;
if (num7 == (ulong)num6)
{
}
uint num8;
return Nat.IncAt((int)num7, z, zOff, (int)num8);
}
// Token: 0x060083EF RID: 33775 RVA: 0x001C9DB8 File Offset: 0x001C7FB8
[Token(Token = "0x60083EF")]
[Address(RVA = "0xC1B760", Offset = "0xC1A160", VA = "0x180C1B760")]
public static uint MulWord(uint x, uint[] y, uint[] z, int zOff)
{
int num = 0;
uint num2 = y[num] * x;
num += (int)num2;
z[0] = (uint)num;
throw new NullReferenceException();
}
// Token: 0x060083F0 RID: 33776 RVA: 0x001C9DE4 File Offset: 0x001C7FE4
[Token(Token = "0x60083F0")]
[Address(RVA = "0xC1CD00", Offset = "0xC1B700", VA = "0x180C1CD00")]
public static void Square(uint[] x, uint[] zz)
{
uint num = x[0];
uint num3;
uint num2 = x[(int)num3];
uint num4 = num2 * num2;
zz[0] = num4;
zz[0] = num4;
num4 = num;
uint num5 = num4 * num;
zz[0] = num5;
uint num6 = x[0];
uint num7 = zz[1];
num5 = num6;
uint num8 = num5 * num;
num4 += num8;
zz[0] = num5;
int length = zz.Length;
uint num9 = x[1];
uint num10 = zz[1];
num5 = num9;
uint num11 = zz[2];
num8 = num4;
uint num12 = num5 * num;
num12 += num8;
num12 += num7;
zz[1] = num8;
num4 = num9;
uint num13 = num4 * num6;
num8 = num12;
num13 += num8;
num13 += num10;
num13 += num11;
uint num14 = x[1];
uint num15 = zz[2];
num13 += num15;
uint num16 = zz[3];
num10 = num14;
uint num17 = num10 * num;
num15 = num13;
num17 += num15;
zz[1] = num15;
num15 = num17;
uint num18 = num14 * num6;
num18 += num15;
num15 = num13;
num18 += num15;
num13 = num14;
uint num19 = num13 * num9;
num15 = num18;
num19 += num15;
num15 = num13;
num19 += num15;
num15 = num19;
num13 += num15;
num13 += num16;
int length2 = zz.Length;
uint num20 = x[2];
uint num21 = zz[3];
num12 = num13;
num12 += num21;
uint num22 = zz[4];
num13 = num20;
uint num23 = num13 * num;
num22 = num18;
num23 += num22;
num18 = num20;
zz[2] = num22;
uint num24 = num18 * num6;
uint num25 = num20 * num14;
num22 = num23;
num24 += num22;
num22 = num19;
num24 += num22;
num19 = num20;
uint num26 = num19 * num9;
num22 = num24;
num26 += num22;
num22 = num13;
num26 += num22;
num22 = num26;
num25 += num22;
num22 = num12;
num25 += num22;
num22 = num25;
num12 += num22;
num12 += num22;
uint num27 = x[2];
int length3 = zz.Length;
uint num28 = zz[4];
num13 = num12;
num13 += num28;
uint num29 = zz[5];
uint num30 = num27 * num;
num29 = num24;
num30 += num29;
num23 = num27;
zz[2] = num29;
num29 = num30;
uint num31 = num23 * num6;
num31 += num29;
num29 = num26;
num31 += num29;
num26 = num27;
uint num32 = num26 * num9;
num29 = num31;
num32 += num29;
num29 = num25;
num32 += num29;
num25 = num27;
uint num33 = num25 * num14;
num29 = num32;
num33 += num29;
num29 = num12;
num33 += num29;
num12 = num27;
uint num34 = num12 * num20;
num29 = num33;
num34 += num29;
num29 = num13;
num34 += num29;
num29 = num34;
num13 += num29;
num13 += num29;
uint num35 = x[3];
int length4 = zz.Length;
uint num36 = zz[5];
num31 = num13;
num31 += num36;
uint num37 = zz[6];
uint num38 = num35 * num;
num38 += num31;
num30 = num35;
zz[3] = num31;
num31 = num38;
uint num39 = num30 * num6;
num39 += num31;
num31 = num32;
num39 += num31;
num32 = num35;
num31 = num39;
num39 = num35;
uint num40 = num32 * num9;
uint num41 = num39 * num14;
num40 += num31;
num31 = num33;
num40 += num31;
num33 = num35;
uint num42 = num33 * num20;
num31 = num40;
num41 += num31;
num41 += num34;
num34 = num41;
num42 += num34;
num34 = num13;
num42 += num34;
num13 = num35;
num34 = num42;
num13 += num34;
num34 = num31;
num13 += num34;
num34 = num13;
num31 += num34;
num31 += num37;
int length5 = zz.Length;
uint num43 = x[3];
uint num44 = zz[6];
num13 = num31;
num13 += num44;
uint num45 = zz[7];
uint num46 = num43 * num;
num46 += num39;
num42 = num43;
zz[3] = num39;
num = num43;
uint num47 = num42 * num6;
uint num48 = num * num14;
num38 = num43;
uint num49 = num38 * num20;
num39 = num46;
num47 += num39;
num39 = num40;
num47 += num39;
num40 = num43;
uint num50 = num40 * num9;
num39 = num47;
num50 += num39;
num50 += num41;
num41 = num50;
num48 += num41;
num48 += num42;
num42 = num48;
num49 += num42;
num49 += num13;
num13 = num49;
num43 += num13;
num13 = num31;
num43 += num13;
num13 = num43;
num43 += num13;
num43 += num13;
num13 = num43;
num13 += num13;
num13 += num45;
zz[4] = num45;
zz[4] = num45;
zz[5] = num45;
zz[5] = num45;
zz[6] = num45;
zz[6] = num45;
zz[7] = num45;
num45 = num13;
num45 += num45;
zz[7] = num45;
}
// Token: 0x060083F1 RID: 33777 RVA: 0x001CA320 File Offset: 0x001C8520
[Token(Token = "0x60083F1")]
[Address(RVA = "0xC1C280", Offset = "0xC1AC80", VA = "0x180C1C280")]
public static void Square(uint[] x, int xOff, uint[] zz, int zzOff)
{
uint num = x[xOff];
uint num2 = x[x];
uint num3 = num2 * num2;
zz[0] = num3;
zz[0] = num3;
num3 = num;
uint num4 = num3 * num;
int num5 = xOff + 1;
zz[0] = num4;
uint num6 = x[num5];
int length = zz.Length;
int num7 = zzOff + 1;
uint num8 = num6;
uint num9 = num8 * num;
num3 += num9;
zz[0] = num4;
uint num10 = x[(int)num9];
int length2 = zz.Length;
uint num11 = zz[length];
num4 = num10;
uint num12 = num4 * num;
uint num13 = num3;
num12 += num13;
num12 += num8;
num3 = num10;
zz[0] = num8;
num8 = num12;
uint num14 = num3 * num6;
num14 += num8;
num14 += num11;
num10 = num14;
num10 += num13;
uint num15 = x[(int)num13];
int length3 = zz.Length;
uint num16 = zz[(int)num11];
num13 = num10;
num16 += num13;
uint num17 = zz[(int)num13];
uint num18 = num15 * num;
num17 = num14;
num18 += num17;
zz[0] = num17;
num17 = num18;
num15 += num17;
num17 = num10;
num15 += num17;
num17 = num15;
num15 += num17;
num17 = num16;
num15 += num17;
num17 = num15;
num16 += num17;
num16 += num17;
uint num19 = x[(int)num17];
int length4 = zz.Length;
uint num20 = zz[(int)num17];
num17 = num16;
num20 += num17;
uint num21 = zz[(int)num17];
uint num22 = num19 * num;
num21 = num15;
num22 += num21;
zz[0] = num21;
num15 = num19;
num21 = num22;
num15 += num21;
num21 = num15;
num15 += num21;
num15 = num19;
num21 = num15;
num15 += num21;
num21 = num16;
num15 += num21;
num21 = num15;
num19 += num21;
num21 = num20;
num19 += num21;
num21 = num19;
num20 += num21;
num20 += num21;
uint num23 = x[(int)num21];
int length5 = zz.Length;
uint num24 = zz[(int)num21];
num21 = num20;
num24 += num21;
uint num25 = zz[(int)num21];
uint num26 = num23 * num;
num25 = num15;
num26 += num25;
zz[0] = num25;
num11 = num23;
uint num27 = num11 * num10;
num25 = num26;
num23 += num25;
num25 = num15;
num23 += num25;
num25 = num23;
num27 += num25;
num25 = num19;
num27 += num25;
num19 = num23;
uint num28 = num19 * num15;
num25 = num27;
num28 += num25;
num25 = num20;
num28 += num25;
num20 = num23;
num25 = num28;
num20 += num25;
num25 = num24;
num20 += num25;
num25 = num20;
num24 += num25;
num24 += num25;
uint num29 = x[(int)num25];
int length6 = zz.Length;
uint num30 = zz[(int)num27];
num25 = num24;
num30 += num25;
uint num31 = zz[(int)num25];
uint num32 = num29 * num;
num31 = num23;
num32 += num31;
zz[0] = num31;
num23 = num29;
uint num33 = num23 * num6;
num31 = num32;
num33 += num31;
num33 += num27;
num27 = num29;
uint num34 = num27 * num10;
num34 = num33;
num33 = num29;
num34 += num34;
num34 += num28;
num28 = num34;
num34 = num29;
uint num35 = num33 * num15;
num35 += num28;
num35 += num20;
num20 = num35;
num34 += num20;
num20 = num24;
num34 += num20;
num20 = num34;
num29 += num20;
num20 = num30;
num29 += num20;
num20 = num29;
num30 += num20;
num30 += num31;
uint num36 = x[xOff];
int length7 = zz.Length;
uint num37 = zz[xOff];
num31 = num30;
num37 += num31;
uint num38 = zz[(int)num35];
num24 = num36;
uint num39 = num24 * num;
num39 += num33;
num = num36;
zz[0] = num33;
num32 = num36;
uint num40 = num * num6;
num15 = num36;
num6 = num36;
num33 = num39;
num40 += num33;
num40 += num34;
num34 = num40;
num15 += num34;
num15 += num35;
num35 = num15;
num32 += num35;
num32 += num34;
num34 = num32;
num6 += num34;
num6 += num29;
num29 = num6;
num36 += num29;
num29 = num30;
num36 += num29;
num29 = num36;
num36 += num29;
num29 = num37;
num36 += num29;
num29 = num36;
num37 += num29;
num37 += num38;
zz[0] = num38;
zz[0] = num38;
zz[0] = num38;
zz[0] = num38;
zz[0] = num38;
zz[0] = num38;
zz[0] = num38;
num38 = num37;
num38 += num38;
zz[0] = num38;
}
// Token: 0x060083F2 RID: 33778 RVA: 0x001CA820 File Offset: 0x001C8A20
[Token(Token = "0x60083F2")]
[Address(RVA = "0xC1E2F0", Offset = "0xC1CCF0", VA = "0x180C1E2F0")]
public static int Sub(uint[] x, uint[] y, uint[] z)
{
uint num = y[0];
uint num2 = x[0];
num2 -= num;
z[0] = num2;
uint num3 = y[0];
num2 -= num3;
uint num4 = x[0];
num2 += num4;
z[0] = num2;
uint num5 = y[1];
num2 -= num5;
uint num6 = x[1];
num2 += num6;
z[1] = num2;
uint num7 = y[1];
num2 -= num7;
uint num8 = x[1];
num2 += num8;
z[1] = num2;
uint num9 = y[2];
num2 -= num9;
uint num10 = x[2];
num2 += num10;
z[2] = num2;
uint num11 = y[2];
num2 -= num11;
uint num12 = x[2];
num2 += num12;
z[2] = num2;
uint num13 = y[3];
num2 -= num13;
uint num14 = x[3];
num2 += num14;
z[3] = num2;
uint num15 = x[3];
uint num16 = y[3];
num2 -= num16;
num2 += num15;
z[3] = num2;
throw new NullReferenceException();
}
// Token: 0x060083F3 RID: 33779 RVA: 0x001CA94C File Offset: 0x001C8B4C
[Token(Token = "0x60083F3")]
[Address(RVA = "0xC1DF10", Offset = "0xC1C910", VA = "0x180C1DF10")]
public static int Sub(uint[] x, int xOff, uint[] y, int yOff, uint[] z, int zOff)
{
uint num = x[yOff];
uint num2 = y[yOff];
num -= num2;
int num3 = yOff + 1;
uint num4 = x[num3];
int num5 = yOff + 1;
uint num6 = y[num5];
num -= num6;
num += num4;
uint num7 = x[(int)num6];
uint num8 = y[(int)num6];
num -= num8;
num += num7;
uint num9 = x[(int)num8];
uint num10 = y[(int)num8];
num -= num10;
num += num9;
uint num11 = x[(int)num10];
uint num12 = y[(int)num10];
num -= num12;
num += num11;
uint num13 = x[(int)num12];
uint num14 = y[(int)num12];
num -= num14;
num += num13;
uint num15 = x[(int)num14];
uint num16 = y[(int)num14];
num -= num16;
num += num15;
uint num17 = x[yOff];
uint num18 = y[yOff];
num -= num18;
num += num17;
throw new NullReferenceException();
}
// Token: 0x060083F4 RID: 33780 RVA: 0x001CAA4C File Offset: 0x001C8C4C
[Token(Token = "0x60083F4")]
[Address(RVA = "0xC1D640", Offset = "0xC1C040", VA = "0x180C1D640")]
public static int SubBothFrom(uint[] x, uint[] y, uint[] z)
{
uint num = y[0];
uint num2 = z[0];
num2 -= num;
uint num3 = x[0];
num2 -= num3;
z[0] = num2;
uint num4 = y[0];
num2 -= num4;
uint num5 = x[0];
num2 -= num5;
uint num6 = z[0];
num2 += num6;
z[0] = num2;
uint num7 = y[1];
num2 -= num7;
uint num8 = x[1];
num2 -= num8;
uint num9 = z[1];
num2 += num9;
z[1] = num2;
uint num10 = y[1];
num2 -= num10;
uint num11 = x[1];
num2 -= num11;
uint num12 = z[1];
num2 += num12;
z[1] = num2;
uint num13 = y[2];
num2 -= num13;
uint num14 = x[2];
num2 -= num14;
uint num15 = z[2];
num2 += num15;
z[2] = num2;
uint num16 = y[2];
num2 -= num16;
uint num17 = x[2];
num2 -= num17;
uint num18 = z[2];
num2 += num18;
z[2] = num2;
uint num19 = y[3];
num2 -= num19;
uint num20 = x[3];
num2 -= num20;
uint num21 = z[3];
num2 += num21;
z[3] = num2;
uint num22 = x[3];
uint num23 = y[3];
num2 -= num23;
uint num24 = z[3];
num2 -= num22;
num2 += num24;
z[3] = num2;
throw new NullReferenceException();
}
// Token: 0x060083F5 RID: 33781 RVA: 0x001CABE8 File Offset: 0x001C8DE8
[Token(Token = "0x60083F5")]
[Address(RVA = "0xC1DC90", Offset = "0xC1C690", VA = "0x180C1DC90")]
public static int SubFrom(uint[] x, uint[] z)
{
uint num = x[0];
uint num2 = z[0];
num2 -= num;
z[0] = num2;
uint num3 = x[0];
num2 -= num3;
uint num4 = z[0];
num2 += num4;
z[0] = num2;
uint num5 = x[1];
num2 -= num5;
uint num6 = z[1];
num2 += num6;
z[1] = num2;
uint num7 = x[1];
num2 -= num7;
uint num8 = z[1];
num2 += num8;
z[1] = num2;
uint num9 = x[2];
num2 -= num9;
uint num10 = z[2];
num2 += num10;
z[2] = num2;
uint num11 = x[2];
num2 -= num11;
uint num12 = z[2];
num2 += num12;
z[2] = num2;
uint num13 = x[3];
num2 -= num13;
uint num14 = z[3];
num2 += num14;
z[3] = num2;
uint num15 = x[3];
num2 -= num15;
uint num16 = z[3];
num2 += num16;
z[3] = num2;
throw new NullReferenceException();
}
// Token: 0x060083F6 RID: 33782 RVA: 0x001CAD14 File Offset: 0x001C8F14
[Token(Token = "0x60083F6")]
[Address(RVA = "0xC1D9D0", Offset = "0xC1C3D0", VA = "0x180C1D9D0")]
public static int SubFrom(uint[] x, int xOff, uint[] z, int zOff)
{
uint num = z[zOff];
int num2 = zOff + 1;
uint num3 = x[xOff];
num -= num3;
z[0] = num;
int num4 = xOff + 1;
uint num5 = x[num4];
num -= num5;
uint num6 = z[num2];
num += num6;
z[0] = num;
uint num7 = x[(int)num6];
num -= num7;
uint num8;
num8 += num;
z[0] = num8;
uint num9 = x[(int)num7];
num8 -= num9;
uint num10;
num10 += num8;
z[0] = num10;
uint num11 = x[(int)num9];
num10 -= num11;
uint num12;
num12 += num10;
z[0] = num12;
uint num13 = x[(int)num11];
num12 -= num13;
uint num14;
num14 += num12;
z[0] = num14;
uint num15 = x[(int)num13];
num14 -= num15;
uint num16 = z[(int)num12];
num14 += num16;
z[0] = num14;
uint num17 = x[xOff];
uint num18 = z[zOff];
num14 -= num17;
num18 += num14;
z[0] = num18;
throw new NullReferenceException();
}
// Token: 0x060083F7 RID: 33783 RVA: 0x001CAE48 File Offset: 0x001C9048
[Token(Token = "0x60083F7")]
[Address(RVA = "0xC1E720", Offset = "0xC1D120", VA = "0x180C1E720")]
public static BigInteger ToBigInteger(uint[] x)
{
byte[] array = new byte[32];
int num = 0;
uint num2 = x[num];
if (num2 != (uint)0)
{
Pack.UInt32_To_BE(num2, array, 28);
}
num++;
return new BigInteger(1, array);
}
// Token: 0x060083F8 RID: 33784 RVA: 0x001CAE88 File Offset: 0x001C9088
[Token(Token = "0x60083F8")]
[Address(RVA = "0xC1E650", Offset = "0xC1D050", VA = "0x180C1E650")]
public static BigInteger ToBigInteger64(ulong[] x)
{
byte[] array = new byte[32];
int num = 0;
ulong num2 = x[num];
if (num2 != (ulong)0L)
{
Pack.UInt64_To_BE(num2, array, 24);
}
num++;
return new BigInteger(1, array);
}
// Token: 0x060083F9 RID: 33785 RVA: 0x001CAEC8 File Offset: 0x001C90C8
[Token(Token = "0x60083F9")]
[Address(RVA = "0xC1E7F0", Offset = "0xC1D1F0", VA = "0x180C1E7F0")]
public static void Zero(uint[] z)
{
int num = 0;
z[0] = (uint)num;
z[0] = (uint)num;
z[1] = (uint)num;
z[1] = (uint)num;
z[2] = (uint)num;
z[2] = (uint)num;
z[3] = (uint)num;
z[3] = (uint)num;
}
// Token: 0x060083FA RID: 33786 RVA: 0x001CAF20 File Offset: 0x001C9120
[Token(Token = "0x60083FA")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
protected Nat256()
{
}
// Token: 0x04005C16 RID: 23574
[Token(Token = "0x4005C16")]
private const ulong M = 4294967295UL;
}
}
@@ -0,0 +1,146 @@
using System;
using System.Runtime.InteropServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw
{
// Token: 0x02001403 RID: 5123
[Token(Token = "0x2001403")]
[StructLayout(3)]
internal abstract class Nat320
{
// Token: 0x060083FB RID: 33787 RVA: 0x001CAF34 File Offset: 0x001C9134
[Token(Token = "0x60083FB")]
[Address(RVA = "0xC1E8D0", Offset = "0xC1D2D0", VA = "0x180C1E8D0")]
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: 0x060083FC RID: 33788 RVA: 0x001CAF9C File Offset: 0x001C919C
[Token(Token = "0x60083FC")]
[Address(RVA = "0xC1EA20", Offset = "0xC1D420", VA = "0x180C1EA20")]
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: 0x060083FD RID: 33789 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60083FD")]
[Address(RVA = "0xC1EBB0", Offset = "0xC1D5B0", VA = "0x180C1EBB0")]
public static ulong[] Create64()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060083FE RID: 33790 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60083FE")]
[Address(RVA = "0xC1EBF0", Offset = "0xC1D5F0", VA = "0x180C1EBF0")]
public static ulong[] CreateExt64()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060083FF RID: 33791 RVA: 0x001CB010 File Offset: 0x001C9210
[Token(Token = "0x60083FF")]
[Address(RVA = "0xC1EC30", Offset = "0xC1D630", VA = "0x180C1EC30")]
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: 0x06008400 RID: 33792 RVA: 0x001CB034 File Offset: 0x001C9234
[Token(Token = "0x6008400")]
[Address(RVA = "0xC1ECA0", Offset = "0xC1D6A0", VA = "0x180C1ECA0")]
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: 0x06008401 RID: 33793 RVA: 0x001CB080 File Offset: 0x001C9280
[Token(Token = "0x6008401")]
[Address(RVA = "0xC1EDD0", Offset = "0xC1D7D0", VA = "0x180C1EDD0")]
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: 0x06008402 RID: 33794 RVA: 0x001CB0B4 File Offset: 0x001C92B4
[Token(Token = "0x6008402")]
[Address(RVA = "0xC1EE40", Offset = "0xC1D840", VA = "0x180C1EE40")]
public static bool IsZero64(ulong[] x)
{
int num = 0;
if ("{il2cpp array field x->}" == (ulong)0L)
{
num++;
return true;
}
throw new NullReferenceException();
}
// Token: 0x06008403 RID: 33795 RVA: 0x001CB0DC File Offset: 0x001C92DC
[Token(Token = "0x6008403")]
[Address(RVA = "0xC1EE90", Offset = "0xC1D890", VA = "0x180C1EE90")]
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: 0x06008404 RID: 33796 RVA: 0x001CB11C File Offset: 0x001C931C
[Token(Token = "0x6008404")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
protected Nat320()
{
}
}
}
@@ -0,0 +1,80 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw
{
// Token: 0x02001404 RID: 5124
[Token(Token = "0x2001404")]
[StructLayout(3)]
internal abstract class Nat384
{
// Token: 0x06008405 RID: 33797 RVA: 0x001CB130 File Offset: 0x001C9330
[Token(Token = "0x6008405")]
[Address(RVA = "0xC1EF60", Offset = "0xC1D960", VA = "0x180C1EF60")]
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: 0x06008406 RID: 33798 RVA: 0x001CB210 File Offset: 0x001C9410
[Token(Token = "0x6008406")]
[Address(RVA = "0xC1F100", Offset = "0xC1DB00", VA = "0x180C1F100")]
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: 0x06008407 RID: 33799 RVA: 0x001CB2B0 File Offset: 0x001C94B0
[Token(Token = "0x6008407")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
protected Nat384()
{
}
}
}
@@ -0,0 +1,154 @@
using System;
using System.Runtime.InteropServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw
{
// Token: 0x02001405 RID: 5125
[Token(Token = "0x2001405")]
[StructLayout(3)]
internal abstract class Nat448
{
// Token: 0x06008408 RID: 33800 RVA: 0x001CB2C4 File Offset: 0x001C94C4
[Token(Token = "0x6008408")]
[Address(RVA = "0xC1F440", Offset = "0xC1DE40", VA = "0x180C1F440")]
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: 0x06008409 RID: 33801 RVA: 0x001CB350 File Offset: 0x001C9550
[Token(Token = "0x6008409")]
[Address(RVA = "0xC1F230", Offset = "0xC1DC30", VA = "0x180C1F230")]
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: 0x0600840A RID: 33802 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600840A")]
[Address(RVA = "0xC1F610", Offset = "0xC1E010", VA = "0x180C1F610")]
public static ulong[] Create64()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600840B RID: 33803 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600840B")]
[Address(RVA = "0xC1F650", Offset = "0xC1E050", VA = "0x180C1F650")]
public static ulong[] CreateExt64()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600840C RID: 33804 RVA: 0x001CB3DC File Offset: 0x001C95DC
[Token(Token = "0x600840C")]
[Address(RVA = "0xC1F690", Offset = "0xC1E090", VA = "0x180C1F690")]
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: 0x0600840D RID: 33805 RVA: 0x001CB400 File Offset: 0x001C9600
[Token(Token = "0x600840D")]
[Address(RVA = "0xC1F700", Offset = "0xC1E100", VA = "0x180C1F700")]
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: 0x0600840E RID: 33806 RVA: 0x001CB44C File Offset: 0x001C964C
[Token(Token = "0x600840E")]
[Address(RVA = "0xC1F830", Offset = "0xC1E230", VA = "0x180C1F830")]
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: 0x0600840F RID: 33807 RVA: 0x001CB480 File Offset: 0x001C9680
[Token(Token = "0x600840F")]
[Address(RVA = "0xC1F8A0", Offset = "0xC1E2A0", VA = "0x180C1F8A0")]
public static bool IsZero64(ulong[] x)
{
int num = 0;
if ("{il2cpp array field x->}" == (ulong)0L)
{
num++;
return true;
}
throw new NullReferenceException();
}
// Token: 0x06008410 RID: 33808 RVA: 0x001CB4A8 File Offset: 0x001C96A8
[Token(Token = "0x6008410")]
[Address(RVA = "0xC1F8F0", Offset = "0xC1E2F0", VA = "0x180C1F8F0")]
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: 0x06008411 RID: 33809 RVA: 0x001CB4E8 File Offset: 0x001C96E8
[Token(Token = "0x6008411")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
protected Nat448()
{
}
}
}
@@ -0,0 +1,80 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw
{
// Token: 0x02001406 RID: 5126
[Token(Token = "0x2001406")]
[StructLayout(3)]
internal abstract class Nat512
{
// Token: 0x06008412 RID: 33810 RVA: 0x001CB4FC File Offset: 0x001C96FC
[Token(Token = "0x6008412")]
[Address(RVA = "0xC1F9C0", Offset = "0xC1E3C0", VA = "0x180C1F9C0")]
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: 0x06008413 RID: 33811 RVA: 0x001CB5D8 File Offset: 0x001C97D8
[Token(Token = "0x6008413")]
[Address(RVA = "0xC1FBC0", Offset = "0xC1E5C0", VA = "0x180C1FBC0")]
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: 0x06008414 RID: 33812 RVA: 0x001CB674 File Offset: 0x001C9874
[Token(Token = "0x6008414")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
protected Nat512()
{
}
}
}
@@ -0,0 +1,162 @@
using System;
using System.Runtime.InteropServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw
{
// Token: 0x02001407 RID: 5127
[Token(Token = "0x2001407")]
[StructLayout(3)]
internal abstract class Nat576
{
// Token: 0x06008415 RID: 33813 RVA: 0x001CB688 File Offset: 0x001C9888
[Token(Token = "0x6008415")]
[Address(RVA = "0xC1FD40", Offset = "0xC1E740", VA = "0x180C1FD40")]
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: 0x06008416 RID: 33814 RVA: 0x001CB738 File Offset: 0x001C9938
[Token(Token = "0x6008416")]
[Address(RVA = "0xC1FF80", Offset = "0xC1E980", VA = "0x180C1FF80")]
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: 0x06008417 RID: 33815 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6008417")]
[Address(RVA = "0xC20220", Offset = "0xC1EC20", VA = "0x180C20220")]
public static ulong[] Create64()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06008418 RID: 33816 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6008418")]
[Address(RVA = "0xC20260", Offset = "0xC1EC60", VA = "0x180C20260")]
public static ulong[] CreateExt64()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06008419 RID: 33817 RVA: 0x001CB7EC File Offset: 0x001C99EC
[Token(Token = "0x6008419")]
[Address(RVA = "0xC202A0", Offset = "0xC1ECA0", VA = "0x180C202A0")]
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: 0x0600841A RID: 33818 RVA: 0x001CB810 File Offset: 0x001C9A10
[Token(Token = "0x600841A")]
[Address(RVA = "0xC20310", Offset = "0xC1ED10", VA = "0x180C20310")]
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: 0x0600841B RID: 33819 RVA: 0x001CB85C File Offset: 0x001C9A5C
[Token(Token = "0x600841B")]
[Address(RVA = "0xC20440", Offset = "0xC1EE40", VA = "0x180C20440")]
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: 0x0600841C RID: 33820 RVA: 0x001CB890 File Offset: 0x001C9A90
[Token(Token = "0x600841C")]
[Address(RVA = "0xC204B0", Offset = "0xC1EEB0", VA = "0x180C204B0")]
public static bool IsZero64(ulong[] x)
{
int num = 0;
if ("{il2cpp array field x->}" == (ulong)0L)
{
num++;
return true;
}
throw new NullReferenceException();
}
// Token: 0x0600841D RID: 33821 RVA: 0x001CB8B8 File Offset: 0x001C9AB8
[Token(Token = "0x600841D")]
[Address(RVA = "0xC20500", Offset = "0xC1EF00", VA = "0x180C20500")]
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: 0x0600841E RID: 33822 RVA: 0x001CB8F8 File Offset: 0x001C9AF8
[Token(Token = "0x600841E")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
protected Nat576()
{
}
}
}