// File: /workspace/github_c_makefile_star2_O0/Tarsnap[P]kivaloo/liball/../libcperciva/alg/sha256_shani.c
// Function: SHA256_Transform_shani
void
SHA256_Transform_shani(uint32_t state[static restrict 8],
    const uint8_t block[static restrict 64])
{
	__m128i S3210, S7654;
	__m128i S0123, S4567;
	__m128i S0145, S2367;
	__m128i W[4];
	__m128i S[2];

	/* Load state. */
	S3210 = _mm_loadu_si128((const __m128i *)&state[0]);
	S7654 = _mm_loadu_si128((const __m128i *)&state[4]);

	/* Shuffle the 8 32-bit values into the order we need them. */
	S0123 = _mm_shuffle_epi32(S3210, 0x1B);
	S4567 = _mm_shuffle_epi32(S7654, 0x1B);
	S0145 = _mm_unpackhi_epi64(S4567, S0123);
	S2367 = _mm_unpacklo_epi64(S4567, S0123);

	/* Load input block; this is the start of the message schedule. */
	W[0] = be32dec_128(&block[0]);
	W[1] = be32dec_128(&block[16]);
	W[2] = be32dec_128(&block[32]);
	W[3] = be32dec_128(&block[48]);

	/* Initialize working variables. */
	S[0] = S0145;
	S[1] = S2367;

	/* Perform 64 rounds, 4 at a time. */
	RNDMSG(S, W, 0, 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5);
	RNDMSG(S, W, 1, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5);
	RNDMSG(S, W, 2, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3);
	RNDMSG(S, W, 3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174);
	RNDMSG(S, W, 4, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc);
	RNDMSG(S, W, 5, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da);
	RNDMSG(S, W, 6, 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7);
	RNDMSG(S, W, 7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967);
	RNDMSG(S, W, 8, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13);
	RNDMSG(S, W, 9, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85);
	RNDMSG(S, W, 10, 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3);
	RNDMSG(S, W, 11, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070);
	RNDMSG(S, W, 12, 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5);
	RNDMSG(S, W, 13, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3);
	RNDMSG(S, W, 14, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208);
	RNDMSG(S, W, 15, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2);

	/* Mix local working variables into global state. */
	S0145 = _mm_add_epi32(S0145, S[0]);
	S2367 = _mm_add_epi32(S2367, S[1]);

	/* Shuffle state back to the original word order and store. */
	S0123 = _mm_unpackhi_epi64(S2367, S0145);
	S4567 = _mm_unpacklo_epi64(S2367, S0145);
	S3210 = _mm_shuffle_epi32(S0123, 0x1B);
	S7654 = _mm_shuffle_epi32(S4567, 0x1B);
	_mm_storeu_si128((__m128i *)&state[0], S3210);
	_mm_storeu_si128((__m128i *)&state[4], S7654);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1160, %rsp           # imm = 0x1160
movq %rdi, -0xf98(%rbp)
movq %rsi, -0xfa0(%rbp)
movq -0xf98(%rbp), %rax
movq %rax, -0xf88(%rbp)
movq -0xf88(%rbp), %rax
movups (%rax), %xmm0
movaps %xmm0, -0xfb0(%rbp)
movq -0xf98(%rbp), %rax
addq $0x10, %rax
movq %rax, -0xf90(%rbp)
movq -0xf90(%rbp), %rax
movups (%rax), %xmm0
movaps %xmm0, -0xfc0(%rbp)
movaps -0xfb0(%rbp), %xmm0
pshufd $0x1b, %xmm0, %xmm0     # xmm0 = xmm0[3,2,1,0]
movaps %xmm0, -0xfd0(%rbp)
movaps -0xfc0(%rbp), %xmm0
pshufd $0x1b, %xmm0, %xmm0     # xmm0 = xmm0[3,2,1,0]
movaps %xmm0, -0xfe0(%rbp)
movaps -0xfe0(%rbp), %xmm1
movaps -0xfd0(%rbp), %xmm0
movaps %xmm1, -0xf50(%rbp)
movaps %xmm0, -0xf60(%rbp)
movaps -0xf50(%rbp), %xmm0
movaps -0xf60(%rbp), %xmm1
punpckhqdq %xmm1, %xmm0    # xmm0 = xmm0[1],xmm1[1]
movaps %xmm0, -0xff0(%rbp)
movaps -0xfe0(%rbp), %xmm1
movaps -0xfd0(%rbp), %xmm0
movaps %xmm1, -0xf10(%rbp)
movaps %xmm0, -0xf20(%rbp)
movaps -0xf10(%rbp), %xmm0
movaps -0xf20(%rbp), %xmm1
punpcklqdq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0]
movdqa %xmm0, -0x1000(%rbp)
movq -0xfa0(%rbp), %rdi
callq 0x1aab0
movdqa %xmm0, -0x1040(%rbp)
movq -0xfa0(%rbp), %rdi
addq $0x10, %rdi
callq 0x1aab0
movdqa %xmm0, -0x1030(%rbp)
movq -0xfa0(%rbp), %rdi
addq $0x20, %rdi
callq 0x1aab0
movdqa %xmm0, -0x1020(%rbp)
movq -0xfa0(%rbp), %rdi
addq $0x30, %rdi
callq 0x1aab0
movdqa %xmm0, -0x1010(%rbp)
movdqa -0xff0(%rbp), %xmm0
movdqa %xmm0, -0x1060(%rbp)
movdqa -0x1000(%rbp), %xmm0
movdqa %xmm0, -0x1050(%rbp)
jmp 0x18bda
movaps -0x1040(%rbp), %xmm1
movl $0xe9b5dba5, -0x944(%rbp) # imm = 0xE9B5DBA5
movl $0xb5c0fbcf, -0x948(%rbp) # imm = 0xB5C0FBCF
movl $0x71374491, -0x94c(%rbp) # imm = 0x71374491
movl $0x428a2f98, -0x950(%rbp) # imm = 0x428A2F98
movd -0x944(%rbp), %xmm0
movd -0x948(%rbp), %xmm2
punpckldq %xmm0, %xmm2    # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]
movd -0x94c(%rbp), %xmm3
movd -0x950(%rbp), %xmm0
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
punpcklqdq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0]
movaps %xmm0, -0x960(%rbp)
movaps -0x960(%rbp), %xmm0
movaps %xmm1, -0xb50(%rbp)
movaps %xmm0, -0xb60(%rbp)
movaps -0xb50(%rbp), %xmm0
movaps -0xb60(%rbp), %xmm1
paddd %xmm1, %xmm0
movaps %xmm0, -0x1070(%rbp)
movaps -0x1060(%rbp), %xmm1
movaps -0x1050(%rbp), %xmm2
movaps -0x1070(%rbp), %xmm0
movaps %xmm2, -0x350(%rbp)
movaps %xmm1, -0x360(%rbp)
movaps %xmm0, -0x370(%rbp)
movaps -0x350(%rbp), %xmm1
movaps -0x360(%rbp), %xmm2
movaps -0x370(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movaps %xmm0, -0x1050(%rbp)
movaps -0x1070(%rbp), %xmm0
psrldq $0x8, %xmm0             # xmm0 = xmm0[8,9,10,11,12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero
movdqa %xmm0, -0x1070(%rbp)
movdqa -0x1060(%rbp), %xmm2
movdqa -0x1050(%rbp), %xmm1
movdqa -0x1070(%rbp), %xmm0
movdqa %xmm2, -0x380(%rbp)
movdqa %xmm1, -0x390(%rbp)
movdqa %xmm0, -0x3a0(%rbp)
movdqa -0x380(%rbp), %xmm1
movdqa -0x390(%rbp), %xmm2
movdqa -0x3a0(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movdqa %xmm0, -0x1060(%rbp)
jmp 0x18d24
movaps -0x1040(%rbp), %xmm1
movaps -0x1030(%rbp), %xmm0
movaps %xmm1, -0x1d0(%rbp)
movaps %xmm0, -0x1e0(%rbp)
movaps -0x1d0(%rbp), %xmm0
movaps -0x1e0(%rbp), %xmm1
sha256msg1 %xmm1, %xmm0
movaps %xmm0, -0x1040(%rbp)
movaps -0x1040(%rbp), %xmm1
movaps -0x1020(%rbp), %xmm2
movaps -0x1010(%rbp), %xmm0
palignr $0x4, %xmm2, %xmm0      # xmm0 = xmm2[4,5,6,7,8,9,10,11,12,13,14,15],xmm0[0,1,2,3]
movdqa %xmm1, -0xb70(%rbp)
movdqa %xmm0, -0xb80(%rbp)
movdqa -0xb70(%rbp), %xmm0
movdqa -0xb80(%rbp), %xmm1
paddd %xmm1, %xmm0
movdqa %xmm0, -0x1040(%rbp)
movdqa -0x1040(%rbp), %xmm1
movdqa -0x1010(%rbp), %xmm0
movdqa %xmm1, -0x50(%rbp)
movdqa %xmm0, -0x60(%rbp)
movdqa -0x50(%rbp), %xmm0
movdqa -0x60(%rbp), %xmm1
sha256msg2 %xmm1, %xmm0
movdqa %xmm0, -0x1040(%rbp)
jmp 0x18dd2
jmp 0x18dd4
jmp 0x18dd6
movaps -0x1030(%rbp), %xmm1
movl $0xab1c5ed5, -0x964(%rbp) # imm = 0xAB1C5ED5
movl $0x923f82a4, -0x968(%rbp) # imm = 0x923F82A4
movl $0x59f111f1, -0x96c(%rbp) # imm = 0x59F111F1
movl $0x3956c25b, -0x970(%rbp) # imm = 0x3956C25B
movd -0x964(%rbp), %xmm0
movd -0x968(%rbp), %xmm2
punpckldq %xmm0, %xmm2    # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]
movd -0x96c(%rbp), %xmm3
movd -0x970(%rbp), %xmm0
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
punpcklqdq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0]
movaps %xmm0, -0x980(%rbp)
movaps -0x980(%rbp), %xmm0
movaps %xmm1, -0xb90(%rbp)
movaps %xmm0, -0xba0(%rbp)
movaps -0xb90(%rbp), %xmm0
movaps -0xba0(%rbp), %xmm1
paddd %xmm1, %xmm0
movaps %xmm0, -0x1080(%rbp)
movaps -0x1060(%rbp), %xmm1
movaps -0x1050(%rbp), %xmm2
movaps -0x1080(%rbp), %xmm0
movaps %xmm2, -0x3b0(%rbp)
movaps %xmm1, -0x3c0(%rbp)
movaps %xmm0, -0x3d0(%rbp)
movaps -0x3b0(%rbp), %xmm1
movaps -0x3c0(%rbp), %xmm2
movaps -0x3d0(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movaps %xmm0, -0x1050(%rbp)
movaps -0x1080(%rbp), %xmm0
psrldq $0x8, %xmm0             # xmm0 = xmm0[8,9,10,11,12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero
movdqa %xmm0, -0x1080(%rbp)
movdqa -0x1060(%rbp), %xmm2
movdqa -0x1050(%rbp), %xmm1
movdqa -0x1080(%rbp), %xmm0
movdqa %xmm2, -0x3e0(%rbp)
movdqa %xmm1, -0x3f0(%rbp)
movdqa %xmm0, -0x400(%rbp)
movdqa -0x3e0(%rbp), %xmm1
movdqa -0x3f0(%rbp), %xmm2
movdqa -0x400(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movdqa %xmm0, -0x1060(%rbp)
jmp 0x18f20
movaps -0x1030(%rbp), %xmm1
movaps -0x1020(%rbp), %xmm0
movaps %xmm1, -0x1f0(%rbp)
movaps %xmm0, -0x200(%rbp)
movaps -0x1f0(%rbp), %xmm0
movaps -0x200(%rbp), %xmm1
sha256msg1 %xmm1, %xmm0
movaps %xmm0, -0x1030(%rbp)
movaps -0x1040(%rbp), %xmm0
movaps -0x1030(%rbp), %xmm1
movaps -0x1010(%rbp), %xmm2
palignr $0x4, %xmm2, %xmm0      # xmm0 = xmm2[4,5,6,7,8,9,10,11,12,13,14,15],xmm0[0,1,2,3]
movdqa %xmm1, -0xbb0(%rbp)
movdqa %xmm0, -0xbc0(%rbp)
movdqa -0xbb0(%rbp), %xmm0
movdqa -0xbc0(%rbp), %xmm1
paddd %xmm1, %xmm0
movdqa %xmm0, -0x1030(%rbp)
movdqa -0x1030(%rbp), %xmm1
movdqa -0x1040(%rbp), %xmm0
movdqa %xmm1, -0x70(%rbp)
movdqa %xmm0, -0x80(%rbp)
movdqa -0x70(%rbp), %xmm0
movdqa -0x80(%rbp), %xmm1
sha256msg2 %xmm1, %xmm0
movdqa %xmm0, -0x1030(%rbp)
jmp 0x18fce
jmp 0x18fd0
jmp 0x18fd2
movaps -0x1020(%rbp), %xmm1
movl $0x550c7dc3, -0x984(%rbp) # imm = 0x550C7DC3
movl $0x243185be, -0x988(%rbp) # imm = 0x243185BE
movl $0x12835b01, -0x98c(%rbp) # imm = 0x12835B01
movl $0xd807aa98, -0x990(%rbp) # imm = 0xD807AA98
movd -0x984(%rbp), %xmm0
movd -0x988(%rbp), %xmm2
punpckldq %xmm0, %xmm2    # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]
movd -0x98c(%rbp), %xmm3
movd -0x990(%rbp), %xmm0
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
punpcklqdq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0]
movaps %xmm0, -0x9a0(%rbp)
movaps -0x9a0(%rbp), %xmm0
movaps %xmm1, -0xbd0(%rbp)
movaps %xmm0, -0xbe0(%rbp)
movaps -0xbd0(%rbp), %xmm0
movaps -0xbe0(%rbp), %xmm1
paddd %xmm1, %xmm0
movaps %xmm0, -0x1090(%rbp)
movaps -0x1060(%rbp), %xmm1
movaps -0x1050(%rbp), %xmm2
movaps -0x1090(%rbp), %xmm0
movaps %xmm2, -0x410(%rbp)
movaps %xmm1, -0x420(%rbp)
movaps %xmm0, -0x430(%rbp)
movaps -0x410(%rbp), %xmm1
movaps -0x420(%rbp), %xmm2
movaps -0x430(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movaps %xmm0, -0x1050(%rbp)
movaps -0x1090(%rbp), %xmm0
psrldq $0x8, %xmm0             # xmm0 = xmm0[8,9,10,11,12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero
movdqa %xmm0, -0x1090(%rbp)
movdqa -0x1060(%rbp), %xmm2
movdqa -0x1050(%rbp), %xmm1
movdqa -0x1090(%rbp), %xmm0
movdqa %xmm2, -0x440(%rbp)
movdqa %xmm1, -0x450(%rbp)
movdqa %xmm0, -0x460(%rbp)
movdqa -0x440(%rbp), %xmm1
movdqa -0x450(%rbp), %xmm2
movdqa -0x460(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movdqa %xmm0, -0x1060(%rbp)
jmp 0x1911c
movaps -0x1020(%rbp), %xmm1
movaps -0x1010(%rbp), %xmm0
movaps %xmm1, -0x210(%rbp)
movaps %xmm0, -0x220(%rbp)
movaps -0x210(%rbp), %xmm0
movaps -0x220(%rbp), %xmm1
sha256msg1 %xmm1, %xmm0
movaps %xmm0, -0x1020(%rbp)
movaps -0x1040(%rbp), %xmm2
movaps -0x1030(%rbp), %xmm0
movaps -0x1020(%rbp), %xmm1
palignr $0x4, %xmm2, %xmm0      # xmm0 = xmm2[4,5,6,7,8,9,10,11,12,13,14,15],xmm0[0,1,2,3]
movdqa %xmm1, -0xbf0(%rbp)
movdqa %xmm0, -0xc00(%rbp)
movdqa -0xbf0(%rbp), %xmm0
movdqa -0xc00(%rbp), %xmm1
paddd %xmm1, %xmm0
movdqa %xmm0, -0x1020(%rbp)
movdqa -0x1020(%rbp), %xmm1
movdqa -0x1030(%rbp), %xmm0
movdqa %xmm1, -0x90(%rbp)
movdqa %xmm0, -0xa0(%rbp)
movdqa -0x90(%rbp), %xmm0
movdqa -0xa0(%rbp), %xmm1
sha256msg2 %xmm1, %xmm0
movdqa %xmm0, -0x1020(%rbp)
jmp 0x191d6
jmp 0x191d8
jmp 0x191da
movaps -0x1010(%rbp), %xmm1
movl $0xc19bf174, -0x9a4(%rbp) # imm = 0xC19BF174
movl $0x9bdc06a7, -0x9a8(%rbp) # imm = 0x9BDC06A7
movl $0x80deb1fe, -0x9ac(%rbp) # imm = 0x80DEB1FE
movl $0x72be5d74, -0x9b0(%rbp) # imm = 0x72BE5D74
movd -0x9a4(%rbp), %xmm0
movd -0x9a8(%rbp), %xmm2
punpckldq %xmm0, %xmm2    # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]
movd -0x9ac(%rbp), %xmm3
movd -0x9b0(%rbp), %xmm0
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
punpcklqdq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0]
movaps %xmm0, -0x9c0(%rbp)
movaps -0x9c0(%rbp), %xmm0
movaps %xmm1, -0xc10(%rbp)
movaps %xmm0, -0xc20(%rbp)
movaps -0xc10(%rbp), %xmm0
movaps -0xc20(%rbp), %xmm1
paddd %xmm1, %xmm0
movaps %xmm0, -0x10a0(%rbp)
movaps -0x1060(%rbp), %xmm1
movaps -0x1050(%rbp), %xmm2
movaps -0x10a0(%rbp), %xmm0
movaps %xmm2, -0x470(%rbp)
movaps %xmm1, -0x480(%rbp)
movaps %xmm0, -0x490(%rbp)
movaps -0x470(%rbp), %xmm1
movaps -0x480(%rbp), %xmm2
movaps -0x490(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movaps %xmm0, -0x1050(%rbp)
movaps -0x10a0(%rbp), %xmm0
psrldq $0x8, %xmm0             # xmm0 = xmm0[8,9,10,11,12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero
movdqa %xmm0, -0x10a0(%rbp)
movdqa -0x1060(%rbp), %xmm2
movdqa -0x1050(%rbp), %xmm1
movdqa -0x10a0(%rbp), %xmm0
movdqa %xmm2, -0x4a0(%rbp)
movdqa %xmm1, -0x4b0(%rbp)
movdqa %xmm0, -0x4c0(%rbp)
movdqa -0x4a0(%rbp), %xmm1
movdqa -0x4b0(%rbp), %xmm2
movdqa -0x4c0(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movdqa %xmm0, -0x1060(%rbp)
jmp 0x19324
movaps -0x1040(%rbp), %xmm0
movaps -0x1010(%rbp), %xmm1
movaps %xmm1, -0x230(%rbp)
movaps %xmm0, -0x240(%rbp)
movaps -0x230(%rbp), %xmm0
movaps -0x240(%rbp), %xmm1
sha256msg1 %xmm1, %xmm0
movaps %xmm0, -0x1010(%rbp)
movaps -0x1030(%rbp), %xmm2
movaps -0x1020(%rbp), %xmm0
movaps -0x1010(%rbp), %xmm1
palignr $0x4, %xmm2, %xmm0      # xmm0 = xmm2[4,5,6,7,8,9,10,11,12,13,14,15],xmm0[0,1,2,3]
movdqa %xmm1, -0xc30(%rbp)
movdqa %xmm0, -0xc40(%rbp)
movdqa -0xc30(%rbp), %xmm0
movdqa -0xc40(%rbp), %xmm1
paddd %xmm1, %xmm0
movdqa %xmm0, -0x1010(%rbp)
movdqa -0x1010(%rbp), %xmm1
movdqa -0x1020(%rbp), %xmm0
movdqa %xmm1, -0xb0(%rbp)
movdqa %xmm0, -0xc0(%rbp)
movdqa -0xb0(%rbp), %xmm0
movdqa -0xc0(%rbp), %xmm1
sha256msg2 %xmm1, %xmm0
movdqa %xmm0, -0x1010(%rbp)
jmp 0x193de
jmp 0x193e0
jmp 0x193e2
movaps -0x1040(%rbp), %xmm1
movl $0x240ca1cc, -0x9c4(%rbp) # imm = 0x240CA1CC
movl $0xfc19dc6, -0x9c8(%rbp) # imm = 0xFC19DC6
movl $0xefbe4786, -0x9cc(%rbp) # imm = 0xEFBE4786
movl $0xe49b69c1, -0x9d0(%rbp) # imm = 0xE49B69C1
movd -0x9c4(%rbp), %xmm0
movd -0x9c8(%rbp), %xmm2
punpckldq %xmm0, %xmm2    # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]
movd -0x9cc(%rbp), %xmm3
movd -0x9d0(%rbp), %xmm0
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
punpcklqdq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0]
movaps %xmm0, -0x9e0(%rbp)
movaps -0x9e0(%rbp), %xmm0
movaps %xmm1, -0xc50(%rbp)
movaps %xmm0, -0xc60(%rbp)
movaps -0xc50(%rbp), %xmm0
movaps -0xc60(%rbp), %xmm1
paddd %xmm1, %xmm0
movaps %xmm0, -0x10b0(%rbp)
movaps -0x1060(%rbp), %xmm1
movaps -0x1050(%rbp), %xmm2
movaps -0x10b0(%rbp), %xmm0
movaps %xmm2, -0x4d0(%rbp)
movaps %xmm1, -0x4e0(%rbp)
movaps %xmm0, -0x4f0(%rbp)
movaps -0x4d0(%rbp), %xmm1
movaps -0x4e0(%rbp), %xmm2
movaps -0x4f0(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movaps %xmm0, -0x1050(%rbp)
movaps -0x10b0(%rbp), %xmm0
psrldq $0x8, %xmm0             # xmm0 = xmm0[8,9,10,11,12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero
movdqa %xmm0, -0x10b0(%rbp)
movdqa -0x1060(%rbp), %xmm2
movdqa -0x1050(%rbp), %xmm1
movdqa -0x10b0(%rbp), %xmm0
movdqa %xmm2, -0x500(%rbp)
movdqa %xmm1, -0x510(%rbp)
movdqa %xmm0, -0x520(%rbp)
movdqa -0x500(%rbp), %xmm1
movdqa -0x510(%rbp), %xmm2
movdqa -0x520(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movdqa %xmm0, -0x1060(%rbp)
jmp 0x1952c
movaps -0x1040(%rbp), %xmm1
movaps -0x1030(%rbp), %xmm0
movaps %xmm1, -0x250(%rbp)
movaps %xmm0, -0x260(%rbp)
movaps -0x250(%rbp), %xmm0
movaps -0x260(%rbp), %xmm1
sha256msg1 %xmm1, %xmm0
movaps %xmm0, -0x1040(%rbp)
movaps -0x1040(%rbp), %xmm1
movaps -0x1020(%rbp), %xmm2
movaps -0x1010(%rbp), %xmm0
palignr $0x4, %xmm2, %xmm0      # xmm0 = xmm2[4,5,6,7,8,9,10,11,12,13,14,15],xmm0[0,1,2,3]
movdqa %xmm1, -0xc70(%rbp)
movdqa %xmm0, -0xc80(%rbp)
movdqa -0xc70(%rbp), %xmm0
movdqa -0xc80(%rbp), %xmm1
paddd %xmm1, %xmm0
movdqa %xmm0, -0x1040(%rbp)
movdqa -0x1040(%rbp), %xmm1
movdqa -0x1010(%rbp), %xmm0
movdqa %xmm1, -0xd0(%rbp)
movdqa %xmm0, -0xe0(%rbp)
movdqa -0xd0(%rbp), %xmm0
movdqa -0xe0(%rbp), %xmm1
sha256msg2 %xmm1, %xmm0
movdqa %xmm0, -0x1040(%rbp)
jmp 0x195e6
jmp 0x195e8
jmp 0x195ea
movaps -0x1030(%rbp), %xmm1
movl $0x76f988da, -0x9e4(%rbp) # imm = 0x76F988DA
movl $0x5cb0a9dc, -0x9e8(%rbp) # imm = 0x5CB0A9DC
movl $0x4a7484aa, -0x9ec(%rbp) # imm = 0x4A7484AA
movl $0x2de92c6f, -0x9f0(%rbp) # imm = 0x2DE92C6F
movd -0x9e4(%rbp), %xmm0
movd -0x9e8(%rbp), %xmm2
punpckldq %xmm0, %xmm2    # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]
movd -0x9ec(%rbp), %xmm3
movd -0x9f0(%rbp), %xmm0
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
punpcklqdq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0]
movaps %xmm0, -0xa00(%rbp)
movaps -0xa00(%rbp), %xmm0
movaps %xmm1, -0xc90(%rbp)
movaps %xmm0, -0xca0(%rbp)
movaps -0xc90(%rbp), %xmm0
movaps -0xca0(%rbp), %xmm1
paddd %xmm1, %xmm0
movaps %xmm0, -0x10c0(%rbp)
movaps -0x1060(%rbp), %xmm1
movaps -0x1050(%rbp), %xmm2
movaps -0x10c0(%rbp), %xmm0
movaps %xmm2, -0x530(%rbp)
movaps %xmm1, -0x540(%rbp)
movaps %xmm0, -0x550(%rbp)
movaps -0x530(%rbp), %xmm1
movaps -0x540(%rbp), %xmm2
movaps -0x550(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movaps %xmm0, -0x1050(%rbp)
movaps -0x10c0(%rbp), %xmm0
psrldq $0x8, %xmm0             # xmm0 = xmm0[8,9,10,11,12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero
movdqa %xmm0, -0x10c0(%rbp)
movdqa -0x1060(%rbp), %xmm2
movdqa -0x1050(%rbp), %xmm1
movdqa -0x10c0(%rbp), %xmm0
movdqa %xmm2, -0x560(%rbp)
movdqa %xmm1, -0x570(%rbp)
movdqa %xmm0, -0x580(%rbp)
movdqa -0x560(%rbp), %xmm1
movdqa -0x570(%rbp), %xmm2
movdqa -0x580(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movdqa %xmm0, -0x1060(%rbp)
jmp 0x19734
movaps -0x1030(%rbp), %xmm1
movaps -0x1020(%rbp), %xmm0
movaps %xmm1, -0x270(%rbp)
movaps %xmm0, -0x280(%rbp)
movaps -0x270(%rbp), %xmm0
movaps -0x280(%rbp), %xmm1
sha256msg1 %xmm1, %xmm0
movaps %xmm0, -0x1030(%rbp)
movaps -0x1040(%rbp), %xmm0
movaps -0x1030(%rbp), %xmm1
movaps -0x1010(%rbp), %xmm2
palignr $0x4, %xmm2, %xmm0      # xmm0 = xmm2[4,5,6,7,8,9,10,11,12,13,14,15],xmm0[0,1,2,3]
movdqa %xmm1, -0xcb0(%rbp)
movdqa %xmm0, -0xcc0(%rbp)
movdqa -0xcb0(%rbp), %xmm0
movdqa -0xcc0(%rbp), %xmm1
paddd %xmm1, %xmm0
movdqa %xmm0, -0x1030(%rbp)
movdqa -0x1030(%rbp), %xmm1
movdqa -0x1040(%rbp), %xmm0
movdqa %xmm1, -0xf0(%rbp)
movdqa %xmm0, -0x100(%rbp)
movdqa -0xf0(%rbp), %xmm0
movdqa -0x100(%rbp), %xmm1
sha256msg2 %xmm1, %xmm0
movdqa %xmm0, -0x1030(%rbp)
jmp 0x197ee
jmp 0x197f0
jmp 0x197f2
movaps -0x1020(%rbp), %xmm1
movl $0xbf597fc7, -0xa04(%rbp) # imm = 0xBF597FC7
movl $0xb00327c8, -0xa08(%rbp) # imm = 0xB00327C8
movl $0xa831c66d, -0xa0c(%rbp) # imm = 0xA831C66D
movl $0x983e5152, -0xa10(%rbp) # imm = 0x983E5152
movd -0xa04(%rbp), %xmm0
movd -0xa08(%rbp), %xmm2
punpckldq %xmm0, %xmm2    # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]
movd -0xa0c(%rbp), %xmm3
movd -0xa10(%rbp), %xmm0
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
punpcklqdq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0]
movaps %xmm0, -0xa20(%rbp)
movaps -0xa20(%rbp), %xmm0
movaps %xmm1, -0xcd0(%rbp)
movaps %xmm0, -0xce0(%rbp)
movaps -0xcd0(%rbp), %xmm0
movaps -0xce0(%rbp), %xmm1
paddd %xmm1, %xmm0
movaps %xmm0, -0x10d0(%rbp)
movaps -0x1060(%rbp), %xmm1
movaps -0x1050(%rbp), %xmm2
movaps -0x10d0(%rbp), %xmm0
movaps %xmm2, -0x590(%rbp)
movaps %xmm1, -0x5a0(%rbp)
movaps %xmm0, -0x5b0(%rbp)
movaps -0x590(%rbp), %xmm1
movaps -0x5a0(%rbp), %xmm2
movaps -0x5b0(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movaps %xmm0, -0x1050(%rbp)
movaps -0x10d0(%rbp), %xmm0
psrldq $0x8, %xmm0             # xmm0 = xmm0[8,9,10,11,12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero
movdqa %xmm0, -0x10d0(%rbp)
movdqa -0x1060(%rbp), %xmm2
movdqa -0x1050(%rbp), %xmm1
movdqa -0x10d0(%rbp), %xmm0
movdqa %xmm2, -0x5c0(%rbp)
movdqa %xmm1, -0x5d0(%rbp)
movdqa %xmm0, -0x5e0(%rbp)
movdqa -0x5c0(%rbp), %xmm1
movdqa -0x5d0(%rbp), %xmm2
movdqa -0x5e0(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movdqa %xmm0, -0x1060(%rbp)
jmp 0x1993c
movaps -0x1020(%rbp), %xmm1
movaps -0x1010(%rbp), %xmm0
movaps %xmm1, -0x290(%rbp)
movaps %xmm0, -0x2a0(%rbp)
movaps -0x290(%rbp), %xmm0
movaps -0x2a0(%rbp), %xmm1
sha256msg1 %xmm1, %xmm0
movaps %xmm0, -0x1020(%rbp)
movaps -0x1040(%rbp), %xmm2
movaps -0x1030(%rbp), %xmm0
movaps -0x1020(%rbp), %xmm1
palignr $0x4, %xmm2, %xmm0      # xmm0 = xmm2[4,5,6,7,8,9,10,11,12,13,14,15],xmm0[0,1,2,3]
movdqa %xmm1, -0xcf0(%rbp)
movdqa %xmm0, -0xd00(%rbp)
movdqa -0xcf0(%rbp), %xmm0
movdqa -0xd00(%rbp), %xmm1
paddd %xmm1, %xmm0
movdqa %xmm0, -0x1020(%rbp)
movdqa -0x1020(%rbp), %xmm1
movdqa -0x1030(%rbp), %xmm0
movdqa %xmm1, -0x110(%rbp)
movdqa %xmm0, -0x120(%rbp)
movdqa -0x110(%rbp), %xmm0
movdqa -0x120(%rbp), %xmm1
sha256msg2 %xmm1, %xmm0
movdqa %xmm0, -0x1020(%rbp)
jmp 0x199f6
jmp 0x199f8
jmp 0x199fa
movaps -0x1010(%rbp), %xmm1
movl $0x14292967, -0xa24(%rbp) # imm = 0x14292967
movl $0x6ca6351, -0xa28(%rbp) # imm = 0x6CA6351
movl $0xd5a79147, -0xa2c(%rbp) # imm = 0xD5A79147
movl $0xc6e00bf3, -0xa30(%rbp) # imm = 0xC6E00BF3
movd -0xa24(%rbp), %xmm0
movd -0xa28(%rbp), %xmm2
punpckldq %xmm0, %xmm2    # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]
movd -0xa2c(%rbp), %xmm3
movd -0xa30(%rbp), %xmm0
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
punpcklqdq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0]
movaps %xmm0, -0xa40(%rbp)
movaps -0xa40(%rbp), %xmm0
movaps %xmm1, -0xd10(%rbp)
movaps %xmm0, -0xd20(%rbp)
movaps -0xd10(%rbp), %xmm0
movaps -0xd20(%rbp), %xmm1
paddd %xmm1, %xmm0
movaps %xmm0, -0x10e0(%rbp)
movaps -0x1060(%rbp), %xmm1
movaps -0x1050(%rbp), %xmm2
movaps -0x10e0(%rbp), %xmm0
movaps %xmm2, -0x5f0(%rbp)
movaps %xmm1, -0x600(%rbp)
movaps %xmm0, -0x610(%rbp)
movaps -0x5f0(%rbp), %xmm1
movaps -0x600(%rbp), %xmm2
movaps -0x610(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movaps %xmm0, -0x1050(%rbp)
movaps -0x10e0(%rbp), %xmm0
psrldq $0x8, %xmm0             # xmm0 = xmm0[8,9,10,11,12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero
movdqa %xmm0, -0x10e0(%rbp)
movdqa -0x1060(%rbp), %xmm2
movdqa -0x1050(%rbp), %xmm1
movdqa -0x10e0(%rbp), %xmm0
movdqa %xmm2, -0x620(%rbp)
movdqa %xmm1, -0x630(%rbp)
movdqa %xmm0, -0x640(%rbp)
movdqa -0x620(%rbp), %xmm1
movdqa -0x630(%rbp), %xmm2
movdqa -0x640(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movdqa %xmm0, -0x1060(%rbp)
jmp 0x19b44
movaps -0x1040(%rbp), %xmm0
movaps -0x1010(%rbp), %xmm1
movaps %xmm1, -0x2b0(%rbp)
movaps %xmm0, -0x2c0(%rbp)
movaps -0x2b0(%rbp), %xmm0
movaps -0x2c0(%rbp), %xmm1
sha256msg1 %xmm1, %xmm0
movaps %xmm0, -0x1010(%rbp)
movaps -0x1030(%rbp), %xmm2
movaps -0x1020(%rbp), %xmm0
movaps -0x1010(%rbp), %xmm1
palignr $0x4, %xmm2, %xmm0      # xmm0 = xmm2[4,5,6,7,8,9,10,11,12,13,14,15],xmm0[0,1,2,3]
movdqa %xmm1, -0xd30(%rbp)
movdqa %xmm0, -0xd40(%rbp)
movdqa -0xd30(%rbp), %xmm0
movdqa -0xd40(%rbp), %xmm1
paddd %xmm1, %xmm0
movdqa %xmm0, -0x1010(%rbp)
movdqa -0x1010(%rbp), %xmm1
movdqa -0x1020(%rbp), %xmm0
movdqa %xmm1, -0x130(%rbp)
movdqa %xmm0, -0x140(%rbp)
movdqa -0x130(%rbp), %xmm0
movdqa -0x140(%rbp), %xmm1
sha256msg2 %xmm1, %xmm0
movdqa %xmm0, -0x1010(%rbp)
jmp 0x19bfe
jmp 0x19c00
jmp 0x19c02
movaps -0x1040(%rbp), %xmm1
movl $0x53380d13, -0xa44(%rbp) # imm = 0x53380D13
movl $0x4d2c6dfc, -0xa48(%rbp) # imm = 0x4D2C6DFC
movl $0x2e1b2138, -0xa4c(%rbp) # imm = 0x2E1B2138
movl $0x27b70a85, -0xa50(%rbp) # imm = 0x27B70A85
movd -0xa44(%rbp), %xmm0
movd -0xa48(%rbp), %xmm2
punpckldq %xmm0, %xmm2    # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]
movd -0xa4c(%rbp), %xmm3
movd -0xa50(%rbp), %xmm0
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
punpcklqdq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0]
movaps %xmm0, -0xa60(%rbp)
movaps -0xa60(%rbp), %xmm0
movaps %xmm1, -0xd50(%rbp)
movaps %xmm0, -0xd60(%rbp)
movaps -0xd50(%rbp), %xmm0
movaps -0xd60(%rbp), %xmm1
paddd %xmm1, %xmm0
movaps %xmm0, -0x10f0(%rbp)
movaps -0x1060(%rbp), %xmm1
movaps -0x1050(%rbp), %xmm2
movaps -0x10f0(%rbp), %xmm0
movaps %xmm2, -0x650(%rbp)
movaps %xmm1, -0x660(%rbp)
movaps %xmm0, -0x670(%rbp)
movaps -0x650(%rbp), %xmm1
movaps -0x660(%rbp), %xmm2
movaps -0x670(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movaps %xmm0, -0x1050(%rbp)
movaps -0x10f0(%rbp), %xmm0
psrldq $0x8, %xmm0             # xmm0 = xmm0[8,9,10,11,12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero
movdqa %xmm0, -0x10f0(%rbp)
movdqa -0x1060(%rbp), %xmm2
movdqa -0x1050(%rbp), %xmm1
movdqa -0x10f0(%rbp), %xmm0
movdqa %xmm2, -0x680(%rbp)
movdqa %xmm1, -0x690(%rbp)
movdqa %xmm0, -0x6a0(%rbp)
movdqa -0x680(%rbp), %xmm1
movdqa -0x690(%rbp), %xmm2
movdqa -0x6a0(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movdqa %xmm0, -0x1060(%rbp)
jmp 0x19d4c
movaps -0x1040(%rbp), %xmm1
movaps -0x1030(%rbp), %xmm0
movaps %xmm1, -0x2d0(%rbp)
movaps %xmm0, -0x2e0(%rbp)
movaps -0x2d0(%rbp), %xmm0
movaps -0x2e0(%rbp), %xmm1
sha256msg1 %xmm1, %xmm0
movaps %xmm0, -0x1040(%rbp)
movaps -0x1040(%rbp), %xmm1
movaps -0x1020(%rbp), %xmm2
movaps -0x1010(%rbp), %xmm0
palignr $0x4, %xmm2, %xmm0      # xmm0 = xmm2[4,5,6,7,8,9,10,11,12,13,14,15],xmm0[0,1,2,3]
movdqa %xmm1, -0xd70(%rbp)
movdqa %xmm0, -0xd80(%rbp)
movdqa -0xd70(%rbp), %xmm0
movdqa -0xd80(%rbp), %xmm1
paddd %xmm1, %xmm0
movdqa %xmm0, -0x1040(%rbp)
movdqa -0x1040(%rbp), %xmm1
movdqa -0x1010(%rbp), %xmm0
movdqa %xmm1, -0x150(%rbp)
movdqa %xmm0, -0x160(%rbp)
movdqa -0x150(%rbp), %xmm0
movdqa -0x160(%rbp), %xmm1
sha256msg2 %xmm1, %xmm0
movdqa %xmm0, -0x1040(%rbp)
jmp 0x19e06
jmp 0x19e08
jmp 0x19e0a
movaps -0x1030(%rbp), %xmm1
movl $0x92722c85, -0xa64(%rbp) # imm = 0x92722C85
movl $0x81c2c92e, -0xa68(%rbp) # imm = 0x81C2C92E
movl $0x766a0abb, -0xa6c(%rbp) # imm = 0x766A0ABB
movl $0x650a7354, -0xa70(%rbp) # imm = 0x650A7354
movd -0xa64(%rbp), %xmm0
movd -0xa68(%rbp), %xmm2
punpckldq %xmm0, %xmm2    # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]
movd -0xa6c(%rbp), %xmm3
movd -0xa70(%rbp), %xmm0
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
punpcklqdq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0]
movaps %xmm0, -0xa80(%rbp)
movaps -0xa80(%rbp), %xmm0
movaps %xmm1, -0xd90(%rbp)
movaps %xmm0, -0xda0(%rbp)
movaps -0xd90(%rbp), %xmm0
movaps -0xda0(%rbp), %xmm1
paddd %xmm1, %xmm0
movaps %xmm0, -0x1100(%rbp)
movaps -0x1060(%rbp), %xmm1
movaps -0x1050(%rbp), %xmm2
movaps -0x1100(%rbp), %xmm0
movaps %xmm2, -0x6b0(%rbp)
movaps %xmm1, -0x6c0(%rbp)
movaps %xmm0, -0x6d0(%rbp)
movaps -0x6b0(%rbp), %xmm1
movaps -0x6c0(%rbp), %xmm2
movaps -0x6d0(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movaps %xmm0, -0x1050(%rbp)
movaps -0x1100(%rbp), %xmm0
psrldq $0x8, %xmm0             # xmm0 = xmm0[8,9,10,11,12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero
movdqa %xmm0, -0x1100(%rbp)
movdqa -0x1060(%rbp), %xmm2
movdqa -0x1050(%rbp), %xmm1
movdqa -0x1100(%rbp), %xmm0
movdqa %xmm2, -0x6e0(%rbp)
movdqa %xmm1, -0x6f0(%rbp)
movdqa %xmm0, -0x700(%rbp)
movdqa -0x6e0(%rbp), %xmm1
movdqa -0x6f0(%rbp), %xmm2
movdqa -0x700(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movdqa %xmm0, -0x1060(%rbp)
jmp 0x19f54
movaps -0x1030(%rbp), %xmm1
movaps -0x1020(%rbp), %xmm0
movaps %xmm1, -0x2f0(%rbp)
movaps %xmm0, -0x300(%rbp)
movaps -0x2f0(%rbp), %xmm0
movaps -0x300(%rbp), %xmm1
sha256msg1 %xmm1, %xmm0
movaps %xmm0, -0x1030(%rbp)
movaps -0x1040(%rbp), %xmm0
movaps -0x1030(%rbp), %xmm1
movaps -0x1010(%rbp), %xmm2
palignr $0x4, %xmm2, %xmm0      # xmm0 = xmm2[4,5,6,7,8,9,10,11,12,13,14,15],xmm0[0,1,2,3]
movdqa %xmm1, -0xdb0(%rbp)
movdqa %xmm0, -0xdc0(%rbp)
movdqa -0xdb0(%rbp), %xmm0
movdqa -0xdc0(%rbp), %xmm1
paddd %xmm1, %xmm0
movdqa %xmm0, -0x1030(%rbp)
movdqa -0x1030(%rbp), %xmm1
movdqa -0x1040(%rbp), %xmm0
movdqa %xmm1, -0x170(%rbp)
movdqa %xmm0, -0x180(%rbp)
movdqa -0x170(%rbp), %xmm0
movdqa -0x180(%rbp), %xmm1
sha256msg2 %xmm1, %xmm0
movdqa %xmm0, -0x1030(%rbp)
jmp 0x1a00e
jmp 0x1a010
jmp 0x1a012
movaps -0x1020(%rbp), %xmm1
movl $0xc76c51a3, -0xa84(%rbp) # imm = 0xC76C51A3
movl $0xc24b8b70, -0xa88(%rbp) # imm = 0xC24B8B70
movl $0xa81a664b, -0xa8c(%rbp) # imm = 0xA81A664B
movl $0xa2bfe8a1, -0xa90(%rbp) # imm = 0xA2BFE8A1
movd -0xa84(%rbp), %xmm0
movd -0xa88(%rbp), %xmm2
punpckldq %xmm0, %xmm2    # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]
movd -0xa8c(%rbp), %xmm3
movd -0xa90(%rbp), %xmm0
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
punpcklqdq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0]
movaps %xmm0, -0xaa0(%rbp)
movaps -0xaa0(%rbp), %xmm0
movaps %xmm1, -0xdd0(%rbp)
movaps %xmm0, -0xde0(%rbp)
movaps -0xdd0(%rbp), %xmm0
movaps -0xde0(%rbp), %xmm1
paddd %xmm1, %xmm0
movaps %xmm0, -0x1110(%rbp)
movaps -0x1060(%rbp), %xmm1
movaps -0x1050(%rbp), %xmm2
movaps -0x1110(%rbp), %xmm0
movaps %xmm2, -0x710(%rbp)
movaps %xmm1, -0x720(%rbp)
movaps %xmm0, -0x730(%rbp)
movaps -0x710(%rbp), %xmm1
movaps -0x720(%rbp), %xmm2
movaps -0x730(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movaps %xmm0, -0x1050(%rbp)
movaps -0x1110(%rbp), %xmm0
psrldq $0x8, %xmm0             # xmm0 = xmm0[8,9,10,11,12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero
movdqa %xmm0, -0x1110(%rbp)
movdqa -0x1060(%rbp), %xmm2
movdqa -0x1050(%rbp), %xmm1
movdqa -0x1110(%rbp), %xmm0
movdqa %xmm2, -0x740(%rbp)
movdqa %xmm1, -0x750(%rbp)
movdqa %xmm0, -0x760(%rbp)
movdqa -0x740(%rbp), %xmm1
movdqa -0x750(%rbp), %xmm2
movdqa -0x760(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movdqa %xmm0, -0x1060(%rbp)
jmp 0x1a15c
movaps -0x1020(%rbp), %xmm1
movaps -0x1010(%rbp), %xmm0
movaps %xmm1, -0x310(%rbp)
movaps %xmm0, -0x320(%rbp)
movaps -0x310(%rbp), %xmm0
movaps -0x320(%rbp), %xmm1
sha256msg1 %xmm1, %xmm0
movaps %xmm0, -0x1020(%rbp)
movaps -0x1040(%rbp), %xmm2
movaps -0x1030(%rbp), %xmm0
movaps -0x1020(%rbp), %xmm1
palignr $0x4, %xmm2, %xmm0      # xmm0 = xmm2[4,5,6,7,8,9,10,11,12,13,14,15],xmm0[0,1,2,3]
movdqa %xmm1, -0xdf0(%rbp)
movdqa %xmm0, -0xe00(%rbp)
movdqa -0xdf0(%rbp), %xmm0
movdqa -0xe00(%rbp), %xmm1
paddd %xmm1, %xmm0
movdqa %xmm0, -0x1020(%rbp)
movdqa -0x1020(%rbp), %xmm1
movdqa -0x1030(%rbp), %xmm0
movdqa %xmm1, -0x190(%rbp)
movdqa %xmm0, -0x1a0(%rbp)
movdqa -0x190(%rbp), %xmm0
movdqa -0x1a0(%rbp), %xmm1
sha256msg2 %xmm1, %xmm0
movdqa %xmm0, -0x1020(%rbp)
jmp 0x1a216
jmp 0x1a218
jmp 0x1a21a
movaps -0x1010(%rbp), %xmm1
movl $0x106aa070, -0xaa4(%rbp) # imm = 0x106AA070
movl $0xf40e3585, -0xaa8(%rbp) # imm = 0xF40E3585
movl $0xd6990624, -0xaac(%rbp) # imm = 0xD6990624
movl $0xd192e819, -0xab0(%rbp) # imm = 0xD192E819
movd -0xaa4(%rbp), %xmm0
movd -0xaa8(%rbp), %xmm2
punpckldq %xmm0, %xmm2    # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]
movd -0xaac(%rbp), %xmm3
movd -0xab0(%rbp), %xmm0
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
punpcklqdq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0]
movaps %xmm0, -0xac0(%rbp)
movaps -0xac0(%rbp), %xmm0
movaps %xmm1, -0xe10(%rbp)
movaps %xmm0, -0xe20(%rbp)
movaps -0xe10(%rbp), %xmm0
movaps -0xe20(%rbp), %xmm1
paddd %xmm1, %xmm0
movaps %xmm0, -0x1120(%rbp)
movaps -0x1060(%rbp), %xmm1
movaps -0x1050(%rbp), %xmm2
movaps -0x1120(%rbp), %xmm0
movaps %xmm2, -0x770(%rbp)
movaps %xmm1, -0x780(%rbp)
movaps %xmm0, -0x790(%rbp)
movaps -0x770(%rbp), %xmm1
movaps -0x780(%rbp), %xmm2
movaps -0x790(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movaps %xmm0, -0x1050(%rbp)
movaps -0x1120(%rbp), %xmm0
psrldq $0x8, %xmm0             # xmm0 = xmm0[8,9,10,11,12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero
movdqa %xmm0, -0x1120(%rbp)
movdqa -0x1060(%rbp), %xmm2
movdqa -0x1050(%rbp), %xmm1
movdqa -0x1120(%rbp), %xmm0
movdqa %xmm2, -0x7a0(%rbp)
movdqa %xmm1, -0x7b0(%rbp)
movdqa %xmm0, -0x7c0(%rbp)
movdqa -0x7a0(%rbp), %xmm1
movdqa -0x7b0(%rbp), %xmm2
movdqa -0x7c0(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movdqa %xmm0, -0x1060(%rbp)
jmp 0x1a364
movaps -0x1040(%rbp), %xmm0
movaps -0x1010(%rbp), %xmm1
movaps %xmm1, -0x330(%rbp)
movaps %xmm0, -0x340(%rbp)
movaps -0x330(%rbp), %xmm0
movaps -0x340(%rbp), %xmm1
sha256msg1 %xmm1, %xmm0
movaps %xmm0, -0x1010(%rbp)
movaps -0x1030(%rbp), %xmm2
movaps -0x1020(%rbp), %xmm0
movaps -0x1010(%rbp), %xmm1
palignr $0x4, %xmm2, %xmm0      # xmm0 = xmm2[4,5,6,7,8,9,10,11,12,13,14,15],xmm0[0,1,2,3]
movdqa %xmm1, -0xe30(%rbp)
movdqa %xmm0, -0xe40(%rbp)
movdqa -0xe30(%rbp), %xmm0
movdqa -0xe40(%rbp), %xmm1
paddd %xmm1, %xmm0
movdqa %xmm0, -0x1010(%rbp)
movdqa -0x1010(%rbp), %xmm1
movdqa -0x1020(%rbp), %xmm0
movdqa %xmm1, -0x1b0(%rbp)
movdqa %xmm0, -0x1c0(%rbp)
movdqa -0x1b0(%rbp), %xmm0
movdqa -0x1c0(%rbp), %xmm1
sha256msg2 %xmm1, %xmm0
movdqa %xmm0, -0x1010(%rbp)
jmp 0x1a41e
jmp 0x1a420
jmp 0x1a422
movaps -0x1040(%rbp), %xmm1
movl $0x34b0bcb5, -0xac4(%rbp) # imm = 0x34B0BCB5
movl $0x2748774c, -0xac8(%rbp) # imm = 0x2748774C
movl $0x1e376c08, -0xacc(%rbp) # imm = 0x1E376C08
movl $0x19a4c116, -0xad0(%rbp) # imm = 0x19A4C116
movd -0xac4(%rbp), %xmm0
movd -0xac8(%rbp), %xmm2
punpckldq %xmm0, %xmm2    # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]
movd -0xacc(%rbp), %xmm3
movd -0xad0(%rbp), %xmm0
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
punpcklqdq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0]
movaps %xmm0, -0xae0(%rbp)
movaps -0xae0(%rbp), %xmm0
movaps %xmm1, -0xe50(%rbp)
movaps %xmm0, -0xe60(%rbp)
movaps -0xe50(%rbp), %xmm0
movaps -0xe60(%rbp), %xmm1
paddd %xmm1, %xmm0
movaps %xmm0, -0x1130(%rbp)
movaps -0x1060(%rbp), %xmm1
movaps -0x1050(%rbp), %xmm2
movaps -0x1130(%rbp), %xmm0
movaps %xmm2, -0x7d0(%rbp)
movaps %xmm1, -0x7e0(%rbp)
movaps %xmm0, -0x7f0(%rbp)
movaps -0x7d0(%rbp), %xmm1
movaps -0x7e0(%rbp), %xmm2
movaps -0x7f0(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movaps %xmm0, -0x1050(%rbp)
movaps -0x1130(%rbp), %xmm0
psrldq $0x8, %xmm0             # xmm0 = xmm0[8,9,10,11,12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero
movdqa %xmm0, -0x1130(%rbp)
movdqa -0x1060(%rbp), %xmm2
movdqa -0x1050(%rbp), %xmm1
movdqa -0x1130(%rbp), %xmm0
movdqa %xmm2, -0x800(%rbp)
movdqa %xmm1, -0x810(%rbp)
movdqa %xmm0, -0x820(%rbp)
movdqa -0x800(%rbp), %xmm1
movdqa -0x810(%rbp), %xmm2
movdqa -0x820(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movdqa %xmm0, -0x1060(%rbp)
jmp 0x1a56c
jmp 0x1a56e
jmp 0x1a570
movaps -0x1030(%rbp), %xmm1
movl $0x682e6ff3, -0xae4(%rbp) # imm = 0x682E6FF3
movl $0x5b9cca4f, -0xae8(%rbp) # imm = 0x5B9CCA4F
movl $0x4ed8aa4a, -0xaec(%rbp) # imm = 0x4ED8AA4A
movl $0x391c0cb3, -0xaf0(%rbp) # imm = 0x391C0CB3
movd -0xae4(%rbp), %xmm0
movd -0xae8(%rbp), %xmm2
punpckldq %xmm0, %xmm2    # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]
movd -0xaec(%rbp), %xmm3
movd -0xaf0(%rbp), %xmm0
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
punpcklqdq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0]
movaps %xmm0, -0xb00(%rbp)
movaps -0xb00(%rbp), %xmm0
movaps %xmm1, -0xe70(%rbp)
movaps %xmm0, -0xe80(%rbp)
movaps -0xe70(%rbp), %xmm0
movaps -0xe80(%rbp), %xmm1
paddd %xmm1, %xmm0
movaps %xmm0, -0x1140(%rbp)
movaps -0x1060(%rbp), %xmm1
movaps -0x1050(%rbp), %xmm2
movaps -0x1140(%rbp), %xmm0
movaps %xmm2, -0x830(%rbp)
movaps %xmm1, -0x840(%rbp)
movaps %xmm0, -0x850(%rbp)
movaps -0x830(%rbp), %xmm1
movaps -0x840(%rbp), %xmm2
movaps -0x850(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movaps %xmm0, -0x1050(%rbp)
movaps -0x1140(%rbp), %xmm0
psrldq $0x8, %xmm0             # xmm0 = xmm0[8,9,10,11,12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero
movdqa %xmm0, -0x1140(%rbp)
movdqa -0x1060(%rbp), %xmm2
movdqa -0x1050(%rbp), %xmm1
movdqa -0x1140(%rbp), %xmm0
movdqa %xmm2, -0x860(%rbp)
movdqa %xmm1, -0x870(%rbp)
movdqa %xmm0, -0x880(%rbp)
movdqa -0x860(%rbp), %xmm1
movdqa -0x870(%rbp), %xmm2
movdqa -0x880(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movdqa %xmm0, -0x1060(%rbp)
jmp 0x1a6ba
jmp 0x1a6bc
jmp 0x1a6be
movaps -0x1020(%rbp), %xmm1
movl $0x8cc70208, -0xb04(%rbp) # imm = 0x8CC70208
movl $0x84c87814, -0xb08(%rbp) # imm = 0x84C87814
movl $0x78a5636f, -0xb0c(%rbp) # imm = 0x78A5636F
movl $0x748f82ee, -0xb10(%rbp) # imm = 0x748F82EE
movd -0xb04(%rbp), %xmm0
movd -0xb08(%rbp), %xmm2
punpckldq %xmm0, %xmm2    # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]
movd -0xb0c(%rbp), %xmm3
movd -0xb10(%rbp), %xmm0
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
punpcklqdq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0]
movaps %xmm0, -0xb20(%rbp)
movaps -0xb20(%rbp), %xmm0
movaps %xmm1, -0xe90(%rbp)
movaps %xmm0, -0xea0(%rbp)
movaps -0xe90(%rbp), %xmm0
movaps -0xea0(%rbp), %xmm1
paddd %xmm1, %xmm0
movaps %xmm0, -0x1150(%rbp)
movaps -0x1060(%rbp), %xmm1
movaps -0x1050(%rbp), %xmm2
movaps -0x1150(%rbp), %xmm0
movaps %xmm2, -0x890(%rbp)
movaps %xmm1, -0x8a0(%rbp)
movaps %xmm0, -0x8b0(%rbp)
movaps -0x890(%rbp), %xmm1
movaps -0x8a0(%rbp), %xmm2
movaps -0x8b0(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movaps %xmm0, -0x1050(%rbp)
movaps -0x1150(%rbp), %xmm0
psrldq $0x8, %xmm0             # xmm0 = xmm0[8,9,10,11,12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero
movdqa %xmm0, -0x1150(%rbp)
movdqa -0x1060(%rbp), %xmm2
movdqa -0x1050(%rbp), %xmm1
movdqa -0x1150(%rbp), %xmm0
movdqa %xmm2, -0x8c0(%rbp)
movdqa %xmm1, -0x8d0(%rbp)
movdqa %xmm0, -0x8e0(%rbp)
movdqa -0x8c0(%rbp), %xmm1
movdqa -0x8d0(%rbp), %xmm2
movdqa -0x8e0(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movdqa %xmm0, -0x1060(%rbp)
jmp 0x1a808
jmp 0x1a80a
jmp 0x1a80c
movaps -0x1010(%rbp), %xmm1
movl $0xc67178f2, -0xb24(%rbp) # imm = 0xC67178F2
movl $0xbef9a3f7, -0xb28(%rbp) # imm = 0xBEF9A3F7
movl $0xa4506ceb, -0xb2c(%rbp) # imm = 0xA4506CEB
movl $0x90befffa, -0xb30(%rbp) # imm = 0x90BEFFFA
movd -0xb24(%rbp), %xmm0
movd -0xb28(%rbp), %xmm2
punpckldq %xmm0, %xmm2    # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]
movd -0xb2c(%rbp), %xmm3
movd -0xb30(%rbp), %xmm0
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
punpcklqdq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0]
movaps %xmm0, -0xb40(%rbp)
movaps -0xb40(%rbp), %xmm0
movaps %xmm1, -0xeb0(%rbp)
movaps %xmm0, -0xec0(%rbp)
movaps -0xeb0(%rbp), %xmm0
movaps -0xec0(%rbp), %xmm1
paddd %xmm1, %xmm0
movaps %xmm0, -0x1160(%rbp)
movaps -0x1060(%rbp), %xmm1
movaps -0x1050(%rbp), %xmm2
movaps -0x1160(%rbp), %xmm0
movaps %xmm2, -0x8f0(%rbp)
movaps %xmm1, -0x900(%rbp)
movaps %xmm0, -0x910(%rbp)
movaps -0x8f0(%rbp), %xmm1
movaps -0x900(%rbp), %xmm2
movaps -0x910(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movaps %xmm0, -0x1050(%rbp)
movaps -0x1160(%rbp), %xmm0
psrldq $0x8, %xmm0             # xmm0 = xmm0[8,9,10,11,12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero
movdqa %xmm0, -0x1160(%rbp)
movdqa -0x1060(%rbp), %xmm2
movdqa -0x1050(%rbp), %xmm1
movdqa -0x1160(%rbp), %xmm0
movdqa %xmm2, -0x920(%rbp)
movdqa %xmm1, -0x930(%rbp)
movdqa %xmm0, -0x940(%rbp)
movdqa -0x920(%rbp), %xmm1
movdqa -0x930(%rbp), %xmm2
movdqa -0x940(%rbp), %xmm0
sha256rnds2 %xmm0, %xmm2, %xmm1
movaps %xmm1, %xmm0
movdqa %xmm0, -0x1060(%rbp)
jmp 0x1a956
movaps -0xff0(%rbp), %xmm1
movaps -0x1060(%rbp), %xmm0
movaps %xmm1, -0xed0(%rbp)
movaps %xmm0, -0xee0(%rbp)
movaps -0xed0(%rbp), %xmm0
movaps -0xee0(%rbp), %xmm1
paddd %xmm1, %xmm0
movaps %xmm0, -0xff0(%rbp)
movaps -0x1000(%rbp), %xmm1
movaps -0x1050(%rbp), %xmm0
movaps %xmm1, -0xef0(%rbp)
movaps %xmm0, -0xf00(%rbp)
movaps -0xef0(%rbp), %xmm0
movaps -0xf00(%rbp), %xmm1
paddd %xmm1, %xmm0
movaps %xmm0, -0x1000(%rbp)
movaps -0x1000(%rbp), %xmm1
movaps -0xff0(%rbp), %xmm0
movaps %xmm1, -0xf70(%rbp)
movaps %xmm0, -0xf80(%rbp)
movaps -0xf70(%rbp), %xmm0
movaps -0xf80(%rbp), %xmm1
punpckhqdq %xmm1, %xmm0    # xmm0 = xmm0[1],xmm1[1]
movaps %xmm0, -0xfd0(%rbp)
movaps -0x1000(%rbp), %xmm1
movaps -0xff0(%rbp), %xmm0
movaps %xmm1, -0xf30(%rbp)
movaps %xmm0, -0xf40(%rbp)
movaps -0xf30(%rbp), %xmm0
movaps -0xf40(%rbp), %xmm1
punpcklqdq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0]
movaps %xmm0, -0xfe0(%rbp)
movaps -0xfd0(%rbp), %xmm0
pshufd $0x1b, %xmm0, %xmm0     # xmm0 = xmm0[3,2,1,0]
movaps %xmm0, -0xfb0(%rbp)
movaps -0xfe0(%rbp), %xmm0
pshufd $0x1b, %xmm0, %xmm0     # xmm0 = xmm0[3,2,1,0]
movdqa %xmm0, -0xfc0(%rbp)
movq -0xf98(%rbp), %rax
movdqa -0xfb0(%rbp), %xmm0
movq %rax, -0x8(%rbp)
movdqa %xmm0, -0x20(%rbp)
movdqa -0x20(%rbp), %xmm0
movq -0x8(%rbp), %rax
movdqu %xmm0, (%rax)
movq -0xf98(%rbp), %rax
addq $0x10, %rax
movdqa -0xfc0(%rbp), %xmm0
movq %rax, -0x28(%rbp)
movdqa %xmm0, -0x40(%rbp)
movdqa -0x40(%rbp), %xmm0
movq -0x28(%rbp), %rax
movdqu %xmm0, (%rax)
addq $0x1160, %rsp           # imm = 0x1160
popq %rbp
retq
nopl (%rax,%rax)