using System; using System.Runtime.InteropServices; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw { // Token: 0x02001406 RID: 5126 [Token(Token = "0x2001406")] [StructLayout(3)] internal abstract class Nat512 { // Token: 0x06008412 RID: 33810 RVA: 0x001CB4FC File Offset: 0x001C96FC [Token(Token = "0x6008412")] [Address(RVA = "0xC1F9C0", Offset = "0xC1E3C0", VA = "0x180C1F9C0")] public static void Mul(uint[] x, uint[] y, uint[] zz) { Nat256.Mul(x, y, zz); int num = 0; uint num2; ulong num3; Nat256.Mul(x, (int)num2, y, (int)num2, zz, (int)num3); uint num4 = Nat256.AddToEachOther(zz, 8, zz, 16); int num5 = 0; uint num6 = Nat256.AddTo(zz, num5, zz, 8, (uint)num); num6 += num4; uint num7 = Nat256.AddTo(zz, 24, zz, 16, num6); uint[] array = new uint[8]; uint[] array2 = new uint[8]; int num8 = 0; bool flag = Nat256.Diff(x, 8, x, num8, array, num); int num9 = 0; bool flag2 = Nat256.Diff(y, 8, y, num9, array2, num); bool flag3 = flag != flag2; uint[] array3 = new uint[16]; Nat256.Mul(array, array2, array3); int num10 = 0; ulong num12; if (flag3) { uint num11 = Nat.AddTo(16, array3, num10, zz, (int)num12); } int num13 = Nat.SubFrom(16, array3, num10, zz, (int)num12); uint num15; uint num14 = Nat.AddWordAt(16, array3, zz, (int)num15); } // Token: 0x06008413 RID: 33811 RVA: 0x001CB5D8 File Offset: 0x001C97D8 [Token(Token = "0x6008413")] [Address(RVA = "0xC1FBC0", Offset = "0xC1E5C0", VA = "0x180C1FBC0")] public static void Square(uint[] x, uint[] zz) { Nat256.Square(x, zz); int num = 0; Nat256.Square(x, 8, zz, 16); uint num2 = Nat256.AddToEachOther(zz, 8, zz, 16); int num3 = 0; uint num4 = Nat256.AddTo(zz, num3, zz, 8, (uint)num); num4 += num2; uint num5 = Nat256.AddTo(zz, 24, zz, 16, num4); num2 += num5; uint[] array = new uint[8]; int num6 = 0; bool flag = Nat256.Diff(x, 8, x, num6, array, num); uint[] array2 = new uint[16]; Nat256.Square(array, array2); int num7 = 0; ulong num9; int num8 = Nat.SubFrom(16, array2, num7, zz, (int)num9); uint num11; uint num10 = Nat.AddWordAt(16, array2, zz, (int)num11); } // Token: 0x06008414 RID: 33812 RVA: 0x001CB674 File Offset: 0x001C9874 [Token(Token = "0x6008414")] [Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")] protected Nat512() { } } }