void sha1_transform(unsigned int state[5], unsigned char buffer[64]) {
  unsigned int a, b, c, d, e;
  unsigned int block[16];
  memcpy(block, buffer, 64);
  a = state[0];
  b = state[1];
  c = state[2];
  d = state[3];
  e = state[4];
  e += ((b & (c ^ d)) ^ d) + block[0] + 0x5A827999 +
       (((a) << (5)) | ((a) >> (32 - (5))));
  b = (((b) << (30)) | ((b) >> (32 - (30))));
  ;
  d += ((a & (b ^ c)) ^ c) + block[1] + 0x5A827999 +
       (((e) << (5)) | ((e) >> (32 - (5))));
  a = (((a) << (30)) | ((a) >> (32 - (30))));
  ;
  c += ((e & (a ^ b)) ^ b) + block[2] + 0x5A827999 +
       (((d) << (5)) | ((d) >> (32 - (5))));
  e = (((e) << (30)) | ((e) >> (32 - (30))));
  ;
  b += ((d & (e ^ a)) ^ a) + block[3] + 0x5A827999 +
       (((c) << (5)) | ((c) >> (32 - (5))));
  d = (((d) << (30)) | ((d) >> (32 - (30))));
  ;
  a += ((c & (d ^ e)) ^ e) + block[4] + 0x5A827999 +
       (((b) << (5)) | ((b) >> (32 - (5))));
  c = (((c) << (30)) | ((c) >> (32 - (30))));
  ;
  e += ((b & (c ^ d)) ^ d) + block[5] + 0x5A827999 +
       (((a) << (5)) | ((a) >> (32 - (5))));
  b = (((b) << (30)) | ((b) >> (32 - (30))));
  ;
  d += ((a & (b ^ c)) ^ c) + block[6] + 0x5A827999 +
       (((e) << (5)) | ((e) >> (32 - (5))));
  a = (((a) << (30)) | ((a) >> (32 - (30))));
  ;
  c += ((e & (a ^ b)) ^ b) + block[7] + 0x5A827999 +
       (((d) << (5)) | ((d) >> (32 - (5))));
  e = (((e) << (30)) | ((e) >> (32 - (30))));
  ;
  b += ((d & (e ^ a)) ^ a) + block[8] + 0x5A827999 +
       (((c) << (5)) | ((c) >> (32 - (5))));
  d = (((d) << (30)) | ((d) >> (32 - (30))));
  ;
  a += ((c & (d ^ e)) ^ e) + block[9] + 0x5A827999 +
       (((b) << (5)) | ((b) >> (32 - (5))));
  c = (((c) << (30)) | ((c) >> (32 - (30))));
  ;
  e += ((b & (c ^ d)) ^ d) + block[10] + 0x5A827999 +
       (((a) << (5)) | ((a) >> (32 - (5))));
  b = (((b) << (30)) | ((b) >> (32 - (30))));
  ;
  d += ((a & (b ^ c)) ^ c) + block[11] + 0x5A827999 +
       (((e) << (5)) | ((e) >> (32 - (5))));
  a = (((a) << (30)) | ((a) >> (32 - (30))));
  ;
  c += ((e & (a ^ b)) ^ b) + block[12] + 0x5A827999 +
       (((d) << (5)) | ((d) >> (32 - (5))));
  e = (((e) << (30)) | ((e) >> (32 - (30))));
  ;
  b += ((d & (e ^ a)) ^ a) + block[13] + 0x5A827999 +
       (((c) << (5)) | ((c) >> (32 - (5))));
  d = (((d) << (30)) | ((d) >> (32 - (30))));
  ;
  a += ((c & (d ^ e)) ^ e) + block[14] + 0x5A827999 +
       (((b) << (5)) | ((b) >> (32 - (5))));
  c = (((c) << (30)) | ((c) >> (32 - (30))));
  ;
  e += ((b & (c ^ d)) ^ d) + block[15] + 0x5A827999 +
       (((a) << (5)) | ((a) >> (32 - (5))));
  b = (((b) << (30)) | ((b) >> (32 - (30))));
  ;
  d += ((a & (b ^ c)) ^ c) +
       (block[16 & 15] = (((block[(16 + 13) & 15] ^ block[(16 + 8) & 15] ^
                            block[(16 + 2) & 15] ^ block[16 & 15])
                           << (1)) |
                          ((block[(16 + 13) & 15] ^ block[(16 + 8) & 15] ^
                            block[(16 + 2) & 15] ^ block[16 & 15]) >>
                           (32 - (1))))) +
       0x5A827999 + (((e) << (5)) | ((e) >> (32 - (5))));
  a = (((a) << (30)) | ((a) >> (32 - (30))));
  ;
  c += ((e & (a ^ b)) ^ b) +
       (block[17 & 15] = (((block[(17 + 13) & 15] ^ block[(17 + 8) & 15] ^
                            block[(17 + 2) & 15] ^ block[17 & 15])
                           << (1)) |
                          ((block[(17 + 13) & 15] ^ block[(17 + 8) & 15] ^
                            block[(17 + 2) & 15] ^ block[17 & 15]) >>
                           (32 - (1))))) +
       0x5A827999 + (((d) << (5)) | ((d) >> (32 - (5))));
  e = (((e) << (30)) | ((e) >> (32 - (30))));
  ;
  b += ((d & (e ^ a)) ^ a) +
       (block[18 & 15] = (((block[(18 + 13) & 15] ^ block[(18 + 8) & 15] ^
                            block[(18 + 2) & 15] ^ block[18 & 15])
                           << (1)) |
                          ((block[(18 + 13) & 15] ^ block[(18 + 8) & 15] ^
                            block[(18 + 2) & 15] ^ block[18 & 15]) >>
                           (32 - (1))))) +
       0x5A827999 + (((c) << (5)) | ((c) >> (32 - (5))));
  d = (((d) << (30)) | ((d) >> (32 - (30))));
  ;
  a += ((c & (d ^ e)) ^ e) +
       (block[19 & 15] = (((block[(19 + 13) & 15] ^ block[(19 + 8) & 15] ^
                            block[(19 + 2) & 15] ^ block[19 & 15])
                           << (1)) |
                          ((block[(19 + 13) & 15] ^ block[(19 + 8) & 15] ^
                            block[(19 + 2) & 15] ^ block[19 & 15]) >>
                           (32 - (1))))) +
       0x5A827999 + (((b) << (5)) | ((b) >> (32 - (5))));
  c = (((c) << (30)) | ((c) >> (32 - (30))));
  ;
  e += (b ^ c ^ d) +
       (block[20 & 15] = (((block[(20 + 13) & 15] ^ block[(20 + 8) & 15] ^
                            block[(20 + 2) & 15] ^ block[20 & 15])
                           << (1)) |
                          ((block[(20 + 13) & 15] ^ block[(20 + 8) & 15] ^
                            block[(20 + 2) & 15] ^ block[20 & 15]) >>
                           (32 - (1))))) +
       0x6ED9EBA1 + (((a) << (5)) | ((a) >> (32 - (5))));
  b = (((b) << (30)) | ((b) >> (32 - (30))));
  ;
  d += (a ^ b ^ c) +
       (block[21 & 15] = (((block[(21 + 13) & 15] ^ block[(21 + 8) & 15] ^
                            block[(21 + 2) & 15] ^ block[21 & 15])
                           << (1)) |
                          ((block[(21 + 13) & 15] ^ block[(21 + 8) & 15] ^
                            block[(21 + 2) & 15] ^ block[21 & 15]) >>
                           (32 - (1))))) +
       0x6ED9EBA1 + (((e) << (5)) | ((e) >> (32 - (5))));
  a = (((a) << (30)) | ((a) >> (32 - (30))));
  ;
  c += (e ^ a ^ b) +
       (block[22 & 15] = (((block[(22 + 13) & 15] ^ block[(22 + 8) & 15] ^
                            block[(22 + 2) & 15] ^ block[22 & 15])
                           << (1)) |
                          ((block[(22 + 13) & 15] ^ block[(22 + 8) & 15] ^
                            block[(22 + 2) & 15] ^ block[22 & 15]) >>
                           (32 - (1))))) +
       0x6ED9EBA1 + (((d) << (5)) | ((d) >> (32 - (5))));
  e = (((e) << (30)) | ((e) >> (32 - (30))));
  ;
  b += (d ^ e ^ a) +
       (block[23 & 15] = (((block[(23 + 13) & 15] ^ block[(23 + 8) & 15] ^
                            block[(23 + 2) & 15] ^ block[23 & 15])
                           << (1)) |
                          ((block[(23 + 13) & 15] ^ block[(23 + 8) & 15] ^
                            block[(23 + 2) & 15] ^ block[23 & 15]) >>
                           (32 - (1))))) +
       0x6ED9EBA1 + (((c) << (5)) | ((c) >> (32 - (5))));
  d = (((d) << (30)) | ((d) >> (32 - (30))));
  ;
  a += (c ^ d ^ e) +
       (block[24 & 15] = (((block[(24 + 13) & 15] ^ block[(24 + 8) & 15] ^
                            block[(24 + 2) & 15] ^ block[24 & 15])
                           << (1)) |
                          ((block[(24 + 13) & 15] ^ block[(24 + 8) & 15] ^
                            block[(24 + 2) & 15] ^ block[24 & 15]) >>
                           (32 - (1))))) +
       0x6ED9EBA1 + (((b) << (5)) | ((b) >> (32 - (5))));
  c = (((c) << (30)) | ((c) >> (32 - (30))));
  ;
  e += (b ^ c ^ d) +
       (block[25 & 15] = (((block[(25 + 13) & 15] ^ block[(25 + 8) & 15] ^
                            block[(25 + 2) & 15] ^ block[25 & 15])
                           << (1)) |
                          ((block[(25 + 13) & 15] ^ block[(25 + 8) & 15] ^
                            block[(25 + 2) & 15] ^ block[25 & 15]) >>
                           (32 - (1))))) +
       0x6ED9EBA1 + (((a) << (5)) | ((a) >> (32 - (5))));
  b = (((b) << (30)) | ((b) >> (32 - (30))));
  ;
  d += (a ^ b ^ c) +
       (block[26 & 15] = (((block[(26 + 13) & 15] ^ block[(26 + 8) & 15] ^
                            block[(26 + 2) & 15] ^ block[26 & 15])
                           << (1)) |
                          ((block[(26 + 13) & 15] ^ block[(26 + 8) & 15] ^
                            block[(26 + 2) & 15] ^ block[26 & 15]) >>
                           (32 - (1))))) +
       0x6ED9EBA1 + (((e) << (5)) | ((e) >> (32 - (5))));
  a = (((a) << (30)) | ((a) >> (32 - (30))));
  ;
  c += (e ^ a ^ b) +
       (block[27 & 15] = (((block[(27 + 13) & 15] ^ block[(27 + 8) & 15] ^
                            block[(27 + 2) & 15] ^ block[27 & 15])
                           << (1)) |
                          ((block[(27 + 13) & 15] ^ block[(27 + 8) & 15] ^
                            block[(27 + 2) & 15] ^ block[27 & 15]) >>
                           (32 - (1))))) +
       0x6ED9EBA1 + (((d) << (5)) | ((d) >> (32 - (5))));
  e = (((e) << (30)) | ((e) >> (32 - (30))));
  ;
  b += (d ^ e ^ a) +
       (block[28 & 15] = (((block[(28 + 13) & 15] ^ block[(28 + 8) & 15] ^
                            block[(28 + 2) & 15] ^ block[28 & 15])
                           << (1)) |
                          ((block[(28 + 13) & 15] ^ block[(28 + 8) & 15] ^
                            block[(28 + 2) & 15] ^ block[28 & 15]) >>
                           (32 - (1))))) +
       0x6ED9EBA1 + (((c) << (5)) | ((c) >> (32 - (5))));
  d = (((d) << (30)) | ((d) >> (32 - (30))));
  ;
  a += (c ^ d ^ e) +
       (block[29 & 15] = (((block[(29 + 13) & 15] ^ block[(29 + 8) & 15] ^
                            block[(29 + 2) & 15] ^ block[29 & 15])
                           << (1)) |
                          ((block[(29 + 13) & 15] ^ block[(29 + 8) & 15] ^
                            block[(29 + 2) & 15] ^ block[29 & 15]) >>
                           (32 - (1))))) +
       0x6ED9EBA1 + (((b) << (5)) | ((b) >> (32 - (5))));
  c = (((c) << (30)) | ((c) >> (32 - (30))));
  ;
  e += (b ^ c ^ d) +
       (block[30 & 15] = (((block[(30 + 13) & 15] ^ block[(30 + 8) & 15] ^
                            block[(30 + 2) & 15] ^ block[30 & 15])
                           << (1)) |
                          ((block[(30 + 13) & 15] ^ block[(30 + 8) & 15] ^
                            block[(30 + 2) & 15] ^ block[30 & 15]) >>
                           (32 - (1))))) +
       0x6ED9EBA1 + (((a) << (5)) | ((a) >> (32 - (5))));
  b = (((b) << (30)) | ((b) >> (32 - (30))));
  ;
  d += (a ^ b ^ c) +
       (block[31 & 15] = (((block[(31 + 13) & 15] ^ block[(31 + 8) & 15] ^
                            block[(31 + 2) & 15] ^ block[31 & 15])
                           << (1)) |
                          ((block[(31 + 13) & 15] ^ block[(31 + 8) & 15] ^
                            block[(31 + 2) & 15] ^ block[31 & 15]) >>
                           (32 - (1))))) +
       0x6ED9EBA1 + (((e) << (5)) | ((e) >> (32 - (5))));
  a = (((a) << (30)) | ((a) >> (32 - (30))));
  ;
  c += (e ^ a ^ b) +
       (block[32 & 15] = (((block[(32 + 13) & 15] ^ block[(32 + 8) & 15] ^
                            block[(32 + 2) & 15] ^ block[32 & 15])
                           << (1)) |
                          ((block[(32 + 13) & 15] ^ block[(32 + 8) & 15] ^
                            block[(32 + 2) & 15] ^ block[32 & 15]) >>
                           (32 - (1))))) +
       0x6ED9EBA1 + (((d) << (5)) | ((d) >> (32 - (5))));
  e = (((e) << (30)) | ((e) >> (32 - (30))));
  ;
  b += (d ^ e ^ a) +
       (block[33 & 15] = (((block[(33 + 13) & 15] ^ block[(33 + 8) & 15] ^
                            block[(33 + 2) & 15] ^ block[33 & 15])
                           << (1)) |
                          ((block[(33 + 13) & 15] ^ block[(33 + 8) & 15] ^
                            block[(33 + 2) & 15] ^ block[33 & 15]) >>
                           (32 - (1))))) +
       0x6ED9EBA1 + (((c) << (5)) | ((c) >> (32 - (5))));
  d = (((d) << (30)) | ((d) >> (32 - (30))));
  ;
  a += (c ^ d ^ e) +
       (block[34 & 15] = (((block[(34 + 13) & 15] ^ block[(34 + 8) & 15] ^
                            block[(34 + 2) & 15] ^ block[34 & 15])
                           << (1)) |
                          ((block[(34 + 13) & 15] ^ block[(34 + 8) & 15] ^
                            block[(34 + 2) & 15] ^ block[34 & 15]) >>
                           (32 - (1))))) +
       0x6ED9EBA1 + (((b) << (5)) | ((b) >> (32 - (5))));
  c = (((c) << (30)) | ((c) >> (32 - (30))));
  ;
  e += (b ^ c ^ d) +
       (block[35 & 15] = (((block[(35 + 13) & 15] ^ block[(35 + 8) & 15] ^
                            block[(35 + 2) & 15] ^ block[35 & 15])
                           << (1)) |
                          ((block[(35 + 13) & 15] ^ block[(35 + 8) & 15] ^
                            block[(35 + 2) & 15] ^ block[35 & 15]) >>
                           (32 - (1))))) +
       0x6ED9EBA1 + (((a) << (5)) | ((a) >> (32 - (5))));
  b = (((b) << (30)) | ((b) >> (32 - (30))));
  ;
  d += (a ^ b ^ c) +
       (block[36 & 15] = (((block[(36 + 13) & 15] ^ block[(36 + 8) & 15] ^
                            block[(36 + 2) & 15] ^ block[36 & 15])
                           << (1)) |
                          ((block[(36 + 13) & 15] ^ block[(36 + 8) & 15] ^
                            block[(36 + 2) & 15] ^ block[36 & 15]) >>
                           (32 - (1))))) +
       0x6ED9EBA1 + (((e) << (5)) | ((e) >> (32 - (5))));
  a = (((a) << (30)) | ((a) >> (32 - (30))));
  ;
  c += (e ^ a ^ b) +
       (block[37 & 15] = (((block[(37 + 13) & 15] ^ block[(37 + 8) & 15] ^
                            block[(37 + 2) & 15] ^ block[37 & 15])
                           << (1)) |
                          ((block[(37 + 13) & 15] ^ block[(37 + 8) & 15] ^
                            block[(37 + 2) & 15] ^ block[37 & 15]) >>
                           (32 - (1))))) +
       0x6ED9EBA1 + (((d) << (5)) | ((d) >> (32 - (5))));
  e = (((e) << (30)) | ((e) >> (32 - (30))));
  ;
  b += (d ^ e ^ a) +
       (block[38 & 15] = (((block[(38 + 13) & 15] ^ block[(38 + 8) & 15] ^
                            block[(38 + 2) & 15] ^ block[38 & 15])
                           << (1)) |
                          ((block[(38 + 13) & 15] ^ block[(38 + 8) & 15] ^
                            block[(38 + 2) & 15] ^ block[38 & 15]) >>
                           (32 - (1))))) +
       0x6ED9EBA1 + (((c) << (5)) | ((c) >> (32 - (5))));
  d = (((d) << (30)) | ((d) >> (32 - (30))));
  ;
  a += (c ^ d ^ e) +
       (block[39 & 15] = (((block[(39 + 13) & 15] ^ block[(39 + 8) & 15] ^
                            block[(39 + 2) & 15] ^ block[39 & 15])
                           << (1)) |
                          ((block[(39 + 13) & 15] ^ block[(39 + 8) & 15] ^
                            block[(39 + 2) & 15] ^ block[39 & 15]) >>
                           (32 - (1))))) +
       0x6ED9EBA1 + (((b) << (5)) | ((b) >> (32 - (5))));
  c = (((c) << (30)) | ((c) >> (32 - (30))));
  ;
  e += (((b | c) & d) | (b & c)) +
       (block[40 & 15] = (((block[(40 + 13) & 15] ^ block[(40 + 8) & 15] ^
                            block[(40 + 2) & 15] ^ block[40 & 15])
                           << (1)) |
                          ((block[(40 + 13) & 15] ^ block[(40 + 8) & 15] ^
                            block[(40 + 2) & 15] ^ block[40 & 15]) >>
                           (32 - (1))))) +
       0x8F1BBCDC + (((a) << (5)) | ((a) >> (32 - (5))));
  b = (((b) << (30)) | ((b) >> (32 - (30))));
  ;
  d += (((a | b) & c) | (a & b)) +
       (block[41 & 15] = (((block[(41 + 13) & 15] ^ block[(41 + 8) & 15] ^
                            block[(41 + 2) & 15] ^ block[41 & 15])
                           << (1)) |
                          ((block[(41 + 13) & 15] ^ block[(41 + 8) & 15] ^
                            block[(41 + 2) & 15] ^ block[41 & 15]) >>
                           (32 - (1))))) +
       0x8F1BBCDC + (((e) << (5)) | ((e) >> (32 - (5))));
  a = (((a) << (30)) | ((a) >> (32 - (30))));
  ;
  c += (((e | a) & b) | (e & a)) +
       (block[42 & 15] = (((block[(42 + 13) & 15] ^ block[(42 + 8) & 15] ^
                            block[(42 + 2) & 15] ^ block[42 & 15])
                           << (1)) |
                          ((block[(42 + 13) & 15] ^ block[(42 + 8) & 15] ^
                            block[(42 + 2) & 15] ^ block[42 & 15]) >>
                           (32 - (1))))) +
       0x8F1BBCDC + (((d) << (5)) | ((d) >> (32 - (5))));
  e = (((e) << (30)) | ((e) >> (32 - (30))));
  ;
  b += (((d | e) & a) | (d & e)) +
       (block[43 & 15] = (((block[(43 + 13) & 15] ^ block[(43 + 8) & 15] ^
                            block[(43 + 2) & 15] ^ block[43 & 15])
                           << (1)) |
                          ((block[(43 + 13) & 15] ^ block[(43 + 8) & 15] ^
                            block[(43 + 2) & 15] ^ block[43 & 15]) >>
                           (32 - (1))))) +
       0x8F1BBCDC + (((c) << (5)) | ((c) >> (32 - (5))));
  d = (((d) << (30)) | ((d) >> (32 - (30))));
  ;
  a += (((c | d) & e) | (c & d)) +
       (block[44 & 15] = (((block[(44 + 13) & 15] ^ block[(44 + 8) & 15] ^
                            block[(44 + 2) & 15] ^ block[44 & 15])
                           << (1)) |
                          ((block[(44 + 13) & 15] ^ block[(44 + 8) & 15] ^
                            block[(44 + 2) & 15] ^ block[44 & 15]) >>
                           (32 - (1))))) +
       0x8F1BBCDC + (((b) << (5)) | ((b) >> (32 - (5))));
  c = (((c) << (30)) | ((c) >> (32 - (30))));
  ;
  e += (((b | c) & d) | (b & c)) +
       (block[45 & 15] = (((block[(45 + 13) & 15] ^ block[(45 + 8) & 15] ^
                            block[(45 + 2) & 15] ^ block[45 & 15])
                           << (1)) |
                          ((block[(45 + 13) & 15] ^ block[(45 + 8) & 15] ^
                            block[(45 + 2) & 15] ^ block[45 & 15]) >>
                           (32 - (1))))) +
       0x8F1BBCDC + (((a) << (5)) | ((a) >> (32 - (5))));
  b = (((b) << (30)) | ((b) >> (32 - (30))));
  ;
  d += (((a | b) & c) | (a & b)) +
       (block[46 & 15] = (((block[(46 + 13) & 15] ^ block[(46 + 8) & 15] ^
                            block[(46 + 2) & 15] ^ block[46 & 15])
                           << (1)) |
                          ((block[(46 + 13) & 15] ^ block[(46 + 8) & 15] ^
                            block[(46 + 2) & 15] ^ block[46 & 15]) >>
                           (32 - (1))))) +
       0x8F1BBCDC + (((e) << (5)) | ((e) >> (32 - (5))));
  a = (((a) << (30)) | ((a) >> (32 - (30))));
  ;
  c += (((e | a) & b) | (e & a)) +
       (block[47 & 15] = (((block[(47 + 13) & 15] ^ block[(47 + 8) & 15] ^
                            block[(47 + 2) & 15] ^ block[47 & 15])
                           << (1)) |
                          ((block[(47 + 13) & 15] ^ block[(47 + 8) & 15] ^
                            block[(47 + 2) & 15] ^ block[47 & 15]) >>
                           (32 - (1))))) +
       0x8F1BBCDC + (((d) << (5)) | ((d) >> (32 - (5))));
  e = (((e) << (30)) | ((e) >> (32 - (30))));
  ;
  b += (((d | e) & a) | (d & e)) +
       (block[48 & 15] = (((block[(48 + 13) & 15] ^ block[(48 + 8) & 15] ^
                            block[(48 + 2) & 15] ^ block[48 & 15])
                           << (1)) |
                          ((block[(48 + 13) & 15] ^ block[(48 + 8) & 15] ^
                            block[(48 + 2) & 15] ^ block[48 & 15]) >>
                           (32 - (1))))) +
       0x8F1BBCDC + (((c) << (5)) | ((c) >> (32 - (5))));
  d = (((d) << (30)) | ((d) >> (32 - (30))));
  ;
  a += (((c | d) & e) | (c & d)) +
       (block[49 & 15] = (((block[(49 + 13) & 15] ^ block[(49 + 8) & 15] ^
                            block[(49 + 2) & 15] ^ block[49 & 15])
                           << (1)) |
                          ((block[(49 + 13) & 15] ^ block[(49 + 8) & 15] ^
                            block[(49 + 2) & 15] ^ block[49 & 15]) >>
                           (32 - (1))))) +
       0x8F1BBCDC + (((b) << (5)) | ((b) >> (32 - (5))));
  c = (((c) << (30)) | ((c) >> (32 - (30))));
  ;
  e += (((b | c) & d) | (b & c)) +
       (block[50 & 15] = (((block[(50 + 13) & 15] ^ block[(50 + 8) & 15] ^
                            block[(50 + 2) & 15] ^ block[50 & 15])
                           << (1)) |
                          ((block[(50 + 13) & 15] ^ block[(50 + 8) & 15] ^
                            block[(50 + 2) & 15] ^ block[50 & 15]) >>
                           (32 - (1))))) +
       0x8F1BBCDC + (((a) << (5)) | ((a) >> (32 - (5))));
  b = (((b) << (30)) | ((b) >> (32 - (30))));
  ;
  d += (((a | b) & c) | (a & b)) +
       (block[51 & 15] = (((block[(51 + 13) & 15] ^ block[(51 + 8) & 15] ^
                            block[(51 + 2) & 15] ^ block[51 & 15])
                           << (1)) |
                          ((block[(51 + 13) & 15] ^ block[(51 + 8) & 15] ^
                            block[(51 + 2) & 15] ^ block[51 & 15]) >>
                           (32 - (1))))) +
       0x8F1BBCDC + (((e) << (5)) | ((e) >> (32 - (5))));
  a = (((a) << (30)) | ((a) >> (32 - (30))));
  ;
  c += (((e | a) & b) | (e & a)) +
       (block[52 & 15] = (((block[(52 + 13) & 15] ^ block[(52 + 8) & 15] ^
                            block[(52 + 2) & 15] ^ block[52 & 15])
                           << (1)) |
                          ((block[(52 + 13) & 15] ^ block[(52 + 8) & 15] ^
                            block[(52 + 2) & 15] ^ block[52 & 15]) >>
                           (32 - (1))))) +
       0x8F1BBCDC + (((d) << (5)) | ((d) >> (32 - (5))));
  e = (((e) << (30)) | ((e) >> (32 - (30))));
  ;
  b += (((d | e) & a) | (d & e)) +
       (block[53 & 15] = (((block[(53 + 13) & 15] ^ block[(53 + 8) & 15] ^
                            block[(53 + 2) & 15] ^ block[53 & 15])
                           << (1)) |
                          ((block[(53 + 13) & 15] ^ block[(53 + 8) & 15] ^
                            block[(53 + 2) & 15] ^ block[53 & 15]) >>
                           (32 - (1))))) +
       0x8F1BBCDC + (((c) << (5)) | ((c) >> (32 - (5))));
  d = (((d) << (30)) | ((d) >> (32 - (30))));
  ;
  a += (((c | d) & e) | (c & d)) +
       (block[54 & 15] = (((block[(54 + 13) & 15] ^ block[(54 + 8) & 15] ^
                            block[(54 + 2) & 15] ^ block[54 & 15])
                           << (1)) |
                          ((block[(54 + 13) & 15] ^ block[(54 + 8) & 15] ^
                            block[(54 + 2) & 15] ^ block[54 & 15]) >>
                           (32 - (1))))) +
       0x8F1BBCDC + (((b) << (5)) | ((b) >> (32 - (5))));
  c = (((c) << (30)) | ((c) >> (32 - (30))));
  ;
  e += (((b | c) & d) | (b & c)) +
       (block[55 & 15] = (((block[(55 + 13) & 15] ^ block[(55 + 8) & 15] ^
                            block[(55 + 2) & 15] ^ block[55 & 15])
                           << (1)) |
                          ((block[(55 + 13) & 15] ^ block[(55 + 8) & 15] ^
                            block[(55 + 2) & 15] ^ block[55 & 15]) >>
                           (32 - (1))))) +
       0x8F1BBCDC + (((a) << (5)) | ((a) >> (32 - (5))));
  b = (((b) << (30)) | ((b) >> (32 - (30))));
  ;
  d += (((a | b) & c) | (a & b)) +
       (block[56 & 15] = (((block[(56 + 13) & 15] ^ block[(56 + 8) & 15] ^
                            block[(56 + 2) & 15] ^ block[56 & 15])
                           << (1)) |
                          ((block[(56 + 13) & 15] ^ block[(56 + 8) & 15] ^
                            block[(56 + 2) & 15] ^ block[56 & 15]) >>
                           (32 - (1))))) +
       0x8F1BBCDC + (((e) << (5)) | ((e) >> (32 - (5))));
  a = (((a) << (30)) | ((a) >> (32 - (30))));
  ;
  c += (((e | a) & b) | (e & a)) +
       (block[57 & 15] = (((block[(57 + 13) & 15] ^ block[(57 + 8) & 15] ^
                            block[(57 + 2) & 15] ^ block[57 & 15])
                           << (1)) |
                          ((block[(57 + 13) & 15] ^ block[(57 + 8) & 15] ^
                            block[(57 + 2) & 15] ^ block[57 & 15]) >>
                           (32 - (1))))) +
       0x8F1BBCDC + (((d) << (5)) | ((d) >> (32 - (5))));
  e = (((e) << (30)) | ((e) >> (32 - (30))));
  ;
  b += (((d | e) & a) | (d & e)) +
       (block[58 & 15] = (((block[(58 + 13) & 15] ^ block[(58 + 8) & 15] ^
                            block[(58 + 2) & 15] ^ block[58 & 15])
                           << (1)) |
                          ((block[(58 + 13) & 15] ^ block[(58 + 8) & 15] ^
                            block[(58 + 2) & 15] ^ block[58 & 15]) >>
                           (32 - (1))))) +
       0x8F1BBCDC + (((c) << (5)) | ((c) >> (32 - (5))));
  d = (((d) << (30)) | ((d) >> (32 - (30))));
  ;
  a += (((c | d) & e) | (c & d)) +
       (block[59 & 15] = (((block[(59 + 13) & 15] ^ block[(59 + 8) & 15] ^
                            block[(59 + 2) & 15] ^ block[59 & 15])
                           << (1)) |
                          ((block[(59 + 13) & 15] ^ block[(59 + 8) & 15] ^
                            block[(59 + 2) & 15] ^ block[59 & 15]) >>
                           (32 - (1))))) +
       0x8F1BBCDC + (((b) << (5)) | ((b) >> (32 - (5))));
  c = (((c) << (30)) | ((c) >> (32 - (30))));
  ;
  e += (b ^ c ^ d) +
       (block[60 & 15] = (((block[(60 + 13) & 15] ^ block[(60 + 8) & 15] ^
                            block[(60 + 2) & 15] ^ block[60 & 15])
                           << (1)) |
                          ((block[(60 + 13) & 15] ^ block[(60 + 8) & 15] ^
                            block[(60 + 2) & 15] ^ block[60 & 15]) >>
                           (32 - (1))))) +
       0xCA62C1D6 + (((a) << (5)) | ((a) >> (32 - (5))));
  b = (((b) << (30)) | ((b) >> (32 - (30))));
  ;
  d += (a ^ b ^ c) +
       (block[61 & 15] = (((block[(61 + 13) & 15] ^ block[(61 + 8) & 15] ^
                            block[(61 + 2) & 15] ^ block[61 & 15])
                           << (1)) |
                          ((block[(61 + 13) & 15] ^ block[(61 + 8) & 15] ^
                            block[(61 + 2) & 15] ^ block[61 & 15]) >>
                           (32 - (1))))) +
       0xCA62C1D6 + (((e) << (5)) | ((e) >> (32 - (5))));
  a = (((a) << (30)) | ((a) >> (32 - (30))));
  ;
  c += (e ^ a ^ b) +
       (block[62 & 15] = (((block[(62 + 13) & 15] ^ block[(62 + 8) & 15] ^
                            block[(62 + 2) & 15] ^ block[62 & 15])
                           << (1)) |
                          ((block[(62 + 13) & 15] ^ block[(62 + 8) & 15] ^
                            block[(62 + 2) & 15] ^ block[62 & 15]) >>
                           (32 - (1))))) +
       0xCA62C1D6 + (((d) << (5)) | ((d) >> (32 - (5))));
  e = (((e) << (30)) | ((e) >> (32 - (30))));
  ;
  b += (d ^ e ^ a) +
       (block[63 & 15] = (((block[(63 + 13) & 15] ^ block[(63 + 8) & 15] ^
                            block[(63 + 2) & 15] ^ block[63 & 15])
                           << (1)) |
                          ((block[(63 + 13) & 15] ^ block[(63 + 8) & 15] ^
                            block[(63 + 2) & 15] ^ block[63 & 15]) >>
                           (32 - (1))))) +
       0xCA62C1D6 + (((c) << (5)) | ((c) >> (32 - (5))));
  d = (((d) << (30)) | ((d) >> (32 - (30))));
  ;
  a += (c ^ d ^ e) +
       (block[64 & 15] = (((block[(64 + 13) & 15] ^ block[(64 + 8) & 15] ^
                            block[(64 + 2) & 15] ^ block[64 & 15])
                           << (1)) |
                          ((block[(64 + 13) & 15] ^ block[(64 + 8) & 15] ^
                            block[(64 + 2) & 15] ^ block[64 & 15]) >>
                           (32 - (1))))) +
       0xCA62C1D6 + (((b) << (5)) | ((b) >> (32 - (5))));
  c = (((c) << (30)) | ((c) >> (32 - (30))));
  ;
  e += (b ^ c ^ d) +
       (block[65 & 15] = (((block[(65 + 13) & 15] ^ block[(65 + 8) & 15] ^
                            block[(65 + 2) & 15] ^ block[65 & 15])
                           << (1)) |
                          ((block[(65 + 13) & 15] ^ block[(65 + 8) & 15] ^
                            block[(65 + 2) & 15] ^ block[65 & 15]) >>
                           (32 - (1))))) +
       0xCA62C1D6 + (((a) << (5)) | ((a) >> (32 - (5))));
  b = (((b) << (30)) | ((b) >> (32 - (30))));
  ;
  d += (a ^ b ^ c) +
       (block[66 & 15] = (((block[(66 + 13) & 15] ^ block[(66 + 8) & 15] ^
                            block[(66 + 2) & 15] ^ block[66 & 15])
                           << (1)) |
                          ((block[(66 + 13) & 15] ^ block[(66 + 8) & 15] ^
                            block[(66 + 2) & 15] ^ block[66 & 15]) >>
                           (32 - (1))))) +
       0xCA62C1D6 + (((e) << (5)) | ((e) >> (32 - (5))));
  a = (((a) << (30)) | ((a) >> (32 - (30))));
  ;
  c += (e ^ a ^ b) +
       (block[67 & 15] = (((block[(67 + 13) & 15] ^ block[(67 + 8) & 15] ^
                            block[(67 + 2) & 15] ^ block[67 & 15])
                           << (1)) |
                          ((block[(67 + 13) & 15] ^ block[(67 + 8) & 15] ^
                            block[(67 + 2) & 15] ^ block[67 & 15]) >>
                           (32 - (1))))) +
       0xCA62C1D6 + (((d) << (5)) | ((d) >> (32 - (5))));
  e = (((e) << (30)) | ((e) >> (32 - (30))));
  ;
  b += (d ^ e ^ a) +
       (block[68 & 15] = (((block[(68 + 13) & 15] ^ block[(68 + 8) & 15] ^
                            block[(68 + 2) & 15] ^ block[68 & 15])
                           << (1)) |
                          ((block[(68 + 13) & 15] ^ block[(68 + 8) & 15] ^
                            block[(68 + 2) & 15] ^ block[68 & 15]) >>
                           (32 - (1))))) +
       0xCA62C1D6 + (((c) << (5)) | ((c) >> (32 - (5))));
  d = (((d) << (30)) | ((d) >> (32 - (30))));
  ;
  a += (c ^ d ^ e) +
       (block[69 & 15] = (((block[(69 + 13) & 15] ^ block[(69 + 8) & 15] ^
                            block[(69 + 2) & 15] ^ block[69 & 15])
                           << (1)) |
                          ((block[(69 + 13) & 15] ^ block[(69 + 8) & 15] ^
                            block[(69 + 2) & 15] ^ block[69 & 15]) >>
                           (32 - (1))))) +
       0xCA62C1D6 + (((b) << (5)) | ((b) >> (32 - (5))));
  c = (((c) << (30)) | ((c) >> (32 - (30))));
  ;
  e += (b ^ c ^ d) +
       (block[70 & 15] = (((block[(70 + 13) & 15] ^ block[(70 + 8) & 15] ^
                            block[(70 + 2) & 15] ^ block[70 & 15])
                           << (1)) |
                          ((block[(70 + 13) & 15] ^ block[(70 + 8) & 15] ^
                            block[(70 + 2) & 15] ^ block[70 & 15]) >>
                           (32 - (1))))) +
       0xCA62C1D6 + (((a) << (5)) | ((a) >> (32 - (5))));
  b = (((b) << (30)) | ((b) >> (32 - (30))));
  ;
  d += (a ^ b ^ c) +
       (block[71 & 15] = (((block[(71 + 13) & 15] ^ block[(71 + 8) & 15] ^
                            block[(71 + 2) & 15] ^ block[71 & 15])
                           << (1)) |
                          ((block[(71 + 13) & 15] ^ block[(71 + 8) & 15] ^
                            block[(71 + 2) & 15] ^ block[71 & 15]) >>
                           (32 - (1))))) +
       0xCA62C1D6 + (((e) << (5)) | ((e) >> (32 - (5))));
  a = (((a) << (30)) | ((a) >> (32 - (30))));
  ;
  c += (e ^ a ^ b) +
       (block[72 & 15] = (((block[(72 + 13) & 15] ^ block[(72 + 8) & 15] ^
                            block[(72 + 2) & 15] ^ block[72 & 15])
                           << (1)) |
                          ((block[(72 + 13) & 15] ^ block[(72 + 8) & 15] ^
                            block[(72 + 2) & 15] ^ block[72 & 15]) >>
                           (32 - (1))))) +
       0xCA62C1D6 + (((d) << (5)) | ((d) >> (32 - (5))));
  e = (((e) << (30)) | ((e) >> (32 - (30))));
  ;
  b += (d ^ e ^ a) +
       (block[73 & 15] = (((block[(73 + 13) & 15] ^ block[(73 + 8) & 15] ^
                            block[(73 + 2) & 15] ^ block[73 & 15])
                           << (1)) |
                          ((block[(73 + 13) & 15] ^ block[(73 + 8) & 15] ^
                            block[(73 + 2) & 15] ^ block[73 & 15]) >>
                           (32 - (1))))) +
       0xCA62C1D6 + (((c) << (5)) | ((c) >> (32 - (5))));
  d = (((d) << (30)) | ((d) >> (32 - (30))));
  ;
  a += (c ^ d ^ e) +
       (block[74 & 15] = (((block[(74 + 13) & 15] ^ block[(74 + 8) & 15] ^
                            block[(74 + 2) & 15] ^ block[74 & 15])
                           << (1)) |
                          ((block[(74 + 13) & 15] ^ block[(74 + 8) & 15] ^
                            block[(74 + 2) & 15] ^ block[74 & 15]) >>
                           (32 - (1))))) +
       0xCA62C1D6 + (((b) << (5)) | ((b) >> (32 - (5))));
  c = (((c) << (30)) | ((c) >> (32 - (30))));
  ;
  e += (b ^ c ^ d) +
       (block[75 & 15] = (((block[(75 + 13) & 15] ^ block[(75 + 8) & 15] ^
                            block[(75 + 2) & 15] ^ block[75 & 15])
                           << (1)) |
                          ((block[(75 + 13) & 15] ^ block[(75 + 8) & 15] ^
                            block[(75 + 2) & 15] ^ block[75 & 15]) >>
                           (32 - (1))))) +
       0xCA62C1D6 + (((a) << (5)) | ((a) >> (32 - (5))));
  b = (((b) << (30)) | ((b) >> (32 - (30))));
  ;
  d += (a ^ b ^ c) +
       (block[76 & 15] = (((block[(76 + 13) & 15] ^ block[(76 + 8) & 15] ^
                            block[(76 + 2) & 15] ^ block[76 & 15])
                           << (1)) |
                          ((block[(76 + 13) & 15] ^ block[(76 + 8) & 15] ^
                            block[(76 + 2) & 15] ^ block[76 & 15]) >>
                           (32 - (1))))) +
       0xCA62C1D6 + (((e) << (5)) | ((e) >> (32 - (5))));
  a = (((a) << (30)) | ((a) >> (32 - (30))));
  ;
  c += (e ^ a ^ b) +
       (block[77 & 15] = (((block[(77 + 13) & 15] ^ block[(77 + 8) & 15] ^
                            block[(77 + 2) & 15] ^ block[77 & 15])
                           << (1)) |
                          ((block[(77 + 13) & 15] ^ block[(77 + 8) & 15] ^
                            block[(77 + 2) & 15] ^ block[77 & 15]) >>
                           (32 - (1))))) +
       0xCA62C1D6 + (((d) << (5)) | ((d) >> (32 - (5))));
  e = (((e) << (30)) | ((e) >> (32 - (30))));
  ;
  b += (d ^ e ^ a) +
       (block[78 & 15] = (((block[(78 + 13) & 15] ^ block[(78 + 8) & 15] ^
                            block[(78 + 2) & 15] ^ block[78 & 15])
                           << (1)) |
                          ((block[(78 + 13) & 15] ^ block[(78 + 8) & 15] ^
                            block[(78 + 2) & 15] ^ block[78 & 15]) >>
                           (32 - (1))))) +
       0xCA62C1D6 + (((c) << (5)) | ((c) >> (32 - (5))));
  d = (((d) << (30)) | ((d) >> (32 - (30))));
  ;
  a += (c ^ d ^ e) +
       (block[79 & 15] = (((block[(79 + 13) & 15] ^ block[(79 + 8) & 15] ^
                            block[(79 + 2) & 15] ^ block[79 & 15])
                           << (1)) |
                          ((block[(79 + 13) & 15] ^ block[(79 + 8) & 15] ^
                            block[(79 + 2) & 15] ^ block[79 & 15]) >>
                           (32 - (1))))) +
       0xCA62C1D6 + (((b) << (5)) | ((b) >> (32 - (5))));
  c = (((c) << (30)) | ((c) >> (32 - (30))));
  ;
  state[0] += a;
  state[1] += b;
  state[2] += c;
  state[3] += d;
  state[4] += e;
}


x86 assembly (clang, -O0):
<sha1_transform>:
push   %rbp
mov    %rsp,%rbp
sub    $0x70,%rsp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
lea    -0x70(%rbp),%rdi
mov    -0x10(%rbp),%rsi
mov    $0x40,%edx
call   1030 <memcpy@plt>
mov    -0x8(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0x14(%rbp)
mov    -0x8(%rbp),%rax
mov    0x4(%rax),%eax
mov    %eax,-0x18(%rbp)
mov    -0x8(%rbp),%rax
mov    0x8(%rax),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x8(%rbp),%rax
mov    0xc(%rax),%eax
mov    %eax,-0x20(%rbp)
mov    -0x8(%rbp),%rax
mov    0x10(%rax),%eax
mov    %eax,-0x24(%rbp)
mov    -0x18(%rbp),%eax
mov    -0x1c(%rbp),%ecx
xor    -0x20(%rbp),%ecx
and    %ecx,%eax
xor    -0x20(%rbp),%eax
add    -0x70(%rbp),%eax
add    $0x5a827999,%eax
mov    -0x14(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x14(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x24(%rbp),%eax
mov    %eax,-0x24(%rbp)
mov    -0x18(%rbp),%eax
shl    $0x1e,%eax
mov    -0x18(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x18(%rbp)
mov    -0x14(%rbp),%eax
mov    -0x18(%rbp),%ecx
xor    -0x1c(%rbp),%ecx
and    %ecx,%eax
xor    -0x1c(%rbp),%eax
add    -0x6c(%rbp),%eax
add    $0x5a827999,%eax
mov    -0x24(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x24(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x20(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x14(%rbp),%eax
shl    $0x1e,%eax
mov    -0x14(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x14(%rbp)
mov    -0x24(%rbp),%eax
mov    -0x14(%rbp),%ecx
xor    -0x18(%rbp),%ecx
and    %ecx,%eax
xor    -0x18(%rbp),%eax
add    -0x68(%rbp),%eax
add    $0x5a827999,%eax
mov    -0x20(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x20(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x1c(%rbp),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x24(%rbp),%eax
shl    $0x1e,%eax
mov    -0x24(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x24(%rbp)
mov    -0x20(%rbp),%eax
mov    -0x24(%rbp),%ecx
xor    -0x14(%rbp),%ecx
and    %ecx,%eax
xor    -0x14(%rbp),%eax
add    -0x64(%rbp),%eax
add    $0x5a827999,%eax
mov    -0x1c(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x1c(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x18(%rbp),%eax
mov    %eax,-0x18(%rbp)
mov    -0x20(%rbp),%eax
shl    $0x1e,%eax
mov    -0x20(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x1c(%rbp),%eax
mov    -0x20(%rbp),%ecx
xor    -0x24(%rbp),%ecx
and    %ecx,%eax
xor    -0x24(%rbp),%eax
add    -0x60(%rbp),%eax
add    $0x5a827999,%eax
mov    -0x18(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x18(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x14(%rbp),%eax
mov    %eax,-0x14(%rbp)
mov    -0x1c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x1c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x1c(%rbp)
mov    -0x18(%rbp),%eax
mov    -0x1c(%rbp),%ecx
xor    -0x20(%rbp),%ecx
and    %ecx,%eax
xor    -0x20(%rbp),%eax
add    -0x5c(%rbp),%eax
add    $0x5a827999,%eax
mov    -0x14(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x14(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x24(%rbp),%eax
mov    %eax,-0x24(%rbp)
mov    -0x18(%rbp),%eax
shl    $0x1e,%eax
mov    -0x18(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x18(%rbp)
mov    -0x14(%rbp),%eax
mov    -0x18(%rbp),%ecx
xor    -0x1c(%rbp),%ecx
and    %ecx,%eax
xor    -0x1c(%rbp),%eax
add    -0x58(%rbp),%eax
add    $0x5a827999,%eax
mov    -0x24(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x24(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x20(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x14(%rbp),%eax
shl    $0x1e,%eax
mov    -0x14(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x14(%rbp)
mov    -0x24(%rbp),%eax
mov    -0x14(%rbp),%ecx
xor    -0x18(%rbp),%ecx
and    %ecx,%eax
xor    -0x18(%rbp),%eax
add    -0x54(%rbp),%eax
add    $0x5a827999,%eax
mov    -0x20(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x20(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x1c(%rbp),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x24(%rbp),%eax
shl    $0x1e,%eax
mov    -0x24(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x24(%rbp)
mov    -0x20(%rbp),%eax
mov    -0x24(%rbp),%ecx
xor    -0x14(%rbp),%ecx
and    %ecx,%eax
xor    -0x14(%rbp),%eax
add    -0x50(%rbp),%eax
add    $0x5a827999,%eax
mov    -0x1c(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x1c(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x18(%rbp),%eax
mov    %eax,-0x18(%rbp)
mov    -0x20(%rbp),%eax
shl    $0x1e,%eax
mov    -0x20(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x1c(%rbp),%eax
mov    -0x20(%rbp),%ecx
xor    -0x24(%rbp),%ecx
and    %ecx,%eax
xor    -0x24(%rbp),%eax
add    -0x4c(%rbp),%eax
add    $0x5a827999,%eax
mov    -0x18(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x18(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x14(%rbp),%eax
mov    %eax,-0x14(%rbp)
mov    -0x1c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x1c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x1c(%rbp)
mov    -0x18(%rbp),%eax
mov    -0x1c(%rbp),%ecx
xor    -0x20(%rbp),%ecx
and    %ecx,%eax
xor    -0x20(%rbp),%eax
add    -0x48(%rbp),%eax
add    $0x5a827999,%eax
mov    -0x14(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x14(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x24(%rbp),%eax
mov    %eax,-0x24(%rbp)
mov    -0x18(%rbp),%eax
shl    $0x1e,%eax
mov    -0x18(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x18(%rbp)
mov    -0x14(%rbp),%eax
mov    -0x18(%rbp),%ecx
xor    -0x1c(%rbp),%ecx
and    %ecx,%eax
xor    -0x1c(%rbp),%eax
add    -0x44(%rbp),%eax
add    $0x5a827999,%eax
mov    -0x24(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x24(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x20(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x14(%rbp),%eax
shl    $0x1e,%eax
mov    -0x14(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x14(%rbp)
mov    -0x24(%rbp),%eax
mov    -0x14(%rbp),%ecx
xor    -0x18(%rbp),%ecx
and    %ecx,%eax
xor    -0x18(%rbp),%eax
add    -0x40(%rbp),%eax
add    $0x5a827999,%eax
mov    -0x20(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x20(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x1c(%rbp),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x24(%rbp),%eax
shl    $0x1e,%eax
mov    -0x24(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x24(%rbp)
mov    -0x20(%rbp),%eax
mov    -0x24(%rbp),%ecx
xor    -0x14(%rbp),%ecx
and    %ecx,%eax
xor    -0x14(%rbp),%eax
add    -0x3c(%rbp),%eax
add    $0x5a827999,%eax
mov    -0x1c(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x1c(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x18(%rbp),%eax
mov    %eax,-0x18(%rbp)
mov    -0x20(%rbp),%eax
shl    $0x1e,%eax
mov    -0x20(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x1c(%rbp),%eax
mov    -0x20(%rbp),%ecx
xor    -0x24(%rbp),%ecx
and    %ecx,%eax
xor    -0x24(%rbp),%eax
add    -0x38(%rbp),%eax
add    $0x5a827999,%eax
mov    -0x18(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x18(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x14(%rbp),%eax
mov    %eax,-0x14(%rbp)
mov    -0x1c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x1c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x1c(%rbp)
mov    -0x18(%rbp),%eax
mov    -0x1c(%rbp),%ecx
xor    -0x20(%rbp),%ecx
and    %ecx,%eax
xor    -0x20(%rbp),%eax
add    -0x34(%rbp),%eax
add    $0x5a827999,%eax
mov    -0x14(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x14(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x24(%rbp),%eax
mov    %eax,-0x24(%rbp)
mov    -0x18(%rbp),%eax
shl    $0x1e,%eax
mov    -0x18(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x18(%rbp)
mov    -0x14(%rbp),%eax
mov    -0x18(%rbp),%ecx
xor    -0x1c(%rbp),%ecx
and    %ecx,%eax
xor    -0x1c(%rbp),%eax
mov    -0x3c(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x70(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x3c(%rbp),%edx
xor    -0x50(%rbp),%edx
xor    -0x68(%rbp),%edx
xor    -0x70(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x70(%rbp)
add    %ecx,%eax
add    $0x5a827999,%eax
mov    -0x24(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x24(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x20(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x14(%rbp),%eax
shl    $0x1e,%eax
mov    -0x14(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x14(%rbp)
mov    -0x24(%rbp),%eax
mov    -0x14(%rbp),%ecx
xor    -0x18(%rbp),%ecx
and    %ecx,%eax
xor    -0x18(%rbp),%eax
mov    -0x38(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x38(%rbp),%edx
xor    -0x4c(%rbp),%edx
xor    -0x64(%rbp),%edx
xor    -0x6c(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x6c(%rbp)
add    %ecx,%eax
add    $0x5a827999,%eax
mov    -0x20(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x20(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x1c(%rbp),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x24(%rbp),%eax
shl    $0x1e,%eax
mov    -0x24(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x24(%rbp)
mov    -0x20(%rbp),%eax
mov    -0x24(%rbp),%ecx
xor    -0x14(%rbp),%ecx
and    %ecx,%eax
xor    -0x14(%rbp),%eax
mov    -0x34(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x60(%rbp),%ecx
xor    -0x68(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x34(%rbp),%edx
xor    -0x48(%rbp),%edx
xor    -0x60(%rbp),%edx
xor    -0x68(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x68(%rbp)
add    %ecx,%eax
add    $0x5a827999,%eax
mov    -0x1c(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x1c(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x18(%rbp),%eax
mov    %eax,-0x18(%rbp)
mov    -0x20(%rbp),%eax
shl    $0x1e,%eax
mov    -0x20(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x1c(%rbp),%eax
mov    -0x20(%rbp),%ecx
xor    -0x24(%rbp),%ecx
and    %ecx,%eax
xor    -0x24(%rbp),%eax
mov    -0x70(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
xor    -0x64(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x70(%rbp),%edx
xor    -0x44(%rbp),%edx
xor    -0x5c(%rbp),%edx
xor    -0x64(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x64(%rbp)
add    %ecx,%eax
add    $0x5a827999,%eax
mov    -0x18(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x18(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x14(%rbp),%eax
mov    %eax,-0x14(%rbp)
mov    -0x1c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x1c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x1c(%rbp)
mov    -0x18(%rbp),%eax
xor    -0x1c(%rbp),%eax
xor    -0x20(%rbp),%eax
mov    -0x6c(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x60(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x6c(%rbp),%edx
xor    -0x40(%rbp),%edx
xor    -0x58(%rbp),%edx
xor    -0x60(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x60(%rbp)
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x14(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x14(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x24(%rbp),%eax
mov    %eax,-0x24(%rbp)
mov    -0x18(%rbp),%eax
shl    $0x1e,%eax
mov    -0x18(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x18(%rbp)
mov    -0x14(%rbp),%eax
xor    -0x18(%rbp),%eax
xor    -0x1c(%rbp),%eax
mov    -0x68(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x68(%rbp),%edx
xor    -0x3c(%rbp),%edx
xor    -0x54(%rbp),%edx
xor    -0x5c(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x5c(%rbp)
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x24(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x24(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x20(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x14(%rbp),%eax
shl    $0x1e,%eax
mov    -0x14(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x14(%rbp)
mov    -0x24(%rbp),%eax
xor    -0x14(%rbp),%eax
xor    -0x18(%rbp),%eax
mov    -0x64(%rbp),%ecx
xor    -0x38(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x58(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x64(%rbp),%edx
xor    -0x38(%rbp),%edx
xor    -0x50(%rbp),%edx
xor    -0x58(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x58(%rbp)
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x20(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x20(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x1c(%rbp),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x24(%rbp),%eax
shl    $0x1e,%eax
mov    -0x24(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x24(%rbp)
mov    -0x20(%rbp),%eax
xor    -0x24(%rbp),%eax
xor    -0x14(%rbp),%eax
mov    -0x60(%rbp),%ecx
xor    -0x34(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
xor    -0x54(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x60(%rbp),%edx
xor    -0x34(%rbp),%edx
xor    -0x4c(%rbp),%edx
xor    -0x54(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x54(%rbp)
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x1c(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x1c(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x18(%rbp),%eax
mov    %eax,-0x18(%rbp)
mov    -0x20(%rbp),%eax
shl    $0x1e,%eax
mov    -0x20(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x1c(%rbp),%eax
xor    -0x20(%rbp),%eax
xor    -0x24(%rbp),%eax
mov    -0x5c(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x50(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x5c(%rbp),%edx
xor    -0x70(%rbp),%edx
xor    -0x48(%rbp),%edx
xor    -0x50(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x50(%rbp)
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x18(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x18(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x14(%rbp),%eax
mov    %eax,-0x14(%rbp)
mov    -0x1c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x1c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x1c(%rbp)
mov    -0x18(%rbp),%eax
xor    -0x1c(%rbp),%eax
xor    -0x20(%rbp),%eax
mov    -0x58(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x58(%rbp),%edx
xor    -0x6c(%rbp),%edx
xor    -0x44(%rbp),%edx
xor    -0x4c(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x4c(%rbp)
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x14(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x14(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x24(%rbp),%eax
mov    %eax,-0x24(%rbp)
mov    -0x18(%rbp),%eax
shl    $0x1e,%eax
mov    -0x18(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x18(%rbp)
mov    -0x14(%rbp),%eax
xor    -0x18(%rbp),%eax
xor    -0x1c(%rbp),%eax
mov    -0x54(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x48(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x54(%rbp),%edx
xor    -0x68(%rbp),%edx
xor    -0x40(%rbp),%edx
xor    -0x48(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x48(%rbp)
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x24(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x24(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x20(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x14(%rbp),%eax
shl    $0x1e,%eax
mov    -0x14(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x14(%rbp)
mov    -0x24(%rbp),%eax
xor    -0x14(%rbp),%eax
xor    -0x18(%rbp),%eax
mov    -0x50(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x50(%rbp),%edx
xor    -0x64(%rbp),%edx
xor    -0x3c(%rbp),%edx
xor    -0x44(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x44(%rbp)
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x20(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x20(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x1c(%rbp),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x24(%rbp),%eax
shl    $0x1e,%eax
mov    -0x24(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x24(%rbp)
mov    -0x20(%rbp),%eax
xor    -0x24(%rbp),%eax
xor    -0x14(%rbp),%eax
mov    -0x4c(%rbp),%ecx
xor    -0x60(%rbp),%ecx
xor    -0x38(%rbp),%ecx
xor    -0x40(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x4c(%rbp),%edx
xor    -0x60(%rbp),%edx
xor    -0x38(%rbp),%edx
xor    -0x40(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x40(%rbp)
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x1c(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x1c(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x18(%rbp),%eax
mov    %eax,-0x18(%rbp)
mov    -0x20(%rbp),%eax
shl    $0x1e,%eax
mov    -0x20(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x1c(%rbp),%eax
xor    -0x20(%rbp),%eax
xor    -0x24(%rbp),%eax
mov    -0x48(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
xor    -0x34(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x48(%rbp),%edx
xor    -0x5c(%rbp),%edx
xor    -0x34(%rbp),%edx
xor    -0x3c(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x3c(%rbp)
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x18(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x18(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x14(%rbp),%eax
mov    %eax,-0x14(%rbp)
mov    -0x1c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x1c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x1c(%rbp)
mov    -0x18(%rbp),%eax
xor    -0x1c(%rbp),%eax
xor    -0x20(%rbp),%eax
mov    -0x44(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x38(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x44(%rbp),%edx
xor    -0x58(%rbp),%edx
xor    -0x70(%rbp),%edx
xor    -0x38(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x38(%rbp)
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x14(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x14(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x24(%rbp),%eax
mov    %eax,-0x24(%rbp)
mov    -0x18(%rbp),%eax
shl    $0x1e,%eax
mov    -0x18(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x18(%rbp)
mov    -0x14(%rbp),%eax
xor    -0x18(%rbp),%eax
xor    -0x1c(%rbp),%eax
mov    -0x40(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x34(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x40(%rbp),%edx
xor    -0x54(%rbp),%edx
xor    -0x6c(%rbp),%edx
xor    -0x34(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x34(%rbp)
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x24(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x24(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x20(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x14(%rbp),%eax
shl    $0x1e,%eax
mov    -0x14(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x14(%rbp)
mov    -0x24(%rbp),%eax
xor    -0x14(%rbp),%eax
xor    -0x18(%rbp),%eax
mov    -0x3c(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x70(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x3c(%rbp),%edx
xor    -0x50(%rbp),%edx
xor    -0x68(%rbp),%edx
xor    -0x70(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x70(%rbp)
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x20(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x20(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x1c(%rbp),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x24(%rbp),%eax
shl    $0x1e,%eax
mov    -0x24(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x24(%rbp)
mov    -0x20(%rbp),%eax
xor    -0x24(%rbp),%eax
xor    -0x14(%rbp),%eax
mov    -0x38(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x38(%rbp),%edx
xor    -0x4c(%rbp),%edx
xor    -0x64(%rbp),%edx
xor    -0x6c(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x6c(%rbp)
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x1c(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x1c(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x18(%rbp),%eax
mov    %eax,-0x18(%rbp)
mov    -0x20(%rbp),%eax
shl    $0x1e,%eax
mov    -0x20(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x1c(%rbp),%eax
xor    -0x20(%rbp),%eax
xor    -0x24(%rbp),%eax
mov    -0x34(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x60(%rbp),%ecx
xor    -0x68(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x34(%rbp),%edx
xor    -0x48(%rbp),%edx
xor    -0x60(%rbp),%edx
xor    -0x68(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x68(%rbp)
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x18(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x18(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x14(%rbp),%eax
mov    %eax,-0x14(%rbp)
mov    -0x1c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x1c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x1c(%rbp)
mov    -0x18(%rbp),%eax
xor    -0x1c(%rbp),%eax
xor    -0x20(%rbp),%eax
mov    -0x70(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
xor    -0x64(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x70(%rbp),%edx
xor    -0x44(%rbp),%edx
xor    -0x5c(%rbp),%edx
xor    -0x64(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x64(%rbp)
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x14(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x14(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x24(%rbp),%eax
mov    %eax,-0x24(%rbp)
mov    -0x18(%rbp),%eax
shl    $0x1e,%eax
mov    -0x18(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x18(%rbp)
mov    -0x14(%rbp),%eax
xor    -0x18(%rbp),%eax
xor    -0x1c(%rbp),%eax
mov    -0x6c(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x60(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x6c(%rbp),%edx
xor    -0x40(%rbp),%edx
xor    -0x58(%rbp),%edx
xor    -0x60(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x60(%rbp)
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x24(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x24(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x20(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x14(%rbp),%eax
shl    $0x1e,%eax
mov    -0x14(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x14(%rbp)
mov    -0x24(%rbp),%eax
xor    -0x14(%rbp),%eax
xor    -0x18(%rbp),%eax
mov    -0x68(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x68(%rbp),%edx
xor    -0x3c(%rbp),%edx
xor    -0x54(%rbp),%edx
xor    -0x5c(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x5c(%rbp)
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x20(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x20(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x1c(%rbp),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x24(%rbp),%eax
shl    $0x1e,%eax
mov    -0x24(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x24(%rbp)
mov    -0x20(%rbp),%eax
xor    -0x24(%rbp),%eax
xor    -0x14(%rbp),%eax
mov    -0x64(%rbp),%ecx
xor    -0x38(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x58(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x64(%rbp),%edx
xor    -0x38(%rbp),%edx
xor    -0x50(%rbp),%edx
xor    -0x58(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x58(%rbp)
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x1c(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x1c(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x18(%rbp),%eax
mov    %eax,-0x18(%rbp)
mov    -0x20(%rbp),%eax
shl    $0x1e,%eax
mov    -0x20(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x1c(%rbp),%eax
xor    -0x20(%rbp),%eax
xor    -0x24(%rbp),%eax
mov    -0x60(%rbp),%ecx
xor    -0x34(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
xor    -0x54(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x60(%rbp),%edx
xor    -0x34(%rbp),%edx
xor    -0x4c(%rbp),%edx
xor    -0x54(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x54(%rbp)
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x18(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x18(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x14(%rbp),%eax
mov    %eax,-0x14(%rbp)
mov    -0x1c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x1c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x1c(%rbp)
mov    -0x18(%rbp),%eax
or     -0x1c(%rbp),%eax
and    -0x20(%rbp),%eax
mov    -0x18(%rbp),%ecx
and    -0x1c(%rbp),%ecx
or     %ecx,%eax
mov    -0x5c(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x50(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x5c(%rbp),%edx
xor    -0x70(%rbp),%edx
xor    -0x48(%rbp),%edx
xor    -0x50(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x50(%rbp)
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x14(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x14(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x24(%rbp),%eax
mov    %eax,-0x24(%rbp)
mov    -0x18(%rbp),%eax
shl    $0x1e,%eax
mov    -0x18(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x18(%rbp)
mov    -0x14(%rbp),%eax
or     -0x18(%rbp),%eax
and    -0x1c(%rbp),%eax
mov    -0x14(%rbp),%ecx
and    -0x18(%rbp),%ecx
or     %ecx,%eax
mov    -0x58(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x58(%rbp),%edx
xor    -0x6c(%rbp),%edx
xor    -0x44(%rbp),%edx
xor    -0x4c(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x4c(%rbp)
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x24(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x24(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x20(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x14(%rbp),%eax
shl    $0x1e,%eax
mov    -0x14(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x14(%rbp)
mov    -0x24(%rbp),%eax
or     -0x14(%rbp),%eax
and    -0x18(%rbp),%eax
mov    -0x24(%rbp),%ecx
and    -0x14(%rbp),%ecx
or     %ecx,%eax
mov    -0x54(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x48(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x54(%rbp),%edx
xor    -0x68(%rbp),%edx
xor    -0x40(%rbp),%edx
xor    -0x48(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x48(%rbp)
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x20(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x20(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x1c(%rbp),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x24(%rbp),%eax
shl    $0x1e,%eax
mov    -0x24(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x24(%rbp)
mov    -0x20(%rbp),%eax
or     -0x24(%rbp),%eax
and    -0x14(%rbp),%eax
mov    -0x20(%rbp),%ecx
and    -0x24(%rbp),%ecx
or     %ecx,%eax
mov    -0x50(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x50(%rbp),%edx
xor    -0x64(%rbp),%edx
xor    -0x3c(%rbp),%edx
xor    -0x44(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x44(%rbp)
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x1c(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x1c(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x18(%rbp),%eax
mov    %eax,-0x18(%rbp)
mov    -0x20(%rbp),%eax
shl    $0x1e,%eax
mov    -0x20(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x1c(%rbp),%eax
or     -0x20(%rbp),%eax
and    -0x24(%rbp),%eax
mov    -0x1c(%rbp),%ecx
and    -0x20(%rbp),%ecx
or     %ecx,%eax
mov    -0x4c(%rbp),%ecx
xor    -0x60(%rbp),%ecx
xor    -0x38(%rbp),%ecx
xor    -0x40(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x4c(%rbp),%edx
xor    -0x60(%rbp),%edx
xor    -0x38(%rbp),%edx
xor    -0x40(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x40(%rbp)
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x18(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x18(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x14(%rbp),%eax
mov    %eax,-0x14(%rbp)
mov    -0x1c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x1c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x1c(%rbp)
mov    -0x18(%rbp),%eax
or     -0x1c(%rbp),%eax
and    -0x20(%rbp),%eax
mov    -0x18(%rbp),%ecx
and    -0x1c(%rbp),%ecx
or     %ecx,%eax
mov    -0x48(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
xor    -0x34(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x48(%rbp),%edx
xor    -0x5c(%rbp),%edx
xor    -0x34(%rbp),%edx
xor    -0x3c(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x3c(%rbp)
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x14(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x14(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x24(%rbp),%eax
mov    %eax,-0x24(%rbp)
mov    -0x18(%rbp),%eax
shl    $0x1e,%eax
mov    -0x18(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x18(%rbp)
mov    -0x14(%rbp),%eax
or     -0x18(%rbp),%eax
and    -0x1c(%rbp),%eax
mov    -0x14(%rbp),%ecx
and    -0x18(%rbp),%ecx
or     %ecx,%eax
mov    -0x44(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x38(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x44(%rbp),%edx
xor    -0x58(%rbp),%edx
xor    -0x70(%rbp),%edx
xor    -0x38(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x38(%rbp)
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x24(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x24(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x20(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x14(%rbp),%eax
shl    $0x1e,%eax
mov    -0x14(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x14(%rbp)
mov    -0x24(%rbp),%eax
or     -0x14(%rbp),%eax
and    -0x18(%rbp),%eax
mov    -0x24(%rbp),%ecx
and    -0x14(%rbp),%ecx
or     %ecx,%eax
mov    -0x40(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x34(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x40(%rbp),%edx
xor    -0x54(%rbp),%edx
xor    -0x6c(%rbp),%edx
xor    -0x34(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x34(%rbp)
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x20(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x20(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x1c(%rbp),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x24(%rbp),%eax
shl    $0x1e,%eax
mov    -0x24(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x24(%rbp)
mov    -0x20(%rbp),%eax
or     -0x24(%rbp),%eax
and    -0x14(%rbp),%eax
mov    -0x20(%rbp),%ecx
and    -0x24(%rbp),%ecx
or     %ecx,%eax
mov    -0x3c(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x70(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x3c(%rbp),%edx
xor    -0x50(%rbp),%edx
xor    -0x68(%rbp),%edx
xor    -0x70(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x70(%rbp)
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x1c(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x1c(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x18(%rbp),%eax
mov    %eax,-0x18(%rbp)
mov    -0x20(%rbp),%eax
shl    $0x1e,%eax
mov    -0x20(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x1c(%rbp),%eax
or     -0x20(%rbp),%eax
and    -0x24(%rbp),%eax
mov    -0x1c(%rbp),%ecx
and    -0x20(%rbp),%ecx
or     %ecx,%eax
mov    -0x38(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x38(%rbp),%edx
xor    -0x4c(%rbp),%edx
xor    -0x64(%rbp),%edx
xor    -0x6c(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x6c(%rbp)
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x18(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x18(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x14(%rbp),%eax
mov    %eax,-0x14(%rbp)
mov    -0x1c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x1c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x1c(%rbp)
mov    -0x18(%rbp),%eax
or     -0x1c(%rbp),%eax
and    -0x20(%rbp),%eax
mov    -0x18(%rbp),%ecx
and    -0x1c(%rbp),%ecx
or     %ecx,%eax
mov    -0x34(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x60(%rbp),%ecx
xor    -0x68(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x34(%rbp),%edx
xor    -0x48(%rbp),%edx
xor    -0x60(%rbp),%edx
xor    -0x68(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x68(%rbp)
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x14(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x14(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x24(%rbp),%eax
mov    %eax,-0x24(%rbp)
mov    -0x18(%rbp),%eax
shl    $0x1e,%eax
mov    -0x18(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x18(%rbp)
mov    -0x14(%rbp),%eax
or     -0x18(%rbp),%eax
and    -0x1c(%rbp),%eax
mov    -0x14(%rbp),%ecx
and    -0x18(%rbp),%ecx
or     %ecx,%eax
mov    -0x70(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
xor    -0x64(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x70(%rbp),%edx
xor    -0x44(%rbp),%edx
xor    -0x5c(%rbp),%edx
xor    -0x64(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x64(%rbp)
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x24(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x24(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x20(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x14(%rbp),%eax
shl    $0x1e,%eax
mov    -0x14(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x14(%rbp)
mov    -0x24(%rbp),%eax
or     -0x14(%rbp),%eax
and    -0x18(%rbp),%eax
mov    -0x24(%rbp),%ecx
and    -0x14(%rbp),%ecx
or     %ecx,%eax
mov    -0x6c(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x60(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x6c(%rbp),%edx
xor    -0x40(%rbp),%edx
xor    -0x58(%rbp),%edx
xor    -0x60(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x60(%rbp)
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x20(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x20(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x1c(%rbp),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x24(%rbp),%eax
shl    $0x1e,%eax
mov    -0x24(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x24(%rbp)
mov    -0x20(%rbp),%eax
or     -0x24(%rbp),%eax
and    -0x14(%rbp),%eax
mov    -0x20(%rbp),%ecx
and    -0x24(%rbp),%ecx
or     %ecx,%eax
mov    -0x68(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x68(%rbp),%edx
xor    -0x3c(%rbp),%edx
xor    -0x54(%rbp),%edx
xor    -0x5c(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x5c(%rbp)
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x1c(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x1c(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x18(%rbp),%eax
mov    %eax,-0x18(%rbp)
mov    -0x20(%rbp),%eax
shl    $0x1e,%eax
mov    -0x20(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x1c(%rbp),%eax
or     -0x20(%rbp),%eax
and    -0x24(%rbp),%eax
mov    -0x1c(%rbp),%ecx
and    -0x20(%rbp),%ecx
or     %ecx,%eax
mov    -0x64(%rbp),%ecx
xor    -0x38(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x58(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x64(%rbp),%edx
xor    -0x38(%rbp),%edx
xor    -0x50(%rbp),%edx
xor    -0x58(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x58(%rbp)
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x18(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x18(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x14(%rbp),%eax
mov    %eax,-0x14(%rbp)
mov    -0x1c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x1c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x1c(%rbp)
mov    -0x18(%rbp),%eax
or     -0x1c(%rbp),%eax
and    -0x20(%rbp),%eax
mov    -0x18(%rbp),%ecx
and    -0x1c(%rbp),%ecx
or     %ecx,%eax
mov    -0x60(%rbp),%ecx
xor    -0x34(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
xor    -0x54(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x60(%rbp),%edx
xor    -0x34(%rbp),%edx
xor    -0x4c(%rbp),%edx
xor    -0x54(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x54(%rbp)
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x14(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x14(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x24(%rbp),%eax
mov    %eax,-0x24(%rbp)
mov    -0x18(%rbp),%eax
shl    $0x1e,%eax
mov    -0x18(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x18(%rbp)
mov    -0x14(%rbp),%eax
or     -0x18(%rbp),%eax
and    -0x1c(%rbp),%eax
mov    -0x14(%rbp),%ecx
and    -0x18(%rbp),%ecx
or     %ecx,%eax
mov    -0x5c(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x50(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x5c(%rbp),%edx
xor    -0x70(%rbp),%edx
xor    -0x48(%rbp),%edx
xor    -0x50(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x50(%rbp)
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x24(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x24(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x20(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x14(%rbp),%eax
shl    $0x1e,%eax
mov    -0x14(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x14(%rbp)
mov    -0x24(%rbp),%eax
or     -0x14(%rbp),%eax
and    -0x18(%rbp),%eax
mov    -0x24(%rbp),%ecx
and    -0x14(%rbp),%ecx
or     %ecx,%eax
mov    -0x58(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x58(%rbp),%edx
xor    -0x6c(%rbp),%edx
xor    -0x44(%rbp),%edx
xor    -0x4c(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x4c(%rbp)
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x20(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x20(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x1c(%rbp),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x24(%rbp),%eax
shl    $0x1e,%eax
mov    -0x24(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x24(%rbp)
mov    -0x20(%rbp),%eax
or     -0x24(%rbp),%eax
and    -0x14(%rbp),%eax
mov    -0x20(%rbp),%ecx
and    -0x24(%rbp),%ecx
or     %ecx,%eax
mov    -0x54(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x48(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x54(%rbp),%edx
xor    -0x68(%rbp),%edx
xor    -0x40(%rbp),%edx
xor    -0x48(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x48(%rbp)
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x1c(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x1c(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x18(%rbp),%eax
mov    %eax,-0x18(%rbp)
mov    -0x20(%rbp),%eax
shl    $0x1e,%eax
mov    -0x20(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x1c(%rbp),%eax
or     -0x20(%rbp),%eax
and    -0x24(%rbp),%eax
mov    -0x1c(%rbp),%ecx
and    -0x20(%rbp),%ecx
or     %ecx,%eax
mov    -0x50(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x50(%rbp),%edx
xor    -0x64(%rbp),%edx
xor    -0x3c(%rbp),%edx
xor    -0x44(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x44(%rbp)
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x18(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x18(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x14(%rbp),%eax
mov    %eax,-0x14(%rbp)
mov    -0x1c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x1c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x1c(%rbp)
mov    -0x18(%rbp),%eax
xor    -0x1c(%rbp),%eax
xor    -0x20(%rbp),%eax
mov    -0x4c(%rbp),%ecx
xor    -0x60(%rbp),%ecx
xor    -0x38(%rbp),%ecx
xor    -0x40(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x4c(%rbp),%edx
xor    -0x60(%rbp),%edx
xor    -0x38(%rbp),%edx
xor    -0x40(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x40(%rbp)
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x14(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x14(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x24(%rbp),%eax
mov    %eax,-0x24(%rbp)
mov    -0x18(%rbp),%eax
shl    $0x1e,%eax
mov    -0x18(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x18(%rbp)
mov    -0x14(%rbp),%eax
xor    -0x18(%rbp),%eax
xor    -0x1c(%rbp),%eax
mov    -0x48(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
xor    -0x34(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x48(%rbp),%edx
xor    -0x5c(%rbp),%edx
xor    -0x34(%rbp),%edx
xor    -0x3c(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x3c(%rbp)
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x24(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x24(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x20(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x14(%rbp),%eax
shl    $0x1e,%eax
mov    -0x14(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x14(%rbp)
mov    -0x24(%rbp),%eax
xor    -0x14(%rbp),%eax
xor    -0x18(%rbp),%eax
mov    -0x44(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x38(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x44(%rbp),%edx
xor    -0x58(%rbp),%edx
xor    -0x70(%rbp),%edx
xor    -0x38(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x38(%rbp)
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x20(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x20(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x1c(%rbp),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x24(%rbp),%eax
shl    $0x1e,%eax
mov    -0x24(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x24(%rbp)
mov    -0x20(%rbp),%eax
xor    -0x24(%rbp),%eax
xor    -0x14(%rbp),%eax
mov    -0x40(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x34(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x40(%rbp),%edx
xor    -0x54(%rbp),%edx
xor    -0x6c(%rbp),%edx
xor    -0x34(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x34(%rbp)
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x1c(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x1c(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x18(%rbp),%eax
mov    %eax,-0x18(%rbp)
mov    -0x20(%rbp),%eax
shl    $0x1e,%eax
mov    -0x20(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x1c(%rbp),%eax
xor    -0x20(%rbp),%eax
xor    -0x24(%rbp),%eax
mov    -0x3c(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x70(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x3c(%rbp),%edx
xor    -0x50(%rbp),%edx
xor    -0x68(%rbp),%edx
xor    -0x70(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x70(%rbp)
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x18(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x18(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x14(%rbp),%eax
mov    %eax,-0x14(%rbp)
mov    -0x1c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x1c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x1c(%rbp)
mov    -0x18(%rbp),%eax
xor    -0x1c(%rbp),%eax
xor    -0x20(%rbp),%eax
mov    -0x38(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x38(%rbp),%edx
xor    -0x4c(%rbp),%edx
xor    -0x64(%rbp),%edx
xor    -0x6c(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x6c(%rbp)
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x14(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x14(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x24(%rbp),%eax
mov    %eax,-0x24(%rbp)
mov    -0x18(%rbp),%eax
shl    $0x1e,%eax
mov    -0x18(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x18(%rbp)
mov    -0x14(%rbp),%eax
xor    -0x18(%rbp),%eax
xor    -0x1c(%rbp),%eax
mov    -0x34(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x60(%rbp),%ecx
xor    -0x68(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x34(%rbp),%edx
xor    -0x48(%rbp),%edx
xor    -0x60(%rbp),%edx
xor    -0x68(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x68(%rbp)
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x24(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x24(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x20(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x14(%rbp),%eax
shl    $0x1e,%eax
mov    -0x14(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x14(%rbp)
mov    -0x24(%rbp),%eax
xor    -0x14(%rbp),%eax
xor    -0x18(%rbp),%eax
mov    -0x70(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
xor    -0x64(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x70(%rbp),%edx
xor    -0x44(%rbp),%edx
xor    -0x5c(%rbp),%edx
xor    -0x64(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x64(%rbp)
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x20(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x20(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x1c(%rbp),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x24(%rbp),%eax
shl    $0x1e,%eax
mov    -0x24(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x24(%rbp)
mov    -0x20(%rbp),%eax
xor    -0x24(%rbp),%eax
xor    -0x14(%rbp),%eax
mov    -0x6c(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x60(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x6c(%rbp),%edx
xor    -0x40(%rbp),%edx
xor    -0x58(%rbp),%edx
xor    -0x60(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x60(%rbp)
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x1c(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x1c(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x18(%rbp),%eax
mov    %eax,-0x18(%rbp)
mov    -0x20(%rbp),%eax
shl    $0x1e,%eax
mov    -0x20(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x1c(%rbp),%eax
xor    -0x20(%rbp),%eax
xor    -0x24(%rbp),%eax
mov    -0x68(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x68(%rbp),%edx
xor    -0x3c(%rbp),%edx
xor    -0x54(%rbp),%edx
xor    -0x5c(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x5c(%rbp)
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x18(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x18(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x14(%rbp),%eax
mov    %eax,-0x14(%rbp)
mov    -0x1c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x1c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x1c(%rbp)
mov    -0x18(%rbp),%eax
xor    -0x1c(%rbp),%eax
xor    -0x20(%rbp),%eax
mov    -0x64(%rbp),%ecx
xor    -0x38(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x58(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x64(%rbp),%edx
xor    -0x38(%rbp),%edx
xor    -0x50(%rbp),%edx
xor    -0x58(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x58(%rbp)
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x14(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x14(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x24(%rbp),%eax
mov    %eax,-0x24(%rbp)
mov    -0x18(%rbp),%eax
shl    $0x1e,%eax
mov    -0x18(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x18(%rbp)
mov    -0x14(%rbp),%eax
xor    -0x18(%rbp),%eax
xor    -0x1c(%rbp),%eax
mov    -0x60(%rbp),%ecx
xor    -0x34(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
xor    -0x54(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x60(%rbp),%edx
xor    -0x34(%rbp),%edx
xor    -0x4c(%rbp),%edx
xor    -0x54(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x54(%rbp)
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x24(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x24(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x20(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x14(%rbp),%eax
shl    $0x1e,%eax
mov    -0x14(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x14(%rbp)
mov    -0x24(%rbp),%eax
xor    -0x14(%rbp),%eax
xor    -0x18(%rbp),%eax
mov    -0x5c(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x50(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x5c(%rbp),%edx
xor    -0x70(%rbp),%edx
xor    -0x48(%rbp),%edx
xor    -0x50(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x50(%rbp)
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x20(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x20(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x1c(%rbp),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x24(%rbp),%eax
shl    $0x1e,%eax
mov    -0x24(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x24(%rbp)
mov    -0x20(%rbp),%eax
xor    -0x24(%rbp),%eax
xor    -0x14(%rbp),%eax
mov    -0x58(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x58(%rbp),%edx
xor    -0x6c(%rbp),%edx
xor    -0x44(%rbp),%edx
xor    -0x4c(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x4c(%rbp)
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x1c(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x1c(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x18(%rbp),%eax
mov    %eax,-0x18(%rbp)
mov    -0x20(%rbp),%eax
shl    $0x1e,%eax
mov    -0x20(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x1c(%rbp),%eax
xor    -0x20(%rbp),%eax
xor    -0x24(%rbp),%eax
mov    -0x54(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x48(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x54(%rbp),%edx
xor    -0x68(%rbp),%edx
xor    -0x40(%rbp),%edx
xor    -0x48(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x48(%rbp)
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x18(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x18(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x14(%rbp),%eax
mov    %eax,-0x14(%rbp)
mov    -0x1c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x1c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x1c(%rbp)
mov    -0x18(%rbp),%eax
xor    -0x1c(%rbp),%eax
xor    -0x20(%rbp),%eax
mov    -0x50(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x50(%rbp),%edx
xor    -0x64(%rbp),%edx
xor    -0x3c(%rbp),%edx
xor    -0x44(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x44(%rbp)
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x14(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x14(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x24(%rbp),%eax
mov    %eax,-0x24(%rbp)
mov    -0x18(%rbp),%eax
shl    $0x1e,%eax
mov    -0x18(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x18(%rbp)
mov    -0x14(%rbp),%eax
xor    -0x18(%rbp),%eax
xor    -0x1c(%rbp),%eax
mov    -0x4c(%rbp),%ecx
xor    -0x60(%rbp),%ecx
xor    -0x38(%rbp),%ecx
xor    -0x40(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x4c(%rbp),%edx
xor    -0x60(%rbp),%edx
xor    -0x38(%rbp),%edx
xor    -0x40(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x40(%rbp)
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x24(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x24(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x20(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x14(%rbp),%eax
shl    $0x1e,%eax
mov    -0x14(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x14(%rbp)
mov    -0x24(%rbp),%eax
xor    -0x14(%rbp),%eax
xor    -0x18(%rbp),%eax
mov    -0x48(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
xor    -0x34(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x48(%rbp),%edx
xor    -0x5c(%rbp),%edx
xor    -0x34(%rbp),%edx
xor    -0x3c(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x3c(%rbp)
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x20(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x20(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x1c(%rbp),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x24(%rbp),%eax
shl    $0x1e,%eax
mov    -0x24(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x24(%rbp)
mov    -0x20(%rbp),%eax
xor    -0x24(%rbp),%eax
xor    -0x14(%rbp),%eax
mov    -0x44(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x38(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x44(%rbp),%edx
xor    -0x58(%rbp),%edx
xor    -0x70(%rbp),%edx
xor    -0x38(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x38(%rbp)
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x1c(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x1c(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x18(%rbp),%eax
mov    %eax,-0x18(%rbp)
mov    -0x20(%rbp),%eax
shl    $0x1e,%eax
mov    -0x20(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x1c(%rbp),%eax
xor    -0x20(%rbp),%eax
xor    -0x24(%rbp),%eax
mov    -0x40(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x34(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x40(%rbp),%edx
xor    -0x54(%rbp),%edx
xor    -0x6c(%rbp),%edx
xor    -0x34(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x34(%rbp)
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x18(%rbp),%ecx
shl    $0x5,%ecx
mov    -0x18(%rbp),%edx
shr    $0x1b,%edx
or     %edx,%ecx
add    %ecx,%eax
add    -0x14(%rbp),%eax
mov    %eax,-0x14(%rbp)
mov    -0x1c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x1c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x1c(%rbp)
mov    -0x14(%rbp),%ecx
mov    -0x8(%rbp),%rax
add    (%rax),%ecx
mov    %ecx,(%rax)
mov    -0x18(%rbp),%ecx
mov    -0x8(%rbp),%rax
add    0x4(%rax),%ecx
mov    %ecx,0x4(%rax)
mov    -0x1c(%rbp),%ecx
mov    -0x8(%rbp),%rax
add    0x8(%rax),%ecx
mov    %ecx,0x8(%rax)
mov    -0x20(%rbp),%ecx
mov    -0x8(%rbp),%rax
add    0xc(%rax),%ecx
mov    %ecx,0xc(%rax)
mov    -0x24(%rbp),%ecx
mov    -0x8(%rbp),%rax
add    0x10(%rax),%ecx
mov    %ecx,0x10(%rax)
add    $0x70,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<sha1_transform>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
mov    %rdi,-0x8(%rsp)
mov    (%rsi),%r8d
mov    0x4(%rsi),%r13d
mov    0x8(%rsi),%r12d
mov    (%rdi),%edx
mov    0x4(%rdi),%ecx
mov    0x8(%rdi),%ebp
mov    0xc(%rdi),%eax
mov    0x10(%rdi),%r10d
mov    %r10d,-0x24(%rsp)
mov    %rax,%rdi
xor    %ebp,%eax
and    %ecx,%eax
mov    %rcx,%rbx
mov    %rcx,-0x10(%rsp)
mov    %edx,%ecx
rol    $0x5,%ecx
xor    %edi,%eax
mov    %rdi,%r11
mov    %rdi,-0x18(%rsp)
add    %r8d,%ecx
add    %r10d,%ecx
lea    (%rax,%rcx,1),%r10d
add    $0x5a827999,%r10d
mov    %ebx,%edi
rol    $0x1e,%edi
mov    %edi,%eax
xor    %ebp,%eax
mov    %edx,%ebx
mov    %edx,-0x28(%rsp)
and    %edx,%eax
xor    %ebp,%eax
mov    %rbp,%r14
mov    %rbp,-0x20(%rsp)
mov    %r10d,%edx
rol    $0x5,%edx
add    %r13d,%eax
add    %r11d,%eax
lea    (%rdx,%rax,1),%ecx
add    $0x5a827999,%ecx
mov    %ebx,%ebp
rol    $0x1e,%ebp
mov    %edi,%eax
xor    %ebp,%eax
and    %r10d,%eax
xor    %edi,%eax
add    %r12d,%eax
add    %r14d,%eax
mov    %ecx,%edx
rol    $0x5,%edx
add    %edx,%eax
add    $0x5a827999,%eax
rol    $0x1e,%r10d
mov    %r10d,%edx
xor    %ebp,%edx
and    %ecx,%edx
xor    %ebp,%edx
mov    0xc(%rsi),%ebx
mov    %ebx,-0x68(%rsp)
add    %ebx,%edi
add    %edx,%edi
mov    %eax,%edx
rol    $0x5,%edx
rol    $0x1e,%ecx
lea    (%rdx,%rdi,1),%ebx
add    $0x5a827999,%ebx
mov    %ecx,%edx
xor    %r10d,%edx
and    %eax,%edx
xor    %r10d,%edx
mov    %ebx,%edi
rol    $0x5,%edi
mov    0x10(%rsi),%r9d
mov    %r9d,-0x64(%rsp)
add    %r9d,%ebp
add    %edx,%ebp
add    %ebp,%edi
add    $0x5a827999,%edi
rol    $0x1e,%eax
mov    %eax,%edx
xor    %ecx,%edx
and    %ebx,%edx
xor    %ecx,%edx
mov    0x14(%rsi),%ebp
mov    %ebp,-0x44(%rsp)
add    %ebp,%r10d
add    %edx,%r10d
mov    %edi,%edx
rol    $0x5,%edx
lea    (%rdx,%r10,1),%ebp
add    $0x5a827999,%ebp
rol    $0x1e,%ebx
mov    %ebx,%edx
xor    %eax,%edx
and    %edi,%edx
xor    %eax,%edx
mov    0x18(%rsi),%r9d
mov    %r9d,-0x6c(%rsp)
add    %r9d,%ecx
add    %edx,%ecx
mov    %ebp,%edx
rol    $0x5,%edx
lea    (%rdx,%rcx,1),%r10d
add    $0x5a827999,%r10d
rol    $0x1e,%edi
mov    %edi,%ecx
xor    %ebx,%ecx
and    %ebp,%ecx
xor    %ebx,%ecx
mov    0x1c(%rsi),%edx
mov    %edx,-0x4c(%rsp)
add    %edx,%eax
add    %ecx,%eax
mov    %r10d,%ecx
rol    $0x5,%ecx
rol    $0x1e,%ebp
add    %eax,%ecx
add    $0x5a827999,%ecx
mov    %ebp,%eax
xor    %edi,%eax
and    %r10d,%eax
xor    %edi,%eax
mov    %ecx,%edx
rol    $0x5,%edx
mov    0x20(%rsi),%r9d
add    %r9d,%ebx
mov    %r9d,%r15d
mov    %r9d,-0x54(%rsp)
add    %eax,%ebx
lea    (%rdx,%rbx,1),%eax
add    $0x5a827999,%eax
rol    $0x1e,%r10d
mov    %r10d,%edx
xor    %ebp,%edx
and    %ecx,%edx
xor    %ebp,%edx
mov    0x24(%rsi),%ebx
mov    %ebx,-0x5c(%rsp)
add    %ebx,%edi
add    %edx,%edi
mov    %eax,%edx
rol    $0x5,%edx
add    %edi,%edx
add    $0x5a827999,%edx
rol    $0x1e,%ecx
mov    %ecx,%edi
xor    %r10d,%edi
and    %eax,%edi
xor    %r10d,%edi
mov    0x28(%rsi),%ebx
mov    %ebx,-0x40(%rsp)
add    %ebx,%ebp
add    %edi,%ebp
mov    %edx,%edi
rol    $0x5,%edi
add    %edi,%ebp
add    $0x5a827999,%ebp
rol    $0x1e,%eax
mov    %eax,%edi
xor    %ecx,%edi
and    %edx,%edi
xor    %ecx,%edi
mov    0x2c(%rsi),%ebx
mov    %ebx,-0x60(%rsp)
add    %ebx,%r10d
add    %edi,%r10d
mov    %ebp,%edi
rol    $0x5,%edi
rol    $0x1e,%edx
add    %edi,%r10d
add    $0x5a827999,%r10d
mov    %edx,%edi
xor    %eax,%edi
and    %ebp,%edi
xor    %eax,%edi
mov    %r10d,%ebx
rol    $0x5,%ebx
mov    0x30(%rsi),%r9d
mov    %r9d,-0x50(%rsp)
add    %r9d,%ecx
add    %edi,%ecx
lea    (%rbx,%rcx,1),%edi
add    $0x5a827999,%edi
rol    $0x1e,%ebp
mov    %ebp,%ecx
xor    %edx,%ecx
and    %r10d,%ecx
xor    %edx,%ecx
mov    0x34(%rsi),%ebx
add    %ebx,%eax
mov    %rbx,%r14
mov    %rbx,-0x30(%rsp)
add    %ecx,%eax
mov    %edi,%ecx
rol    $0x5,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
rol    $0x1e,%r10d
mov    %r10d,%ecx
xor    %ebp,%ecx
and    %edi,%ecx
xor    %ebp,%ecx
mov    0x38(%rsi),%r9d
add    %r9d,%edx
add    %ecx,%edx
mov    %eax,%ecx
rol    $0x5,%ecx
add    %ecx,%edx
add    $0x5a827999,%edx
mov    0x3c(%rsi),%esi
rol    $0x1e,%edi
mov    %edi,%ecx
xor    %r10d,%ecx
and    %eax,%ecx
xor    %r10d,%ecx
add    %esi,%ebp
mov    %esi,%r11d
mov    %esi,-0x48(%rsp)
add    %ecx,%ebp
mov    %edx,%ecx
rol    $0x5,%ecx
add    %ebp,%ecx
add    $0x5a827999,%ecx
xor    %r12d,%r8d
mov    %r15d,%ebx
xor    %r14d,%ebx
xor    %r8d,%ebx
rol    $0x1e,%eax
mov    %eax,%esi
xor    %edi,%esi
and    %edx,%esi
rol    %ebx
xor    %edi,%esi
mov    %ecx,%ebp
rol    $0x5,%ebp
add    %ebx,%r10d
mov    %rbx,-0x38(%rsp)
add    %esi,%r10d
lea    (%r10,%rbp,1),%r8d
add    $0x5a827999,%r8d
mov    %r13,%rsi
mov    -0x68(%rsp),%r14d
xor    %r14d,%esi
mov    -0x5c(%rsp),%ebp
mov    %ebp,%r13d
mov    %r9d,-0x58(%rsp)
xor    %r9d,%r13d
xor    %esi,%r13d
rol    $0x1e,%edx
mov    %edx,%esi
xor    %eax,%esi
and    %ecx,%esi
xor    %eax,%esi
rol    %r13d
add    %r13d,%edi
add    %esi,%edi
mov    %r8d,%esi
rol    $0x5,%esi
add    %esi,%edi
add    $0x5a827999,%edi
mov    -0x64(%rsp),%r15d
xor    %r15d,%r12d
mov    -0x40(%rsp),%ebp
xor    %r11d,%ebp
xor    %r12d,%ebp
rol    $0x1e,%ecx
mov    %ecx,%esi
xor    %edx,%esi
and    %r8d,%esi
xor    %edx,%esi
rol    %ebp
add    %ebp,%eax
mov    %ebp,-0x3c(%rsp)
add    %esi,%eax
mov    %edi,%esi
rol    $0x5,%esi
lea    (%rsi,%rax,1),%r9d
add    $0x5a827999,%r9d
rol    $0x1e,%r8d
mov    %r8d,%eax
xor    %ecx,%eax
and    %edi,%eax
xor    %ecx,%eax
mov    -0x44(%rsp),%r11d
xor    %r11d,%r14d
xor    -0x60(%rsp),%r14d
xor    %ebx,%r14d
rol    %r14d
add    %r14d,%edx
mov    %r14d,-0x68(%rsp)
add    %eax,%edx
mov    %r9d,%eax
rol    $0x5,%eax
rol    $0x1e,%edi
add    %eax,%edx
add    $0x5a827999,%edx
mov    %edi,%eax
xor    %r8d,%eax
xor    %r9d,%eax
mov    -0x6c(%rsp),%r10d
xor    %r10d,%r15d
xor    -0x50(%rsp),%r15d
xor    %r13d,%r15d
rol    %r15d
add    %r15d,%ecx
mov    %r15d,-0x64(%rsp)
add    %eax,%ecx
mov    %edx,%eax
rol    $0x5,%eax
add    %eax,%ecx
add    $0x6ed9eba1,%ecx
rol    $0x1e,%r9d
mov    %r9d,%eax
xor    %edi,%eax
xor    %edx,%eax
mov    -0x4c(%rsp),%ebx
xor    %ebx,%r11d
xor    -0x30(%rsp),%r11d
xor    %ebp,%r11d
rol    %r11d
add    %r11d,%r8d
mov    %r11d,-0x44(%rsp)
add    %eax,%r8d
mov    %ecx,%eax
rol    $0x5,%eax
rol    $0x1e,%edx
add    %eax,%r8d
add    $0x6ed9eba1,%r8d
mov    %edx,%esi
xor    %r9d,%esi
xor    %ecx,%esi
mov    -0x54(%rsp),%r12d
xor    %r12d,%r10d
xor    -0x58(%rsp),%r10d
xor    %r14d,%r10d
rol    %r10d
add    %r10d,%edi
mov    %r10d,-0x6c(%rsp)
add    %esi,%edi
mov    %r8d,%esi
rol    $0x5,%esi
add    %esi,%edi
add    $0x6ed9eba1,%edi
rol    $0x1e,%ecx
mov    %ecx,%esi
xor    %edx,%esi
xor    %r8d,%esi
mov    %ebx,%eax
mov    -0x5c(%rsp),%ebx
xor    %ebx,%eax
mov    -0x48(%rsp),%r14d
xor    %r14d,%eax
xor    %r15d,%eax
rol    %eax
add    %eax,%r9d
mov    %eax,%r15d
mov    %eax,-0x4c(%rsp)
add    %esi,%r9d
mov    %edi,%esi
rol    $0x5,%esi
rol    $0x1e,%r8d
add    %esi,%r9d
add    $0x6ed9eba1,%r9d
mov    %r8d,%eax
xor    %ecx,%eax
xor    %edi,%eax
mov    -0x40(%rsp),%ebp
xor    %ebp,%r12d
xor    -0x38(%rsp),%r12d
xor    %r11d,%r12d
rol    %r12d
add    %r12d,%edx
mov    %r12d,-0x54(%rsp)
add    %eax,%edx
mov    %r9d,%eax
rol    $0x5,%eax
add    %eax,%edx
add    $0x6ed9eba1,%edx
rol    $0x1e,%edi
mov    %edi,%eax
xor    %r8d,%eax
xor    %r9d,%eax
mov    %ebx,%esi
mov    -0x60(%rsp),%ebx
xor    %ebx,%esi
xor    %r13d,%esi
xor    %r10d,%esi
rol    %esi
add    %esi,%ecx
mov    %esi,%r10d
mov    %esi,-0x5c(%rsp)
add    %eax,%ecx
mov    %edx,%eax
rol    $0x5,%eax
rol    $0x1e,%r9d
add    %eax,%ecx
add    $0x6ed9eba1,%ecx
mov    %r9d,%eax
xor    %edi,%eax
xor    %edx,%eax
mov    -0x50(%rsp),%esi
xor    %esi,%ebp
xor    -0x3c(%rsp),%ebp
xor    %r15d,%ebp
rol    %ebp
add    %ebp,%r8d
mov    %ebp,-0x40(%rsp)
add    %eax,%r8d
mov    %ecx,%eax
rol    $0x5,%eax
add    %eax,%r8d
add    $0x6ed9eba1,%r8d
rol    $0x1e,%edx
mov    %edx,%eax
xor    %r9d,%eax
xor    %ecx,%eax
mov    -0x30(%rsp),%r11
xor    %r11d,%ebx
xor    -0x68(%rsp),%ebx
xor    %r12d,%ebx
rol    %ebx
add    %ebx,%edi
mov    %ebx,-0x60(%rsp)
add    %eax,%edi
mov    %r8d,%eax
rol    $0x5,%eax
rol    $0x1e,%ecx
add    %eax,%edi
add    $0x6ed9eba1,%edi
mov    %ecx,%eax
xor    %edx,%eax
xor    %r8d,%eax
mov    -0x58(%rsp),%r12d
xor    %r12d,%esi
xor    -0x64(%rsp),%esi
xor    %r10d,%esi
rol    %esi
add    %esi,%r9d
mov    %esi,%r15d
mov    %esi,-0x50(%rsp)
add    %eax,%r9d
mov    %edi,%eax
rol    $0x5,%eax
add    %eax,%r9d
add    $0x6ed9eba1,%r9d
rol    $0x1e,%r8d
mov    %r8d,%eax
xor    %ecx,%eax
xor    %edi,%eax
xor    %r14d,%r11d
xor    -0x44(%rsp),%r11d
xor    %ebp,%r11d
rol    %r11d
add    %r11d,%edx
mov    %r11,-0x30(%rsp)
add    %eax,%edx
mov    %r9d,%eax
rol    $0x5,%eax
rol    $0x1e,%edi
add    %edx,%eax
add    $0x6ed9eba1,%eax
mov    %edi,%edx
xor    %r8d,%edx
xor    %r9d,%edx
mov    %r12d,%esi
mov    -0x38(%rsp),%rbp
xor    %ebp,%esi
xor    -0x6c(%rsp),%esi
xor    %ebx,%esi
rol    %esi
add    %esi,%ecx
mov    %esi,%r10d
mov    %esi,-0x58(%rsp)
add    %edx,%ecx
mov    %eax,%edx
rol    $0x5,%edx
add    %ecx,%edx
add    $0x6ed9eba1,%edx
rol    $0x1e,%r9d
mov    %r9d,%ecx
xor    %edi,%ecx
xor    %eax,%ecx
mov    %r14d,%esi
xor    %r13d,%esi
xor    -0x4c(%rsp),%esi
xor    %r15d,%esi
rol    %esi
add    %esi,%r8d
mov    %esi,%r12d
mov    %esi,-0x48(%rsp)
add    %ecx,%r8d
mov    %edx,%ecx
rol    $0x5,%ecx
rol    $0x1e,%eax
add    %ecx,%r8d
add    $0x6ed9eba1,%r8d
mov    %eax,%esi
xor    %r9d,%esi
xor    %edx,%esi
mov    -0x3c(%rsp),%r15d
mov    %rbp,%r14
xor    %r15d,%r14d
xor    -0x54(%rsp),%r14d
xor    %r11d,%r14d
rol    %r14d
add    %r14d,%edi
mov    %r14,%rbp
mov    %r14,-0x38(%rsp)
add    %esi,%edi
mov    %r8d,%esi
rol    $0x5,%esi
add    %edi,%esi
add    $0x6ed9eba1,%esi
rol    $0x1e,%edx
mov    %edx,%edi
xor    %eax,%edi
xor    %r8d,%edi
mov    -0x68(%rsp),%ebx
xor    %ebx,%r13d
xor    -0x5c(%rsp),%r13d
xor    %r10d,%r13d
rol    %r13d
add    %r13d,%r9d
add    %edi,%r9d
mov    %esi,%edi
rol    $0x5,%edi
rol    $0x1e,%r8d
add    %r9d,%edi
add    $0x6ed9eba1,%edi
mov    %r8d,%ecx
xor    %edx,%ecx
xor    %esi,%ecx
mov    -0x64(%rsp),%r10d
xor    %r10d,%r15d
mov    -0x40(%rsp),%r14d
xor    %r14d,%r15d
xor    %r12d,%r15d
rol    %r15d
add    %r15d,%eax
add    %ecx,%eax
mov    %edi,%ecx
rol    $0x5,%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
rol    $0x1e,%esi
mov    %esi,%r9d
xor    %r8d,%r9d
xor    %edi,%r9d
mov    %ebx,%ecx
mov    -0x44(%rsp),%r12d
xor    %r12d,%ecx
xor    -0x60(%rsp),%ecx
xor    %ebp,%ecx
rol    %ecx
add    %ecx,%edx
mov    %ecx,%ebx
mov    %ecx,-0x68(%rsp)
add    %r9d,%edx
mov    %eax,%ecx
rol    $0x5,%ecx
rol    $0x1e,%edi
lea    (%rcx,%rdx,1),%r9d
add    $0x6ed9eba1,%r9d
mov    %edi,%ecx
xor    %esi,%ecx
xor    %eax,%ecx
mov    %r10d,%ebp
mov    -0x6c(%rsp),%r10d
xor    %r10d,%ebp
xor    -0x50(%rsp),%ebp
xor    %r13d,%ebp
rol    %ebp
add    %ebp,%r8d
mov    %ebp,-0x64(%rsp)
add    %ecx,%r8d
mov    %r9d,%ecx
rol    $0x5,%ecx
add    %ecx,%r8d
add    $0x6ed9eba1,%r8d
rol    $0x1e,%eax
mov    %eax,%ecx
xor    %edi,%ecx
xor    %r9d,%ecx
mov    -0x4c(%rsp),%r11d
xor    %r11d,%r12d
xor    -0x30(%rsp),%r12d
xor    %r15d,%r12d
rol    %r12d
add    %r12d,%esi
add    %ecx,%esi
mov    %r8d,%ecx
rol    $0x5,%ecx
rol    $0x1e,%r9d
add    %ecx,%esi
add    $0x6ed9eba1,%esi
mov    %r9d,%ecx
xor    %eax,%ecx
xor    %r8d,%ecx
mov    %r10d,%edx
mov    -0x54(%rsp),%r10d
xor    %r10d,%edx
xor    -0x58(%rsp),%edx
xor    %ebx,%edx
rol    %edx
add    %edx,%edi
mov    %edx,%ebx
mov    %edx,-0x6c(%rsp)
add    %ecx,%edi
mov    %esi,%ecx
rol    $0x5,%ecx
add    %ecx,%edi
add    $0x6ed9eba1,%edi
rol    $0x1e,%r8d
mov    %r8d,%ecx
xor    %r9d,%ecx
xor    %esi,%ecx
mov    %r11d,%edx
mov    -0x5c(%rsp),%r11d
xor    %r11d,%edx
xor    -0x48(%rsp),%edx
xor    %ebp,%edx
rol    %edx
mov    %edx,-0x4c(%rsp)
add    %edx,%eax
add    %ecx,%eax
mov    %edi,%ecx
rol    $0x5,%ecx
rol    $0x1e,%esi
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    %edi,%ecx
or     %esi,%ecx
and    %r8d,%ecx
mov    %edi,%edx
and    %esi,%edx
or     %ecx,%edx
xor    %r14d,%r10d
mov    %r14d,%ebp
xor    -0x38(%rsp),%r10d
xor    %r12d,%r10d
mov    %r12d,%r14d
mov    %r12d,-0x44(%rsp)
rol    %r10d
add    %r10d,%r9d
mov    %r10d,%r12d
mov    %r10d,-0x54(%rsp)
add    %edx,%r9d
mov    %eax,%ecx
rol    $0x5,%ecx
rol    $0x1e,%edi
add    %ecx,%r9d
add    $0x8f1bbcdc,%r9d
mov    %eax,%edx
or     %edi,%edx
and    %esi,%edx
mov    %eax,%ecx
and    %edi,%ecx
or     %edx,%ecx
mov    %r11d,%r10d
mov    -0x60(%rsp),%r11d
xor    %r11d,%r10d
xor    %r13d,%r10d
xor    %ebx,%r10d
rol    %r10d
add    %r10d,%r8d
mov    %r10d,-0x5c(%rsp)
add    %ecx,%r8d
mov    %r9d,%ecx
rol    $0x5,%ecx
rol    $0x1e,%eax
add    %ecx,%r8d
add    $0x8f1bbcdc,%r8d
mov    %r9d,%ecx
or     %eax,%ecx
and    %edi,%ecx
mov    %r9d,%edx
and    %eax,%edx
or     %ecx,%edx
mov    -0x50(%rsp),%ebx
xor    %ebx,%ebp
xor    %r15d,%ebp
xor    -0x4c(%rsp),%ebp
rol    %ebp
add    %ebp,%esi
add    %edx,%esi
mov    %r8d,%ecx
rol    $0x5,%ecx
rol    $0x1e,%r9d
add    %ecx,%esi
add    $0x8f1bbcdc,%esi
mov    %r8d,%ecx
or     %r9d,%ecx
and    %eax,%ecx
mov    %r8d,%edx
and    %r9d,%edx
or     %ecx,%edx
mov    %r11d,%ecx
mov    -0x30(%rsp),%r11
xor    %r11d,%ecx
xor    -0x68(%rsp),%ecx
xor    %r12d,%ecx
rol    %ecx
mov    %ecx,-0x60(%rsp)
add    %ecx,%edi
add    %edx,%edi
mov    %esi,%ecx
rol    $0x5,%ecx
rol    $0x1e,%r8d
add    %ecx,%edi
add    $0x8f1bbcdc,%edi
mov    %esi,%ecx
or     %r8d,%ecx
and    %r9d,%ecx
mov    %esi,%edx
and    %r8d,%edx
or     %ecx,%edx
mov    %ebx,%ecx
mov    -0x58(%rsp),%r12d
xor    %r12d,%ecx
xor    -0x64(%rsp),%ecx
xor    %r10d,%ecx
rol    %ecx
add    %ecx,%eax
mov    %ecx,%r10d
mov    %ecx,-0x50(%rsp)
add    %edx,%eax
mov    %edi,%ecx
rol    $0x5,%ecx
rol    $0x1e,%esi
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    %edi,%ecx
or     %esi,%ecx
and    %r8d,%ecx
mov    %edi,%edx
and    %esi,%edx
or     %ecx,%edx
mov    -0x48(%rsp),%ebx
xor    %ebx,%r11d
xor    %r14d,%r11d
xor    %ebp,%r11d
mov    %ebp,-0x40(%rsp)
rol    %r11d
add    %r11d,%r9d
add    %edx,%r9d
mov    %eax,%ecx
rol    $0x5,%ecx
rol    $0x1e,%edi
add    %ecx,%r9d
add    $0x8f1bbcdc,%r9d
mov    %eax,%edx
or     %edi,%edx
and    %esi,%edx
mov    %eax,%ecx
and    %edi,%ecx
or     %edx,%ecx
mov    -0x38(%rsp),%r14
xor    %r14d,%r12d
xor    -0x6c(%rsp),%r12d
xor    -0x60(%rsp),%r12d
rol    %r12d
add    %r12d,%r8d
mov    %r12d,-0x58(%rsp)
add    %ecx,%r8d
mov    %r9d,%ecx
rol    $0x5,%ecx
rol    $0x1e,%eax
add    %ecx,%r8d
add    $0x8f1bbcdc,%r8d
mov    %r9d,%ecx
or     %eax,%ecx
and    %edi,%ecx
mov    %r9d,%edx
and    %eax,%edx
or     %ecx,%edx
mov    %ebx,%ecx
xor    %r13d,%ecx
xor    -0x4c(%rsp),%ecx
xor    %r10d,%ecx
rol    %ecx
add    %ecx,%esi
mov    %ecx,%ebx
mov    %ecx,-0x48(%rsp)
add    %edx,%esi
mov    %r8d,%ecx
rol    $0x5,%ecx
rol    $0x1e,%r9d
add    %ecx,%esi
add    $0x8f1bbcdc,%esi
mov    %r8d,%ecx
or     %r9d,%ecx
and    %eax,%ecx
mov    %r8d,%edx
and    %r9d,%edx
or     %ecx,%edx
xor    %r15d,%r14d
xor    -0x54(%rsp),%r14d
xor    %r11d,%r14d
mov    %r11,-0x30(%rsp)
rol    %r14d
add    %r14d,%edi
mov    %r14,-0x38(%rsp)
add    %edx,%edi
mov    %esi,%ecx
rol    $0x5,%ecx
rol    $0x1e,%r8d
add    %ecx,%edi
add    $0x8f1bbcdc,%edi
mov    %esi,%ecx
or     %r8d,%ecx
and    %r9d,%ecx
mov    %esi,%edx
and    %r8d,%edx
or     %ecx,%edx
mov    -0x68(%rsp),%r10d
xor    %r10d,%r13d
xor    -0x5c(%rsp),%r13d
xor    %r12d,%r13d
rol    %r13d
add    %r13d,%eax
add    %edx,%eax
mov    %edi,%ecx
rol    $0x5,%ecx
rol    $0x1e,%esi
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    %edi,%ecx
or     %esi,%ecx
and    %r8d,%ecx
mov    %edi,%edx
and    %esi,%edx
or     %ecx,%edx
mov    -0x64(%rsp),%r12d
xor    %r12d,%r15d
xor    %ebp,%r15d
xor    %ebx,%r15d
rol    %r15d
add    %r15d,%r9d
mov    %r15d,-0x3c(%rsp)
add    %edx,%r9d
mov    %eax,%ecx
rol    $0x5,%ecx
rol    $0x1e,%edi
add    %ecx,%r9d
add    $0x8f1bbcdc,%r9d
mov    %eax,%edx
or     %edi,%edx
and    %esi,%edx
mov    %eax,%ecx
and    %edi,%ecx
or     %edx,%ecx
mov    -0x44(%rsp),%ebx
xor    %ebx,%r10d
xor    -0x60(%rsp),%r10d
xor    %r14d,%r10d
rol    %r10d
add    %r10d,%r8d
mov    %r10d,%ebp
mov    %r10d,-0x68(%rsp)
add    %ecx,%r8d
mov    %r9d,%ecx
rol    $0x5,%ecx
rol    $0x1e,%eax
add    %ecx,%r8d
add    $0x8f1bbcdc,%r8d
mov    %r9d,%ecx
or     %eax,%ecx
and    %edi,%ecx
mov    %r9d,%edx
and    %eax,%edx
or     %ecx,%edx
mov    %r12d,%r10d
mov    -0x6c(%rsp),%r12d
xor    %r12d,%r10d
xor    -0x50(%rsp),%r10d
xor    %r13d,%r10d
rol    %r10d
add    %r10d,%esi
mov    %r10d,-0x64(%rsp)
add    %edx,%esi
mov    %r8d,%ecx
rol    $0x5,%ecx
rol    $0x1e,%r9d
add    %ecx,%esi
add    $0x8f1bbcdc,%esi
mov    %r8d,%ecx
or     %r9d,%ecx
and    %eax,%ecx
mov    %r8d,%edx
and    %r9d,%edx
or     %ecx,%edx
mov    %ebx,%ecx
mov    -0x4c(%rsp),%ebx
xor    %ebx,%ecx
xor    %r11d,%ecx
xor    %r15d,%ecx
rol    %ecx
add    %ecx,%edi
mov    %ecx,%r15d
mov    %ecx,-0x44(%rsp)
add    %edx,%edi
mov    %esi,%ecx
rol    $0x5,%ecx
rol    $0x1e,%r8d
add    %ecx,%edi
add    $0x8f1bbcdc,%edi
mov    %esi,%ecx
or     %r8d,%ecx
and    %r9d,%ecx
mov    %esi,%edx
and    %r8d,%edx
or     %ecx,%edx
mov    %r12d,%ecx
mov    -0x54(%rsp),%r12d
xor    %r12d,%ecx
xor    -0x58(%rsp),%ecx
xor    %ebp,%ecx
rol    %ecx
mov    %ecx,-0x6c(%rsp)
add    %ecx,%eax
add    %edx,%eax
mov    %edi,%ecx
rol    $0x5,%ecx
rol    $0x1e,%esi
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    %edi,%ecx
or     %esi,%ecx
and    %r8d,%ecx
mov    %edi,%edx
and    %esi,%edx
or     %ecx,%edx
mov    -0x5c(%rsp),%ebp
xor    %ebp,%ebx
xor    -0x48(%rsp),%ebx
xor    %r10d,%ebx
rol    %ebx
add    %ebx,%r9d
mov    %ebx,%r14d
mov    %ebx,-0x4c(%rsp)
add    %edx,%r9d
mov    %eax,%ecx
rol    $0x5,%ecx
rol    $0x1e,%edi
add    %ecx,%r9d
add    $0x8f1bbcdc,%r9d
mov    %eax,%edx
or     %edi,%edx
and    %esi,%edx
mov    %eax,%ecx
and    %edi,%ecx
or     %edx,%ecx
mov    %r12d,%edx
mov    -0x40(%rsp),%r11d
xor    %r11d,%edx
xor    -0x38(%rsp),%edx
xor    %r15d,%edx
rol    %edx
mov    %edx,-0x54(%rsp)
add    %edx,%r8d
add    %ecx,%r8d
mov    %r9d,%ecx
rol    $0x5,%ecx
rol    $0x1e,%eax
lea    (%rcx,%r8,1),%edx
add    $0x8f1bbcdc,%edx
mov    %r9d,%ecx
or     %eax,%ecx
and    %edi,%ecx
mov    %r9d,%r8d
and    %eax,%r8d
or     %ecx,%r8d
mov    -0x60(%rsp),%ebx
mov    %ebp,%r15d
xor    %ebx,%r15d
xor    %r13d,%r15d
xor    -0x6c(%rsp),%r15d
rol    %r15d
add    %r15d,%esi
mov    %r15d,-0x5c(%rsp)
add    %r8d,%esi
mov    %edx,%ecx
rol    $0x5,%ecx
rol    $0x1e,%r9d
add    %ecx,%esi
add    $0x8f1bbcdc,%esi
mov    %edx,%ecx
or     %r9d,%ecx
and    %eax,%ecx
mov    %edx,%r8d
and    %r9d,%r8d
or     %ecx,%r8d
mov    -0x50(%rsp),%r10d
xor    %r10d,%r11d
xor    -0x3c(%rsp),%r11d
xor    %r14d,%r11d
rol    %r11d
add    %r11d,%edi
mov    %r11d,%r12d
mov    %r11d,-0x40(%rsp)
add    %r8d,%edi
mov    %esi,%ecx
rol    $0x5,%ecx
rol    $0x1e,%edx
lea    (%rcx,%rdi,1),%r8d
add    $0x8f1bbcdc,%r8d
mov    %esi,%ecx
or     %edx,%ecx
and    %r9d,%ecx
mov    %esi,%edi
and    %edx,%edi
or     %ecx,%edi
mov    -0x30(%rsp),%r14
xor    %r14d,%ebx
xor    -0x68(%rsp),%ebx
xor    -0x54(%rsp),%ebx
rol    %ebx
add    %ebx,%eax
mov    %ebx,-0x60(%rsp)
add    %edi,%eax
mov    %r8d,%ecx
rol    $0x5,%ecx
rol    $0x1e,%esi
lea    (%rcx,%rax,1),%edi
add    $0x8f1bbcdc,%edi
mov    %esi,%eax
xor    %edx,%eax
xor    %r8d,%eax
mov    %r10d,%ecx
mov    -0x58(%rsp),%r10d
xor    %r10d,%ecx
xor    -0x64(%rsp),%ecx
xor    %r15d,%ecx
rol    %ecx
add    %ecx,%r9d
mov    %ecx,%r15d
mov    %ecx,-0x50(%rsp)
add    %eax,%r9d
mov    %edi,%eax
rol    $0x5,%eax
add    %eax,%r9d
add    $0xca62c1d6,%r9d
rol    $0x1e,%r8d
mov    %r8d,%eax
xor    %esi,%eax
xor    %edi,%eax
mov    -0x48(%rsp),%r11d
xor    %r11d,%r14d
xor    -0x44(%rsp),%r14d
xor    %r12d,%r14d
rol    %r14d
add    %r14d,%edx
mov    %r14,%r12
add    %eax,%edx
mov    %r9d,%eax
rol    $0x5,%eax
rol    $0x1e,%edi
add    %edx,%eax
add    $0xca62c1d6,%eax
mov    %edi,%ecx
xor    %r8d,%ecx
xor    %r9d,%ecx
mov    -0x38(%rsp),%r14
xor    %r14d,%r10d
xor    -0x6c(%rsp),%r10d
xor    %ebx,%r10d
rol    %r10d
mov    %r10d,-0x58(%rsp)
add    %r10d,%esi
add    %ecx,%esi
mov    %eax,%ecx
rol    $0x5,%ecx
add    %esi,%ecx
add    $0xca62c1d6,%ecx
rol    $0x1e,%r9d
mov    %r9d,%edx
xor    %edi,%edx
xor    %eax,%edx
mov    %r11d,%ebp
xor    %r13d,%ebp
xor    -0x4c(%rsp),%ebp
xor    %r15d,%ebp
rol    %ebp
add    %ebp,%r8d
mov    %ebp,-0x48(%rsp)
add    %edx,%r8d
mov    %ecx,%edx
rol    $0x5,%edx
rol    $0x1e,%eax
lea    (%rdx,%r8,1),%esi
add    $0xca62c1d6,%esi
mov    %eax,%edx
xor    %r9d,%edx
xor    %ecx,%edx
mov    -0x3c(%rsp),%r15d
xor    %r15d,%r14d
xor    -0x54(%rsp),%r14d
mov    %r12,-0x30(%rsp)
xor    %r12d,%r14d
rol    %r14d
add    %r14d,%edi
mov    %r14,%rbx
mov    %r14,-0x38(%rsp)
add    %edx,%edi
mov    %esi,%edx
rol    $0x5,%edx
add    %edi,%edx
add    $0xca62c1d6,%edx
rol    $0x1e,%ecx
mov    %ecx,%edi
xor    %eax,%edi
xor    %esi,%edi
mov    -0x68(%rsp),%r10d
xor    %r10d,%r13d
xor    -0x5c(%rsp),%r13d
mov    -0x58(%rsp),%r14d
xor    %r14d,%r13d
rol    %r13d
add    %r13d,%r9d
add    %edi,%r9d
mov    %edx,%edi
rol    $0x5,%edi
rol    $0x1e,%esi
add    %edi,%r9d
add    $0xca62c1d6,%r9d
mov    %esi,%edi
xor    %ecx,%edi
xor    %edx,%edi
mov    -0x64(%rsp),%r11d
xor    %r11d,%r15d
xor    -0x40(%rsp),%r15d
xor    %ebp,%r15d
rol    %r15d
add    %r15d,%eax
mov    %r15d,-0x3c(%rsp)
add    %edi,%eax
mov    %r9d,%edi
rol    $0x5,%edi
lea    (%rdi,%rax,1),%r8d
add    $0xca62c1d6,%r8d
rol    $0x1e,%edx
mov    %edx,%eax
xor    %esi,%eax
xor    %r9d,%eax
mov    %r10d,%ebp
mov    -0x44(%rsp),%r10d
xor    %r10d,%ebp
xor    -0x60(%rsp),%ebp
xor    %ebx,%ebp
rol    %ebp
add    %ebp,%ecx
mov    %ebp,-0x68(%rsp)
add    %eax,%ecx
mov    %r8d,%eax
rol    $0x5,%eax
rol    $0x1e,%r9d
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    %r9d,%ecx
xor    %edx,%ecx
xor    %r8d,%ecx
xor    -0x6c(%rsp),%r11d
xor    -0x50(%rsp),%r11d
xor    %r13d,%r11d
rol    %r11d
add    %r11d,%esi
mov    %r11d,%ebx
mov    %r11d,-0x64(%rsp)
add    %ecx,%esi
mov    %eax,%ecx
rol    $0x5,%ecx
add    %esi,%ecx
add    $0xca62c1d6,%ecx
rol    $0x1e,%r8d
mov    %r8d,%esi
xor    %r9d,%esi
xor    %eax,%esi
mov    %r10d,%r11d
mov    -0x4c(%rsp),%r10d
xor    %r10d,%r11d
xor    %r12d,%r11d
xor    %r15d,%r11d
rol    %r11d
add    %r11d,%edx
add    %esi,%edx
mov    %ecx,%esi
rol    $0x5,%esi
rol    $0x1e,%eax
add    %edx,%esi
add    $0xca62c1d6,%esi
mov    %eax,%edx
xor    %r8d,%edx
xor    %ecx,%edx
mov    -0x6c(%rsp),%edi
mov    -0x54(%rsp),%r12d
xor    %r12d,%edi
xor    %r14d,%edi
xor    %ebp,%edi
rol    %edi
add    %edi,%r9d
mov    %edi,%r15d
mov    %edi,-0x6c(%rsp)
add    %edx,%r9d
mov    %esi,%edx
rol    $0x5,%edx
add    %edx,%r9d
add    $0xca62c1d6,%r9d
rol    $0x1e,%ecx
mov    %ecx,%edi
xor    %eax,%edi
xor    %esi,%edi
mov    %r10d,%r14d
mov    -0x5c(%rsp),%r10d
xor    %r10d,%r14d
xor    -0x48(%rsp),%r14d
xor    %ebx,%r14d
rol    %r14d
add    %r14d,%r8d
add    %edi,%r8d
mov    %r9d,%edi
rol    $0x5,%edi
rol    $0x1e,%esi
add    %r8d,%edi
add    $0xca62c1d6,%edi
mov    %esi,%edx
xor    %ecx,%edx
xor    %r9d,%edx
mov    -0x40(%rsp),%ebp
xor    %ebp,%r12d
xor    -0x38(%rsp),%r12d
xor    %r11d,%r12d
rol    %r12d
add    %r12d,%eax
add    %edx,%eax
mov    %edi,%edx
rol    $0x5,%edx
add    %edx,%eax
add    $0xca62c1d6,%eax
rol    $0x1e,%r9d
mov    %r9d,%edx
xor    %esi,%edx
xor    %edi,%edx
mov    -0x60(%rsp),%ebx
xor    %ebx,%r10d
xor    %r13d,%r10d
xor    %r15d,%r10d
rol    %r10d
add    %r10d,%ecx
add    %edx,%ecx
mov    %eax,%edx
rol    $0x5,%edx
lea    (%rdx,%rcx,1),%r8d
add    $0xca62c1d6,%r8d
mov    -0x50(%rsp),%edx
xor    %edx,%ebp
xor    -0x3c(%rsp),%ebp
rol    $0x1e,%edi
mov    %edi,%ecx
xor    %r9d,%ecx
xor    %eax,%ecx
xor    %r14d,%ebp
rol    %ebp
add    %ebp,%esi
mov    %ebp,%r15d
add    %ecx,%esi
mov    %r8d,%ecx
rol    $0x5,%ecx
add    %ecx,%esi
add    $0xca62c1d6,%esi
mov    -0x30(%rsp),%rbp
xor    %ebp,%ebx
xor    -0x68(%rsp),%ebx
xor    %r12d,%ebx
rol    $0x1e,%eax
mov    %eax,%ecx
xor    %edi,%ecx
xor    %r8d,%ecx
rol    %ebx
add    %ebx,%r9d
add    %ecx,%r9d
mov    %esi,%ecx
rol    $0x5,%ecx
add    %r9d,%ecx
add    $0xca62c1d6,%ecx
mov    %edx,%r9d
mov    -0x58(%rsp),%r12d
xor    %r12d,%r9d
xor    -0x64(%rsp),%r9d
xor    %r10d,%r9d
rol    $0x1e,%r8d
mov    %r8d,%edx
xor    %eax,%edx
xor    %esi,%edx
rol    %r9d
add    %r9d,%edi
add    %edx,%edi
mov    %ecx,%edx
rol    $0x5,%edx
add    %edi,%edx
add    $0xca62c1d6,%edx
mov    -0x48(%rsp),%r10d
mov    %rbp,%rdi
xor    %r10d,%edi
xor    %r11d,%edi
xor    %r15d,%edi
rol    $0x1e,%esi
rol    %edi
add    %eax,%edi
mov    %esi,%eax
xor    %r8d,%eax
xor    %ecx,%eax
add    %eax,%edi
mov    %edx,%eax
rol    $0x5,%eax
add    %edi,%eax
add    $0xca62c1d6,%eax
mov    -0x38(%rsp),%r11
xor    %r12d,%r11d
xor    -0x6c(%rsp),%r11d
xor    %ebx,%r11d
rol    %r11d
add    %r8d,%r11d
rol    $0x1e,%ecx
mov    %ecx,%edi
xor    %esi,%edi
xor    %edx,%edi
add    %edi,%r11d
mov    %eax,%edi
rol    $0x5,%edi
lea    (%rdi,%r11,1),%ebp
add    $0xca62c1d6,%ebp
add    %edi,%r11d
xor    %r10d,%r13d
xor    %r14d,%r13d
xor    %r9d,%r13d
rol    %r13d
add    -0x28(%rsp),%r13d
rol    $0x1e,%edx
add    %esi,%r13d
mov    %edx,%esi
xor    %ecx,%esi
xor    %eax,%esi
add    %esi,%r13d
rol    $0x5,%ebp
lea    -0x359d3e2a(%rbp,%r13,1),%esi
ca
mov    -0x8(%rsp),%rdi
mov    %esi,(%rdi)
mov    -0x10(%rsp),%rsi
add    %r11d,%esi
add    $0xca62c1d6,%esi
mov    %esi,0x4(%rdi)
rol    $0x1e,%eax
add    -0x20(%rsp),%eax
mov    %eax,0x8(%rdi)
add    -0x18(%rsp),%edx
mov    %edx,0xc(%rdi)
add    -0x24(%rsp),%ecx
mov    %ecx,0x10(%rdi)
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
define void @sha1_transform(i32* %0, i8* %1) {
%3 = alloca i32*
%4 = alloca i8*
%5 = alloca i32
%6 = alloca i32
%7 = alloca i32
%8 = alloca i32
%9 = alloca i32
%10 = alloca [16 x i32]
store i32* %0, i32** %3
store i8* %1, i8** %4
%11 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%12 = bitcast i32* %11 to i8*
%13 = load i8*, i8** %4
%14 = load i32*, i32** %3
%15 = getelementptr inbounds i32, i32* %14, i64 0
%16 = load i32, i32* %15
store i32 %16, i32* %5
%17 = load i32*, i32** %3
%18 = getelementptr inbounds i32, i32* %17, i64 1
%19 = load i32, i32* %18
store i32 %19, i32* %6
%20 = load i32*, i32** %3
%21 = getelementptr inbounds i32, i32* %20, i64 2
%22 = load i32, i32* %21
store i32 %22, i32* %7
%23 = load i32*, i32** %3
%24 = getelementptr inbounds i32, i32* %23, i64 3
%25 = load i32, i32* %24
store i32 %25, i32* %8
%26 = load i32*, i32** %3
%27 = getelementptr inbounds i32, i32* %26, i64 4
%28 = load i32, i32* %27
store i32 %28, i32* %9
%29 = load i32, i32* %6
%30 = load i32, i32* %7
%31 = load i32, i32* %8
%32 = xor i32 %30, %31
%33 = and i32 %29, %32
%34 = load i32, i32* %8
%35 = xor i32 %33, %34
%36 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%37 = load i32, i32* %36
%38 = add i32 %35, %37
%39 = add i32 %38, 1518500249
%40 = load i32, i32* %5
%41 = shl i32 %40, 5
%42 = load i32, i32* %5
%43 = lshr i32 %42, 27
%44 = or i32 %41, %43
%45 = add i32 %39, %44
%46 = load i32, i32* %9
%47 = add i32 %46, %45
store i32 %47, i32* %9
%48 = load i32, i32* %6
%49 = shl i32 %48, 30
%50 = load i32, i32* %6
%51 = lshr i32 %50, 2
%52 = or i32 %49, %51
store i32 %52, i32* %6
%53 = load i32, i32* %5
%54 = load i32, i32* %6
%55 = load i32, i32* %7
%56 = xor i32 %54, %55
%57 = and i32 %53, %56
%58 = load i32, i32* %7
%59 = xor i32 %57, %58
%60 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%61 = load i32, i32* %60
%62 = add i32 %59, %61
%63 = add i32 %62, 1518500249
%64 = load i32, i32* %9
%65 = shl i32 %64, 5
%66 = load i32, i32* %9
%67 = lshr i32 %66, 27
%68 = or i32 %65, %67
%69 = add i32 %63, %68
%70 = load i32, i32* %8
%71 = add i32 %70, %69
store i32 %71, i32* %8
%72 = load i32, i32* %5
%73 = shl i32 %72, 30
%74 = load i32, i32* %5
%75 = lshr i32 %74, 2
%76 = or i32 %73, %75
store i32 %76, i32* %5
%77 = load i32, i32* %9
%78 = load i32, i32* %5
%79 = load i32, i32* %6
%80 = xor i32 %78, %79
%81 = and i32 %77, %80
%82 = load i32, i32* %6
%83 = xor i32 %81, %82
%84 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%85 = load i32, i32* %84
%86 = add i32 %83, %85
%87 = add i32 %86, 1518500249
%88 = load i32, i32* %8
%89 = shl i32 %88, 5
%90 = load i32, i32* %8
%91 = lshr i32 %90, 27
%92 = or i32 %89, %91
%93 = add i32 %87, %92
%94 = load i32, i32* %7
%95 = add i32 %94, %93
store i32 %95, i32* %7
%96 = load i32, i32* %9
%97 = shl i32 %96, 30
%98 = load i32, i32* %9
%99 = lshr i32 %98, 2
%100 = or i32 %97, %99
store i32 %100, i32* %9
%101 = load i32, i32* %8
%102 = load i32, i32* %9
%103 = load i32, i32* %5
%104 = xor i32 %102, %103
%105 = and i32 %101, %104
%106 = load i32, i32* %5
%107 = xor i32 %105, %106
%108 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%109 = load i32, i32* %108
%110 = add i32 %107, %109
%111 = add i32 %110, 1518500249
%112 = load i32, i32* %7
%113 = shl i32 %112, 5
%114 = load i32, i32* %7
%115 = lshr i32 %114, 27
%116 = or i32 %113, %115
%117 = add i32 %111, %116
%118 = load i32, i32* %6
%119 = add i32 %118, %117
store i32 %119, i32* %6
%120 = load i32, i32* %8
%121 = shl i32 %120, 30
%122 = load i32, i32* %8
%123 = lshr i32 %122, 2
%124 = or i32 %121, %123
store i32 %124, i32* %8
%125 = load i32, i32* %7
%126 = load i32, i32* %8
%127 = load i32, i32* %9
%128 = xor i32 %126, %127
%129 = and i32 %125, %128
%130 = load i32, i32* %9
%131 = xor i32 %129, %130
%132 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%133 = load i32, i32* %132
%134 = add i32 %131, %133
%135 = add i32 %134, 1518500249
%136 = load i32, i32* %6
%137 = shl i32 %136, 5
%138 = load i32, i32* %6
%139 = lshr i32 %138, 27
%140 = or i32 %137, %139
%141 = add i32 %135, %140
%142 = load i32, i32* %5
%143 = add i32 %142, %141
store i32 %143, i32* %5
%144 = load i32, i32* %7
%145 = shl i32 %144, 30
%146 = load i32, i32* %7
%147 = lshr i32 %146, 2
%148 = or i32 %145, %147
store i32 %148, i32* %7
%149 = load i32, i32* %6
%150 = load i32, i32* %7
%151 = load i32, i32* %8
%152 = xor i32 %150, %151
%153 = and i32 %149, %152
%154 = load i32, i32* %8
%155 = xor i32 %153, %154
%156 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%157 = load i32, i32* %156
%158 = add i32 %155, %157
%159 = add i32 %158, 1518500249
%160 = load i32, i32* %5
%161 = shl i32 %160, 5
%162 = load i32, i32* %5
%163 = lshr i32 %162, 27
%164 = or i32 %161, %163
%165 = add i32 %159, %164
%166 = load i32, i32* %9
%167 = add i32 %166, %165
store i32 %167, i32* %9
%168 = load i32, i32* %6
%169 = shl i32 %168, 30
%170 = load i32, i32* %6
%171 = lshr i32 %170, 2
%172 = or i32 %169, %171
store i32 %172, i32* %6
%173 = load i32, i32* %5
%174 = load i32, i32* %6
%175 = load i32, i32* %7
%176 = xor i32 %174, %175
%177 = and i32 %173, %176
%178 = load i32, i32* %7
%179 = xor i32 %177, %178
%180 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%181 = load i32, i32* %180
%182 = add i32 %179, %181
%183 = add i32 %182, 1518500249
%184 = load i32, i32* %9
%185 = shl i32 %184, 5
%186 = load i32, i32* %9
%187 = lshr i32 %186, 27
%188 = or i32 %185, %187
%189 = add i32 %183, %188
%190 = load i32, i32* %8
%191 = add i32 %190, %189
store i32 %191, i32* %8
%192 = load i32, i32* %5
%193 = shl i32 %192, 30
%194 = load i32, i32* %5
%195 = lshr i32 %194, 2
%196 = or i32 %193, %195
store i32 %196, i32* %5
%197 = load i32, i32* %9
%198 = load i32, i32* %5
%199 = load i32, i32* %6
%200 = xor i32 %198, %199
%201 = and i32 %197, %200
%202 = load i32, i32* %6
%203 = xor i32 %201, %202
%204 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%205 = load i32, i32* %204
%206 = add i32 %203, %205
%207 = add i32 %206, 1518500249
%208 = load i32, i32* %8
%209 = shl i32 %208, 5
%210 = load i32, i32* %8
%211 = lshr i32 %210, 27
%212 = or i32 %209, %211
%213 = add i32 %207, %212
%214 = load i32, i32* %7
%215 = add i32 %214, %213
store i32 %215, i32* %7
%216 = load i32, i32* %9
%217 = shl i32 %216, 30
%218 = load i32, i32* %9
%219 = lshr i32 %218, 2
%220 = or i32 %217, %219
store i32 %220, i32* %9
%221 = load i32, i32* %8
%222 = load i32, i32* %9
%223 = load i32, i32* %5
%224 = xor i32 %222, %223
%225 = and i32 %221, %224
%226 = load i32, i32* %5
%227 = xor i32 %225, %226
%228 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%229 = load i32, i32* %228
%230 = add i32 %227, %229
%231 = add i32 %230, 1518500249
%232 = load i32, i32* %7
%233 = shl i32 %232, 5
%234 = load i32, i32* %7
%235 = lshr i32 %234, 27
%236 = or i32 %233, %235
%237 = add i32 %231, %236
%238 = load i32, i32* %6
%239 = add i32 %238, %237
store i32 %239, i32* %6
%240 = load i32, i32* %8
%241 = shl i32 %240, 30
%242 = load i32, i32* %8
%243 = lshr i32 %242, 2
%244 = or i32 %241, %243
store i32 %244, i32* %8
%245 = load i32, i32* %7
%246 = load i32, i32* %8
%247 = load i32, i32* %9
%248 = xor i32 %246, %247
%249 = and i32 %245, %248
%250 = load i32, i32* %9
%251 = xor i32 %249, %250
%252 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%253 = load i32, i32* %252
%254 = add i32 %251, %253
%255 = add i32 %254, 1518500249
%256 = load i32, i32* %6
%257 = shl i32 %256, 5
%258 = load i32, i32* %6
%259 = lshr i32 %258, 27
%260 = or i32 %257, %259
%261 = add i32 %255, %260
%262 = load i32, i32* %5
%263 = add i32 %262, %261
store i32 %263, i32* %5
%264 = load i32, i32* %7
%265 = shl i32 %264, 30
%266 = load i32, i32* %7
%267 = lshr i32 %266, 2
%268 = or i32 %265, %267
store i32 %268, i32* %7
%269 = load i32, i32* %6
%270 = load i32, i32* %7
%271 = load i32, i32* %8
%272 = xor i32 %270, %271
%273 = and i32 %269, %272
%274 = load i32, i32* %8
%275 = xor i32 %273, %274
%276 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%277 = load i32, i32* %276
%278 = add i32 %275, %277
%279 = add i32 %278, 1518500249
%280 = load i32, i32* %5
%281 = shl i32 %280, 5
%282 = load i32, i32* %5
%283 = lshr i32 %282, 27
%284 = or i32 %281, %283
%285 = add i32 %279, %284
%286 = load i32, i32* %9
%287 = add i32 %286, %285
store i32 %287, i32* %9
%288 = load i32, i32* %6
%289 = shl i32 %288, 30
%290 = load i32, i32* %6
%291 = lshr i32 %290, 2
%292 = or i32 %289, %291
store i32 %292, i32* %6
%293 = load i32, i32* %5
%294 = load i32, i32* %6
%295 = load i32, i32* %7
%296 = xor i32 %294, %295
%297 = and i32 %293, %296
%298 = load i32, i32* %7
%299 = xor i32 %297, %298
%300 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%301 = load i32, i32* %300
%302 = add i32 %299, %301
%303 = add i32 %302, 1518500249
%304 = load i32, i32* %9
%305 = shl i32 %304, 5
%306 = load i32, i32* %9
%307 = lshr i32 %306, 27
%308 = or i32 %305, %307
%309 = add i32 %303, %308
%310 = load i32, i32* %8
%311 = add i32 %310, %309
store i32 %311, i32* %8
%312 = load i32, i32* %5
%313 = shl i32 %312, 30
%314 = load i32, i32* %5
%315 = lshr i32 %314, 2
%316 = or i32 %313, %315
store i32 %316, i32* %5
%317 = load i32, i32* %9
%318 = load i32, i32* %5
%319 = load i32, i32* %6
%320 = xor i32 %318, %319
%321 = and i32 %317, %320
%322 = load i32, i32* %6
%323 = xor i32 %321, %322
%324 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%325 = load i32, i32* %324
%326 = add i32 %323, %325
%327 = add i32 %326, 1518500249
%328 = load i32, i32* %8
%329 = shl i32 %328, 5
%330 = load i32, i32* %8
%331 = lshr i32 %330, 27
%332 = or i32 %329, %331
%333 = add i32 %327, %332
%334 = load i32, i32* %7
%335 = add i32 %334, %333
store i32 %335, i32* %7
%336 = load i32, i32* %9
%337 = shl i32 %336, 30
%338 = load i32, i32* %9
%339 = lshr i32 %338, 2
%340 = or i32 %337, %339
store i32 %340, i32* %9
%341 = load i32, i32* %8
%342 = load i32, i32* %9
%343 = load i32, i32* %5
%344 = xor i32 %342, %343
%345 = and i32 %341, %344
%346 = load i32, i32* %5
%347 = xor i32 %345, %346
%348 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%349 = load i32, i32* %348
%350 = add i32 %347, %349
%351 = add i32 %350, 1518500249
%352 = load i32, i32* %7
%353 = shl i32 %352, 5
%354 = load i32, i32* %7
%355 = lshr i32 %354, 27
%356 = or i32 %353, %355
%357 = add i32 %351, %356
%358 = load i32, i32* %6
%359 = add i32 %358, %357
store i32 %359, i32* %6
%360 = load i32, i32* %8
%361 = shl i32 %360, 30
%362 = load i32, i32* %8
%363 = lshr i32 %362, 2
%364 = or i32 %361, %363
store i32 %364, i32* %8
%365 = load i32, i32* %7
%366 = load i32, i32* %8
%367 = load i32, i32* %9
%368 = xor i32 %366, %367
%369 = and i32 %365, %368
%370 = load i32, i32* %9
%371 = xor i32 %369, %370
%372 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%373 = load i32, i32* %372
%374 = add i32 %371, %373
%375 = add i32 %374, 1518500249
%376 = load i32, i32* %6
%377 = shl i32 %376, 5
%378 = load i32, i32* %6
%379 = lshr i32 %378, 27
%380 = or i32 %377, %379
%381 = add i32 %375, %380
%382 = load i32, i32* %5
%383 = add i32 %382, %381
store i32 %383, i32* %5
%384 = load i32, i32* %7
%385 = shl i32 %384, 30
%386 = load i32, i32* %7
%387 = lshr i32 %386, 2
%388 = or i32 %385, %387
store i32 %388, i32* %7
%389 = load i32, i32* %6
%390 = load i32, i32* %7
%391 = load i32, i32* %8
%392 = xor i32 %390, %391
%393 = and i32 %389, %392
%394 = load i32, i32* %8
%395 = xor i32 %393, %394
%396 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%397 = load i32, i32* %396
%398 = add i32 %395, %397
%399 = add i32 %398, 1518500249
%400 = load i32, i32* %5
%401 = shl i32 %400, 5
%402 = load i32, i32* %5
%403 = lshr i32 %402, 27
%404 = or i32 %401, %403
%405 = add i32 %399, %404
%406 = load i32, i32* %9
%407 = add i32 %406, %405
store i32 %407, i32* %9
%408 = load i32, i32* %6
%409 = shl i32 %408, 30
%410 = load i32, i32* %6
%411 = lshr i32 %410, 2
%412 = or i32 %409, %411
store i32 %412, i32* %6
%413 = load i32, i32* %5
%414 = load i32, i32* %6
%415 = load i32, i32* %7
%416 = xor i32 %414, %415
%417 = and i32 %413, %416
%418 = load i32, i32* %7
%419 = xor i32 %417, %418
%420 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%421 = load i32, i32* %420
%422 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%423 = load i32, i32* %422
%424 = xor i32 %421, %423
%425 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%426 = load i32, i32* %425
%427 = xor i32 %424, %426
%428 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%429 = load i32, i32* %428
%430 = xor i32 %427, %429
%431 = shl i32 %430, 1
%432 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%433 = load i32, i32* %432
%434 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%435 = load i32, i32* %434
%436 = xor i32 %433, %435
%437 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%438 = load i32, i32* %437
%439 = xor i32 %436, %438
%440 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%441 = load i32, i32* %440
%442 = xor i32 %439, %441
%443 = lshr i32 %442, 31
%444 = or i32 %431, %443
%445 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
store i32 %444, i32* %445
%446 = add i32 %419, %444
%447 = add i32 %446, 1518500249
%448 = load i32, i32* %9
%449 = shl i32 %448, 5
%450 = load i32, i32* %9
%451 = lshr i32 %450, 27
%452 = or i32 %449, %451
%453 = add i32 %447, %452
%454 = load i32, i32* %8
%455 = add i32 %454, %453
store i32 %455, i32* %8
%456 = load i32, i32* %5
%457 = shl i32 %456, 30
%458 = load i32, i32* %5
%459 = lshr i32 %458, 2
%460 = or i32 %457, %459
store i32 %460, i32* %5
%461 = load i32, i32* %9
%462 = load i32, i32* %5
%463 = load i32, i32* %6
%464 = xor i32 %462, %463
%465 = and i32 %461, %464
%466 = load i32, i32* %6
%467 = xor i32 %465, %466
%468 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%469 = load i32, i32* %468
%470 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%471 = load i32, i32* %470
%472 = xor i32 %469, %471
%473 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%474 = load i32, i32* %473
%475 = xor i32 %472, %474
%476 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%477 = load i32, i32* %476
%478 = xor i32 %475, %477
%479 = shl i32 %478, 1
%480 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%481 = load i32, i32* %480
%482 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%483 = load i32, i32* %482
%484 = xor i32 %481, %483
%485 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%486 = load i32, i32* %485
%487 = xor i32 %484, %486
%488 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%489 = load i32, i32* %488
%490 = xor i32 %487, %489
%491 = lshr i32 %490, 31
%492 = or i32 %479, %491
%493 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
store i32 %492, i32* %493
%494 = add i32 %467, %492
%495 = add i32 %494, 1518500249
%496 = load i32, i32* %8
%497 = shl i32 %496, 5
%498 = load i32, i32* %8
%499 = lshr i32 %498, 27
%500 = or i32 %497, %499
%501 = add i32 %495, %500
%502 = load i32, i32* %7
%503 = add i32 %502, %501
store i32 %503, i32* %7
%504 = load i32, i32* %9
%505 = shl i32 %504, 30
%506 = load i32, i32* %9
%507 = lshr i32 %506, 2
%508 = or i32 %505, %507
store i32 %508, i32* %9
%509 = load i32, i32* %8
%510 = load i32, i32* %9
%511 = load i32, i32* %5
%512 = xor i32 %510, %511
%513 = and i32 %509, %512
%514 = load i32, i32* %5
%515 = xor i32 %513, %514
%516 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%517 = load i32, i32* %516
%518 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%519 = load i32, i32* %518
%520 = xor i32 %517, %519
%521 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%522 = load i32, i32* %521
%523 = xor i32 %520, %522
%524 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%525 = load i32, i32* %524
%526 = xor i32 %523, %525
%527 = shl i32 %526, 1
%528 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%529 = load i32, i32* %528
%530 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%531 = load i32, i32* %530
%532 = xor i32 %529, %531
%533 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%534 = load i32, i32* %533
%535 = xor i32 %532, %534
%536 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%537 = load i32, i32* %536
%538 = xor i32 %535, %537
%539 = lshr i32 %538, 31
%540 = or i32 %527, %539
%541 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
store i32 %540, i32* %541
%542 = add i32 %515, %540
%543 = add i32 %542, 1518500249
%544 = load i32, i32* %7
%545 = shl i32 %544, 5
%546 = load i32, i32* %7
%547 = lshr i32 %546, 27
%548 = or i32 %545, %547
%549 = add i32 %543, %548
%550 = load i32, i32* %6
%551 = add i32 %550, %549
store i32 %551, i32* %6
%552 = load i32, i32* %8
%553 = shl i32 %552, 30
%554 = load i32, i32* %8
%555 = lshr i32 %554, 2
%556 = or i32 %553, %555
store i32 %556, i32* %8
%557 = load i32, i32* %7
%558 = load i32, i32* %8
%559 = load i32, i32* %9
%560 = xor i32 %558, %559
%561 = and i32 %557, %560
%562 = load i32, i32* %9
%563 = xor i32 %561, %562
%564 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%565 = load i32, i32* %564
%566 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%567 = load i32, i32* %566
%568 = xor i32 %565, %567
%569 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%570 = load i32, i32* %569
%571 = xor i32 %568, %570
%572 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%573 = load i32, i32* %572
%574 = xor i32 %571, %573
%575 = shl i32 %574, 1
%576 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%577 = load i32, i32* %576
%578 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%579 = load i32, i32* %578
%580 = xor i32 %577, %579
%581 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%582 = load i32, i32* %581
%583 = xor i32 %580, %582
%584 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%585 = load i32, i32* %584
%586 = xor i32 %583, %585
%587 = lshr i32 %586, 31
%588 = or i32 %575, %587
%589 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
store i32 %588, i32* %589
%590 = add i32 %563, %588
%591 = add i32 %590, 1518500249
%592 = load i32, i32* %6
%593 = shl i32 %592, 5
%594 = load i32, i32* %6
%595 = lshr i32 %594, 27
%596 = or i32 %593, %595
%597 = add i32 %591, %596
%598 = load i32, i32* %5
%599 = add i32 %598, %597
store i32 %599, i32* %5
%600 = load i32, i32* %7
%601 = shl i32 %600, 30
%602 = load i32, i32* %7
%603 = lshr i32 %602, 2
%604 = or i32 %601, %603
store i32 %604, i32* %7
%605 = load i32, i32* %6
%606 = load i32, i32* %7
%607 = xor i32 %605, %606
%608 = load i32, i32* %8
%609 = xor i32 %607, %608
%610 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%611 = load i32, i32* %610
%612 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%613 = load i32, i32* %612
%614 = xor i32 %611, %613
%615 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%616 = load i32, i32* %615
%617 = xor i32 %614, %616
%618 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%619 = load i32, i32* %618
%620 = xor i32 %617, %619
%621 = shl i32 %620, 1
%622 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%623 = load i32, i32* %622
%624 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%625 = load i32, i32* %624
%626 = xor i32 %623, %625
%627 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%628 = load i32, i32* %627
%629 = xor i32 %626, %628
%630 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%631 = load i32, i32* %630
%632 = xor i32 %629, %631
%633 = lshr i32 %632, 31
%634 = or i32 %621, %633
%635 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
store i32 %634, i32* %635
%636 = add i32 %609, %634
%637 = add i32 %636, 1859775393
%638 = load i32, i32* %5
%639 = shl i32 %638, 5
%640 = load i32, i32* %5
%641 = lshr i32 %640, 27
%642 = or i32 %639, %641
%643 = add i32 %637, %642
%644 = load i32, i32* %9
%645 = add i32 %644, %643
store i32 %645, i32* %9
%646 = load i32, i32* %6
%647 = shl i32 %646, 30
%648 = load i32, i32* %6
%649 = lshr i32 %648, 2
%650 = or i32 %647, %649
store i32 %650, i32* %6
%651 = load i32, i32* %5
%652 = load i32, i32* %6
%653 = xor i32 %651, %652
%654 = load i32, i32* %7
%655 = xor i32 %653, %654
%656 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%657 = load i32, i32* %656
%658 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%659 = load i32, i32* %658
%660 = xor i32 %657, %659
%661 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%662 = load i32, i32* %661
%663 = xor i32 %660, %662
%664 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%665 = load i32, i32* %664
%666 = xor i32 %663, %665
%667 = shl i32 %666, 1
%668 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%669 = load i32, i32* %668
%670 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%671 = load i32, i32* %670
%672 = xor i32 %669, %671
%673 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%674 = load i32, i32* %673
%675 = xor i32 %672, %674
%676 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%677 = load i32, i32* %676
%678 = xor i32 %675, %677
%679 = lshr i32 %678, 31
%680 = or i32 %667, %679
%681 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
store i32 %680, i32* %681
%682 = add i32 %655, %680
%683 = add i32 %682, 1859775393
%684 = load i32, i32* %9
%685 = shl i32 %684, 5
%686 = load i32, i32* %9
%687 = lshr i32 %686, 27
%688 = or i32 %685, %687
%689 = add i32 %683, %688
%690 = load i32, i32* %8
%691 = add i32 %690, %689
store i32 %691, i32* %8
%692 = load i32, i32* %5
%693 = shl i32 %692, 30
%694 = load i32, i32* %5
%695 = lshr i32 %694, 2
%696 = or i32 %693, %695
store i32 %696, i32* %5
%697 = load i32, i32* %9
%698 = load i32, i32* %5
%699 = xor i32 %697, %698
%700 = load i32, i32* %6
%701 = xor i32 %699, %700
%702 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%703 = load i32, i32* %702
%704 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%705 = load i32, i32* %704
%706 = xor i32 %703, %705
%707 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%708 = load i32, i32* %707
%709 = xor i32 %706, %708
%710 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%711 = load i32, i32* %710
%712 = xor i32 %709, %711
%713 = shl i32 %712, 1
%714 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%715 = load i32, i32* %714
%716 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%717 = load i32, i32* %716
%718 = xor i32 %715, %717
%719 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%720 = load i32, i32* %719
%721 = xor i32 %718, %720
%722 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%723 = load i32, i32* %722
%724 = xor i32 %721, %723
%725 = lshr i32 %724, 31
%726 = or i32 %713, %725
%727 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
store i32 %726, i32* %727
%728 = add i32 %701, %726
%729 = add i32 %728, 1859775393
%730 = load i32, i32* %8
%731 = shl i32 %730, 5
%732 = load i32, i32* %8
%733 = lshr i32 %732, 27
%734 = or i32 %731, %733
%735 = add i32 %729, %734
%736 = load i32, i32* %7
%737 = add i32 %736, %735
store i32 %737, i32* %7
%738 = load i32, i32* %9
%739 = shl i32 %738, 30
%740 = load i32, i32* %9
%741 = lshr i32 %740, 2
%742 = or i32 %739, %741
store i32 %742, i32* %9
%743 = load i32, i32* %8
%744 = load i32, i32* %9
%745 = xor i32 %743, %744
%746 = load i32, i32* %5
%747 = xor i32 %745, %746
%748 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%749 = load i32, i32* %748
%750 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%751 = load i32, i32* %750
%752 = xor i32 %749, %751
%753 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%754 = load i32, i32* %753
%755 = xor i32 %752, %754
%756 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%757 = load i32, i32* %756
%758 = xor i32 %755, %757
%759 = shl i32 %758, 1
%760 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%761 = load i32, i32* %760
%762 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%763 = load i32, i32* %762
%764 = xor i32 %761, %763
%765 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%766 = load i32, i32* %765
%767 = xor i32 %764, %766
%768 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%769 = load i32, i32* %768
%770 = xor i32 %767, %769
%771 = lshr i32 %770, 31
%772 = or i32 %759, %771
%773 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
store i32 %772, i32* %773
%774 = add i32 %747, %772
%775 = add i32 %774, 1859775393
%776 = load i32, i32* %7
%777 = shl i32 %776, 5
%778 = load i32, i32* %7
%779 = lshr i32 %778, 27
%780 = or i32 %777, %779
%781 = add i32 %775, %780
%782 = load i32, i32* %6
%783 = add i32 %782, %781
store i32 %783, i32* %6
%784 = load i32, i32* %8
%785 = shl i32 %784, 30
%786 = load i32, i32* %8
%787 = lshr i32 %786, 2
%788 = or i32 %785, %787
store i32 %788, i32* %8
%789 = load i32, i32* %7
%790 = load i32, i32* %8
%791 = xor i32 %789, %790
%792 = load i32, i32* %9
%793 = xor i32 %791, %792
%794 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%795 = load i32, i32* %794
%796 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%797 = load i32, i32* %796
%798 = xor i32 %795, %797
%799 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%800 = load i32, i32* %799
%801 = xor i32 %798, %800
%802 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%803 = load i32, i32* %802
%804 = xor i32 %801, %803
%805 = shl i32 %804, 1
%806 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%807 = load i32, i32* %806
%808 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%809 = load i32, i32* %808
%810 = xor i32 %807, %809
%811 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%812 = load i32, i32* %811
%813 = xor i32 %810, %812
%814 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%815 = load i32, i32* %814
%816 = xor i32 %813, %815
%817 = lshr i32 %816, 31
%818 = or i32 %805, %817
%819 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
store i32 %818, i32* %819
%820 = add i32 %793, %818
%821 = add i32 %820, 1859775393
%822 = load i32, i32* %6
%823 = shl i32 %822, 5
%824 = load i32, i32* %6
%825 = lshr i32 %824, 27
%826 = or i32 %823, %825
%827 = add i32 %821, %826
%828 = load i32, i32* %5
%829 = add i32 %828, %827
store i32 %829, i32* %5
%830 = load i32, i32* %7
%831 = shl i32 %830, 30
%832 = load i32, i32* %7
%833 = lshr i32 %832, 2
%834 = or i32 %831, %833
store i32 %834, i32* %7
%835 = load i32, i32* %6
%836 = load i32, i32* %7
%837 = xor i32 %835, %836
%838 = load i32, i32* %8
%839 = xor i32 %837, %838
%840 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%841 = load i32, i32* %840
%842 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%843 = load i32, i32* %842
%844 = xor i32 %841, %843
%845 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%846 = load i32, i32* %845
%847 = xor i32 %844, %846
%848 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%849 = load i32, i32* %848
%850 = xor i32 %847, %849
%851 = shl i32 %850, 1
%852 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%853 = load i32, i32* %852
%854 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%855 = load i32, i32* %854
%856 = xor i32 %853, %855
%857 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%858 = load i32, i32* %857
%859 = xor i32 %856, %858
%860 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%861 = load i32, i32* %860
%862 = xor i32 %859, %861
%863 = lshr i32 %862, 31
%864 = or i32 %851, %863
%865 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
store i32 %864, i32* %865
%866 = add i32 %839, %864
%867 = add i32 %866, 1859775393
%868 = load i32, i32* %5
%869 = shl i32 %868, 5
%870 = load i32, i32* %5
%871 = lshr i32 %870, 27
%872 = or i32 %869, %871
%873 = add i32 %867, %872
%874 = load i32, i32* %9
%875 = add i32 %874, %873
store i32 %875, i32* %9
%876 = load i32, i32* %6
%877 = shl i32 %876, 30
%878 = load i32, i32* %6
%879 = lshr i32 %878, 2
%880 = or i32 %877, %879
store i32 %880, i32* %6
%881 = load i32, i32* %5
%882 = load i32, i32* %6
%883 = xor i32 %881, %882
%884 = load i32, i32* %7
%885 = xor i32 %883, %884
%886 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%887 = load i32, i32* %886
%888 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%889 = load i32, i32* %888
%890 = xor i32 %887, %889
%891 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%892 = load i32, i32* %891
%893 = xor i32 %890, %892
%894 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%895 = load i32, i32* %894
%896 = xor i32 %893, %895
%897 = shl i32 %896, 1
%898 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%899 = load i32, i32* %898
%900 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%901 = load i32, i32* %900
%902 = xor i32 %899, %901
%903 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%904 = load i32, i32* %903
%905 = xor i32 %902, %904
%906 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%907 = load i32, i32* %906
%908 = xor i32 %905, %907
%909 = lshr i32 %908, 31
%910 = or i32 %897, %909
%911 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
store i32 %910, i32* %911
%912 = add i32 %885, %910
%913 = add i32 %912, 1859775393
%914 = load i32, i32* %9
%915 = shl i32 %914, 5
%916 = load i32, i32* %9
%917 = lshr i32 %916, 27
%918 = or i32 %915, %917
%919 = add i32 %913, %918
%920 = load i32, i32* %8
%921 = add i32 %920, %919
store i32 %921, i32* %8
%922 = load i32, i32* %5
%923 = shl i32 %922, 30
%924 = load i32, i32* %5
%925 = lshr i32 %924, 2
%926 = or i32 %923, %925
store i32 %926, i32* %5
%927 = load i32, i32* %9
%928 = load i32, i32* %5
%929 = xor i32 %927, %928
%930 = load i32, i32* %6
%931 = xor i32 %929, %930
%932 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%933 = load i32, i32* %932
%934 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%935 = load i32, i32* %934
%936 = xor i32 %933, %935
%937 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%938 = load i32, i32* %937
%939 = xor i32 %936, %938
%940 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%941 = load i32, i32* %940
%942 = xor i32 %939, %941
%943 = shl i32 %942, 1
%944 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%945 = load i32, i32* %944
%946 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%947 = load i32, i32* %946
%948 = xor i32 %945, %947
%949 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%950 = load i32, i32* %949
%951 = xor i32 %948, %950
%952 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%953 = load i32, i32* %952
%954 = xor i32 %951, %953
%955 = lshr i32 %954, 31
%956 = or i32 %943, %955
%957 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
store i32 %956, i32* %957
%958 = add i32 %931, %956
%959 = add i32 %958, 1859775393
%960 = load i32, i32* %8
%961 = shl i32 %960, 5
%962 = load i32, i32* %8
%963 = lshr i32 %962, 27
%964 = or i32 %961, %963
%965 = add i32 %959, %964
%966 = load i32, i32* %7
%967 = add i32 %966, %965
store i32 %967, i32* %7
%968 = load i32, i32* %9
%969 = shl i32 %968, 30
%970 = load i32, i32* %9
%971 = lshr i32 %970, 2
%972 = or i32 %969, %971
store i32 %972, i32* %9
%973 = load i32, i32* %8
%974 = load i32, i32* %9
%975 = xor i32 %973, %974
%976 = load i32, i32* %5
%977 = xor i32 %975, %976
%978 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%979 = load i32, i32* %978
%980 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%981 = load i32, i32* %980
%982 = xor i32 %979, %981
%983 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%984 = load i32, i32* %983
%985 = xor i32 %982, %984
%986 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%987 = load i32, i32* %986
%988 = xor i32 %985, %987
%989 = shl i32 %988, 1
%990 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%991 = load i32, i32* %990
%992 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%993 = load i32, i32* %992
%994 = xor i32 %991, %993
%995 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%996 = load i32, i32* %995
%997 = xor i32 %994, %996
%998 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%999 = load i32, i32* %998
%1000 = xor i32 %997, %999
%1001 = lshr i32 %1000, 31
%1002 = or i32 %989, %1001
%1003 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
store i32 %1002, i32* %1003
%1004 = add i32 %977, %1002
%1005 = add i32 %1004, 1859775393
%1006 = load i32, i32* %7
%1007 = shl i32 %1006, 5
%1008 = load i32, i32* %7
%1009 = lshr i32 %1008, 27
%1010 = or i32 %1007, %1009
%1011 = add i32 %1005, %1010
%1012 = load i32, i32* %6
%1013 = add i32 %1012, %1011
store i32 %1013, i32* %6
%1014 = load i32, i32* %8
%1015 = shl i32 %1014, 30
%1016 = load i32, i32* %8
%1017 = lshr i32 %1016, 2
%1018 = or i32 %1015, %1017
store i32 %1018, i32* %8
%1019 = load i32, i32* %7
%1020 = load i32, i32* %8
%1021 = xor i32 %1019, %1020
%1022 = load i32, i32* %9
%1023 = xor i32 %1021, %1022
%1024 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%1025 = load i32, i32* %1024
%1026 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%1027 = load i32, i32* %1026
%1028 = xor i32 %1025, %1027
%1029 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%1030 = load i32, i32* %1029
%1031 = xor i32 %1028, %1030
%1032 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%1033 = load i32, i32* %1032
%1034 = xor i32 %1031, %1033
%1035 = shl i32 %1034, 1
%1036 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%1037 = load i32, i32* %1036
%1038 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%1039 = load i32, i32* %1038
%1040 = xor i32 %1037, %1039
%1041 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%1042 = load i32, i32* %1041
%1043 = xor i32 %1040, %1042
%1044 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%1045 = load i32, i32* %1044
%1046 = xor i32 %1043, %1045
%1047 = lshr i32 %1046, 31
%1048 = or i32 %1035, %1047
%1049 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
store i32 %1048, i32* %1049
%1050 = add i32 %1023, %1048
%1051 = add i32 %1050, 1859775393
%1052 = load i32, i32* %6
%1053 = shl i32 %1052, 5
%1054 = load i32, i32* %6
%1055 = lshr i32 %1054, 27
%1056 = or i32 %1053, %1055
%1057 = add i32 %1051, %1056
%1058 = load i32, i32* %5
%1059 = add i32 %1058, %1057
store i32 %1059, i32* %5
%1060 = load i32, i32* %7
%1061 = shl i32 %1060, 30
%1062 = load i32, i32* %7
%1063 = lshr i32 %1062, 2
%1064 = or i32 %1061, %1063
store i32 %1064, i32* %7
%1065 = load i32, i32* %6
%1066 = load i32, i32* %7
%1067 = xor i32 %1065, %1066
%1068 = load i32, i32* %8
%1069 = xor i32 %1067, %1068
%1070 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%1071 = load i32, i32* %1070
%1072 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%1073 = load i32, i32* %1072
%1074 = xor i32 %1071, %1073
%1075 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%1076 = load i32, i32* %1075
%1077 = xor i32 %1074, %1076
%1078 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%1079 = load i32, i32* %1078
%1080 = xor i32 %1077, %1079
%1081 = shl i32 %1080, 1
%1082 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%1083 = load i32, i32* %1082
%1084 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%1085 = load i32, i32* %1084
%1086 = xor i32 %1083, %1085
%1087 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%1088 = load i32, i32* %1087
%1089 = xor i32 %1086, %1088
%1090 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%1091 = load i32, i32* %1090
%1092 = xor i32 %1089, %1091
%1093 = lshr i32 %1092, 31
%1094 = or i32 %1081, %1093
%1095 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
store i32 %1094, i32* %1095
%1096 = add i32 %1069, %1094
%1097 = add i32 %1096, 1859775393
%1098 = load i32, i32* %5
%1099 = shl i32 %1098, 5
%1100 = load i32, i32* %5
%1101 = lshr i32 %1100, 27
%1102 = or i32 %1099, %1101
%1103 = add i32 %1097, %1102
%1104 = load i32, i32* %9
%1105 = add i32 %1104, %1103
store i32 %1105, i32* %9
%1106 = load i32, i32* %6
%1107 = shl i32 %1106, 30
%1108 = load i32, i32* %6
%1109 = lshr i32 %1108, 2
%1110 = or i32 %1107, %1109
store i32 %1110, i32* %6
%1111 = load i32, i32* %5
%1112 = load i32, i32* %6
%1113 = xor i32 %1111, %1112
%1114 = load i32, i32* %7
%1115 = xor i32 %1113, %1114
%1116 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%1117 = load i32, i32* %1116
%1118 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%1119 = load i32, i32* %1118
%1120 = xor i32 %1117, %1119
%1121 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%1122 = load i32, i32* %1121
%1123 = xor i32 %1120, %1122
%1124 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%1125 = load i32, i32* %1124
%1126 = xor i32 %1123, %1125
%1127 = shl i32 %1126, 1
%1128 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%1129 = load i32, i32* %1128
%1130 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%1131 = load i32, i32* %1130
%1132 = xor i32 %1129, %1131
%1133 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%1134 = load i32, i32* %1133
%1135 = xor i32 %1132, %1134
%1136 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%1137 = load i32, i32* %1136
%1138 = xor i32 %1135, %1137
%1139 = lshr i32 %1138, 31
%1140 = or i32 %1127, %1139
%1141 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
store i32 %1140, i32* %1141
%1142 = add i32 %1115, %1140
%1143 = add i32 %1142, 1859775393
%1144 = load i32, i32* %9
%1145 = shl i32 %1144, 5
%1146 = load i32, i32* %9
%1147 = lshr i32 %1146, 27
%1148 = or i32 %1145, %1147
%1149 = add i32 %1143, %1148
%1150 = load i32, i32* %8
%1151 = add i32 %1150, %1149
store i32 %1151, i32* %8
%1152 = load i32, i32* %5
%1153 = shl i32 %1152, 30
%1154 = load i32, i32* %5
%1155 = lshr i32 %1154, 2
%1156 = or i32 %1153, %1155
store i32 %1156, i32* %5
%1157 = load i32, i32* %9
%1158 = load i32, i32* %5
%1159 = xor i32 %1157, %1158
%1160 = load i32, i32* %6
%1161 = xor i32 %1159, %1160
%1162 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%1163 = load i32, i32* %1162
%1164 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%1165 = load i32, i32* %1164
%1166 = xor i32 %1163, %1165
%1167 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%1168 = load i32, i32* %1167
%1169 = xor i32 %1166, %1168
%1170 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%1171 = load i32, i32* %1170
%1172 = xor i32 %1169, %1171
%1173 = shl i32 %1172, 1
%1174 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%1175 = load i32, i32* %1174
%1176 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%1177 = load i32, i32* %1176
%1178 = xor i32 %1175, %1177
%1179 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%1180 = load i32, i32* %1179
%1181 = xor i32 %1178, %1180
%1182 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%1183 = load i32, i32* %1182
%1184 = xor i32 %1181, %1183
%1185 = lshr i32 %1184, 31
%1186 = or i32 %1173, %1185
%1187 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
store i32 %1186, i32* %1187
%1188 = add i32 %1161, %1186
%1189 = add i32 %1188, 1859775393
%1190 = load i32, i32* %8
%1191 = shl i32 %1190, 5
%1192 = load i32, i32* %8
%1193 = lshr i32 %1192, 27
%1194 = or i32 %1191, %1193
%1195 = add i32 %1189, %1194
%1196 = load i32, i32* %7
%1197 = add i32 %1196, %1195
store i32 %1197, i32* %7
%1198 = load i32, i32* %9
%1199 = shl i32 %1198, 30
%1200 = load i32, i32* %9
%1201 = lshr i32 %1200, 2
%1202 = or i32 %1199, %1201
store i32 %1202, i32* %9
%1203 = load i32, i32* %8
%1204 = load i32, i32* %9
%1205 = xor i32 %1203, %1204
%1206 = load i32, i32* %5
%1207 = xor i32 %1205, %1206
%1208 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%1209 = load i32, i32* %1208
%1210 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%1211 = load i32, i32* %1210
%1212 = xor i32 %1209, %1211
%1213 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%1214 = load i32, i32* %1213
%1215 = xor i32 %1212, %1214
%1216 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%1217 = load i32, i32* %1216
%1218 = xor i32 %1215, %1217
%1219 = shl i32 %1218, 1
%1220 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%1221 = load i32, i32* %1220
%1222 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%1223 = load i32, i32* %1222
%1224 = xor i32 %1221, %1223
%1225 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%1226 = load i32, i32* %1225
%1227 = xor i32 %1224, %1226
%1228 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%1229 = load i32, i32* %1228
%1230 = xor i32 %1227, %1229
%1231 = lshr i32 %1230, 31
%1232 = or i32 %1219, %1231
%1233 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
store i32 %1232, i32* %1233
%1234 = add i32 %1207, %1232
%1235 = add i32 %1234, 1859775393
%1236 = load i32, i32* %7
%1237 = shl i32 %1236, 5
%1238 = load i32, i32* %7
%1239 = lshr i32 %1238, 27
%1240 = or i32 %1237, %1239
%1241 = add i32 %1235, %1240
%1242 = load i32, i32* %6
%1243 = add i32 %1242, %1241
store i32 %1243, i32* %6
%1244 = load i32, i32* %8
%1245 = shl i32 %1244, 30
%1246 = load i32, i32* %8
%1247 = lshr i32 %1246, 2
%1248 = or i32 %1245, %1247
store i32 %1248, i32* %8
%1249 = load i32, i32* %7
%1250 = load i32, i32* %8
%1251 = xor i32 %1249, %1250
%1252 = load i32, i32* %9
%1253 = xor i32 %1251, %1252
%1254 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%1255 = load i32, i32* %1254
%1256 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%1257 = load i32, i32* %1256
%1258 = xor i32 %1255, %1257
%1259 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%1260 = load i32, i32* %1259
%1261 = xor i32 %1258, %1260
%1262 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%1263 = load i32, i32* %1262
%1264 = xor i32 %1261, %1263
%1265 = shl i32 %1264, 1
%1266 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%1267 = load i32, i32* %1266
%1268 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%1269 = load i32, i32* %1268
%1270 = xor i32 %1267, %1269
%1271 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%1272 = load i32, i32* %1271
%1273 = xor i32 %1270, %1272
%1274 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%1275 = load i32, i32* %1274
%1276 = xor i32 %1273, %1275
%1277 = lshr i32 %1276, 31
%1278 = or i32 %1265, %1277
%1279 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
store i32 %1278, i32* %1279
%1280 = add i32 %1253, %1278
%1281 = add i32 %1280, 1859775393
%1282 = load i32, i32* %6
%1283 = shl i32 %1282, 5
%1284 = load i32, i32* %6
%1285 = lshr i32 %1284, 27
%1286 = or i32 %1283, %1285
%1287 = add i32 %1281, %1286
%1288 = load i32, i32* %5
%1289 = add i32 %1288, %1287
store i32 %1289, i32* %5
%1290 = load i32, i32* %7
%1291 = shl i32 %1290, 30
%1292 = load i32, i32* %7
%1293 = lshr i32 %1292, 2
%1294 = or i32 %1291, %1293
store i32 %1294, i32* %7
%1295 = load i32, i32* %6
%1296 = load i32, i32* %7
%1297 = xor i32 %1295, %1296
%1298 = load i32, i32* %8
%1299 = xor i32 %1297, %1298
%1300 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%1301 = load i32, i32* %1300
%1302 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%1303 = load i32, i32* %1302
%1304 = xor i32 %1301, %1303
%1305 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%1306 = load i32, i32* %1305
%1307 = xor i32 %1304, %1306
%1308 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%1309 = load i32, i32* %1308
%1310 = xor i32 %1307, %1309
%1311 = shl i32 %1310, 1
%1312 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%1313 = load i32, i32* %1312
%1314 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%1315 = load i32, i32* %1314
%1316 = xor i32 %1313, %1315
%1317 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%1318 = load i32, i32* %1317
%1319 = xor i32 %1316, %1318
%1320 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%1321 = load i32, i32* %1320
%1322 = xor i32 %1319, %1321
%1323 = lshr i32 %1322, 31
%1324 = or i32 %1311, %1323
%1325 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
store i32 %1324, i32* %1325
%1326 = add i32 %1299, %1324
%1327 = add i32 %1326, 1859775393
%1328 = load i32, i32* %5
%1329 = shl i32 %1328, 5
%1330 = load i32, i32* %5
%1331 = lshr i32 %1330, 27
%1332 = or i32 %1329, %1331
%1333 = add i32 %1327, %1332
%1334 = load i32, i32* %9
%1335 = add i32 %1334, %1333
store i32 %1335, i32* %9
%1336 = load i32, i32* %6
%1337 = shl i32 %1336, 30
%1338 = load i32, i32* %6
%1339 = lshr i32 %1338, 2
%1340 = or i32 %1337, %1339
store i32 %1340, i32* %6
%1341 = load i32, i32* %5
%1342 = load i32, i32* %6
%1343 = xor i32 %1341, %1342
%1344 = load i32, i32* %7
%1345 = xor i32 %1343, %1344
%1346 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%1347 = load i32, i32* %1346
%1348 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%1349 = load i32, i32* %1348
%1350 = xor i32 %1347, %1349
%1351 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%1352 = load i32, i32* %1351
%1353 = xor i32 %1350, %1352
%1354 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%1355 = load i32, i32* %1354
%1356 = xor i32 %1353, %1355
%1357 = shl i32 %1356, 1
%1358 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%1359 = load i32, i32* %1358
%1360 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%1361 = load i32, i32* %1360
%1362 = xor i32 %1359, %1361
%1363 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%1364 = load i32, i32* %1363
%1365 = xor i32 %1362, %1364
%1366 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%1367 = load i32, i32* %1366
%1368 = xor i32 %1365, %1367
%1369 = lshr i32 %1368, 31
%1370 = or i32 %1357, %1369
%1371 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
store i32 %1370, i32* %1371
%1372 = add i32 %1345, %1370
%1373 = add i32 %1372, 1859775393
%1374 = load i32, i32* %9
%1375 = shl i32 %1374, 5
%1376 = load i32, i32* %9
%1377 = lshr i32 %1376, 27
%1378 = or i32 %1375, %1377
%1379 = add i32 %1373, %1378
%1380 = load i32, i32* %8
%1381 = add i32 %1380, %1379
store i32 %1381, i32* %8
%1382 = load i32, i32* %5
%1383 = shl i32 %1382, 30
%1384 = load i32, i32* %5
%1385 = lshr i32 %1384, 2
%1386 = or i32 %1383, %1385
store i32 %1386, i32* %5
%1387 = load i32, i32* %9
%1388 = load i32, i32* %5
%1389 = xor i32 %1387, %1388
%1390 = load i32, i32* %6
%1391 = xor i32 %1389, %1390
%1392 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%1393 = load i32, i32* %1392
%1394 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%1395 = load i32, i32* %1394
%1396 = xor i32 %1393, %1395
%1397 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%1398 = load i32, i32* %1397
%1399 = xor i32 %1396, %1398
%1400 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%1401 = load i32, i32* %1400
%1402 = xor i32 %1399, %1401
%1403 = shl i32 %1402, 1
%1404 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%1405 = load i32, i32* %1404
%1406 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%1407 = load i32, i32* %1406
%1408 = xor i32 %1405, %1407
%1409 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%1410 = load i32, i32* %1409
%1411 = xor i32 %1408, %1410
%1412 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%1413 = load i32, i32* %1412
%1414 = xor i32 %1411, %1413
%1415 = lshr i32 %1414, 31
%1416 = or i32 %1403, %1415
%1417 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
store i32 %1416, i32* %1417
%1418 = add i32 %1391, %1416
%1419 = add i32 %1418, 1859775393
%1420 = load i32, i32* %8
%1421 = shl i32 %1420, 5
%1422 = load i32, i32* %8
%1423 = lshr i32 %1422, 27
%1424 = or i32 %1421, %1423
%1425 = add i32 %1419, %1424
%1426 = load i32, i32* %7
%1427 = add i32 %1426, %1425
store i32 %1427, i32* %7
%1428 = load i32, i32* %9
%1429 = shl i32 %1428, 30
%1430 = load i32, i32* %9
%1431 = lshr i32 %1430, 2
%1432 = or i32 %1429, %1431
store i32 %1432, i32* %9
%1433 = load i32, i32* %8
%1434 = load i32, i32* %9
%1435 = xor i32 %1433, %1434
%1436 = load i32, i32* %5
%1437 = xor i32 %1435, %1436
%1438 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%1439 = load i32, i32* %1438
%1440 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%1441 = load i32, i32* %1440
%1442 = xor i32 %1439, %1441
%1443 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%1444 = load i32, i32* %1443
%1445 = xor i32 %1442, %1444
%1446 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%1447 = load i32, i32* %1446
%1448 = xor i32 %1445, %1447
%1449 = shl i32 %1448, 1
%1450 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%1451 = load i32, i32* %1450
%1452 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%1453 = load i32, i32* %1452
%1454 = xor i32 %1451, %1453
%1455 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%1456 = load i32, i32* %1455
%1457 = xor i32 %1454, %1456
%1458 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%1459 = load i32, i32* %1458
%1460 = xor i32 %1457, %1459
%1461 = lshr i32 %1460, 31
%1462 = or i32 %1449, %1461
%1463 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
store i32 %1462, i32* %1463
%1464 = add i32 %1437, %1462
%1465 = add i32 %1464, 1859775393
%1466 = load i32, i32* %7
%1467 = shl i32 %1466, 5
%1468 = load i32, i32* %7
%1469 = lshr i32 %1468, 27
%1470 = or i32 %1467, %1469
%1471 = add i32 %1465, %1470
%1472 = load i32, i32* %6
%1473 = add i32 %1472, %1471
store i32 %1473, i32* %6
%1474 = load i32, i32* %8
%1475 = shl i32 %1474, 30
%1476 = load i32, i32* %8
%1477 = lshr i32 %1476, 2
%1478 = or i32 %1475, %1477
store i32 %1478, i32* %8
%1479 = load i32, i32* %7
%1480 = load i32, i32* %8
%1481 = xor i32 %1479, %1480
%1482 = load i32, i32* %9
%1483 = xor i32 %1481, %1482
%1484 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%1485 = load i32, i32* %1484
%1486 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%1487 = load i32, i32* %1486
%1488 = xor i32 %1485, %1487
%1489 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%1490 = load i32, i32* %1489
%1491 = xor i32 %1488, %1490
%1492 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%1493 = load i32, i32* %1492
%1494 = xor i32 %1491, %1493
%1495 = shl i32 %1494, 1
%1496 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%1497 = load i32, i32* %1496
%1498 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%1499 = load i32, i32* %1498
%1500 = xor i32 %1497, %1499
%1501 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%1502 = load i32, i32* %1501
%1503 = xor i32 %1500, %1502
%1504 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%1505 = load i32, i32* %1504
%1506 = xor i32 %1503, %1505
%1507 = lshr i32 %1506, 31
%1508 = or i32 %1495, %1507
%1509 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
store i32 %1508, i32* %1509
%1510 = add i32 %1483, %1508
%1511 = add i32 %1510, 1859775393
%1512 = load i32, i32* %6
%1513 = shl i32 %1512, 5
%1514 = load i32, i32* %6
%1515 = lshr i32 %1514, 27
%1516 = or i32 %1513, %1515
%1517 = add i32 %1511, %1516
%1518 = load i32, i32* %5
%1519 = add i32 %1518, %1517
store i32 %1519, i32* %5
%1520 = load i32, i32* %7
%1521 = shl i32 %1520, 30
%1522 = load i32, i32* %7
%1523 = lshr i32 %1522, 2
%1524 = or i32 %1521, %1523
store i32 %1524, i32* %7
%1525 = load i32, i32* %6
%1526 = load i32, i32* %7
%1527 = or i32 %1525, %1526
%1528 = load i32, i32* %8
%1529 = and i32 %1527, %1528
%1530 = load i32, i32* %6
%1531 = load i32, i32* %7
%1532 = and i32 %1530, %1531
%1533 = or i32 %1529, %1532
%1534 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%1535 = load i32, i32* %1534
%1536 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%1537 = load i32, i32* %1536
%1538 = xor i32 %1535, %1537
%1539 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%1540 = load i32, i32* %1539
%1541 = xor i32 %1538, %1540
%1542 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%1543 = load i32, i32* %1542
%1544 = xor i32 %1541, %1543
%1545 = shl i32 %1544, 1
%1546 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%1547 = load i32, i32* %1546
%1548 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%1549 = load i32, i32* %1548
%1550 = xor i32 %1547, %1549
%1551 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%1552 = load i32, i32* %1551
%1553 = xor i32 %1550, %1552
%1554 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%1555 = load i32, i32* %1554
%1556 = xor i32 %1553, %1555
%1557 = lshr i32 %1556, 31
%1558 = or i32 %1545, %1557
%1559 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
store i32 %1558, i32* %1559
%1560 = add i32 %1533, %1558
%1561 = add i32 %1560, -1894007588
%1562 = load i32, i32* %5
%1563 = shl i32 %1562, 5
%1564 = load i32, i32* %5
%1565 = lshr i32 %1564, 27
%1566 = or i32 %1563, %1565
%1567 = add i32 %1561, %1566
%1568 = load i32, i32* %9
%1569 = add i32 %1568, %1567
store i32 %1569, i32* %9
%1570 = load i32, i32* %6
%1571 = shl i32 %1570, 30
%1572 = load i32, i32* %6
%1573 = lshr i32 %1572, 2
%1574 = or i32 %1571, %1573
store i32 %1574, i32* %6
%1575 = load i32, i32* %5
%1576 = load i32, i32* %6
%1577 = or i32 %1575, %1576
%1578 = load i32, i32* %7
%1579 = and i32 %1577, %1578
%1580 = load i32, i32* %5
%1581 = load i32, i32* %6
%1582 = and i32 %1580, %1581
%1583 = or i32 %1579, %1582
%1584 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%1585 = load i32, i32* %1584
%1586 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%1587 = load i32, i32* %1586
%1588 = xor i32 %1585, %1587
%1589 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%1590 = load i32, i32* %1589
%1591 = xor i32 %1588, %1590
%1592 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%1593 = load i32, i32* %1592
%1594 = xor i32 %1591, %1593
%1595 = shl i32 %1594, 1
%1596 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%1597 = load i32, i32* %1596
%1598 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%1599 = load i32, i32* %1598
%1600 = xor i32 %1597, %1599
%1601 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%1602 = load i32, i32* %1601
%1603 = xor i32 %1600, %1602
%1604 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%1605 = load i32, i32* %1604
%1606 = xor i32 %1603, %1605
%1607 = lshr i32 %1606, 31
%1608 = or i32 %1595, %1607
%1609 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
store i32 %1608, i32* %1609
%1610 = add i32 %1583, %1608
%1611 = add i32 %1610, -1894007588
%1612 = load i32, i32* %9
%1613 = shl i32 %1612, 5
%1614 = load i32, i32* %9
%1615 = lshr i32 %1614, 27
%1616 = or i32 %1613, %1615
%1617 = add i32 %1611, %1616
%1618 = load i32, i32* %8
%1619 = add i32 %1618, %1617
store i32 %1619, i32* %8
%1620 = load i32, i32* %5
%1621 = shl i32 %1620, 30
%1622 = load i32, i32* %5
%1623 = lshr i32 %1622, 2
%1624 = or i32 %1621, %1623
store i32 %1624, i32* %5
%1625 = load i32, i32* %9
%1626 = load i32, i32* %5
%1627 = or i32 %1625, %1626
%1628 = load i32, i32* %6
%1629 = and i32 %1627, %1628
%1630 = load i32, i32* %9
%1631 = load i32, i32* %5
%1632 = and i32 %1630, %1631
%1633 = or i32 %1629, %1632
%1634 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%1635 = load i32, i32* %1634
%1636 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%1637 = load i32, i32* %1636
%1638 = xor i32 %1635, %1637
%1639 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%1640 = load i32, i32* %1639
%1641 = xor i32 %1638, %1640
%1642 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%1643 = load i32, i32* %1642
%1644 = xor i32 %1641, %1643
%1645 = shl i32 %1644, 1
%1646 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%1647 = load i32, i32* %1646
%1648 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%1649 = load i32, i32* %1648
%1650 = xor i32 %1647, %1649
%1651 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%1652 = load i32, i32* %1651
%1653 = xor i32 %1650, %1652
%1654 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%1655 = load i32, i32* %1654
%1656 = xor i32 %1653, %1655
%1657 = lshr i32 %1656, 31
%1658 = or i32 %1645, %1657
%1659 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
store i32 %1658, i32* %1659
%1660 = add i32 %1633, %1658
%1661 = add i32 %1660, -1894007588
%1662 = load i32, i32* %8
%1663 = shl i32 %1662, 5
%1664 = load i32, i32* %8
%1665 = lshr i32 %1664, 27
%1666 = or i32 %1663, %1665
%1667 = add i32 %1661, %1666
%1668 = load i32, i32* %7
%1669 = add i32 %1668, %1667
store i32 %1669, i32* %7
%1670 = load i32, i32* %9
%1671 = shl i32 %1670, 30
%1672 = load i32, i32* %9
%1673 = lshr i32 %1672, 2
%1674 = or i32 %1671, %1673
store i32 %1674, i32* %9
%1675 = load i32, i32* %8
%1676 = load i32, i32* %9
%1677 = or i32 %1675, %1676
%1678 = load i32, i32* %5
%1679 = and i32 %1677, %1678
%1680 = load i32, i32* %8
%1681 = load i32, i32* %9
%1682 = and i32 %1680, %1681
%1683 = or i32 %1679, %1682
%1684 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%1685 = load i32, i32* %1684
%1686 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%1687 = load i32, i32* %1686
%1688 = xor i32 %1685, %1687
%1689 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%1690 = load i32, i32* %1689
%1691 = xor i32 %1688, %1690
%1692 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%1693 = load i32, i32* %1692
%1694 = xor i32 %1691, %1693
%1695 = shl i32 %1694, 1
%1696 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%1697 = load i32, i32* %1696
%1698 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%1699 = load i32, i32* %1698
%1700 = xor i32 %1697, %1699
%1701 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%1702 = load i32, i32* %1701
%1703 = xor i32 %1700, %1702
%1704 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%1705 = load i32, i32* %1704
%1706 = xor i32 %1703, %1705
%1707 = lshr i32 %1706, 31
%1708 = or i32 %1695, %1707
%1709 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
store i32 %1708, i32* %1709
%1710 = add i32 %1683, %1708
%1711 = add i32 %1710, -1894007588
%1712 = load i32, i32* %7
%1713 = shl i32 %1712, 5
%1714 = load i32, i32* %7
%1715 = lshr i32 %1714, 27
%1716 = or i32 %1713, %1715
%1717 = add i32 %1711, %1716
%1718 = load i32, i32* %6
%1719 = add i32 %1718, %1717
store i32 %1719, i32* %6
%1720 = load i32, i32* %8
%1721 = shl i32 %1720, 30
%1722 = load i32, i32* %8
%1723 = lshr i32 %1722, 2
%1724 = or i32 %1721, %1723
store i32 %1724, i32* %8
%1725 = load i32, i32* %7
%1726 = load i32, i32* %8
%1727 = or i32 %1725, %1726
%1728 = load i32, i32* %9
%1729 = and i32 %1727, %1728
%1730 = load i32, i32* %7
%1731 = load i32, i32* %8
%1732 = and i32 %1730, %1731
%1733 = or i32 %1729, %1732
%1734 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%1735 = load i32, i32* %1734
%1736 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%1737 = load i32, i32* %1736
%1738 = xor i32 %1735, %1737
%1739 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%1740 = load i32, i32* %1739
%1741 = xor i32 %1738, %1740
%1742 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%1743 = load i32, i32* %1742
%1744 = xor i32 %1741, %1743
%1745 = shl i32 %1744, 1
%1746 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%1747 = load i32, i32* %1746
%1748 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%1749 = load i32, i32* %1748
%1750 = xor i32 %1747, %1749
%1751 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%1752 = load i32, i32* %1751
%1753 = xor i32 %1750, %1752
%1754 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%1755 = load i32, i32* %1754
%1756 = xor i32 %1753, %1755
%1757 = lshr i32 %1756, 31
%1758 = or i32 %1745, %1757
%1759 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
store i32 %1758, i32* %1759
%1760 = add i32 %1733, %1758
%1761 = add i32 %1760, -1894007588
%1762 = load i32, i32* %6
%1763 = shl i32 %1762, 5
%1764 = load i32, i32* %6
%1765 = lshr i32 %1764, 27
%1766 = or i32 %1763, %1765
%1767 = add i32 %1761, %1766
%1768 = load i32, i32* %5
%1769 = add i32 %1768, %1767
store i32 %1769, i32* %5
%1770 = load i32, i32* %7
%1771 = shl i32 %1770, 30
%1772 = load i32, i32* %7
%1773 = lshr i32 %1772, 2
%1774 = or i32 %1771, %1773
store i32 %1774, i32* %7
%1775 = load i32, i32* %6
%1776 = load i32, i32* %7
%1777 = or i32 %1775, %1776
%1778 = load i32, i32* %8
%1779 = and i32 %1777, %1778
%1780 = load i32, i32* %6
%1781 = load i32, i32* %7
%1782 = and i32 %1780, %1781
%1783 = or i32 %1779, %1782
%1784 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%1785 = load i32, i32* %1784
%1786 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%1787 = load i32, i32* %1786
%1788 = xor i32 %1785, %1787
%1789 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%1790 = load i32, i32* %1789
%1791 = xor i32 %1788, %1790
%1792 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%1793 = load i32, i32* %1792
%1794 = xor i32 %1791, %1793
%1795 = shl i32 %1794, 1
%1796 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%1797 = load i32, i32* %1796
%1798 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%1799 = load i32, i32* %1798
%1800 = xor i32 %1797, %1799
%1801 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%1802 = load i32, i32* %1801
%1803 = xor i32 %1800, %1802
%1804 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%1805 = load i32, i32* %1804
%1806 = xor i32 %1803, %1805
%1807 = lshr i32 %1806, 31
%1808 = or i32 %1795, %1807
%1809 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
store i32 %1808, i32* %1809
%1810 = add i32 %1783, %1808
%1811 = add i32 %1810, -1894007588
%1812 = load i32, i32* %5
%1813 = shl i32 %1812, 5
%1814 = load i32, i32* %5
%1815 = lshr i32 %1814, 27
%1816 = or i32 %1813, %1815
%1817 = add i32 %1811, %1816
%1818 = load i32, i32* %9
%1819 = add i32 %1818, %1817
store i32 %1819, i32* %9
%1820 = load i32, i32* %6
%1821 = shl i32 %1820, 30
%1822 = load i32, i32* %6
%1823 = lshr i32 %1822, 2
%1824 = or i32 %1821, %1823
store i32 %1824, i32* %6
%1825 = load i32, i32* %5
%1826 = load i32, i32* %6
%1827 = or i32 %1825, %1826
%1828 = load i32, i32* %7
%1829 = and i32 %1827, %1828
%1830 = load i32, i32* %5
%1831 = load i32, i32* %6
%1832 = and i32 %1830, %1831
%1833 = or i32 %1829, %1832
%1834 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%1835 = load i32, i32* %1834
%1836 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%1837 = load i32, i32* %1836
%1838 = xor i32 %1835, %1837
%1839 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%1840 = load i32, i32* %1839
%1841 = xor i32 %1838, %1840
%1842 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%1843 = load i32, i32* %1842
%1844 = xor i32 %1841, %1843
%1845 = shl i32 %1844, 1
%1846 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%1847 = load i32, i32* %1846
%1848 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%1849 = load i32, i32* %1848
%1850 = xor i32 %1847, %1849
%1851 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%1852 = load i32, i32* %1851
%1853 = xor i32 %1850, %1852
%1854 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%1855 = load i32, i32* %1854
%1856 = xor i32 %1853, %1855
%1857 = lshr i32 %1856, 31
%1858 = or i32 %1845, %1857
%1859 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
store i32 %1858, i32* %1859
%1860 = add i32 %1833, %1858
%1861 = add i32 %1860, -1894007588
%1862 = load i32, i32* %9
%1863 = shl i32 %1862, 5
%1864 = load i32, i32* %9
%1865 = lshr i32 %1864, 27
%1866 = or i32 %1863, %1865
%1867 = add i32 %1861, %1866
%1868 = load i32, i32* %8
%1869 = add i32 %1868, %1867
store i32 %1869, i32* %8
%1870 = load i32, i32* %5
%1871 = shl i32 %1870, 30
%1872 = load i32, i32* %5
%1873 = lshr i32 %1872, 2
%1874 = or i32 %1871, %1873
store i32 %1874, i32* %5
%1875 = load i32, i32* %9
%1876 = load i32, i32* %5
%1877 = or i32 %1875, %1876
%1878 = load i32, i32* %6
%1879 = and i32 %1877, %1878
%1880 = load i32, i32* %9
%1881 = load i32, i32* %5
%1882 = and i32 %1880, %1881
%1883 = or i32 %1879, %1882
%1884 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%1885 = load i32, i32* %1884
%1886 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%1887 = load i32, i32* %1886
%1888 = xor i32 %1885, %1887
%1889 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%1890 = load i32, i32* %1889
%1891 = xor i32 %1888, %1890
%1892 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%1893 = load i32, i32* %1892
%1894 = xor i32 %1891, %1893
%1895 = shl i32 %1894, 1
%1896 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%1897 = load i32, i32* %1896
%1898 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%1899 = load i32, i32* %1898
%1900 = xor i32 %1897, %1899
%1901 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%1902 = load i32, i32* %1901
%1903 = xor i32 %1900, %1902
%1904 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%1905 = load i32, i32* %1904
%1906 = xor i32 %1903, %1905
%1907 = lshr i32 %1906, 31
%1908 = or i32 %1895, %1907
%1909 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
store i32 %1908, i32* %1909
%1910 = add i32 %1883, %1908
%1911 = add i32 %1910, -1894007588
%1912 = load i32, i32* %8
%1913 = shl i32 %1912, 5
%1914 = load i32, i32* %8
%1915 = lshr i32 %1914, 27
%1916 = or i32 %1913, %1915
%1917 = add i32 %1911, %1916
%1918 = load i32, i32* %7
%1919 = add i32 %1918, %1917
store i32 %1919, i32* %7
%1920 = load i32, i32* %9
%1921 = shl i32 %1920, 30
%1922 = load i32, i32* %9
%1923 = lshr i32 %1922, 2
%1924 = or i32 %1921, %1923
store i32 %1924, i32* %9
%1925 = load i32, i32* %8
%1926 = load i32, i32* %9
%1927 = or i32 %1925, %1926
%1928 = load i32, i32* %5
%1929 = and i32 %1927, %1928
%1930 = load i32, i32* %8
%1931 = load i32, i32* %9
%1932 = and i32 %1930, %1931
%1933 = or i32 %1929, %1932
%1934 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%1935 = load i32, i32* %1934
%1936 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%1937 = load i32, i32* %1936
%1938 = xor i32 %1935, %1937
%1939 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%1940 = load i32, i32* %1939
%1941 = xor i32 %1938, %1940
%1942 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%1943 = load i32, i32* %1942
%1944 = xor i32 %1941, %1943
%1945 = shl i32 %1944, 1
%1946 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%1947 = load i32, i32* %1946
%1948 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%1949 = load i32, i32* %1948
%1950 = xor i32 %1947, %1949
%1951 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%1952 = load i32, i32* %1951
%1953 = xor i32 %1950, %1952
%1954 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%1955 = load i32, i32* %1954
%1956 = xor i32 %1953, %1955
%1957 = lshr i32 %1956, 31
%1958 = or i32 %1945, %1957
%1959 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
store i32 %1958, i32* %1959
%1960 = add i32 %1933, %1958
%1961 = add i32 %1960, -1894007588
%1962 = load i32, i32* %7
%1963 = shl i32 %1962, 5
%1964 = load i32, i32* %7
%1965 = lshr i32 %1964, 27
%1966 = or i32 %1963, %1965
%1967 = add i32 %1961, %1966
%1968 = load i32, i32* %6
%1969 = add i32 %1968, %1967
store i32 %1969, i32* %6
%1970 = load i32, i32* %8
%1971 = shl i32 %1970, 30
%1972 = load i32, i32* %8
%1973 = lshr i32 %1972, 2
%1974 = or i32 %1971, %1973
store i32 %1974, i32* %8
%1975 = load i32, i32* %7
%1976 = load i32, i32* %8
%1977 = or i32 %1975, %1976
%1978 = load i32, i32* %9
%1979 = and i32 %1977, %1978
%1980 = load i32, i32* %7
%1981 = load i32, i32* %8
%1982 = and i32 %1980, %1981
%1983 = or i32 %1979, %1982
%1984 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%1985 = load i32, i32* %1984
%1986 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%1987 = load i32, i32* %1986
%1988 = xor i32 %1985, %1987
%1989 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%1990 = load i32, i32* %1989
%1991 = xor i32 %1988, %1990
%1992 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%1993 = load i32, i32* %1992
%1994 = xor i32 %1991, %1993
%1995 = shl i32 %1994, 1
%1996 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%1997 = load i32, i32* %1996
%1998 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%1999 = load i32, i32* %1998
%2000 = xor i32 %1997, %1999
%2001 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%2002 = load i32, i32* %2001
%2003 = xor i32 %2000, %2002
%2004 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%2005 = load i32, i32* %2004
%2006 = xor i32 %2003, %2005
%2007 = lshr i32 %2006, 31
%2008 = or i32 %1995, %2007
%2009 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
store i32 %2008, i32* %2009
%2010 = add i32 %1983, %2008
%2011 = add i32 %2010, -1894007588
%2012 = load i32, i32* %6
%2013 = shl i32 %2012, 5
%2014 = load i32, i32* %6
%2015 = lshr i32 %2014, 27
%2016 = or i32 %2013, %2015
%2017 = add i32 %2011, %2016
%2018 = load i32, i32* %5
%2019 = add i32 %2018, %2017
store i32 %2019, i32* %5
%2020 = load i32, i32* %7
%2021 = shl i32 %2020, 30
%2022 = load i32, i32* %7
%2023 = lshr i32 %2022, 2
%2024 = or i32 %2021, %2023
store i32 %2024, i32* %7
%2025 = load i32, i32* %6
%2026 = load i32, i32* %7
%2027 = or i32 %2025, %2026
%2028 = load i32, i32* %8
%2029 = and i32 %2027, %2028
%2030 = load i32, i32* %6
%2031 = load i32, i32* %7
%2032 = and i32 %2030, %2031
%2033 = or i32 %2029, %2032
%2034 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%2035 = load i32, i32* %2034
%2036 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%2037 = load i32, i32* %2036
%2038 = xor i32 %2035, %2037
%2039 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%2040 = load i32, i32* %2039
%2041 = xor i32 %2038, %2040
%2042 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%2043 = load i32, i32* %2042
%2044 = xor i32 %2041, %2043
%2045 = shl i32 %2044, 1
%2046 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%2047 = load i32, i32* %2046
%2048 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%2049 = load i32, i32* %2048
%2050 = xor i32 %2047, %2049
%2051 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%2052 = load i32, i32* %2051
%2053 = xor i32 %2050, %2052
%2054 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%2055 = load i32, i32* %2054
%2056 = xor i32 %2053, %2055
%2057 = lshr i32 %2056, 31
%2058 = or i32 %2045, %2057
%2059 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
store i32 %2058, i32* %2059
%2060 = add i32 %2033, %2058
%2061 = add i32 %2060, -1894007588
%2062 = load i32, i32* %5
%2063 = shl i32 %2062, 5
%2064 = load i32, i32* %5
%2065 = lshr i32 %2064, 27
%2066 = or i32 %2063, %2065
%2067 = add i32 %2061, %2066
%2068 = load i32, i32* %9
%2069 = add i32 %2068, %2067
store i32 %2069, i32* %9
%2070 = load i32, i32* %6
%2071 = shl i32 %2070, 30
%2072 = load i32, i32* %6
%2073 = lshr i32 %2072, 2
%2074 = or i32 %2071, %2073
store i32 %2074, i32* %6
%2075 = load i32, i32* %5
%2076 = load i32, i32* %6
%2077 = or i32 %2075, %2076
%2078 = load i32, i32* %7
%2079 = and i32 %2077, %2078
%2080 = load i32, i32* %5
%2081 = load i32, i32* %6
%2082 = and i32 %2080, %2081
%2083 = or i32 %2079, %2082
%2084 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%2085 = load i32, i32* %2084
%2086 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%2087 = load i32, i32* %2086
%2088 = xor i32 %2085, %2087
%2089 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%2090 = load i32, i32* %2089
%2091 = xor i32 %2088, %2090
%2092 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%2093 = load i32, i32* %2092
%2094 = xor i32 %2091, %2093
%2095 = shl i32 %2094, 1
%2096 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%2097 = load i32, i32* %2096
%2098 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%2099 = load i32, i32* %2098
%2100 = xor i32 %2097, %2099
%2101 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%2102 = load i32, i32* %2101
%2103 = xor i32 %2100, %2102
%2104 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%2105 = load i32, i32* %2104
%2106 = xor i32 %2103, %2105
%2107 = lshr i32 %2106, 31
%2108 = or i32 %2095, %2107
%2109 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
store i32 %2108, i32* %2109
%2110 = add i32 %2083, %2108
%2111 = add i32 %2110, -1894007588
%2112 = load i32, i32* %9
%2113 = shl i32 %2112, 5
%2114 = load i32, i32* %9
%2115 = lshr i32 %2114, 27
%2116 = or i32 %2113, %2115
%2117 = add i32 %2111, %2116
%2118 = load i32, i32* %8
%2119 = add i32 %2118, %2117
store i32 %2119, i32* %8
%2120 = load i32, i32* %5
%2121 = shl i32 %2120, 30
%2122 = load i32, i32* %5
%2123 = lshr i32 %2122, 2
%2124 = or i32 %2121, %2123
store i32 %2124, i32* %5
%2125 = load i32, i32* %9
%2126 = load i32, i32* %5
%2127 = or i32 %2125, %2126
%2128 = load i32, i32* %6
%2129 = and i32 %2127, %2128
%2130 = load i32, i32* %9
%2131 = load i32, i32* %5
%2132 = and i32 %2130, %2131
%2133 = or i32 %2129, %2132
%2134 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%2135 = load i32, i32* %2134
%2136 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%2137 = load i32, i32* %2136
%2138 = xor i32 %2135, %2137
%2139 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%2140 = load i32, i32* %2139
%2141 = xor i32 %2138, %2140
%2142 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%2143 = load i32, i32* %2142
%2144 = xor i32 %2141, %2143
%2145 = shl i32 %2144, 1
%2146 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%2147 = load i32, i32* %2146
%2148 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%2149 = load i32, i32* %2148
%2150 = xor i32 %2147, %2149
%2151 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%2152 = load i32, i32* %2151
%2153 = xor i32 %2150, %2152
%2154 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%2155 = load i32, i32* %2154
%2156 = xor i32 %2153, %2155
%2157 = lshr i32 %2156, 31
%2158 = or i32 %2145, %2157
%2159 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
store i32 %2158, i32* %2159
%2160 = add i32 %2133, %2158
%2161 = add i32 %2160, -1894007588
%2162 = load i32, i32* %8
%2163 = shl i32 %2162, 5
%2164 = load i32, i32* %8
%2165 = lshr i32 %2164, 27
%2166 = or i32 %2163, %2165
%2167 = add i32 %2161, %2166
%2168 = load i32, i32* %7
%2169 = add i32 %2168, %2167
store i32 %2169, i32* %7
%2170 = load i32, i32* %9
%2171 = shl i32 %2170, 30
%2172 = load i32, i32* %9
%2173 = lshr i32 %2172, 2
%2174 = or i32 %2171, %2173
store i32 %2174, i32* %9
%2175 = load i32, i32* %8
%2176 = load i32, i32* %9
%2177 = or i32 %2175, %2176
%2178 = load i32, i32* %5
%2179 = and i32 %2177, %2178
%2180 = load i32, i32* %8
%2181 = load i32, i32* %9
%2182 = and i32 %2180, %2181
%2183 = or i32 %2179, %2182
%2184 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%2185 = load i32, i32* %2184
%2186 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%2187 = load i32, i32* %2186
%2188 = xor i32 %2185, %2187
%2189 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%2190 = load i32, i32* %2189
%2191 = xor i32 %2188, %2190
%2192 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%2193 = load i32, i32* %2192
%2194 = xor i32 %2191, %2193
%2195 = shl i32 %2194, 1
%2196 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%2197 = load i32, i32* %2196
%2198 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%2199 = load i32, i32* %2198
%2200 = xor i32 %2197, %2199
%2201 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%2202 = load i32, i32* %2201
%2203 = xor i32 %2200, %2202
%2204 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%2205 = load i32, i32* %2204
%2206 = xor i32 %2203, %2205
%2207 = lshr i32 %2206, 31
%2208 = or i32 %2195, %2207
%2209 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
store i32 %2208, i32* %2209
%2210 = add i32 %2183, %2208
%2211 = add i32 %2210, -1894007588
%2212 = load i32, i32* %7
%2213 = shl i32 %2212, 5
%2214 = load i32, i32* %7
%2215 = lshr i32 %2214, 27
%2216 = or i32 %2213, %2215
%2217 = add i32 %2211, %2216
%2218 = load i32, i32* %6
%2219 = add i32 %2218, %2217
store i32 %2219, i32* %6
%2220 = load i32, i32* %8
%2221 = shl i32 %2220, 30
%2222 = load i32, i32* %8
%2223 = lshr i32 %2222, 2
%2224 = or i32 %2221, %2223
store i32 %2224, i32* %8
%2225 = load i32, i32* %7
%2226 = load i32, i32* %8
%2227 = or i32 %2225, %2226
%2228 = load i32, i32* %9
%2229 = and i32 %2227, %2228
%2230 = load i32, i32* %7
%2231 = load i32, i32* %8
%2232 = and i32 %2230, %2231
%2233 = or i32 %2229, %2232
%2234 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%2235 = load i32, i32* %2234
%2236 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%2237 = load i32, i32* %2236
%2238 = xor i32 %2235, %2237
%2239 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%2240 = load i32, i32* %2239
%2241 = xor i32 %2238, %2240
%2242 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%2243 = load i32, i32* %2242
%2244 = xor i32 %2241, %2243
%2245 = shl i32 %2244, 1
%2246 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%2247 = load i32, i32* %2246
%2248 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%2249 = load i32, i32* %2248
%2250 = xor i32 %2247, %2249
%2251 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%2252 = load i32, i32* %2251
%2253 = xor i32 %2250, %2252
%2254 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%2255 = load i32, i32* %2254
%2256 = xor i32 %2253, %2255
%2257 = lshr i32 %2256, 31
%2258 = or i32 %2245, %2257
%2259 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
store i32 %2258, i32* %2259
%2260 = add i32 %2233, %2258
%2261 = add i32 %2260, -1894007588
%2262 = load i32, i32* %6
%2263 = shl i32 %2262, 5
%2264 = load i32, i32* %6
%2265 = lshr i32 %2264, 27
%2266 = or i32 %2263, %2265
%2267 = add i32 %2261, %2266
%2268 = load i32, i32* %5
%2269 = add i32 %2268, %2267
store i32 %2269, i32* %5
%2270 = load i32, i32* %7
%2271 = shl i32 %2270, 30
%2272 = load i32, i32* %7
%2273 = lshr i32 %2272, 2
%2274 = or i32 %2271, %2273
store i32 %2274, i32* %7
%2275 = load i32, i32* %6
%2276 = load i32, i32* %7
%2277 = or i32 %2275, %2276
%2278 = load i32, i32* %8
%2279 = and i32 %2277, %2278
%2280 = load i32, i32* %6
%2281 = load i32, i32* %7
%2282 = and i32 %2280, %2281
%2283 = or i32 %2279, %2282
%2284 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%2285 = load i32, i32* %2284
%2286 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%2287 = load i32, i32* %2286
%2288 = xor i32 %2285, %2287
%2289 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%2290 = load i32, i32* %2289
%2291 = xor i32 %2288, %2290
%2292 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%2293 = load i32, i32* %2292
%2294 = xor i32 %2291, %2293
%2295 = shl i32 %2294, 1
%2296 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%2297 = load i32, i32* %2296
%2298 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%2299 = load i32, i32* %2298
%2300 = xor i32 %2297, %2299
%2301 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%2302 = load i32, i32* %2301
%2303 = xor i32 %2300, %2302
%2304 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%2305 = load i32, i32* %2304
%2306 = xor i32 %2303, %2305
%2307 = lshr i32 %2306, 31
%2308 = or i32 %2295, %2307
%2309 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
store i32 %2308, i32* %2309
%2310 = add i32 %2283, %2308
%2311 = add i32 %2310, -1894007588
%2312 = load i32, i32* %5
%2313 = shl i32 %2312, 5
%2314 = load i32, i32* %5
%2315 = lshr i32 %2314, 27
%2316 = or i32 %2313, %2315
%2317 = add i32 %2311, %2316
%2318 = load i32, i32* %9
%2319 = add i32 %2318, %2317
store i32 %2319, i32* %9
%2320 = load i32, i32* %6
%2321 = shl i32 %2320, 30
%2322 = load i32, i32* %6
%2323 = lshr i32 %2322, 2
%2324 = or i32 %2321, %2323
store i32 %2324, i32* %6
%2325 = load i32, i32* %5
%2326 = load i32, i32* %6
%2327 = or i32 %2325, %2326
%2328 = load i32, i32* %7
%2329 = and i32 %2327, %2328
%2330 = load i32, i32* %5
%2331 = load i32, i32* %6
%2332 = and i32 %2330, %2331
%2333 = or i32 %2329, %2332
%2334 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%2335 = load i32, i32* %2334
%2336 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%2337 = load i32, i32* %2336
%2338 = xor i32 %2335, %2337
%2339 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%2340 = load i32, i32* %2339
%2341 = xor i32 %2338, %2340
%2342 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%2343 = load i32, i32* %2342
%2344 = xor i32 %2341, %2343
%2345 = shl i32 %2344, 1
%2346 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%2347 = load i32, i32* %2346
%2348 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%2349 = load i32, i32* %2348
%2350 = xor i32 %2347, %2349
%2351 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%2352 = load i32, i32* %2351
%2353 = xor i32 %2350, %2352
%2354 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%2355 = load i32, i32* %2354
%2356 = xor i32 %2353, %2355
%2357 = lshr i32 %2356, 31
%2358 = or i32 %2345, %2357
%2359 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
store i32 %2358, i32* %2359
%2360 = add i32 %2333, %2358
%2361 = add i32 %2360, -1894007588
%2362 = load i32, i32* %9
%2363 = shl i32 %2362, 5
%2364 = load i32, i32* %9
%2365 = lshr i32 %2364, 27
%2366 = or i32 %2363, %2365
%2367 = add i32 %2361, %2366
%2368 = load i32, i32* %8
%2369 = add i32 %2368, %2367
store i32 %2369, i32* %8
%2370 = load i32, i32* %5
%2371 = shl i32 %2370, 30
%2372 = load i32, i32* %5
%2373 = lshr i32 %2372, 2
%2374 = or i32 %2371, %2373
store i32 %2374, i32* %5
%2375 = load i32, i32* %9
%2376 = load i32, i32* %5
%2377 = or i32 %2375, %2376
%2378 = load i32, i32* %6
%2379 = and i32 %2377, %2378
%2380 = load i32, i32* %9
%2381 = load i32, i32* %5
%2382 = and i32 %2380, %2381
%2383 = or i32 %2379, %2382
%2384 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%2385 = load i32, i32* %2384
%2386 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%2387 = load i32, i32* %2386
%2388 = xor i32 %2385, %2387
%2389 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%2390 = load i32, i32* %2389
%2391 = xor i32 %2388, %2390
%2392 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%2393 = load i32, i32* %2392
%2394 = xor i32 %2391, %2393
%2395 = shl i32 %2394, 1
%2396 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%2397 = load i32, i32* %2396
%2398 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%2399 = load i32, i32* %2398
%2400 = xor i32 %2397, %2399
%2401 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%2402 = load i32, i32* %2401
%2403 = xor i32 %2400, %2402
%2404 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%2405 = load i32, i32* %2404
%2406 = xor i32 %2403, %2405
%2407 = lshr i32 %2406, 31
%2408 = or i32 %2395, %2407
%2409 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
store i32 %2408, i32* %2409
%2410 = add i32 %2383, %2408
%2411 = add i32 %2410, -1894007588
%2412 = load i32, i32* %8
%2413 = shl i32 %2412, 5
%2414 = load i32, i32* %8
%2415 = lshr i32 %2414, 27
%2416 = or i32 %2413, %2415
%2417 = add i32 %2411, %2416
%2418 = load i32, i32* %7
%2419 = add i32 %2418, %2417
store i32 %2419, i32* %7
%2420 = load i32, i32* %9
%2421 = shl i32 %2420, 30
%2422 = load i32, i32* %9
%2423 = lshr i32 %2422, 2
%2424 = or i32 %2421, %2423
store i32 %2424, i32* %9
%2425 = load i32, i32* %8
%2426 = load i32, i32* %9
%2427 = or i32 %2425, %2426
%2428 = load i32, i32* %5
%2429 = and i32 %2427, %2428
%2430 = load i32, i32* %8
%2431 = load i32, i32* %9
%2432 = and i32 %2430, %2431
%2433 = or i32 %2429, %2432
%2434 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%2435 = load i32, i32* %2434
%2436 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%2437 = load i32, i32* %2436
%2438 = xor i32 %2435, %2437
%2439 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%2440 = load i32, i32* %2439
%2441 = xor i32 %2438, %2440
%2442 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%2443 = load i32, i32* %2442
%2444 = xor i32 %2441, %2443
%2445 = shl i32 %2444, 1
%2446 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%2447 = load i32, i32* %2446
%2448 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%2449 = load i32, i32* %2448
%2450 = xor i32 %2447, %2449
%2451 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%2452 = load i32, i32* %2451
%2453 = xor i32 %2450, %2452
%2454 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%2455 = load i32, i32* %2454
%2456 = xor i32 %2453, %2455
%2457 = lshr i32 %2456, 31
%2458 = or i32 %2445, %2457
%2459 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
store i32 %2458, i32* %2459
%2460 = add i32 %2433, %2458
%2461 = add i32 %2460, -1894007588
%2462 = load i32, i32* %7
%2463 = shl i32 %2462, 5
%2464 = load i32, i32* %7
%2465 = lshr i32 %2464, 27
%2466 = or i32 %2463, %2465
%2467 = add i32 %2461, %2466
%2468 = load i32, i32* %6
%2469 = add i32 %2468, %2467
store i32 %2469, i32* %6
%2470 = load i32, i32* %8
%2471 = shl i32 %2470, 30
%2472 = load i32, i32* %8
%2473 = lshr i32 %2472, 2
%2474 = or i32 %2471, %2473
store i32 %2474, i32* %8
%2475 = load i32, i32* %7
%2476 = load i32, i32* %8
%2477 = or i32 %2475, %2476
%2478 = load i32, i32* %9
%2479 = and i32 %2477, %2478
%2480 = load i32, i32* %7
%2481 = load i32, i32* %8
%2482 = and i32 %2480, %2481
%2483 = or i32 %2479, %2482
%2484 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%2485 = load i32, i32* %2484
%2486 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%2487 = load i32, i32* %2486
%2488 = xor i32 %2485, %2487
%2489 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%2490 = load i32, i32* %2489
%2491 = xor i32 %2488, %2490
%2492 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%2493 = load i32, i32* %2492
%2494 = xor i32 %2491, %2493
%2495 = shl i32 %2494, 1
%2496 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%2497 = load i32, i32* %2496
%2498 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%2499 = load i32, i32* %2498
%2500 = xor i32 %2497, %2499
%2501 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%2502 = load i32, i32* %2501
%2503 = xor i32 %2500, %2502
%2504 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%2505 = load i32, i32* %2504
%2506 = xor i32 %2503, %2505
%2507 = lshr i32 %2506, 31
%2508 = or i32 %2495, %2507
%2509 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
store i32 %2508, i32* %2509
%2510 = add i32 %2483, %2508
%2511 = add i32 %2510, -1894007588
%2512 = load i32, i32* %6
%2513 = shl i32 %2512, 5
%2514 = load i32, i32* %6
%2515 = lshr i32 %2514, 27
%2516 = or i32 %2513, %2515
%2517 = add i32 %2511, %2516
%2518 = load i32, i32* %5
%2519 = add i32 %2518, %2517
store i32 %2519, i32* %5
%2520 = load i32, i32* %7
%2521 = shl i32 %2520, 30
%2522 = load i32, i32* %7
%2523 = lshr i32 %2522, 2
%2524 = or i32 %2521, %2523
store i32 %2524, i32* %7
%2525 = load i32, i32* %6
%2526 = load i32, i32* %7
%2527 = xor i32 %2525, %2526
%2528 = load i32, i32* %8
%2529 = xor i32 %2527, %2528
%2530 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%2531 = load i32, i32* %2530
%2532 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%2533 = load i32, i32* %2532
%2534 = xor i32 %2531, %2533
%2535 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%2536 = load i32, i32* %2535
%2537 = xor i32 %2534, %2536
%2538 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%2539 = load i32, i32* %2538
%2540 = xor i32 %2537, %2539
%2541 = shl i32 %2540, 1
%2542 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%2543 = load i32, i32* %2542
%2544 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%2545 = load i32, i32* %2544
%2546 = xor i32 %2543, %2545
%2547 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%2548 = load i32, i32* %2547
%2549 = xor i32 %2546, %2548
%2550 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%2551 = load i32, i32* %2550
%2552 = xor i32 %2549, %2551
%2553 = lshr i32 %2552, 31
%2554 = or i32 %2541, %2553
%2555 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
store i32 %2554, i32* %2555
%2556 = add i32 %2529, %2554
%2557 = add i32 %2556, -899497514
%2558 = load i32, i32* %5
%2559 = shl i32 %2558, 5
%2560 = load i32, i32* %5
%2561 = lshr i32 %2560, 27
%2562 = or i32 %2559, %2561
%2563 = add i32 %2557, %2562
%2564 = load i32, i32* %9
%2565 = add i32 %2564, %2563
store i32 %2565, i32* %9
%2566 = load i32, i32* %6
%2567 = shl i32 %2566, 30
%2568 = load i32, i32* %6
%2569 = lshr i32 %2568, 2
%2570 = or i32 %2567, %2569
store i32 %2570, i32* %6
%2571 = load i32, i32* %5
%2572 = load i32, i32* %6
%2573 = xor i32 %2571, %2572
%2574 = load i32, i32* %7
%2575 = xor i32 %2573, %2574
%2576 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%2577 = load i32, i32* %2576
%2578 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%2579 = load i32, i32* %2578
%2580 = xor i32 %2577, %2579
%2581 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%2582 = load i32, i32* %2581
%2583 = xor i32 %2580, %2582
%2584 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%2585 = load i32, i32* %2584
%2586 = xor i32 %2583, %2585
%2587 = shl i32 %2586, 1
%2588 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%2589 = load i32, i32* %2588
%2590 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%2591 = load i32, i32* %2590
%2592 = xor i32 %2589, %2591
%2593 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%2594 = load i32, i32* %2593
%2595 = xor i32 %2592, %2594
%2596 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%2597 = load i32, i32* %2596
%2598 = xor i32 %2595, %2597
%2599 = lshr i32 %2598, 31
%2600 = or i32 %2587, %2599
%2601 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
store i32 %2600, i32* %2601
%2602 = add i32 %2575, %2600
%2603 = add i32 %2602, -899497514
%2604 = load i32, i32* %9
%2605 = shl i32 %2604, 5
%2606 = load i32, i32* %9
%2607 = lshr i32 %2606, 27
%2608 = or i32 %2605, %2607
%2609 = add i32 %2603, %2608
%2610 = load i32, i32* %8
%2611 = add i32 %2610, %2609
store i32 %2611, i32* %8
%2612 = load i32, i32* %5
%2613 = shl i32 %2612, 30
%2614 = load i32, i32* %5
%2615 = lshr i32 %2614, 2
%2616 = or i32 %2613, %2615
store i32 %2616, i32* %5
%2617 = load i32, i32* %9
%2618 = load i32, i32* %5
%2619 = xor i32 %2617, %2618
%2620 = load i32, i32* %6
%2621 = xor i32 %2619, %2620
%2622 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%2623 = load i32, i32* %2622
%2624 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%2625 = load i32, i32* %2624
%2626 = xor i32 %2623, %2625
%2627 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%2628 = load i32, i32* %2627
%2629 = xor i32 %2626, %2628
%2630 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%2631 = load i32, i32* %2630
%2632 = xor i32 %2629, %2631
%2633 = shl i32 %2632, 1
%2634 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%2635 = load i32, i32* %2634
%2636 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%2637 = load i32, i32* %2636
%2638 = xor i32 %2635, %2637
%2639 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%2640 = load i32, i32* %2639
%2641 = xor i32 %2638, %2640
%2642 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%2643 = load i32, i32* %2642
%2644 = xor i32 %2641, %2643
%2645 = lshr i32 %2644, 31
%2646 = or i32 %2633, %2645
%2647 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
store i32 %2646, i32* %2647
%2648 = add i32 %2621, %2646
%2649 = add i32 %2648, -899497514
%2650 = load i32, i32* %8
%2651 = shl i32 %2650, 5
%2652 = load i32, i32* %8
%2653 = lshr i32 %2652, 27
%2654 = or i32 %2651, %2653
%2655 = add i32 %2649, %2654
%2656 = load i32, i32* %7
%2657 = add i32 %2656, %2655
store i32 %2657, i32* %7
%2658 = load i32, i32* %9
%2659 = shl i32 %2658, 30
%2660 = load i32, i32* %9
%2661 = lshr i32 %2660, 2
%2662 = or i32 %2659, %2661
store i32 %2662, i32* %9
%2663 = load i32, i32* %8
%2664 = load i32, i32* %9
%2665 = xor i32 %2663, %2664
%2666 = load i32, i32* %5
%2667 = xor i32 %2665, %2666
%2668 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%2669 = load i32, i32* %2668
%2670 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%2671 = load i32, i32* %2670
%2672 = xor i32 %2669, %2671
%2673 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%2674 = load i32, i32* %2673
%2675 = xor i32 %2672, %2674
%2676 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%2677 = load i32, i32* %2676
%2678 = xor i32 %2675, %2677
%2679 = shl i32 %2678, 1
%2680 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%2681 = load i32, i32* %2680
%2682 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%2683 = load i32, i32* %2682
%2684 = xor i32 %2681, %2683
%2685 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%2686 = load i32, i32* %2685
%2687 = xor i32 %2684, %2686
%2688 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%2689 = load i32, i32* %2688
%2690 = xor i32 %2687, %2689
%2691 = lshr i32 %2690, 31
%2692 = or i32 %2679, %2691
%2693 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
store i32 %2692, i32* %2693
%2694 = add i32 %2667, %2692
%2695 = add i32 %2694, -899497514
%2696 = load i32, i32* %7
%2697 = shl i32 %2696, 5
%2698 = load i32, i32* %7
%2699 = lshr i32 %2698, 27
%2700 = or i32 %2697, %2699
%2701 = add i32 %2695, %2700
%2702 = load i32, i32* %6
%2703 = add i32 %2702, %2701
store i32 %2703, i32* %6
%2704 = load i32, i32* %8
%2705 = shl i32 %2704, 30
%2706 = load i32, i32* %8
%2707 = lshr i32 %2706, 2
%2708 = or i32 %2705, %2707
store i32 %2708, i32* %8
%2709 = load i32, i32* %7
%2710 = load i32, i32* %8
%2711 = xor i32 %2709, %2710
%2712 = load i32, i32* %9
%2713 = xor i32 %2711, %2712
%2714 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%2715 = load i32, i32* %2714
%2716 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%2717 = load i32, i32* %2716
%2718 = xor i32 %2715, %2717
%2719 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%2720 = load i32, i32* %2719
%2721 = xor i32 %2718, %2720
%2722 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%2723 = load i32, i32* %2722
%2724 = xor i32 %2721, %2723
%2725 = shl i32 %2724, 1
%2726 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%2727 = load i32, i32* %2726
%2728 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%2729 = load i32, i32* %2728
%2730 = xor i32 %2727, %2729
%2731 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%2732 = load i32, i32* %2731
%2733 = xor i32 %2730, %2732
%2734 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%2735 = load i32, i32* %2734
%2736 = xor i32 %2733, %2735
%2737 = lshr i32 %2736, 31
%2738 = or i32 %2725, %2737
%2739 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
store i32 %2738, i32* %2739
%2740 = add i32 %2713, %2738
%2741 = add i32 %2740, -899497514
%2742 = load i32, i32* %6
%2743 = shl i32 %2742, 5
%2744 = load i32, i32* %6
%2745 = lshr i32 %2744, 27
%2746 = or i32 %2743, %2745
%2747 = add i32 %2741, %2746
%2748 = load i32, i32* %5
%2749 = add i32 %2748, %2747
store i32 %2749, i32* %5
%2750 = load i32, i32* %7
%2751 = shl i32 %2750, 30
%2752 = load i32, i32* %7
%2753 = lshr i32 %2752, 2
%2754 = or i32 %2751, %2753
store i32 %2754, i32* %7
%2755 = load i32, i32* %6
%2756 = load i32, i32* %7
%2757 = xor i32 %2755, %2756
%2758 = load i32, i32* %8
%2759 = xor i32 %2757, %2758
%2760 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%2761 = load i32, i32* %2760
%2762 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%2763 = load i32, i32* %2762
%2764 = xor i32 %2761, %2763
%2765 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%2766 = load i32, i32* %2765
%2767 = xor i32 %2764, %2766
%2768 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%2769 = load i32, i32* %2768
%2770 = xor i32 %2767, %2769
%2771 = shl i32 %2770, 1
%2772 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%2773 = load i32, i32* %2772
%2774 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%2775 = load i32, i32* %2774
%2776 = xor i32 %2773, %2775
%2777 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%2778 = load i32, i32* %2777
%2779 = xor i32 %2776, %2778
%2780 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%2781 = load i32, i32* %2780
%2782 = xor i32 %2779, %2781
%2783 = lshr i32 %2782, 31
%2784 = or i32 %2771, %2783
%2785 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
store i32 %2784, i32* %2785
%2786 = add i32 %2759, %2784
%2787 = add i32 %2786, -899497514
%2788 = load i32, i32* %5
%2789 = shl i32 %2788, 5
%2790 = load i32, i32* %5
%2791 = lshr i32 %2790, 27
%2792 = or i32 %2789, %2791
%2793 = add i32 %2787, %2792
%2794 = load i32, i32* %9
%2795 = add i32 %2794, %2793
store i32 %2795, i32* %9
%2796 = load i32, i32* %6
%2797 = shl i32 %2796, 30
%2798 = load i32, i32* %6
%2799 = lshr i32 %2798, 2
%2800 = or i32 %2797, %2799
store i32 %2800, i32* %6
%2801 = load i32, i32* %5
%2802 = load i32, i32* %6
%2803 = xor i32 %2801, %2802
%2804 = load i32, i32* %7
%2805 = xor i32 %2803, %2804
%2806 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%2807 = load i32, i32* %2806
%2808 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%2809 = load i32, i32* %2808
%2810 = xor i32 %2807, %2809
%2811 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%2812 = load i32, i32* %2811
%2813 = xor i32 %2810, %2812
%2814 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%2815 = load i32, i32* %2814
%2816 = xor i32 %2813, %2815
%2817 = shl i32 %2816, 1
%2818 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%2819 = load i32, i32* %2818
%2820 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%2821 = load i32, i32* %2820
%2822 = xor i32 %2819, %2821
%2823 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%2824 = load i32, i32* %2823
%2825 = xor i32 %2822, %2824
%2826 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%2827 = load i32, i32* %2826
%2828 = xor i32 %2825, %2827
%2829 = lshr i32 %2828, 31
%2830 = or i32 %2817, %2829
%2831 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
store i32 %2830, i32* %2831
%2832 = add i32 %2805, %2830
%2833 = add i32 %2832, -899497514
%2834 = load i32, i32* %9
%2835 = shl i32 %2834, 5
%2836 = load i32, i32* %9
%2837 = lshr i32 %2836, 27
%2838 = or i32 %2835, %2837
%2839 = add i32 %2833, %2838
%2840 = load i32, i32* %8
%2841 = add i32 %2840, %2839
store i32 %2841, i32* %8
%2842 = load i32, i32* %5
%2843 = shl i32 %2842, 30
%2844 = load i32, i32* %5
%2845 = lshr i32 %2844, 2
%2846 = or i32 %2843, %2845
store i32 %2846, i32* %5
%2847 = load i32, i32* %9
%2848 = load i32, i32* %5
%2849 = xor i32 %2847, %2848
%2850 = load i32, i32* %6
%2851 = xor i32 %2849, %2850
%2852 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%2853 = load i32, i32* %2852
%2854 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%2855 = load i32, i32* %2854
%2856 = xor i32 %2853, %2855
%2857 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%2858 = load i32, i32* %2857
%2859 = xor i32 %2856, %2858
%2860 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%2861 = load i32, i32* %2860
%2862 = xor i32 %2859, %2861
%2863 = shl i32 %2862, 1
%2864 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%2865 = load i32, i32* %2864
%2866 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%2867 = load i32, i32* %2866
%2868 = xor i32 %2865, %2867
%2869 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%2870 = load i32, i32* %2869
%2871 = xor i32 %2868, %2870
%2872 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%2873 = load i32, i32* %2872
%2874 = xor i32 %2871, %2873
%2875 = lshr i32 %2874, 31
%2876 = or i32 %2863, %2875
%2877 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
store i32 %2876, i32* %2877
%2878 = add i32 %2851, %2876
%2879 = add i32 %2878, -899497514
%2880 = load i32, i32* %8
%2881 = shl i32 %2880, 5
%2882 = load i32, i32* %8
%2883 = lshr i32 %2882, 27
%2884 = or i32 %2881, %2883
%2885 = add i32 %2879, %2884
%2886 = load i32, i32* %7
%2887 = add i32 %2886, %2885
store i32 %2887, i32* %7
%2888 = load i32, i32* %9
%2889 = shl i32 %2888, 30
%2890 = load i32, i32* %9
%2891 = lshr i32 %2890, 2
%2892 = or i32 %2889, %2891
store i32 %2892, i32* %9
%2893 = load i32, i32* %8
%2894 = load i32, i32* %9
%2895 = xor i32 %2893, %2894
%2896 = load i32, i32* %5
%2897 = xor i32 %2895, %2896
%2898 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%2899 = load i32, i32* %2898
%2900 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%2901 = load i32, i32* %2900
%2902 = xor i32 %2899, %2901
%2903 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%2904 = load i32, i32* %2903
%2905 = xor i32 %2902, %2904
%2906 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%2907 = load i32, i32* %2906
%2908 = xor i32 %2905, %2907
%2909 = shl i32 %2908, 1
%2910 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%2911 = load i32, i32* %2910
%2912 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%2913 = load i32, i32* %2912
%2914 = xor i32 %2911, %2913
%2915 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%2916 = load i32, i32* %2915
%2917 = xor i32 %2914, %2916
%2918 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%2919 = load i32, i32* %2918
%2920 = xor i32 %2917, %2919
%2921 = lshr i32 %2920, 31
%2922 = or i32 %2909, %2921
%2923 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
store i32 %2922, i32* %2923
%2924 = add i32 %2897, %2922
%2925 = add i32 %2924, -899497514
%2926 = load i32, i32* %7
%2927 = shl i32 %2926, 5
%2928 = load i32, i32* %7
%2929 = lshr i32 %2928, 27
%2930 = or i32 %2927, %2929
%2931 = add i32 %2925, %2930
%2932 = load i32, i32* %6
%2933 = add i32 %2932, %2931
store i32 %2933, i32* %6
%2934 = load i32, i32* %8
%2935 = shl i32 %2934, 30
%2936 = load i32, i32* %8
%2937 = lshr i32 %2936, 2
%2938 = or i32 %2935, %2937
store i32 %2938, i32* %8
%2939 = load i32, i32* %7
%2940 = load i32, i32* %8
%2941 = xor i32 %2939, %2940
%2942 = load i32, i32* %9
%2943 = xor i32 %2941, %2942
%2944 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%2945 = load i32, i32* %2944
%2946 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%2947 = load i32, i32* %2946
%2948 = xor i32 %2945, %2947
%2949 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%2950 = load i32, i32* %2949
%2951 = xor i32 %2948, %2950
%2952 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%2953 = load i32, i32* %2952
%2954 = xor i32 %2951, %2953
%2955 = shl i32 %2954, 1
%2956 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%2957 = load i32, i32* %2956
%2958 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%2959 = load i32, i32* %2958
%2960 = xor i32 %2957, %2959
%2961 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%2962 = load i32, i32* %2961
%2963 = xor i32 %2960, %2962
%2964 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%2965 = load i32, i32* %2964
%2966 = xor i32 %2963, %2965
%2967 = lshr i32 %2966, 31
%2968 = or i32 %2955, %2967
%2969 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
store i32 %2968, i32* %2969
%2970 = add i32 %2943, %2968
%2971 = add i32 %2970, -899497514
%2972 = load i32, i32* %6
%2973 = shl i32 %2972, 5
%2974 = load i32, i32* %6
%2975 = lshr i32 %2974, 27
%2976 = or i32 %2973, %2975
%2977 = add i32 %2971, %2976
%2978 = load i32, i32* %5
%2979 = add i32 %2978, %2977
store i32 %2979, i32* %5
%2980 = load i32, i32* %7
%2981 = shl i32 %2980, 30
%2982 = load i32, i32* %7
%2983 = lshr i32 %2982, 2
%2984 = or i32 %2981, %2983
store i32 %2984, i32* %7
%2985 = load i32, i32* %6
%2986 = load i32, i32* %7
%2987 = xor i32 %2985, %2986
%2988 = load i32, i32* %8
%2989 = xor i32 %2987, %2988
%2990 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%2991 = load i32, i32* %2990
%2992 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%2993 = load i32, i32* %2992
%2994 = xor i32 %2991, %2993
%2995 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%2996 = load i32, i32* %2995
%2997 = xor i32 %2994, %2996
%2998 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%2999 = load i32, i32* %2998
%3000 = xor i32 %2997, %2999
%3001 = shl i32 %3000, 1
%3002 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%3003 = load i32, i32* %3002
%3004 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%3005 = load i32, i32* %3004
%3006 = xor i32 %3003, %3005
%3007 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%3008 = load i32, i32* %3007
%3009 = xor i32 %3006, %3008
%3010 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%3011 = load i32, i32* %3010
%3012 = xor i32 %3009, %3011
%3013 = lshr i32 %3012, 31
%3014 = or i32 %3001, %3013
%3015 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
store i32 %3014, i32* %3015
%3016 = add i32 %2989, %3014
%3017 = add i32 %3016, -899497514
%3018 = load i32, i32* %5
%3019 = shl i32 %3018, 5
%3020 = load i32, i32* %5
%3021 = lshr i32 %3020, 27
%3022 = or i32 %3019, %3021
%3023 = add i32 %3017, %3022
%3024 = load i32, i32* %9
%3025 = add i32 %3024, %3023
store i32 %3025, i32* %9
%3026 = load i32, i32* %6
%3027 = shl i32 %3026, 30
%3028 = load i32, i32* %6
%3029 = lshr i32 %3028, 2
%3030 = or i32 %3027, %3029
store i32 %3030, i32* %6
%3031 = load i32, i32* %5
%3032 = load i32, i32* %6
%3033 = xor i32 %3031, %3032
%3034 = load i32, i32* %7
%3035 = xor i32 %3033, %3034
%3036 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%3037 = load i32, i32* %3036
%3038 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%3039 = load i32, i32* %3038
%3040 = xor i32 %3037, %3039
%3041 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%3042 = load i32, i32* %3041
%3043 = xor i32 %3040, %3042
%3044 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%3045 = load i32, i32* %3044
%3046 = xor i32 %3043, %3045
%3047 = shl i32 %3046, 1
%3048 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%3049 = load i32, i32* %3048
%3050 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%3051 = load i32, i32* %3050
%3052 = xor i32 %3049, %3051
%3053 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%3054 = load i32, i32* %3053
%3055 = xor i32 %3052, %3054
%3056 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%3057 = load i32, i32* %3056
%3058 = xor i32 %3055, %3057
%3059 = lshr i32 %3058, 31
%3060 = or i32 %3047, %3059
%3061 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
store i32 %3060, i32* %3061
%3062 = add i32 %3035, %3060
%3063 = add i32 %3062, -899497514
%3064 = load i32, i32* %9
%3065 = shl i32 %3064, 5
%3066 = load i32, i32* %9
%3067 = lshr i32 %3066, 27
%3068 = or i32 %3065, %3067
%3069 = add i32 %3063, %3068
%3070 = load i32, i32* %8
%3071 = add i32 %3070, %3069
store i32 %3071, i32* %8
%3072 = load i32, i32* %5
%3073 = shl i32 %3072, 30
%3074 = load i32, i32* %5
%3075 = lshr i32 %3074, 2
%3076 = or i32 %3073, %3075
store i32 %3076, i32* %5
%3077 = load i32, i32* %9
%3078 = load i32, i32* %5
%3079 = xor i32 %3077, %3078
%3080 = load i32, i32* %6
%3081 = xor i32 %3079, %3080
%3082 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%3083 = load i32, i32* %3082
%3084 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%3085 = load i32, i32* %3084
%3086 = xor i32 %3083, %3085
%3087 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%3088 = load i32, i32* %3087
%3089 = xor i32 %3086, %3088
%3090 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%3091 = load i32, i32* %3090
%3092 = xor i32 %3089, %3091
%3093 = shl i32 %3092, 1
%3094 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%3095 = load i32, i32* %3094
%3096 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%3097 = load i32, i32* %3096
%3098 = xor i32 %3095, %3097
%3099 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%3100 = load i32, i32* %3099
%3101 = xor i32 %3098, %3100
%3102 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%3103 = load i32, i32* %3102
%3104 = xor i32 %3101, %3103
%3105 = lshr i32 %3104, 31
%3106 = or i32 %3093, %3105
%3107 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
store i32 %3106, i32* %3107
%3108 = add i32 %3081, %3106
%3109 = add i32 %3108, -899497514
%3110 = load i32, i32* %8
%3111 = shl i32 %3110, 5
%3112 = load i32, i32* %8
%3113 = lshr i32 %3112, 27
%3114 = or i32 %3111, %3113
%3115 = add i32 %3109, %3114
%3116 = load i32, i32* %7
%3117 = add i32 %3116, %3115
store i32 %3117, i32* %7
%3118 = load i32, i32* %9
%3119 = shl i32 %3118, 30
%3120 = load i32, i32* %9
%3121 = lshr i32 %3120, 2
%3122 = or i32 %3119, %3121
store i32 %3122, i32* %9
%3123 = load i32, i32* %8
%3124 = load i32, i32* %9
%3125 = xor i32 %3123, %3124
%3126 = load i32, i32* %5
%3127 = xor i32 %3125, %3126
%3128 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%3129 = load i32, i32* %3128
%3130 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%3131 = load i32, i32* %3130
%3132 = xor i32 %3129, %3131
%3133 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%3134 = load i32, i32* %3133
%3135 = xor i32 %3132, %3134
%3136 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%3137 = load i32, i32* %3136
%3138 = xor i32 %3135, %3137
%3139 = shl i32 %3138, 1
%3140 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%3141 = load i32, i32* %3140
%3142 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%3143 = load i32, i32* %3142
%3144 = xor i32 %3141, %3143
%3145 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%3146 = load i32, i32* %3145
%3147 = xor i32 %3144, %3146
%3148 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%3149 = load i32, i32* %3148
%3150 = xor i32 %3147, %3149
%3151 = lshr i32 %3150, 31
%3152 = or i32 %3139, %3151
%3153 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
store i32 %3152, i32* %3153
%3154 = add i32 %3127, %3152
%3155 = add i32 %3154, -899497514
%3156 = load i32, i32* %7
%3157 = shl i32 %3156, 5
%3158 = load i32, i32* %7
%3159 = lshr i32 %3158, 27
%3160 = or i32 %3157, %3159
%3161 = add i32 %3155, %3160
%3162 = load i32, i32* %6
%3163 = add i32 %3162, %3161
store i32 %3163, i32* %6
%3164 = load i32, i32* %8
%3165 = shl i32 %3164, 30
%3166 = load i32, i32* %8
%3167 = lshr i32 %3166, 2
%3168 = or i32 %3165, %3167
store i32 %3168, i32* %8
%3169 = load i32, i32* %7
%3170 = load i32, i32* %8
%3171 = xor i32 %3169, %3170
%3172 = load i32, i32* %9
%3173 = xor i32 %3171, %3172
%3174 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%3175 = load i32, i32* %3174
%3176 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%3177 = load i32, i32* %3176
%3178 = xor i32 %3175, %3177
%3179 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%3180 = load i32, i32* %3179
%3181 = xor i32 %3178, %3180
%3182 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%3183 = load i32, i32* %3182
%3184 = xor i32 %3181, %3183
%3185 = shl i32 %3184, 1
%3186 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%3187 = load i32, i32* %3186
%3188 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 2
%3189 = load i32, i32* %3188
%3190 = xor i32 %3187, %3189
%3191 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%3192 = load i32, i32* %3191
%3193 = xor i32 %3190, %3192
%3194 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%3195 = load i32, i32* %3194
%3196 = xor i32 %3193, %3195
%3197 = lshr i32 %3196, 31
%3198 = or i32 %3185, %3197
%3199 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
store i32 %3198, i32* %3199
%3200 = add i32 %3173, %3198
%3201 = add i32 %3200, -899497514
%3202 = load i32, i32* %6
%3203 = shl i32 %3202, 5
%3204 = load i32, i32* %6
%3205 = lshr i32 %3204, 27
%3206 = or i32 %3203, %3205
%3207 = add i32 %3201, %3206
%3208 = load i32, i32* %5
%3209 = add i32 %3208, %3207
store i32 %3209, i32* %5
%3210 = load i32, i32* %7
%3211 = shl i32 %3210, 30
%3212 = load i32, i32* %7
%3213 = lshr i32 %3212, 2
%3214 = or i32 %3211, %3213
store i32 %3214, i32* %7
%3215 = load i32, i32* %6
%3216 = load i32, i32* %7
%3217 = xor i32 %3215, %3216
%3218 = load i32, i32* %8
%3219 = xor i32 %3217, %3218
%3220 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%3221 = load i32, i32* %3220
%3222 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%3223 = load i32, i32* %3222
%3224 = xor i32 %3221, %3223
%3225 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%3226 = load i32, i32* %3225
%3227 = xor i32 %3224, %3226
%3228 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%3229 = load i32, i32* %3228
%3230 = xor i32 %3227, %3229
%3231 = shl i32 %3230, 1
%3232 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 8
%3233 = load i32, i32* %3232
%3234 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 3
%3235 = load i32, i32* %3234
%3236 = xor i32 %3233, %3235
%3237 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%3238 = load i32, i32* %3237
%3239 = xor i32 %3236, %3238
%3240 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%3241 = load i32, i32* %3240
%3242 = xor i32 %3239, %3241
%3243 = lshr i32 %3242, 31
%3244 = or i32 %3231, %3243
%3245 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
store i32 %3244, i32* %3245
%3246 = add i32 %3219, %3244
%3247 = add i32 %3246, -899497514
%3248 = load i32, i32* %5
%3249 = shl i32 %3248, 5
%3250 = load i32, i32* %5
%3251 = lshr i32 %3250, 27
%3252 = or i32 %3249, %3251
%3253 = add i32 %3247, %3252
%3254 = load i32, i32* %9
%3255 = add i32 %3254, %3253
store i32 %3255, i32* %9
%3256 = load i32, i32* %6
%3257 = shl i32 %3256, 30
%3258 = load i32, i32* %6
%3259 = lshr i32 %3258, 2
%3260 = or i32 %3257, %3259
store i32 %3260, i32* %6
%3261 = load i32, i32* %5
%3262 = load i32, i32* %6
%3263 = xor i32 %3261, %3262
%3264 = load i32, i32* %7
%3265 = xor i32 %3263, %3264
%3266 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%3267 = load i32, i32* %3266
%3268 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%3269 = load i32, i32* %3268
%3270 = xor i32 %3267, %3269
%3271 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%3272 = load i32, i32* %3271
%3273 = xor i32 %3270, %3272
%3274 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%3275 = load i32, i32* %3274
%3276 = xor i32 %3273, %3275
%3277 = shl i32 %3276, 1
%3278 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 9
%3279 = load i32, i32* %3278
%3280 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 4
%3281 = load i32, i32* %3280
%3282 = xor i32 %3279, %3281
%3283 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%3284 = load i32, i32* %3283
%3285 = xor i32 %3282, %3284
%3286 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%3287 = load i32, i32* %3286
%3288 = xor i32 %3285, %3287
%3289 = lshr i32 %3288, 31
%3290 = or i32 %3277, %3289
%3291 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
store i32 %3290, i32* %3291
%3292 = add i32 %3265, %3290
%3293 = add i32 %3292, -899497514
%3294 = load i32, i32* %9
%3295 = shl i32 %3294, 5
%3296 = load i32, i32* %9
%3297 = lshr i32 %3296, 27
%3298 = or i32 %3295, %3297
%3299 = add i32 %3293, %3298
%3300 = load i32, i32* %8
%3301 = add i32 %3300, %3299
store i32 %3301, i32* %8
%3302 = load i32, i32* %5
%3303 = shl i32 %3302, 30
%3304 = load i32, i32* %5
%3305 = lshr i32 %3304, 2
%3306 = or i32 %3303, %3305
store i32 %3306, i32* %5
%3307 = load i32, i32* %9
%3308 = load i32, i32* %5
%3309 = xor i32 %3307, %3308
%3310 = load i32, i32* %6
%3311 = xor i32 %3309, %3310
%3312 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%3313 = load i32, i32* %3312
%3314 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%3315 = load i32, i32* %3314
%3316 = xor i32 %3313, %3315
%3317 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%3318 = load i32, i32* %3317
%3319 = xor i32 %3316, %3318
%3320 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%3321 = load i32, i32* %3320
%3322 = xor i32 %3319, %3321
%3323 = shl i32 %3322, 1
%3324 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 10
%3325 = load i32, i32* %3324
%3326 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 5
%3327 = load i32, i32* %3326
%3328 = xor i32 %3325, %3327
%3329 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%3330 = load i32, i32* %3329
%3331 = xor i32 %3328, %3330
%3332 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
%3333 = load i32, i32* %3332
%3334 = xor i32 %3331, %3333
%3335 = lshr i32 %3334, 31
%3336 = or i32 %3323, %3335
%3337 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 13
store i32 %3336, i32* %3337
%3338 = add i32 %3311, %3336
%3339 = add i32 %3338, -899497514
%3340 = load i32, i32* %8
%3341 = shl i32 %3340, 5
%3342 = load i32, i32* %8
%3343 = lshr i32 %3342, 27
%3344 = or i32 %3341, %3343
%3345 = add i32 %3339, %3344
%3346 = load i32, i32* %7
%3347 = add i32 %3346, %3345
store i32 %3347, i32* %7
%3348 = load i32, i32* %9
%3349 = shl i32 %3348, 30
%3350 = load i32, i32* %9
%3351 = lshr i32 %3350, 2
%3352 = or i32 %3349, %3351
store i32 %3352, i32* %9
%3353 = load i32, i32* %8
%3354 = load i32, i32* %9
%3355 = xor i32 %3353, %3354
%3356 = load i32, i32* %5
%3357 = xor i32 %3355, %3356
%3358 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%3359 = load i32, i32* %3358
%3360 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%3361 = load i32, i32* %3360
%3362 = xor i32 %3359, %3361
%3363 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%3364 = load i32, i32* %3363
%3365 = xor i32 %3362, %3364
%3366 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%3367 = load i32, i32* %3366
%3368 = xor i32 %3365, %3367
%3369 = shl i32 %3368, 1
%3370 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 11
%3371 = load i32, i32* %3370
%3372 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 6
%3373 = load i32, i32* %3372
%3374 = xor i32 %3371, %3373
%3375 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 0
%3376 = load i32, i32* %3375
%3377 = xor i32 %3374, %3376
%3378 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
%3379 = load i32, i32* %3378
%3380 = xor i32 %3377, %3379
%3381 = lshr i32 %3380, 31
%3382 = or i32 %3369, %3381
%3383 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 14
store i32 %3382, i32* %3383
%3384 = add i32 %3357, %3382
%3385 = add i32 %3384, -899497514
%3386 = load i32, i32* %7
%3387 = shl i32 %3386, 5
%3388 = load i32, i32* %7
%3389 = lshr i32 %3388, 27
%3390 = or i32 %3387, %3389
%3391 = add i32 %3385, %3390
%3392 = load i32, i32* %6
%3393 = add i32 %3392, %3391
store i32 %3393, i32* %6
%3394 = load i32, i32* %8
%3395 = shl i32 %3394, 30
%3396 = load i32, i32* %8
%3397 = lshr i32 %3396, 2
%3398 = or i32 %3395, %3397
store i32 %3398, i32* %8
%3399 = load i32, i32* %7
%3400 = load i32, i32* %8
%3401 = xor i32 %3399, %3400
%3402 = load i32, i32* %9
%3403 = xor i32 %3401, %3402
%3404 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%3405 = load i32, i32* %3404
%3406 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%3407 = load i32, i32* %3406
%3408 = xor i32 %3405, %3407
%3409 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%3410 = load i32, i32* %3409
%3411 = xor i32 %3408, %3410
%3412 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%3413 = load i32, i32* %3412
%3414 = xor i32 %3411, %3413
%3415 = shl i32 %3414, 1
%3416 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 12
%3417 = load i32, i32* %3416
%3418 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 7
%3419 = load i32, i32* %3418
%3420 = xor i32 %3417, %3419
%3421 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 1
%3422 = load i32, i32* %3421
%3423 = xor i32 %3420, %3422
%3424 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
%3425 = load i32, i32* %3424
%3426 = xor i32 %3423, %3425
%3427 = lshr i32 %3426, 31
%3428 = or i32 %3415, %3427
%3429 = getelementptr inbounds [16 x i32], [16 x i32]* %10, i64 0, i64 15
store i32 %3428, i32* %3429
%3430 = add i32 %3403, %3428
%3431 = add i32 %3430, -899497514
%3432 = load i32, i32* %6
%3433 = shl i32 %3432, 5
%3434 = load i32, i32* %6
%3435 = lshr i32 %3434, 27
%3436 = or i32 %3433, %3435
%3437 = add i32 %3431, %3436
%3438 = load i32, i32* %5
%3439 = add i32 %3438, %3437
store i32 %3439, i32* %5
%3440 = load i32, i32* %7
%3441 = shl i32 %3440, 30
%3442 = load i32, i32* %7
%3443 = lshr i32 %3442, 2
%3444 = or i32 %3441, %3443
store i32 %3444, i32* %7
%3445 = load i32, i32* %5
%3446 = load i32*, i32** %3
%3447 = getelementptr inbounds i32, i32* %3446, i64 0
%3448 = load i32, i32* %3447
%3449 = add i32 %3448, %3445
store i32 %3449, i32* %3447
%3450 = load i32, i32* %6
%3451 = load i32*, i32** %3
%3452 = getelementptr inbounds i32, i32* %3451, i64 1
%3453 = load i32, i32* %3452
%3454 = add i32 %3453, %3450
store i32 %3454, i32* %3452
%3455 = load i32, i32* %7
%3456 = load i32*, i32** %3
%3457 = getelementptr inbounds i32, i32* %3456, i64 2
%3458 = load i32, i32* %3457
%3459 = add i32 %3458, %3455
store i32 %3459, i32* %3457
%3460 = load i32, i32* %8
%3461 = load i32*, i32** %3
%3462 = getelementptr inbounds i32, i32* %3461, i64 3
%3463 = load i32, i32* %3462
%3464 = add i32 %3463, %3460
store i32 %3464, i32* %3462
%3465 = load i32, i32* %9
%3466 = load i32*, i32** %3
%3467 = getelementptr inbounds i32, i32* %3466, i64 4
%3468 = load i32, i32* %3467
%3469 = add i32 %3468, %3465
store i32 %3469, i32* %3467
ret void
}

LLVM IR (-O2):
define void @sha1_transform(i32* nocapture %0, i8* nocapture %1) {
%3 = bitcast i8* %1 to i32*
%4 = load i32, i32* %3
%5 = getelementptr inbounds i8, i8* %1, i64 4
%6 = bitcast i8* %5 to i32*
%7 = load i32, i32* %6
%8 = getelementptr inbounds i8, i8* %1, i64 8
%9 = bitcast i8* %8 to i32*
%10 = load i32, i32* %9
%11 = getelementptr inbounds i8, i8* %1, i64 12
%12 = bitcast i8* %11 to i32*
%13 = load i32, i32* %12
%14 = getelementptr inbounds i8, i8* %1, i64 16
%15 = bitcast i8* %14 to i32*
%16 = load i32, i32* %15
%17 = getelementptr inbounds i8, i8* %1, i64 20
%18 = bitcast i8* %17 to i32*
%19 = load i32, i32* %18
%20 = getelementptr inbounds i8, i8* %1, i64 24
%21 = bitcast i8* %20 to i32*
%22 = load i32, i32* %21
%23 = getelementptr inbounds i8, i8* %1, i64 28
%24 = bitcast i8* %23 to i32*
%25 = load i32, i32* %24
%26 = getelementptr inbounds i8, i8* %1, i64 32
%27 = bitcast i8* %26 to i32*
%28 = load i32, i32* %27
%29 = getelementptr inbounds i8, i8* %1, i64 36
%30 = bitcast i8* %29 to i32*
%31 = load i32, i32* %30
%32 = getelementptr inbounds i8, i8* %1, i64 40
%33 = bitcast i8* %32 to i32*
%34 = load i32, i32* %33
%35 = getelementptr inbounds i8, i8* %1, i64 44
%36 = bitcast i8* %35 to i32*
%37 = load i32, i32* %36
%38 = getelementptr inbounds i8, i8* %1, i64 48
%39 = bitcast i8* %38 to i32*
%40 = load i32, i32* %39
%41 = getelementptr inbounds i8, i8* %1, i64 52
%42 = bitcast i8* %41 to i32*
%43 = load i32, i32* %42
%44 = getelementptr inbounds i8, i8* %1, i64 56
%45 = bitcast i8* %44 to i32*
%46 = load i32, i32* %45
%47 = getelementptr inbounds i8, i8* %1, i64 60
%48 = bitcast i8* %47 to i32*
%49 = load i32, i32* %48
%50 = load i32, i32* %0
%51 = getelementptr inbounds i32, i32* %0, i64 1
%52 = load i32, i32* %51
%53 = getelementptr inbounds i32, i32* %0, i64 2
%54 = load i32, i32* %53
%55 = getelementptr inbounds i32, i32* %0, i64 3
%56 = load i32, i32* %55
%57 = getelementptr inbounds i32, i32* %0, i64 4
%58 = load i32, i32* %57
%59 = xor i32 %56, %54
%60 = and i32 %59, %52
%61 = xor i32 %60, %56
%62 = tail call i32 @llvm.fshl.i32(i32 %50, i32 %50, i32 5)
%63 = add i32 %4, 1518500249
%64 = add i32 %63, %62
%65 = add i32 %64, %58
%66 = add i32 %65, %61
%67 = tail call i32 @llvm.fshl.i32(i32 %52, i32 %52, i32 30)
%68 = xor i32 %67, %54
%69 = and i32 %68, %50
%70 = xor i32 %69, %54
%71 = tail call i32 @llvm.fshl.i32(i32 %66, i32 %66, i32 5)
%72 = add i32 %7, 1518500249
%73 = add i32 %72, %56
%74 = add i32 %73, %70
%75 = add i32 %74, %71
%76 = tail call i32 @llvm.fshl.i32(i32 %50, i32 %50, i32 30)
%77 = xor i32 %67, %76
%78 = and i32 %66, %77
%79 = xor i32 %78, %67
%80 = tail call i32 @llvm.fshl.i32(i32 %75, i32 %75, i32 5)
%81 = add i32 %10, 1518500249
%82 = add i32 %81, %54
%83 = add i32 %82, %79
%84 = add i32 %83, %80
%85 = tail call i32 @llvm.fshl.i32(i32 %66, i32 %66, i32 30)
%86 = xor i32 %85, %76
%87 = and i32 %75, %86
%88 = xor i32 %87, %76
%89 = tail call i32 @llvm.fshl.i32(i32 %84, i32 %84, i32 5)
%90 = add i32 %13, 1518500249
%91 = add i32 %90, %67
%92 = add i32 %91, %88
%93 = add i32 %92, %89
%94 = tail call i32 @llvm.fshl.i32(i32 %75, i32 %75, i32 30)
%95 = xor i32 %94, %85
%96 = and i32 %84, %95
%97 = xor i32 %96, %85
%98 = tail call i32 @llvm.fshl.i32(i32 %93, i32 %93, i32 5)
%99 = add i32 %16, 1518500249
%100 = add i32 %99, %76
%101 = add i32 %100, %97
%102 = add i32 %101, %98
%103 = tail call i32 @llvm.fshl.i32(i32 %84, i32 %84, i32 30)
%104 = xor i32 %103, %94
%105 = and i32 %93, %104
%106 = xor i32 %105, %94
%107 = tail call i32 @llvm.fshl.i32(i32 %102, i32 %102, i32 5)
%108 = add i32 %19, 1518500249
%109 = add i32 %108, %85
%110 = add i32 %109, %106
%111 = add i32 %110, %107
%112 = tail call i32 @llvm.fshl.i32(i32 %93, i32 %93, i32 30)
%113 = xor i32 %112, %103
%114 = and i32 %102, %113
%115 = xor i32 %114, %103
%116 = tail call i32 @llvm.fshl.i32(i32 %111, i32 %111, i32 5)
%117 = add i32 %22, 1518500249
%118 = add i32 %117, %94
%119 = add i32 %118, %115
%120 = add i32 %119, %116
%121 = tail call i32 @llvm.fshl.i32(i32 %102, i32 %102, i32 30)
%122 = xor i32 %121, %112
%123 = and i32 %111, %122
%124 = xor i32 %123, %112
%125 = tail call i32 @llvm.fshl.i32(i32 %120, i32 %120, i32 5)
%126 = add i32 %25, 1518500249
%127 = add i32 %126, %103
%128 = add i32 %127, %124
%129 = add i32 %128, %125
%130 = tail call i32 @llvm.fshl.i32(i32 %111, i32 %111, i32 30)
%131 = xor i32 %130, %121
%132 = and i32 %120, %131
%133 = xor i32 %132, %121
%134 = tail call i32 @llvm.fshl.i32(i32 %129, i32 %129, i32 5)
%135 = add i32 %28, 1518500249
%136 = add i32 %135, %112
%137 = add i32 %136, %133
%138 = add i32 %137, %134
%139 = tail call i32 @llvm.fshl.i32(i32 %120, i32 %120, i32 30)
%140 = xor i32 %139, %130
%141 = and i32 %129, %140
%142 = xor i32 %141, %130
%143 = tail call i32 @llvm.fshl.i32(i32 %138, i32 %138, i32 5)
%144 = add i32 %31, 1518500249
%145 = add i32 %144, %121
%146 = add i32 %145, %142
%147 = add i32 %146, %143
%148 = tail call i32 @llvm.fshl.i32(i32 %129, i32 %129, i32 30)
%149 = xor i32 %148, %139
%150 = and i32 %138, %149
%151 = xor i32 %150, %139
%152 = tail call i32 @llvm.fshl.i32(i32 %147, i32 %147, i32 5)
%153 = add i32 %34, 1518500249
%154 = add i32 %153, %130
%155 = add i32 %154, %151
%156 = add i32 %155, %152
%157 = tail call i32 @llvm.fshl.i32(i32 %138, i32 %138, i32 30)
%158 = xor i32 %157, %148
%159 = and i32 %147, %158
%160 = xor i32 %159, %148
%161 = tail call i32 @llvm.fshl.i32(i32 %156, i32 %156, i32 5)
%162 = add i32 %37, 1518500249
%163 = add i32 %162, %139
%164 = add i32 %163, %160
%165 = add i32 %164, %161
%166 = tail call i32 @llvm.fshl.i32(i32 %147, i32 %147, i32 30)
%167 = xor i32 %166, %157
%168 = and i32 %156, %167
%169 = xor i32 %168, %157
%170 = tail call i32 @llvm.fshl.i32(i32 %165, i32 %165, i32 5)
%171 = add i32 %40, 1518500249
%172 = add i32 %171, %148
%173 = add i32 %172, %169
%174 = add i32 %173, %170
%175 = tail call i32 @llvm.fshl.i32(i32 %156, i32 %156, i32 30)
%176 = xor i32 %175, %166
%177 = and i32 %165, %176
%178 = xor i32 %177, %166
%179 = tail call i32 @llvm.fshl.i32(i32 %174, i32 %174, i32 5)
%180 = add i32 %43, 1518500249
%181 = add i32 %180, %157
%182 = add i32 %181, %178
%183 = add i32 %182, %179
%184 = tail call i32 @llvm.fshl.i32(i32 %165, i32 %165, i32 30)
%185 = xor i32 %184, %175
%186 = and i32 %174, %185
%187 = xor i32 %186, %175
%188 = tail call i32 @llvm.fshl.i32(i32 %183, i32 %183, i32 5)
%189 = add i32 %46, 1518500249
%190 = add i32 %189, %166
%191 = add i32 %190, %187
%192 = add i32 %191, %188
%193 = tail call i32 @llvm.fshl.i32(i32 %174, i32 %174, i32 30)
%194 = xor i32 %193, %184
%195 = and i32 %183, %194
%196 = xor i32 %195, %184
%197 = tail call i32 @llvm.fshl.i32(i32 %192, i32 %192, i32 5)
%198 = add i32 %49, 1518500249
%199 = add i32 %198, %175
%200 = add i32 %199, %196
%201 = add i32 %200, %197
%202 = tail call i32 @llvm.fshl.i32(i32 %183, i32 %183, i32 30)
%203 = xor i32 %202, %193
%204 = and i32 %192, %203
%205 = xor i32 %204, %193
%206 = xor i32 %10, %4
%207 = xor i32 %206, %28
%208 = xor i32 %207, %43
%209 = tail call i32 @llvm.fshl.i32(i32 %208, i32 %208, i32 1)
%210 = tail call i32 @llvm.fshl.i32(i32 %201, i32 %201, i32 5)
%211 = add i32 %209, 1518500249
%212 = add i32 %211, %184
%213 = add i32 %212, %205
%214 = add i32 %213, %210
%215 = tail call i32 @llvm.fshl.i32(i32 %192, i32 %192, i32 30)
%216 = xor i32 %215, %202
%217 = and i32 %201, %216
%218 = xor i32 %217, %202
%219 = xor i32 %13, %7
%220 = xor i32 %219, %31
%221 = xor i32 %220, %46
%222 = tail call i32 @llvm.fshl.i32(i32 %221, i32 %221, i32 1)
%223 = tail call i32 @llvm.fshl.i32(i32 %214, i32 %214, i32 5)
%224 = add i32 %222, 1518500249
%225 = add i32 %224, %193
%226 = add i32 %225, %218
%227 = add i32 %226, %223
%228 = tail call i32 @llvm.fshl.i32(i32 %201, i32 %201, i32 30)
%229 = xor i32 %228, %215
%230 = and i32 %214, %229
%231 = xor i32 %230, %215
%232 = xor i32 %16, %10
%233 = xor i32 %232, %34
%234 = xor i32 %233, %49
%235 = tail call i32 @llvm.fshl.i32(i32 %234, i32 %234, i32 1)
%236 = tail call i32 @llvm.fshl.i32(i32 %227, i32 %227, i32 5)
%237 = add i32 %235, 1518500249
%238 = add i32 %237, %202
%239 = add i32 %238, %231
%240 = add i32 %239, %236
%241 = tail call i32 @llvm.fshl.i32(i32 %214, i32 %214, i32 30)
%242 = xor i32 %241, %228
%243 = and i32 %227, %242
%244 = xor i32 %243, %228
%245 = xor i32 %19, %13
%246 = xor i32 %245, %37
%247 = xor i32 %246, %209
%248 = tail call i32 @llvm.fshl.i32(i32 %247, i32 %247, i32 1)
%249 = tail call i32 @llvm.fshl.i32(i32 %240, i32 %240, i32 5)
%250 = add i32 %248, 1518500249
%251 = add i32 %250, %215
%252 = add i32 %251, %244
%253 = add i32 %252, %249
%254 = tail call i32 @llvm.fshl.i32(i32 %227, i32 %227, i32 30)
%255 = xor i32 %254, %241
%256 = xor i32 %255, %240
%257 = xor i32 %22, %16
%258 = xor i32 %257, %40
%259 = xor i32 %258, %222
%260 = tail call i32 @llvm.fshl.i32(i32 %259, i32 %259, i32 1)
%261 = tail call i32 @llvm.fshl.i32(i32 %253, i32 %253, i32 5)
%262 = add i32 %260, 1859775393
%263 = add i32 %262, %228
%264 = add i32 %263, %256
%265 = add i32 %264, %261
%266 = tail call i32 @llvm.fshl.i32(i32 %240, i32 %240, i32 30)
%267 = xor i32 %266, %254
%268 = xor i32 %267, %253
%269 = xor i32 %25, %19
%270 = xor i32 %269, %43
%271 = xor i32 %270, %235
%272 = tail call i32 @llvm.fshl.i32(i32 %271, i32 %271, i32 1)
%273 = tail call i32 @llvm.fshl.i32(i32 %265, i32 %265, i32 5)
%274 = add i32 %272, 1859775393
%275 = add i32 %274, %241
%276 = add i32 %275, %268
%277 = add i32 %276, %273
%278 = tail call i32 @llvm.fshl.i32(i32 %253, i32 %253, i32 30)
%279 = xor i32 %278, %266
%280 = xor i32 %279, %265
%281 = xor i32 %28, %22
%282 = xor i32 %281, %46
%283 = xor i32 %282, %248
%284 = tail call i32 @llvm.fshl.i32(i32 %283, i32 %283, i32 1)
%285 = tail call i32 @llvm.fshl.i32(i32 %277, i32 %277, i32 5)
%286 = add i32 %284, 1859775393
%287 = add i32 %286, %254
%288 = add i32 %287, %280
%289 = add i32 %288, %285
%290 = tail call i32 @llvm.fshl.i32(i32 %265, i32 %265, i32 30)
%291 = xor i32 %290, %278
%292 = xor i32 %291, %277
%293 = xor i32 %31, %25
%294 = xor i32 %293, %49
%295 = xor i32 %294, %260
%296 = tail call i32 @llvm.fshl.i32(i32 %295, i32 %295, i32 1)
%297 = tail call i32 @llvm.fshl.i32(i32 %289, i32 %289, i32 5)
%298 = add i32 %296, 1859775393
%299 = add i32 %298, %266
%300 = add i32 %299, %292
%301 = add i32 %300, %297
%302 = tail call i32 @llvm.fshl.i32(i32 %277, i32 %277, i32 30)
%303 = xor i32 %302, %290
%304 = xor i32 %303, %289
%305 = xor i32 %34, %28
%306 = xor i32 %305, %209
%307 = xor i32 %306, %272
%308 = tail call i32 @llvm.fshl.i32(i32 %307, i32 %307, i32 1)
%309 = tail call i32 @llvm.fshl.i32(i32 %301, i32 %301, i32 5)
%310 = add i32 %308, 1859775393
%311 = add i32 %310, %278
%312 = add i32 %311, %304
%313 = add i32 %312, %309
%314 = tail call i32 @llvm.fshl.i32(i32 %289, i32 %289, i32 30)
%315 = xor i32 %314, %302
%316 = xor i32 %315, %301
%317 = xor i32 %37, %31
%318 = xor i32 %317, %222
%319 = xor i32 %318, %284
%320 = tail call i32 @llvm.fshl.i32(i32 %319, i32 %319, i32 1)
%321 = tail call i32 @llvm.fshl.i32(i32 %313, i32 %313, i32 5)
%322 = add i32 %320, 1859775393
%323 = add i32 %322, %290
%324 = add i32 %323, %316
%325 = add i32 %324, %321
%326 = tail call i32 @llvm.fshl.i32(i32 %301, i32 %301, i32 30)
%327 = xor i32 %326, %314
%328 = xor i32 %327, %313
%329 = xor i32 %40, %34
%330 = xor i32 %329, %235
%331 = xor i32 %330, %296
%332 = tail call i32 @llvm.fshl.i32(i32 %331, i32 %331, i32 1)
%333 = tail call i32 @llvm.fshl.i32(i32 %325, i32 %325, i32 5)
%334 = add i32 %332, 1859775393
%335 = add i32 %334, %302
%336 = add i32 %335, %328
%337 = add i32 %336, %333
%338 = tail call i32 @llvm.fshl.i32(i32 %313, i32 %313, i32 30)
%339 = xor i32 %338, %326
%340 = xor i32 %339, %325
%341 = xor i32 %43, %37
%342 = xor i32 %341, %248
%343 = xor i32 %342, %308
%344 = tail call i32 @llvm.fshl.i32(i32 %343, i32 %343, i32 1)
%345 = tail call i32 @llvm.fshl.i32(i32 %337, i32 %337, i32 5)
%346 = add i32 %344, 1859775393
%347 = add i32 %346, %314
%348 = add i32 %347, %340
%349 = add i32 %348, %345
%350 = tail call i32 @llvm.fshl.i32(i32 %325, i32 %325, i32 30)
%351 = xor i32 %350, %338
%352 = xor i32 %351, %337
%353 = xor i32 %46, %40
%354 = xor i32 %353, %260
%355 = xor i32 %354, %320
%356 = tail call i32 @llvm.fshl.i32(i32 %355, i32 %355, i32 1)
%357 = tail call i32 @llvm.fshl.i32(i32 %349, i32 %349, i32 5)
%358 = add i32 %356, 1859775393
%359 = add i32 %358, %326
%360 = add i32 %359, %352
%361 = add i32 %360, %357
%362 = tail call i32 @llvm.fshl.i32(i32 %337, i32 %337, i32 30)
%363 = xor i32 %362, %350
%364 = xor i32 %363, %349
%365 = xor i32 %49, %43
%366 = xor i32 %365, %272
%367 = xor i32 %366, %332
%368 = tail call i32 @llvm.fshl.i32(i32 %367, i32 %367, i32 1)
%369 = tail call i32 @llvm.fshl.i32(i32 %361, i32 %361, i32 5)
%370 = add i32 %368, 1859775393
%371 = add i32 %370, %338
%372 = add i32 %371, %364
%373 = add i32 %372, %369
%374 = tail call i32 @llvm.fshl.i32(i32 %349, i32 %349, i32 30)
%375 = xor i32 %374, %362
%376 = xor i32 %375, %361
%377 = xor i32 %209, %46
%378 = xor i32 %377, %284
%379 = xor i32 %378, %344
%380 = tail call i32 @llvm.fshl.i32(i32 %379, i32 %379, i32 1)
%381 = tail call i32 @llvm.fshl.i32(i32 %373, i32 %373, i32 5)
%382 = add i32 %380, 1859775393
%383 = add i32 %382, %350
%384 = add i32 %383, %376
%385 = add i32 %384, %381
%386 = tail call i32 @llvm.fshl.i32(i32 %361, i32 %361, i32 30)
%387 = xor i32 %386, %374
%388 = xor i32 %387, %373
%389 = xor i32 %222, %49
%390 = xor i32 %389, %296
%391 = xor i32 %390, %356
%392 = tail call i32 @llvm.fshl.i32(i32 %391, i32 %391, i32 1)
%393 = tail call i32 @llvm.fshl.i32(i32 %385, i32 %385, i32 5)
%394 = add i32 %392, 1859775393
%395 = add i32 %394, %362
%396 = add i32 %395, %388
%397 = add i32 %396, %393
%398 = tail call i32 @llvm.fshl.i32(i32 %373, i32 %373, i32 30)
%399 = xor i32 %398, %386
%400 = xor i32 %399, %385
%401 = xor i32 %235, %209
%402 = xor i32 %401, %308
%403 = xor i32 %402, %368
%404 = tail call i32 @llvm.fshl.i32(i32 %403, i32 %403, i32 1)
%405 = tail call i32 @llvm.fshl.i32(i32 %397, i32 %397, i32 5)
%406 = add i32 %404, 1859775393
%407 = add i32 %406, %374
%408 = add i32 %407, %400
%409 = add i32 %408, %405
%410 = tail call i32 @llvm.fshl.i32(i32 %385, i32 %385, i32 30)
%411 = xor i32 %410, %398
%412 = xor i32 %411, %397
%413 = xor i32 %248, %222
%414 = xor i32 %413, %320
%415 = xor i32 %414, %380
%416 = tail call i32 @llvm.fshl.i32(i32 %415, i32 %415, i32 1)
%417 = tail call i32 @llvm.fshl.i32(i32 %409, i32 %409, i32 5)
%418 = add i32 %416, 1859775393
%419 = add i32 %418, %386
%420 = add i32 %419, %412
%421 = add i32 %420, %417
%422 = tail call i32 @llvm.fshl.i32(i32 %397, i32 %397, i32 30)
%423 = xor i32 %422, %410
%424 = xor i32 %423, %409
%425 = xor i32 %260, %235
%426 = xor i32 %425, %332
%427 = xor i32 %426, %392
%428 = tail call i32 @llvm.fshl.i32(i32 %427, i32 %427, i32 1)
%429 = tail call i32 @llvm.fshl.i32(i32 %421, i32 %421, i32 5)
%430 = add i32 %428, 1859775393
%431 = add i32 %430, %398
%432 = add i32 %431, %424
%433 = add i32 %432, %429
%434 = tail call i32 @llvm.fshl.i32(i32 %409, i32 %409, i32 30)
%435 = xor i32 %434, %422
%436 = xor i32 %435, %421
%437 = xor i32 %272, %248
%438 = xor i32 %437, %344
%439 = xor i32 %438, %404
%440 = tail call i32 @llvm.fshl.i32(i32 %439, i32 %439, i32 1)
%441 = tail call i32 @llvm.fshl.i32(i32 %433, i32 %433, i32 5)
%442 = add i32 %440, 1859775393
%443 = add i32 %442, %410
%444 = add i32 %443, %436
%445 = add i32 %444, %441
%446 = tail call i32 @llvm.fshl.i32(i32 %421, i32 %421, i32 30)
%447 = xor i32 %446, %434
%448 = xor i32 %447, %433
%449 = xor i32 %284, %260
%450 = xor i32 %449, %356
%451 = xor i32 %450, %416
%452 = tail call i32 @llvm.fshl.i32(i32 %451, i32 %451, i32 1)
%453 = tail call i32 @llvm.fshl.i32(i32 %445, i32 %445, i32 5)
%454 = add i32 %452, 1859775393
%455 = add i32 %454, %422
%456 = add i32 %455, %448
%457 = add i32 %456, %453
%458 = tail call i32 @llvm.fshl.i32(i32 %433, i32 %433, i32 30)
%459 = xor i32 %458, %446
%460 = xor i32 %459, %445
%461 = xor i32 %296, %272
%462 = xor i32 %461, %368
%463 = xor i32 %462, %428
%464 = tail call i32 @llvm.fshl.i32(i32 %463, i32 %463, i32 1)
%465 = tail call i32 @llvm.fshl.i32(i32 %457, i32 %457, i32 5)
%466 = add i32 %464, 1859775393
%467 = add i32 %466, %434
%468 = add i32 %467, %460
%469 = add i32 %468, %465
%470 = tail call i32 @llvm.fshl.i32(i32 %445, i32 %445, i32 30)
%471 = xor i32 %470, %458
%472 = xor i32 %471, %457
%473 = xor i32 %308, %284
%474 = xor i32 %473, %380
%475 = xor i32 %474, %440
%476 = tail call i32 @llvm.fshl.i32(i32 %475, i32 %475, i32 1)
%477 = tail call i32 @llvm.fshl.i32(i32 %469, i32 %469, i32 5)
%478 = add i32 %476, 1859775393
%479 = add i32 %478, %446
%480 = add i32 %479, %472
%481 = add i32 %480, %477
%482 = tail call i32 @llvm.fshl.i32(i32 %457, i32 %457, i32 30)
%483 = xor i32 %482, %470
%484 = xor i32 %483, %469
%485 = xor i32 %320, %296
%486 = xor i32 %485, %392
%487 = xor i32 %486, %452
%488 = tail call i32 @llvm.fshl.i32(i32 %487, i32 %487, i32 1)
%489 = tail call i32 @llvm.fshl.i32(i32 %481, i32 %481, i32 5)
%490 = add i32 %488, 1859775393
%491 = add i32 %490, %458
%492 = add i32 %491, %484
%493 = add i32 %492, %489
%494 = tail call i32 @llvm.fshl.i32(i32 %469, i32 %469, i32 30)
%495 = or i32 %481, %494
%496 = and i32 %495, %482
%497 = and i32 %481, %494
%498 = or i32 %496, %497
%499 = xor i32 %332, %308
%500 = xor i32 %499, %404
%501 = xor i32 %500, %464
%502 = tail call i32 @llvm.fshl.i32(i32 %501, i32 %501, i32 1)
%503 = tail call i32 @llvm.fshl.i32(i32 %493, i32 %493, i32 5)
%504 = add i32 %502, -1894007588
%505 = add i32 %504, %470
%506 = add i32 %505, %498
%507 = add i32 %506, %503
%508 = tail call i32 @llvm.fshl.i32(i32 %481, i32 %481, i32 30)
%509 = or i32 %493, %508
%510 = and i32 %509, %494
%511 = and i32 %493, %508
%512 = or i32 %510, %511
%513 = xor i32 %344, %320
%514 = xor i32 %513, %416
%515 = xor i32 %514, %476
%516 = tail call i32 @llvm.fshl.i32(i32 %515, i32 %515, i32 1)
%517 = tail call i32 @llvm.fshl.i32(i32 %507, i32 %507, i32 5)
%518 = add i32 %516, -1894007588
%519 = add i32 %518, %482
%520 = add i32 %519, %512
%521 = add i32 %520, %517
%522 = tail call i32 @llvm.fshl.i32(i32 %493, i32 %493, i32 30)
%523 = or i32 %507, %522
%524 = and i32 %523, %508
%525 = and i32 %507, %522
%526 = or i32 %524, %525
%527 = xor i32 %356, %332
%528 = xor i32 %527, %428
%529 = xor i32 %528, %488
%530 = tail call i32 @llvm.fshl.i32(i32 %529, i32 %529, i32 1)
%531 = tail call i32 @llvm.fshl.i32(i32 %521, i32 %521, i32 5)
%532 = add i32 %530, -1894007588
%533 = add i32 %532, %494
%534 = add i32 %533, %526
%535 = add i32 %534, %531
%536 = tail call i32 @llvm.fshl.i32(i32 %507, i32 %507, i32 30)
%537 = or i32 %521, %536
%538 = and i32 %537, %522
%539 = and i32 %521, %536
%540 = or i32 %538, %539
%541 = xor i32 %368, %344
%542 = xor i32 %541, %440
%543 = xor i32 %542, %502
%544 = tail call i32 @llvm.fshl.i32(i32 %543, i32 %543, i32 1)
%545 = tail call i32 @llvm.fshl.i32(i32 %535, i32 %535, i32 5)
%546 = add i32 %544, -1894007588
%547 = add i32 %546, %508
%548 = add i32 %547, %540
%549 = add i32 %548, %545
%550 = tail call i32 @llvm.fshl.i32(i32 %521, i32 %521, i32 30)
%551 = or i32 %535, %550
%552 = and i32 %551, %536
%553 = and i32 %535, %550
%554 = or i32 %552, %553
%555 = xor i32 %380, %356
%556 = xor i32 %555, %452
%557 = xor i32 %556, %516
%558 = tail call i32 @llvm.fshl.i32(i32 %557, i32 %557, i32 1)
%559 = tail call i32 @llvm.fshl.i32(i32 %549, i32 %549, i32 5)
%560 = add i32 %558, -1894007588
%561 = add i32 %560, %522
%562 = add i32 %561, %554
%563 = add i32 %562, %559
%564 = tail call i32 @llvm.fshl.i32(i32 %535, i32 %535, i32 30)
%565 = or i32 %549, %564
%566 = and i32 %565, %550
%567 = and i32 %549, %564
%568 = or i32 %566, %567
%569 = xor i32 %392, %368
%570 = xor i32 %569, %464
%571 = xor i32 %570, %530
%572 = tail call i32 @llvm.fshl.i32(i32 %571, i32 %571, i32 1)
%573 = tail call i32 @llvm.fshl.i32(i32 %563, i32 %563, i32 5)
%574 = add i32 %572, -1894007588
%575 = add i32 %574, %536
%576 = add i32 %575, %568
%577 = add i32 %576, %573
%578 = tail call i32 @llvm.fshl.i32(i32 %549, i32 %549, i32 30)
%579 = or i32 %563, %578
%580 = and i32 %579, %564
%581 = and i32 %563, %578
%582 = or i32 %580, %581
%583 = xor i32 %404, %380
%584 = xor i32 %583, %476
%585 = xor i32 %584, %544
%586 = tail call i32 @llvm.fshl.i32(i32 %585, i32 %585, i32 1)
%587 = tail call i32 @llvm.fshl.i32(i32 %577, i32 %577, i32 5)
%588 = add i32 %586, -1894007588
%589 = add i32 %588, %550
%590 = add i32 %589, %582
%591 = add i32 %590, %587
%592 = tail call i32 @llvm.fshl.i32(i32 %563, i32 %563, i32 30)
%593 = or i32 %577, %592
%594 = and i32 %593, %578
%595 = and i32 %577, %592
%596 = or i32 %594, %595
%597 = xor i32 %416, %392
%598 = xor i32 %597, %488
%599 = xor i32 %598, %558
%600 = tail call i32 @llvm.fshl.i32(i32 %599, i32 %599, i32 1)
%601 = tail call i32 @llvm.fshl.i32(i32 %591, i32 %591, i32 5)
%602 = add i32 %600, -1894007588
%603 = add i32 %602, %564
%604 = add i32 %603, %596
%605 = add i32 %604, %601
%606 = tail call i32 @llvm.fshl.i32(i32 %577, i32 %577, i32 30)
%607 = or i32 %591, %606
%608 = and i32 %607, %592
%609 = and i32 %591, %606
%610 = or i32 %608, %609
%611 = xor i32 %428, %404
%612 = xor i32 %611, %502
%613 = xor i32 %612, %572
%614 = tail call i32 @llvm.fshl.i32(i32 %613, i32 %613, i32 1)
%615 = tail call i32 @llvm.fshl.i32(i32 %605, i32 %605, i32 5)
%616 = add i32 %614, -1894007588
%617 = add i32 %616, %578
%618 = add i32 %617, %610
%619 = add i32 %618, %615
%620 = tail call i32 @llvm.fshl.i32(i32 %591, i32 %591, i32 30)
%621 = or i32 %605, %620
%622 = and i32 %621, %606
%623 = and i32 %605, %620
%624 = or i32 %622, %623
%625 = xor i32 %440, %416
%626 = xor i32 %625, %516
%627 = xor i32 %626, %586
%628 = tail call i32 @llvm.fshl.i32(i32 %627, i32 %627, i32 1)
%629 = tail call i32 @llvm.fshl.i32(i32 %619, i32 %619, i32 5)
%630 = add i32 %628, -1894007588
%631 = add i32 %630, %592
%632 = add i32 %631, %624
%633 = add i32 %632, %629
%634 = tail call i32 @llvm.fshl.i32(i32 %605, i32 %605, i32 30)
%635 = or i32 %619, %634
%636 = and i32 %635, %620
%637 = and i32 %619, %634
%638 = or i32 %636, %637
%639 = xor i32 %452, %428
%640 = xor i32 %639, %530
%641 = xor i32 %640, %600
%642 = tail call i32 @llvm.fshl.i32(i32 %641, i32 %641, i32 1)
%643 = tail call i32 @llvm.fshl.i32(i32 %633, i32 %633, i32 5)
%644 = add i32 %642, -1894007588
%645 = add i32 %644, %606
%646 = add i32 %645, %638
%647 = add i32 %646, %643
%648 = tail call i32 @llvm.fshl.i32(i32 %619, i32 %619, i32 30)
%649 = or i32 %633, %648
%650 = and i32 %649, %634
%651 = and i32 %633, %648
%652 = or i32 %650, %651
%653 = xor i32 %464, %440
%654 = xor i32 %653, %544
%655 = xor i32 %654, %614
%656 = tail call i32 @llvm.fshl.i32(i32 %655, i32 %655, i32 1)
%657 = tail call i32 @llvm.fshl.i32(i32 %647, i32 %647, i32 5)
%658 = add i32 %656, -1894007588
%659 = add i32 %658, %620
%660 = add i32 %659, %652
%661 = add i32 %660, %657
%662 = tail call i32 @llvm.fshl.i32(i32 %633, i32 %633, i32 30)
%663 = or i32 %647, %662
%664 = and i32 %663, %648
%665 = and i32 %647, %662
%666 = or i32 %664, %665
%667 = xor i32 %476, %452
%668 = xor i32 %667, %558
%669 = xor i32 %668, %628
%670 = tail call i32 @llvm.fshl.i32(i32 %669, i32 %669, i32 1)
%671 = tail call i32 @llvm.fshl.i32(i32 %661, i32 %661, i32 5)
%672 = add i32 %670, -1894007588
%673 = add i32 %672, %634
%674 = add i32 %673, %666
%675 = add i32 %674, %671
%676 = tail call i32 @llvm.fshl.i32(i32 %647, i32 %647, i32 30)
%677 = or i32 %661, %676
%678 = and i32 %677, %662
%679 = and i32 %661, %676
%680 = or i32 %678, %679
%681 = xor i32 %488, %464
%682 = xor i32 %681, %572
%683 = xor i32 %682, %642
%684 = tail call i32 @llvm.fshl.i32(i32 %683, i32 %683, i32 1)
%685 = tail call i32 @llvm.fshl.i32(i32 %675, i32 %675, i32 5)
%686 = add i32 %684, -1894007588
%687 = add i32 %686, %648
%688 = add i32 %687, %680
%689 = add i32 %688, %685
%690 = tail call i32 @llvm.fshl.i32(i32 %661, i32 %661, i32 30)
%691 = or i32 %675, %690
%692 = and i32 %691, %676
%693 = and i32 %675, %690
%694 = or i32 %692, %693
%695 = xor i32 %502, %476
%696 = xor i32 %695, %586
%697 = xor i32 %696, %656
%698 = tail call i32 @llvm.fshl.i32(i32 %697, i32 %697, i32 1)
%699 = tail call i32 @llvm.fshl.i32(i32 %689, i32 %689, i32 5)
%700 = add i32 %698, -1894007588
%701 = add i32 %700, %662
%702 = add i32 %701, %694
%703 = add i32 %702, %699
%704 = tail call i32 @llvm.fshl.i32(i32 %675, i32 %675, i32 30)
%705 = or i32 %689, %704
%706 = and i32 %705, %690
%707 = and i32 %689, %704
%708 = or i32 %706, %707
%709 = xor i32 %516, %488
%710 = xor i32 %709, %600
%711 = xor i32 %710, %670
%712 = tail call i32 @llvm.fshl.i32(i32 %711, i32 %711, i32 1)
%713 = tail call i32 @llvm.fshl.i32(i32 %703, i32 %703, i32 5)
%714 = add i32 %712, -1894007588
%715 = add i32 %714, %676
%716 = add i32 %715, %708
%717 = add i32 %716, %713
%718 = tail call i32 @llvm.fshl.i32(i32 %689, i32 %689, i32 30)
%719 = or i32 %703, %718
%720 = and i32 %719, %704
%721 = and i32 %703, %718
%722 = or i32 %720, %721
%723 = xor i32 %530, %502
%724 = xor i32 %723, %614
%725 = xor i32 %724, %684
%726 = tail call i32 @llvm.fshl.i32(i32 %725, i32 %725, i32 1)
%727 = tail call i32 @llvm.fshl.i32(i32 %717, i32 %717, i32 5)
%728 = add i32 %726, -1894007588
%729 = add i32 %728, %690
%730 = add i32 %729, %722
%731 = add i32 %730, %727
%732 = tail call i32 @llvm.fshl.i32(i32 %703, i32 %703, i32 30)
%733 = or i32 %717, %732
%734 = and i32 %733, %718
%735 = and i32 %717, %732
%736 = or i32 %734, %735
%737 = xor i32 %544, %516
%738 = xor i32 %737, %628
%739 = xor i32 %738, %698
%740 = tail call i32 @llvm.fshl.i32(i32 %739, i32 %739, i32 1)
%741 = tail call i32 @llvm.fshl.i32(i32 %731, i32 %731, i32 5)
%742 = add i32 %740, -1894007588
%743 = add i32 %742, %704
%744 = add i32 %743, %736
%745 = add i32 %744, %741
%746 = tail call i32 @llvm.fshl.i32(i32 %717, i32 %717, i32 30)
%747 = or i32 %731, %746
%748 = and i32 %747, %732
%749 = and i32 %731, %746
%750 = or i32 %748, %749
%751 = xor i32 %558, %530
%752 = xor i32 %751, %642
%753 = xor i32 %752, %712
%754 = tail call i32 @llvm.fshl.i32(i32 %753, i32 %753, i32 1)
%755 = tail call i32 @llvm.fshl.i32(i32 %745, i32 %745, i32 5)
%756 = add i32 %754, -1894007588
%757 = add i32 %756, %718
%758 = add i32 %757, %750
%759 = add i32 %758, %755
%760 = tail call i32 @llvm.fshl.i32(i32 %731, i32 %731, i32 30)
%761 = or i32 %745, %760
%762 = and i32 %761, %746
%763 = and i32 %745, %760
%764 = or i32 %762, %763
%765 = xor i32 %572, %544
%766 = xor i32 %765, %656
%767 = xor i32 %766, %726
%768 = tail call i32 @llvm.fshl.i32(i32 %767, i32 %767, i32 1)
%769 = tail call i32 @llvm.fshl.i32(i32 %759, i32 %759, i32 5)
%770 = add i32 %768, -1894007588
%771 = add i32 %770, %732
%772 = add i32 %771, %764
%773 = add i32 %772, %769
%774 = tail call i32 @llvm.fshl.i32(i32 %745, i32 %745, i32 30)
%775 = xor i32 %774, %760
%776 = xor i32 %775, %759
%777 = xor i32 %586, %558
%778 = xor i32 %777, %670
%779 = xor i32 %778, %740
%780 = tail call i32 @llvm.fshl.i32(i32 %779, i32 %779, i32 1)
%781 = tail call i32 @llvm.fshl.i32(i32 %773, i32 %773, i32 5)
%782 = add i32 %780, -899497514
%783 = add i32 %782, %746
%784 = add i32 %783, %776
%785 = add i32 %784, %781
%786 = tail call i32 @llvm.fshl.i32(i32 %759, i32 %759, i32 30)
%787 = xor i32 %786, %774
%788 = xor i32 %787, %773
%789 = xor i32 %600, %572
%790 = xor i32 %789, %684
%791 = xor i32 %790, %754
%792 = tail call i32 @llvm.fshl.i32(i32 %791, i32 %791, i32 1)
%793 = tail call i32 @llvm.fshl.i32(i32 %785, i32 %785, i32 5)
%794 = add i32 %792, -899497514
%795 = add i32 %794, %760
%796 = add i32 %795, %788
%797 = add i32 %796, %793
%798 = tail call i32 @llvm.fshl.i32(i32 %773, i32 %773, i32 30)
%799 = xor i32 %798, %786
%800 = xor i32 %799, %785
%801 = xor i32 %614, %586
%802 = xor i32 %801, %698
%803 = xor i32 %802, %768
%804 = tail call i32 @llvm.fshl.i32(i32 %803, i32 %803, i32 1)
%805 = tail call i32 @llvm.fshl.i32(i32 %797, i32 %797, i32 5)
%806 = add i32 %804, -899497514
%807 = add i32 %806, %774
%808 = add i32 %807, %800
%809 = add i32 %808, %805
%810 = tail call i32 @llvm.fshl.i32(i32 %785, i32 %785, i32 30)
%811 = xor i32 %810, %798
%812 = xor i32 %811, %797
%813 = xor i32 %628, %600
%814 = xor i32 %813, %712
%815 = xor i32 %814, %780
%816 = tail call i32 @llvm.fshl.i32(i32 %815, i32 %815, i32 1)
%817 = tail call i32 @llvm.fshl.i32(i32 %809, i32 %809, i32 5)
%818 = add i32 %816, -899497514
%819 = add i32 %818, %786
%820 = add i32 %819, %812
%821 = add i32 %820, %817
%822 = tail call i32 @llvm.fshl.i32(i32 %797, i32 %797, i32 30)
%823 = xor i32 %822, %810
%824 = xor i32 %823, %809
%825 = xor i32 %642, %614
%826 = xor i32 %825, %726
%827 = xor i32 %826, %792
%828 = tail call i32 @llvm.fshl.i32(i32 %827, i32 %827, i32 1)
%829 = tail call i32 @llvm.fshl.i32(i32 %821, i32 %821, i32 5)
%830 = add i32 %828, -899497514
%831 = add i32 %830, %798
%832 = add i32 %831, %824
%833 = add i32 %832, %829
%834 = tail call i32 @llvm.fshl.i32(i32 %809, i32 %809, i32 30)
%835 = xor i32 %834, %822
%836 = xor i32 %835, %821
%837 = xor i32 %656, %628
%838 = xor i32 %837, %740
%839 = xor i32 %838, %804
%840 = tail call i32 @llvm.fshl.i32(i32 %839, i32 %839, i32 1)
%841 = tail call i32 @llvm.fshl.i32(i32 %833, i32 %833, i32 5)
%842 = add i32 %840, -899497514
%843 = add i32 %842, %810
%844 = add i32 %843, %836
%845 = add i32 %844, %841
%846 = tail call i32 @llvm.fshl.i32(i32 %821, i32 %821, i32 30)
%847 = xor i32 %846, %834
%848 = xor i32 %847, %833
%849 = xor i32 %670, %642
%850 = xor i32 %849, %754
%851 = xor i32 %850, %816
%852 = tail call i32 @llvm.fshl.i32(i32 %851, i32 %851, i32 1)
%853 = tail call i32 @llvm.fshl.i32(i32 %845, i32 %845, i32 5)
%854 = add i32 %852, -899497514
%855 = add i32 %854, %822
%856 = add i32 %855, %848
%857 = add i32 %856, %853
%858 = tail call i32 @llvm.fshl.i32(i32 %833, i32 %833, i32 30)
%859 = xor i32 %858, %846
%860 = xor i32 %859, %845
%861 = xor i32 %684, %656
%862 = xor i32 %861, %768
%863 = xor i32 %862, %828
%864 = tail call i32 @llvm.fshl.i32(i32 %863, i32 %863, i32 1)
%865 = tail call i32 @llvm.fshl.i32(i32 %857, i32 %857, i32 5)
%866 = add i32 %864, -899497514
%867 = add i32 %866, %834
%868 = add i32 %867, %860
%869 = add i32 %868, %865
%870 = tail call i32 @llvm.fshl.i32(i32 %845, i32 %845, i32 30)
%871 = xor i32 %870, %858
%872 = xor i32 %871, %857
%873 = xor i32 %698, %670
%874 = xor i32 %873, %780
%875 = xor i32 %874, %840
%876 = tail call i32 @llvm.fshl.i32(i32 %875, i32 %875, i32 1)
%877 = tail call i32 @llvm.fshl.i32(i32 %869, i32 %869, i32 5)
%878 = add i32 %876, -899497514
%879 = add i32 %878, %846
%880 = add i32 %879, %872
%881 = add i32 %880, %877
%882 = tail call i32 @llvm.fshl.i32(i32 %857, i32 %857, i32 30)
%883 = xor i32 %882, %870
%884 = xor i32 %883, %869
%885 = xor i32 %712, %684
%886 = xor i32 %885, %792
%887 = xor i32 %886, %852
%888 = tail call i32 @llvm.fshl.i32(i32 %887, i32 %887, i32 1)
%889 = tail call i32 @llvm.fshl.i32(i32 %881, i32 %881, i32 5)
%890 = add i32 %888, -899497514
%891 = add i32 %890, %858
%892 = add i32 %891, %884
%893 = add i32 %892, %889
%894 = tail call i32 @llvm.fshl.i32(i32 %869, i32 %869, i32 30)
%895 = xor i32 %894, %882
%896 = xor i32 %895, %881
%897 = xor i32 %726, %698
%898 = xor i32 %897, %804
%899 = xor i32 %898, %864
%900 = tail call i32 @llvm.fshl.i32(i32 %899, i32 %899, i32 1)
%901 = tail call i32 @llvm.fshl.i32(i32 %893, i32 %893, i32 5)
%902 = add i32 %900, -899497514
%903 = add i32 %902, %870
%904 = add i32 %903, %896
%905 = add i32 %904, %901
%906 = tail call i32 @llvm.fshl.i32(i32 %881, i32 %881, i32 30)
%907 = xor i32 %906, %894
%908 = xor i32 %907, %893
%909 = xor i32 %740, %712
%910 = xor i32 %909, %816
%911 = xor i32 %910, %876
%912 = tail call i32 @llvm.fshl.i32(i32 %911, i32 %911, i32 1)
%913 = tail call i32 @llvm.fshl.i32(i32 %905, i32 %905, i32 5)
%914 = add i32 %912, -899497514
%915 = add i32 %914, %882
%916 = add i32 %915, %908
%917 = add i32 %916, %913
%918 = tail call i32 @llvm.fshl.i32(i32 %893, i32 %893, i32 30)
%919 = xor i32 %918, %906
%920 = xor i32 %919, %905
%921 = xor i32 %754, %726
%922 = xor i32 %921, %828
%923 = xor i32 %922, %888
%924 = tail call i32 @llvm.fshl.i32(i32 %923, i32 %923, i32 1)
%925 = tail call i32 @llvm.fshl.i32(i32 %917, i32 %917, i32 5)
%926 = add i32 %924, -899497514
%927 = add i32 %926, %894
%928 = add i32 %927, %920
%929 = add i32 %928, %925
%930 = tail call i32 @llvm.fshl.i32(i32 %905, i32 %905, i32 30)
%931 = xor i32 %930, %918
%932 = xor i32 %931, %917
%933 = xor i32 %768, %740
%934 = xor i32 %933, %840
%935 = xor i32 %934, %900
%936 = tail call i32 @llvm.fshl.i32(i32 %935, i32 %935, i32 1)
%937 = tail call i32 @llvm.fshl.i32(i32 %929, i32 %929, i32 5)
%938 = add i32 %936, -899497514
%939 = add i32 %938, %906
%940 = add i32 %939, %932
%941 = add i32 %940, %937
%942 = tail call i32 @llvm.fshl.i32(i32 %917, i32 %917, i32 30)
%943 = xor i32 %942, %930
%944 = xor i32 %943, %929
%945 = xor i32 %780, %754
%946 = xor i32 %945, %852
%947 = xor i32 %946, %912
%948 = tail call i32 @llvm.fshl.i32(i32 %947, i32 %947, i32 1)
%949 = tail call i32 @llvm.fshl.i32(i32 %941, i32 %941, i32 5)
%950 = add i32 %948, -899497514
%951 = add i32 %950, %918
%952 = add i32 %951, %944
%953 = add i32 %952, %949
%954 = tail call i32 @llvm.fshl.i32(i32 %929, i32 %929, i32 30)
%955 = xor i32 %954, %942
%956 = xor i32 %955, %941
%957 = xor i32 %792, %768
%958 = xor i32 %957, %864
%959 = xor i32 %958, %924
%960 = tail call i32 @llvm.fshl.i32(i32 %959, i32 %959, i32 1)
%961 = tail call i32 @llvm.fshl.i32(i32 %953, i32 %953, i32 5)
%962 = add i32 %960, -899497514
%963 = add i32 %962, %930
%964 = add i32 %963, %956
%965 = add i32 %964, %961
%966 = tail call i32 @llvm.fshl.i32(i32 %941, i32 %941, i32 30)
%967 = xor i32 %966, %954
%968 = xor i32 %967, %953
%969 = xor i32 %804, %780
%970 = xor i32 %969, %876
%971 = xor i32 %970, %936
%972 = tail call i32 @llvm.fshl.i32(i32 %971, i32 %971, i32 1)
%973 = tail call i32 @llvm.fshl.i32(i32 %965, i32 %965, i32 5)
%974 = add i32 %972, -899497514
%975 = add i32 %974, %942
%976 = add i32 %975, %968
%977 = add i32 %976, %973
%978 = tail call i32 @llvm.fshl.i32(i32 %953, i32 %953, i32 30)
%979 = xor i32 %978, %966
%980 = xor i32 %979, %965
%981 = xor i32 %816, %792
%982 = xor i32 %981, %888
%983 = xor i32 %982, %948
%984 = tail call i32 @llvm.fshl.i32(i32 %983, i32 %983, i32 1)
%985 = tail call i32 @llvm.fshl.i32(i32 %977, i32 %977, i32 5)
%986 = add i32 %984, -899497514
%987 = add i32 %986, %954
%988 = add i32 %987, %980
%989 = add i32 %988, %985
%990 = tail call i32 @llvm.fshl.i32(i32 %965, i32 %965, i32 30)
%991 = xor i32 %990, %978
%992 = xor i32 %991, %977
%993 = xor i32 %828, %804
%994 = xor i32 %993, %900
%995 = xor i32 %994, %960
%996 = tail call i32 @llvm.fshl.i32(i32 %995, i32 %995, i32 1)
%997 = tail call i32 @llvm.fshl.i32(i32 %989, i32 %989, i32 5)
%998 = add i32 %996, -899497514
%999 = add i32 %998, %966
%1000 = add i32 %999, %992
%1001 = add i32 %1000, %997
%1002 = tail call i32 @llvm.fshl.i32(i32 %977, i32 %977, i32 30)
%1003 = xor i32 %1002, %990
%1004 = xor i32 %1003, %989
%1005 = xor i32 %840, %816
%1006 = xor i32 %1005, %912
%1007 = xor i32 %1006, %972
%1008 = tail call i32 @llvm.fshl.i32(i32 %1007, i32 %1007, i32 1)
%1009 = tail call i32 @llvm.fshl.i32(i32 %1001, i32 %1001, i32 5)
%1010 = tail call i32 @llvm.fshl.i32(i32 %989, i32 %989, i32 30)
%1011 = add i32 %50, -899497514
%1012 = add i32 %1011, %1008
%1013 = add i32 %1012, %978
%1014 = add i32 %1013, %1004
%1015 = add i32 %1014, %1009
store i32 %1015, i32* %0
%1016 = add i32 %1001, %52
store i32 %1016, i32* %51
%1017 = add i32 %1010, %54
store i32 %1017, i32* %53
%1018 = add i32 %1002, %56
store i32 %1018, i32* %55
%1019 = add i32 %990, %58
store i32 %1019, i32* %57
ret void
}