protected static void ImplMultiply(ulong[] x, ulong[] y, ulong[] zz) { ulong num = x[0]; ulong num2 = x[1]; num2 = ((num >> 57 ^ num2 << 7) & 144115188075855871uL); num &= 144115188075855871uL; ulong num3 = y[0]; ulong num4 = y[1]; num4 = ((num3 >> 57 ^ num4 << 7) & 144115188075855871uL); num3 &= 144115188075855871uL; ulong[] array = new ulong[6]; SecT113Field.ImplMulw(num, num3, array, 0); SecT113Field.ImplMulw(num2, num4, array, 2); SecT113Field.ImplMulw(num ^ num2, num3 ^ num4, array, 4); ulong num5 = array[1] ^ array[2]; ulong num6 = array[0]; ulong num7 = array[3]; ulong num8 = array[4] ^ num6 ^ num5; ulong num9 = array[5] ^ num7 ^ num5; zz[0] = (num6 ^ num8 << 57); zz[1] = (num8 >> 7 ^ num9 << 50); zz[2] = (num9 >> 14 ^ num7 << 43); zz[3] = num7 >> 21; }