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; } }