// File: /workspace/github_c_makefile_star2_O1/jogolden[P]ps4flashtool/sha1.c
// Function: sha1_process_block
void
sha1_process_block (const void *buffer, size_t len, struct sha1_ctx *ctx)
{
  const uint32_t *words = (const uint32_t*)buffer;
  size_t nwords = len / sizeof (uint32_t);
  const uint32_t *endp = words + nwords;
  uint32_t x[16];
  uint32_t a = ctx->A;
  uint32_t b = ctx->B;
  uint32_t c = ctx->C;
  uint32_t d = ctx->D;
  uint32_t e = ctx->E;

  /* First increment the byte count.  RFC 1321 specifies the possible
     length of the file up to 2^64 bits.  Here we only compute the
     number of bytes.  Do a double word increment.  */
  ctx->total[0] += len;
  if (ctx->total[0] < len)
    ++ctx->total[1];

#define rol(x, n) (((x) << (n)) | ((uint32_t) (x) >> (32 - (n))))

#define M(I) ( tm =   x[I&0x0f] ^ x[(I-14)&0x0f] \
		    ^ x[(I-8)&0x0f] ^ x[(I-3)&0x0f] \
	       , (x[I&0x0f] = rol(tm, 1)) )

#define R(A,B,C,D,E,F,K,M)  do { E += rol( A, 5 )     \
				      + F( B, C, D )  \
				      + K	      \
				      + M;	      \
				 B = rol( B, 30 );    \
			       } while(0)

  while (words < endp)
    {
      uint32_t tm;
      int t;
      for (t = 0; t < 16; t++)
	{
	  x[t] = SWAP (*words);
	  words++;
	}

      R( a, b, c, d, e, F1, K1, x[ 0] );
      R( e, a, b, c, d, F1, K1, x[ 1] );
      R( d, e, a, b, c, F1, K1, x[ 2] );
      R( c, d, e, a, b, F1, K1, x[ 3] );
      R( b, c, d, e, a, F1, K1, x[ 4] );
      R( a, b, c, d, e, F1, K1, x[ 5] );
      R( e, a, b, c, d, F1, K1, x[ 6] );
      R( d, e, a, b, c, F1, K1, x[ 7] );
      R( c, d, e, a, b, F1, K1, x[ 8] );
      R( b, c, d, e, a, F1, K1, x[ 9] );
      R( a, b, c, d, e, F1, K1, x[10] );
      R( e, a, b, c, d, F1, K1, x[11] );
      R( d, e, a, b, c, F1, K1, x[12] );
      R( c, d, e, a, b, F1, K1, x[13] );
      R( b, c, d, e, a, F1, K1, x[14] );
      R( a, b, c, d, e, F1, K1, x[15] );
      R( e, a, b, c, d, F1, K1, M(16) );
      R( d, e, a, b, c, F1, K1, M(17) );
      R( c, d, e, a, b, F1, K1, M(18) );
      R( b, c, d, e, a, F1, K1, M(19) );
      R( a, b, c, d, e, F2, K2, M(20) );
      R( e, a, b, c, d, F2, K2, M(21) );
      R( d, e, a, b, c, F2, K2, M(22) );
      R( c, d, e, a, b, F2, K2, M(23) );
      R( b, c, d, e, a, F2, K2, M(24) );
      R( a, b, c, d, e, F2, K2, M(25) );
      R( e, a, b, c, d, F2, K2, M(26) );
      R( d, e, a, b, c, F2, K2, M(27) );
      R( c, d, e, a, b, F2, K2, M(28) );
      R( b, c, d, e, a, F2, K2, M(29) );
      R( a, b, c, d, e, F2, K2, M(30) );
      R( e, a, b, c, d, F2, K2, M(31) );
      R( d, e, a, b, c, F2, K2, M(32) );
      R( c, d, e, a, b, F2, K2, M(33) );
      R( b, c, d, e, a, F2, K2, M(34) );
      R( a, b, c, d, e, F2, K2, M(35) );
      R( e, a, b, c, d, F2, K2, M(36) );
      R( d, e, a, b, c, F2, K2, M(37) );
      R( c, d, e, a, b, F2, K2, M(38) );
      R( b, c, d, e, a, F2, K2, M(39) );
      R( a, b, c, d, e, F3, K3, M(40) );
      R( e, a, b, c, d, F3, K3, M(41) );
      R( d, e, a, b, c, F3, K3, M(42) );
      R( c, d, e, a, b, F3, K3, M(43) );
      R( b, c, d, e, a, F3, K3, M(44) );
      R( a, b, c, d, e, F3, K3, M(45) );
      R( e, a, b, c, d, F3, K3, M(46) );
      R( d, e, a, b, c, F3, K3, M(47) );
      R( c, d, e, a, b, F3, K3, M(48) );
      R( b, c, d, e, a, F3, K3, M(49) );
      R( a, b, c, d, e, F3, K3, M(50) );
      R( e, a, b, c, d, F3, K3, M(51) );
      R( d, e, a, b, c, F3, K3, M(52) );
      R( c, d, e, a, b, F3, K3, M(53) );
      R( b, c, d, e, a, F3, K3, M(54) );
      R( a, b, c, d, e, F3, K3, M(55) );
      R( e, a, b, c, d, F3, K3, M(56) );
      R( d, e, a, b, c, F3, K3, M(57) );
      R( c, d, e, a, b, F3, K3, M(58) );
      R( b, c, d, e, a, F3, K3, M(59) );
      R( a, b, c, d, e, F4, K4, M(60) );
      R( e, a, b, c, d, F4, K4, M(61) );
      R( d, e, a, b, c, F4, K4, M(62) );
      R( c, d, e, a, b, F4, K4, M(63) );
      R( b, c, d, e, a, F4, K4, M(64) );
      R( a, b, c, d, e, F4, K4, M(65) );
      R( e, a, b, c, d, F4, K4, M(66) );
      R( d, e, a, b, c, F4, K4, M(67) );
      R( c, d, e, a, b, F4, K4, M(68) );
      R( b, c, d, e, a, F4, K4, M(69) );
      R( a, b, c, d, e, F4, K4, M(70) );
      R( e, a, b, c, d, F4, K4, M(71) );
      R( d, e, a, b, c, F4, K4, M(72) );
      R( c, d, e, a, b, F4, K4, M(73) );
      R( b, c, d, e, a, F4, K4, M(74) );
      R( a, b, c, d, e, F4, K4, M(75) );
      R( e, a, b, c, d, F4, K4, M(76) );
      R( d, e, a, b, c, F4, K4, M(77) );
      R( c, d, e, a, b, F4, K4, M(78) );
      R( b, c, d, e, a, F4, K4, M(79) );

      a = ctx->A += a;
      b = ctx->B += b;
      c = ctx->C += c;
      d = ctx->D += d;
      e = ctx->E += e;
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdi, %r10
movl (%rdx), %r8d
movl 0x4(%rdx), %r13d
movl 0x8(%rdx), %ecx
movl 0xc(%rdx), %r11d
movl 0x10(%rdx), %eax
movl 0x14(%rdx), %r9d
addl %esi, %r9d
movq %rdx, (%rsp)
movl %r9d, 0x14(%rdx)
movq %rsi, %rdi
cmpq %rsi, %r9
jae 0x4e76
movq (%rsp), %rdx
incl 0x18(%rdx)
testq $-0x4, %rdi
jle 0x6056
andq $-0x4, %rdi
addq %r10, %rdi
movq %rdi, 0x20(%rsp)
movq (%rsp), %rdx
movl (%rdx), %r9d
movl 0x4(%rdx), %edi
movl 0x8(%rdx), %ebx
movl 0xc(%rdx), %r14d
movl 0x10(%rdx), %edx
movl %r9d, 0x10(%rsp)
movl %edx, 0x14(%rsp)
movl %r14d, 0x18(%rsp)
movl %ebx, 0x1c(%rsp)
movq %rdi, 0x28(%rsp)
xorl %r12d, %r12d
movl (%r10,%r12), %esi
bswapl %esi
movl %esi, -0x40(%rsp,%r12)
addq $0x4, %r12
cmpq $0x40, %r12
jne 0x4ebd
movl %r8d, %esi
roll $0x5, %esi
addl %eax, %esi
movl %r11d, %ebp
xorl %ecx, %ebp
andl %r13d, %ebp
xorl %r11d, %ebp
addl %esi, %ebp
movl -0x40(%rsp), %r14d
movq %r10, 0x30(%rsp)
movl -0x3c(%rsp), %edx
movl %edx, -0x74(%rsp)
movl $0x5a827999, %eax       # imm = 0x5A827999
addl %eax, %ebp
addl %r14d, %ebp
roll $0x1e, %r13d
movl %ebp, %edi
roll $0x5, %edi
movl %r13d, %r9d
xorl %ecx, %r9d
andl %r8d, %r9d
xorl %ecx, %r9d
addl %r11d, %r9d
addl %edx, %r9d
addl %eax, %r9d
roll $0x1e, %r8d
addl %edi, %r9d
movl %r9d, %edx
roll $0x5, %edx
movl %r13d, %edi
xorl %r8d, %edi
andl %ebp, %edi
xorl %r13d, %edi
movl -0x38(%rsp), %esi
movl %esi, 0xc(%rsp)
addl %esi, %ecx
addl %edi, %ecx
addl %eax, %ecx
addl %edx, %ecx
roll $0x1e, %ebp
movl %ecx, %edx
roll $0x5, %edx
movl %ebp, %edi
xorl %r8d, %edi
andl %r9d, %edi
xorl %r8d, %edi
movl -0x34(%rsp), %esi
movl %esi, -0x58(%rsp)
addl %esi, %r13d
addl %edi, %r13d
addl %eax, %r13d
roll $0x1e, %r9d
addl %edx, %r13d
movl %r13d, %edx
roll $0x5, %edx
movl %r9d, %edi
xorl %ebp, %edi
andl %ecx, %edi
xorl %ebp, %edi
movl -0x30(%rsp), %esi
movl %esi, -0x68(%rsp)
addl %esi, %r8d
addl %edi, %r8d
addl %eax, %r8d
addl %edx, %r8d
roll $0x1e, %ecx
movl %r8d, %edx
roll $0x5, %edx
movl %ecx, %edi
xorl %r9d, %edi
andl %r13d, %edi
xorl %r9d, %edi
movl -0x2c(%rsp), %esi
movl %esi, -0x5c(%rsp)
addl %esi, %ebp
addl %edi, %ebp
addl %eax, %ebp
roll $0x1e, %r13d
addl %edx, %ebp
movl %r13d, %edx
xorl %ecx, %edx
andl %r8d, %edx
xorl %ecx, %edx
movl -0x28(%rsp), %esi
movl %esi, -0x80(%rsp)
addl %esi, %r9d
addl %edx, %r9d
movl %ebp, %edx
roll $0x5, %edx
addl %eax, %r9d
addl %edx, %r9d
roll $0x1e, %r8d
movl %r9d, %edx
roll $0x5, %edx
movl %r8d, %edi
xorl %r13d, %edi
andl %ebp, %edi
xorl %r13d, %edi
movl -0x24(%rsp), %esi
movl %esi, -0x7c(%rsp)
addl %esi, %ecx
addl %edi, %ecx
addl %eax, %ecx
roll $0x1e, %ebp
addl %edx, %ecx
movl %ebp, %edx
xorl %r8d, %edx
andl %r9d, %edx
xorl %r8d, %edx
movl -0x20(%rsp), %esi
addl %esi, %r13d
movl %esi, -0x6c(%rsp)
addl %edx, %r13d
movl %ecx, %edx
roll $0x5, %edx
addl %eax, %r13d
addl %edx, %r13d
roll $0x1e, %r9d
movl %r13d, %edx
roll $0x5, %edx
movl %r9d, %r11d
xorl %ebp, %r11d
andl %ecx, %r11d
xorl %ebp, %r11d
movl -0x1c(%rsp), %r10d
addl %r10d, %r8d
movl %r10d, -0x60(%rsp)
addl %r11d, %r8d
addl %eax, %r8d
roll $0x1e, %ecx
addl %edx, %r8d
movl %ecx, %edx
xorl %r9d, %edx
andl %r13d, %edx
xorl %r9d, %edx
movl -0x18(%rsp), %edi
movl %edi, -0x78(%rsp)
addl %edi, %ebp
addl %edx, %ebp
movl %r8d, %edx
roll $0x5, %edx
addl %eax, %ebp
addl %edx, %ebp
roll $0x1e, %r13d
movl %ebp, %edx
roll $0x5, %edx
movl %r13d, %ebx
xorl %ecx, %ebx
andl %r8d, %ebx
xorl %ecx, %ebx
movl -0x14(%rsp), %edi
movl %edi, -0x64(%rsp)
addl %edi, %r9d
addl %ebx, %r9d
addl %eax, %r9d
roll $0x1e, %r8d
addl %edx, %r9d
movl %r8d, %edx
xorl %r13d, %edx
andl %ebp, %edx
xorl %r13d, %edx
movl -0x10(%rsp), %edi
movl %edi, -0x4c(%rsp)
addl %edi, %ecx
addl %edx, %ecx
movl %r9d, %edx
roll $0x5, %edx
addl %eax, %ecx
addl %edx, %ecx
roll $0x1e, %ebp
movl %ecx, %edx
roll $0x5, %edx
movl %ebp, %r15d
xorl %r8d, %r15d
andl %r9d, %r15d
xorl %r8d, %r15d
movl -0xc(%rsp), %edi
addl %edi, %r13d
movl %edi, %r11d
movl %edi, -0x70(%rsp)
addl %r15d, %r13d
addl %eax, %r13d
roll $0x1e, %r9d
addl %edx, %r13d
movl %r9d, %edx
xorl %ebp, %edx
andl %ecx, %edx
xorl %ebp, %edx
movl -0x8(%rsp), %edi
addl %edi, %r8d
addl %edx, %r8d
movl %r13d, %edx
roll $0x5, %edx
addl %eax, %r8d
addl %edx, %r8d
roll $0x1e, %ecx
movl %r8d, %edx
roll $0x5, %edx
movl %ecx, %r15d
xorl %r9d, %r15d
andl %r13d, %r15d
xorl %r9d, %r15d
movl -0x4(%rsp), %ebx
addl %ebx, %ebp
movl %ebx, -0x54(%rsp)
addl %r15d, %ebp
addl %eax, %ebp
roll $0x1e, %r13d
addl %edx, %ebp
movl 0xc(%rsp), %r15d
xorl %r15d, %r14d
movl %esi, %edx
xorl %r11d, %edx
xorl %r14d, %edx
movl %r13d, %esi
xorl %ecx, %esi
andl %r8d, %esi
xorl %ecx, %esi
roll %edx
movq %rdx, -0x48(%rsp)
addl %edx, %r9d
addl %esi, %r9d
movl %ebp, %esi
roll $0x5, %esi
addl %eax, %r9d
addl %esi, %r9d
movl -0x58(%rsp), %r11d
movl -0x74(%rsp), %esi
xorl %r11d, %esi
movl %r10d, %edx
movl %edi, -0x50(%rsp)
xorl %edi, %edx
xorl %esi, %edx
roll $0x1e, %r8d
movl %r8d, %r10d
xorl %r13d, %r10d
andl %ebp, %r10d
xorl %r13d, %r10d
roll %edx
addl %edx, %ecx
movl %edx, %edi
addl %r10d, %ecx
movl %r9d, %r10d
roll $0x5, %r10d
addl %eax, %ecx
addl %r10d, %ecx
movl -0x68(%rsp), %esi
movl %r15d, %edx
xorl %esi, %edx
movl -0x78(%rsp), %r14d
xorl %ebx, %r14d
xorl %edx, %r14d
roll $0x1e, %ebp
movl %ebp, %r15d
xorl %r8d, %r15d
andl %r9d, %r15d
roll %r14d
xorl %r8d, %r15d
addl %r14d, %r13d
addl %r15d, %r13d
movl %ecx, %r15d
roll $0x5, %r15d
addl %eax, %r13d
addl %r15d, %r13d
roll $0x1e, %r9d
movl %r9d, %r15d
xorl %ebp, %r15d
andl %ecx, %r15d
xorl %ebp, %r15d
movl -0x5c(%rsp), %ebx
xorl %ebx, %r11d
xorl -0x64(%rsp), %r11d
xorl -0x48(%rsp), %r11d
roll %r11d
addl %r11d, %r8d
movl %r11d, -0x58(%rsp)
addl %r15d, %r8d
movl %r13d, %r15d
roll $0x5, %r15d
addl %eax, %r8d
addl %r15d, %r8d
roll $0x1e, %ecx
movl %r8d, %r15d
roll $0x5, %r15d
movl %ecx, %eax
xorl %r9d, %eax
xorl %r13d, %eax
movl %esi, %edx
movl -0x80(%rsp), %esi
xorl %esi, %edx
xorl -0x4c(%rsp), %edx
movl %edi, -0x74(%rsp)
xorl %edi, %edx
roll %edx
addl %edx, %ebp
movl %edx, %edi
movl %edx, -0x68(%rsp)
addl %eax, %ebp
movl $0x6ed9eba1, %eax       # imm = 0x6ED9EBA1
addl %eax, %ebp
roll $0x1e, %r13d
addl %r15d, %ebp
movl %r13d, %eax
xorl %ecx, %eax
movl -0x7c(%rsp), %r10d
xorl %r10d, %ebx
xorl -0x70(%rsp), %ebx
xorl %r14d, %ebx
roll %ebx
xorl %r8d, %eax
addl %ebx, %r9d
movl %ebx, -0x5c(%rsp)
addl %eax, %r9d
movl %ebp, %eax
roll $0x5, %eax
movl $0x6ed9eba1, %r15d      # imm = 0x6ED9EBA1
addl %r15d, %r9d
addl %eax, %r9d
roll $0x1e, %r8d
movl %r8d, %eax
xorl %r13d, %eax
xorl %ebp, %eax
movl %esi, %edx
movl -0x6c(%rsp), %esi
xorl %esi, %edx
xorl -0x50(%rsp), %edx
xorl %r11d, %edx
roll %edx
addl %edx, %ecx
movl %edx, %r11d
movl %edx, -0x80(%rsp)
addl %eax, %ecx
movl %r9d, %eax
roll $0x5, %eax
addl %r15d, %ecx
addl %eax, %ecx
roll $0x1e, %ebp
movl %ebp, %eax
xorl %r8d, %eax
xorl %r9d, %eax
movl %r10d, %edx
movl -0x60(%rsp), %r10d
xorl %r10d, %edx
xorl -0x54(%rsp), %edx
xorl %edi, %edx
roll %edx
movl %edx, -0x7c(%rsp)
addl %edx, %r13d
addl %eax, %r13d
movl %ecx, %eax
roll $0x5, %eax
addl %r15d, %r13d
addl %eax, %r13d
roll $0x1e, %r9d
movl %r13d, %edx
roll $0x5, %edx
movl %r9d, %r15d
xorl %ebp, %r15d
xorl %ecx, %r15d
movl %esi, %eax
movl -0x78(%rsp), %edi
xorl %edi, %eax
xorl -0x48(%rsp), %eax
xorl %ebx, %eax
roll %eax
addl %eax, %r8d
movl %eax, %ebx
movl %eax, -0x6c(%rsp)
addl %r15d, %r8d
movl $0x6ed9eba1, %eax       # imm = 0x6ED9EBA1
addl %eax, %r8d
roll $0x1e, %ecx
addl %edx, %r8d
movl %ecx, %eax
xorl %r9d, %eax
movl -0x64(%rsp), %edx
xorl %edx, %r10d
xorl -0x74(%rsp), %r10d
xorl %r11d, %r10d
roll %r10d
xorl %r13d, %eax
addl %r10d, %ebp
movl %r10d, %r11d
movl %r10d, -0x60(%rsp)
addl %eax, %ebp
movl %r8d, %eax
roll $0x5, %eax
movl $0x6ed9eba1, %r10d      # imm = 0x6ED9EBA1
addl %r10d, %ebp
addl %eax, %ebp
roll $0x1e, %r13d
movl %r13d, %eax
xorl %ecx, %eax
xorl %r8d, %eax
movl -0x4c(%rsp), %esi
xorl %esi, %edi
xorl %r14d, %edi
xorl -0x7c(%rsp), %edi
roll %edi
movl %edi, -0x78(%rsp)
addl %edi, %r9d
addl %eax, %r9d
movl %ebp, %eax
roll $0x5, %eax
addl %r10d, %r9d
movl $0x6ed9eba1, %r15d      # imm = 0x6ED9EBA1
addl %eax, %r9d
roll $0x1e, %r8d
movl %r8d, %eax
xorl %r13d, %eax
xorl %ebp, %eax
movl -0x70(%rsp), %edi
xorl %edi, %edx
xorl -0x58(%rsp), %edx
xorl %ebx, %edx
roll %edx
addl %edx, %ecx
movl %edx, %r10d
movl %edx, -0x64(%rsp)
addl %eax, %ecx
movl %r9d, %eax
roll $0x5, %eax
addl %r15d, %ecx
movl $0x6ed9eba1, %ebx       # imm = 0x6ED9EBA1
addl %eax, %ecx
roll $0x1e, %ebp
movl %ecx, %eax
roll $0x5, %eax
movl %ebp, %r15d
xorl %r8d, %r15d
xorl %r9d, %r15d
movl %esi, %edx
movl -0x50(%rsp), %esi
xorl %esi, %edx
xorl -0x68(%rsp), %edx
xorl %r11d, %edx
roll %edx
addl %edx, %r13d
movl %edx, %r11d
movl %edx, -0x4c(%rsp)
addl %r15d, %r13d
addl %ebx, %r13d
roll $0x1e, %r9d
addl %eax, %r13d
movl %r9d, %eax
xorl %ebp, %eax
movl -0x54(%rsp), %edx
xorl %edx, %edi
xorl -0x5c(%rsp), %edi
xorl -0x78(%rsp), %edi
roll %edi
xorl %ecx, %eax
addl %edi, %r8d
movl %edi, -0x70(%rsp)
addl %eax, %r8d
movl %r13d, %eax
roll $0x5, %eax
addl %ebx, %r8d
addl %eax, %r8d
roll $0x1e, %ecx
movl %ecx, %eax
xorl %r9d, %eax
xorl %r13d, %eax
movl %esi, %r15d
movq -0x48(%rsp), %rbx
xorl %ebx, %r15d
xorl -0x80(%rsp), %r15d
xorl %r10d, %r15d
roll %r15d
addl %r15d, %ebp
movl %r15d, -0x50(%rsp)
addl %eax, %ebp
movl %r8d, %eax
roll $0x5, %eax
movl $0x6ed9eba1, %esi       # imm = 0x6ED9EBA1
addl %esi, %ebp
addl %eax, %ebp
roll $0x1e, %r13d
movl %r13d, %eax
xorl %ecx, %eax
xorl %r8d, %eax
movl -0x74(%rsp), %esi
xorl %esi, %edx
xorl -0x7c(%rsp), %edx
xorl %r11d, %edx
roll %edx
addl %edx, %r9d
movl %edx, %r10d
movl %edx, -0x54(%rsp)
addl %eax, %r9d
movl %ebp, %eax
roll $0x5, %eax
movl $0x6ed9eba1, %edx       # imm = 0x6ED9EBA1
addl %edx, %r9d
addl %eax, %r9d
roll $0x1e, %r8d
movl %ebx, -0x40(%rsp)
movl %r8d, %eax
xorl %r13d, %eax
xorl %r14d, %ebx
xorl -0x6c(%rsp), %ebx
xorl %edi, %ebx
roll %ebx
xorl %ebp, %eax
addl %ebx, %ecx
movq %rbx, -0x48(%rsp)
addl %eax, %ecx
movl %r9d, %eax
roll $0x5, %eax
addl %edx, %ecx
addl %eax, %ecx
movl %esi, -0x3c(%rsp)
roll $0x1e, %ebp
movl %ebp, %eax
xorl %r8d, %eax
xorl %r9d, %eax
movl -0x58(%rsp), %edx
xorl %edx, %esi
xorl -0x60(%rsp), %esi
xorl %r15d, %esi
roll %esi
addl %esi, %r13d
movl %esi, %edi
movl %esi, -0x74(%rsp)
addl %eax, %r13d
movl %ecx, %eax
roll $0x5, %eax
movl $0x6ed9eba1, %esi       # imm = 0x6ED9EBA1
addl %esi, %r13d
addl %eax, %r13d
roll $0x1e, %r9d
movl %r14d, -0x38(%rsp)
movl %r9d, %eax
xorl %ebp, %eax
movl -0x68(%rsp), %r15d
xorl %r15d, %r14d
xorl -0x78(%rsp), %r14d
xorl %r10d, %r14d
roll %r14d
xorl %ecx, %eax
addl %r14d, %r8d
addl %eax, %r8d
movl %r13d, %eax
roll $0x5, %eax
addl %esi, %r8d
movl $0x6ed9eba1, %r11d      # imm = 0x6ED9EBA1
addl %eax, %r8d
movl %edx, -0x34(%rsp)
roll $0x1e, %ecx
movl %ecx, %eax
xorl %r9d, %eax
xorl %r13d, %eax
movl -0x5c(%rsp), %esi
xorl %esi, %edx
xorl -0x64(%rsp), %edx
xorl %ebx, %edx
roll %edx
addl %edx, %ebp
movl %edx, %r10d
movl %edx, -0x58(%rsp)
addl %eax, %ebp
movl %r8d, %eax
roll $0x5, %eax
addl %r11d, %ebp
movl $0x6ed9eba1, %ebx       # imm = 0x6ED9EBA1
addl %eax, %ebp
roll $0x1e, %r13d
movl %r15d, -0x30(%rsp)
movl %r13d, %eax
xorl %ecx, %eax
movl -0x80(%rsp), %edx
xorl %edx, %r15d
xorl -0x4c(%rsp), %r15d
xorl %edi, %r15d
roll %r15d
xorl %r8d, %eax
addl %r15d, %r9d
movl %r15d, %r11d
movl %r15d, -0x68(%rsp)
addl %eax, %r9d
movl %ebp, %eax
roll $0x5, %eax
addl %ebx, %r9d
addl %eax, %r9d
movl %esi, %r15d
movl %esi, -0x2c(%rsp)
roll $0x1e, %r8d
movl %r8d, %eax
xorl %r13d, %eax
xorl %ebp, %eax
movl -0x7c(%rsp), %edi
xorl %edi, %r15d
xorl -0x70(%rsp), %r15d
xorl %r14d, %r15d
roll %r15d
addl %r15d, %ecx
movl %r15d, %ebx
movl %r15d, -0x5c(%rsp)
addl %eax, %ecx
movl %r9d, %eax
roll $0x5, %eax
movl $0x6ed9eba1, %r15d      # imm = 0x6ED9EBA1
addl %r15d, %ecx
addl %eax, %ecx
roll $0x1e, %ebp
movl %edx, -0x28(%rsp)
movl %ebp, %eax
xorl %r8d, %eax
movl -0x6c(%rsp), %esi
xorl %esi, %edx
xorl -0x50(%rsp), %edx
xorl %r10d, %edx
roll %edx
movl %edx, -0x80(%rsp)
xorl %r9d, %eax
addl %edx, %r13d
addl %eax, %r13d
movl %ecx, %eax
roll $0x5, %eax
addl %r15d, %r13d
addl %eax, %r13d
movl %edi, %edx
movl %edi, -0x24(%rsp)
roll $0x1e, %r9d
movl %r9d, %eax
xorl %ebp, %eax
xorl %ecx, %eax
movl -0x60(%rsp), %r10d
xorl %r10d, %edx
xorl -0x54(%rsp), %edx
xorl %r11d, %edx
roll %edx
addl %edx, %r8d
movl %edx, %edi
movl %edx, -0x7c(%rsp)
addl %eax, %r8d
movl %r13d, %eax
roll $0x5, %eax
addl %r15d, %r8d
addl %eax, %r8d
roll $0x1e, %ecx
movl %r13d, %eax
andl %ecx, %eax
movl %r13d, %r15d
orl %ecx, %r15d
andl %r9d, %r15d
orl %eax, %r15d
movl %esi, %edx
movl %esi, -0x20(%rsp)
movl %r8d, %eax
roll $0x5, %eax
movl -0x78(%rsp), %r11d
xorl %r11d, %edx
xorl -0x48(%rsp), %edx
xorl %ebx, %edx
roll %edx
addl %edx, %ebp
movl %edx, %ebx
movl %edx, -0x6c(%rsp)
addl %r15d, %ebp
movl $0x8f1bbcdc, %edx       # imm = 0x8F1BBCDC
addl %edx, %ebp
addl %eax, %ebp
movl %r10d, -0x1c(%rsp)
roll $0x1e, %r13d
movl %r8d, %eax
andl %r13d, %eax
movl %r8d, %r15d
orl %r13d, %r15d
andl %ecx, %r15d
movl -0x64(%rsp), %esi
xorl %esi, %r10d
xorl -0x74(%rsp), %r10d
xorl -0x80(%rsp), %r10d
roll %r10d
orl %eax, %r15d
addl %r10d, %r9d
movl %r10d, -0x60(%rsp)
addl %r15d, %r9d
movl %ebp, %eax
roll $0x5, %eax
addl %edx, %r9d
addl %eax, %r9d
roll $0x1e, %r8d
movl %ebp, %eax
andl %r8d, %eax
movl %ebp, %r15d
orl %r8d, %r15d
andl %r13d, %r15d
orl %eax, %r15d
movl %r11d, %eax
movl %r11d, -0x18(%rsp)
movl -0x4c(%rsp), %edx
xorl %edx, %eax
xorl %r14d, %eax
xorl %edi, %eax
roll %eax
movl %eax, -0x78(%rsp)
addl %eax, %ecx
addl %r15d, %ecx
movl %r9d, %eax
roll $0x5, %eax
movl $0x8f1bbcdc, %r11d      # imm = 0x8F1BBCDC
addl %r11d, %ecx
addl %eax, %ecx
roll $0x1e, %ebp
movl %r9d, %eax
andl %ebp, %eax
movl %r9d, %r15d
orl %ebp, %r15d
andl %r8d, %r15d
orl %eax, %r15d
movl %esi, -0x14(%rsp)
movl -0x70(%rsp), %edi
xorl %edi, %esi
xorl -0x58(%rsp), %esi
xorl %ebx, %esi
roll %esi
addl %esi, %r13d
movl %esi, -0x64(%rsp)
addl %r15d, %r13d
movl %ecx, %eax
roll $0x5, %eax
addl %r11d, %r13d
addl %eax, %r13d
roll $0x1e, %r9d
movl %ecx, %eax
andl %r9d, %eax
movl %ecx, %r15d
orl %r9d, %r15d
andl %ebp, %r15d
orl %eax, %r15d
movl %edx, -0x10(%rsp)
movl %r13d, %eax
roll $0x5, %eax
movl -0x50(%rsp), %ebx
xorl %ebx, %edx
xorl -0x68(%rsp), %edx
xorl %r10d, %edx
roll %edx
addl %edx, %r8d
movl %edx, %r10d
movl %edx, -0x4c(%rsp)
addl %r15d, %r8d
movl $0x8f1bbcdc, %edx       # imm = 0x8F1BBCDC
addl %edx, %r8d
addl %eax, %r8d
movl %edi, -0xc(%rsp)
roll $0x1e, %ecx
movl %r13d, %eax
andl %ecx, %eax
movl %r13d, %r15d
orl %ecx, %r15d
andl %r9d, %r15d
movl -0x54(%rsp), %r11d
xorl %r11d, %edi
xorl -0x5c(%rsp), %edi
xorl -0x78(%rsp), %edi
roll %edi
orl %eax, %r15d
addl %edi, %ebp
movl %edi, -0x70(%rsp)
addl %r15d, %ebp
movl %r8d, %eax
roll $0x5, %eax
addl %edx, %ebp
addl %eax, %ebp
roll $0x1e, %r13d
movl %r8d, %eax
andl %r13d, %eax
movl %r8d, %r15d
orl %r13d, %r15d
andl %ecx, %r15d
orl %eax, %r15d
movl %ebx, %edx
movl %ebx, -0x8(%rsp)
movq -0x48(%rsp), %rbx
xorl %ebx, %edx
xorl -0x80(%rsp), %edx
xorl %esi, %edx
roll %edx
addl %edx, %r9d
movl %edx, -0x50(%rsp)
addl %r15d, %r9d
movl %ebp, %eax
roll $0x5, %eax
movl $0x8f1bbcdc, %esi       # imm = 0x8F1BBCDC
addl %esi, %r9d
addl %eax, %r9d
roll $0x1e, %r8d
movl %ebp, %eax
andl %r8d, %eax
movl %ebp, %r15d
orl %r8d, %r15d
andl %r13d, %r15d
orl %eax, %r15d
movl %r11d, %eax
movl -0x74(%rsp), %esi
xorl %esi, %eax
xorl -0x7c(%rsp), %eax
xorl %r10d, %eax
roll %eax
addl %eax, %ecx
movl %eax, %r10d
addl %r15d, %ecx
movl %r9d, %eax
roll $0x5, %eax
movl $0x8f1bbcdc, %r11d      # imm = 0x8F1BBCDC
addl %r11d, %ecx
addl %eax, %ecx
roll $0x1e, %ebp
movl %r9d, %eax
andl %ebp, %eax
movl %r9d, %r15d
orl %ebp, %r15d
andl %r8d, %r15d
orl %eax, %r15d
xorl %r14d, %ebx
xorl -0x6c(%rsp), %ebx
xorl %edi, %ebx
roll %ebx
addl %ebx, %r13d
movq %rbx, %rdi
movq %rbx, -0x48(%rsp)
addl %r15d, %r13d
movl %ecx, %eax
roll $0x5, %eax
addl %r11d, %r13d
addl %eax, %r13d
roll $0x1e, %r9d
movl %ecx, %eax
andl %r9d, %eax
movl %ecx, %r15d
orl %r9d, %r15d
andl %ebp, %r15d
orl %eax, %r15d
movl -0x58(%rsp), %ebx
xorl %ebx, %esi
xorl -0x60(%rsp), %esi
xorl %edx, %esi
roll %esi
addl %esi, %r8d
movl %esi, -0x74(%rsp)
addl %r15d, %r8d
movl %r13d, %eax
roll $0x5, %eax
addl %r11d, %r8d
movl $0x8f1bbcdc, %edx       # imm = 0x8F1BBCDC
addl %eax, %r8d
roll $0x1e, %ecx
movl %r13d, %eax
andl %ecx, %eax
movl %r13d, %r15d
orl %ecx, %r15d
andl %r9d, %r15d
orl %eax, %r15d
movl -0x68(%rsp), %r11d
xorl %r11d, %r14d
xorl -0x78(%rsp), %r14d
movl %r10d, -0x54(%rsp)
xorl %r10d, %r14d
roll %r14d
addl %r14d, %ebp
addl %r15d, %ebp
movl %r8d, %eax
roll $0x5, %eax
addl %edx, %ebp
movl $0x8f1bbcdc, %r10d      # imm = 0x8F1BBCDC
addl %eax, %ebp
roll $0x1e, %r13d
movl %r8d, %eax
andl %r13d, %eax
movl %r8d, %r15d
orl %r13d, %r15d
andl %ecx, %r15d
orl %eax, %r15d
movl %ebx, %eax
movl -0x5c(%rsp), %edx
xorl %edx, %eax
xorl -0x64(%rsp), %eax
xorl %edi, %eax
roll %eax
addl %eax, %r9d
movl %eax, %edi
movl %eax, -0x58(%rsp)
addl %r15d, %r9d
movl %ebp, %eax
roll $0x5, %eax
addl %r10d, %r9d
addl %eax, %r9d
roll $0x1e, %r8d
movl %ebp, %eax
andl %r8d, %eax
movl %ebp, %r15d
orl %r8d, %r15d
andl %r13d, %r15d
orl %eax, %r15d
movl %r11d, %eax
movl -0x80(%rsp), %r11d
xorl %r11d, %eax
xorl -0x4c(%rsp), %eax
xorl %esi, %eax
roll %eax
addl %eax, %ecx
movl %eax, %ebx
movl %eax, -0x68(%rsp)
addl %r15d, %ecx
movl %r9d, %eax
roll $0x5, %eax
addl %r10d, %ecx
movl $0x8f1bbcdc, %esi       # imm = 0x8F1BBCDC
addl %eax, %ecx
roll $0x1e, %ebp
movl %r9d, %eax
andl %ebp, %eax
movl %r9d, %r15d
orl %ebp, %r15d
andl %r8d, %r15d
orl %eax, %r15d
movl %edx, %r10d
movl -0x7c(%rsp), %edx
xorl %edx, %r10d
xorl -0x70(%rsp), %r10d
xorl %r14d, %r10d
roll %r10d
addl %r10d, %r13d
movl %r10d, -0x5c(%rsp)
addl %r15d, %r13d
movl %ecx, %eax
roll $0x5, %eax
addl %esi, %r13d
addl %eax, %r13d
roll $0x1e, %r9d
movl %ecx, %eax
andl %r9d, %eax
movl %ecx, %r15d
orl %r9d, %r15d
andl %ebp, %r15d
orl %eax, %r15d
movl %r11d, %eax
movl -0x6c(%rsp), %r11d
xorl %r11d, %eax
xorl -0x50(%rsp), %eax
xorl %edi, %eax
roll %eax
movl %eax, -0x80(%rsp)
addl %eax, %r8d
addl %r15d, %r8d
movl %r13d, %eax
roll $0x5, %eax
addl %esi, %r8d
addl %eax, %r8d
roll $0x1e, %ecx
movl %r13d, %eax
andl %ecx, %eax
movl %r13d, %r15d
orl %ecx, %r15d
andl %r9d, %r15d
orl %eax, %r15d
movl %edx, %eax
movl -0x60(%rsp), %edi
xorl %edi, %eax
xorl -0x54(%rsp), %eax
xorl %ebx, %eax
roll %eax
movl %eax, -0x7c(%rsp)
addl %eax, %ebp
addl %r15d, %ebp
movl %r8d, %eax
roll $0x5, %eax
addl %esi, %ebp
addl %eax, %ebp
roll $0x1e, %r13d
movl %r8d, %eax
andl %r13d, %eax
movl %r8d, %r15d
orl %r13d, %r15d
andl %ecx, %r15d
orl %eax, %r15d
movl %r11d, %eax
movl -0x78(%rsp), %ebx
xorl %ebx, %eax
xorl -0x48(%rsp), %eax
xorl %r10d, %eax
roll %eax
movl %eax, -0x6c(%rsp)
addl %eax, %r9d
addl %r15d, %r9d
movl %ebp, %eax
roll $0x5, %eax
movl $0x8f1bbcdc, %r10d      # imm = 0x8F1BBCDC
addl %r10d, %r9d
addl %eax, %r9d
roll $0x1e, %r8d
movl %ebp, %eax
andl %r8d, %eax
movl %ebp, %r15d
orl %r8d, %r15d
andl %r13d, %r15d
orl %eax, %r15d
movl -0x64(%rsp), %edx
movl %edi, %esi
xorl %edx, %esi
xorl -0x74(%rsp), %esi
xorl -0x80(%rsp), %esi
roll %esi
addl %esi, %ecx
movl %esi, -0x60(%rsp)
addl %r15d, %ecx
movl %r9d, %eax
roll $0x5, %eax
addl %r10d, %ecx
addl %eax, %ecx
roll $0x1e, %ebp
movl %r9d, %eax
andl %ebp, %eax
movl %r9d, %r15d
orl %ebp, %r15d
andl %r8d, %r15d
orl %eax, %r15d
movl %ebx, %eax
movl -0x4c(%rsp), %edi
xorl %edi, %eax
xorl %r14d, %eax
xorl -0x7c(%rsp), %eax
roll %eax
movl %eax, -0x78(%rsp)
addl %eax, %r13d
addl %r15d, %r13d
movl %ecx, %eax
roll $0x5, %eax
addl %r10d, %r13d
movl $0x8f1bbcdc, %ebx       # imm = 0x8F1BBCDC
addl %eax, %r13d
roll $0x1e, %r9d
movl %ecx, %eax
andl %r9d, %eax
movl %ecx, %r15d
orl %r9d, %r15d
andl %ebp, %r15d
orl %eax, %r15d
movl %edx, %r10d
movl -0x70(%rsp), %r11d
xorl %r11d, %r10d
xorl -0x58(%rsp), %r10d
xorl -0x6c(%rsp), %r10d
roll %r10d
addl %r10d, %r8d
movl %r10d, -0x64(%rsp)
addl %r15d, %r8d
movl %r13d, %eax
roll $0x5, %eax
addl %ebx, %r8d
addl %eax, %r8d
roll $0x1e, %ecx
movl %ecx, %eax
xorl %r9d, %eax
xorl %r13d, %eax
movl %edi, %ebx
movl -0x50(%rsp), %edi
xorl %edi, %ebx
xorl -0x68(%rsp), %ebx
xorl %esi, %ebx
roll %ebx
addl %ebx, %ebp
movl %ebx, -0x4c(%rsp)
addl %eax, %ebp
movl %r8d, %eax
roll $0x5, %eax
movl $0xca62c1d6, %edx       # imm = 0xCA62C1D6
addl %edx, %ebp
addl %eax, %ebp
roll $0x1e, %r13d
movl %ebp, %eax
roll $0x5, %eax
movl %r13d, %r15d
xorl %ecx, %r15d
xorl %r8d, %r15d
movl %r11d, %edx
movl -0x54(%rsp), %esi
xorl %esi, %edx
xorl -0x5c(%rsp), %edx
xorl -0x78(%rsp), %edx
roll %edx
movl %edx, -0x70(%rsp)
addl %edx, %r9d
addl %r15d, %r9d
movl $0xca62c1d6, %edx       # imm = 0xCA62C1D6
addl %edx, %r9d
roll $0x1e, %r8d
addl %eax, %r9d
movl %r8d, %eax
xorl %r13d, %eax
movl %edi, %r11d
movq -0x48(%rsp), %rdx
xorl %edx, %r11d
xorl -0x80(%rsp), %r11d
xorl %r10d, %r11d
roll %r11d
xorl %ebp, %eax
addl %r11d, %ecx
movl %r11d, -0x50(%rsp)
addl %eax, %ecx
movl %r9d, %eax
roll $0x5, %eax
movl $0xca62c1d6, %edi       # imm = 0xCA62C1D6
addl %edi, %ecx
addl %eax, %ecx
roll $0x1e, %ebp
movl %ebp, %eax
xorl %r8d, %eax
xorl %r9d, %eax
movl %esi, %r15d
movl -0x74(%rsp), %esi
xorl %esi, %r15d
xorl -0x7c(%rsp), %r15d
xorl %ebx, %r15d
roll %r15d
addl %r15d, %r13d
movl %r15d, %r10d
movl %r15d, -0x54(%rsp)
addl %eax, %r13d
movl %ecx, %eax
roll $0x5, %eax
addl %edi, %r13d
movl $0xca62c1d6, %edi       # imm = 0xCA62C1D6
addl %eax, %r13d
roll $0x1e, %r9d
movl %r9d, %eax
xorl %ebp, %eax
xorl %ecx, %eax
movq %rdx, %rbx
xorl %r14d, %ebx
xorl -0x6c(%rsp), %ebx
xorl -0x70(%rsp), %ebx
roll %ebx
addl %ebx, %r8d
movq %rbx, -0x48(%rsp)
addl %eax, %r8d
movl %r13d, %eax
roll $0x5, %eax
addl %edi, %r8d
movl $0xca62c1d6, %edx       # imm = 0xCA62C1D6
addl %eax, %r8d
roll $0x1e, %ecx
movl %r8d, %eax
roll $0x5, %eax
movl %ecx, %r15d
xorl %r9d, %r15d
xorl %r13d, %r15d
movl -0x58(%rsp), %edi
xorl %edi, %esi
xorl -0x60(%rsp), %esi
xorl %r11d, %esi
roll %esi
addl %esi, %ebp
movl %esi, -0x74(%rsp)
addl %r15d, %ebp
addl %edx, %ebp
movl $0xca62c1d6, %r11d      # imm = 0xCA62C1D6
roll $0x1e, %r13d
addl %eax, %ebp
movl %r13d, %eax
xorl %ecx, %eax
movl -0x68(%rsp), %edx
xorl %edx, %r14d
xorl -0x78(%rsp), %r14d
xorl %r10d, %r14d
roll %r14d
xorl %r8d, %eax
addl %r14d, %r9d
addl %eax, %r9d
movl %ebp, %eax
roll $0x5, %eax
addl %r11d, %r9d
addl %eax, %r9d
roll $0x1e, %r8d
movl %r8d, %eax
xorl %r13d, %eax
xorl %ebp, %eax
movl -0x5c(%rsp), %r10d
xorl %r10d, %edi
xorl -0x64(%rsp), %edi
xorl %ebx, %edi
roll %edi
addl %edi, %ecx
movl %edi, %ebx
movl %edi, -0x58(%rsp)
addl %eax, %ecx
movl %r9d, %eax
roll $0x5, %eax
movl $0xca62c1d6, %r11d      # imm = 0xCA62C1D6
addl %r11d, %ecx
addl %eax, %ecx
roll $0x1e, %ebp
movl %ebp, %eax
xorl %r8d, %eax
xorl %r9d, %eax
movl -0x80(%rsp), %edi
xorl %edi, %edx
xorl -0x4c(%rsp), %edx
xorl %esi, %edx
roll %edx
movl %edx, -0x68(%rsp)
addl %edx, %r13d
addl %eax, %r13d
movl %ecx, %eax
roll $0x5, %eax
addl %r11d, %r13d
movl $0xca62c1d6, %r11d      # imm = 0xCA62C1D6
addl %eax, %r13d
roll $0x1e, %r9d
movl %r13d, %edx
roll $0x5, %edx
movl %r9d, %r15d
xorl %ebp, %r15d
xorl %ecx, %r15d
movl %r10d, %esi
movl -0x7c(%rsp), %r10d
xorl %r10d, %esi
xorl -0x70(%rsp), %esi
xorl %r14d, %esi
roll %esi
addl %esi, %r8d
movl %esi, -0x5c(%rsp)
addl %r15d, %r8d
addl %r11d, %r8d
movl $0xca62c1d6, %r15d      # imm = 0xCA62C1D6
roll $0x1e, %ecx
addl %edx, %r8d
movl %ecx, %eax
xorl %r9d, %eax
movl -0x6c(%rsp), %r11d
xorl %r11d, %edi
xorl -0x50(%rsp), %edi
xorl %ebx, %edi
roll %edi
movl %edi, -0x80(%rsp)
xorl %r13d, %eax
addl %edi, %ebp
addl %eax, %ebp
movl %r8d, %eax
roll $0x5, %eax
addl %r15d, %ebp
addl %eax, %ebp
roll $0x1e, %r13d
movl %r13d, %eax
xorl %ecx, %eax
xorl %r8d, %eax
movl %r10d, %edx
movl -0x60(%rsp), %edi
xorl %edi, %edx
xorl -0x54(%rsp), %edx
xorl -0x68(%rsp), %edx
roll %edx
movl %edx, -0x7c(%rsp)
addl %edx, %r9d
addl %eax, %r9d
movl %ebp, %eax
roll $0x5, %eax
movl $0xca62c1d6, %edx       # imm = 0xCA62C1D6
addl %edx, %r9d
addl %eax, %r9d
roll $0x1e, %r8d
movl %r8d, %eax
xorl %r13d, %eax
xorl %ebp, %eax
movl -0x78(%rsp), %ebx
xorl %ebx, %r11d
movq -0x48(%rsp), %r10
xorl %r10d, %r11d
xorl %esi, %r11d
roll %r11d
movl %r11d, -0x6c(%rsp)
addl %r11d, %ecx
addl %eax, %ecx
movl %r9d, %eax
roll $0x5, %eax
addl %edx, %ecx
addl %eax, %ecx
roll $0x1e, %ebp
movl %ecx, %eax
roll $0x5, %eax
movl %ebp, %r15d
xorl %r8d, %r15d
xorl %r9d, %r15d
movl %edi, %edx
movl -0x64(%rsp), %r11d
xorl %r11d, %edx
movl -0x74(%rsp), %esi
xorl %esi, %edx
movl -0x80(%rsp), %edi
xorl %edi, %edx
roll %edx
movl %edx, -0x60(%rsp)
addl %edx, %r13d
addl %r15d, %r13d
movl $0xca62c1d6, %edx       # imm = 0xCA62C1D6
addl %edx, %r13d
addl %eax, %r13d
movl %r10d, -0x40(%rsp)
movl %esi, -0x3c(%rsp)
movl %r14d, -0x38(%rsp)
roll $0x1e, %r9d
movl %r13d, %eax
roll $0x5, %eax
movl -0x4c(%rsp), %r15d
xorl %r15d, %ebx
xorl %r14d, %ebx
movl %r9d, %r10d
xorl %ebp, %r10d
xorl %ecx, %r10d
movl -0x7c(%rsp), %r14d
xorl %r14d, %ebx
roll %ebx
addl %ebx, %r8d
addl %r10d, %r8d
movq 0x30(%rsp), %r10
addl %edx, %r8d
addl %eax, %r8d
movl -0x58(%rsp), %eax
movl %eax, -0x34(%rsp)
movl %r11d, %edx
xorl -0x70(%rsp), %edx
xorl %eax, %edx
movl -0x68(%rsp), %esi
movl %esi, -0x30(%rsp)
movl -0x5c(%rsp), %r11d
movl %r11d, -0x2c(%rsp)
movl %edi, -0x28(%rsp)
movl %r14d, -0x24(%rsp)
movl -0x6c(%rsp), %eax
movl %eax, -0x20(%rsp)
xorl %eax, %edx
roll $0x1e, %ecx
movl %ecx, %eax
xorl %r9d, %eax
xorl %r13d, %eax
roll %edx
movl %edx, -0x64(%rsp)
addl %edx, %ebp
addl %eax, %ebp
movl %r8d, %eax
roll $0x5, %eax
movl $0xca62c1d6, %edi       # imm = 0xCA62C1D6
addl %edi, %ebp
addl %eax, %ebp
movl %r15d, %edx
movl -0x50(%rsp), %r15d
xorl %r15d, %edx
xorl %esi, %edx
movl -0x60(%rsp), %eax
movl %eax, -0x1c(%rsp)
xorl %eax, %edx
roll $0x1e, %r13d
movl %r13d, %eax
xorl %ecx, %eax
roll %edx
xorl %r8d, %eax
addl %edx, %r9d
addl %eax, %r9d
movl %ebp, %eax
roll $0x5, %eax
addl %edi, %r9d
movl $0xca62c1d6, %esi       # imm = 0xCA62C1D6
addl %eax, %r9d
movl -0x70(%rsp), %edi
movl -0x54(%rsp), %r14d
xorl %r14d, %edi
xorl %r11d, %edi
movl %ebx, -0x18(%rsp)
xorl %ebx, %edi
movl -0x64(%rsp), %r11d
movl %r11d, -0x14(%rsp)
movl %edx, -0x10(%rsp)
roll %edi
movl %edi, -0xc(%rsp)
addl %ecx, %edi
roll $0x1e, %r8d
movl %r8d, %eax
xorl %r13d, %eax
xorl %ebp, %eax
addl %eax, %edi
movl %r9d, %eax
roll $0x5, %eax
addl %esi, %edi
addl %eax, %edi
movq -0x48(%rsp), %rbx
xorl %r15d, %ebx
roll $0x1e, %ebp
xorl -0x80(%rsp), %ebx
movl %edi, %eax
roll $0x5, %eax
xorl %r11d, %ebx
roll %ebx
movl %ebx, -0x8(%rsp)
addl %r13d, %ebx
movl %ebp, %ecx
xorl %r8d, %ecx
xorl %r9d, %ecx
addl %ecx, %ebx
addl %eax, %ebx
movq %rbx, %rcx
movl -0x74(%rsp), %esi
xorl %r14d, %esi
xorl -0x7c(%rsp), %esi
roll $0x1e, %r9d
movl 0x18(%rsp), %r14d
addl %r9d, %r14d
xorl %ebp, %r9d
xorl %edi, %r9d
roll $0x1e, %edi
xorl %edx, %esi
movl 0x1c(%rsp), %ebx
addl %edi, %ebx
roll %esi
movl %esi, -0x4(%rsp)
addl 0x10(%rsp), %esi
addl %r8d, %esi
movl $0xca62c1d6, %edx       # imm = 0xCA62C1D6
leal (%rcx,%rdx), %eax
roll $0x5, %eax
movl %esi, %r8d
addl %r9d, %r8d
addl %edx, %r8d
addl %eax, %r8d
movq (%rsp), %rax
movl %r8d, (%rax)
movq 0x28(%rsp), %rdi
addl %ecx, %edi
addl $0xca62c1d6, %edi       # imm = 0xCA62C1D6
movl %edi, 0x4(%rax)
movl %ebx, 0x8(%rax)
movl %r14d, 0xc(%rax)
movl 0x14(%rsp), %edx
addl %ebp, %edx
movl %edx, 0x10(%rax)
addq %r12, %r10
movl %r8d, %r9d
movl %edx, %eax
movl %r14d, %r11d
movl %ebx, %ecx
movl %edi, %r13d
cmpq 0x20(%rsp), %r10
jb 0x4ea3
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq