void yasm_md5_transform(unsigned long buf[4], const unsigned char inraw[64]) {
  register unsigned long a, b, c, d;
  unsigned long in[16];
  int i;
  for (i = 0; i < 16; ++i)
    in[i] = getu32(inraw + 4 * i);
  a = buf[0];
  b = buf[1];
  c = buf[2];
  d = buf[3];
  (a += (d ^ (b & (c ^ d))) + in[0] + 0xd76aa478, a &= 0xffffffff,
   a = a << 7 | a >> (32 - 7), a += b);
  (d += (c ^ (a & (b ^ c))) + in[1] + 0xe8c7b756, d &= 0xffffffff,
   d = d << 12 | d >> (32 - 12), d += a);
  (c += (b ^ (d & (a ^ b))) + in[2] + 0x242070db, c &= 0xffffffff,
   c = c << 17 | c >> (32 - 17), c += d);
  (b += (a ^ (c & (d ^ a))) + in[3] + 0xc1bdceee, b &= 0xffffffff,
   b = b << 22 | b >> (32 - 22), b += c);
  (a += (d ^ (b & (c ^ d))) + in[4] + 0xf57c0faf, a &= 0xffffffff,
   a = a << 7 | a >> (32 - 7), a += b);
  (d += (c ^ (a & (b ^ c))) + in[5] + 0x4787c62a, d &= 0xffffffff,
   d = d << 12 | d >> (32 - 12), d += a);
  (c += (b ^ (d & (a ^ b))) + in[6] + 0xa8304613, c &= 0xffffffff,
   c = c << 17 | c >> (32 - 17), c += d);
  (b += (a ^ (c & (d ^ a))) + in[7] + 0xfd469501, b &= 0xffffffff,
   b = b << 22 | b >> (32 - 22), b += c);
  (a += (d ^ (b & (c ^ d))) + in[8] + 0x698098d8, a &= 0xffffffff,
   a = a << 7 | a >> (32 - 7), a += b);
  (d += (c ^ (a & (b ^ c))) + in[9] + 0x8b44f7af, d &= 0xffffffff,
   d = d << 12 | d >> (32 - 12), d += a);
  (c += (b ^ (d & (a ^ b))) + in[10] + 0xffff5bb1, c &= 0xffffffff,
   c = c << 17 | c >> (32 - 17), c += d);
  (b += (a ^ (c & (d ^ a))) + in[11] + 0x895cd7be, b &= 0xffffffff,
   b = b << 22 | b >> (32 - 22), b += c);
  (a += (d ^ (b & (c ^ d))) + in[12] + 0x6b901122, a &= 0xffffffff,
   a = a << 7 | a >> (32 - 7), a += b);
  (d += (c ^ (a & (b ^ c))) + in[13] + 0xfd987193, d &= 0xffffffff,
   d = d << 12 | d >> (32 - 12), d += a);
  (c += (b ^ (d & (a ^ b))) + in[14] + 0xa679438e, c &= 0xffffffff,
   c = c << 17 | c >> (32 - 17), c += d);
  (b += (a ^ (c & (d ^ a))) + in[15] + 0x49b40821, b &= 0xffffffff,
   b = b << 22 | b >> (32 - 22), b += c);
  (a += (c ^ (d & (b ^ c))) + in[1] + 0xf61e2562, a &= 0xffffffff,
   a = a << 5 | a >> (32 - 5), a += b);
  (d += (b ^ (c & (a ^ b))) + in[6] + 0xc040b340, d &= 0xffffffff,
   d = d << 9 | d >> (32 - 9), d += a);
  (c += (a ^ (b & (d ^ a))) + in[11] + 0x265e5a51, c &= 0xffffffff,
   c = c << 14 | c >> (32 - 14), c += d);
  (b += (d ^ (a & (c ^ d))) + in[0] + 0xe9b6c7aa, b &= 0xffffffff,
   b = b << 20 | b >> (32 - 20), b += c);
  (a += (c ^ (d & (b ^ c))) + in[5] + 0xd62f105d, a &= 0xffffffff,
   a = a << 5 | a >> (32 - 5), a += b);
  (d += (b ^ (c & (a ^ b))) + in[10] + 0x02441453, d &= 0xffffffff,
   d = d << 9 | d >> (32 - 9), d += a);
  (c += (a ^ (b & (d ^ a))) + in[15] + 0xd8a1e681, c &= 0xffffffff,
   c = c << 14 | c >> (32 - 14), c += d);
  (b += (d ^ (a & (c ^ d))) + in[4] + 0xe7d3fbc8, b &= 0xffffffff,
   b = b << 20 | b >> (32 - 20), b += c);
  (a += (c ^ (d & (b ^ c))) + in[9] + 0x21e1cde6, a &= 0xffffffff,
   a = a << 5 | a >> (32 - 5), a += b);
  (d += (b ^ (c & (a ^ b))) + in[14] + 0xc33707d6, d &= 0xffffffff,
   d = d << 9 | d >> (32 - 9), d += a);
  (c += (a ^ (b & (d ^ a))) + in[3] + 0xf4d50d87, c &= 0xffffffff,
   c = c << 14 | c >> (32 - 14), c += d);
  (b += (d ^ (a & (c ^ d))) + in[8] + 0x455a14ed, b &= 0xffffffff,
   b = b << 20 | b >> (32 - 20), b += c);
  (a += (c ^ (d & (b ^ c))) + in[13] + 0xa9e3e905, a &= 0xffffffff,
   a = a << 5 | a >> (32 - 5), a += b);
  (d += (b ^ (c & (a ^ b))) + in[2] + 0xfcefa3f8, d &= 0xffffffff,
   d = d << 9 | d >> (32 - 9), d += a);
  (c += (a ^ (b & (d ^ a))) + in[7] + 0x676f02d9, c &= 0xffffffff,
   c = c << 14 | c >> (32 - 14), c += d);
  (b += (d ^ (a & (c ^ d))) + in[12] + 0x8d2a4c8a, b &= 0xffffffff,
   b = b << 20 | b >> (32 - 20), b += c);
  (a += (b ^ c ^ d) + in[5] + 0xfffa3942, a &= 0xffffffff,
   a = a << 4 | a >> (32 - 4), a += b);
  (d += (a ^ b ^ c) + in[8] + 0x8771f681, d &= 0xffffffff,
   d = d << 11 | d >> (32 - 11), d += a);
  (c += (d ^ a ^ b) + in[11] + 0x6d9d6122, c &= 0xffffffff,
   c = c << 16 | c >> (32 - 16), c += d);
  (b += (c ^ d ^ a) + in[14] + 0xfde5380c, b &= 0xffffffff,
   b = b << 23 | b >> (32 - 23), b += c);
  (a += (b ^ c ^ d) + in[1] + 0xa4beea44, a &= 0xffffffff,
   a = a << 4 | a >> (32 - 4), a += b);
  (d += (a ^ b ^ c) + in[4] + 0x4bdecfa9, d &= 0xffffffff,
   d = d << 11 | d >> (32 - 11), d += a);
  (c += (d ^ a ^ b) + in[7] + 0xf6bb4b60, c &= 0xffffffff,
   c = c << 16 | c >> (32 - 16), c += d);
  (b += (c ^ d ^ a) + in[10] + 0xbebfbc70, b &= 0xffffffff,
   b = b << 23 | b >> (32 - 23), b += c);
  (a += (b ^ c ^ d) + in[13] + 0x289b7ec6, a &= 0xffffffff,
   a = a << 4 | a >> (32 - 4), a += b);
  (d += (a ^ b ^ c) + in[0] + 0xeaa127fa, d &= 0xffffffff,
   d = d << 11 | d >> (32 - 11), d += a);
  (c += (d ^ a ^ b) + in[3] + 0xd4ef3085, c &= 0xffffffff,
   c = c << 16 | c >> (32 - 16), c += d);
  (b += (c ^ d ^ a) + in[6] + 0x04881d05, b &= 0xffffffff,
   b = b << 23 | b >> (32 - 23), b += c);
  (a += (b ^ c ^ d) + in[9] + 0xd9d4d039, a &= 0xffffffff,
   a = a << 4 | a >> (32 - 4), a += b);
  (d += (a ^ b ^ c) + in[12] + 0xe6db99e5, d &= 0xffffffff,
   d = d << 11 | d >> (32 - 11), d += a);
  (c += (d ^ a ^ b) + in[15] + 0x1fa27cf8, c &= 0xffffffff,
   c = c << 16 | c >> (32 - 16), c += d);
  (b += (c ^ d ^ a) + in[2] + 0xc4ac5665, b &= 0xffffffff,
   b = b << 23 | b >> (32 - 23), b += c);
  (a += (c ^ (b | ~d)) + in[0] + 0xf4292244, a &= 0xffffffff,
   a = a << 6 | a >> (32 - 6), a += b);
  (d += (b ^ (a | ~c)) + in[7] + 0x432aff97, d &= 0xffffffff,
   d = d << 10 | d >> (32 - 10), d += a);
  (c += (a ^ (d | ~b)) + in[14] + 0xab9423a7, c &= 0xffffffff,
   c = c << 15 | c >> (32 - 15), c += d);
  (b += (d ^ (c | ~a)) + in[5] + 0xfc93a039, b &= 0xffffffff,
   b = b << 21 | b >> (32 - 21), b += c);
  (a += (c ^ (b | ~d)) + in[12] + 0x655b59c3, a &= 0xffffffff,
   a = a << 6 | a >> (32 - 6), a += b);
  (d += (b ^ (a | ~c)) + in[3] + 0x8f0ccc92, d &= 0xffffffff,
   d = d << 10 | d >> (32 - 10), d += a);
  (c += (a ^ (d | ~b)) + in[10] + 0xffeff47d, c &= 0xffffffff,
   c = c << 15 | c >> (32 - 15), c += d);
  (b += (d ^ (c | ~a)) + in[1] + 0x85845dd1, b &= 0xffffffff,
   b = b << 21 | b >> (32 - 21), b += c);
  (a += (c ^ (b | ~d)) + in[8] + 0x6fa87e4f, a &= 0xffffffff,
   a = a << 6 | a >> (32 - 6), a += b);
  (d += (b ^ (a | ~c)) + in[15] + 0xfe2ce6e0, d &= 0xffffffff,
   d = d << 10 | d >> (32 - 10), d += a);
  (c += (a ^ (d | ~b)) + in[6] + 0xa3014314, c &= 0xffffffff,
   c = c << 15 | c >> (32 - 15), c += d);
  (b += (d ^ (c | ~a)) + in[13] + 0x4e0811a1, b &= 0xffffffff,
   b = b << 21 | b >> (32 - 21), b += c);
  (a += (c ^ (b | ~d)) + in[4] + 0xf7537e82, a &= 0xffffffff,
   a = a << 6 | a >> (32 - 6), a += b);
  (d += (b ^ (a | ~c)) + in[11] + 0xbd3af235, d &= 0xffffffff,
   d = d << 10 | d >> (32 - 10), d += a);
  (c += (a ^ (d | ~b)) + in[2] + 0x2ad7d2bb, c &= 0xffffffff,
   c = c << 15 | c >> (32 - 15), c += d);
  (b += (d ^ (c | ~a)) + in[9] + 0xeb86d391, b &= 0xffffffff,
   b = b << 21 | b >> (32 - 21), b += c);
  buf[0] += a;
  buf[1] += b;
  buf[2] += c;
  buf[3] += d;
}


x86 assembly (clang, -O0):
<yasm_md5_transform>:
push   %rbp
mov    %rsp,%rbp
sub    $0xc0,%rsp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
movl   $0x0,-0xb4(%rbp)
cmpl   $0x10,-0xb4(%rbp)
jge    1179 <yasm_md5_transform+0x69>
mov    -0x10(%rbp),%rdi
mov    -0xb4(%rbp),%eax
shl    $0x2,%eax
cltq
add    %rax,%rdi
mov    $0x0,%al
call   1030 <getu32@plt>
movslq %eax,%rcx
movslq -0xb4(%rbp),%rax
mov    %rcx,-0xb0(%rbp,%rax,8)
ff
mov    -0xb4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4(%rbp)
jmp    112d <yasm_md5_transform+0x1d>
mov    -0x8(%rbp),%rax
mov    (%rax),%rax
mov    %rax,-0x18(%rbp)
mov    -0x8(%rbp),%rax
mov    0x8(%rax),%rax
mov    %rax,-0x20(%rbp)
mov    -0x8(%rbp),%rax
mov    0x10(%rax),%rax
mov    %rax,-0x28(%rbp)
mov    -0x8(%rbp),%rax
mov    0x18(%rax),%rax
mov    %rax,-0x30(%rbp)
mov    -0x30(%rbp),%rax
mov    -0x20(%rbp),%rcx
mov    -0x28(%rbp),%rdx
xor    -0x30(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0xb0(%rbp),%rax
movabs $0xd76aa478,%rcx
add    %rcx,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
movabs $0xffffffff,%rax
and    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x7,%rax
mov    -0x18(%rbp),%rcx
shr    $0x19,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x20(%rbp),%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x28(%rbp),%rax
mov    -0x18(%rbp),%rcx
mov    -0x20(%rbp),%rdx
xor    -0x28(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0xa8(%rbp),%rax
movabs $0xe8c7b756,%rcx
add    %rcx,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
movabs $0xffffffff,%rax
and    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x30(%rbp),%rax
shl    $0xc,%rax
mov    -0x30(%rbp),%rcx
shr    $0x14,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x30(%rbp),%rcx
mov    -0x18(%rbp),%rdx
xor    -0x20(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0xa0(%rbp),%rax
add    $0x242070db,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
movabs $0xffffffff,%rax
and    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x11,%rax
mov    -0x28(%rbp),%rcx
shr    $0xf,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x30(%rbp),%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x18(%rbp),%rax
mov    -0x28(%rbp),%rcx
mov    -0x30(%rbp),%rdx
xor    -0x18(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0x98(%rbp),%rax
movabs $0xc1bdceee,%rcx
add    %rcx,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
movabs $0xffffffff,%rax
and    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x16,%rax
mov    -0x20(%rbp),%rcx
shr    $0xa,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x28(%rbp),%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x30(%rbp),%rax
mov    -0x20(%rbp),%rcx
mov    -0x28(%rbp),%rdx
xor    -0x30(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0x90(%rbp),%rax
movabs $0xf57c0faf,%rcx
add    %rcx,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
movabs $0xffffffff,%rax
and    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x7,%rax
mov    -0x18(%rbp),%rcx
shr    $0x19,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x20(%rbp),%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x28(%rbp),%rax
mov    -0x18(%rbp),%rcx
mov    -0x20(%rbp),%rdx
xor    -0x28(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0x88(%rbp),%rax
add    $0x4787c62a,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
movabs $0xffffffff,%rax
and    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x30(%rbp),%rax
shl    $0xc,%rax
mov    -0x30(%rbp),%rcx
shr    $0x14,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x30(%rbp),%rcx
mov    -0x18(%rbp),%rdx
xor    -0x20(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0x80(%rbp),%rax
movabs $0xa8304613,%rcx
add    %rcx,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
movabs $0xffffffff,%rax
and    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x11,%rax
mov    -0x28(%rbp),%rcx
shr    $0xf,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x30(%rbp),%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x18(%rbp),%rax
mov    -0x28(%rbp),%rcx
mov    -0x30(%rbp),%rdx
xor    -0x18(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0x78(%rbp),%rax
movabs $0xfd469501,%rcx
add    %rcx,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
movabs $0xffffffff,%rax
and    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x16,%rax
mov    -0x20(%rbp),%rcx
shr    $0xa,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x28(%rbp),%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x30(%rbp),%rax
mov    -0x20(%rbp),%rcx
mov    -0x28(%rbp),%rdx
xor    -0x30(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0x70(%rbp),%rax
add    $0x698098d8,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
movabs $0xffffffff,%rax
and    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x7,%rax
mov    -0x18(%rbp),%rcx
shr    $0x19,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x20(%rbp),%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x28(%rbp),%rax
mov    -0x18(%rbp),%rcx
mov    -0x20(%rbp),%rdx
xor    -0x28(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0x68(%rbp),%rax
movabs $0x8b44f7af,%rcx
add    %rcx,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
movabs $0xffffffff,%rax
and    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x30(%rbp),%rax
shl    $0xc,%rax
mov    -0x30(%rbp),%rcx
shr    $0x14,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x30(%rbp),%rcx
mov    -0x18(%rbp),%rdx
xor    -0x20(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0x60(%rbp),%rax
movabs $0xffff5bb1,%rcx
add    %rcx,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
movabs $0xffffffff,%rax
and    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x11,%rax
mov    -0x28(%rbp),%rcx
shr    $0xf,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x30(%rbp),%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x18(%rbp),%rax
mov    -0x28(%rbp),%rcx
mov    -0x30(%rbp),%rdx
xor    -0x18(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0x58(%rbp),%rax
movabs $0x895cd7be,%rcx
add    %rcx,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
movabs $0xffffffff,%rax
and    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x16,%rax
mov    -0x20(%rbp),%rcx
shr    $0xa,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x28(%rbp),%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x30(%rbp),%rax
mov    -0x20(%rbp),%rcx
mov    -0x28(%rbp),%rdx
xor    -0x30(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0x50(%rbp),%rax
add    $0x6b901122,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
movabs $0xffffffff,%rax
and    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x7,%rax
mov    -0x18(%rbp),%rcx
shr    $0x19,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x20(%rbp),%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x28(%rbp),%rax
mov    -0x18(%rbp),%rcx
mov    -0x20(%rbp),%rdx
xor    -0x28(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0x48(%rbp),%rax
movabs $0xfd987193,%rcx
add    %rcx,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
movabs $0xffffffff,%rax
and    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x30(%rbp),%rax
shl    $0xc,%rax
mov    -0x30(%rbp),%rcx
shr    $0x14,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x30(%rbp),%rcx
mov    -0x18(%rbp),%rdx
xor    -0x20(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0x40(%rbp),%rax
movabs $0xa679438e,%rcx
add    %rcx,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
movabs $0xffffffff,%rax
and    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x11,%rax
mov    -0x28(%rbp),%rcx
shr    $0xf,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x30(%rbp),%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x18(%rbp),%rax
mov    -0x28(%rbp),%rcx
mov    -0x30(%rbp),%rdx
xor    -0x18(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0x38(%rbp),%rax
add    $0x49b40821,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
movabs $0xffffffff,%rax
and    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x16,%rax
mov    -0x20(%rbp),%rcx
shr    $0xa,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x28(%rbp),%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x28(%rbp),%rax
mov    -0x30(%rbp),%rcx
mov    -0x20(%rbp),%rdx
xor    -0x28(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0xa8(%rbp),%rax
movabs $0xf61e2562,%rcx
add    %rcx,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
movabs $0xffffffff,%rax
and    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x5,%rax
mov    -0x18(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x20(%rbp),%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x28(%rbp),%rcx
mov    -0x18(%rbp),%rdx
xor    -0x20(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0x80(%rbp),%rax
movabs $0xc040b340,%rcx
add    %rcx,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
movabs $0xffffffff,%rax
and    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x9,%rax
mov    -0x30(%rbp),%rcx
shr    $0x17,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
mov    -0x20(%rbp),%rcx
mov    -0x30(%rbp),%rdx
xor    -0x18(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0x58(%rbp),%rax
add    $0x265e5a51,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
movabs $0xffffffff,%rax
and    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x28(%rbp),%rax
shl    $0xe,%rax
mov    -0x28(%rbp),%rcx
shr    $0x12,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x30(%rbp),%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x30(%rbp),%rax
mov    -0x18(%rbp),%rcx
mov    -0x28(%rbp),%rdx
xor    -0x30(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0xb0(%rbp),%rax
movabs $0xe9b6c7aa,%rcx
add    %rcx,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
movabs $0xffffffff,%rax
and    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x14,%rax
mov    -0x20(%rbp),%rcx
shr    $0xc,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x28(%rbp),%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x28(%rbp),%rax
mov    -0x30(%rbp),%rcx
mov    -0x20(%rbp),%rdx
xor    -0x28(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0x88(%rbp),%rax
movabs $0xd62f105d,%rcx
add    %rcx,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
movabs $0xffffffff,%rax
and    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x5,%rax
mov    -0x18(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x20(%rbp),%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x28(%rbp),%rcx
mov    -0x18(%rbp),%rdx
xor    -0x20(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0x60(%rbp),%rax
add    $0x2441453,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
movabs $0xffffffff,%rax
and    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x9,%rax
mov    -0x30(%rbp),%rcx
shr    $0x17,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
mov    -0x20(%rbp),%rcx
mov    -0x30(%rbp),%rdx
xor    -0x18(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0x38(%rbp),%rax
movabs $0xd8a1e681,%rcx
add    %rcx,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
movabs $0xffffffff,%rax
and    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x28(%rbp),%rax
shl    $0xe,%rax
mov    -0x28(%rbp),%rcx
shr    $0x12,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x30(%rbp),%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x30(%rbp),%rax
mov    -0x18(%rbp),%rcx
mov    -0x28(%rbp),%rdx
xor    -0x30(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0x90(%rbp),%rax
movabs $0xe7d3fbc8,%rcx
add    %rcx,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
movabs $0xffffffff,%rax
and    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x14,%rax
mov    -0x20(%rbp),%rcx
shr    $0xc,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x28(%rbp),%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x28(%rbp),%rax
mov    -0x30(%rbp),%rcx
mov    -0x20(%rbp),%rdx
xor    -0x28(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0x68(%rbp),%rax
add    $0x21e1cde6,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
movabs $0xffffffff,%rax
and    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x5,%rax
mov    -0x18(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x20(%rbp),%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x28(%rbp),%rcx
mov    -0x18(%rbp),%rdx
xor    -0x20(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0x40(%rbp),%rax
movabs $0xc33707d6,%rcx
add    %rcx,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
movabs $0xffffffff,%rax
and    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x9,%rax
mov    -0x30(%rbp),%rcx
shr    $0x17,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
mov    -0x20(%rbp),%rcx
mov    -0x30(%rbp),%rdx
xor    -0x18(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0x98(%rbp),%rax
movabs $0xf4d50d87,%rcx
add    %rcx,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
movabs $0xffffffff,%rax
and    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x28(%rbp),%rax
shl    $0xe,%rax
mov    -0x28(%rbp),%rcx
shr    $0x12,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x30(%rbp),%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x30(%rbp),%rax
mov    -0x18(%rbp),%rcx
mov    -0x28(%rbp),%rdx
xor    -0x30(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0x70(%rbp),%rax
add    $0x455a14ed,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
movabs $0xffffffff,%rax
and    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x14,%rax
mov    -0x20(%rbp),%rcx
shr    $0xc,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x28(%rbp),%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x28(%rbp),%rax
mov    -0x30(%rbp),%rcx
mov    -0x20(%rbp),%rdx
xor    -0x28(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0x48(%rbp),%rax
movabs $0xa9e3e905,%rcx
add    %rcx,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
movabs $0xffffffff,%rax
and    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x5,%rax
mov    -0x18(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x20(%rbp),%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x28(%rbp),%rcx
mov    -0x18(%rbp),%rdx
xor    -0x20(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0xa0(%rbp),%rax
movabs $0xfcefa3f8,%rcx
add    %rcx,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
movabs $0xffffffff,%rax
and    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x9,%rax
mov    -0x30(%rbp),%rcx
shr    $0x17,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
mov    -0x20(%rbp),%rcx
mov    -0x30(%rbp),%rdx
xor    -0x18(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0x78(%rbp),%rax
add    $0x676f02d9,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
movabs $0xffffffff,%rax
and    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x28(%rbp),%rax
shl    $0xe,%rax
mov    -0x28(%rbp),%rcx
shr    $0x12,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x30(%rbp),%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x30(%rbp),%rax
mov    -0x18(%rbp),%rcx
mov    -0x28(%rbp),%rdx
xor    -0x30(%rbp),%rdx
and    %rdx,%rcx
xor    %rcx,%rax
add    -0x50(%rbp),%rax
movabs $0x8d2a4c8a,%rcx
add    %rcx,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
movabs $0xffffffff,%rax
and    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x14,%rax
mov    -0x20(%rbp),%rcx
shr    $0xc,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x28(%rbp),%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x20(%rbp),%rax
xor    -0x28(%rbp),%rax
xor    -0x30(%rbp),%rax
add    -0x88(%rbp),%rax
movabs $0xfffa3942,%rcx
add    %rcx,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
movabs $0xffffffff,%rax
and    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x4,%rax
mov    -0x18(%rbp),%rcx
shr    $0x1c,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x20(%rbp),%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x18(%rbp),%rax
xor    -0x20(%rbp),%rax
xor    -0x28(%rbp),%rax
add    -0x70(%rbp),%rax
movabs $0x8771f681,%rcx
add    %rcx,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
movabs $0xffffffff,%rax
and    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x30(%rbp),%rax
shl    $0xb,%rax
mov    -0x30(%rbp),%rcx
shr    $0x15,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x30(%rbp),%rax
xor    -0x18(%rbp),%rax
xor    -0x20(%rbp),%rax
add    -0x58(%rbp),%rax
add    $0x6d9d6122,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
movabs $0xffffffff,%rax
and    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x10,%rax
mov    -0x28(%rbp),%rcx
shr    $0x10,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x30(%rbp),%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x28(%rbp),%rax
xor    -0x30(%rbp),%rax
xor    -0x18(%rbp),%rax
add    -0x40(%rbp),%rax
movabs $0xfde5380c,%rcx
add    %rcx,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
movabs $0xffffffff,%rax
and    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x17,%rax
mov    -0x20(%rbp),%rcx
shr    $0x9,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x28(%rbp),%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x20(%rbp),%rax
xor    -0x28(%rbp),%rax
xor    -0x30(%rbp),%rax
add    -0xa8(%rbp),%rax
movabs $0xa4beea44,%rcx
add    %rcx,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
movabs $0xffffffff,%rax
and    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x4,%rax
mov    -0x18(%rbp),%rcx
shr    $0x1c,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x20(%rbp),%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x18(%rbp),%rax
xor    -0x20(%rbp),%rax
xor    -0x28(%rbp),%rax
add    -0x90(%rbp),%rax
add    $0x4bdecfa9,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
movabs $0xffffffff,%rax
and    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x30(%rbp),%rax
shl    $0xb,%rax
mov    -0x30(%rbp),%rcx
shr    $0x15,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x30(%rbp),%rax
xor    -0x18(%rbp),%rax
xor    -0x20(%rbp),%rax
add    -0x78(%rbp),%rax
movabs $0xf6bb4b60,%rcx
add    %rcx,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
movabs $0xffffffff,%rax
and    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x10,%rax
mov    -0x28(%rbp),%rcx
shr    $0x10,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x30(%rbp),%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x28(%rbp),%rax
xor    -0x30(%rbp),%rax
xor    -0x18(%rbp),%rax
add    -0x60(%rbp),%rax
movabs $0xbebfbc70,%rcx
add    %rcx,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
movabs $0xffffffff,%rax
and    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x17,%rax
mov    -0x20(%rbp),%rcx
shr    $0x9,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x28(%rbp),%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x20(%rbp),%rax
xor    -0x28(%rbp),%rax
xor    -0x30(%rbp),%rax
add    -0x48(%rbp),%rax
add    $0x289b7ec6,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
movabs $0xffffffff,%rax
and    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x4,%rax
mov    -0x18(%rbp),%rcx
shr    $0x1c,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x20(%rbp),%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x18(%rbp),%rax
xor    -0x20(%rbp),%rax
xor    -0x28(%rbp),%rax
add    -0xb0(%rbp),%rax
movabs $0xeaa127fa,%rcx
add    %rcx,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
movabs $0xffffffff,%rax
and    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x30(%rbp),%rax
shl    $0xb,%rax
mov    -0x30(%rbp),%rcx
shr    $0x15,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x30(%rbp),%rax
xor    -0x18(%rbp),%rax
xor    -0x20(%rbp),%rax
add    -0x98(%rbp),%rax
movabs $0xd4ef3085,%rcx
add    %rcx,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
movabs $0xffffffff,%rax
and    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x10,%rax
mov    -0x28(%rbp),%rcx
shr    $0x10,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x30(%rbp),%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x28(%rbp),%rax
xor    -0x30(%rbp),%rax
xor    -0x18(%rbp),%rax
add    -0x80(%rbp),%rax
add    $0x4881d05,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
movabs $0xffffffff,%rax
and    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x17,%rax
mov    -0x20(%rbp),%rcx
shr    $0x9,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x28(%rbp),%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x20(%rbp),%rax
xor    -0x28(%rbp),%rax
xor    -0x30(%rbp),%rax
add    -0x68(%rbp),%rax
movabs $0xd9d4d039,%rcx
add    %rcx,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
movabs $0xffffffff,%rax
and    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x4,%rax
mov    -0x18(%rbp),%rcx
shr    $0x1c,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x20(%rbp),%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x18(%rbp),%rax
xor    -0x20(%rbp),%rax
xor    -0x28(%rbp),%rax
add    -0x50(%rbp),%rax
movabs $0xe6db99e5,%rcx
add    %rcx,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
movabs $0xffffffff,%rax
and    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x30(%rbp),%rax
shl    $0xb,%rax
mov    -0x30(%rbp),%rcx
shr    $0x15,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x30(%rbp),%rax
xor    -0x18(%rbp),%rax
xor    -0x20(%rbp),%rax
add    -0x38(%rbp),%rax
add    $0x1fa27cf8,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
movabs $0xffffffff,%rax
and    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x10,%rax
mov    -0x28(%rbp),%rcx
shr    $0x10,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x30(%rbp),%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x28(%rbp),%rax
xor    -0x30(%rbp),%rax
xor    -0x18(%rbp),%rax
add    -0xa0(%rbp),%rax
movabs $0xc4ac5665,%rcx
add    %rcx,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
movabs $0xffffffff,%rax
and    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x17,%rax
mov    -0x20(%rbp),%rcx
shr    $0x9,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x28(%rbp),%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x28(%rbp),%rax
mov    -0x20(%rbp),%rcx
mov    -0x30(%rbp),%rdx
xor    $0xffffffffffffffff,%rdx
or     %rdx,%rcx
xor    %rcx,%rax
add    -0xb0(%rbp),%rax
movabs $0xf4292244,%rcx
add    %rcx,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
movabs $0xffffffff,%rax
and    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x6,%rax
mov    -0x18(%rbp),%rcx
shr    $0x1a,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x20(%rbp),%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x18(%rbp),%rcx
mov    -0x28(%rbp),%rdx
xor    $0xffffffffffffffff,%rdx
or     %rdx,%rcx
xor    %rcx,%rax
add    -0x78(%rbp),%rax
add    $0x432aff97,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
movabs $0xffffffff,%rax
and    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x30(%rbp),%rax
shl    $0xa,%rax
mov    -0x30(%rbp),%rcx
shr    $0x16,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
mov    -0x30(%rbp),%rcx
mov    -0x20(%rbp),%rdx
xor    $0xffffffffffffffff,%rdx
or     %rdx,%rcx
xor    %rcx,%rax
add    -0x40(%rbp),%rax
movabs $0xab9423a7,%rcx
add    %rcx,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
movabs $0xffffffff,%rax
and    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x28(%rbp),%rax
shl    $0xf,%rax
mov    -0x28(%rbp),%rcx
shr    $0x11,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x30(%rbp),%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x30(%rbp),%rax
mov    -0x28(%rbp),%rcx
mov    -0x18(%rbp),%rdx
xor    $0xffffffffffffffff,%rdx
or     %rdx,%rcx
xor    %rcx,%rax
add    -0x88(%rbp),%rax
movabs $0xfc93a039,%rcx
add    %rcx,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
movabs $0xffffffff,%rax
and    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x15,%rax
mov    -0x20(%rbp),%rcx
shr    $0xb,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x28(%rbp),%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x28(%rbp),%rax
mov    -0x20(%rbp),%rcx
mov    -0x30(%rbp),%rdx
xor    $0xffffffffffffffff,%rdx
or     %rdx,%rcx
xor    %rcx,%rax
add    -0x50(%rbp),%rax
add    $0x655b59c3,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
movabs $0xffffffff,%rax
and    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x6,%rax
mov    -0x18(%rbp),%rcx
shr    $0x1a,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x20(%rbp),%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x18(%rbp),%rcx
mov    -0x28(%rbp),%rdx
xor    $0xffffffffffffffff,%rdx
or     %rdx,%rcx
xor    %rcx,%rax
add    -0x98(%rbp),%rax
movabs $0x8f0ccc92,%rcx
add    %rcx,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
movabs $0xffffffff,%rax
and    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x30(%rbp),%rax
shl    $0xa,%rax
mov    -0x30(%rbp),%rcx
shr    $0x16,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
mov    -0x30(%rbp),%rcx
mov    -0x20(%rbp),%rdx
xor    $0xffffffffffffffff,%rdx
or     %rdx,%rcx
xor    %rcx,%rax
add    -0x60(%rbp),%rax
movabs $0xffeff47d,%rcx
add    %rcx,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
movabs $0xffffffff,%rax
and    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x28(%rbp),%rax
shl    $0xf,%rax
mov    -0x28(%rbp),%rcx
shr    $0x11,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x30(%rbp),%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x30(%rbp),%rax
mov    -0x28(%rbp),%rcx
mov    -0x18(%rbp),%rdx
xor    $0xffffffffffffffff,%rdx
or     %rdx,%rcx
xor    %rcx,%rax
add    -0xa8(%rbp),%rax
movabs $0x85845dd1,%rcx
add    %rcx,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
movabs $0xffffffff,%rax
and    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x15,%rax
mov    -0x20(%rbp),%rcx
shr    $0xb,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x28(%rbp),%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x28(%rbp),%rax
mov    -0x20(%rbp),%rcx
mov    -0x30(%rbp),%rdx
xor    $0xffffffffffffffff,%rdx
or     %rdx,%rcx
xor    %rcx,%rax
add    -0x70(%rbp),%rax
add    $0x6fa87e4f,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
movabs $0xffffffff,%rax
and    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x6,%rax
mov    -0x18(%rbp),%rcx
shr    $0x1a,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x20(%rbp),%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x18(%rbp),%rcx
mov    -0x28(%rbp),%rdx
xor    $0xffffffffffffffff,%rdx
or     %rdx,%rcx
xor    %rcx,%rax
add    -0x38(%rbp),%rax
movabs $0xfe2ce6e0,%rcx
add    %rcx,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
movabs $0xffffffff,%rax
and    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x30(%rbp),%rax
shl    $0xa,%rax
mov    -0x30(%rbp),%rcx
shr    $0x16,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
mov    -0x30(%rbp),%rcx
mov    -0x20(%rbp),%rdx
xor    $0xffffffffffffffff,%rdx
or     %rdx,%rcx
xor    %rcx,%rax
add    -0x80(%rbp),%rax
movabs $0xa3014314,%rcx
add    %rcx,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
movabs $0xffffffff,%rax
and    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x28(%rbp),%rax
shl    $0xf,%rax
mov    -0x28(%rbp),%rcx
shr    $0x11,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x30(%rbp),%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x30(%rbp),%rax
mov    -0x28(%rbp),%rcx
mov    -0x18(%rbp),%rdx
xor    $0xffffffffffffffff,%rdx
or     %rdx,%rcx
xor    %rcx,%rax
add    -0x48(%rbp),%rax
add    $0x4e0811a1,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
movabs $0xffffffff,%rax
and    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x15,%rax
mov    -0x20(%rbp),%rcx
shr    $0xb,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x28(%rbp),%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x28(%rbp),%rax
mov    -0x20(%rbp),%rcx
mov    -0x30(%rbp),%rdx
xor    $0xffffffffffffffff,%rdx
or     %rdx,%rcx
xor    %rcx,%rax
add    -0x90(%rbp),%rax
movabs $0xf7537e82,%rcx
add    %rcx,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
movabs $0xffffffff,%rax
and    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x6,%rax
mov    -0x18(%rbp),%rcx
shr    $0x1a,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x20(%rbp),%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x18(%rbp),%rcx
mov    -0x28(%rbp),%rdx
xor    $0xffffffffffffffff,%rdx
or     %rdx,%rcx
xor    %rcx,%rax
add    -0x58(%rbp),%rax
movabs $0xbd3af235,%rcx
add    %rcx,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
movabs $0xffffffff,%rax
and    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x30(%rbp),%rax
shl    $0xa,%rax
mov    -0x30(%rbp),%rcx
shr    $0x16,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
mov    -0x30(%rbp),%rcx
mov    -0x20(%rbp),%rdx
xor    $0xffffffffffffffff,%rdx
or     %rdx,%rcx
xor    %rcx,%rax
add    -0xa0(%rbp),%rax
add    $0x2ad7d2bb,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
movabs $0xffffffff,%rax
and    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x28(%rbp),%rax
shl    $0xf,%rax
mov    -0x28(%rbp),%rcx
shr    $0x11,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x30(%rbp),%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x30(%rbp),%rax
mov    -0x28(%rbp),%rcx
mov    -0x18(%rbp),%rdx
xor    $0xffffffffffffffff,%rdx
or     %rdx,%rcx
xor    %rcx,%rax
add    -0x68(%rbp),%rax
movabs $0xeb86d391,%rcx
add    %rcx,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
movabs $0xffffffff,%rax
and    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x15,%rax
mov    -0x20(%rbp),%rcx
shr    $0xb,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x28(%rbp),%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x18(%rbp),%rcx
mov    -0x8(%rbp),%rax
add    (%rax),%rcx
mov    %rcx,(%rax)
mov    -0x20(%rbp),%rcx
mov    -0x8(%rbp),%rax
add    0x8(%rax),%rcx
mov    %rcx,0x8(%rax)
mov    -0x28(%rbp),%rcx
mov    -0x8(%rbp),%rax
add    0x10(%rax),%rcx
mov    %rcx,0x10(%rax)
mov    -0x30(%rbp),%rcx
mov    -0x8(%rbp),%rax
add    0x18(%rax),%rcx
mov    %rcx,0x18(%rax)
add    $0xc0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<yasm_md5_transform>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0xa8,%rsp
mov    %rsi,%rbp
mov    %rdi,%r14
mov    %rsi,%rdi
xor    %eax,%eax
call   1030 <getu32@plt>
mov    %eax,%ebx
mov    %rbx,0x58(%rsp)
lea    0x4(%rbp),%rdi
xor    %eax,%eax
call   1030 <getu32@plt>
mov    %eax,%r15d
mov    %r15,0x20(%rsp)
lea    0x8(%rbp),%rdi
xor    %eax,%eax
call   1030 <getu32@plt>
mov    %eax,%r12d
mov    %r12,0x78(%rsp)
lea    0xc(%rbp),%rdi
xor    %eax,%eax
call   1030 <getu32@plt>
mov    %eax,%r13d
mov    %r13,0x70(%rsp)
lea    0x10(%rbp),%rdi
xor    %eax,%eax
call   1030 <getu32@plt>
mov    %rax,0x60(%rsp)
lea    0x14(%rbp),%rdi
xor    %eax,%eax
call   1030 <getu32@plt>
mov    %rax,0x38(%rsp)
lea    0x18(%rbp),%rdi
xor    %eax,%eax
call   1030 <getu32@plt>
mov    %rax,0x40(%rsp)
lea    0x1c(%rbp),%rdi
xor    %eax,%eax
call   1030 <getu32@plt>
mov    %rax,0x48(%rsp)
lea    0x20(%rbp),%rdi
xor    %eax,%eax
call   1030 <getu32@plt>
mov    %rax,0x8(%rsp)
lea    0x24(%rbp),%rdi
xor    %eax,%eax
call   1030 <getu32@plt>
mov    %rax,0x10(%rsp)
lea    0x28(%rbp),%rdi
xor    %eax,%eax
call   1030 <getu32@plt>
mov    %rax,0x30(%rsp)
lea    0x2c(%rbp),%rdi
xor    %eax,%eax
call   1030 <getu32@plt>
mov    %rax,0x18(%rsp)
lea    0x30(%rbp),%rdi
xor    %eax,%eax
call   1030 <getu32@plt>
mov    %rax,0x50(%rsp)
lea    0x34(%rbp),%rdi
xor    %eax,%eax
call   1030 <getu32@plt>
mov    %rax,(%rsp)
lea    0x38(%rbp),%rdi
xor    %eax,%eax
call   1030 <getu32@plt>
mov    %rax,0x28(%rsp)
add    $0x3c,%rbp
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <getu32@plt>
mov    %eax,%r10d
mov    %r14,0x90(%rsp)
mov    0x10(%r14),%rax
mov    0x18(%r14),%rdx
mov    %edx,%ecx
xor    %eax,%ecx
mov    0x8(%r14),%rdi
and    %edi,%ecx
xor    %edx,%ecx
mov    %rdx,%rsi
mov    %rdx,0x98(%rsp)
mov    (%r14),%rdx
mov    %rdx,0xa0(%rsp)
add    %ebx,%edx
lea    (%rcx,%rdx,1),%ebp
add    $0xd76aa478,%ebp
mov    %rbp,%rcx
shl    $0x7,%rcx
shr    $0x19,%rbp
add    %rdi,%rbp
add    %rcx,%rbp
mov    %eax,%ecx
xor    %edi,%ecx
mov    %rdi,%rbx
and    %ebp,%ecx
xor    %eax,%ecx
mov    %rax,0x88(%rsp)
lea    (%rsi,%r15,1),%edx
lea    (%rcx,%rdx,1),%edi
add    $0xe8c7b756,%edi
mov    %rdi,%rcx
shl    $0xc,%rcx
shr    $0x14,%rdi
add    %rbp,%rdi
add    %rcx,%rdi
mov    %ebp,%ecx
xor    %ebx,%ecx
and    %edi,%ecx
xor    %ebx,%ecx
mov    %rbx,0x80(%rsp)
lea    (%rax,%r12,1),%edx
lea    (%rcx,%rdx,1),%esi
add    $0x242070db,%esi
mov    %rsi,%rdx
shl    $0x11,%rdx
shr    $0xf,%rsi
add    %rdi,%rsi
add    %rdx,%rsi
mov    %edi,%edx
xor    %ebp,%edx
and    %esi,%edx
xor    %ebp,%edx
add    %r13d,%ebx
add    %ebx,%edx
add    $0xc1bdceee,%edx
mov    %rdx,%rbx
shl    $0x16,%rbx
shr    $0xa,%rdx
add    %rsi,%rdx
add    %rbx,%rdx
mov    %esi,%ecx
xor    %edi,%ecx
and    %edx,%ecx
xor    %edi,%ecx
mov    0x60(%rsp),%r12
lea    (%r12,%rbp,1),%ebx
lea    (%rcx,%rbx,1),%ebp
add    $0xf57c0faf,%ebp
mov    %rbp,%rcx
shl    $0x7,%rcx
shr    $0x19,%rbp
add    %rdx,%rbp
add    %rcx,%rbp
mov    %edx,%ecx
xor    %esi,%ecx
and    %ebp,%ecx
xor    %esi,%ecx
mov    0x38(%rsp),%r8
add    %r8d,%edi
add    %ecx,%edi
add    $0x4787c62a,%edi
mov    %rdi,%rcx
shl    $0xc,%rcx
shr    $0x14,%rdi
add    %rbp,%rdi
add    %rcx,%rdi
mov    %ebp,%ecx
xor    %edx,%ecx
and    %edi,%ecx
xor    %edx,%ecx
mov    0x40(%rsp),%r11
add    %r11d,%esi
add    %esi,%ecx
add    $0xa8304613,%ecx
mov    %rcx,%rsi
shl    $0x11,%rsi
shr    $0xf,%rcx
add    %rdi,%rcx
add    %rsi,%rcx
mov    %edi,%esi
xor    %ebp,%esi
and    %ecx,%esi
xor    %ebp,%esi
mov    0x48(%rsp),%rax
add    %eax,%edx
add    %esi,%edx
add    $0xfd469501,%edx
mov    %rdx,%rsi
shl    $0x16,%rsi
shr    $0xa,%rdx
add    %rcx,%rdx
add    %rsi,%rdx
mov    %ecx,%esi
xor    %edi,%esi
and    %edx,%esi
xor    %edi,%esi
mov    0x8(%rsp),%rax
lea    (%rax,%rbp,1),%ebx
lea    (%rsi,%rbx,1),%ebp
add    $0x698098d8,%ebp
mov    %rbp,%rsi
shl    $0x7,%rsi
shr    $0x19,%rbp
add    %rdx,%rbp
add    %rsi,%rbp
mov    %edx,%esi
xor    %ecx,%esi
and    %ebp,%esi
xor    %ecx,%esi
mov    0x10(%rsp),%r14
add    %r14d,%edi
add    %esi,%edi
add    $0x8b44f7af,%edi
mov    %rdi,%rsi
shl    $0xc,%rsi
shr    $0x14,%rdi
add    %rbp,%rdi
add    %rsi,%rdi
mov    %ebp,%esi
xor    %edx,%esi
and    %edi,%esi
xor    %edx,%esi
mov    0x30(%rsp),%r15
add    %r15d,%ecx
add    %esi,%ecx
add    $0xffff5bb1,%ecx
mov    %rcx,%rsi
shl    $0x11,%rsi
shr    $0xf,%rcx
add    %rdi,%rcx
add    %rsi,%rcx
mov    %edi,%esi
xor    %ebp,%esi
and    %ecx,%esi
xor    %ebp,%esi
mov    0x18(%rsp),%rax
add    %eax,%edx
add    %esi,%edx
add    $0x895cd7be,%edx
mov    %rdx,%rsi
shl    $0x16,%rsi
shr    $0xa,%rdx
add    %rcx,%rdx
add    %rsi,%rdx
mov    %ecx,%esi
xor    %edi,%esi
and    %edx,%esi
xor    %edi,%esi
mov    0x50(%rsp),%rbx
add    %ebp,%ebx
lea    (%rsi,%rbx,1),%ebp
add    $0x6b901122,%ebp
mov    %rbp,%rsi
shl    $0x7,%rsi
shr    $0x19,%rbp
add    %rdx,%rbp
add    %rsi,%rbp
mov    %edx,%esi
xor    %ecx,%esi
and    %ebp,%esi
xor    %ecx,%esi
mov    (%rsp),%rbx
add    %ebx,%edi
add    %esi,%edi
add    $0xfd987193,%edi
mov    %rdi,%rsi
shl    $0xc,%rsi
shr    $0x14,%rdi
add    %rbp,%rdi
add    %rsi,%rdi
mov    %ebp,%esi
xor    %edx,%esi
and    %edi,%esi
xor    %edx,%esi
mov    0x28(%rsp),%r9
add    %r9d,%ecx
add    %esi,%ecx
add    $0xa679438e,%ecx
mov    %rcx,%rsi
shl    $0x11,%rsi
shr    $0xf,%rcx
add    %rdi,%rcx
add    %rsi,%rcx
mov    %edi,%esi
xor    %ebp,%esi
and    %ecx,%esi
xor    %ebp,%esi
mov    %r10,0x68(%rsp)
add    %r10d,%edx
add    %esi,%edx
add    $0x49b40821,%edx
mov    %rdx,%rsi
shl    $0x16,%rsi
shr    $0xa,%rdx
add    %rcx,%rdx
add    %rsi,%rdx
mov    %edx,%esi
xor    %ecx,%esi
and    %edi,%esi
xor    %ecx,%esi
mov    0x20(%rsp),%rbx
add    %ebp,%ebx
lea    (%rsi,%rbx,1),%ebp
add    $0xf61e2562,%ebp
mov    %rbp,%rsi
shl    $0x5,%rsi
shr    $0x1b,%rbp
add    %rdx,%rbp
add    %rsi,%rbp
mov    %ebp,%esi
xor    %edx,%esi
and    %ecx,%esi
xor    %edx,%esi
add    %r11d,%edi
add    %esi,%edi
add    $0xc040b340,%edi
mov    %rdi,%rsi
shl    $0x9,%rsi
shr    $0x17,%rdi
add    %rbp,%rdi
add    %rsi,%rdi
mov    %edi,%esi
xor    %ebp,%esi
and    %edx,%esi
xor    %ebp,%esi
add    %eax,%ecx
add    %esi,%ecx
add    $0x265e5a51,%ecx
mov    %rcx,%rsi
shl    $0xe,%rsi
shr    $0x12,%rcx
add    %rdi,%rcx
add    %rsi,%rcx
mov    %ecx,%esi
xor    %edi,%esi
and    %ebp,%esi
xor    %edi,%esi
mov    0x58(%rsp),%rbx
add    %ebx,%edx
add    %esi,%edx
add    $0xe9b6c7aa,%edx
mov    %rdx,%rsi
shl    $0x14,%rsi
shr    $0xc,%rdx
add    %rcx,%rdx
add    %rsi,%rdx
mov    %edx,%esi
xor    %ecx,%esi
and    %edi,%esi
xor    %ecx,%esi
lea    (%r8,%rbp,1),%ebx
mov    %r8,%r11
lea    (%rsi,%rbx,1),%ebp
add    $0xd62f105d,%ebp
mov    %rbp,%rsi
shl    $0x5,%rsi
shr    $0x1b,%rbp
add    %rdx,%rbp
add    %rsi,%rbp
mov    %ebp,%esi
xor    %edx,%esi
and    %ecx,%esi
xor    %edx,%esi
add    %r15d,%edi
add    %esi,%edi
add    $0x2441453,%edi
mov    %rdi,%rsi
shl    $0x9,%rsi
shr    $0x17,%rdi
add    %rbp,%rdi
add    %rsi,%rdi
mov    %edi,%esi
xor    %ebp,%esi
and    %edx,%esi
xor    %ebp,%esi
add    %r10d,%ecx
add    %esi,%ecx
add    $0xd8a1e681,%ecx
mov    %rcx,%rsi
shl    $0xe,%rsi
shr    $0x12,%rcx
add    %rdi,%rcx
add    %rsi,%rcx
mov    %ecx,%esi
xor    %edi,%esi
and    %ebp,%esi
xor    %edi,%esi
add    %r12d,%edx
add    %esi,%edx
add    $0xe7d3fbc8,%edx
mov    %rdx,%rsi
shl    $0x14,%rsi
shr    $0xc,%rdx
add    %rcx,%rdx
add    %rsi,%rdx
mov    %edx,%esi
xor    %ecx,%esi
and    %edi,%esi
xor    %ecx,%esi
lea    (%r14,%rbp,1),%ebx
lea    (%rsi,%rbx,1),%ebp
add    $0x21e1cde6,%ebp
mov    %rbp,%rsi
shl    $0x5,%rsi
shr    $0x1b,%rbp
add    %rdx,%rbp
add    %rsi,%rbp
mov    %ebp,%esi
xor    %edx,%esi
and    %ecx,%esi
xor    %edx,%esi
mov    %r9,%r15
add    %r9d,%edi
add    %esi,%edi
add    $0xc33707d6,%edi
mov    %rdi,%rsi
shl    $0x9,%rsi
shr    $0x17,%rdi
add    %rbp,%rdi
add    %rsi,%rdi
mov    %edi,%esi
xor    %ebp,%esi
and    %edx,%esi
xor    %ebp,%esi
mov    0x70(%rsp),%r8
add    %r8d,%ecx
add    %esi,%ecx
add    $0xf4d50d87,%ecx
mov    %rcx,%rsi
shl    $0xe,%rsi
shr    $0x12,%rcx
add    %rdi,%rcx
add    %rsi,%rcx
mov    %ecx,%esi
xor    %edi,%esi
and    %ebp,%esi
xor    %edi,%esi
mov    0x8(%rsp),%rax
add    %eax,%edx
add    %esi,%edx
add    $0x455a14ed,%edx
mov    %rdx,%rsi
shl    $0x14,%rsi
shr    $0xc,%rdx
add    %rcx,%rdx
add    %rsi,%rdx
mov    %edx,%esi
xor    %ecx,%esi
and    %edi,%esi
xor    %ecx,%esi
mov    (%rsp),%r13
lea    0x0(%r13,%rbp,1),%ebx
lea    (%rsi,%rbx,1),%ebp
add    $0xa9e3e905,%ebp
mov    %rbp,%rsi
shl    $0x5,%rsi
shr    $0x1b,%rbp
add    %rdx,%rbp
add    %rsi,%rbp
mov    %ebp,%esi
xor    %edx,%esi
and    %ecx,%esi
xor    %edx,%esi
mov    0x78(%rsp),%r10
add    %r10d,%edi
add    %esi,%edi
add    $0xfcefa3f8,%edi
mov    %rdi,%rsi
shl    $0x9,%rsi
shr    $0x17,%rdi
add    %rbp,%rdi
add    %rsi,%rdi
mov    %edi,%esi
xor    %ebp,%esi
and    %edx,%esi
xor    %ebp,%esi
mov    0x48(%rsp),%r9
add    %r9d,%ecx
add    %esi,%ecx
add    $0x676f02d9,%ecx
mov    %rcx,%rsi
shl    $0xe,%rsi
shr    $0x12,%rcx
add    %rdi,%rcx
add    %rsi,%rcx
mov    %ecx,%esi
xor    %edi,%esi
mov    %esi,%ebx
and    %ebp,%ebx
xor    %edi,%ebx
mov    0x50(%rsp),%r14
add    %r14d,%edx
add    %edx,%ebx
add    $0x8d2a4c8a,%ebx
mov    %rbx,%rdx
shl    $0x14,%rdx
shr    $0xc,%rbx
add    %rcx,%rbx
add    %rdx,%rbx
xor    %ebx,%esi
lea    (%r11,%rbp,1),%edx
add    %esi,%edx
add    $0xfffa3942,%edx
mov    %rdx,%rsi
shl    $0x4,%rsi
shr    $0x1c,%rdx
add    %rbx,%rdx
add    %rsi,%rdx
mov    %ebx,%esi
xor    %ecx,%esi
xor    %edx,%esi
add    %eax,%edi
add    %esi,%edi
add    $0x8771f681,%edi
mov    %rdi,%rsi
shl    $0xb,%rsi
shr    $0x15,%rdi
add    %rdx,%rdi
add    %rsi,%rdi
mov    %edx,%esi
xor    %ebx,%esi
xor    %edi,%esi
mov    0x18(%rsp),%rbp
add    %ebp,%ecx
add    %esi,%ecx
add    $0x6d9d6122,%ecx
mov    %rcx,%rsi
shl    $0x10,%rsi
shr    $0x10,%rcx
add    %rdi,%rcx
add    %rsi,%rcx
lea    (%r15,%rbx,1),%esi
mov    %edi,%ebx
xor    %edx,%ebx
xor    %ecx,%ebx
lea    (%rbx,%rsi,1),%ebp
add    $0xfde5380c,%ebp
mov    %rbp,%rsi
shl    $0x17,%rsi
shr    $0x9,%rbp
add    %rcx,%rbp
add    %rsi,%rbp
mov    %ecx,%esi
xor    %edi,%esi
xor    %ebp,%esi
mov    0x20(%rsp),%rbx
add    %ebx,%edx
add    %esi,%edx
add    $0xa4beea44,%edx
mov    %rdx,%rsi
shl    $0x4,%rsi
shr    $0x1c,%rdx
add    %rbp,%rdx
add    %rsi,%rdx
lea    (%r12,%rdi,1),%esi
mov    %r12,%r11
mov    %ebp,%edi
xor    %ecx,%edi
xor    %edx,%edi
add    %esi,%edi
add    $0x4bdecfa9,%edi
mov    %rdi,%rsi
shl    $0xb,%rsi
shr    $0x15,%rdi
add    %rdx,%rdi
add    %rsi,%rdi
mov    %edx,%esi
xor    %ebp,%esi
xor    %edi,%esi
add    %r9d,%ecx
mov    %r9,%r12
add    %esi,%ecx
add    $0xf6bb4b60,%ecx
mov    %rcx,%rsi
shl    $0x10,%rsi
shr    $0x10,%rcx
add    %rdi,%rcx
add    %rsi,%rcx
mov    0x30(%rsp),%r9
lea    (%r9,%rbp,1),%esi
mov    %edi,%ebx
xor    %edx,%ebx
xor    %ecx,%ebx
lea    (%rbx,%rsi,1),%ebp
add    $0xbebfbc70,%ebp
mov    %rbp,%rsi
shl    $0x17,%rsi
shr    $0x9,%rbp
add    %rcx,%rbp
add    %rsi,%rbp
mov    %ecx,%esi
xor    %edi,%esi
xor    %ebp,%esi
add    %r13d,%edx
add    %esi,%edx
add    $0x289b7ec6,%edx
mov    %rdx,%rsi
shl    $0x4,%rsi
shr    $0x1c,%rdx
add    %rbp,%rdx
add    %rsi,%rdx
mov    0x58(%rsp),%rax
lea    (%rax,%rdi,1),%esi
mov    %ebp,%edi
xor    %ecx,%edi
xor    %edx,%edi
add    %esi,%edi
add    $0xeaa127fa,%edi
mov    %rdi,%rsi
shl    $0xb,%rsi
shr    $0x15,%rdi
add    %rdx,%rdi
add    %rsi,%rdi
mov    %edx,%esi
xor    %ebp,%esi
xor    %edi,%esi
add    %r8d,%ecx
mov    %r8,%r13
add    %esi,%ecx
add    $0xd4ef3085,%ecx
mov    %rcx,%rsi
shl    $0x10,%rsi
shr    $0x10,%rcx
add    %rdi,%rcx
add    %rsi,%rcx
mov    0x40(%rsp),%r15
lea    (%r15,%rbp,1),%esi
mov    %edi,%ebx
xor    %edx,%ebx
xor    %ecx,%ebx
add    %esi,%ebx
add    $0x4881d05,%ebx
mov    %rbx,%rsi
shl    $0x17,%rsi
shr    $0x9,%rbx
add    %rcx,%rbx
add    %rsi,%rbx
mov    %ecx,%esi
xor    %edi,%esi
xor    %ebx,%esi
mov    0x10(%rsp),%rbp
add    %ebp,%edx
lea    (%rsi,%rdx,1),%ebp
add    $0xd9d4d039,%ebp
mov    %rbp,%rdx
shl    $0x4,%rdx
shr    $0x1c,%rbp
add    %rbx,%rbp
add    %rdx,%rbp
mov    %r14,%r8
lea    (%r14,%rdi,1),%edx
mov    %ebx,%esi
xor    %ecx,%esi
xor    %ebp,%esi
lea    (%rsi,%rdx,1),%edi
add    $0xe6db99e5,%edi
mov    %rdi,%rdx
shl    $0xb,%rdx
shr    $0x15,%rdi
add    %rbp,%rdi
add    %rdx,%rdi
mov    %ebp,%edx
xor    %ebx,%edx
xor    %edi,%edx
mov    0x68(%rsp),%r14
add    %r14d,%ecx
add    %ecx,%edx
add    $0x1fa27cf8,%edx
mov    %rdx,%rcx
shl    $0x10,%rcx
shr    $0x10,%rdx
add    %rdi,%rdx
add    %rcx,%rdx
lea    (%r10,%rbx,1),%ecx
mov    %edi,%esi
xor    %ebp,%esi
xor    %edx,%esi
add    %esi,%ecx
add    $0xc4ac5665,%ecx
mov    %rcx,%rsi
shl    $0x17,%rsi
shr    $0x9,%rcx
add    %rdx,%rcx
add    %rsi,%rcx
mov    %rax,%rsi
add    %ebp,%esi
add    %edi,%r12d
not    %edi
or     %ecx,%edi
xor    %edx,%edi
add    %esi,%edi
add    $0xf4292244,%edi
mov    %rdi,%rsi
shl    $0x6,%rsi
shr    $0x1a,%rdi
add    %rcx,%rdi
add    %rsi,%rdi
mov    0x28(%rsp),%rbp
add    %edx,%ebp
not    %edx
or     %edi,%edx
xor    %ecx,%edx
add    %r12d,%edx
add    $0x432aff97,%edx
mov    %rdx,%rsi
shl    $0xa,%rsi
shr    $0x16,%rdx
add    %rdi,%rdx
add    %rsi,%rdx
mov    0x38(%rsp),%rsi
add    %ecx,%esi
not    %ecx
or     %edx,%ecx
xor    %edi,%ecx
add    %ecx,%ebp
add    $0xab9423a7,%ebp
mov    %rbp,%rcx
shl    $0xf,%rcx
shr    $0x11,%rbp
add    %rdx,%rbp
add    %rcx,%rbp
add    %edi,%r8d
not    %edi
or     %ebp,%edi
xor    %edx,%edi
lea    (%rdi,%rsi,1),%ecx
add    $0xfc93a039,%ecx
mov    %rcx,%rsi
shl    $0x15,%rsi
shr    $0xb,%rcx
add    %rbp,%rcx
add    %rsi,%rcx
add    %edx,%r13d
not    %edx
or     %ecx,%edx
xor    %ebp,%edx
add    %r8d,%edx
add    $0x655b59c3,%edx
mov    %rdx,%rsi
shl    $0x6,%rsi
shr    $0x1a,%rdx
add    %rcx,%rdx
add    %rsi,%rdx
add    %ebp,%r9d
not    %ebp
or     %edx,%ebp
xor    %ecx,%ebp
lea    -0x70f3336e(%rbp,%r13,1),%edi
8f
mov    %rdi,%rsi
shl    $0xa,%rsi
shr    $0x16,%rdi
add    %rdx,%rdi
add    %rsi,%rdi
mov    $0x85845dd1,%ebp
add    0x20(%rsp),%ebp
add    %ecx,%ebp
not    %ecx
or     %edi,%ecx
xor    %edx,%ecx
lea    (%rcx,%r9,1),%ebx
add    $0xffeff47d,%ebx
mov    %rbx,%rcx
shl    $0xf,%rcx
shr    $0x11,%rbx
add    %rdi,%rbx
add    %rcx,%rbx
mov    0x8(%rsp),%rsi
add    %edx,%esi
mov    %edx,%ecx
not    %ecx
or     %ebx,%ecx
xor    %edi,%ecx
add    %ecx,%ebp
mov    %rbp,%rcx
shl    $0x15,%rcx
shr    $0xb,%rbp
add    %rbx,%rbp
add    %rcx,%rbp
mov    %r14,%rax
add    %edi,%eax
not    %edi
or     %ebp,%edi
xor    %ebx,%edi
lea    (%rdi,%rsi,1),%ecx
add    $0x6fa87e4f,%ecx
mov    %rcx,%rdx
shl    $0x6,%rdx
shr    $0x1a,%rcx
add    %rbp,%rcx
add    %rdx,%rcx
add    %ebx,%r15d
not    %ebx
or     %ecx,%ebx
xor    %ebp,%ebx
add    %ebx,%eax
add    $0xfe2ce6e0,%eax
mov    %rax,%rdx
shl    $0xa,%rdx
shr    $0x16,%rax
add    %rcx,%rax
add    %rdx,%rax
mov    (%rsp),%rbx
add    %ebp,%ebx
not    %ebp
or     %eax,%ebp
xor    %ecx,%ebp
lea    (%r15,%rbp,1),%edx
add    $0xa3014314,%edx
mov    %rdx,%rsi
shl    $0xf,%rsi
shr    $0x11,%rdx
add    %rax,%rdx
add    %rsi,%rdx
mov    %r11,%rdi
add    %ecx,%edi
not    %ecx
or     %edx,%ecx
xor    %eax,%ecx
add    %ebx,%ecx
add    $0x4e0811a1,%ecx
mov    %rcx,%rsi
shl    $0x15,%rsi
shr    $0xb,%rcx
add    %rdx,%rcx
add    %rsi,%rcx
mov    0x18(%rsp),%rbp
add    %eax,%ebp
not    %eax
or     %ecx,%eax
xor    %edx,%eax
add    %edi,%eax
add    $0xf7537e82,%eax
mov    %rax,%rsi
shl    $0x6,%rsi
shr    $0x1a,%rax
add    %rcx,%rax
add    %rsi,%rax
add    %edx,%r10d
not    %edx
or     %eax,%edx
xor    %ecx,%edx
add    %ebp,%edx
add    $0xbd3af235,%edx
mov    %rdx,%rsi
shl    $0xa,%rsi
shr    $0x16,%rdx
add    %rax,%rdx
add    %rsi,%rdx
mov    0x10(%rsp),%rbp
add    %ecx,%ebp
not    %ecx
or     %edx,%ecx
xor    %eax,%ecx
add    %r10d,%ecx
add    $0x2ad7d2bb,%ecx
mov    %rcx,%rsi
shl    $0xf,%rsi
shr    $0x11,%rcx
add    %rdx,%rcx
add    %rsi,%rcx
mov    %eax,%esi
not    %esi
or     %ecx,%esi
xor    %edx,%esi
add    %ebp,%esi
add    $0xeb86d391,%esi
add    0xa0(%rsp),%rax
mov    0x90(%rsp),%rdi
mov    %rax,(%rdi)
mov    %rsi,%rax
shr    $0xb,%rsi
mov    0x80(%rsp),%rbp
add    %rcx,%rbp
add    %rsi,%rbp
shl    $0x15,%rax
add    %rax,%rbp
mov    %rbp,0x8(%rdi)
add    0x88(%rsp),%rcx
mov    %rcx,0x10(%rdi)
add    0x98(%rsp),%rdx
mov    %rdx,0x18(%rdi)
add    $0xa8,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
define void @yasm_md5_transform(i64* %0, i8* %1) {
%3 = alloca i64*
%4 = alloca i8*
%5 = alloca i64
%6 = alloca i64
%7 = alloca i64
%8 = alloca i64
%9 = alloca [16 x i64]
%10 = alloca i32
store i64* %0, i64** %3
store i8* %1, i8** %4
store i32 0, i32* %10
br label %11
11: ; preds = %25, %2
%12 = load i32, i32* %10
%13 = icmp slt i32 %12, 16
br i1 %13, label %14, label %28
14: ; preds = %11
%15 = load i8*, i8** %4
%16 = load i32, i32* %10
%17 = mul nsw i32 4, %16
%18 = sext i32 %17 to i64
%19 = getelementptr inbounds i8, i8* %15, i64 %18
%20 = call i32 (i8*, ...) bitcast (i32 (...)* @getu32 to i32 (i8*, ...)*)(i8* %19)
%21 = sext i32 %20 to i64
%22 = load i32, i32* %10
%23 = sext i32 %22 to i64
%24 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 %23
store i64 %21, i64* %24
br label %25
25: ; preds = %14
%26 = load i32, i32* %10
%27 = add nsw i32 %26, 1
store i32 %27, i32* %10
br label %11
28: ; preds = %11
%29 = load i64*, i64** %3
%30 = getelementptr inbounds i64, i64* %29, i64 0
%31 = load i64, i64* %30
store i64 %31, i64* %5
%32 = load i64*, i64** %3
%33 = getelementptr inbounds i64, i64* %32, i64 1
%34 = load i64, i64* %33
store i64 %34, i64* %6
%35 = load i64*, i64** %3
%36 = getelementptr inbounds i64, i64* %35, i64 2
%37 = load i64, i64* %36
store i64 %37, i64* %7
%38 = load i64*, i64** %3
%39 = getelementptr inbounds i64, i64* %38, i64 3
%40 = load i64, i64* %39
store i64 %40, i64* %8
%41 = load i64, i64* %8
%42 = load i64, i64* %6
%43 = load i64, i64* %7
%44 = load i64, i64* %8
%45 = xor i64 %43, %44
%46 = and i64 %42, %45
%47 = xor i64 %41, %46
%48 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 0
%49 = load i64, i64* %48
%50 = add i64 %47, %49
%51 = add i64 %50, 3614090360
%52 = load i64, i64* %5
%53 = add i64 %52, %51
store i64 %53, i64* %5
%54 = load i64, i64* %5
%55 = and i64 %54, 4294967295
store i64 %55, i64* %5
%56 = load i64, i64* %5
%57 = shl i64 %56, 7
%58 = load i64, i64* %5
%59 = lshr i64 %58, 25
%60 = or i64 %57, %59
store i64 %60, i64* %5
%61 = load i64, i64* %6
%62 = load i64, i64* %5
%63 = add i64 %62, %61
store i64 %63, i64* %5
%64 = load i64, i64* %7
%65 = load i64, i64* %5
%66 = load i64, i64* %6
%67 = load i64, i64* %7
%68 = xor i64 %66, %67
%69 = and i64 %65, %68
%70 = xor i64 %64, %69
%71 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 1
%72 = load i64, i64* %71
%73 = add i64 %70, %72
%74 = add i64 %73, 3905402710
%75 = load i64, i64* %8
%76 = add i64 %75, %74
store i64 %76, i64* %8
%77 = load i64, i64* %8
%78 = and i64 %77, 4294967295
store i64 %78, i64* %8
%79 = load i64, i64* %8
%80 = shl i64 %79, 12
%81 = load i64, i64* %8
%82 = lshr i64 %81, 20
%83 = or i64 %80, %82
store i64 %83, i64* %8
%84 = load i64, i64* %5
%85 = load i64, i64* %8
%86 = add i64 %85, %84
store i64 %86, i64* %8
%87 = load i64, i64* %6
%88 = load i64, i64* %8
%89 = load i64, i64* %5
%90 = load i64, i64* %6
%91 = xor i64 %89, %90
%92 = and i64 %88, %91
%93 = xor i64 %87, %92
%94 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 2
%95 = load i64, i64* %94
%96 = add i64 %93, %95
%97 = add i64 %96, 606105819
%98 = load i64, i64* %7
%99 = add i64 %98, %97
store i64 %99, i64* %7
%100 = load i64, i64* %7
%101 = and i64 %100, 4294967295
store i64 %101, i64* %7
%102 = load i64, i64* %7
%103 = shl i64 %102, 17
%104 = load i64, i64* %7
%105 = lshr i64 %104, 15
%106 = or i64 %103, %105
store i64 %106, i64* %7
%107 = load i64, i64* %8
%108 = load i64, i64* %7
%109 = add i64 %108, %107
store i64 %109, i64* %7
%110 = load i64, i64* %5
%111 = load i64, i64* %7
%112 = load i64, i64* %8
%113 = load i64, i64* %5
%114 = xor i64 %112, %113
%115 = and i64 %111, %114
%116 = xor i64 %110, %115
%117 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 3
%118 = load i64, i64* %117
%119 = add i64 %116, %118
%120 = add i64 %119, 3250441966
%121 = load i64, i64* %6
%122 = add i64 %121, %120
store i64 %122, i64* %6
%123 = load i64, i64* %6
%124 = and i64 %123, 4294967295
store i64 %124, i64* %6
%125 = load i64, i64* %6
%126 = shl i64 %125, 22
%127 = load i64, i64* %6
%128 = lshr i64 %127, 10
%129 = or i64 %126, %128
store i64 %129, i64* %6
%130 = load i64, i64* %7
%131 = load i64, i64* %6
%132 = add i64 %131, %130
store i64 %132, i64* %6
%133 = load i64, i64* %8
%134 = load i64, i64* %6
%135 = load i64, i64* %7
%136 = load i64, i64* %8
%137 = xor i64 %135, %136
%138 = and i64 %134, %137
%139 = xor i64 %133, %138
%140 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 4
%141 = load i64, i64* %140
%142 = add i64 %139, %141
%143 = add i64 %142, 4118548399
%144 = load i64, i64* %5
%145 = add i64 %144, %143
store i64 %145, i64* %5
%146 = load i64, i64* %5
%147 = and i64 %146, 4294967295
store i64 %147, i64* %5
%148 = load i64, i64* %5
%149 = shl i64 %148, 7
%150 = load i64, i64* %5
%151 = lshr i64 %150, 25
%152 = or i64 %149, %151
store i64 %152, i64* %5
%153 = load i64, i64* %6
%154 = load i64, i64* %5
%155 = add i64 %154, %153
store i64 %155, i64* %5
%156 = load i64, i64* %7
%157 = load i64, i64* %5
%158 = load i64, i64* %6
%159 = load i64, i64* %7
%160 = xor i64 %158, %159
%161 = and i64 %157, %160
%162 = xor i64 %156, %161
%163 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 5
%164 = load i64, i64* %163
%165 = add i64 %162, %164
%166 = add i64 %165, 1200080426
%167 = load i64, i64* %8
%168 = add i64 %167, %166
store i64 %168, i64* %8
%169 = load i64, i64* %8
%170 = and i64 %169, 4294967295
store i64 %170, i64* %8
%171 = load i64, i64* %8
%172 = shl i64 %171, 12
%173 = load i64, i64* %8
%174 = lshr i64 %173, 20
%175 = or i64 %172, %174
store i64 %175, i64* %8
%176 = load i64, i64* %5
%177 = load i64, i64* %8
%178 = add i64 %177, %176
store i64 %178, i64* %8
%179 = load i64, i64* %6
%180 = load i64, i64* %8
%181 = load i64, i64* %5
%182 = load i64, i64* %6
%183 = xor i64 %181, %182
%184 = and i64 %180, %183
%185 = xor i64 %179, %184
%186 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 6
%187 = load i64, i64* %186
%188 = add i64 %185, %187
%189 = add i64 %188, 2821735955
%190 = load i64, i64* %7
%191 = add i64 %190, %189
store i64 %191, i64* %7
%192 = load i64, i64* %7
%193 = and i64 %192, 4294967295
store i64 %193, i64* %7
%194 = load i64, i64* %7
%195 = shl i64 %194, 17
%196 = load i64, i64* %7
%197 = lshr i64 %196, 15
%198 = or i64 %195, %197
store i64 %198, i64* %7
%199 = load i64, i64* %8
%200 = load i64, i64* %7
%201 = add i64 %200, %199
store i64 %201, i64* %7
%202 = load i64, i64* %5
%203 = load i64, i64* %7
%204 = load i64, i64* %8
%205 = load i64, i64* %5
%206 = xor i64 %204, %205
%207 = and i64 %203, %206
%208 = xor i64 %202, %207
%209 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 7
%210 = load i64, i64* %209
%211 = add i64 %208, %210
%212 = add i64 %211, 4249261313
%213 = load i64, i64* %6
%214 = add i64 %213, %212
store i64 %214, i64* %6
%215 = load i64, i64* %6
%216 = and i64 %215, 4294967295
store i64 %216, i64* %6
%217 = load i64, i64* %6
%218 = shl i64 %217, 22
%219 = load i64, i64* %6
%220 = lshr i64 %219, 10
%221 = or i64 %218, %220
store i64 %221, i64* %6
%222 = load i64, i64* %7
%223 = load i64, i64* %6
%224 = add i64 %223, %222
store i64 %224, i64* %6
%225 = load i64, i64* %8
%226 = load i64, i64* %6
%227 = load i64, i64* %7
%228 = load i64, i64* %8
%229 = xor i64 %227, %228
%230 = and i64 %226, %229
%231 = xor i64 %225, %230
%232 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 8
%233 = load i64, i64* %232
%234 = add i64 %231, %233
%235 = add i64 %234, 1770035416
%236 = load i64, i64* %5
%237 = add i64 %236, %235
store i64 %237, i64* %5
%238 = load i64, i64* %5
%239 = and i64 %238, 4294967295
store i64 %239, i64* %5
%240 = load i64, i64* %5
%241 = shl i64 %240, 7
%242 = load i64, i64* %5
%243 = lshr i64 %242, 25
%244 = or i64 %241, %243
store i64 %244, i64* %5
%245 = load i64, i64* %6
%246 = load i64, i64* %5
%247 = add i64 %246, %245
store i64 %247, i64* %5
%248 = load i64, i64* %7
%249 = load i64, i64* %5
%250 = load i64, i64* %6
%251 = load i64, i64* %7
%252 = xor i64 %250, %251
%253 = and i64 %249, %252
%254 = xor i64 %248, %253
%255 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 9
%256 = load i64, i64* %255
%257 = add i64 %254, %256
%258 = add i64 %257, 2336552879
%259 = load i64, i64* %8
%260 = add i64 %259, %258
store i64 %260, i64* %8
%261 = load i64, i64* %8
%262 = and i64 %261, 4294967295
store i64 %262, i64* %8
%263 = load i64, i64* %8
%264 = shl i64 %263, 12
%265 = load i64, i64* %8
%266 = lshr i64 %265, 20
%267 = or i64 %264, %266
store i64 %267, i64* %8
%268 = load i64, i64* %5
%269 = load i64, i64* %8
%270 = add i64 %269, %268
store i64 %270, i64* %8
%271 = load i64, i64* %6
%272 = load i64, i64* %8
%273 = load i64, i64* %5
%274 = load i64, i64* %6
%275 = xor i64 %273, %274
%276 = and i64 %272, %275
%277 = xor i64 %271, %276
%278 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 10
%279 = load i64, i64* %278
%280 = add i64 %277, %279
%281 = add i64 %280, 4294925233
%282 = load i64, i64* %7
%283 = add i64 %282, %281
store i64 %283, i64* %7
%284 = load i64, i64* %7
%285 = and i64 %284, 4294967295
store i64 %285, i64* %7
%286 = load i64, i64* %7
%287 = shl i64 %286, 17
%288 = load i64, i64* %7
%289 = lshr i64 %288, 15
%290 = or i64 %287, %289
store i64 %290, i64* %7
%291 = load i64, i64* %8
%292 = load i64, i64* %7
%293 = add i64 %292, %291
store i64 %293, i64* %7
%294 = load i64, i64* %5
%295 = load i64, i64* %7
%296 = load i64, i64* %8
%297 = load i64, i64* %5
%298 = xor i64 %296, %297
%299 = and i64 %295, %298
%300 = xor i64 %294, %299
%301 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 11
%302 = load i64, i64* %301
%303 = add i64 %300, %302
%304 = add i64 %303, 2304563134
%305 = load i64, i64* %6
%306 = add i64 %305, %304
store i64 %306, i64* %6
%307 = load i64, i64* %6
%308 = and i64 %307, 4294967295
store i64 %308, i64* %6
%309 = load i64, i64* %6
%310 = shl i64 %309, 22
%311 = load i64, i64* %6
%312 = lshr i64 %311, 10
%313 = or i64 %310, %312
store i64 %313, i64* %6
%314 = load i64, i64* %7
%315 = load i64, i64* %6
%316 = add i64 %315, %314
store i64 %316, i64* %6
%317 = load i64, i64* %8
%318 = load i64, i64* %6
%319 = load i64, i64* %7
%320 = load i64, i64* %8
%321 = xor i64 %319, %320
%322 = and i64 %318, %321
%323 = xor i64 %317, %322
%324 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 12
%325 = load i64, i64* %324
%326 = add i64 %323, %325
%327 = add i64 %326, 1804603682
%328 = load i64, i64* %5
%329 = add i64 %328, %327
store i64 %329, i64* %5
%330 = load i64, i64* %5
%331 = and i64 %330, 4294967295
store i64 %331, i64* %5
%332 = load i64, i64* %5
%333 = shl i64 %332, 7
%334 = load i64, i64* %5
%335 = lshr i64 %334, 25
%336 = or i64 %333, %335
store i64 %336, i64* %5
%337 = load i64, i64* %6
%338 = load i64, i64* %5
%339 = add i64 %338, %337
store i64 %339, i64* %5
%340 = load i64, i64* %7
%341 = load i64, i64* %5
%342 = load i64, i64* %6
%343 = load i64, i64* %7
%344 = xor i64 %342, %343
%345 = and i64 %341, %344
%346 = xor i64 %340, %345
%347 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 13
%348 = load i64, i64* %347
%349 = add i64 %346, %348
%350 = add i64 %349, 4254626195
%351 = load i64, i64* %8
%352 = add i64 %351, %350
store i64 %352, i64* %8
%353 = load i64, i64* %8
%354 = and i64 %353, 4294967295
store i64 %354, i64* %8
%355 = load i64, i64* %8
%356 = shl i64 %355, 12
%357 = load i64, i64* %8
%358 = lshr i64 %357, 20
%359 = or i64 %356, %358
store i64 %359, i64* %8
%360 = load i64, i64* %5
%361 = load i64, i64* %8
%362 = add i64 %361, %360
store i64 %362, i64* %8
%363 = load i64, i64* %6
%364 = load i64, i64* %8
%365 = load i64, i64* %5
%366 = load i64, i64* %6
%367 = xor i64 %365, %366
%368 = and i64 %364, %367
%369 = xor i64 %363, %368
%370 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 14
%371 = load i64, i64* %370
%372 = add i64 %369, %371
%373 = add i64 %372, 2792965006
%374 = load i64, i64* %7
%375 = add i64 %374, %373
store i64 %375, i64* %7
%376 = load i64, i64* %7
%377 = and i64 %376, 4294967295
store i64 %377, i64* %7
%378 = load i64, i64* %7
%379 = shl i64 %378, 17
%380 = load i64, i64* %7
%381 = lshr i64 %380, 15
%382 = or i64 %379, %381
store i64 %382, i64* %7
%383 = load i64, i64* %8
%384 = load i64, i64* %7
%385 = add i64 %384, %383
store i64 %385, i64* %7
%386 = load i64, i64* %5
%387 = load i64, i64* %7
%388 = load i64, i64* %8
%389 = load i64, i64* %5
%390 = xor i64 %388, %389
%391 = and i64 %387, %390
%392 = xor i64 %386, %391
%393 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 15
%394 = load i64, i64* %393
%395 = add i64 %392, %394
%396 = add i64 %395, 1236535329
%397 = load i64, i64* %6
%398 = add i64 %397, %396
store i64 %398, i64* %6
%399 = load i64, i64* %6
%400 = and i64 %399, 4294967295
store i64 %400, i64* %6
%401 = load i64, i64* %6
%402 = shl i64 %401, 22
%403 = load i64, i64* %6
%404 = lshr i64 %403, 10
%405 = or i64 %402, %404
store i64 %405, i64* %6
%406 = load i64, i64* %7
%407 = load i64, i64* %6
%408 = add i64 %407, %406
store i64 %408, i64* %6
%409 = load i64, i64* %7
%410 = load i64, i64* %8
%411 = load i64, i64* %6
%412 = load i64, i64* %7
%413 = xor i64 %411, %412
%414 = and i64 %410, %413
%415 = xor i64 %409, %414
%416 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 1
%417 = load i64, i64* %416
%418 = add i64 %415, %417
%419 = add i64 %418, 4129170786
%420 = load i64, i64* %5
%421 = add i64 %420, %419
store i64 %421, i64* %5
%422 = load i64, i64* %5
%423 = and i64 %422, 4294967295
store i64 %423, i64* %5
%424 = load i64, i64* %5
%425 = shl i64 %424, 5
%426 = load i64, i64* %5
%427 = lshr i64 %426, 27
%428 = or i64 %425, %427
store i64 %428, i64* %5
%429 = load i64, i64* %6
%430 = load i64, i64* %5
%431 = add i64 %430, %429
store i64 %431, i64* %5
%432 = load i64, i64* %6
%433 = load i64, i64* %7
%434 = load i64, i64* %5
%435 = load i64, i64* %6
%436 = xor i64 %434, %435
%437 = and i64 %433, %436
%438 = xor i64 %432, %437
%439 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 6
%440 = load i64, i64* %439
%441 = add i64 %438, %440
%442 = add i64 %441, 3225465664
%443 = load i64, i64* %8
%444 = add i64 %443, %442
store i64 %444, i64* %8
%445 = load i64, i64* %8
%446 = and i64 %445, 4294967295
store i64 %446, i64* %8
%447 = load i64, i64* %8
%448 = shl i64 %447, 9
%449 = load i64, i64* %8
%450 = lshr i64 %449, 23
%451 = or i64 %448, %450
store i64 %451, i64* %8
%452 = load i64, i64* %5
%453 = load i64, i64* %8
%454 = add i64 %453, %452
store i64 %454, i64* %8
%455 = load i64, i64* %5
%456 = load i64, i64* %6
%457 = load i64, i64* %8
%458 = load i64, i64* %5
%459 = xor i64 %457, %458
%460 = and i64 %456, %459
%461 = xor i64 %455, %460
%462 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 11
%463 = load i64, i64* %462
%464 = add i64 %461, %463
%465 = add i64 %464, 643717713
%466 = load i64, i64* %7
%467 = add i64 %466, %465
store i64 %467, i64* %7
%468 = load i64, i64* %7
%469 = and i64 %468, 4294967295
store i64 %469, i64* %7
%470 = load i64, i64* %7
%471 = shl i64 %470, 14
%472 = load i64, i64* %7
%473 = lshr i64 %472, 18
%474 = or i64 %471, %473
store i64 %474, i64* %7
%475 = load i64, i64* %8
%476 = load i64, i64* %7
%477 = add i64 %476, %475
store i64 %477, i64* %7
%478 = load i64, i64* %8
%479 = load i64, i64* %5
%480 = load i64, i64* %7
%481 = load i64, i64* %8
%482 = xor i64 %480, %481
%483 = and i64 %479, %482
%484 = xor i64 %478, %483
%485 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 0
%486 = load i64, i64* %485
%487 = add i64 %484, %486
%488 = add i64 %487, 3921069994
%489 = load i64, i64* %6
%490 = add i64 %489, %488
store i64 %490, i64* %6
%491 = load i64, i64* %6
%492 = and i64 %491, 4294967295
store i64 %492, i64* %6
%493 = load i64, i64* %6
%494 = shl i64 %493, 20
%495 = load i64, i64* %6
%496 = lshr i64 %495, 12
%497 = or i64 %494, %496
store i64 %497, i64* %6
%498 = load i64, i64* %7
%499 = load i64, i64* %6
%500 = add i64 %499, %498
store i64 %500, i64* %6
%501 = load i64, i64* %7
%502 = load i64, i64* %8
%503 = load i64, i64* %6
%504 = load i64, i64* %7
%505 = xor i64 %503, %504
%506 = and i64 %502, %505
%507 = xor i64 %501, %506
%508 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 5
%509 = load i64, i64* %508
%510 = add i64 %507, %509
%511 = add i64 %510, 3593408605
%512 = load i64, i64* %5
%513 = add i64 %512, %511
store i64 %513, i64* %5
%514 = load i64, i64* %5
%515 = and i64 %514, 4294967295
store i64 %515, i64* %5
%516 = load i64, i64* %5
%517 = shl i64 %516, 5
%518 = load i64, i64* %5
%519 = lshr i64 %518, 27
%520 = or i64 %517, %519
store i64 %520, i64* %5
%521 = load i64, i64* %6
%522 = load i64, i64* %5
%523 = add i64 %522, %521
store i64 %523, i64* %5
%524 = load i64, i64* %6
%525 = load i64, i64* %7
%526 = load i64, i64* %5
%527 = load i64, i64* %6
%528 = xor i64 %526, %527
%529 = and i64 %525, %528
%530 = xor i64 %524, %529
%531 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 10
%532 = load i64, i64* %531
%533 = add i64 %530, %532
%534 = add i64 %533, 38016083
%535 = load i64, i64* %8
%536 = add i64 %535, %534
store i64 %536, i64* %8
%537 = load i64, i64* %8
%538 = and i64 %537, 4294967295
store i64 %538, i64* %8
%539 = load i64, i64* %8
%540 = shl i64 %539, 9
%541 = load i64, i64* %8
%542 = lshr i64 %541, 23
%543 = or i64 %540, %542
store i64 %543, i64* %8
%544 = load i64, i64* %5
%545 = load i64, i64* %8
%546 = add i64 %545, %544
store i64 %546, i64* %8
%547 = load i64, i64* %5
%548 = load i64, i64* %6
%549 = load i64, i64* %8
%550 = load i64, i64* %5
%551 = xor i64 %549, %550
%552 = and i64 %548, %551
%553 = xor i64 %547, %552
%554 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 15
%555 = load i64, i64* %554
%556 = add i64 %553, %555
%557 = add i64 %556, 3634488961
%558 = load i64, i64* %7
%559 = add i64 %558, %557
store i64 %559, i64* %7
%560 = load i64, i64* %7
%561 = and i64 %560, 4294967295
store i64 %561, i64* %7
%562 = load i64, i64* %7
%563 = shl i64 %562, 14
%564 = load i64, i64* %7
%565 = lshr i64 %564, 18
%566 = or i64 %563, %565
store i64 %566, i64* %7
%567 = load i64, i64* %8
%568 = load i64, i64* %7
%569 = add i64 %568, %567
store i64 %569, i64* %7
%570 = load i64, i64* %8
%571 = load i64, i64* %5
%572 = load i64, i64* %7
%573 = load i64, i64* %8
%574 = xor i64 %572, %573
%575 = and i64 %571, %574
%576 = xor i64 %570, %575
%577 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 4
%578 = load i64, i64* %577
%579 = add i64 %576, %578
%580 = add i64 %579, 3889429448
%581 = load i64, i64* %6
%582 = add i64 %581, %580
store i64 %582, i64* %6
%583 = load i64, i64* %6
%584 = and i64 %583, 4294967295
store i64 %584, i64* %6
%585 = load i64, i64* %6
%586 = shl i64 %585, 20
%587 = load i64, i64* %6
%588 = lshr i64 %587, 12
%589 = or i64 %586, %588
store i64 %589, i64* %6
%590 = load i64, i64* %7
%591 = load i64, i64* %6
%592 = add i64 %591, %590
store i64 %592, i64* %6
%593 = load i64, i64* %7
%594 = load i64, i64* %8
%595 = load i64, i64* %6
%596 = load i64, i64* %7
%597 = xor i64 %595, %596
%598 = and i64 %594, %597
%599 = xor i64 %593, %598
%600 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 9
%601 = load i64, i64* %600
%602 = add i64 %599, %601
%603 = add i64 %602, 568446438
%604 = load i64, i64* %5
%605 = add i64 %604, %603
store i64 %605, i64* %5
%606 = load i64, i64* %5
%607 = and i64 %606, 4294967295
store i64 %607, i64* %5
%608 = load i64, i64* %5
%609 = shl i64 %608, 5
%610 = load i64, i64* %5
%611 = lshr i64 %610, 27
%612 = or i64 %609, %611
store i64 %612, i64* %5
%613 = load i64, i64* %6
%614 = load i64, i64* %5
%615 = add i64 %614, %613
store i64 %615, i64* %5
%616 = load i64, i64* %6
%617 = load i64, i64* %7
%618 = load i64, i64* %5
%619 = load i64, i64* %6
%620 = xor i64 %618, %619
%621 = and i64 %617, %620
%622 = xor i64 %616, %621
%623 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 14
%624 = load i64, i64* %623
%625 = add i64 %622, %624
%626 = add i64 %625, 3275163606
%627 = load i64, i64* %8
%628 = add i64 %627, %626
store i64 %628, i64* %8
%629 = load i64, i64* %8
%630 = and i64 %629, 4294967295
store i64 %630, i64* %8
%631 = load i64, i64* %8
%632 = shl i64 %631, 9
%633 = load i64, i64* %8
%634 = lshr i64 %633, 23
%635 = or i64 %632, %634
store i64 %635, i64* %8
%636 = load i64, i64* %5
%637 = load i64, i64* %8
%638 = add i64 %637, %636
store i64 %638, i64* %8
%639 = load i64, i64* %5
%640 = load i64, i64* %6
%641 = load i64, i64* %8
%642 = load i64, i64* %5
%643 = xor i64 %641, %642
%644 = and i64 %640, %643
%645 = xor i64 %639, %644
%646 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 3
%647 = load i64, i64* %646
%648 = add i64 %645, %647
%649 = add i64 %648, 4107603335
%650 = load i64, i64* %7
%651 = add i64 %650, %649
store i64 %651, i64* %7
%652 = load i64, i64* %7
%653 = and i64 %652, 4294967295
store i64 %653, i64* %7
%654 = load i64, i64* %7
%655 = shl i64 %654, 14
%656 = load i64, i64* %7
%657 = lshr i64 %656, 18
%658 = or i64 %655, %657
store i64 %658, i64* %7
%659 = load i64, i64* %8
%660 = load i64, i64* %7
%661 = add i64 %660, %659
store i64 %661, i64* %7
%662 = load i64, i64* %8
%663 = load i64, i64* %5
%664 = load i64, i64* %7
%665 = load i64, i64* %8
%666 = xor i64 %664, %665
%667 = and i64 %663, %666
%668 = xor i64 %662, %667
%669 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 8
%670 = load i64, i64* %669
%671 = add i64 %668, %670
%672 = add i64 %671, 1163531501
%673 = load i64, i64* %6
%674 = add i64 %673, %672
store i64 %674, i64* %6
%675 = load i64, i64* %6
%676 = and i64 %675, 4294967295
store i64 %676, i64* %6
%677 = load i64, i64* %6
%678 = shl i64 %677, 20
%679 = load i64, i64* %6
%680 = lshr i64 %679, 12
%681 = or i64 %678, %680
store i64 %681, i64* %6
%682 = load i64, i64* %7
%683 = load i64, i64* %6
%684 = add i64 %683, %682
store i64 %684, i64* %6
%685 = load i64, i64* %7
%686 = load i64, i64* %8
%687 = load i64, i64* %6
%688 = load i64, i64* %7
%689 = xor i64 %687, %688
%690 = and i64 %686, %689
%691 = xor i64 %685, %690
%692 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 13
%693 = load i64, i64* %692
%694 = add i64 %691, %693
%695 = add i64 %694, 2850285829
%696 = load i64, i64* %5
%697 = add i64 %696, %695
store i64 %697, i64* %5
%698 = load i64, i64* %5
%699 = and i64 %698, 4294967295
store i64 %699, i64* %5
%700 = load i64, i64* %5
%701 = shl i64 %700, 5
%702 = load i64, i64* %5
%703 = lshr i64 %702, 27
%704 = or i64 %701, %703
store i64 %704, i64* %5
%705 = load i64, i64* %6
%706 = load i64, i64* %5
%707 = add i64 %706, %705
store i64 %707, i64* %5
%708 = load i64, i64* %6
%709 = load i64, i64* %7
%710 = load i64, i64* %5
%711 = load i64, i64* %6
%712 = xor i64 %710, %711
%713 = and i64 %709, %712
%714 = xor i64 %708, %713
%715 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 2
%716 = load i64, i64* %715
%717 = add i64 %714, %716
%718 = add i64 %717, 4243563512
%719 = load i64, i64* %8
%720 = add i64 %719, %718
store i64 %720, i64* %8
%721 = load i64, i64* %8
%722 = and i64 %721, 4294967295
store i64 %722, i64* %8
%723 = load i64, i64* %8
%724 = shl i64 %723, 9
%725 = load i64, i64* %8
%726 = lshr i64 %725, 23
%727 = or i64 %724, %726
store i64 %727, i64* %8
%728 = load i64, i64* %5
%729 = load i64, i64* %8
%730 = add i64 %729, %728
store i64 %730, i64* %8
%731 = load i64, i64* %5
%732 = load i64, i64* %6
%733 = load i64, i64* %8
%734 = load i64, i64* %5
%735 = xor i64 %733, %734
%736 = and i64 %732, %735
%737 = xor i64 %731, %736
%738 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 7
%739 = load i64, i64* %738
%740 = add i64 %737, %739
%741 = add i64 %740, 1735328473
%742 = load i64, i64* %7
%743 = add i64 %742, %741
store i64 %743, i64* %7
%744 = load i64, i64* %7
%745 = and i64 %744, 4294967295
store i64 %745, i64* %7
%746 = load i64, i64* %7
%747 = shl i64 %746, 14
%748 = load i64, i64* %7
%749 = lshr i64 %748, 18
%750 = or i64 %747, %749
store i64 %750, i64* %7
%751 = load i64, i64* %8
%752 = load i64, i64* %7
%753 = add i64 %752, %751
store i64 %753, i64* %7
%754 = load i64, i64* %8
%755 = load i64, i64* %5
%756 = load i64, i64* %7
%757 = load i64, i64* %8
%758 = xor i64 %756, %757
%759 = and i64 %755, %758
%760 = xor i64 %754, %759
%761 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 12
%762 = load i64, i64* %761
%763 = add i64 %760, %762
%764 = add i64 %763, 2368359562
%765 = load i64, i64* %6
%766 = add i64 %765, %764
store i64 %766, i64* %6
%767 = load i64, i64* %6
%768 = and i64 %767, 4294967295
store i64 %768, i64* %6
%769 = load i64, i64* %6
%770 = shl i64 %769, 20
%771 = load i64, i64* %6
%772 = lshr i64 %771, 12
%773 = or i64 %770, %772
store i64 %773, i64* %6
%774 = load i64, i64* %7
%775 = load i64, i64* %6
%776 = add i64 %775, %774
store i64 %776, i64* %6
%777 = load i64, i64* %6
%778 = load i64, i64* %7
%779 = xor i64 %777, %778
%780 = load i64, i64* %8
%781 = xor i64 %779, %780
%782 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 5
%783 = load i64, i64* %782
%784 = add i64 %781, %783
%785 = add i64 %784, 4294588738
%786 = load i64, i64* %5
%787 = add i64 %786, %785
store i64 %787, i64* %5
%788 = load i64, i64* %5
%789 = and i64 %788, 4294967295
store i64 %789, i64* %5
%790 = load i64, i64* %5
%791 = shl i64 %790, 4
%792 = load i64, i64* %5
%793 = lshr i64 %792, 28
%794 = or i64 %791, %793
store i64 %794, i64* %5
%795 = load i64, i64* %6
%796 = load i64, i64* %5
%797 = add i64 %796, %795
store i64 %797, i64* %5
%798 = load i64, i64* %5
%799 = load i64, i64* %6
%800 = xor i64 %798, %799
%801 = load i64, i64* %7
%802 = xor i64 %800, %801
%803 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 8
%804 = load i64, i64* %803
%805 = add i64 %802, %804
%806 = add i64 %805, 2272392833
%807 = load i64, i64* %8
%808 = add i64 %807, %806
store i64 %808, i64* %8
%809 = load i64, i64* %8
%810 = and i64 %809, 4294967295
store i64 %810, i64* %8
%811 = load i64, i64* %8
%812 = shl i64 %811, 11
%813 = load i64, i64* %8
%814 = lshr i64 %813, 21
%815 = or i64 %812, %814
store i64 %815, i64* %8
%816 = load i64, i64* %5
%817 = load i64, i64* %8
%818 = add i64 %817, %816
store i64 %818, i64* %8
%819 = load i64, i64* %8
%820 = load i64, i64* %5
%821 = xor i64 %819, %820
%822 = load i64, i64* %6
%823 = xor i64 %821, %822
%824 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 11
%825 = load i64, i64* %824
%826 = add i64 %823, %825
%827 = add i64 %826, 1839030562
%828 = load i64, i64* %7
%829 = add i64 %828, %827
store i64 %829, i64* %7
%830 = load i64, i64* %7
%831 = and i64 %830, 4294967295
store i64 %831, i64* %7
%832 = load i64, i64* %7
%833 = shl i64 %832, 16
%834 = load i64, i64* %7
%835 = lshr i64 %834, 16
%836 = or i64 %833, %835
store i64 %836, i64* %7
%837 = load i64, i64* %8
%838 = load i64, i64* %7
%839 = add i64 %838, %837
store i64 %839, i64* %7
%840 = load i64, i64* %7
%841 = load i64, i64* %8
%842 = xor i64 %840, %841
%843 = load i64, i64* %5
%844 = xor i64 %842, %843
%845 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 14
%846 = load i64, i64* %845
%847 = add i64 %844, %846
%848 = add i64 %847, 4259657740
%849 = load i64, i64* %6
%850 = add i64 %849, %848
store i64 %850, i64* %6
%851 = load i64, i64* %6
%852 = and i64 %851, 4294967295
store i64 %852, i64* %6
%853 = load i64, i64* %6
%854 = shl i64 %853, 23
%855 = load i64, i64* %6
%856 = lshr i64 %855, 9
%857 = or i64 %854, %856
store i64 %857, i64* %6
%858 = load i64, i64* %7
%859 = load i64, i64* %6
%860 = add i64 %859, %858
store i64 %860, i64* %6
%861 = load i64, i64* %6
%862 = load i64, i64* %7
%863 = xor i64 %861, %862
%864 = load i64, i64* %8
%865 = xor i64 %863, %864
%866 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 1
%867 = load i64, i64* %866
%868 = add i64 %865, %867
%869 = add i64 %868, 2763975236
%870 = load i64, i64* %5
%871 = add i64 %870, %869
store i64 %871, i64* %5
%872 = load i64, i64* %5
%873 = and i64 %872, 4294967295
store i64 %873, i64* %5
%874 = load i64, i64* %5
%875 = shl i64 %874, 4
%876 = load i64, i64* %5
%877 = lshr i64 %876, 28
%878 = or i64 %875, %877
store i64 %878, i64* %5
%879 = load i64, i64* %6
%880 = load i64, i64* %5
%881 = add i64 %880, %879
store i64 %881, i64* %5
%882 = load i64, i64* %5
%883 = load i64, i64* %6
%884 = xor i64 %882, %883
%885 = load i64, i64* %7
%886 = xor i64 %884, %885
%887 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 4
%888 = load i64, i64* %887
%889 = add i64 %886, %888
%890 = add i64 %889, 1272893353
%891 = load i64, i64* %8
%892 = add i64 %891, %890
store i64 %892, i64* %8
%893 = load i64, i64* %8
%894 = and i64 %893, 4294967295
store i64 %894, i64* %8
%895 = load i64, i64* %8
%896 = shl i64 %895, 11
%897 = load i64, i64* %8
%898 = lshr i64 %897, 21
%899 = or i64 %896, %898
store i64 %899, i64* %8
%900 = load i64, i64* %5
%901 = load i64, i64* %8
%902 = add i64 %901, %900
store i64 %902, i64* %8
%903 = load i64, i64* %8
%904 = load i64, i64* %5
%905 = xor i64 %903, %904
%906 = load i64, i64* %6
%907 = xor i64 %905, %906
%908 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 7
%909 = load i64, i64* %908
%910 = add i64 %907, %909
%911 = add i64 %910, 4139469664
%912 = load i64, i64* %7
%913 = add i64 %912, %911
store i64 %913, i64* %7
%914 = load i64, i64* %7
%915 = and i64 %914, 4294967295
store i64 %915, i64* %7
%916 = load i64, i64* %7
%917 = shl i64 %916, 16
%918 = load i64, i64* %7
%919 = lshr i64 %918, 16
%920 = or i64 %917, %919
store i64 %920, i64* %7
%921 = load i64, i64* %8
%922 = load i64, i64* %7
%923 = add i64 %922, %921
store i64 %923, i64* %7
%924 = load i64, i64* %7
%925 = load i64, i64* %8
%926 = xor i64 %924, %925
%927 = load i64, i64* %5
%928 = xor i64 %926, %927
%929 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 10
%930 = load i64, i64* %929
%931 = add i64 %928, %930
%932 = add i64 %931, 3200236656
%933 = load i64, i64* %6
%934 = add i64 %933, %932
store i64 %934, i64* %6
%935 = load i64, i64* %6
%936 = and i64 %935, 4294967295
store i64 %936, i64* %6
%937 = load i64, i64* %6
%938 = shl i64 %937, 23
%939 = load i64, i64* %6
%940 = lshr i64 %939, 9
%941 = or i64 %938, %940
store i64 %941, i64* %6
%942 = load i64, i64* %7
%943 = load i64, i64* %6
%944 = add i64 %943, %942
store i64 %944, i64* %6
%945 = load i64, i64* %6
%946 = load i64, i64* %7
%947 = xor i64 %945, %946
%948 = load i64, i64* %8
%949 = xor i64 %947, %948
%950 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 13
%951 = load i64, i64* %950
%952 = add i64 %949, %951
%953 = add i64 %952, 681279174
%954 = load i64, i64* %5
%955 = add i64 %954, %953
store i64 %955, i64* %5
%956 = load i64, i64* %5
%957 = and i64 %956, 4294967295
store i64 %957, i64* %5
%958 = load i64, i64* %5
%959 = shl i64 %958, 4
%960 = load i64, i64* %5
%961 = lshr i64 %960, 28
%962 = or i64 %959, %961
store i64 %962, i64* %5
%963 = load i64, i64* %6
%964 = load i64, i64* %5
%965 = add i64 %964, %963
store i64 %965, i64* %5
%966 = load i64, i64* %5
%967 = load i64, i64* %6
%968 = xor i64 %966, %967
%969 = load i64, i64* %7
%970 = xor i64 %968, %969
%971 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 0
%972 = load i64, i64* %971
%973 = add i64 %970, %972
%974 = add i64 %973, 3936430074
%975 = load i64, i64* %8
%976 = add i64 %975, %974
store i64 %976, i64* %8
%977 = load i64, i64* %8
%978 = and i64 %977, 4294967295
store i64 %978, i64* %8
%979 = load i64, i64* %8
%980 = shl i64 %979, 11
%981 = load i64, i64* %8
%982 = lshr i64 %981, 21
%983 = or i64 %980, %982
store i64 %983, i64* %8
%984 = load i64, i64* %5
%985 = load i64, i64* %8
%986 = add i64 %985, %984
store i64 %986, i64* %8
%987 = load i64, i64* %8
%988 = load i64, i64* %5
%989 = xor i64 %987, %988
%990 = load i64, i64* %6
%991 = xor i64 %989, %990
%992 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 3
%993 = load i64, i64* %992
%994 = add i64 %991, %993
%995 = add i64 %994, 3572445317
%996 = load i64, i64* %7
%997 = add i64 %996, %995
store i64 %997, i64* %7
%998 = load i64, i64* %7
%999 = and i64 %998, 4294967295
store i64 %999, i64* %7
%1000 = load i64, i64* %7
%1001 = shl i64 %1000, 16
%1002 = load i64, i64* %7
%1003 = lshr i64 %1002, 16
%1004 = or i64 %1001, %1003
store i64 %1004, i64* %7
%1005 = load i64, i64* %8
%1006 = load i64, i64* %7
%1007 = add i64 %1006, %1005
store i64 %1007, i64* %7
%1008 = load i64, i64* %7
%1009 = load i64, i64* %8
%1010 = xor i64 %1008, %1009
%1011 = load i64, i64* %5
%1012 = xor i64 %1010, %1011
%1013 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 6
%1014 = load i64, i64* %1013
%1015 = add i64 %1012, %1014
%1016 = add i64 %1015, 76029189
%1017 = load i64, i64* %6
%1018 = add i64 %1017, %1016
store i64 %1018, i64* %6
%1019 = load i64, i64* %6
%1020 = and i64 %1019, 4294967295
store i64 %1020, i64* %6
%1021 = load i64, i64* %6
%1022 = shl i64 %1021, 23
%1023 = load i64, i64* %6
%1024 = lshr i64 %1023, 9
%1025 = or i64 %1022, %1024
store i64 %1025, i64* %6
%1026 = load i64, i64* %7
%1027 = load i64, i64* %6
%1028 = add i64 %1027, %1026
store i64 %1028, i64* %6
%1029 = load i64, i64* %6
%1030 = load i64, i64* %7
%1031 = xor i64 %1029, %1030
%1032 = load i64, i64* %8
%1033 = xor i64 %1031, %1032
%1034 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 9
%1035 = load i64, i64* %1034
%1036 = add i64 %1033, %1035
%1037 = add i64 %1036, 3654602809
%1038 = load i64, i64* %5
%1039 = add i64 %1038, %1037
store i64 %1039, i64* %5
%1040 = load i64, i64* %5
%1041 = and i64 %1040, 4294967295
store i64 %1041, i64* %5
%1042 = load i64, i64* %5
%1043 = shl i64 %1042, 4
%1044 = load i64, i64* %5
%1045 = lshr i64 %1044, 28
%1046 = or i64 %1043, %1045
store i64 %1046, i64* %5
%1047 = load i64, i64* %6
%1048 = load i64, i64* %5
%1049 = add i64 %1048, %1047
store i64 %1049, i64* %5
%1050 = load i64, i64* %5
%1051 = load i64, i64* %6
%1052 = xor i64 %1050, %1051
%1053 = load i64, i64* %7
%1054 = xor i64 %1052, %1053
%1055 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 12
%1056 = load i64, i64* %1055
%1057 = add i64 %1054, %1056
%1058 = add i64 %1057, 3873151461
%1059 = load i64, i64* %8
%1060 = add i64 %1059, %1058
store i64 %1060, i64* %8
%1061 = load i64, i64* %8
%1062 = and i64 %1061, 4294967295
store i64 %1062, i64* %8
%1063 = load i64, i64* %8
%1064 = shl i64 %1063, 11
%1065 = load i64, i64* %8
%1066 = lshr i64 %1065, 21
%1067 = or i64 %1064, %1066
store i64 %1067, i64* %8
%1068 = load i64, i64* %5
%1069 = load i64, i64* %8
%1070 = add i64 %1069, %1068
store i64 %1070, i64* %8
%1071 = load i64, i64* %8
%1072 = load i64, i64* %5
%1073 = xor i64 %1071, %1072
%1074 = load i64, i64* %6
%1075 = xor i64 %1073, %1074
%1076 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 15
%1077 = load i64, i64* %1076
%1078 = add i64 %1075, %1077
%1079 = add i64 %1078, 530742520
%1080 = load i64, i64* %7
%1081 = add i64 %1080, %1079
store i64 %1081, i64* %7
%1082 = load i64, i64* %7
%1083 = and i64 %1082, 4294967295
store i64 %1083, i64* %7
%1084 = load i64, i64* %7
%1085 = shl i64 %1084, 16
%1086 = load i64, i64* %7
%1087 = lshr i64 %1086, 16
%1088 = or i64 %1085, %1087
store i64 %1088, i64* %7
%1089 = load i64, i64* %8
%1090 = load i64, i64* %7
%1091 = add i64 %1090, %1089
store i64 %1091, i64* %7
%1092 = load i64, i64* %7
%1093 = load i64, i64* %8
%1094 = xor i64 %1092, %1093
%1095 = load i64, i64* %5
%1096 = xor i64 %1094, %1095
%1097 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 2
%1098 = load i64, i64* %1097
%1099 = add i64 %1096, %1098
%1100 = add i64 %1099, 3299628645
%1101 = load i64, i64* %6
%1102 = add i64 %1101, %1100
store i64 %1102, i64* %6
%1103 = load i64, i64* %6
%1104 = and i64 %1103, 4294967295
store i64 %1104, i64* %6
%1105 = load i64, i64* %6
%1106 = shl i64 %1105, 23
%1107 = load i64, i64* %6
%1108 = lshr i64 %1107, 9
%1109 = or i64 %1106, %1108
store i64 %1109, i64* %6
%1110 = load i64, i64* %7
%1111 = load i64, i64* %6
%1112 = add i64 %1111, %1110
store i64 %1112, i64* %6
%1113 = load i64, i64* %7
%1114 = load i64, i64* %6
%1115 = load i64, i64* %8
%1116 = xor i64 %1115, -1
%1117 = or i64 %1114, %1116
%1118 = xor i64 %1113, %1117
%1119 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 0
%1120 = load i64, i64* %1119
%1121 = add i64 %1118, %1120
%1122 = add i64 %1121, 4096336452
%1123 = load i64, i64* %5
%1124 = add i64 %1123, %1122
store i64 %1124, i64* %5
%1125 = load i64, i64* %5
%1126 = and i64 %1125, 4294967295
store i64 %1126, i64* %5
%1127 = load i64, i64* %5
%1128 = shl i64 %1127, 6
%1129 = load i64, i64* %5
%1130 = lshr i64 %1129, 26
%1131 = or i64 %1128, %1130
store i64 %1131, i64* %5
%1132 = load i64, i64* %6
%1133 = load i64, i64* %5
%1134 = add i64 %1133, %1132
store i64 %1134, i64* %5
%1135 = load i64, i64* %6
%1136 = load i64, i64* %5
%1137 = load i64, i64* %7
%1138 = xor i64 %1137, -1
%1139 = or i64 %1136, %1138
%1140 = xor i64 %1135, %1139
%1141 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 7
%1142 = load i64, i64* %1141
%1143 = add i64 %1140, %1142
%1144 = add i64 %1143, 1126891415
%1145 = load i64, i64* %8
%1146 = add i64 %1145, %1144
store i64 %1146, i64* %8
%1147 = load i64, i64* %8
%1148 = and i64 %1147, 4294967295
store i64 %1148, i64* %8
%1149 = load i64, i64* %8
%1150 = shl i64 %1149, 10
%1151 = load i64, i64* %8
%1152 = lshr i64 %1151, 22
%1153 = or i64 %1150, %1152
store i64 %1153, i64* %8
%1154 = load i64, i64* %5
%1155 = load i64, i64* %8
%1156 = add i64 %1155, %1154
store i64 %1156, i64* %8
%1157 = load i64, i64* %5
%1158 = load i64, i64* %8
%1159 = load i64, i64* %6
%1160 = xor i64 %1159, -1
%1161 = or i64 %1158, %1160
%1162 = xor i64 %1157, %1161
%1163 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 14
%1164 = load i64, i64* %1163
%1165 = add i64 %1162, %1164
%1166 = add i64 %1165, 2878612391
%1167 = load i64, i64* %7
%1168 = add i64 %1167, %1166
store i64 %1168, i64* %7
%1169 = load i64, i64* %7
%1170 = and i64 %1169, 4294967295
store i64 %1170, i64* %7
%1171 = load i64, i64* %7
%1172 = shl i64 %1171, 15
%1173 = load i64, i64* %7
%1174 = lshr i64 %1173, 17
%1175 = or i64 %1172, %1174
store i64 %1175, i64* %7
%1176 = load i64, i64* %8
%1177 = load i64, i64* %7
%1178 = add i64 %1177, %1176
store i64 %1178, i64* %7
%1179 = load i64, i64* %8
%1180 = load i64, i64* %7
%1181 = load i64, i64* %5
%1182 = xor i64 %1181, -1
%1183 = or i64 %1180, %1182
%1184 = xor i64 %1179, %1183
%1185 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 5
%1186 = load i64, i64* %1185
%1187 = add i64 %1184, %1186
%1188 = add i64 %1187, 4237533241
%1189 = load i64, i64* %6
%1190 = add i64 %1189, %1188
store i64 %1190, i64* %6
%1191 = load i64, i64* %6
%1192 = and i64 %1191, 4294967295
store i64 %1192, i64* %6
%1193 = load i64, i64* %6
%1194 = shl i64 %1193, 21
%1195 = load i64, i64* %6
%1196 = lshr i64 %1195, 11
%1197 = or i64 %1194, %1196
store i64 %1197, i64* %6
%1198 = load i64, i64* %7
%1199 = load i64, i64* %6
%1200 = add i64 %1199, %1198
store i64 %1200, i64* %6
%1201 = load i64, i64* %7
%1202 = load i64, i64* %6
%1203 = load i64, i64* %8
%1204 = xor i64 %1203, -1
%1205 = or i64 %1202, %1204
%1206 = xor i64 %1201, %1205
%1207 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 12
%1208 = load i64, i64* %1207
%1209 = add i64 %1206, %1208
%1210 = add i64 %1209, 1700485571
%1211 = load i64, i64* %5
%1212 = add i64 %1211, %1210
store i64 %1212, i64* %5
%1213 = load i64, i64* %5
%1214 = and i64 %1213, 4294967295
store i64 %1214, i64* %5
%1215 = load i64, i64* %5
%1216 = shl i64 %1215, 6
%1217 = load i64, i64* %5
%1218 = lshr i64 %1217, 26
%1219 = or i64 %1216, %1218
store i64 %1219, i64* %5
%1220 = load i64, i64* %6
%1221 = load i64, i64* %5
%1222 = add i64 %1221, %1220
store i64 %1222, i64* %5
%1223 = load i64, i64* %6
%1224 = load i64, i64* %5
%1225 = load i64, i64* %7
%1226 = xor i64 %1225, -1
%1227 = or i64 %1224, %1226
%1228 = xor i64 %1223, %1227
%1229 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 3
%1230 = load i64, i64* %1229
%1231 = add i64 %1228, %1230
%1232 = add i64 %1231, 2399980690
%1233 = load i64, i64* %8
%1234 = add i64 %1233, %1232
store i64 %1234, i64* %8
%1235 = load i64, i64* %8
%1236 = and i64 %1235, 4294967295
store i64 %1236, i64* %8
%1237 = load i64, i64* %8
%1238 = shl i64 %1237, 10
%1239 = load i64, i64* %8
%1240 = lshr i64 %1239, 22
%1241 = or i64 %1238, %1240
store i64 %1241, i64* %8
%1242 = load i64, i64* %5
%1243 = load i64, i64* %8
%1244 = add i64 %1243, %1242
store i64 %1244, i64* %8
%1245 = load i64, i64* %5
%1246 = load i64, i64* %8
%1247 = load i64, i64* %6
%1248 = xor i64 %1247, -1
%1249 = or i64 %1246, %1248
%1250 = xor i64 %1245, %1249
%1251 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 10
%1252 = load i64, i64* %1251
%1253 = add i64 %1250, %1252
%1254 = add i64 %1253, 4293915773
%1255 = load i64, i64* %7
%1256 = add i64 %1255, %1254
store i64 %1256, i64* %7
%1257 = load i64, i64* %7
%1258 = and i64 %1257, 4294967295
store i64 %1258, i64* %7
%1259 = load i64, i64* %7
%1260 = shl i64 %1259, 15
%1261 = load i64, i64* %7
%1262 = lshr i64 %1261, 17
%1263 = or i64 %1260, %1262
store i64 %1263, i64* %7
%1264 = load i64, i64* %8
%1265 = load i64, i64* %7
%1266 = add i64 %1265, %1264
store i64 %1266, i64* %7
%1267 = load i64, i64* %8
%1268 = load i64, i64* %7
%1269 = load i64, i64* %5
%1270 = xor i64 %1269, -1
%1271 = or i64 %1268, %1270
%1272 = xor i64 %1267, %1271
%1273 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 1
%1274 = load i64, i64* %1273
%1275 = add i64 %1272, %1274
%1276 = add i64 %1275, 2240044497
%1277 = load i64, i64* %6
%1278 = add i64 %1277, %1276
store i64 %1278, i64* %6
%1279 = load i64, i64* %6
%1280 = and i64 %1279, 4294967295
store i64 %1280, i64* %6
%1281 = load i64, i64* %6
%1282 = shl i64 %1281, 21
%1283 = load i64, i64* %6
%1284 = lshr i64 %1283, 11
%1285 = or i64 %1282, %1284
store i64 %1285, i64* %6
%1286 = load i64, i64* %7
%1287 = load i64, i64* %6
%1288 = add i64 %1287, %1286
store i64 %1288, i64* %6
%1289 = load i64, i64* %7
%1290 = load i64, i64* %6
%1291 = load i64, i64* %8
%1292 = xor i64 %1291, -1
%1293 = or i64 %1290, %1292
%1294 = xor i64 %1289, %1293
%1295 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 8
%1296 = load i64, i64* %1295
%1297 = add i64 %1294, %1296
%1298 = add i64 %1297, 1873313359
%1299 = load i64, i64* %5
%1300 = add i64 %1299, %1298
store i64 %1300, i64* %5
%1301 = load i64, i64* %5
%1302 = and i64 %1301, 4294967295
store i64 %1302, i64* %5
%1303 = load i64, i64* %5
%1304 = shl i64 %1303, 6
%1305 = load i64, i64* %5
%1306 = lshr i64 %1305, 26
%1307 = or i64 %1304, %1306
store i64 %1307, i64* %5
%1308 = load i64, i64* %6
%1309 = load i64, i64* %5
%1310 = add i64 %1309, %1308
store i64 %1310, i64* %5
%1311 = load i64, i64* %6
%1312 = load i64, i64* %5
%1313 = load i64, i64* %7
%1314 = xor i64 %1313, -1
%1315 = or i64 %1312, %1314
%1316 = xor i64 %1311, %1315
%1317 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 15
%1318 = load i64, i64* %1317
%1319 = add i64 %1316, %1318
%1320 = add i64 %1319, 4264355552
%1321 = load i64, i64* %8
%1322 = add i64 %1321, %1320
store i64 %1322, i64* %8
%1323 = load i64, i64* %8
%1324 = and i64 %1323, 4294967295
store i64 %1324, i64* %8
%1325 = load i64, i64* %8
%1326 = shl i64 %1325, 10
%1327 = load i64, i64* %8
%1328 = lshr i64 %1327, 22
%1329 = or i64 %1326, %1328
store i64 %1329, i64* %8
%1330 = load i64, i64* %5
%1331 = load i64, i64* %8
%1332 = add i64 %1331, %1330
store i64 %1332, i64* %8
%1333 = load i64, i64* %5
%1334 = load i64, i64* %8
%1335 = load i64, i64* %6
%1336 = xor i64 %1335, -1
%1337 = or i64 %1334, %1336
%1338 = xor i64 %1333, %1337
%1339 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 6
%1340 = load i64, i64* %1339
%1341 = add i64 %1338, %1340
%1342 = add i64 %1341, 2734768916
%1343 = load i64, i64* %7
%1344 = add i64 %1343, %1342
store i64 %1344, i64* %7
%1345 = load i64, i64* %7
%1346 = and i64 %1345, 4294967295
store i64 %1346, i64* %7
%1347 = load i64, i64* %7
%1348 = shl i64 %1347, 15
%1349 = load i64, i64* %7
%1350 = lshr i64 %1349, 17
%1351 = or i64 %1348, %1350
store i64 %1351, i64* %7
%1352 = load i64, i64* %8
%1353 = load i64, i64* %7
%1354 = add i64 %1353, %1352
store i64 %1354, i64* %7
%1355 = load i64, i64* %8
%1356 = load i64, i64* %7
%1357 = load i64, i64* %5
%1358 = xor i64 %1357, -1
%1359 = or i64 %1356, %1358
%1360 = xor i64 %1355, %1359
%1361 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 13
%1362 = load i64, i64* %1361
%1363 = add i64 %1360, %1362
%1364 = add i64 %1363, 1309151649
%1365 = load i64, i64* %6
%1366 = add i64 %1365, %1364
store i64 %1366, i64* %6
%1367 = load i64, i64* %6
%1368 = and i64 %1367, 4294967295
store i64 %1368, i64* %6
%1369 = load i64, i64* %6
%1370 = shl i64 %1369, 21
%1371 = load i64, i64* %6
%1372 = lshr i64 %1371, 11
%1373 = or i64 %1370, %1372
store i64 %1373, i64* %6
%1374 = load i64, i64* %7
%1375 = load i64, i64* %6
%1376 = add i64 %1375, %1374
store i64 %1376, i64* %6
%1377 = load i64, i64* %7
%1378 = load i64, i64* %6
%1379 = load i64, i64* %8
%1380 = xor i64 %1379, -1
%1381 = or i64 %1378, %1380
%1382 = xor i64 %1377, %1381
%1383 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 4
%1384 = load i64, i64* %1383
%1385 = add i64 %1382, %1384
%1386 = add i64 %1385, 4149444226
%1387 = load i64, i64* %5
%1388 = add i64 %1387, %1386
store i64 %1388, i64* %5
%1389 = load i64, i64* %5
%1390 = and i64 %1389, 4294967295
store i64 %1390, i64* %5
%1391 = load i64, i64* %5
%1392 = shl i64 %1391, 6
%1393 = load i64, i64* %5
%1394 = lshr i64 %1393, 26
%1395 = or i64 %1392, %1394
store i64 %1395, i64* %5
%1396 = load i64, i64* %6
%1397 = load i64, i64* %5
%1398 = add i64 %1397, %1396
store i64 %1398, i64* %5
%1399 = load i64, i64* %6
%1400 = load i64, i64* %5
%1401 = load i64, i64* %7
%1402 = xor i64 %1401, -1
%1403 = or i64 %1400, %1402
%1404 = xor i64 %1399, %1403
%1405 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 11
%1406 = load i64, i64* %1405
%1407 = add i64 %1404, %1406
%1408 = add i64 %1407, 3174756917
%1409 = load i64, i64* %8
%1410 = add i64 %1409, %1408
store i64 %1410, i64* %8
%1411 = load i64, i64* %8
%1412 = and i64 %1411, 4294967295
store i64 %1412, i64* %8
%1413 = load i64, i64* %8
%1414 = shl i64 %1413, 10
%1415 = load i64, i64* %8
%1416 = lshr i64 %1415, 22
%1417 = or i64 %1414, %1416
store i64 %1417, i64* %8
%1418 = load i64, i64* %5
%1419 = load i64, i64* %8
%1420 = add i64 %1419, %1418
store i64 %1420, i64* %8
%1421 = load i64, i64* %5
%1422 = load i64, i64* %8
%1423 = load i64, i64* %6
%1424 = xor i64 %1423, -1
%1425 = or i64 %1422, %1424
%1426 = xor i64 %1421, %1425
%1427 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 2
%1428 = load i64, i64* %1427
%1429 = add i64 %1426, %1428
%1430 = add i64 %1429, 718787259
%1431 = load i64, i64* %7
%1432 = add i64 %1431, %1430
store i64 %1432, i64* %7
%1433 = load i64, i64* %7
%1434 = and i64 %1433, 4294967295
store i64 %1434, i64* %7
%1435 = load i64, i64* %7
%1436 = shl i64 %1435, 15
%1437 = load i64, i64* %7
%1438 = lshr i64 %1437, 17
%1439 = or i64 %1436, %1438
store i64 %1439, i64* %7
%1440 = load i64, i64* %8
%1441 = load i64, i64* %7
%1442 = add i64 %1441, %1440
store i64 %1442, i64* %7
%1443 = load i64, i64* %8
%1444 = load i64, i64* %7
%1445 = load i64, i64* %5
%1446 = xor i64 %1445, -1
%1447 = or i64 %1444, %1446
%1448 = xor i64 %1443, %1447
%1449 = getelementptr inbounds [16 x i64], [16 x i64]* %9, i64 0, i64 9
%1450 = load i64, i64* %1449
%1451 = add i64 %1448, %1450
%1452 = add i64 %1451, 3951481745
%1453 = load i64, i64* %6
%1454 = add i64 %1453, %1452
store i64 %1454, i64* %6
%1455 = load i64, i64* %6
%1456 = and i64 %1455, 4294967295
store i64 %1456, i64* %6
%1457 = load i64, i64* %6
%1458 = shl i64 %1457, 21
%1459 = load i64, i64* %6
%1460 = lshr i64 %1459, 11
%1461 = or i64 %1458, %1460
store i64 %1461, i64* %6
%1462 = load i64, i64* %7
%1463 = load i64, i64* %6
%1464 = add i64 %1463, %1462
store i64 %1464, i64* %6
%1465 = load i64, i64* %5
%1466 = load i64*, i64** %3
%1467 = getelementptr inbounds i64, i64* %1466, i64 0
%1468 = load i64, i64* %1467
%1469 = add i64 %1468, %1465
store i64 %1469, i64* %1467
%1470 = load i64, i64* %6
%1471 = load i64*, i64** %3
%1472 = getelementptr inbounds i64, i64* %1471, i64 1
%1473 = load i64, i64* %1472
%1474 = add i64 %1473, %1470
store i64 %1474, i64* %1472
%1475 = load i64, i64* %7
%1476 = load i64*, i64** %3
%1477 = getelementptr inbounds i64, i64* %1476, i64 2
%1478 = load i64, i64* %1477
%1479 = add i64 %1478, %1475
store i64 %1479, i64* %1477
%1480 = load i64, i64* %8
%1481 = load i64*, i64** %3
%1482 = getelementptr inbounds i64, i64* %1481, i64 3
%1483 = load i64, i64* %1482
%1484 = add i64 %1483, %1480
store i64 %1484, i64* %1482
ret void
}

LLVM IR (-O2):
define void @yasm_md5_transform(i64* nocapture %0, i8* %1) {
%3 = tail call i32 (i8*, ...) bitcast (i32 (...)* @getu32 to i32 (i8*, ...)*)(i8* %1)
%4 = zext i32 %3 to i64
%5 = getelementptr inbounds i8, i8* %1, i64 4
%6 = tail call i32 (i8*, ...) bitcast (i32 (...)* @getu32 to i32 (i8*, ...)*)(i8* %5)
%7 = zext i32 %6 to i64
%8 = getelementptr inbounds i8, i8* %1, i64 8
%9 = tail call i32 (i8*, ...) bitcast (i32 (...)* @getu32 to i32 (i8*, ...)*)(i8* %8)
%10 = zext i32 %9 to i64
%11 = getelementptr inbounds i8, i8* %1, i64 12
%12 = tail call i32 (i8*, ...) bitcast (i32 (...)* @getu32 to i32 (i8*, ...)*)(i8* %11)
%13 = zext i32 %12 to i64
%14 = getelementptr inbounds i8, i8* %1, i64 16
%15 = tail call i32 (i8*, ...) bitcast (i32 (...)* @getu32 to i32 (i8*, ...)*)(i8* %14)
%16 = zext i32 %15 to i64
%17 = getelementptr inbounds i8, i8* %1, i64 20
%18 = tail call i32 (i8*, ...) bitcast (i32 (...)* @getu32 to i32 (i8*, ...)*)(i8* %17)
%19 = zext i32 %18 to i64
%20 = getelementptr inbounds i8, i8* %1, i64 24
%21 = tail call i32 (i8*, ...) bitcast (i32 (...)* @getu32 to i32 (i8*, ...)*)(i8* %20)
%22 = zext i32 %21 to i64
%23 = getelementptr inbounds i8, i8* %1, i64 28
%24 = tail call i32 (i8*, ...) bitcast (i32 (...)* @getu32 to i32 (i8*, ...)*)(i8* %23)
%25 = zext i32 %24 to i64
%26 = getelementptr inbounds i8, i8* %1, i64 32
%27 = tail call i32 (i8*, ...) bitcast (i32 (...)* @getu32 to i32 (i8*, ...)*)(i8* %26)
%28 = zext i32 %27 to i64
%29 = getelementptr inbounds i8, i8* %1, i64 36
%30 = tail call i32 (i8*, ...) bitcast (i32 (...)* @getu32 to i32 (i8*, ...)*)(i8* %29)
%31 = zext i32 %30 to i64
%32 = getelementptr inbounds i8, i8* %1, i64 40
%33 = tail call i32 (i8*, ...) bitcast (i32 (...)* @getu32 to i32 (i8*, ...)*)(i8* %32)
%34 = zext i32 %33 to i64
%35 = getelementptr inbounds i8, i8* %1, i64 44
%36 = tail call i32 (i8*, ...) bitcast (i32 (...)* @getu32 to i32 (i8*, ...)*)(i8* %35)
%37 = zext i32 %36 to i64
%38 = getelementptr inbounds i8, i8* %1, i64 48
%39 = tail call i32 (i8*, ...) bitcast (i32 (...)* @getu32 to i32 (i8*, ...)*)(i8* %38)
%40 = zext i32 %39 to i64
%41 = getelementptr inbounds i8, i8* %1, i64 52
%42 = tail call i32 (i8*, ...) bitcast (i32 (...)* @getu32 to i32 (i8*, ...)*)(i8* %41)
%43 = zext i32 %42 to i64
%44 = getelementptr inbounds i8, i8* %1, i64 56
%45 = tail call i32 (i8*, ...) bitcast (i32 (...)* @getu32 to i32 (i8*, ...)*)(i8* %44)
%46 = zext i32 %45 to i64
%47 = getelementptr inbounds i8, i8* %1, i64 60
%48 = tail call i32 (i8*, ...) bitcast (i32 (...)* @getu32 to i32 (i8*, ...)*)(i8* %47)
%49 = zext i32 %48 to i64
%50 = load i64, i64* %0
%51 = getelementptr inbounds i64, i64* %0, i64 1
%52 = load i64, i64* %51
%53 = getelementptr inbounds i64, i64* %0, i64 2
%54 = load i64, i64* %53
%55 = getelementptr inbounds i64, i64* %0, i64 3
%56 = load i64, i64* %55
%57 = xor i64 %56, %54
%58 = and i64 %57, %52
%59 = xor i64 %58, %56
%60 = add i64 %50, 3614090360
%61 = add i64 %60, %4
%62 = add i64 %61, %59
%63 = and i64 %62, 4294967295
%64 = shl nuw nsw i64 %63, 7
%65 = lshr i64 %63, 25
%66 = add i64 %65, %52
%67 = add i64 %66, %64
%68 = xor i64 %54, %52
%69 = and i64 %67, %68
%70 = xor i64 %69, %54
%71 = add i64 %56, 3905402710
%72 = add i64 %71, %7
%73 = add i64 %72, %70
%74 = and i64 %73, 4294967295
%75 = shl nuw nsw i64 %74, 12
%76 = lshr i64 %74, 20
%77 = add i64 %76, %67
%78 = add i64 %77, %75
%79 = xor i64 %67, %52
%80 = and i64 %78, %79
%81 = xor i64 %80, %52
%82 = add i64 %54, 606105819
%83 = add i64 %82, %10
%84 = add i64 %83, %81
%85 = and i64 %84, 4294967295
%86 = shl nuw nsw i64 %85, 17
%87 = lshr i64 %85, 15
%88 = add i64 %87, %78
%89 = add i64 %88, %86
%90 = xor i64 %78, %67
%91 = and i64 %89, %90
%92 = xor i64 %91, %67
%93 = add i64 %52, 3250441966
%94 = add i64 %93, %13
%95 = add i64 %94, %92
%96 = and i64 %95, 4294967295
%97 = shl nuw nsw i64 %96, 22
%98 = lshr i64 %96, 10
%99 = add i64 %98, %89
%100 = add i64 %99, %97
%101 = xor i64 %89, %78
%102 = and i64 %100, %101
%103 = xor i64 %102, %78
%104 = add nuw nsw i64 %16, 4118548399
%105 = add i64 %104, %67
%106 = add i64 %105, %103
%107 = and i64 %106, 4294967295
%108 = shl nuw nsw i64 %107, 7
%109 = lshr i64 %107, 25
%110 = add i64 %109, %100
%111 = add i64 %110, %108
%112 = xor i64 %100, %89
%113 = and i64 %111, %112
%114 = xor i64 %113, %89
%115 = add nuw nsw i64 %19, 1200080426
%116 = add i64 %115, %78
%117 = add i64 %116, %114
%118 = and i64 %117, 4294967295
%119 = shl nuw nsw i64 %118, 12
%120 = lshr i64 %118, 20
%121 = add i64 %120, %111
%122 = add i64 %121, %119
%123 = xor i64 %111, %100
%124 = and i64 %122, %123
%125 = xor i64 %124, %100
%126 = add nuw nsw i64 %22, 2821735955
%127 = add i64 %126, %89
%128 = add i64 %127, %125
%129 = and i64 %128, 4294967295
%130 = shl nuw nsw i64 %129, 17
%131 = lshr i64 %129, 15
%132 = add i64 %131, %122
%133 = add i64 %132, %130
%134 = xor i64 %122, %111
%135 = and i64 %133, %134
%136 = xor i64 %135, %111
%137 = add nuw nsw i64 %25, 4249261313
%138 = add i64 %137, %100
%139 = add i64 %138, %136
%140 = and i64 %139, 4294967295
%141 = shl nuw nsw i64 %140, 22
%142 = lshr i64 %140, 10
%143 = add i64 %142, %133
%144 = add i64 %143, %141
%145 = xor i64 %133, %122
%146 = and i64 %144, %145
%147 = xor i64 %146, %122
%148 = add nuw nsw i64 %28, 1770035416
%149 = add i64 %148, %111
%150 = add i64 %149, %147
%151 = and i64 %150, 4294967295
%152 = shl nuw nsw i64 %151, 7
%153 = lshr i64 %151, 25
%154 = add i64 %153, %144
%155 = add i64 %154, %152
%156 = xor i64 %144, %133
%157 = and i64 %155, %156
%158 = xor i64 %157, %133
%159 = add nuw nsw i64 %31, 2336552879
%160 = add i64 %159, %122
%161 = add i64 %160, %158
%162 = and i64 %161, 4294967295
%163 = shl nuw nsw i64 %162, 12
%164 = lshr i64 %162, 20
%165 = add i64 %164, %155
%166 = add i64 %165, %163
%167 = xor i64 %155, %144
%168 = and i64 %166, %167
%169 = xor i64 %168, %144
%170 = add nuw nsw i64 %34, 4294925233
%171 = add i64 %170, %133
%172 = add i64 %171, %169
%173 = and i64 %172, 4294967295
%174 = shl nuw nsw i64 %173, 17
%175 = lshr i64 %173, 15
%176 = add i64 %175, %166
%177 = add i64 %176, %174
%178 = xor i64 %166, %155
%179 = and i64 %177, %178
%180 = xor i64 %179, %155
%181 = add nuw nsw i64 %37, 2304563134
%182 = add i64 %181, %144
%183 = add i64 %182, %180
%184 = and i64 %183, 4294967295
%185 = shl nuw nsw i64 %184, 22
%186 = lshr i64 %184, 10
%187 = add i64 %186, %177
%188 = add i64 %187, %185
%189 = xor i64 %177, %166
%190 = and i64 %188, %189
%191 = xor i64 %190, %166
%192 = add nuw nsw i64 %40, 1804603682
%193 = add i64 %192, %155
%194 = add i64 %193, %191
%195 = and i64 %194, 4294967295
%196 = shl nuw nsw i64 %195, 7
%197 = lshr i64 %195, 25
%198 = add i64 %197, %188
%199 = add i64 %198, %196
%200 = xor i64 %188, %177
%201 = and i64 %199, %200
%202 = xor i64 %201, %177
%203 = add nuw nsw i64 %43, 4254626195
%204 = add i64 %203, %166
%205 = add i64 %204, %202
%206 = and i64 %205, 4294967295
%207 = shl nuw nsw i64 %206, 12
%208 = lshr i64 %206, 20
%209 = add i64 %208, %199
%210 = add i64 %209, %207
%211 = xor i64 %199, %188
%212 = and i64 %210, %211
%213 = xor i64 %212, %188
%214 = add nuw nsw i64 %46, 2792965006
%215 = add i64 %214, %177
%216 = add i64 %215, %213
%217 = and i64 %216, 4294967295
%218 = shl nuw nsw i64 %217, 17
%219 = lshr i64 %217, 15
%220 = add i64 %219, %210
%221 = add i64 %220, %218
%222 = xor i64 %210, %199
%223 = and i64 %221, %222
%224 = xor i64 %223, %199
%225 = add nuw nsw i64 %49, 1236535329
%226 = add i64 %225, %188
%227 = add i64 %226, %224
%228 = and i64 %227, 4294967295
%229 = shl nuw nsw i64 %228, 22
%230 = lshr i64 %228, 10
%231 = add i64 %230, %221
%232 = add i64 %231, %229
%233 = xor i64 %232, %221
%234 = and i64 %233, %210
%235 = xor i64 %234, %221
%236 = add nuw nsw i64 %7, 4129170786
%237 = add i64 %236, %199
%238 = add i64 %237, %235
%239 = and i64 %238, 4294967295
%240 = shl nuw nsw i64 %239, 5
%241 = lshr i64 %239, 27
%242 = add i64 %241, %232
%243 = add i64 %242, %240
%244 = xor i64 %243, %232
%245 = and i64 %244, %221
%246 = xor i64 %245, %232
%247 = add nuw nsw i64 %22, 3225465664
%248 = add i64 %247, %210
%249 = add i64 %248, %246
%250 = and i64 %249, 4294967295
%251 = shl nuw nsw i64 %250, 9
%252 = lshr i64 %250, 23
%253 = add i64 %252, %243
%254 = add i64 %253, %251
%255 = xor i64 %254, %243
%256 = and i64 %255, %232
%257 = xor i64 %256, %243
%258 = add nuw nsw i64 %37, 643717713
%259 = add i64 %258, %221
%260 = add i64 %259, %257
%261 = and i64 %260, 4294967295
%262 = shl nuw nsw i64 %261, 14
%263 = lshr i64 %261, 18
%264 = add i64 %263, %254
%265 = add i64 %264, %262
%266 = xor i64 %265, %254
%267 = and i64 %266, %243
%268 = xor i64 %267, %254
%269 = add nuw nsw i64 %4, 3921069994
%270 = add i64 %269, %232
%271 = add i64 %270, %268
%272 = and i64 %271, 4294967295
%273 = shl nuw nsw i64 %272, 20
%274 = lshr i64 %272, 12
%275 = add i64 %274, %265
%276 = add i64 %275, %273
%277 = xor i64 %276, %265
%278 = and i64 %277, %254
%279 = xor i64 %278, %265
%280 = add nuw nsw i64 %19, 3593408605
%281 = add i64 %280, %243
%282 = add i64 %281, %279
%283 = and i64 %282, 4294967295
%284 = shl nuw nsw i64 %283, 5
%285 = lshr i64 %283, 27
%286 = add i64 %285, %276
%287 = add i64 %286, %284
%288 = xor i64 %287, %276
%289 = and i64 %288, %265
%290 = xor i64 %289, %276
%291 = add nuw nsw i64 %34, 38016083
%292 = add i64 %291, %254
%293 = add i64 %292, %290
%294 = and i64 %293, 4294967295
%295 = shl nuw nsw i64 %294, 9
%296 = lshr i64 %294, 23
%297 = add i64 %296, %287
%298 = add i64 %297, %295
%299 = xor i64 %298, %287
%300 = and i64 %299, %276
%301 = xor i64 %300, %287
%302 = add nuw nsw i64 %49, 3634488961
%303 = add i64 %302, %265
%304 = add i64 %303, %301
%305 = and i64 %304, 4294967295
%306 = shl nuw nsw i64 %305, 14
%307 = lshr i64 %305, 18
%308 = add i64 %307, %298
%309 = add i64 %308, %306
%310 = xor i64 %309, %298
%311 = and i64 %310, %287
%312 = xor i64 %311, %298
%313 = add nuw nsw i64 %16, 3889429448
%314 = add i64 %313, %276
%315 = add i64 %314, %312
%316 = and i64 %315, 4294967295
%317 = shl nuw nsw i64 %316, 20
%318 = lshr i64 %316, 12
%319 = add i64 %318, %309
%320 = add i64 %319, %317
%321 = xor i64 %320, %309
%322 = and i64 %321, %298
%323 = xor i64 %322, %309
%324 = add nuw nsw i64 %31, 568446438
%325 = add i64 %324, %287
%326 = add i64 %325, %323
%327 = and i64 %326, 4294967295
%328 = shl nuw nsw i64 %327, 5
%329 = lshr i64 %327, 27
%330 = add i64 %329, %320
%331 = add i64 %330, %328
%332 = xor i64 %331, %320
%333 = and i64 %332, %309
%334 = xor i64 %333, %320
%335 = add nuw nsw i64 %46, 3275163606
%336 = add i64 %335, %298
%337 = add i64 %336, %334
%338 = and i64 %337, 4294967295
%339 = shl nuw nsw i64 %338, 9
%340 = lshr i64 %338, 23
%341 = add i64 %340, %331
%342 = add i64 %341, %339
%343 = xor i64 %342, %331
%344 = and i64 %343, %320
%345 = xor i64 %344, %331
%346 = add nuw nsw i64 %13, 4107603335
%347 = add i64 %346, %309
%348 = add i64 %347, %345
%349 = and i64 %348, 4294967295
%350 = shl nuw nsw i64 %349, 14
%351 = lshr i64 %349, 18
%352 = add i64 %351, %342
%353 = add i64 %352, %350
%354 = xor i64 %353, %342
%355 = and i64 %354, %331
%356 = xor i64 %355, %342
%357 = add nuw nsw i64 %28, 1163531501
%358 = add i64 %357, %320
%359 = add i64 %358, %356
%360 = and i64 %359, 4294967295
%361 = shl nuw nsw i64 %360, 20
%362 = lshr i64 %360, 12
%363 = add i64 %362, %353
%364 = add i64 %363, %361
%365 = xor i64 %364, %353
%366 = and i64 %365, %342
%367 = xor i64 %366, %353
%368 = add nuw nsw i64 %43, 2850285829
%369 = add i64 %368, %331
%370 = add i64 %369, %367
%371 = and i64 %370, 4294967295
%372 = shl nuw nsw i64 %371, 5
%373 = lshr i64 %371, 27
%374 = add i64 %373, %364
%375 = add i64 %374, %372
%376 = xor i64 %375, %364
%377 = and i64 %376, %353
%378 = xor i64 %377, %364
%379 = add nuw nsw i64 %10, 4243563512
%380 = add i64 %379, %342
%381 = add i64 %380, %378
%382 = and i64 %381, 4294967295
%383 = shl nuw nsw i64 %382, 9
%384 = lshr i64 %382, 23
%385 = add i64 %384, %375
%386 = add i64 %385, %383
%387 = xor i64 %386, %375
%388 = and i64 %387, %364
%389 = xor i64 %388, %375
%390 = add nuw nsw i64 %25, 1735328473
%391 = add i64 %390, %353
%392 = add i64 %391, %389
%393 = and i64 %392, 4294967295
%394 = shl nuw nsw i64 %393, 14
%395 = lshr i64 %393, 18
%396 = add i64 %395, %386
%397 = add i64 %396, %394
%398 = xor i64 %397, %386
%399 = and i64 %398, %375
%400 = xor i64 %399, %386
%401 = add nuw nsw i64 %40, 2368359562
%402 = add i64 %401, %364
%403 = add i64 %402, %400
%404 = and i64 %403, 4294967295
%405 = shl nuw nsw i64 %404, 20
%406 = lshr i64 %404, 12
%407 = add i64 %406, %397
%408 = add i64 %407, %405
%409 = xor i64 %398, %408
%410 = add nuw nsw i64 %19, 4294588738
%411 = add i64 %410, %375
%412 = add i64 %411, %409
%413 = and i64 %412, 4294967295
%414 = shl nuw nsw i64 %413, 4
%415 = lshr i64 %413, 28
%416 = add i64 %415, %408
%417 = add i64 %416, %414
%418 = xor i64 %408, %397
%419 = xor i64 %418, %417
%420 = add nuw nsw i64 %28, 2272392833
%421 = add i64 %420, %386
%422 = add i64 %421, %419
%423 = and i64 %422, 4294967295
%424 = shl nuw nsw i64 %423, 11
%425 = lshr i64 %423, 21
%426 = add i64 %425, %417
%427 = add i64 %426, %424
%428 = xor i64 %417, %408
%429 = xor i64 %428, %427
%430 = add nuw nsw i64 %37, 1839030562
%431 = add i64 %430, %397
%432 = add i64 %431, %429
%433 = and i64 %432, 4294967295
%434 = shl nuw nsw i64 %433, 16
%435 = lshr i64 %433, 16
%436 = add i64 %435, %427
%437 = add i64 %436, %434
%438 = xor i64 %427, %417
%439 = xor i64 %438, %437
%440 = add nuw nsw i64 %46, 4259657740
%441 = add i64 %440, %408
%442 = add i64 %441, %439
%443 = and i64 %442, 4294967295
%444 = shl nuw nsw i64 %443, 23
%445 = lshr i64 %443, 9
%446 = add i64 %445, %437
%447 = add i64 %446, %444
%448 = xor i64 %437, %427
%449 = xor i64 %448, %447
%450 = add nuw nsw i64 %7, 2763975236
%451 = add i64 %450, %417
%452 = add i64 %451, %449
%453 = and i64 %452, 4294967295
%454 = shl nuw nsw i64 %453, 4
%455 = lshr i64 %453, 28
%456 = add i64 %455, %447
%457 = add i64 %456, %454
%458 = xor i64 %447, %437
%459 = xor i64 %458, %457
%460 = add nuw nsw i64 %16, 1272893353
%461 = add i64 %460, %427
%462 = add i64 %461, %459
%463 = and i64 %462, 4294967295
%464 = shl nuw nsw i64 %463, 11
%465 = lshr i64 %463, 21
%466 = add i64 %465, %457
%467 = add i64 %466, %464
%468 = xor i64 %457, %447
%469 = xor i64 %468, %467
%470 = add nuw nsw i64 %25, 4139469664
%471 = add i64 %470, %437
%472 = add i64 %471, %469
%473 = and i64 %472, 4294967295
%474 = shl nuw nsw i64 %473, 16
%475 = lshr i64 %473, 16
%476 = add i64 %475, %467
%477 = add i64 %476, %474
%478 = xor i64 %467, %457
%479 = xor i64 %478, %477
%480 = add nuw nsw i64 %34, 3200236656
%481 = add i64 %480, %447
%482 = add i64 %481, %479
%483 = and i64 %482, 4294967295
%484 = shl nuw nsw i64 %483, 23
%485 = lshr i64 %483, 9
%486 = add i64 %485, %477
%487 = add i64 %486, %484
%488 = xor i64 %477, %467
%489 = xor i64 %488, %487
%490 = add nuw nsw i64 %43, 681279174
%491 = add i64 %490, %457
%492 = add i64 %491, %489
%493 = and i64 %492, 4294967295
%494 = shl nuw nsw i64 %493, 4
%495 = lshr i64 %493, 28
%496 = add i64 %495, %487
%497 = add i64 %496, %494
%498 = xor i64 %487, %477
%499 = xor i64 %498, %497
%500 = add nuw nsw i64 %4, 3936430074
%501 = add i64 %500, %467
%502 = add i64 %501, %499
%503 = and i64 %502, 4294967295
%504 = shl nuw nsw i64 %503, 11
%505 = lshr i64 %503, 21
%506 = add i64 %505, %497
%507 = add i64 %506, %504
%508 = xor i64 %497, %487
%509 = xor i64 %508, %507
%510 = add nuw nsw i64 %13, 3572445317
%511 = add i64 %510, %477
%512 = add i64 %511, %509
%513 = and i64 %512, 4294967295
%514 = shl nuw nsw i64 %513, 16
%515 = lshr i64 %513, 16
%516 = add i64 %515, %507
%517 = add i64 %516, %514
%518 = xor i64 %507, %497
%519 = xor i64 %518, %517
%520 = add nuw nsw i64 %22, 76029189
%521 = add i64 %520, %487
%522 = add i64 %521, %519
%523 = and i64 %522, 4294967295
%524 = shl nuw nsw i64 %523, 23
%525 = lshr i64 %523, 9
%526 = add i64 %525, %517
%527 = add i64 %526, %524
%528 = xor i64 %517, %507
%529 = xor i64 %528, %527
%530 = add nuw nsw i64 %31, 3654602809
%531 = add i64 %530, %497
%532 = add i64 %531, %529
%533 = and i64 %532, 4294967295
%534 = shl nuw nsw i64 %533, 4
%535 = lshr i64 %533, 28
%536 = add i64 %535, %527
%537 = add i64 %536, %534
%538 = xor i64 %527, %517
%539 = xor i64 %538, %537
%540 = add nuw nsw i64 %40, 3873151461
%541 = add i64 %540, %507
%542 = add i64 %541, %539
%543 = and i64 %542, 4294967295
%544 = shl nuw nsw i64 %543, 11
%545 = lshr i64 %543, 21
%546 = add i64 %545, %537
%547 = add i64 %546, %544
%548 = xor i64 %537, %527
%549 = xor i64 %548, %547
%550 = add nuw nsw i64 %49, 530742520
%551 = add i64 %550, %517
%552 = add i64 %551, %549
%553 = and i64 %552, 4294967295
%554 = shl nuw nsw i64 %553, 16
%555 = lshr i64 %553, 16
%556 = add i64 %555, %547
%557 = add i64 %556, %554
%558 = xor i64 %547, %537
%559 = xor i64 %558, %557
%560 = add nuw nsw i64 %10, 3299628645
%561 = add i64 %560, %527
%562 = add i64 %561, %559
%563 = and i64 %562, 4294967295
%564 = shl nuw nsw i64 %563, 23
%565 = lshr i64 %563, 9
%566 = add i64 %565, %557
%567 = add i64 %566, %564
%568 = xor i64 %547, -1
%569 = or i64 %567, %568
%570 = xor i64 %569, %557
%571 = add nuw nsw i64 %4, 4096336452
%572 = add i64 %571, %537
%573 = add i64 %572, %570
%574 = and i64 %573, 4294967295
%575 = shl nuw nsw i64 %574, 6
%576 = lshr i64 %574, 26
%577 = add i64 %576, %567
%578 = add i64 %577, %575
%579 = xor i64 %557, -1
%580 = or i64 %578, %579
%581 = xor i64 %580, %567
%582 = add nuw nsw i64 %25, 1126891415
%583 = add i64 %582, %547
%584 = add i64 %583, %581
%585 = and i64 %584, 4294967295
%586 = shl nuw nsw i64 %585, 10
%587 = lshr i64 %585, 22
%588 = add i64 %587, %578
%589 = add i64 %588, %586
%590 = xor i64 %567, -1
%591 = or i64 %589, %590
%592 = xor i64 %591, %578
%593 = add nuw nsw i64 %46, 2878612391
%594 = add i64 %593, %557
%595 = add i64 %594, %592
%596 = and i64 %595, 4294967295
%597 = shl nuw nsw i64 %596, 15
%598 = lshr i64 %596, 17
%599 = add i64 %598, %589
%600 = add i64 %599, %597
%601 = xor i64 %578, -1
%602 = or i64 %600, %601
%603 = xor i64 %602, %589
%604 = add nuw nsw i64 %19, 4237533241
%605 = add i64 %604, %567
%606 = add i64 %605, %603
%607 = and i64 %606, 4294967295
%608 = shl nuw nsw i64 %607, 21
%609 = lshr i64 %607, 11
%610 = add i64 %609, %600
%611 = add i64 %610, %608
%612 = xor i64 %589, -1
%613 = or i64 %611, %612
%614 = xor i64 %613, %600
%615 = add nuw nsw i64 %40, 1700485571
%616 = add i64 %615, %578
%617 = add i64 %616, %614
%618 = and i64 %617, 4294967295
%619 = shl nuw nsw i64 %618, 6
%620 = lshr i64 %618, 26
%621 = add i64 %620, %611
%622 = add i64 %621, %619
%623 = xor i64 %600, -1
%624 = or i64 %622, %623
%625 = xor i64 %624, %611
%626 = add nuw nsw i64 %13, 2399980690
%627 = add i64 %626, %589
%628 = add i64 %627, %625
%629 = and i64 %628, 4294967295
%630 = shl nuw nsw i64 %629, 10
%631 = lshr i64 %629, 22
%632 = add i64 %631, %622
%633 = add i64 %632, %630
%634 = xor i64 %611, -1
%635 = or i64 %633, %634
%636 = xor i64 %635, %622
%637 = add nuw nsw i64 %34, 4293915773
%638 = add i64 %637, %600
%639 = add i64 %638, %636
%640 = and i64 %639, 4294967295
%641 = shl nuw nsw i64 %640, 15
%642 = lshr i64 %640, 17
%643 = add i64 %642, %633
%644 = add i64 %643, %641
%645 = xor i64 %622, -1
%646 = or i64 %644, %645
%647 = xor i64 %646, %633
%648 = add nuw nsw i64 %7, 2240044497
%649 = add i64 %648, %611
%650 = add i64 %649, %647
%651 = and i64 %650, 4294967295
%652 = shl nuw nsw i64 %651, 21
%653 = lshr i64 %651, 11
%654 = add i64 %653, %644
%655 = add i64 %654, %652
%656 = xor i64 %633, -1
%657 = or i64 %655, %656
%658 = xor i64 %657, %644
%659 = add nuw nsw i64 %28, 1873313359
%660 = add i64 %659, %622
%661 = add i64 %660, %658
%662 = and i64 %661, 4294967295
%663 = shl nuw nsw i64 %662, 6
%664 = lshr i64 %662, 26
%665 = add i64 %664, %655
%666 = add i64 %665, %663
%667 = xor i64 %644, -1
%668 = or i64 %666, %667
%669 = xor i64 %668, %655
%670 = add nuw nsw i64 %49, 4264355552
%671 = add i64 %670, %633
%672 = add i64 %671, %669
%673 = and i64 %672, 4294967295
%674 = shl nuw nsw i64 %673, 10
%675 = lshr i64 %673, 22
%676 = add i64 %675, %666
%677 = add i64 %676, %674
%678 = xor i64 %655, -1
%679 = or i64 %677, %678
%680 = xor i64 %679, %666
%681 = add nuw nsw i64 %22, 2734768916
%682 = add i64 %681, %644
%683 = add i64 %682, %680
%684 = and i64 %683, 4294967295
%685 = shl nuw nsw i64 %684, 15
%686 = lshr i64 %684, 17
%687 = add i64 %686, %677
%688 = add i64 %687, %685
%689 = xor i64 %666, -1
%690 = or i64 %688, %689
%691 = xor i64 %690, %677
%692 = add nuw nsw i64 %43, 1309151649
%693 = add i64 %692, %655
%694 = add i64 %693, %691
%695 = and i64 %694, 4294967295
%696 = shl nuw nsw i64 %695, 21
%697 = lshr i64 %695, 11
%698 = add i64 %697, %688
%699 = add i64 %698, %696
%700 = xor i64 %677, -1
%701 = or i64 %699, %700
%702 = xor i64 %701, %688
%703 = add nuw nsw i64 %16, 4149444226
%704 = add i64 %703, %666
%705 = add i64 %704, %702
%706 = and i64 %705, 4294967295
%707 = shl nuw nsw i64 %706, 6
%708 = lshr i64 %706, 26
%709 = add i64 %708, %699
%710 = add i64 %709, %707
%711 = xor i64 %688, -1
%712 = or i64 %710, %711
%713 = xor i64 %712, %699
%714 = add nuw nsw i64 %37, 3174756917
%715 = add i64 %714, %677
%716 = add i64 %715, %713
%717 = and i64 %716, 4294967295
%718 = shl nuw nsw i64 %717, 10
%719 = lshr i64 %717, 22
%720 = add i64 %719, %710
%721 = add i64 %720, %718
%722 = xor i64 %699, -1
%723 = or i64 %721, %722
%724 = xor i64 %723, %710
%725 = add nuw nsw i64 %10, 718787259
%726 = add i64 %725, %688
%727 = add i64 %726, %724
%728 = and i64 %727, 4294967295
%729 = shl nuw nsw i64 %728, 15
%730 = lshr i64 %728, 17
%731 = add i64 %730, %721
%732 = add i64 %731, %729
%733 = xor i64 %710, -1
%734 = or i64 %732, %733
%735 = xor i64 %734, %721
%736 = add nuw nsw i64 %31, 3951481745
%737 = add i64 %736, %699
%738 = add i64 %737, %735
%739 = and i64 %738, 4294967295
%740 = shl nuw nsw i64 %739, 21
%741 = lshr i64 %739, 11
%742 = add i64 %710, %50
store i64 %742, i64* %0
%743 = add i64 %732, %52
%744 = add i64 %743, %741
%745 = add i64 %744, %740
store i64 %745, i64* %51
%746 = add i64 %732, %54
store i64 %746, i64* %53
%747 = add i64 %721, %56
store i64 %747, i64* %55
ret void
}