// File: /workspace/github_c_makefile_star2_O0/mjosaarinen[P]brutus/crypto_aead/twine80n6t4clocv2/vperm/twine.h
// Function: Keyschedule80
void Keyschedule80(const unsigned char sk[80/8])
{
	lsbox = LOAD(S);
	usbox = SHL4(lsbox);

	int	i;
	unsigned char	tmp[80/4];
	unsigned char	wk[4];

	for(i=0; i<(80/4); i+=2)
	{
		tmp[i] = sk[i/2] >> 4;
		tmp[i+1] = sk[i/2] & 0x0f;
	}

	for(i=0; ; i+=2)
	{
		//ek for two rounds
		ek[i][0] = tmp[1];
		ek[i][1] = tmp[3];
		ek[i][2] = tmp[4];
		ek[i][3] = tmp[6];
		ek[i][4] = tmp[13];
		ek[i][5] = tmp[14];
		ek[i][6] = tmp[15];
		ek[i][7] = tmp[16];

		ek[i+1][0] = tmp[5];
		ek[i+1][1] = tmp[7] ^ CON_H[i];
		ek[i+1][2] = tmp[8];
		ek[i+1][3] = tmp[10];
		ek[i+1][4] = tmp[17];
		ek[i+1][5] = tmp[18];
		ek[i+1][6] = tmp[19] ^ CON_L[i];
		ek[i+1][7] = tmp[1] ^ S[tmp[0]];

		//to the last two rounds
		if(i == (ROUND-2))
			break;

		//rotations for two rounds
		wk[3] = tmp[4] ^ S[tmp[16]];
		wk[0] = tmp[5] ^ S[wk[3]];
		wk[1] = tmp[6];
		wk[2] = ek[i+1][1];

		tmp[4] = tmp[12];
		tmp[5] = tmp[13];
		tmp[6] = tmp[14];
		tmp[7] = tmp[15];

		tmp[12] = ek[i+1][7];
		tmp[13] = tmp[2];
		tmp[14] = tmp[3];
		tmp[15] = tmp[0] ^ CON_L[i+1];

		tmp[0] = tmp[8] ^ S[ek[i+1][7]];
		tmp[1] = tmp[9];
		tmp[2] = tmp[10];
		tmp[3] = tmp[11] ^ CON_H[i+1];

		tmp[8] = tmp[16];
		tmp[9] = tmp[17];
		tmp[10] = tmp[18];
		tmp[11] = tmp[19] ^ CON_L[i];

		tmp[16] = wk[0];
		tmp[17] = wk[1];
		tmp[18] = wk[2];
		tmp[19] = wk[3];
	}

	for(i = 0; i < ROUND; i++)
	{
#ifndef TWINE_OPTIMIZED
		rks[i] = LOADS(ek[i]);
		rks[i] = SHR8(XOR(MASK4L(rks[i]), MASK4U(SHL4(rks[i]))));
#else
        /* key setup for the optimized implementation */
		rks[i] = LOAD64(ek[i]);
		switch(i%4){
			case 0:
				rks[i] = PSHUFB(rks[i], _mm_setr_epi8(0,1,2,3,4,5,6,7,0,1,2,3,4,5,6,7));
				break;
			case 1:
				rks[i] = PSHUFB(rks[i], _mm_setr_epi8(0,2,6,4,3,1,5,7,0,2,6,4,3,1,5,7));
				break;
			case 2:
				rks[i] = PSHUFB(rks[i], _mm_setr_epi8(0,6,5,3,4,2,1,7,0,6,5,3,4,2,1,7));
				break;
			case 3:
				rks[i] = PSHUFB(rks[i], _mm_setr_epi8(0,5,1,4,3,6,2,7,0,5,1,4,3,6,2,7));
				break;
		}
#endif
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x158, %rsp            # imm = 0x158
movq %rdi, -0x38(%rsp)
movq 0x1bfa3(%rip), %rax     # 0x1eff0
movq %rax, 0x70(%rsp)
movq 0x70(%rsp), %rax
vmovdqa (%rax), %xmm0
movq 0x1bf76(%rip), %rax     # 0x1efd8
vmovdqa %xmm0, (%rax)
movq 0x1bf6b(%rip), %rax     # 0x1efd8
vmovdqa (%rax), %xmm0
vmovdqa %xmm0, 0x80(%rsp)
movl $0x4, 0x7c(%rsp)
vmovdqa 0x80(%rsp), %xmm0
movl 0x7c(%rsp), %eax
vmovd %eax, %xmm1
vpsllw %xmm1, %xmm0, %xmm0
movq 0x1bf02(%rip), %rax     # 0x1efa0
vmovdqa %xmm0, (%rax)
movl $0x0, -0x3c(%rsp)
cmpl $0x14, -0x3c(%rsp)
jge 0x3126
movq -0x38(%rsp), %rax
movq %rax, -0x68(%rsp)
movl -0x3c(%rsp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movq -0x68(%rsp), %rax
movslq %ecx, %rcx
movzbl (%rax,%rcx), %eax
sarl $0x4, %eax
movb %al, %cl
movslq -0x3c(%rsp), %rax
movb %cl, -0x50(%rsp,%rax)
movq -0x38(%rsp), %rax
movq %rax, -0x60(%rsp)
movl -0x3c(%rsp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movq -0x60(%rsp), %rax
movslq %ecx, %rcx
movzbl (%rax,%rcx), %eax
andl $0xf, %eax
movb %al, %cl
movl -0x3c(%rsp), %eax
addl $0x1, %eax
cltq
movb %cl, -0x50(%rsp,%rax)
movl -0x3c(%rsp), %eax
addl $0x2, %eax
movl %eax, -0x3c(%rsp)
jmp 0x30aa
movl $0x0, -0x3c(%rsp)
movb -0x4f(%rsp), %dl
movslq -0x3c(%rsp), %rcx
movq 0x1be82(%rip), %rax     # 0x1efc0
movb %dl, (%rax,%rcx,8)
movb -0x4d(%rsp), %dl
movslq -0x3c(%rsp), %rcx
movq 0x1be6f(%rip), %rax     # 0x1efc0
movb %dl, 0x1(%rax,%rcx,8)
movb -0x4c(%rsp), %dl
movslq -0x3c(%rsp), %rcx
movq 0x1be5b(%rip), %rax     # 0x1efc0
movb %dl, 0x2(%rax,%rcx,8)
movb -0x4a(%rsp), %dl
movslq -0x3c(%rsp), %rcx
movq 0x1be47(%rip), %rax     # 0x1efc0
movb %dl, 0x3(%rax,%rcx,8)
movb -0x43(%rsp), %dl
movslq -0x3c(%rsp), %rcx
movq 0x1be33(%rip), %rax     # 0x1efc0
movb %dl, 0x4(%rax,%rcx,8)
movb -0x42(%rsp), %dl
movslq -0x3c(%rsp), %rcx
movq 0x1be1f(%rip), %rax     # 0x1efc0
movb %dl, 0x5(%rax,%rcx,8)
movb -0x41(%rsp), %dl
movslq -0x3c(%rsp), %rcx
movq 0x1be0b(%rip), %rax     # 0x1efc0
movb %dl, 0x6(%rax,%rcx,8)
movb -0x40(%rsp), %dl
movslq -0x3c(%rsp), %rcx
movq 0x1bdf7(%rip), %rax     # 0x1efc0
movb %dl, 0x7(%rax,%rcx,8)
movb -0x4b(%rsp), %dl
movl -0x3c(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rcx
movq 0x1bdde(%rip), %rax     # 0x1efc0
movb %dl, (%rax,%rcx,8)
movzbl -0x49(%rsp), %eax
movslq -0x3c(%rsp), %rdx
movq 0x1be02(%rip), %rcx     # 0x1eff8
movzbl (%rcx,%rdx), %ecx
xorl %ecx, %eax
movb %al, %dl
movl -0x3c(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rcx
movq 0x1bdb1(%rip), %rax     # 0x1efc0
movb %dl, 0x1(%rax,%rcx,8)
movb -0x48(%rsp), %dl
movl -0x3c(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rcx
movq 0x1bd98(%rip), %rax     # 0x1efc0
movb %dl, 0x2(%rax,%rcx,8)
movb -0x46(%rsp), %dl
movl -0x3c(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rcx
movq 0x1bd7f(%rip), %rax     # 0x1efc0
movb %dl, 0x3(%rax,%rcx,8)
movb -0x3f(%rsp), %dl
movl -0x3c(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rcx
movq 0x1bd66(%rip), %rax     # 0x1efc0
movb %dl, 0x4(%rax,%rcx,8)
movb -0x3e(%rsp), %dl
movl -0x3c(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rcx
movq 0x1bd4d(%rip), %rax     # 0x1efc0
movb %dl, 0x5(%rax,%rcx,8)
movzbl -0x3d(%rsp), %eax
movslq -0x3c(%rsp), %rdx
movq 0x1bd28(%rip), %rcx     # 0x1efb0
movzbl (%rcx,%rdx), %ecx
xorl %ecx, %eax
movb %al, %dl
movl -0x3c(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rcx
movq 0x1bd1f(%rip), %rax     # 0x1efc0
movb %dl, 0x6(%rax,%rcx,8)
movzbl -0x4f(%rsp), %eax
movzbl -0x50(%rsp), %ecx
movl %ecx, %edx
movq 0x1bd38(%rip), %rcx     # 0x1eff0
movzbl (%rcx,%rdx), %ecx
xorl %ecx, %eax
movb %al, %dl
movl -0x3c(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rcx
movq 0x1bcef(%rip), %rax     # 0x1efc0
movb %dl, 0x7(%rax,%rcx,8)
cmpl $0x22, -0x3c(%rsp)
jne 0x32e1
jmp 0x3466
movzbl -0x4c(%rsp), %eax
movzbl -0x40(%rsp), %ecx
movl %ecx, %edx
movq 0x1bcfc(%rip), %rcx     # 0x1eff0
movzbl (%rcx,%rdx), %ecx
xorl %ecx, %eax
movb %al, -0x51(%rsp)
movzbl -0x4b(%rsp), %eax
movzbl -0x51(%rsp), %ecx
movl %ecx, %edx
movq 0x1bcdf(%rip), %rcx     # 0x1eff0
movzbl (%rcx,%rdx), %ecx
xorl %ecx, %eax
movb %al, -0x54(%rsp)
movb -0x4a(%rsp), %al
movb %al, -0x53(%rsp)
movl -0x3c(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rcx
movq 0x1bc8c(%rip), %rax     # 0x1efc0
movb 0x1(%rax,%rcx,8), %al
movb %al, -0x52(%rsp)
movb -0x44(%rsp), %al
movb %al, -0x4c(%rsp)
movb -0x43(%rsp), %al
movb %al, -0x4b(%rsp)
movb -0x42(%rsp), %al
movb %al, -0x4a(%rsp)
movb -0x41(%rsp), %al
movb %al, -0x49(%rsp)
movl -0x3c(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rcx
movq 0x1bc53(%rip), %rax     # 0x1efc0
movb 0x7(%rax,%rcx,8), %al
movb %al, -0x44(%rsp)
movb -0x4e(%rsp), %al
movb %al, -0x43(%rsp)
movb -0x4d(%rsp), %al
movb %al, -0x42(%rsp)
movzbl -0x50(%rsp), %eax
movl -0x3c(%rsp), %ecx
addl $0x1, %ecx
movslq %ecx, %rdx
movq 0x1bc15(%rip), %rcx     # 0x1efb0
movzbl (%rcx,%rdx), %ecx
xorl %ecx, %eax
movb %al, -0x41(%rsp)
movzbl -0x48(%rsp), %eax
movl -0x3c(%rsp), %ecx
addl $0x1, %ecx
movslq %ecx, %rdx
movq 0x1bc05(%rip), %rcx     # 0x1efc0
movzbl 0x7(%rcx,%rdx,8), %ecx
movl %ecx, %edx
movq 0x1bc27(%rip), %rcx     # 0x1eff0
movzbl (%rcx,%rdx), %ecx
xorl %ecx, %eax
movb %al, -0x50(%rsp)
movb -0x47(%rsp), %al
movb %al, -0x4f(%rsp)
movb -0x46(%rsp), %al
movb %al, -0x4e(%rsp)
movzbl -0x45(%rsp), %eax
movl -0x3c(%rsp), %ecx
addl $0x1, %ecx
movslq %ecx, %rdx
movq 0x1bbff(%rip), %rcx     # 0x1eff8
movzbl (%rcx,%rdx), %ecx
xorl %ecx, %eax
movb %al, -0x4d(%rsp)
movb -0x40(%rsp), %al
movb %al, -0x48(%rsp)
movb -0x3f(%rsp), %al
movb %al, -0x47(%rsp)
movb -0x3e(%rsp), %al
movb %al, -0x46(%rsp)
movzbl -0x3d(%rsp), %eax
movslq -0x3c(%rsp), %rdx
movq 0x1bb84(%rip), %rcx     # 0x1efb0
movzbl (%rcx,%rdx), %ecx
xorl %ecx, %eax
movb %al, -0x45(%rsp)
movb -0x54(%rsp), %al
movb %al, -0x40(%rsp)
movb -0x53(%rsp), %al
movb %al, -0x3f(%rsp)
movb -0x52(%rsp), %al
movb %al, -0x3e(%rsp)
movb -0x51(%rsp), %al
movb %al, -0x3d(%rsp)
movl -0x3c(%rsp), %eax
addl $0x2, %eax
movl %eax, -0x3c(%rsp)
jmp 0x312e
movl $0x0, -0x3c(%rsp)
cmpl $0x24, -0x3c(%rsp)
jge 0x400d
movslq -0x3c(%rsp), %rcx
movq 0x1bb3b(%rip), %rax     # 0x1efc0
leaq (%rax,%rcx,8), %rax
movq %rax, 0x68(%rsp)
movq 0x68(%rsp), %rax
vmovq (%rax), %xmm0
vmovdqa %xmm0, 0x50(%rsp)
vmovdqa 0x50(%rsp), %xmm0
movslq -0x3c(%rsp), %rcx
shlq $0x4, %rcx
movq 0x1bae5(%rip), %rax     # 0x1ef98
vmovdqa %xmm0, (%rax,%rcx)
movl -0x3c(%rsp), %eax
movl %eax, %edx
addl $0x3, %edx
testl %eax, %eax
movl %eax, %ecx
cmovsl %edx, %ecx
andl $-0x4, %ecx
subl %ecx, %eax
movl %eax, %ecx
movq %rcx, -0x70(%rsp)
subl $0x3, %eax
ja 0x3ffb
movq -0x70(%rsp), %rax
leaq 0x19b17(%rip), %rcx     # 0x1d000
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movslq -0x3c(%rsp), %rcx
shlq $0x4, %rcx
movq 0x1ba96(%rip), %rax     # 0x1ef98
vmovdqa (%rax,%rcx), %xmm1
movb $0x0, 0x12f(%rsp)
movb $0x1, 0x12e(%rsp)
movb $0x2, 0x12d(%rsp)
movb $0x3, 0x12c(%rsp)
movb $0x4, 0x12b(%rsp)
movb $0x5, 0x12a(%rsp)
movb $0x6, 0x129(%rsp)
movb $0x7, 0x128(%rsp)
movb $0x0, 0x127(%rsp)
movb $0x1, 0x126(%rsp)
movb $0x2, 0x125(%rsp)
movb $0x3, 0x124(%rsp)
movb $0x4, 0x123(%rsp)
movb $0x5, 0x122(%rsp)
movb $0x6, 0x121(%rsp)
movb $0x7, 0x120(%rsp)
movb 0x120(%rsp), %al
movb %al, -0x72(%rsp)
movb 0x121(%rsp), %r13b
movb 0x122(%rsp), %r12b
movb 0x123(%rsp), %r15b
movb 0x124(%rsp), %r14b
movb 0x125(%rsp), %bpl
movb 0x126(%rsp), %bl
movb 0x127(%rsp), %r11b
movb 0x128(%rsp), %r10b
movb 0x129(%rsp), %r9b
movb 0x12a(%rsp), %r8b
movb 0x12b(%rsp), %dil
movb 0x12c(%rsp), %sil
movb 0x12d(%rsp), %dl
movb 0x12e(%rsp), %cl
movb 0x12f(%rsp), %al
movb %al, -0x71(%rsp)
movb -0x72(%rsp), %al
movb %al, 0x157(%rsp)
movb -0x71(%rsp), %al
movb %r13b, 0x156(%rsp)
movb %r12b, 0x155(%rsp)
movb %r15b, 0x154(%rsp)
movb %r14b, 0x153(%rsp)
movb %bpl, 0x152(%rsp)
movb %bl, 0x151(%rsp)
movb %r11b, 0x150(%rsp)
movb %r10b, 0x14f(%rsp)
movb %r9b, 0x14e(%rsp)
movb %r8b, 0x14d(%rsp)
movb %dil, 0x14c(%rsp)
movb %sil, 0x14b(%rsp)
movb %dl, 0x14a(%rsp)
movb %cl, 0x149(%rsp)
movb %al, 0x148(%rsp)
movzbl 0x148(%rsp), %eax
vmovd %eax, %xmm0
movzbl 0x149(%rsp), %eax
vpinsrb $0x1, %eax, %xmm0, %xmm0
movzbl 0x14a(%rsp), %eax
vpinsrb $0x2, %eax, %xmm0, %xmm0
movzbl 0x14b(%rsp), %eax
vpinsrb $0x3, %eax, %xmm0, %xmm0
movzbl 0x14c(%rsp), %eax
vpinsrb $0x4, %eax, %xmm0, %xmm0
movzbl 0x14d(%rsp), %eax
vpinsrb $0x5, %eax, %xmm0, %xmm0
movzbl 0x14e(%rsp), %eax
vpinsrb $0x6, %eax, %xmm0, %xmm0
movzbl 0x14f(%rsp), %eax
vpinsrb $0x7, %eax, %xmm0, %xmm0
movzbl 0x150(%rsp), %eax
vpinsrb $0x8, %eax, %xmm0, %xmm0
movzbl 0x151(%rsp), %eax
vpinsrb $0x9, %eax, %xmm0, %xmm0
movzbl 0x152(%rsp), %eax
vpinsrb $0xa, %eax, %xmm0, %xmm0
movzbl 0x153(%rsp), %eax
vpinsrb $0xb, %eax, %xmm0, %xmm0
movzbl 0x154(%rsp), %eax
vpinsrb $0xc, %eax, %xmm0, %xmm0
movzbl 0x155(%rsp), %eax
vpinsrb $0xd, %eax, %xmm0, %xmm0
movzbl 0x156(%rsp), %eax
vpinsrb $0xe, %eax, %xmm0, %xmm0
movzbl 0x157(%rsp), %eax
vpinsrb $0xf, %eax, %xmm0, %xmm0
vmovdqa %xmm0, 0x130(%rsp)
vmovdqa 0x130(%rsp), %xmm0
vmovdqa %xmm1, 0x40(%rsp)
vmovdqa %xmm0, 0x30(%rsp)
vmovdqa 0x40(%rsp), %xmm0
vmovdqa 0x30(%rsp), %xmm1
vpshufb %xmm1, %xmm0, %xmm0
movslq -0x3c(%rsp), %rcx
movq 0x1b7f2(%rip), %rax     # 0x1ef98
shlq $0x4, %rcx
addq %rcx, %rax
vmovdqa %xmm0, (%rax)
jmp 0x3ffb
movslq -0x3c(%rsp), %rcx
shlq $0x4, %rcx
movq 0x1b7d2(%rip), %rax     # 0x1ef98
vmovdqa (%rax,%rcx), %xmm1
movb $0x0, 0xff(%rsp)
movb $0x2, 0xfe(%rsp)
movb $0x6, 0xfd(%rsp)
movb $0x4, 0xfc(%rsp)
movb $0x3, 0xfb(%rsp)
movb $0x1, 0xfa(%rsp)
movb $0x5, 0xf9(%rsp)
movb $0x7, 0xf8(%rsp)
movb $0x0, 0xf7(%rsp)
movb $0x2, 0xf6(%rsp)
movb $0x6, 0xf5(%rsp)
movb $0x4, 0xf4(%rsp)
movb $0x3, 0xf3(%rsp)
movb $0x1, 0xf2(%rsp)
movb $0x5, 0xf1(%rsp)
movb $0x7, 0xf0(%rsp)
movb 0xf0(%rsp), %al
movb %al, -0x74(%rsp)
movb 0xf1(%rsp), %r13b
movb 0xf2(%rsp), %r12b
movb 0xf3(%rsp), %r15b
movb 0xf4(%rsp), %r14b
movb 0xf5(%rsp), %bpl
movb 0xf6(%rsp), %bl
movb 0xf7(%rsp), %r11b
movb 0xf8(%rsp), %r10b
movb 0xf9(%rsp), %r9b
movb 0xfa(%rsp), %r8b
movb 0xfb(%rsp), %dil
movb 0xfc(%rsp), %sil
movb 0xfd(%rsp), %dl
movb 0xfe(%rsp), %cl
movb 0xff(%rsp), %al
movb %al, -0x73(%rsp)
movb -0x74(%rsp), %al
movb %al, 0x11f(%rsp)
movb -0x73(%rsp), %al
movb %r13b, 0x11e(%rsp)
movb %r12b, 0x11d(%rsp)
movb %r15b, 0x11c(%rsp)
movb %r14b, 0x11b(%rsp)
movb %bpl, 0x11a(%rsp)
movb %bl, 0x119(%rsp)
movb %r11b, 0x118(%rsp)
movb %r10b, 0x117(%rsp)
movb %r9b, 0x116(%rsp)
movb %r8b, 0x115(%rsp)
movb %dil, 0x114(%rsp)
movb %sil, 0x113(%rsp)
movb %dl, 0x112(%rsp)
movb %cl, 0x111(%rsp)
movb %al, 0x110(%rsp)
movzbl 0x110(%rsp), %eax
vmovd %eax, %xmm0
movzbl 0x111(%rsp), %eax
vpinsrb $0x1, %eax, %xmm0, %xmm0
movzbl 0x112(%rsp), %eax
vpinsrb $0x2, %eax, %xmm0, %xmm0
movzbl 0x113(%rsp), %eax
vpinsrb $0x3, %eax, %xmm0, %xmm0
movzbl 0x114(%rsp), %eax
vpinsrb $0x4, %eax, %xmm0, %xmm0
movzbl 0x115(%rsp), %eax
vpinsrb $0x5, %eax, %xmm0, %xmm0
movzbl 0x116(%rsp), %eax
vpinsrb $0x6, %eax, %xmm0, %xmm0
movzbl 0x117(%rsp), %eax
vpinsrb $0x7, %eax, %xmm0, %xmm0
movzbl 0x118(%rsp), %eax
vpinsrb $0x8, %eax, %xmm0, %xmm0
movzbl 0x119(%rsp), %eax
vpinsrb $0x9, %eax, %xmm0, %xmm0
movzbl 0x11a(%rsp), %eax
vpinsrb $0xa, %eax, %xmm0, %xmm0
movzbl 0x11b(%rsp), %eax
vpinsrb $0xb, %eax, %xmm0, %xmm0
movzbl 0x11c(%rsp), %eax
vpinsrb $0xc, %eax, %xmm0, %xmm0
movzbl 0x11d(%rsp), %eax
vpinsrb $0xd, %eax, %xmm0, %xmm0
movzbl 0x11e(%rsp), %eax
vpinsrb $0xe, %eax, %xmm0, %xmm0
movzbl 0x11f(%rsp), %eax
vpinsrb $0xf, %eax, %xmm0, %xmm0
vmovdqa %xmm0, 0x100(%rsp)
vmovdqa 0x100(%rsp), %xmm0
vmovdqa %xmm1, 0x20(%rsp)
vmovdqa %xmm0, 0x10(%rsp)
vmovdqa 0x20(%rsp), %xmm0
vmovdqa 0x10(%rsp), %xmm1
vpshufb %xmm1, %xmm0, %xmm0
movslq -0x3c(%rsp), %rcx
movq 0x1b52e(%rip), %rax     # 0x1ef98
shlq $0x4, %rcx
addq %rcx, %rax
vmovdqa %xmm0, (%rax)
jmp 0x3ffb
movslq -0x3c(%rsp), %rcx
shlq $0x4, %rcx
movq 0x1b50e(%rip), %rax     # 0x1ef98
vmovdqa (%rax,%rcx), %xmm1
movb $0x0, 0xcf(%rsp)
movb $0x6, 0xce(%rsp)
movb $0x5, 0xcd(%rsp)
movb $0x3, 0xcc(%rsp)
movb $0x4, 0xcb(%rsp)
movb $0x2, 0xca(%rsp)
movb $0x1, 0xc9(%rsp)
movb $0x7, 0xc8(%rsp)
movb $0x0, 0xc7(%rsp)
movb $0x6, 0xc6(%rsp)
movb $0x5, 0xc5(%rsp)
movb $0x3, 0xc4(%rsp)
movb $0x4, 0xc3(%rsp)
movb $0x2, 0xc2(%rsp)
movb $0x1, 0xc1(%rsp)
movb $0x7, 0xc0(%rsp)
movb 0xc0(%rsp), %al
movb %al, -0x76(%rsp)
movb 0xc1(%rsp), %r13b
movb 0xc2(%rsp), %r12b
movb 0xc3(%rsp), %r15b
movb 0xc4(%rsp), %r14b
movb 0xc5(%rsp), %bpl
movb 0xc6(%rsp), %bl
movb 0xc7(%rsp), %r11b
movb 0xc8(%rsp), %r10b
movb 0xc9(%rsp), %r9b
movb 0xca(%rsp), %r8b
movb 0xcb(%rsp), %dil
movb 0xcc(%rsp), %sil
movb 0xcd(%rsp), %dl
movb 0xce(%rsp), %cl
movb 0xcf(%rsp), %al
movb %al, -0x75(%rsp)
movb -0x76(%rsp), %al
movb %al, 0xef(%rsp)
movb -0x75(%rsp), %al
movb %r13b, 0xee(%rsp)
movb %r12b, 0xed(%rsp)
movb %r15b, 0xec(%rsp)
movb %r14b, 0xeb(%rsp)
movb %bpl, 0xea(%rsp)
movb %bl, 0xe9(%rsp)
movb %r11b, 0xe8(%rsp)
movb %r10b, 0xe7(%rsp)
movb %r9b, 0xe6(%rsp)
movb %r8b, 0xe5(%rsp)
movb %dil, 0xe4(%rsp)
movb %sil, 0xe3(%rsp)
movb %dl, 0xe2(%rsp)
movb %cl, 0xe1(%rsp)
movb %al, 0xe0(%rsp)
movzbl 0xe0(%rsp), %eax
vmovd %eax, %xmm0
movzbl 0xe1(%rsp), %eax
vpinsrb $0x1, %eax, %xmm0, %xmm0
movzbl 0xe2(%rsp), %eax
vpinsrb $0x2, %eax, %xmm0, %xmm0
movzbl 0xe3(%rsp), %eax
vpinsrb $0x3, %eax, %xmm0, %xmm0
movzbl 0xe4(%rsp), %eax
vpinsrb $0x4, %eax, %xmm0, %xmm0
movzbl 0xe5(%rsp), %eax
vpinsrb $0x5, %eax, %xmm0, %xmm0
movzbl 0xe6(%rsp), %eax
vpinsrb $0x6, %eax, %xmm0, %xmm0
movzbl 0xe7(%rsp), %eax
vpinsrb $0x7, %eax, %xmm0, %xmm0
movzbl 0xe8(%rsp), %eax
vpinsrb $0x8, %eax, %xmm0, %xmm0
movzbl 0xe9(%rsp), %eax
vpinsrb $0x9, %eax, %xmm0, %xmm0
movzbl 0xea(%rsp), %eax
vpinsrb $0xa, %eax, %xmm0, %xmm0
movzbl 0xeb(%rsp), %eax
vpinsrb $0xb, %eax, %xmm0, %xmm0
movzbl 0xec(%rsp), %eax
vpinsrb $0xc, %eax, %xmm0, %xmm0
movzbl 0xed(%rsp), %eax
vpinsrb $0xd, %eax, %xmm0, %xmm0
movzbl 0xee(%rsp), %eax
vpinsrb $0xe, %eax, %xmm0, %xmm0
movzbl 0xef(%rsp), %eax
vpinsrb $0xf, %eax, %xmm0, %xmm0
vmovdqa %xmm0, 0xd0(%rsp)
vmovdqa 0xd0(%rsp), %xmm0
vmovdqa %xmm1, (%rsp)
vmovdqa %xmm0, -0x10(%rsp)
vmovdqa (%rsp), %xmm0
vmovdqa -0x10(%rsp), %xmm1
vpshufb %xmm1, %xmm0, %xmm0
movslq -0x3c(%rsp), %rcx
movq 0x1b26c(%rip), %rax     # 0x1ef98
shlq $0x4, %rcx
addq %rcx, %rax
vmovdqa %xmm0, (%rax)
jmp 0x3ffb
movslq -0x3c(%rsp), %rcx
shlq $0x4, %rcx
movq 0x1b24c(%rip), %rax     # 0x1ef98
vmovdqa (%rax,%rcx), %xmm1
movb $0x0, 0x9f(%rsp)
movb $0x5, 0x9e(%rsp)
movb $0x1, 0x9d(%rsp)
movb $0x4, 0x9c(%rsp)
movb $0x3, 0x9b(%rsp)
movb $0x6, 0x9a(%rsp)
movb $0x2, 0x99(%rsp)
movb $0x7, 0x98(%rsp)
movb $0x0, 0x97(%rsp)
movb $0x5, 0x96(%rsp)
movb $0x1, 0x95(%rsp)
movb $0x4, 0x94(%rsp)
movb $0x3, 0x93(%rsp)
movb $0x6, 0x92(%rsp)
movb $0x2, 0x91(%rsp)
movb $0x7, 0x90(%rsp)
movb 0x90(%rsp), %al
movb %al, -0x78(%rsp)
movb 0x91(%rsp), %r13b
movb 0x92(%rsp), %r12b
movb 0x93(%rsp), %r15b
movb 0x94(%rsp), %r14b
movb 0x95(%rsp), %bpl
movb 0x96(%rsp), %bl
movb 0x97(%rsp), %r11b
movb 0x98(%rsp), %r10b
movb 0x99(%rsp), %r9b
movb 0x9a(%rsp), %r8b
movb 0x9b(%rsp), %dil
movb 0x9c(%rsp), %sil
movb 0x9d(%rsp), %dl
movb 0x9e(%rsp), %cl
movb 0x9f(%rsp), %al
movb %al, -0x77(%rsp)
movb -0x78(%rsp), %al
movb %al, 0xbf(%rsp)
movb -0x77(%rsp), %al
movb %r13b, 0xbe(%rsp)
movb %r12b, 0xbd(%rsp)
movb %r15b, 0xbc(%rsp)
movb %r14b, 0xbb(%rsp)
movb %bpl, 0xba(%rsp)
movb %bl, 0xb9(%rsp)
movb %r11b, 0xb8(%rsp)
movb %r10b, 0xb7(%rsp)
movb %r9b, 0xb6(%rsp)
movb %r8b, 0xb5(%rsp)
movb %dil, 0xb4(%rsp)
movb %sil, 0xb3(%rsp)
movb %dl, 0xb2(%rsp)
movb %cl, 0xb1(%rsp)
movb %al, 0xb0(%rsp)
movzbl 0xb0(%rsp), %eax
vmovd %eax, %xmm0
movzbl 0xb1(%rsp), %eax
vpinsrb $0x1, %eax, %xmm0, %xmm0
movzbl 0xb2(%rsp), %eax
vpinsrb $0x2, %eax, %xmm0, %xmm0
movzbl 0xb3(%rsp), %eax
vpinsrb $0x3, %eax, %xmm0, %xmm0
movzbl 0xb4(%rsp), %eax
vpinsrb $0x4, %eax, %xmm0, %xmm0
movzbl 0xb5(%rsp), %eax
vpinsrb $0x5, %eax, %xmm0, %xmm0
movzbl 0xb6(%rsp), %eax
vpinsrb $0x6, %eax, %xmm0, %xmm0
movzbl 0xb7(%rsp), %eax
vpinsrb $0x7, %eax, %xmm0, %xmm0
movzbl 0xb8(%rsp), %eax
vpinsrb $0x8, %eax, %xmm0, %xmm0
movzbl 0xb9(%rsp), %eax
vpinsrb $0x9, %eax, %xmm0, %xmm0
movzbl 0xba(%rsp), %eax
vpinsrb $0xa, %eax, %xmm0, %xmm0
movzbl 0xbb(%rsp), %eax
vpinsrb $0xb, %eax, %xmm0, %xmm0
movzbl 0xbc(%rsp), %eax
vpinsrb $0xc, %eax, %xmm0, %xmm0
movzbl 0xbd(%rsp), %eax
vpinsrb $0xd, %eax, %xmm0, %xmm0
movzbl 0xbe(%rsp), %eax
vpinsrb $0xe, %eax, %xmm0, %xmm0
movzbl 0xbf(%rsp), %eax
vpinsrb $0xf, %eax, %xmm0, %xmm0
vmovdqa %xmm0, 0xa0(%rsp)
vmovdqa 0xa0(%rsp), %xmm0
vmovdqa %xmm1, -0x20(%rsp)
vmovdqa %xmm0, -0x30(%rsp)
vmovdqa -0x20(%rsp), %xmm0
vmovdqa -0x30(%rsp), %xmm1
vpshufb %xmm1, %xmm0, %xmm0
movslq -0x3c(%rsp), %rcx
movq 0x1afa8(%rip), %rax     # 0x1ef98
shlq $0x4, %rcx
addq %rcx, %rax
vmovdqa %xmm0, (%rax)
jmp 0x3ffd
movl -0x3c(%rsp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rsp)
jmp 0x346e
addq $0x158, %rsp            # imm = 0x158
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop