using System; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw { // Token: 0x020019DA RID: 6618 [Token(Token = "0x20019DA")] internal abstract class Nat { // Token: 0x06009E99 RID: 40601 RVA: 0x0021750C File Offset: 0x0021570C [Token(Token = "0x6009E99")] [Address(RVA = "0x1F7B0F0", Offset = "0x1F79EF0", VA = "0x181F7B0F0")] public static uint Add(int len, uint[] x, uint[] y, uint[] z) { int num = 0; if (len > 0) { uint num2 = y[num]; num++; uint num3 = x[num]; num += (int)num2; num += (int)num3; z[0] = (uint)num; } throw new NullReferenceException(); } // Token: 0x06009E9A RID: 40602 RVA: 0x00217548 File Offset: 0x00215748 [Token(Token = "0x6009E9A")] [Address(RVA = "0x1F7A550", Offset = "0x1F79350", VA = "0x181F7A550")] public static uint Add33At(int len, uint x, uint[] z, int zPos) { uint num = z[zPos]; z[0] = x; uint num2 = z[zPos]; num2 += (uint)1; z[0] = x; ulong num3; if (num3 == (ulong)x) { } if (num3 < (ulong)len) { while (num3 != (ulong)z.Length) { } num3 += (ulong)1L; } uint num4; return num4; } // Token: 0x06009E9B RID: 40603 RVA: 0x0021759C File Offset: 0x0021579C [Token(Token = "0x6009E9B")] [Address(RVA = "0x1F7A610", Offset = "0x1F79410", VA = "0x181F7A610")] public static uint Add33At(int len, uint x, uint[] z, int zOff, int zPos) { uint num; num += x; z[0] = num; uint num2; num2 += (uint)1; num += num2; z[0] = num; ulong num3; if (num3 == (ulong)num) { } while (num != (uint)z.Length) { } num += (uint)1; uint num4; return num4; } // Token: 0x06009E9C RID: 40604 RVA: 0x002175E4 File Offset: 0x002157E4 [Token(Token = "0x6009E9C")] [Address(RVA = "0x1F7A6E0", Offset = "0x1F794E0", VA = "0x181F7A6E0")] public static uint Add33To(int len, uint x, uint[] z) { uint num = z[0]; num += x; z[0] = num; uint num2 = z[0]; num2 += (uint)1; num += num2; z[0] = num; ulong num3; if (num3 == (ulong)num) { } uint num4; if (len > (int)num4) { while (num4 != (uint)z.Length) { } num4 += (uint)1; } uint num5; return num5; } // Token: 0x06009E9D RID: 40605 RVA: 0x00217644 File Offset: 0x00215844 [Token(Token = "0x6009E9D")] [Address(RVA = "0x1F7A7A0", Offset = "0x1F795A0", VA = "0x181F7A7A0")] public static uint Add33To(int len, uint x, uint[] z, int zOff) { uint num = z[zOff]; num += x; z[0] = num; uint num2 = z[zOff]; num2 += (uint)1; num += num2; z[0] = num; ulong num3; if (num3 == (ulong)num) { } if (len > 2) { while (num != (uint)z.Length) { } num += (uint)1; num -= (uint)zOff; } uint num4; return num4; } // Token: 0x06009E9E RID: 40606 RVA: 0x002176A4 File Offset: 0x002158A4 [Token(Token = "0x6009E9E")] [Address(RVA = "0x1F7A860", Offset = "0x1F79660", VA = "0x181F7A860")] public static uint AddBothTo(int len, uint[] x, uint[] y, uint[] z) { int num = 0; if (len > 0) { uint num2 = y[num]; num++; uint num3 = x[num]; num3 += num2; uint num4 = z[num]; num += (int)num4; num += (int)num3; z[0] = (uint)num; } throw new NullReferenceException(); } // Token: 0x06009E9F RID: 40607 RVA: 0x002176EC File Offset: 0x002158EC [Token(Token = "0x6009E9F")] [Address(RVA = "0x1F7A910", Offset = "0x1F79710", VA = "0x181F7A910")] public static uint AddBothTo(int len, uint[] x, int xOff, uint[] y, int yOff, uint[] z, int zOff) { int num = 0; if (len > 0) { uint num2 = x[x]; uint num3; num2 += num3; num += (int)num2; } throw new NullReferenceException(); } // Token: 0x06009EA0 RID: 40608 RVA: 0x00217714 File Offset: 0x00215914 [Token(Token = "0x6009EA0")] [Address(RVA = "0x1F7AA10", Offset = "0x1F79810", VA = "0x181F7AA10")] public static uint AddDWordAt(int len, ulong x, uint[] z, int zPos) { uint num = z[zPos]; z[0] = (uint)x; uint num2 = z[zPos]; num2 = (uint)((ulong)num2 + x); num2 = (uint)((ulong)num2 + x); z[0] = num2; ulong num3; if (num3 == (ulong)num2) { } if (num2 < (uint)len) { while (num2 != (uint)z.Length) { } num2 += (uint)1; } uint num4; return num4; } // Token: 0x06009EA1 RID: 40609 RVA: 0x0021776C File Offset: 0x0021596C [Token(Token = "0x6009EA1")] [Address(RVA = "0x1F7AAD0", Offset = "0x1F798D0", VA = "0x181F7AAD0")] public static uint AddDWordAt(int len, ulong x, uint[] z, int zOff, int zPos) { z[0] = (uint)x; uint num = (uint)((ulong)num + x); num = (uint)((ulong)num + x); z[0] = num; ulong num2; if (num2 == (ulong)num) { } while (num != (uint)z.Length) { } num += (uint)1; uint num3; return num3; } // Token: 0x06009EA2 RID: 40610 RVA: 0x002177B0 File Offset: 0x002159B0 [Token(Token = "0x6009EA2")] [Address(RVA = "0x1F7AC90", Offset = "0x1F79A90", VA = "0x181F7AC90")] public static uint AddDWordTo(int len, ulong x, uint[] z) { uint num = z[0]; z[0] = (uint)x; uint num2 = z[0]; z[0] = (uint)x; ulong num3; if (num3 == x) { } uint num4; if (len > (int)num4) { while (num4 != (uint)z.Length) { } num4 += (uint)1; } uint num5; return num5; } // Token: 0x06009EA3 RID: 40611 RVA: 0x00217804 File Offset: 0x00215A04 [Token(Token = "0x6009EA3")] [Address(RVA = "0x1F7ABC0", Offset = "0x1F799C0", VA = "0x181F7ABC0")] public static uint AddDWordTo(int len, ulong x, uint[] z, int zOff) { uint num = z[zOff]; z[0] = (uint)x; uint num2 = z[zOff]; num2 = (uint)((ulong)num2 + x); num2 = (uint)((ulong)num2 + x); z[0] = num2; ulong num3; if (num3 == (ulong)num2) { } if (len > 2) { while (num2 != (uint)z.Length) { } num2 += (uint)1; num2 -= (uint)zOff; } uint num4; return num4; } // Token: 0x06009EA4 RID: 40612 RVA: 0x00217860 File Offset: 0x00215A60 [Token(Token = "0x6009EA4")] [Address(RVA = "0x1F7AD50", Offset = "0x1F79B50", VA = "0x181F7AD50")] public static uint AddTo(int len, uint[] x, uint[] z) { int num = 0; if (len > 0) { uint num2 = z[num]; num++; uint num3 = x[num]; num += (int)num2; num += (int)num3; z[0] = (uint)num; } throw new NullReferenceException(); } // Token: 0x06009EA5 RID: 40613 RVA: 0x0021789C File Offset: 0x00215A9C [Token(Token = "0x6009EA5")] [Address(RVA = "0x1F7ADD0", Offset = "0x1F79BD0", VA = "0x181F7ADD0")] public static uint AddTo(int len, uint[] x, int xOff, uint[] z, int zOff) { int num = 0; if (len > 0) { uint num2 = x[len]; uint num3; num += (int)num3; num += (int)num2; z[0] = (uint)num; } throw new NullReferenceException(); } // Token: 0x06009EA6 RID: 40614 RVA: 0x002178CC File Offset: 0x00215ACC [Token(Token = "0x6009EA6")] [Address(RVA = "0x1F7AF20", Offset = "0x1F79D20", VA = "0x181F7AF20")] public static uint AddWordAt(int len, uint x, uint[] z, int zPos) { uint num = z[zPos]; num += x; z[0] = num; ulong num2; if (num2 == (ulong)num) { } int num3 = zPos + 1; if (num3 < len) { while (num3 != z.Length) { } num3++; } uint num4; return num4; } // Token: 0x06009EA7 RID: 40615 RVA: 0x00217910 File Offset: 0x00215B10 [Token(Token = "0x6009EA7")] [Address(RVA = "0x1F7AE80", Offset = "0x1F79C80", VA = "0x181F7AE80")] public static uint AddWordAt(int len, uint x, uint[] z, int zOff, int zPos) { uint num; num += x; z[0] = num; ulong num2; if (num2 == (ulong)num) { } while (num != (uint)z.Length) { } num += (uint)1; uint num3; return num3; } // Token: 0x06009EA8 RID: 40616 RVA: 0x00217944 File Offset: 0x00215B44 [Token(Token = "0x6009EA8")] [Address(RVA = "0x1F7AFB0", Offset = "0x1F79DB0", VA = "0x181F7AFB0")] public static uint AddWordTo(int len, uint x, uint[] z) { uint num = z[0]; num += x; z[0] = num; ulong num2; if (num2 == (ulong)num) { } uint num3; if (len > (int)num3) { if (num3 != (uint)z.Length) { throw new NullReferenceException(); } num3 += (uint)1; } return num3; } // Token: 0x06009EA9 RID: 40617 RVA: 0x00217988 File Offset: 0x00215B88 [Token(Token = "0x6009EA9")] [Address(RVA = "0x1F7B050", Offset = "0x1F79E50", VA = "0x181F7B050")] public static uint AddWordTo(int len, uint x, uint[] z, int zOff) { uint num = z[zOff]; num += x; z[0] = num; ulong num2; if (num2 == (ulong)num) { } if (len > 1) { int num3 = zOff + 1; while (num3 != z.Length) { } num3++; num3 -= zOff; } uint num4; return num4; } // Token: 0x06009EAA RID: 40618 RVA: 0x002179D0 File Offset: 0x00215BD0 [Token(Token = "0x6009EAA")] [Address(RVA = "0x1F7B1A0", Offset = "0x1F79FA0", VA = "0x181F7B1A0")] public static uint CAdd(int len, int mask, uint[] x, uint[] y, uint[] z) { int num = 0; if (len > 0) { num++; uint num2 = x[num]; num += (int)num2; num += mask; } throw new NullReferenceException(); } // Token: 0x06009EAB RID: 40619 RVA: 0x002179FC File Offset: 0x00215BFC [Token(Token = "0x6009EAB")] [Address(RVA = "0x1F7B260", Offset = "0x1F7A060", VA = "0x181F7B260")] public static void CMov(int len, int mask, uint[] x, int xOff, uint[] z, int zOff) { if (len > 0) { } } // Token: 0x06009EAC RID: 40620 RVA: 0x00217A14 File Offset: 0x00215C14 [Token(Token = "0x6009EAC")] [Address(RVA = "0x1F7B260", Offset = "0x1F7A060", VA = "0x181F7B260")] public static void CMov(int len, int mask, int[] x, int xOff, int[] z, int zOff) { if (len > 0) { } } // Token: 0x06009EAD RID: 40621 RVA: 0x00217A2C File Offset: 0x00215C2C [Token(Token = "0x6009EAD")] [Address(RVA = "0x1F7B350", Offset = "0x1F7A150", VA = "0x181F7B350")] public static void Copy(int len, uint[] x, uint[] z) { int num = 0; int num2 = 0; Array.Copy(x, num2, z, num, len); } // Token: 0x06009EAE RID: 40622 RVA: 0x00217A48 File Offset: 0x00215C48 [Token(Token = "0x6009EAE")] [Address(RVA = "0x1F7B380", Offset = "0x1F7A180", VA = "0x181F7B380")] public static uint[] Copy(int len, uint[] x) { uint[] array = new uint[len]; int num = 0; int num2 = 0; Array.Copy(x, num2, array, num, len); return array; } // Token: 0x06009EAF RID: 40623 RVA: 0x00217A6C File Offset: 0x00215C6C [Token(Token = "0x6009EAF")] [Address(RVA = "0x1F7B320", Offset = "0x1F7A120", VA = "0x181F7B320")] public static void Copy(int len, uint[] x, int xOff, uint[] z, int zOff) { } // Token: 0x06009EB0 RID: 40624 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6009EB0")] [Address(RVA = "0x1F7B430", Offset = "0x1F7A230", VA = "0x181F7B430")] public static uint[] Create(int len) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06009EB1 RID: 40625 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6009EB1")] [Address(RVA = "0x1F7B3F0", Offset = "0x1F7A1F0", VA = "0x181F7B3F0")] public static ulong[] Create64(int len) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06009EB2 RID: 40626 RVA: 0x00217A7C File Offset: 0x00215C7C [Token(Token = "0x6009EB2")] [Address(RVA = "0x1F7B540", Offset = "0x1F7A340", VA = "0x181F7B540")] public static int Dec(int len, uint[] z) { int num = 0; if (len > 0) { uint num2 = z[num]; z[0] = num2; if (num2 != (uint)(-1)) { return 0; } num++; } return -1; } // Token: 0x06009EB3 RID: 40627 RVA: 0x00217AB4 File Offset: 0x00215CB4 [Token(Token = "0x6009EB3")] [Address(RVA = "0x1F7B5A0", Offset = "0x1F7A3A0", VA = "0x181F7B5A0")] public static int Dec(int len, uint[] x, uint[] z) { int num = 0; if (num < len) { uint num2 = x[num]; num++; z[0] = num2; while (num2 == (uint)(-1)) { } if (num < len) { uint num3 = x[num]; num++; z[0] = num3; } return 0; } return -1; } // Token: 0x06009EB4 RID: 40628 RVA: 0x00217B04 File Offset: 0x00215D04 [Token(Token = "0x6009EB4")] [Address(RVA = "0x1F7B470", Offset = "0x1F7A270", VA = "0x181F7B470")] public static int DecAt(int len, uint[] z, int zPos) { if (zPos < len) { uint num = z[zPos]; z[0] = num; if (num != (uint)(-1)) { return 0; } } return -1; } // Token: 0x06009EB5 RID: 40629 RVA: 0x00217B34 File Offset: 0x00215D34 [Token(Token = "0x6009EB5")] [Address(RVA = "0x1F7B4D0", Offset = "0x1F7A2D0", VA = "0x181F7B4D0")] public static int DecAt(int len, uint[] z, int zOff, int zPos) { if (zPos < len) { uint num = z[zOff]; z[0] = num; if (num == (uint)(-1)) { num -= (uint)zOff; } } return 0; } // Token: 0x06009EB6 RID: 40630 RVA: 0x00217B68 File Offset: 0x00215D68 [Token(Token = "0x6009EB6")] [Address(RVA = "0x1F7B670", Offset = "0x1F7A470", VA = "0x181F7B670")] public static bool Eq(int len, uint[] x, uint[] y) { uint num = y[len]; if ("{il2cpp array field x->}" == num) { } throw new NullReferenceException(); } // Token: 0x06009EB7 RID: 40631 RVA: 0x00217B8C File Offset: 0x00215D8C [Token(Token = "0x6009EB7")] [Address(RVA = "0x1F7B6E0", Offset = "0x1F7A4E0", VA = "0x181F7B6E0")] public static uint[] FromBigInteger(int bits, BigInteger x) { int num = 0; int bitLength = x.BitLength; uint[] array = new uint[num]; int num2 = 0; if (x.sign != 0) { num2++; int intValue = x.IntValue; array[0] = (uint)intValue; BigInteger bigInteger = x.ShiftRight(32); } return array; } // Token: 0x06009EB8 RID: 40632 RVA: 0x00217BDC File Offset: 0x00215DDC [Token(Token = "0x6009EB8")] [Address(RVA = "0x1F7B810", Offset = "0x1F7A610", VA = "0x181F7B810")] public static uint GetBit(uint[] x, int bit) { if (bit != 0) { if (bit < x.Length) { return x[bit]; } } return x[0]; } // Token: 0x06009EB9 RID: 40633 RVA: 0x00217C10 File Offset: 0x00215E10 [Token(Token = "0x6009EB9")] [Address(RVA = "0x1F7B890", Offset = "0x1F7A690", VA = "0x181F7B890")] public static bool Gte(int len, uint[] x, uint[] y) { uint num = y[len]; if (x[len] <= num) { } throw new NullReferenceException(); } // Token: 0x06009EBA RID: 40634 RVA: 0x00217C38 File Offset: 0x00215E38 [Token(Token = "0x6009EBA")] [Address(RVA = "0x1F7BAA0", Offset = "0x1F7A8A0", VA = "0x181F7BAA0")] public static uint Inc(int len, uint[] z) { int num = 0; if (len > 0) { if (num != z.Length) { throw new NullReferenceException(); } num++; } uint num2; return num2; } // Token: 0x06009EBB RID: 40635 RVA: 0x00217C64 File Offset: 0x00215E64 [Token(Token = "0x6009EBB")] [Address(RVA = "0x1F7B9D0", Offset = "0x1F7A7D0", VA = "0x181F7B9D0")] public static uint Inc(int len, uint[] x, uint[] z) { int num = 0; if (num < len) { uint num2 = x[num]; num2 += (uint)1; num++; z[0] = num2; while (num2 == (uint)0) { } if (num < len) { uint num3 = x[num]; num++; z[0] = num3; } } return (uint)1; } // Token: 0x06009EBC RID: 40636 RVA: 0x00217CB8 File Offset: 0x00215EB8 [Token(Token = "0x6009EBC")] [Address(RVA = "0x1F7B970", Offset = "0x1F7A770", VA = "0x181F7B970")] public static uint IncAt(int len, uint[] z, int zPos) { if (zPos >= len || zPos == z.Length) { uint num; return num; } throw new NullReferenceException(); } // Token: 0x06009EBD RID: 40637 RVA: 0x00217CDC File Offset: 0x00215EDC [Token(Token = "0x6009EBD")] [Address(RVA = "0x1F7B910", Offset = "0x1F7A710", VA = "0x181F7B910")] public static uint IncAt(int len, uint[] z, int zOff, int zPos) { if (zPos < len) { } uint num; return num; } // Token: 0x06009EBE RID: 40638 RVA: 0x00217CF8 File Offset: 0x00215EF8 [Token(Token = "0x6009EBE")] [Address(RVA = "0x1F7BB00", Offset = "0x1F7A900", VA = "0x181F7BB00")] public static bool IsOne(int len, uint[] x) { int length = x.Length; if ("{il2cpp array field x->}" == (ulong)1L && (len <= 1 || "{il2cpp array field x->}" == (ulong)0L)) { return true; } throw new NullReferenceException(); } // Token: 0x06009EBF RID: 40639 RVA: 0x00217D30 File Offset: 0x00215F30 [Token(Token = "0x6009EBF")] [Address(RVA = "0x1F7BB70", Offset = "0x1F7A970", VA = "0x181F7BB70")] public static bool IsZero(int len, uint[] x) { int length = x.Length; if ("{il2cpp array field x->}" == (ulong)0L && (len <= 1 || "{il2cpp array field x->}" == (ulong)0L)) { return true; } throw new NullReferenceException(); } // Token: 0x06009EC0 RID: 40640 RVA: 0x00217D68 File Offset: 0x00215F68 [Token(Token = "0x6009EC0")] [Address(RVA = "0x1F7C5A0", Offset = "0x1F7B3A0", VA = "0x181F7C5A0")] public static void Mul(int len, uint[] x, uint[] y, uint[] zz) { uint num = x[0]; int num2 = 0; uint num3 = y[num2] * num; num2 += (int)num3; zz[0] = (uint)num2; zz[0] = (uint)num2; uint num4; if (len > (int)num4) { int num5 = 0; uint num6 = x[(int)num4]; uint num7 = Nat.MulWordAddTo(len, num6, y, num5, zz, (int)num4); num4 += (uint)1; zz[0] = num7; } } // Token: 0x06009EC1 RID: 40641 RVA: 0x00217DD0 File Offset: 0x00215FD0 [Token(Token = "0x6009EC1")] [Address(RVA = "0x1F7C3C0", Offset = "0x1F7B1C0", VA = "0x181F7C3C0")] public static void Mul(int len, uint[] x, int xOff, uint[] y, int yOff, uint[] zz, int zzOff) { uint num; if (len > (int)num) { int num2 = xOff + 1; int num3 = 0; uint num4 = x[len]; num3 += 0; uint num6; uint num5 = num6 * num4; num3 += (int)num5; num += (uint)1; num2++; } } // Token: 0x06009EC2 RID: 40642 RVA: 0x00217E14 File Offset: 0x00216014 [Token(Token = "0x6009EC2")] [Address(RVA = "0x1F7C1E0", Offset = "0x1F7AFE0", VA = "0x181F7C1E0")] public static void Mul(uint[] x, int xOff, int xLen, uint[] y, int yOff, int yLen, uint[] zz, int zzOff) { int num = xOff + 1; int num2 = 0; uint num3 = x[num]; num2 += 0; uint num5; uint num4 = num5 * num3; num2 += (int)num4; uint num6; num6 += (uint)1; num++; } // Token: 0x06009EC3 RID: 40643 RVA: 0x00217E50 File Offset: 0x00216050 [Token(Token = "0x6009EC3")] [Address(RVA = "0x1F7BDF0", Offset = "0x1F7ABF0", VA = "0x181F7BDF0")] public static uint MulAddTo(int len, uint[] x, uint[] y, uint[] zz) { int num = 0; if (len > 0) { int num2 = 0; uint num3 = x[num]; num3 = Nat.MulWordAddTo(len, num3, y, num2, zz, num); num++; uint num4; num4 += num3; num += (int)num4; zz[0] = (uint)num; } throw new NullReferenceException(); } // Token: 0x06009EC4 RID: 40644 RVA: 0x00217E94 File Offset: 0x00216094 [Token(Token = "0x6009EC4")] [Address(RVA = "0x1F7BCD0", Offset = "0x1F7AAD0", VA = "0x181F7BCD0")] public static uint MulAddTo(int len, uint[] x, int xOff, uint[] y, int yOff, uint[] zz, int zzOff) { int num = 0; if (len > 0) { uint num2 = x[xOff]; uint num3; num2 = num3; num3 += num2; num += (int)num3; } throw new NullReferenceException(); } // Token: 0x06009EC5 RID: 40645 RVA: 0x00217EC0 File Offset: 0x002160C0 [Token(Token = "0x6009EC5")] [Address(RVA = "0x1F7BBE0", Offset = "0x1F7A9E0", VA = "0x181F7BBE0")] public static uint Mul31BothAdd(int len, uint a, uint[] x, uint b, uint[] y, uint[] z, int zOff) { int num = 0; uint num2 = x[num]; int num3 = num * (int)b; uint num4 = num2 * a; num4 += (uint)num3; num += num3; num += (int)num4; throw new NullReferenceException(); } // Token: 0x06009EC6 RID: 40646 RVA: 0x00217EF0 File Offset: 0x002160F0 [Token(Token = "0x6009EC6")] [Address(RVA = "0x1F7C0B0", Offset = "0x1F7AEB0", VA = "0x181F7C0B0")] public static uint MulWord(int len, uint x, uint[] y, uint[] z) { int num = 0; uint num2 = y[num] * x; num += (int)num2; z[0] = (uint)num; throw new NullReferenceException(); } // Token: 0x06009EC7 RID: 40647 RVA: 0x00217F1C File Offset: 0x0021611C [Token(Token = "0x6009EC7")] [Address(RVA = "0x1F7C130", Offset = "0x1F7AF30", VA = "0x181F7C130")] public static uint MulWord(int len, uint x, uint[] y, int yOff, uint[] z, int zOff) { int num = 0; uint num3; uint num2 = num3 * x; num += (int)num2; throw new NullReferenceException(); } // Token: 0x06009EC8 RID: 40648 RVA: 0x00217F38 File Offset: 0x00216138 [Token(Token = "0x6009EC8")] [Address(RVA = "0x1F7BED0", Offset = "0x1F7ACD0", VA = "0x181F7BED0")] public static uint MulWordAddTo(int len, uint x, uint[] y, int yOff, uint[] z, int zOff) { int num = 0; num += 0; uint num3; uint num2 = num3 * x; num += (int)num2; throw new NullReferenceException(); } // Token: 0x06009EC9 RID: 40649 RVA: 0x00217F58 File Offset: 0x00216158 [Token(Token = "0x6009EC9")] [Address(RVA = "0x1F7BF90", Offset = "0x1F7AD90", VA = "0x181F7BF90")] public static uint MulWordDwordAddAt(int len, uint x, ulong y, uint[] z, int zPos) { ulong num = y * (ulong)x; uint num2; num += (ulong)num2; z[0] = (uint)num; uint num3 = z[(int)num2]; ulong num4 = y * (ulong)x; num3 = (uint)((ulong)num3 + num4); num3 = (uint)((ulong)num3 + num); z[0] = num3; uint num5; num5 += num3; z[0] = num5; ulong num6; if (num6 == (ulong)num5) { } if (num5 < (uint)len) { while (num5 != (uint)z.Length) { } num5 += (uint)1; } uint num7; return num7; } // Token: 0x06009ECA RID: 40650 RVA: 0x00217FC8 File Offset: 0x002161C8 [Token(Token = "0x6009ECA")] [Address(RVA = "0x1F7C820", Offset = "0x1F7B620", VA = "0x181F7C820")] public static uint ShiftDownBit(int len, uint[] z, uint c) { int num = len - 1; uint num2 = z[num]; z[0] = num2; return c; } // Token: 0x06009ECB RID: 40651 RVA: 0x00217FF0 File Offset: 0x002161F0 [Token(Token = "0x6009ECB")] [Address(RVA = "0x1F7C710", Offset = "0x1F7B510", VA = "0x181F7C710")] public static uint ShiftDownBit(int len, uint[] z, int zOff, uint c) { int num = len - 1; uint num2 = z[zOff]; z[0] = num2; return c; } // Token: 0x06009ECC RID: 40652 RVA: 0x0021801C File Offset: 0x0021621C [Token(Token = "0x6009ECC")] [Address(RVA = "0x1F7C880", Offset = "0x1F7B680", VA = "0x181F7C880")] public static uint ShiftDownBit(int len, uint[] x, uint c, uint[] z) { int num = len - 1; uint num2 = x[num]; z[0] = num2; return c; } // Token: 0x06009ECD RID: 40653 RVA: 0x00218044 File Offset: 0x00216244 [Token(Token = "0x6009ECD")] [Address(RVA = "0x1F7C780", Offset = "0x1F7B580", VA = "0x181F7C780")] public static uint ShiftDownBit(int len, uint[] x, int xOff, uint c, uint[] z, int zOff) { int num = len - 1; return c; } // Token: 0x06009ECE RID: 40654 RVA: 0x0021805C File Offset: 0x0021625C [Token(Token = "0x6009ECE")] [Address(RVA = "0x1F7C9B0", Offset = "0x1F7B7B0", VA = "0x181F7C9B0")] public static uint ShiftDownBits(int len, uint[] z, int bits, uint c) { int num = len - 1; uint num2 = z[num]; z[0] = num2; return c; } // Token: 0x06009ECF RID: 40655 RVA: 0x00218088 File Offset: 0x00216288 [Token(Token = "0x6009ECF")] [Address(RVA = "0x1F7C900", Offset = "0x1F7B700", VA = "0x181F7C900")] public static uint ShiftDownBits(int len, uint[] z, int zOff, int bits, uint c) { int num = len - 1; uint num2 = z[zOff]; z[0] = num2; return num2; } // Token: 0x06009ED0 RID: 40656 RVA: 0x002180B0 File Offset: 0x002162B0 [Token(Token = "0x6009ED0")] [Address(RVA = "0x1F7CA50", Offset = "0x1F7B850", VA = "0x181F7CA50")] public static uint ShiftDownBits(int len, uint[] x, int bits, uint c, uint[] z) { int num = len - 1; return c; } // Token: 0x06009ED1 RID: 40657 RVA: 0x002180C8 File Offset: 0x002162C8 [Token(Token = "0x6009ED1")] [Address(RVA = "0x1F7CB10", Offset = "0x1F7B910", VA = "0x181F7CB10")] public static uint ShiftDownBits(int len, uint[] x, int xOff, int bits, uint c, uint[] z, int zOff) { int num = len - 1; uint num2; return num2; } // Token: 0x06009ED2 RID: 40658 RVA: 0x002180E0 File Offset: 0x002162E0 [Token(Token = "0x6009ED2")] [Address(RVA = "0x1F7CBF0", Offset = "0x1F7B9F0", VA = "0x181F7CBF0")] public static uint ShiftDownWord(int len, uint[] z, uint c) { int num = len - 1; z[0] = c; return c; } // Token: 0x06009ED3 RID: 40659 RVA: 0x00218100 File Offset: 0x00216300 [Token(Token = "0x6009ED3")] [Address(RVA = "0x1F7CCE0", Offset = "0x1F7BAE0", VA = "0x181F7CCE0")] public static uint ShiftUpBit(int len, uint[] z, uint c) { int num = 0; if (len > 0) { num++; z[0] = c; } return c; } // Token: 0x06009ED4 RID: 40660 RVA: 0x00218128 File Offset: 0x00216328 [Token(Token = "0x6009ED4")] [Address(RVA = "0x1F7CD40", Offset = "0x1F7BB40", VA = "0x181F7CD40")] public static uint ShiftUpBit(int len, uint[] z, int zOff, uint c) { if (len > 0) { z[0] = c; } return c; } // Token: 0x06009ED5 RID: 40661 RVA: 0x00218148 File Offset: 0x00216348 [Token(Token = "0x6009ED5")] [Address(RVA = "0x1F7CDB0", Offset = "0x1F7BBB0", VA = "0x181F7CDB0")] public static uint ShiftUpBit(int len, uint[] x, uint c, uint[] z) { int num = 0; if (len > 0) { num++; z[0] = c; } return c; } // Token: 0x06009ED6 RID: 40662 RVA: 0x00218170 File Offset: 0x00216370 [Token(Token = "0x6009ED6")] [Address(RVA = "0x1F7CE30", Offset = "0x1F7BC30", VA = "0x181F7CE30")] public static uint ShiftUpBit(int len, uint[] x, int xOff, uint c, uint[] z, int zOff) { if (len > 0) { } return c; } // Token: 0x06009ED7 RID: 40663 RVA: 0x00218188 File Offset: 0x00216388 [Token(Token = "0x6009ED7")] [Address(RVA = "0x1F7CC40", Offset = "0x1F7BA40", VA = "0x181F7CC40")] public static ulong ShiftUpBit64(int len, ulong[] x, int xOff, ulong c, ulong[] z, int zOff) { if (len > 0) { } return c; } // Token: 0x06009ED8 RID: 40664 RVA: 0x002181A0 File Offset: 0x002163A0 [Token(Token = "0x6009ED8")] [Address(RVA = "0x1F7D300", Offset = "0x1F7C100", VA = "0x181F7D300")] public static uint ShiftUpBits(int len, uint[] z, int bits, uint c) { int num = 0; if (len > 0) { num++; z[0] = c; } return c; } // Token: 0x06009ED9 RID: 40665 RVA: 0x002181C8 File Offset: 0x002163C8 [Token(Token = "0x6009ED9")] [Address(RVA = "0x1F7D240", Offset = "0x1F7C040", VA = "0x181F7D240")] public static uint ShiftUpBits(int len, uint[] z, int zOff, int bits, uint c) { while (len <= 0) { } return z[bits]; } // Token: 0x06009EDA RID: 40666 RVA: 0x002181E8 File Offset: 0x002163E8 [Token(Token = "0x6009EDA")] [Address(RVA = "0x1F7CFC0", Offset = "0x1F7BDC0", VA = "0x181F7CFC0")] public static ulong ShiftUpBits64(int len, ulong[] z, int zOff, int bits, ulong c) { while (len <= 0) { } return z[bits]; } // Token: 0x06009EDB RID: 40667 RVA: 0x00218208 File Offset: 0x00216408 [Token(Token = "0x6009EDB")] [Address(RVA = "0x1F7D170", Offset = "0x1F7BF70", VA = "0x181F7D170")] public static uint ShiftUpBits(int len, uint[] x, int bits, uint c, uint[] z) { int num = 0; if (len > 0) { num++; } return c; } // Token: 0x06009EDC RID: 40668 RVA: 0x00218228 File Offset: 0x00216428 [Token(Token = "0x6009EDC")] [Address(RVA = "0x1F7D080", Offset = "0x1F7BE80", VA = "0x181F7D080")] public static uint ShiftUpBits(int len, uint[] x, int xOff, int bits, uint c, uint[] z, int zOff) { if (len > 0) { } uint num; return num; } // Token: 0x06009EDD RID: 40669 RVA: 0x00218240 File Offset: 0x00216440 [Token(Token = "0x6009EDD")] [Address(RVA = "0x1F7CED0", Offset = "0x1F7BCD0", VA = "0x181F7CED0")] public static ulong ShiftUpBits64(int len, ulong[] x, int xOff, int bits, ulong c, ulong[] z, int zOff) { if (len > 0) { } ulong num; return num; } // Token: 0x06009EDE RID: 40670 RVA: 0x00218258 File Offset: 0x00216458 [Token(Token = "0x6009EDE")] [Address(RVA = "0x1F7D540", Offset = "0x1F7C340", VA = "0x181F7D540")] public static void Square(int len, uint[] x, uint[] zz) { int num = 0; uint num2 = x[len]; uint num3 = num2 * num2; zz[0] = num3; zz[0] = num3; uint num4; if (len > (int)num4) { uint num5 = x[(int)num4]; uint num6 = x[num]; uint num7; num += (int)num7; uint num8 = num6 * num5; num += (int)num8; zz[0] = (uint)num; uint num9 = zz[(int)num8]; num9 += (uint)num; zz[0] = num9; ulong num10; if (num10 != (ulong)num9) { uint num11 = num8 + 1U; if (num11 == (uint)zz.Length) { num11 += (uint)1; } } num4 += (uint)1; } uint num12 = x[0]; num++; zz[0] = num12; } // Token: 0x06009EDF RID: 40671 RVA: 0x00218310 File Offset: 0x00216510 [Token(Token = "0x6009EDF")] [Address(RVA = "0x1F7D7B0", Offset = "0x1F7C5B0", VA = "0x181F7D7B0")] public static void Square(int len, uint[] x, int xOff, uint[] zz, int zzOff) { int num = xOff - 1; uint num3; uint num2 = num3 * num3; zz[0] = num2; zz[0] = num2; uint num4; if (len > (int)num4) { int num5 = 0; uint num6 = x[(int)num2]; num2 += (uint)1; uint num7 = zz[(int)num2]; num5 += (int)num7; uint num9; uint num8 = num9 * num6; num5 += (int)num8; zz[0] = (uint)num5; uint num10; num10 += (uint)num5; zz[0] = num10; ulong num11; if (num11 != (ulong)num10) { num2 += (uint)1; if (num11 == (ulong)zz.Length) { num2 += (uint)1; num11 += (ulong)1L; } } num4 += (uint)1; } uint num12 = x[xOff]; zz[0] = num12; } // Token: 0x06009EE0 RID: 40672 RVA: 0x002183C0 File Offset: 0x002165C0 [Token(Token = "0x6009EE0")] [Address(RVA = "0x1F7D3A0", Offset = "0x1F7C1A0", VA = "0x181F7D3A0")] public static uint SquareWordAdd(uint[] x, int xPos, uint[] z) { int num = 0; uint num2 = x[xPos]; uint num3 = x[num]; uint num4; num += (int)num4; uint num5 = num3 * num2; num += (int)num5; z[0] = (uint)num; throw new NullReferenceException(); } // Token: 0x06009EE1 RID: 40673 RVA: 0x002183FC File Offset: 0x002165FC [Token(Token = "0x6009EE1")] [Address(RVA = "0x1F7D460", Offset = "0x1F7C260", VA = "0x181F7D460")] public static uint SquareWordAdd(uint[] x, int xOff, int xPos, uint[] z, int zOff) { int num = 0; uint num2; num += (int)num2; uint num4; uint num5; uint num3 = num4 * num5; num += (int)num3; z[0] = (uint)num; throw new NullReferenceException(); } // Token: 0x06009EE2 RID: 40674 RVA: 0x00218428 File Offset: 0x00216628 [Token(Token = "0x6009EE2")] [Address(RVA = "0x1F7E6B0", Offset = "0x1F7D4B0", VA = "0x181F7E6B0")] public static int Sub(int len, uint[] x, uint[] y, uint[] z) { int num = 0; if (len > 0) { uint num2 = x[num]; num++; uint num3 = y[num]; num2 -= num3; num += (int)num2; z[0] = (uint)num; } return num; } // Token: 0x06009EE3 RID: 40675 RVA: 0x00218468 File Offset: 0x00216668 [Token(Token = "0x6009EE3")] [Address(RVA = "0x1F7E760", Offset = "0x1F7D560", VA = "0x181F7E760")] public static int Sub(int len, uint[] x, int xOff, uint[] y, int yOff, uint[] z, int zOff) { int num = 0; if (len > 0) { uint num2 = x[len]; uint num3; num2 -= num3; num += (int)num2; } return num; } // Token: 0x06009EE4 RID: 40676 RVA: 0x00218494 File Offset: 0x00216694 [Token(Token = "0x6009EE4")] [Address(RVA = "0x1F7DA50", Offset = "0x1F7C850", VA = "0x181F7DA50")] public static int Sub33At(int len, uint x, uint[] z, int zPos) { uint num = z[zPos]; num -= x; z[0] = num; uint num2 = z[zPos]; num += num2; z[0] = num; ulong num3; if (num3 == (ulong)num) { return 0; } if (num3 < (ulong)len) { uint num4 = z[(int)num3]; z[0] = num4; while (num4 != (uint)(-1)) { } num3 += (ulong)1L; } throw new NullReferenceException(); } // Token: 0x06009EE5 RID: 40677 RVA: 0x002184F4 File Offset: 0x002166F4 [Token(Token = "0x6009EE5")] [Address(RVA = "0x1F7DB20", Offset = "0x1F7C920", VA = "0x181F7DB20")] public static int Sub33At(int len, uint x, uint[] z, int zOff, int zPos) { uint num; num -= x; z[0] = num; uint num2; num += num2; z[0] = num; ulong num3; if (num3 == (ulong)num) { return 0; } uint num4 = z[(int)num]; z[0] = num4; while (num4 != (uint)(-1)) { } num += (uint)1; throw new NullReferenceException(); } // Token: 0x06009EE6 RID: 40678 RVA: 0x00218540 File Offset: 0x00216740 [Token(Token = "0x6009EE6")] [Address(RVA = "0x1F7DCE0", Offset = "0x1F7CAE0", VA = "0x181F7DCE0")] public static int Sub33From(int len, uint x, uint[] z) { uint num = z[0]; num -= x; z[0] = num; uint num2 = z[0]; num += num2; z[0] = num; ulong num3; if (num3 == (ulong)num) { return 0; } uint num4; if (len > (int)num4) { uint num5 = z[(int)num4]; z[0] = num5; while (num5 != (uint)(-1)) { } num4 += (uint)1; } throw new NullReferenceException(); } // Token: 0x06009EE7 RID: 40679 RVA: 0x002185A4 File Offset: 0x002167A4 [Token(Token = "0x6009EE7")] [Address(RVA = "0x1F7DC00", Offset = "0x1F7CA00", VA = "0x181F7DC00")] public static int Sub33From(int len, uint x, uint[] z, int zOff) { uint num = z[zOff]; num -= x; z[0] = num; uint num2 = z[zOff]; num += num2; z[0] = num; ulong num3; if (num3 == (ulong)num) { return 0; } if (len > 2) { uint num4 = z[(int)num3]; z[0] = num4; while (num4 != (uint)(-1)) { } num3 += (ulong)1L; num3 -= (ulong)zOff; } throw new NullReferenceException(); } // Token: 0x06009EE8 RID: 40680 RVA: 0x00218608 File Offset: 0x00216808 [Token(Token = "0x6009EE8")] [Address(RVA = "0x1F7DDB0", Offset = "0x1F7CBB0", VA = "0x181F7DDB0")] public static int SubBothFrom(int len, uint[] x, uint[] y, uint[] z) { int num = 0; if (len > 0) { uint num2 = x[num]; num++; uint num3 = z[num]; num3 -= num2; uint num4 = y[num]; num3 -= num4; num += (int)num3; z[0] = (uint)num; } return num; } // Token: 0x06009EE9 RID: 40681 RVA: 0x00218654 File Offset: 0x00216854 [Token(Token = "0x6009EE9")] [Address(RVA = "0x1F7DE60", Offset = "0x1F7CC60", VA = "0x181F7DE60")] public static int SubBothFrom(int len, uint[] x, int xOff, uint[] y, int yOff, uint[] z, int zOff) { int num = 0; if (len > 0) { uint num2 = y[len]; uint num3 = x[len]; num += xOff; } return num; } // Token: 0x06009EEA RID: 40682 RVA: 0x00218684 File Offset: 0x00216884 [Token(Token = "0x6009EEA")] [Address(RVA = "0x1F7E060", Offset = "0x1F7CE60", VA = "0x181F7E060")] public static int SubDWordAt(int len, ulong x, uint[] z, int zPos) { uint num = z[zPos]; num = (uint)((ulong)num - x); z[0] = num; uint num2 = z[zPos]; num2 = (uint)((ulong)num2 - x); num2 += num; z[0] = num2; ulong num3; if (num3 == (ulong)num2) { return 0; } if (num2 < (uint)len) { uint num4 = z[(int)num2]; z[0] = num4; while (num4 != (uint)(-1)) { } num2 += (uint)1; } throw new NullReferenceException(); } // Token: 0x06009EEB RID: 40683 RVA: 0x002186E8 File Offset: 0x002168E8 [Token(Token = "0x6009EEB")] [Address(RVA = "0x1F7DF60", Offset = "0x1F7CD60", VA = "0x181F7DF60")] public static int SubDWordAt(int len, ulong x, uint[] z, int zOff, int zPos) { uint num = (uint)((ulong)num - x); z[0] = num; uint num2 = (uint)((ulong)num2 - x); num2 += num; z[0] = num2; ulong num3; if (num3 == (ulong)num2) { return 0; } uint num4 = z[(int)num2]; z[0] = num4; while (num4 != (uint)(-1)) { } num2 += (uint)1; throw new NullReferenceException(); } // Token: 0x06009EEC RID: 40684 RVA: 0x00218738 File Offset: 0x00216938 [Token(Token = "0x6009EEC")] [Address(RVA = "0x1F7E220", Offset = "0x1F7D020", VA = "0x181F7E220")] public static int SubDWordFrom(int len, ulong x, uint[] z) { uint num = z[0]; num = (uint)((ulong)num - x); z[0] = num; uint num2 = z[0]; num = (uint)((ulong)num - x); num += num2; z[0] = num; ulong num3; if (num3 == (ulong)num) { return 0; } uint num4; if (len > (int)num4) { uint num5 = z[(int)num4]; z[0] = num5; while (num5 != (uint)(-1)) { } num4 += (uint)1; } throw new NullReferenceException(); } // Token: 0x06009EED RID: 40685 RVA: 0x002187A0 File Offset: 0x002169A0 [Token(Token = "0x6009EED")] [Address(RVA = "0x1F7E140", Offset = "0x1F7CF40", VA = "0x181F7E140")] public static int SubDWordFrom(int len, ulong x, uint[] z, int zOff) { uint num = z[zOff]; num = (uint)((ulong)num - x); z[0] = num; uint num2 = z[zOff]; num2 = (uint)((ulong)num2 - x); num2 += num; z[0] = num2; ulong num3; if (num3 == (ulong)num2) { return 0; } if (len > 2) { uint num4 = z[(int)num2]; z[0] = num4; while (num4 != (uint)(-1)) { } num2 += (uint)1; num4 = num2; num4 -= (uint)zOff; } throw new NullReferenceException(); } // Token: 0x06009EEE RID: 40686 RVA: 0x00218808 File Offset: 0x00216A08 [Token(Token = "0x6009EEE")] [Address(RVA = "0x1F7E2F0", Offset = "0x1F7D0F0", VA = "0x181F7E2F0")] public static int SubFrom(int len, uint[] x, uint[] z) { int num = 0; if (len > 0) { uint num2 = x[num]; num++; uint num3 = z[num]; num3 -= num2; num += (int)num3; z[0] = (uint)num; } return num; } // Token: 0x06009EEF RID: 40687 RVA: 0x00218848 File Offset: 0x00216A48 [Token(Token = "0x6009EEF")] [Address(RVA = "0x1F7E370", Offset = "0x1F7D170", VA = "0x181F7E370")] public static int SubFrom(int len, uint[] x, int xOff, uint[] z, int zOff) { int num = 0; if (len > 0) { uint num2 = x[len]; uint num3 = z[xOff]; num3 -= num2; num += (int)num3; z[0] = (uint)num; } return num; } // Token: 0x06009EF0 RID: 40688 RVA: 0x00218884 File Offset: 0x00216A84 [Token(Token = "0x6009EF0")] [Address(RVA = "0x1F7E4D0", Offset = "0x1F7D2D0", VA = "0x181F7E4D0")] public static int SubWordAt(int len, uint x, uint[] z, int zPos) { uint num = z[zPos]; num -= x; z[0] = num; ulong num2; if (num2 == (ulong)num) { return 0; } int num3 = zPos + 1; if (num3 < len) { uint num4 = z[num3]; z[0] = num4; while (num4 != (uint)(-1)) { } num3++; } throw new NullReferenceException(); } // Token: 0x06009EF1 RID: 40689 RVA: 0x002188D4 File Offset: 0x00216AD4 [Token(Token = "0x6009EF1")] [Address(RVA = "0x1F7E420", Offset = "0x1F7D220", VA = "0x181F7E420")] public static int SubWordAt(int len, uint x, uint[] z, int zOff, int zPos) { uint num; num -= x; z[0] = num; ulong num2; if (num2 == (ulong)num) { return 0; } uint num3 = z[(int)num2]; z[0] = num3; while (num3 != (uint)(-1)) { } num2 += (ulong)1L; throw new NullReferenceException(); } // Token: 0x06009EF2 RID: 40690 RVA: 0x00218914 File Offset: 0x00216B14 [Token(Token = "0x6009EF2")] [Address(RVA = "0x1F7E570", Offset = "0x1F7D370", VA = "0x181F7E570")] public static int SubWordFrom(int len, uint x, uint[] z) { uint num = z[0]; num -= x; z[0] = num; ulong num2; if (num2 == (ulong)num) { return 0; } uint num3; if (len > (int)num3) { uint num4 = z[(int)num3]; z[0] = num4; while (num4 != (uint)(-1)) { } num3 += (uint)1; } throw new NullReferenceException(); } // Token: 0x06009EF3 RID: 40691 RVA: 0x00218960 File Offset: 0x00216B60 [Token(Token = "0x6009EF3")] [Address(RVA = "0x1F7E610", Offset = "0x1F7D410", VA = "0x181F7E610")] public static int SubWordFrom(int len, uint x, uint[] z, int zOff) { uint num = z[zOff]; num -= x; z[0] = num; ulong num2; if (num2 == (ulong)num) { return 0; } if (len > 1) { int num3 = zOff + 1; uint num4 = z[num3]; z[0] = num4; while (num4 != (uint)(-1)) { } num3++; num3 -= zOff; } throw new NullReferenceException(); } // Token: 0x06009EF4 RID: 40692 RVA: 0x002189B4 File Offset: 0x00216BB4 [Token(Token = "0x6009EF4")] [Address(RVA = "0x1F7E850", Offset = "0x1F7D650", VA = "0x181F7E850")] public static BigInteger ToBigInteger(int len, uint[] x) { byte[] array = new byte[x]; int num = 0; if (len > 0) { if (x[num] != (uint)0) { } num++; } return new BigInteger(1, array); } // Token: 0x06009EF5 RID: 40693 RVA: 0x002189EC File Offset: 0x00216BEC [Token(Token = "0x6009EF5")] [Address(RVA = "0x1F7E940", Offset = "0x1F7D740", VA = "0x181F7E940")] public static void Zero(int len, uint[] z) { int num = 0; if (len > 0) { num++; z[0] = (uint)num; } } // Token: 0x06009EF6 RID: 40694 RVA: 0x00218A14 File Offset: 0x00216C14 [Token(Token = "0x6009EF6")] [Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")] protected Nat() { } // Token: 0x04006A54 RID: 27220 [Token(Token = "0x4006A54")] private const ulong M = 4294967295UL; } }