- G(&v4, &v5, &v12, &v13, &v20, &v21, &v28, &v29, 0u, 0u, 0u, 0u);
- // // a = a + b
- // o0 = v4 + v12;
- // o1 = v5 + v13;
- // if (v4 > 0xFFFFFFFFu - v12) {
- // o1 = o1 + 1u;
- // }
- // v4 = o0;
- // v5 = o1;
+ /**
+ * r=1, i=2(x2), a=v[4-5], b=v[12-13], c=v[20-21], d=v[28-29]
+ */
+
+ // a = a + b
+ o0 = v4 + v12;
+ o1 = v5 + v13;
+ if (v4 > 0xFFFFFFFFu - v12) {
+ o1 = o1 + 1u;
+ }
+ v4 = o0;
+ v5 = o1;
// // a = a + m[sigma[r][2*i+0]]
+ // // skip since adding 0u does nothing
// o0 = v4 + 0u;
// o1 = v5 + 0u;
// if (v4 > 0xFFFFFFFFu - 0u) {
- // o1 = o1 + 1u;
+ // o1 = o1 + 1u;
// }
// v4 = o0;
// v5 = o1;
- // // d = rotr64(d ^ a, 32)
- // xor0 = v28 ^ v4;
- // xor1 = v29 ^ v5;
- // v28 = xor1;
- // v29 = xor0;
+ // d = rotr64(d ^ a, 32)
+ xor0 = v28 ^ v4;
+ xor1 = v29 ^ v5;
+ v28 = xor1;
+ v29 = xor0;
- // // c = c + d
- // o0 = v20 + v28;
- // o1 = v21 + v29;
- // if (v20 > 0xFFFFFFFFu - v28) {
- // o1 = o1 + 1u;
- // }
- // v20 = o0;
- // v21 = o1;
+ // c = c + d
+ o0 = v20 + v28;
+ o1 = v21 + v29;
+ if (v20 > 0xFFFFFFFFu - v28) {
+ o1 = o1 + 1u;
+ }
+ v20 = o0;
+ v21 = o1;
- // // b = rotr64(b ^ c, 24)
- // xor0 = v12 ^ v20;
- // xor1 = v13 ^ v21;
- // v12 = (xor0 >> 24u) ^ (xor1 << 8u);
- // v13 = (xor1 >> 24u) ^ (xor0 << 8u);
+ // b = rotr64(b ^ c, 24)
+ xor0 = v12 ^ v20;
+ xor1 = v13 ^ v21;
+ v12 = (xor0 >> 24u) ^ (xor1 << 8u);
+ v13 = (xor1 >> 24u) ^ (xor0 << 8u);
- // // a = a + b
- // o0 = v4 + v12;
- // o1 = v5 + v13;
- // if (v4 > 0xFFFFFFFFu - v12) {
- // o1 = o1 + 1u;
- // }
- // v4 = o0;
- // v5 = o1;
+ // a = a + b
+ o0 = v4 + v12;
+ o1 = v5 + v13;
+ if (v4 > 0xFFFFFFFFu - v12) {
+ o1 = o1 + 1u;
+ }
+ v4 = o0;
+ v5 = o1;
// // a = a + m[sigma[r][2*i+1]]
+ // // skip since adding 0u does nothing
// o0 = v4 + 0u;
// o1 = v5 + 0u;
// if (v4 > 0xFFFFFFFFu - 0u) {
- // o1 = o1 + 1u;
+ // o1 = o1 + 1u;
// }
// v4 = o0;
// v5 = o1;
- // // d = rotr64(d ^ a, 16)
- // xor0 = v28 ^ v4;
- // xor1 = v29 ^ v5;
- // v28 = (xor0 >> 16u) ^ (xor1 << 16u);
- // v29 = (xor1 >> 16u) ^ (xor0 << 16u);
+ // d = rotr64(d ^ a, 16)
+ xor0 = v28 ^ v4;
+ xor1 = v29 ^ v5;
+ v28 = (xor0 >> 16u) ^ (xor1 << 16u);
+ v29 = (xor1 >> 16u) ^ (xor0 << 16u);
- // // c = c + d
- // o0 = v20 + v28;
- // o1 = v21 + v29;
- // if (v20 > 0xFFFFFFFFu - v28) {
- // o1 = o1 + 1u;
- // }
- // v20 = o0;
- // v21 = o1;
+ // c = c + d
+ o0 = v20 + v28;
+ o1 = v21 + v29;
+ if (v20 > 0xFFFFFFFFu - v28) {
+ o1 = o1 + 1u;
+ }
+ v20 = o0;
+ v21 = o1;
- // // b = rotr64(b ^ c, 63)
- // xor0 = v12 ^ v20;
- // xor1 = v13 ^ v21;
- // v12 = (xor1 >> 31u) ^ (xor0 << 1u);
- // v13 = (xor0 >> 31u) ^ (xor1 << 1u);
+ // b = rotr64(b ^ c, 63)
+ xor0 = v12 ^ v20;
+ xor1 = v13 ^ v21;
+ v12 = (xor1 >> 31u) ^ (xor0 << 1u);
+ v13 = (xor0 >> 31u) ^ (xor1 << 1u);