using System; using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw { // Token: 0x020019DD RID: 6621 [Token(Token = "0x20019DD")] internal abstract class Nat192 { // Token: 0x06009F4C RID: 40780 RVA: 0x0021B7C8 File Offset: 0x002199C8 [Token(Token = "0x6009F4C")] [Address(RVA = "0x1F761F0", Offset = "0x1F74FF0", VA = "0x181F761F0")] public static uint Add(uint[] x, uint[] y, uint[] z) { uint num = y[0]; uint num2 = x[0]; num += num2; z[0] = num; uint num3 = y[0]; uint num4 = x[0]; num3 += num; num3 += num4; z[0] = num3; uint num5 = y[1]; uint num6 = x[1]; num5 += num3; num5 += num6; z[1] = num5; uint num7 = y[1]; uint num8 = x[1]; num7 += num5; num7 += num8; z[1] = num7; uint num9 = y[2]; uint num10 = x[2]; num9 += num7; num9 += num10; z[2] = num9; uint num11 = x[2]; uint num12 = y[2]; num12 += num9; num12 += num11; z[2] = num12; return num12; } // Token: 0x06009F4D RID: 40781 RVA: 0x0021B8C0 File Offset: 0x00219AC0 [Token(Token = "0x6009F4D")] [Address(RVA = "0x1F75840", Offset = "0x1F74640", VA = "0x181F75840")] public static uint AddBothTo(uint[] x, uint[] y, uint[] z) { uint num = y[0]; uint num2 = z[0]; num2 += num; uint num3 = x[0]; num2 += num3; z[0] = num2; uint num4 = z[0]; num2 += num4; uint num5 = y[0]; num2 += num5; uint num6 = x[0]; num2 += num6; z[0] = num2; uint num7 = z[1]; num2 += num7; uint num8 = y[1]; num2 += num8; uint num9 = x[1]; num2 += num9; z[1] = num2; uint num10 = z[1]; num2 += num10; uint num11 = y[1]; num2 += num11; uint num12 = x[1]; num2 += num12; z[1] = num2; uint num13 = z[2]; num2 += num13; uint num14 = y[2]; num2 += num14; uint num15 = x[2]; num2 += num15; z[2] = num2; uint num16 = x[2]; uint num17 = y[2]; uint num18 = z[2]; num2 += num17; num2 += num16; num2 += num18; z[2] = num2; return num2; } // Token: 0x06009F4E RID: 40782 RVA: 0x0021B9F8 File Offset: 0x00219BF8 [Token(Token = "0x6009F4E")] [Address(RVA = "0x1F75DE0", Offset = "0x1F74BE0", VA = "0x181F75DE0")] public static uint AddTo(uint[] x, uint[] z) { uint num = z[0]; uint num2 = x[0]; num += num2; z[0] = num; uint num3 = z[0]; num += num3; uint num4 = x[0]; num += num4; z[0] = num; uint num5 = x[1]; num += num5; uint num6 = z[1]; num += num6; z[1] = num; uint num7 = z[1]; num += num7; uint num8 = x[1]; num += num8; z[1] = num; uint num9 = z[2]; num += num9; uint num10 = x[2]; num += num10; z[2] = num; uint num11 = x[2]; uint num12 = z[2]; num += num12; num += num11; z[2] = num; return num; } // Token: 0x06009F4F RID: 40783 RVA: 0x0021BADC File Offset: 0x00219CDC [Token(Token = "0x6009F4F")] [Address(RVA = "0x1F75FC0", Offset = "0x1F74DC0", VA = "0x181F75FC0")] public static uint AddTo(uint[] x, int xOff, uint[] z, int zOff, uint cIn) { uint num = x[xOff]; uint num2 = z[xOff]; num += num2; int num3 = xOff + 1; z[0] = num; uint num4 = x[num3]; int num5 = xOff + 1; uint num6 = z[num5]; num6 += num; num6 += num4; z[0] = num6; uint num7 = x[(int)num4]; uint num8 = z[num5]; num8 += num6; num8 += num7; z[0] = num8; uint num9 = x[(int)num7]; uint num10 = z[num5]; num10 += num8; num10 += num9; z[0] = num10; uint num11 = x[(int)num9]; uint num12 = z[num5]; num12 += num10; num12 += num11; z[0] = num12; uint num13 = x[xOff]; uint num14 = z[xOff]; num14 += num12; num14 += num13; z[0] = num14; return num14; } // Token: 0x06009F50 RID: 40784 RVA: 0x0021BBE8 File Offset: 0x00219DE8 [Token(Token = "0x6009F50")] [Address(RVA = "0x1F75B00", Offset = "0x1F74900", VA = "0x181F75B00")] public static uint AddToEachOther(uint[] u, int uOff, uint[] v, int vOff) { uint num = v[vOff]; uint num2 = u[uOff]; num += num2; u[0] = num; int num3 = uOff + 1; v[0] = num; int num4 = vOff + 1; uint num5 = v[num4]; uint num6 = u[num3]; num5 += num; num5 += num6; u[0] = num5; v[0] = num5; uint num7 = v[num4]; uint num8 = u[num3]; num7 += num5; num7 += num8; u[0] = num7; v[0] = num7; uint num9 = v[(int)num5]; uint num10 = u[num3]; num9 += num7; num9 += num10; u[0] = num9; v[0] = num9; uint num11 = v[(int)num7]; uint num12 = u[num3]; num11 += num9; num11 += num12; u[0] = num11; v[0] = num11; uint num13 = v[uOff]; uint num14 = u[(int)num9]; num13 += num11; num13 += num14; u[0] = num13; v[0] = num13; return num13; } // Token: 0x06009F51 RID: 40785 RVA: 0x0021BD2C File Offset: 0x00219F2C [Token(Token = "0x6009F51")] [Address(RVA = "0x1F76600", Offset = "0x1F75400", VA = "0x181F76600")] public static void Copy(uint[] x, uint[] z) { uint num = x[0]; z[0] = num; uint num2 = x[0]; z[0] = num2; uint num3 = x[1]; z[1] = num3; uint num4 = x[1]; z[1] = num4; uint num5 = x[2]; z[2] = num5; uint num6 = x[2]; z[2] = num6; } // Token: 0x06009F52 RID: 40786 RVA: 0x0021BDA4 File Offset: 0x00219FA4 [Token(Token = "0x6009F52")] [Address(RVA = "0x1F76780", Offset = "0x1F75580", VA = "0x181F76780")] public static void Copy(uint[] x, int xOff, uint[] z, int zOff) { uint num = x[xOff]; int num2 = xOff + 1; z[0] = num; uint num3 = x[num2]; int num4 = xOff + 1; z[0] = num3; uint num5 = x[num4]; z[0] = num5; uint num6 = x[num4]; z[0] = num6; uint num7 = x[num4]; z[0] = num7; uint num8 = x[xOff]; z[0] = num8; } // Token: 0x06009F53 RID: 40787 RVA: 0x0021BE28 File Offset: 0x0021A028 [Token(Token = "0x6009F53")] [Address(RVA = "0x1F76540", Offset = "0x1F75340", VA = "0x181F76540")] public static void Copy64(ulong[] x, ulong[] z) { ulong num = x[0]; z[0] = num; ulong num2 = x[1]; z[1] = num2; ulong num3 = x[2]; z[2] = num3; } // Token: 0x06009F54 RID: 40788 RVA: 0x0021BE6C File Offset: 0x0021A06C [Token(Token = "0x6009F54")] [Address(RVA = "0x1F76470", Offset = "0x1F75270", VA = "0x181F76470")] public static void Copy64(ulong[] x, int xOff, ulong[] z, int zOff) { ulong num = x[xOff]; int num2 = xOff + 1; z[0] = num; ulong num3 = x[num2]; int num4 = xOff + 1; z[0] = num3; ulong num5 = x[num4]; z[0] = num5; } // Token: 0x06009F55 RID: 40789 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6009F55")] [Address(RVA = "0x1F76A00", Offset = "0x1F75800", VA = "0x181F76A00")] public static uint[] Create() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06009F56 RID: 40790 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6009F56")] [Address(RVA = "0x1F76940", Offset = "0x1F75740", VA = "0x181F76940")] public static ulong[] Create64() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06009F57 RID: 40791 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6009F57")] [Address(RVA = "0x1F769C0", Offset = "0x1F757C0", VA = "0x181F769C0")] public static uint[] CreateExt() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06009F58 RID: 40792 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6009F58")] [Address(RVA = "0x1F76980", Offset = "0x1F75780", VA = "0x181F76980")] public static ulong[] CreateExt64() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06009F59 RID: 40793 RVA: 0x0021BEBC File Offset: 0x0021A0BC [Token(Token = "0x6009F59")] [Address(RVA = "0x1F76A40", Offset = "0x1F75840", VA = "0x181F76A40")] public static bool Diff(uint[] x, int xOff, uint[] y, int yOff, uint[] z, int zOff) { uint num; if ("{il2cpp array field x->}" <= num) { } throw new NullReferenceException(); } // Token: 0x06009F5A RID: 40794 RVA: 0x0021BEDC File Offset: 0x0021A0DC [Token(Token = "0x6009F5A")] [Address(RVA = "0x1F76BB0", Offset = "0x1F759B0", VA = "0x181F76BB0")] public static bool Eq(uint[] x, uint[] y) { uint num2; uint num = y[(int)num2]; if ("{il2cpp array field x->}" == num) { } throw new NullReferenceException(); } // Token: 0x06009F5B RID: 40795 RVA: 0x0021BF00 File Offset: 0x0021A100 [Token(Token = "0x6009F5B")] [Address(RVA = "0x1F76B40", Offset = "0x1F75940", VA = "0x181F76B40")] public static bool Eq64(ulong[] x, ulong[] y) { uint num2; ulong num = y[(int)num2]; if ("{il2cpp array field x->}" == num) { } throw new NullReferenceException(); } // Token: 0x06009F5C RID: 40796 RVA: 0x0021BF24 File Offset: 0x0021A124 [Token(Token = "0x6009F5C")] [Address(RVA = "0x1F76D50", Offset = "0x1F75B50", VA = "0x181F76D50")] public static uint[] FromBigInteger(BigInteger x) { int bitLength = x.BitLength; uint[] array = new uint[6]; int num = 0; if (x.sign != 0) { num++; int intValue = x.IntValue; array[0] = (uint)intValue; BigInteger bigInteger = x.ShiftRight(32); } return array; } // Token: 0x06009F5D RID: 40797 RVA: 0x0021BF70 File Offset: 0x0021A170 [Token(Token = "0x6009F5D")] [Address(RVA = "0x1F76C20", Offset = "0x1F75A20", VA = "0x181F76C20")] public static ulong[] FromBigInteger64(BigInteger x) { int bitLength = x.BitLength; ulong[] array = new ulong[3]; int num = 0; if (x.sign != 0) { num++; long longValue = x.LongValue; array[0] = (ulong)longValue; BigInteger bigInteger = x.ShiftRight(64); } return array; } // Token: 0x06009F5E RID: 40798 RVA: 0x0021BFBC File Offset: 0x0021A1BC [Token(Token = "0x6009F5E")] [Address(RVA = "0x1F76E80", Offset = "0x1F75C80", VA = "0x181F76E80")] public static uint GetBit(uint[] x, int bit) { if (bit != 0) { if (bit <= 5) { return x[bit]; } } return x[0]; } // Token: 0x06009F5F RID: 40799 RVA: 0x0021BFE8 File Offset: 0x0021A1E8 [Token(Token = "0x6009F5F")] [Address(RVA = "0x1F76F00", Offset = "0x1F75D00", VA = "0x181F76F00")] public static bool Gte(uint[] x, uint[] y) { uint num2; uint num = y[(int)num2]; if (x[(int)num2] <= num) { } throw new NullReferenceException(); } // Token: 0x06009F60 RID: 40800 RVA: 0x0021C010 File Offset: 0x0021A210 [Token(Token = "0x6009F60")] [Address(RVA = "0x1F76F80", Offset = "0x1F75D80", VA = "0x181F76F80")] public static bool Gte(uint[] x, int xOff, uint[] y, int yOff) { uint num = y[x]; if ("{il2cpp array field x->}" <= num) { } throw new NullReferenceException(); } // Token: 0x06009F61 RID: 40801 RVA: 0x0021C034 File Offset: 0x0021A234 [Token(Token = "0x6009F61")] [Address(RVA = "0x1F77070", Offset = "0x1F75E70", VA = "0x181F77070")] public static bool IsOne(uint[] x) { int length = x.Length; if ("{il2cpp array field x->}" == (ulong)1L && "{il2cpp array field x->}" == (ulong)0L) { return true; } throw new NullReferenceException(); } // Token: 0x06009F62 RID: 40802 RVA: 0x0021C068 File Offset: 0x0021A268 [Token(Token = "0x6009F62")] [Address(RVA = "0x1F77000", Offset = "0x1F75E00", VA = "0x181F77000")] public static bool IsOne64(ulong[] x) { int length = x.Length; if ("{il2cpp array field x->}" == (ulong)1L && "{il2cpp array field x->}" == (ulong)0L) { return true; } throw new NullReferenceException(); } // Token: 0x06009F63 RID: 40803 RVA: 0x0021C09C File Offset: 0x0021A29C [Token(Token = "0x6009F63")] [Address(RVA = "0x1F77130", Offset = "0x1F75F30", VA = "0x181F77130")] public static bool IsZero(uint[] x) { int num = 0; if ("{il2cpp array field x->}" == (ulong)0L) { num++; return true; } throw new NullReferenceException(); } // Token: 0x06009F64 RID: 40804 RVA: 0x0021C0C4 File Offset: 0x0021A2C4 [Token(Token = "0x6009F64")] [Address(RVA = "0x1F770E0", Offset = "0x1F75EE0", VA = "0x181F770E0")] public static bool IsZero64(ulong[] x) { int num = 0; if ("{il2cpp array field x->}" == (ulong)0L) { num++; return true; } throw new NullReferenceException(); } // Token: 0x06009F65 RID: 40805 RVA: 0x0021C0EC File Offset: 0x0021A2EC [Token(Token = "0x6009F65")] [Address(RVA = "0x1F78110", Offset = "0x1F76F10", VA = "0x181F78110")] public static void Mul(uint[] x, uint[] y, uint[] zz) { int length = y.Length; uint num = y[0]; uint num2 = y[0]; uint num3 = y[1]; uint num4 = y[1]; uint num5 = y[2]; uint num6 = y[2]; uint num7 = x[0]; uint num8 = num7 * num; zz[0] = num8; uint num9 = num7 * num2; num9 += num8; zz[0] = num9; num8 = num7; uint num10 = num8 * num3; num10 += num9; zz[1] = num10; num9 = num7; uint num11 = num9 * num4; num11 += num10; zz[1] = num11; num10 = num7; uint num12 = num10 * num5; num12 += num11; uint num13 = num7 * num6; zz[2] = num12; num13 += num12; zz[2] = num13; zz[3] = num13; uint num15; uint num14 = x[(int)num15]; uint num16 = num15 + 1U; uint num17 = zz[(int)num15]; num12 = num14; uint num18 = num12 * num; num18 += num17; zz[0] = num18; uint num19 = zz[(int)num16]; num17 = num14; uint num20 = num17 * num2; num19 += num20; num19 += num18; zz[0] = num19; uint num21 = zz[(int)num16]; num20 = num14; uint num22 = num20 * num3; num21 += num22; num21 += num19; zz[0] = num21; uint num23 = zz[(int)num16]; num22 = num14; uint num24 = num22 * num4; num23 += num24; num23 += num21; zz[0] = num23; uint num25 = zz[(int)num16]; num24 = num14; uint num26 = num24 * num5; num25 += num26; num25 += num23; zz[0] = num25; uint num27 = zz[(int)num23]; num15 += (uint)6; uint num28 = num14 * num6; num27 += num28; num27 += num25; zz[0] = num27; num15 += (uint)1; zz[0] = num27; } // Token: 0x06009F66 RID: 40806 RVA: 0x0021C2F8 File Offset: 0x0021A4F8 [Token(Token = "0x6009F66")] [Address(RVA = "0x1F78500", Offset = "0x1F77300", VA = "0x181F78500")] public static void Mul(uint[] x, int xOff, uint[] y, int yOff, uint[] zz, int zzOff) { int length = y.Length; uint num = y[yOff]; int num2 = yOff + 1; uint num3 = y[num2]; uint num4 = y[num2]; uint num5 = y[num2]; uint num6 = y[num2]; uint num7 = y[yOff]; uint num8 = x[xOff]; uint num9 = num8 * num; uint num10 = num8 * num3; num10 += num9; num9 = num8; uint num11 = num9 * num4; num11 += num10; num10 = num8; uint num12 = num10 * num5; num12 += num11; num11 = num8; uint num13 = num11 * num6; num13 += num12; uint num14 = num8 * num7; num14 += num13; int num15 = xOff + 1; uint num16 = x[num15]; num12 = num16; uint num17 = num12 * num; num17 += (uint)num15; uint num18 = num16 * num3; num18 = num16; num17 += num18; num18 = num16; uint num19 = num18 * num6; num17 += num19; uint num20 = num16 * num7; num19 += num20; num19 += num17; num15++; num15 -= xOff; } // Token: 0x06009F67 RID: 40807 RVA: 0x0021C414 File Offset: 0x0021A614 [Token(Token = "0x6009F67")] [Address(RVA = "0x1F77A50", Offset = "0x1F76850", VA = "0x181F77A50")] public static uint MulAddTo(uint[] x, uint[] y, uint[] zz) { int length = y.Length; uint num = y[0]; uint num2 = y[0]; uint num3 = y[1]; uint num4 = y[1]; uint num5 = y[2]; uint num6 = y[2]; int num7 = 0; uint num8 = x[num7]; uint num9 = zz[num7]; uint num10 = num8 * num; num10 += num9; zz[0] = num10; num9 = num8; uint num11 = num9 * num2; uint num12; num12 += num11; num12 += num10; zz[0] = num12; num11 = num8; uint num13 = num11 * num3; uint num14; num14 += num13; num14 += num12; zz[0] = num14; num13 = num8; uint num15 = num13 * num4; uint num16; num16 += num15; num16 += num14; zz[0] = num16; num15 = num8; uint num17 = num15 * num5; uint num18; num18 += num17; num18 += num16; zz[0] = num18; num7 += 6; uint num19; num19 += num8; num19 += num18; zz[0] = num19; uint num20 = zz[num7]; num7++; num7 += (int)num20; num7 += (int)num19; zz[0] = (uint)num7; throw new NullReferenceException(); } // Token: 0x06009F68 RID: 40808 RVA: 0x0021C558 File Offset: 0x0021A758 [Token(Token = "0x6009F68")] [Address(RVA = "0x1F77740", Offset = "0x1F76540", VA = "0x181F77740")] public static uint MulAddTo(uint[] x, int xOff, uint[] y, int yOff, uint[] zz, int zzOff) { int length = y.Length; uint num = y[yOff]; int num2 = yOff + 1; uint num3 = y[num2]; uint num4 = y[(int)num3]; uint num5 = y[(int)num4]; uint num6 = y[(int)num4]; uint num7 = y[yOff]; int num8 = 0; uint num9 = x[(int)num7]; uint num10 = num9 * num; num10 += num7; num7 = num9; num10 += num7; num7 = num9; uint num11 = num7 * num5; num11 = num9; uint num12 = num11 * num6; num10 += num9; num8 += (int)num12; num8 += (int)num10; throw new NullReferenceException(); } // Token: 0x06009F69 RID: 40809 RVA: 0x0021C600 File Offset: 0x0021A800 [Token(Token = "0x6009F69")] [Address(RVA = "0x1F77180", Offset = "0x1F75F80", VA = "0x181F77180")] public static ulong Mul33Add(uint w, uint[] x, int xOff, uint[] y, int yOff, uint[] z, int zOff) { uint num = x[xOff]; uint num2 = num * w; uint num3; num3 += num2; int num4 = xOff + 1; uint num5 = x[num4]; uint num6 = y[num4]; uint num7 = w * w; num7 += num; num7 += num6; num3 += num7; uint num8 = x[(int)num6]; uint num9 = y[(int)num6]; num7 = num8; uint num10 = num7 * w; num10 += num5; num10 += num9; num3 += num10; uint num11 = x[(int)num9]; uint num12 = y[(int)num9]; num10 = num11; uint num13 = num10 * w; num13 += num8; num13 += num12; num3 += num13; uint num14 = x[(int)num12]; uint num15 = y[(int)num12]; num13 = num14; uint num16 = num13 * w; num16 += num11; num16 += num15; num3 += num16; uint num17 = num16 * w; num17 += num14; uint num18; num17 += num18; num3 += num17; throw new NullReferenceException(); } // Token: 0x06009F6A RID: 40810 RVA: 0x0021C6FC File Offset: 0x0021A8FC [Token(Token = "0x6009F6A")] [Address(RVA = "0x1F77D20", Offset = "0x1F76B20", VA = "0x181F77D20")] public static uint MulWordAddExt(uint x, uint[] yy, int yyOff, uint[] zz, int zzOff) { uint num = yy[yyOff] * x; uint num2; num += num2; int num3 = yyOff + 1; zz[0] = num; uint num4 = yy[num3] * x; uint num5; num5 += num4; num5 += num; zz[0] = num5; uint num6 = yy[(int)num4] * x; uint num7; num7 += num6; num7 += num5; zz[0] = num7; uint num8 = yy[(int)num6] * x; uint num9; num9 += num8; num9 += num7; zz[0] = num9; uint num10 = yy[(int)num8] * x; uint num11; num11 += num10; num11 += num9; zz[0] = num11; uint num12 = yy[yyOff]; uint num13 = zz[yy]; uint num14 = num12 * x; num13 += num14; num13 += num11; zz[0] = num13; return num13; } // Token: 0x06009F6B RID: 40811 RVA: 0x0021C7E0 File Offset: 0x0021A9E0 [Token(Token = "0x6009F6B")] [Address(RVA = "0x1F774D0", Offset = "0x1F762D0", VA = "0x181F774D0")] public static uint Mul33DWordAdd(uint x, ulong y, uint[] z, int zOff) { uint num = z[zOff]; ulong num2 = y * (ulong)x; int num3 = zOff + 1; num2 += (ulong)num; z[0] = (uint)num2; uint num4 = z[num3]; ulong num5 = y * (ulong)x; num5 += y; num5 += (ulong)num4; num2 += num5; z[0] = (uint)num2; uint num6 = z[(int)num5]; num6 = (uint)((ulong)num6 + y); num2 += (ulong)num6; z[0] = (uint)num2; uint num7 = z[zOff]; num7 = (uint)((ulong)num7 + num2); z[0] = num7; ulong num8; if (num8 != (ulong)num7 && num7 == (uint)z.Length) { num7 += (uint)1; num7 -= (uint)zOff; uint num9; return num9; } throw new NullReferenceException(); } // Token: 0x06009F6C RID: 40812 RVA: 0x0021C88C File Offset: 0x0021AA8C [Token(Token = "0x6009F6C")] [Address(RVA = "0x1F77640", Offset = "0x1F76440", VA = "0x181F77640")] public static uint Mul33WordAdd(uint x, uint y, uint[] z, int zOff) { uint num = z[zOff]; int num2 = zOff + 1; uint num3 = x * y; num3 += num; z[0] = num3; uint num4 = z[num2]; num4 += y; num3 += num4; z[0] = num3; uint num5 = z[zOff]; num5 += num3; z[0] = num5; ulong num6; if (num6 != (ulong)num5 && num5 == (uint)z.Length) { num5 += (uint)1; num5 -= (uint)zOff; uint num7; return num7; } throw new NullReferenceException(); } // Token: 0x06009F6D RID: 40813 RVA: 0x0021C910 File Offset: 0x0021AB10 [Token(Token = "0x6009F6D")] [Address(RVA = "0x1F77F70", Offset = "0x1F76D70", VA = "0x181F77F70")] public static uint MulWordDwordAdd(uint x, ulong y, uint[] z, int zOff) { uint num = z[zOff]; uint num2 = (uint)((ulong)x * y); num2 += num; int num3 = zOff + 1; z[0] = num2; uint num4 = z[num3]; ulong num5 = y * (ulong)x; num4 = (uint)((ulong)num4 + num5); num4 += num2; z[0] = num4; uint num6 = z[zOff]; num6 += num4; z[0] = num6; ulong num7; if (num7 != (ulong)num6 && num6 == (uint)z.Length) { num6 += (uint)1; num6 -= (uint)zOff; uint num8; return num8; } throw new NullReferenceException(); } // Token: 0x06009F6E RID: 40814 RVA: 0x0021C99C File Offset: 0x0021AB9C [Token(Token = "0x6009F6E")] [Address(RVA = "0x1F78080", Offset = "0x1F76E80", VA = "0x181F78080")] public static uint MulWord(uint x, uint[] y, uint[] z, int zOff) { int num = 0; uint num2 = y[num] * x; num += (int)num2; z[0] = (uint)num; throw new NullReferenceException(); } // Token: 0x06009F6F RID: 40815 RVA: 0x0021C9C8 File Offset: 0x0021ABC8 [Token(Token = "0x6009F6F")] [Address(RVA = "0x1F78950", Offset = "0x1F77750", VA = "0x181F78950")] public static void Square(uint[] x, uint[] zz) { uint num = x[0]; uint num3; uint num2 = x[(int)num3]; uint num4 = num2 * num2; zz[0] = num4; zz[0] = num4; num4 = num; uint num5 = num4 * num; zz[0] = num5; uint num6 = x[0]; uint num7 = zz[1]; num5 = num6; uint num8 = num5 * num; num4 += num8; zz[0] = num5; int length = zz.Length; uint num9 = x[1]; uint num10 = zz[1]; num5 = num9; uint num11 = zz[2]; num8 = num4; uint num12 = num5 * num; num12 += num8; num12 += num7; num4 = num9; uint num13 = num4 * num6; zz[1] = num8; num8 = num12; num13 += num8; num13 += num10; num7 = num13; num7 += num11; uint num14 = x[1]; uint num15 = zz[2]; num7 += num15; num10 = num14; num15 = num13; uint num16 = num10 * num; uint num17 = zz[3]; num16 += num15; zz[1] = num15; num12 = num14; uint num18 = num12 * num6; uint num19 = num14 * num9; num15 = num16; num18 += num15; num15 = num7; num18 += num15; num15 = num18; num19 += num15; num15 = num7; num19 += num15; num15 = num19; num7 += num15; num7 += num17; int length2 = zz.Length; uint num20 = x[2]; uint num21 = zz[3]; num13 = num7; num13 += num21; uint num22 = zz[4]; num7 = num20; uint num23 = num7 * num; num22 = num18; num23 += num22; zz[2] = num22; num22 = num23; uint num24 = num20 * num6; num24 += num22; num22 = num19; num24 += num22; num19 = num20; uint num25 = num19 * num9; num22 = num24; num25 += num22; num22 = num7; num25 += num22; num7 = num20; uint num26 = num7 * num14; num22 = num25; num26 += num22; num22 = num13; num26 += num22; num22 = num26; num13 += num22; num13 += num22; int length3 = zz.Length; uint num27 = x[2]; uint num28 = zz[4]; num26 = num13; num26 += num28; uint num29 = zz[5]; uint num30 = num27 * num; num29 = num24; num30 += num29; num = num27; zz[2] = num29; num23 = num27; num29 = num30; uint num31 = num * num6; uint num32 = num23 * num9; uint num33 = num27 * num14; uint num34 = num27 * num20; num31 += num29; num29 = num25; num31 += num29; num29 = num31; num32 += num29; num32 += num26; num26 = num32; num33 += num26; num26 = num13; num33 += num26; num26 = num33; num34 += num26; num34 += num26; num26 = num34; num26 += num26; num26 += num29; zz[3] = num29; zz[3] = num29; zz[4] = num29; zz[4] = num29; zz[5] = num29; num29 = num26; num29 += num29; zz[5] = num29; } // Token: 0x06009F70 RID: 40816 RVA: 0x0021CD00 File Offset: 0x0021AF00 [Token(Token = "0x6009F70")] [Address(RVA = "0x1F78F80", Offset = "0x1F77D80", VA = "0x181F78F80")] public static void Square(uint[] x, int xOff, uint[] zz, int zzOff) { uint num = x[xOff]; uint num2 = x[x]; uint num3 = num2 * num2; zz[0] = num3; zz[0] = num3; num3 = num; uint num4 = num3 * num; int num5 = xOff + 1; zz.m_value = num4; uint num6 = x[num5]; int length = zz.Length; int num7 = zzOff + 1; uint num8 = num6; uint num9 = num8 * num; num3 += num9; zz[0] = num4; int length2 = zz.Length; uint num10 = x[(int)num9]; uint num11 = zz[xOff]; uint num12 = zz[(int)num9]; num4 = num10; uint num13 = num4 * num; num12 = num3; num13 += num12; num13 += num8; num3 = num10; zz[0] = num8; num8 = num13; uint num14 = num3 * num6; num14 += num8; num14 += num11; num11 = num14; num11 += num12; uint num15 = x[(int)num12]; int length3 = zz.Length; uint num16 = zz[(int)num12]; num12 = num11; num16 += num12; uint num17 = zz[(int)num12]; uint num18 = num15 * num; num17 = num14; num18 += num17; zz[0] = num17; num17 = num18; num15 += num17; num17 = num11; num15 += num17; uint num19 = num15 * num10; num17 = num15; num19 += num17; num17 = num16; num19 += num17; num17 = num19; num16 += num17; num16 += num17; uint num20 = x[(int)num17]; int length4 = zz.Length; uint num21 = zz[length3]; num17 = num16; num21 += num17; uint num22 = num20 * num; uint num23 = num15; num22 += num23; zz[0] = num23; num15 = num20; num23 = num22; num15 += num23; num23 = num19; num15 += num23; num19 = num20; num23 = num15; num15 = num20; num19 += num23; num23 = num16; num19 += num23; num23 = num19; num15 += num23; num23 = num21; num15 += num23; num23 = num15; num21 += num23; num21 += num23; uint num24 = x[xOff]; int length5 = zz.Length; uint num25 = zz[xOff]; num23 = num21; num25 += num23; uint num26 = zz[length4]; uint num27 = num24 * num; num27 += num15; zz[0] = num15; num22 = num24; num19 = num24; num15 = num27; num19 += num15; num19 += num19; num24 += num19; num24 += num15; num15 = num24; num22 += num15; num15 = num21; num22 += num15; num15 = num22; num24 += num15; num15 = num25; num24 += num15; num15 = num24; num25 += num15; num25 += num26; zz[0] = num26; zz[0] = num26; zz[0] = num26; zz[4] = num26; zz[5] = num26; num26 = num25; num26 += num26; zz[0] = num26; } // Token: 0x06009F71 RID: 40817 RVA: 0x0021D00C File Offset: 0x0021B20C [Token(Token = "0x6009F71")] [Address(RVA = "0x1F79D80", Offset = "0x1F78B80", VA = "0x181F79D80")] public static int Sub(uint[] x, uint[] y, uint[] z) { uint num = y[0]; uint num2 = x[0]; num2 -= num; z[0] = num2; uint num3 = y[0]; num2 -= num3; uint num4 = x[0]; num2 += num4; z[0] = num2; uint num5 = y[1]; num2 -= num5; uint num6 = x[1]; num2 += num6; z[1] = num2; uint num7 = y[1]; num2 -= num7; uint num8 = x[1]; num2 += num8; z[1] = num2; uint num9 = y[2]; num2 -= num9; uint num10 = x[2]; num2 += num10; z[2] = num2; uint num11 = x[2]; uint num12 = y[2]; num2 -= num12; num2 += num11; z[2] = num2; throw new NullReferenceException(); } // Token: 0x06009F72 RID: 40818 RVA: 0x0021D0F0 File Offset: 0x0021B2F0 [Token(Token = "0x6009F72")] [Address(RVA = "0x1F7A010", Offset = "0x1F78E10", VA = "0x181F7A010")] public static int Sub(uint[] x, int xOff, uint[] y, int yOff, uint[] z, int zOff) { uint num = x[yOff]; uint num2 = y[yOff]; num -= num2; int num3 = yOff + 1; uint num4 = x[num3]; int num5 = yOff + 1; uint num6 = y[num5]; num -= num6; num += num4; uint num7 = x[(int)num6]; uint num8 = y[(int)num6]; num -= num8; num += num7; uint num9 = x[(int)num8]; uint num10 = y[(int)num8]; num -= num10; num += num9; uint num11 = x[(int)num10]; uint num12 = y[(int)num10]; num -= num12; num += num11; uint num13 = x[yOff]; uint num14 = y[yOff]; num -= num14; num += num13; throw new NullReferenceException(); } // Token: 0x06009F73 RID: 40819 RVA: 0x0021D1B4 File Offset: 0x0021B3B4 [Token(Token = "0x6009F73")] [Address(RVA = "0x1F796C0", Offset = "0x1F784C0", VA = "0x181F796C0")] public static int SubBothFrom(uint[] x, uint[] y, uint[] z) { uint num = y[0]; uint num2 = z[0]; num2 -= num; uint num3 = x[0]; num2 -= num3; z[0] = num2; uint num4 = y[0]; num2 -= num4; uint num5 = x[0]; num2 -= num5; uint num6 = z[0]; num2 += num6; z[0] = num2; uint num7 = y[1]; num2 -= num7; uint num8 = x[1]; num2 -= num8; uint num9 = z[1]; num2 += num9; z[1] = num2; uint num10 = y[1]; num2 -= num10; uint num11 = x[1]; num2 -= num11; uint num12 = z[1]; num2 += num12; z[1] = num2; uint num13 = y[2]; num2 -= num13; uint num14 = x[2]; num2 -= num14; uint num15 = z[2]; num2 += num15; z[2] = num2; uint num16 = x[2]; uint num17 = y[2]; num2 -= num17; uint num18 = z[2]; num2 -= num16; num2 += num18; z[2] = num2; throw new NullReferenceException(); } // Token: 0x06009F74 RID: 40820 RVA: 0x0021D2EC File Offset: 0x0021B4EC [Token(Token = "0x6009F74")] [Address(RVA = "0x1F79980", Offset = "0x1F78780", VA = "0x181F79980")] public static int SubFrom(uint[] x, uint[] z) { uint num = x[0]; uint num2 = z[0]; num2 -= num; z[0] = num2; uint num3 = x[0]; num2 -= num3; uint num4 = z[0]; num2 += num4; z[0] = num2; uint num5 = x[1]; num2 -= num5; uint num6 = z[1]; num2 += num6; z[1] = num2; uint num7 = x[1]; num2 -= num7; uint num8 = z[1]; num2 += num8; z[1] = num2; uint num9 = x[2]; num2 -= num9; uint num10 = z[2]; num2 += num10; z[2] = num2; uint num11 = x[2]; num2 -= num11; uint num12 = z[2]; num2 += num12; z[2] = num2; throw new NullReferenceException(); } // Token: 0x06009F75 RID: 40821 RVA: 0x0021D3D0 File Offset: 0x0021B5D0 [Token(Token = "0x6009F75")] [Address(RVA = "0x1F79B60", Offset = "0x1F78960", VA = "0x181F79B60")] public static int SubFrom(uint[] x, int xOff, uint[] z, int zOff) { uint num = z[zOff]; int num2 = zOff + 1; uint num3 = x[xOff]; num -= num3; z[0] = num; int num4 = xOff + 1; uint num5 = x[num4]; num -= num5; uint num6 = z[num2]; num += num6; z[0] = num; uint num7 = x[(int)num6]; num -= num7; uint num8; num8 += num; z[0] = num8; uint num9 = x[(int)num7]; num8 -= num9; uint num10; num10 += num8; z[0] = num10; uint num11 = x[(int)num9]; num10 -= num11; uint num12 = z[(int)num8]; num10 += num12; z[0] = num10; uint num13 = x[xOff]; uint num14 = z[zOff]; num10 -= num13; num14 += num10; z[0] = num14; throw new NullReferenceException(); } // Token: 0x06009F76 RID: 40822 RVA: 0x0021D4C4 File Offset: 0x0021B6C4 [Token(Token = "0x6009F76")] [Address(RVA = "0x1F7A3D0", Offset = "0x1F791D0", VA = "0x181F7A3D0")] public static BigInteger ToBigInteger(uint[] x) { byte[] array = new byte[24]; int num = 0; uint num2 = x[num]; if (num2 != (uint)0) { Pack.UInt32_To_BE(num2, array, 20); } num++; return new BigInteger(1, array); } // Token: 0x06009F77 RID: 40823 RVA: 0x0021D504 File Offset: 0x0021B704 [Token(Token = "0x6009F77")] [Address(RVA = "0x1F7A300", Offset = "0x1F79100", VA = "0x181F7A300")] public static BigInteger ToBigInteger64(ulong[] x) { byte[] array = new byte[24]; int num = 0; ulong num2 = x[num]; if (num2 != (ulong)0L) { Pack.UInt64_To_BE(num2, array, 16); } num++; return new BigInteger(1, array); } // Token: 0x06009F78 RID: 40824 RVA: 0x0021D544 File Offset: 0x0021B744 [Token(Token = "0x6009F78")] [Address(RVA = "0x1F7A4A0", Offset = "0x1F792A0", VA = "0x181F7A4A0")] public static void Zero(uint[] z) { int num = 0; z[0] = (uint)num; z[0] = (uint)num; z[1] = (uint)num; z[1] = (uint)num; z[2] = (uint)num; z[2] = (uint)num; } // Token: 0x06009F79 RID: 40825 RVA: 0x0021D58C File Offset: 0x0021B78C [Token(Token = "0x6009F79")] [Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")] protected Nat192() { } // Token: 0x04006A57 RID: 27223 [Token(Token = "0x4006A57")] private const ulong M = 4294967295UL; } }