// File: /workspace/github_c_makefile_star2_O2/aerospike[P]aerospike-common/src/main/aerospike/crypt_blowfish.c
// Function: BF_crypt
static char *BF_crypt(const char *key, const char *setting,
	char *output, int size,
	BF_word min)
{
#if BF_ASM
	extern void _BF_body_r(BF_ctx *ctx);
#endif
	static const unsigned char flags_by_subtype[26] =
		{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0};
	struct {
		BF_ctx ctx;
		BF_key expanded_key;
		union {
			BF_word salt[4];
			BF_word output[6];
		} binary;
	} data;
	BF_word L, R;
	BF_word tmp1, tmp2, tmp3, tmp4;
	BF_word *ptr;
	BF_word count;
	int i;

	if (size < 7 + 22 + 31 + 1) {
		__set_errno(ERANGE);
		return NULL;
	}

	if (setting[0] != '$' ||
	    setting[1] != '2' ||
	    setting[2] < 'a' || setting[2] > 'z' ||
	    !flags_by_subtype[(unsigned int)(unsigned char)setting[2] - 'a'] ||
	    setting[3] != '$' ||
	    setting[4] < '0' || setting[4] > '3' ||
	    setting[5] < '0' || setting[5] > '9' ||
	    (setting[4] == '3' && setting[5] > '1') ||
	    setting[6] != '$') {
		__set_errno(EINVAL);
		return NULL;
	}

	count = (BF_word)1 << ((setting[4] - '0') * 10 + (setting[5] - '0'));
	if (count < min || BF_decode(data.binary.salt, &setting[7], 16)) {
		__set_errno(EINVAL);
		return NULL;
	}
	BF_swap(data.binary.salt, 4);

	BF_set_key(key, data.expanded_key, data.ctx.P,
	    flags_by_subtype[(unsigned int)(unsigned char)setting[2] - 'a']);

	memcpy(data.ctx.S, BF_init_state.S, sizeof(data.ctx.S));

	L = R = 0;
	for (i = 0; i < BF_N + 2; i += 2) {
		L ^= data.binary.salt[i & 2];
		R ^= data.binary.salt[(i & 2) + 1];
		BF_ENCRYPT;
		data.ctx.P[i] = L;
		data.ctx.P[i + 1] = R;
	}

	ptr = data.ctx.S[0];
	do {
		ptr += 4;
		L ^= data.binary.salt[(BF_N + 2) & 3];
		R ^= data.binary.salt[(BF_N + 3) & 3];
		BF_ENCRYPT;
		*(ptr - 4) = L;
		*(ptr - 3) = R;

		L ^= data.binary.salt[(BF_N + 4) & 3];
		R ^= data.binary.salt[(BF_N + 5) & 3];
		BF_ENCRYPT;
		*(ptr - 2) = L;
		*(ptr - 1) = R;
	} while (ptr < &data.ctx.S[3][0xFF]);

	do {
		int done;

		for (i = 0; i < BF_N + 2; i += 2) {
			data.ctx.P[i] ^= data.expanded_key[i];
			data.ctx.P[i + 1] ^= data.expanded_key[i + 1];
		}

		done = 0;
		do {
			BF_body();
			if (done)
				break;
			done = 1;

			tmp1 = data.binary.salt[0];
			tmp2 = data.binary.salt[1];
			tmp3 = data.binary.salt[2];
			tmp4 = data.binary.salt[3];
			for (i = 0; i < BF_N; i += 4) {
				data.ctx.P[i] ^= tmp1;
				data.ctx.P[i + 1] ^= tmp2;
				data.ctx.P[i + 2] ^= tmp3;
				data.ctx.P[i + 3] ^= tmp4;
			}
			data.ctx.P[16] ^= tmp1;
			data.ctx.P[17] ^= tmp2;
		} while (1);
	} while (--count);

	for (i = 0; i < 6; i += 2) {
		L = BF_magic_w[i];
		R = BF_magic_w[i + 1];

		count = 64;
		do {
			BF_ENCRYPT;
		} while (--count);

		data.binary.output[i] = L;
		data.binary.output[i + 1] = R;
	}

	memcpy(output, setting, 7 + 22 - 1);
	output[7 + 22 - 1] = BF_itoa64[(int)
		BF_atoi64[(int)setting[7 + 22 - 1] - 0x20] & 0x30];

/* This has to be bug-compatible with the original implementation, so
 * only encode 23 of the 24 bytes. :-) */
	BF_swap(data.binary.output, 6);
	BF_encode(&output[7 + 22], data.binary.output, 23);
	output[7 + 22 + 31] = '\0';

	return output;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1108, %rsp           # imm = 0x1108
cmpl $0x3c, %ecx
jg 0xf72f
callq 0x8160
movl $0x22, (%rax)
jmp 0xf7b9
cmpb $0x24, (%rsi)
movq %rsi, %r14
jne 0xf7ae
cmpb $0x32, 0x1(%r14)
jne 0xf7ae
movzbl 0x2(%r14), %eax
leal -0x7b(%rax), %ecx
cmpb $-0x1a, %cl
jb 0xf7ae
movl $0xffffff9f, %r15d      # imm = 0xFFFFFF9F
movl $0x27ffffe, %ecx        # imm = 0x27FFFFE
addl %r15d, %eax
btq %rax, %rcx
jb 0xf7ae
cmpb $0x24, 0x3(%r14)
jne 0xf7ae
movzbl 0x4(%r14), %eax
leal -0x34(%rax), %ecx
cmpb $-0x4, %cl
jb 0xf7ae
movq %rdx, %rbx
movzbl 0x5(%r14), %edx
leal -0x3a(%rdx), %ecx
cmpb $-0xa, %cl
jb 0xf7ae
cmpl $0x33, %eax
sete %cl
cmpb $0x32, %dl
setae %sil
testb %sil, %cl
jne 0xf7ae
cmpb $0x24, 0x6(%r14)
jne 0xf7ae
imull $0xa, %eax, %ecx
addl %edx, %ecx
addb $-0x10, %cl
pushq $0x1
popq %rbp
shll %cl, %ebp
cmpl %r8d, %ebp
jae 0xf7d0
callq 0x8160
movl $0x16, (%rax)
xorl %ebx, %ebx
movq %rbx, %rax
addq $0x1108, %rsp           # imm = 0x1108
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rdi, %r12
leaq 0x10f0(%rsp), %rdi
leaq 0x7(%r14), %rax
xorl %ecx, %ecx
leaq 0x6d38(%rip), %r9       # 0x16520
movzbl (%rax), %edx
addl $-0x20, %edx
cmpl $0x5f, %edx
ja 0xf7ae
movl %edx, %edx
movb (%rdx,%r9), %sil
cmpb $0x3f, %sil
ja 0xf7ae
movzbl 0x1(%rax), %edx
addl $-0x20, %edx
cmpl $0x5f, %edx
ja 0xf7ae
movl %edx, %edx
movb (%rdx,%r9), %dl
cmpb $0x3f, %dl
ja 0xf7ae
movl %edx, %r8d
shlb $0x2, %sil
shrb $0x4, %r8b
orb %sil, %r8b
cmpq $0xe, %rcx
movb %r8b, 0x10f0(%rsp,%rcx)
ja 0xf8a1
movzbl 0x2(%rax), %esi
addl $-0x20, %esi
cmpl $0x5f, %esi
ja 0xf7ae
movl %esi, %esi
movb (%rsi,%r9), %sil
cmpb $0x3f, %sil
ja 0xf7ae
movl %esi, %r8d
shlb $0x4, %dl
shrb $0x2, %r8b
orb %dl, %r8b
movb %r8b, 0x10f1(%rsp,%rcx)
movzbl 0x3(%rax), %edx
addl $-0x20, %edx
cmpl $0x5f, %edx
ja 0xf7ae
movl %edx, %edx
movb (%rdx,%r9), %dl
cmpb $0x3f, %dl
ja 0xf7ae
shlb $0x6, %sil
addq $0x4, %rax
orb %sil, %dl
movb %dl, 0x10f2(%rsp,%rcx)
addq $0x3, %rcx
jmp 0xf7e8
pushq $0x4
popq %rsi
callq 0x118ff
movzbl 0x2(%r14), %eax
leaq 0x10a8(%rsp), %rsi
leaq 0x1060(%rsp), %rdx
movq %r12, %rdi
addl %eax, %r15d
leaq 0x5bc5(%rip), %rax      # 0x15490
movzbl (%r15,%rax), %ecx
callq 0x116ce
leaq 0x5bd0(%rip), %rsi      # 0x154ac
leaq 0x60(%rsp), %rdi
movl $0x1000, %edx           # imm = 0x1000
callq 0x8630
xorl %eax, %eax
movl $0xff, %ecx
movl $0x3fc, %edx            # imm = 0x3FC
xorl %esi, %esi
xorl %edi, %edi
cmpq $0x12, %rax
jae 0xfdac
movl %eax, %r8d
andl $0x2, %r8d
movl 0x10f0(%rsp,%r8,4), %r9d
movl 0x10f4(%rsp,%r8,4), %r8d
xorl 0x1060(%rsp), %r9d
xorl 0x1064(%rsp), %r8d
xorl %esi, %r9d
xorl %edi, %r8d
movl %r9d, %r15d
movl %r9d, %r11d
movl %r9d, %r10d
movl %r9d, %esi
shrl $0x18, %r15d
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %esi
movl 0x60(%rsp,%r15,4), %r15d
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %r15d
xorl 0x860(%rsp,%r10,4), %r15d
addl 0xc60(%rsp,%rsi,4), %r15d
xorl %r15d, %r8d
movl %r8d, %esi
movl %r8d, %r11d
movl %r8d, %r10d
movl %r8d, %edi
shrl $0x18, %esi
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %edi
movl 0x60(%rsp,%rsi,4), %esi
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %esi
xorl 0x860(%rsp,%r10,4), %esi
addl 0xc60(%rsp,%rdi,4), %esi
xorl 0x1068(%rsp), %esi
xorl %r9d, %esi
movl %esi, %edi
movl %esi, %r11d
movl %esi, %r10d
movl %esi, %r9d
shrl $0x18, %edi
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%rdi,4), %edi
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %edi
xorl 0x860(%rsp,%r10,4), %edi
addl 0xc60(%rsp,%r9,4), %edi
xorl 0x106c(%rsp), %edi
xorl %r8d, %edi
movl %edi, %r8d
movl %edi, %r11d
movl %edi, %r10d
movl %edi, %r9d
shrl $0x18, %r8d
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%r8,4), %r8d
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %r8d
xorl 0x860(%rsp,%r10,4), %r8d
addl 0xc60(%rsp,%r9,4), %r8d
xorl 0x1070(%rsp), %r8d
xorl %esi, %r8d
movl %r8d, %esi
movl %r8d, %r11d
movl %r8d, %r10d
movl %r8d, %r9d
shrl $0x18, %esi
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%rsi,4), %esi
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %esi
xorl 0x860(%rsp,%r10,4), %esi
addl 0xc60(%rsp,%r9,4), %esi
xorl 0x1074(%rsp), %esi
xorl %edi, %esi
movl %esi, %edi
movl %esi, %r11d
movl %esi, %r10d
movl %esi, %r9d
shrl $0x18, %edi
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%rdi,4), %edi
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %edi
xorl 0x860(%rsp,%r10,4), %edi
addl 0xc60(%rsp,%r9,4), %edi
xorl 0x1078(%rsp), %edi
xorl %r8d, %edi
movl %edi, %r8d
movl %edi, %r11d
movl %edi, %r10d
movl %edi, %r9d
shrl $0x18, %r8d
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%r8,4), %r8d
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %r8d
xorl 0x860(%rsp,%r10,4), %r8d
addl 0xc60(%rsp,%r9,4), %r8d
xorl 0x107c(%rsp), %r8d
xorl %esi, %r8d
movl %r8d, %esi
movl %r8d, %r11d
movl %r8d, %r10d
movl %r8d, %r9d
shrl $0x18, %esi
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%rsi,4), %esi
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %esi
xorl 0x860(%rsp,%r10,4), %esi
addl 0xc60(%rsp,%r9,4), %esi
xorl 0x1080(%rsp), %esi
xorl %edi, %esi
movl %esi, %edi
movl %esi, %r11d
movl %esi, %r10d
movl %esi, %r9d
shrl $0x18, %edi
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%rdi,4), %edi
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %edi
xorl 0x860(%rsp,%r10,4), %edi
addl 0xc60(%rsp,%r9,4), %edi
xorl 0x1084(%rsp), %edi
xorl %r8d, %edi
movl %edi, %r8d
movl %edi, %r11d
movl %edi, %r10d
movl %edi, %r9d
shrl $0x18, %r8d
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%r8,4), %r8d
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %r8d
xorl 0x860(%rsp,%r10,4), %r8d
addl 0xc60(%rsp,%r9,4), %r8d
xorl 0x1088(%rsp), %r8d
xorl %esi, %r8d
movl %r8d, %esi
movl %r8d, %r11d
movl %r8d, %r10d
movl %r8d, %r9d
shrl $0x18, %esi
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%rsi,4), %esi
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %esi
xorl 0x860(%rsp,%r10,4), %esi
addl 0xc60(%rsp,%r9,4), %esi
xorl 0x108c(%rsp), %esi
xorl %edi, %esi
movl %esi, %edi
movl %esi, %r11d
movl %esi, %r10d
movl %esi, %r9d
shrl $0x18, %edi
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%rdi,4), %edi
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %edi
xorl 0x860(%rsp,%r10,4), %edi
addl 0xc60(%rsp,%r9,4), %edi
xorl 0x1090(%rsp), %edi
xorl %r8d, %edi
movl %edi, %r8d
movl %edi, %r11d
movl %edi, %r10d
movl %edi, %r9d
shrl $0x18, %r8d
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%r8,4), %r8d
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %r8d
xorl 0x860(%rsp,%r10,4), %r8d
addl 0xc60(%rsp,%r9,4), %r8d
xorl 0x1094(%rsp), %r8d
xorl %esi, %r8d
movl %r8d, %r9d
movl %r8d, %r11d
movl %r8d, %r10d
movl %r8d, %esi
shrl $0x18, %r9d
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %esi
movl 0x60(%rsp,%r9,4), %r9d
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %r9d
xorl 0x860(%rsp,%r10,4), %r9d
addl 0xc60(%rsp,%rsi,4), %r9d
xorl 0x1098(%rsp), %r9d
xorl %edi, %r9d
movl %r9d, %esi
movl %r9d, %r11d
movl %r9d, %r10d
movl %r9d, %edi
shrl $0x18, %esi
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %edi
movl 0x60(%rsp,%rsi,4), %esi
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %esi
xorl 0x860(%rsp,%r10,4), %esi
addl 0xc60(%rsp,%rdi,4), %esi
xorl 0x109c(%rsp), %esi
xorl %r8d, %esi
movl %esi, %edi
movl %esi, %r11d
movl %esi, %r10d
movl %esi, %r8d
xorl 0x10a4(%rsp), %esi
shrl $0x18, %edi
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r8d
movl 0x60(%rsp,%rdi,4), %edi
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %edi
xorl 0x860(%rsp,%r10,4), %edi
addl 0xc60(%rsp,%r8,4), %edi
xorl 0x10a0(%rsp), %edi
movl %esi, 0x1060(%rsp,%rax,4)
xorl %r9d, %edi
movl %edi, 0x1064(%rsp,%rax,4)
addq $0x2, %rax
jmp 0xf8fb
pushq $-0x10
popq %rax
movl $0xff, %ecx
movl $0x3fc, %edx            # imm = 0x3FC
xorl 0x10f8(%rsp), %esi
xorl 0x10fc(%rsp), %edi
xorl 0x1060(%rsp), %esi
xorl 0x1064(%rsp), %edi
movl %esi, %r8d
movl %esi, %r11d
movl %esi, %r10d
movl %esi, %r9d
shrl $0x18, %r8d
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%r8,4), %r8d
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %r8d
xorl 0x860(%rsp,%r10,4), %r8d
addl 0xc60(%rsp,%r9,4), %r8d
xorl %edi, %r8d
movl %r8d, %edi
movl %r8d, %r11d
movl %r8d, %r10d
movl %r8d, %r9d
shrl $0x18, %edi
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%rdi,4), %edi
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %edi
xorl 0x860(%rsp,%r10,4), %edi
addl 0xc60(%rsp,%r9,4), %edi
xorl 0x1068(%rsp), %edi
xorl %esi, %edi
movl %edi, %esi
movl %edi, %r11d
movl %edi, %r10d
movl %edi, %r9d
shrl $0x18, %esi
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%rsi,4), %esi
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %esi
xorl 0x860(%rsp,%r10,4), %esi
addl 0xc60(%rsp,%r9,4), %esi
xorl 0x106c(%rsp), %esi
xorl %r8d, %esi
movl %esi, %r8d
movl %esi, %r11d
movl %esi, %r10d
movl %esi, %r9d
shrl $0x18, %r8d
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%r8,4), %r8d
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %r8d
xorl 0x860(%rsp,%r10,4), %r8d
addl 0xc60(%rsp,%r9,4), %r8d
xorl 0x1070(%rsp), %r8d
xorl %edi, %r8d
movl %r8d, %edi
movl %r8d, %r11d
movl %r8d, %r10d
movl %r8d, %r9d
shrl $0x18, %edi
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%rdi,4), %edi
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %edi
xorl 0x860(%rsp,%r10,4), %edi
addl 0xc60(%rsp,%r9,4), %edi
xorl 0x1074(%rsp), %edi
xorl %esi, %edi
movl %edi, %esi
movl %edi, %r11d
movl %edi, %r10d
movl %edi, %r9d
shrl $0x18, %esi
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%rsi,4), %esi
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %esi
xorl 0x860(%rsp,%r10,4), %esi
addl 0xc60(%rsp,%r9,4), %esi
xorl 0x1078(%rsp), %esi
xorl %r8d, %esi
movl %esi, %r8d
movl %esi, %r11d
movl %esi, %r10d
movl %esi, %r9d
shrl $0x18, %r8d
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%r8,4), %r8d
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %r8d
xorl 0x860(%rsp,%r10,4), %r8d
addl 0xc60(%rsp,%r9,4), %r8d
xorl 0x107c(%rsp), %r8d
xorl %edi, %r8d
movl %r8d, %edi
movl %r8d, %r11d
movl %r8d, %r10d
movl %r8d, %r9d
shrl $0x18, %edi
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%rdi,4), %edi
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %edi
xorl 0x860(%rsp,%r10,4), %edi
addl 0xc60(%rsp,%r9,4), %edi
xorl 0x1080(%rsp), %edi
xorl %esi, %edi
movl %edi, %esi
movl %edi, %r11d
movl %edi, %r10d
movl %edi, %r9d
shrl $0x18, %esi
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%rsi,4), %esi
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %esi
xorl 0x860(%rsp,%r10,4), %esi
addl 0xc60(%rsp,%r9,4), %esi
xorl 0x1084(%rsp), %esi
xorl %r8d, %esi
movl %esi, %r8d
movl %esi, %r11d
movl %esi, %r10d
movl %esi, %r9d
shrl $0x18, %r8d
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%r8,4), %r8d
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %r8d
xorl 0x860(%rsp,%r10,4), %r8d
addl 0xc60(%rsp,%r9,4), %r8d
xorl 0x1088(%rsp), %r8d
xorl %edi, %r8d
movl %r8d, %edi
movl %r8d, %r11d
movl %r8d, %r10d
movl %r8d, %r9d
shrl $0x18, %edi
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%rdi,4), %edi
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %edi
xorl 0x860(%rsp,%r10,4), %edi
addl 0xc60(%rsp,%r9,4), %edi
xorl 0x108c(%rsp), %edi
xorl %esi, %edi
movl %edi, %esi
movl %edi, %r11d
movl %edi, %r10d
movl %edi, %r9d
shrl $0x18, %esi
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%rsi,4), %esi
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %esi
xorl 0x860(%rsp,%r10,4), %esi
addl 0xc60(%rsp,%r9,4), %esi
xorl 0x1090(%rsp), %esi
xorl %r8d, %esi
movl %esi, %r8d
movl %esi, %r11d
movl %esi, %r10d
movl %esi, %r9d
shrl $0x18, %r8d
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%r8,4), %r8d
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %r8d
xorl 0x860(%rsp,%r10,4), %r8d
addl 0xc60(%rsp,%r9,4), %r8d
xorl 0x1094(%rsp), %r8d
xorl %edi, %r8d
movl %r8d, %edi
movl %r8d, %r11d
movl %r8d, %r10d
movl %r8d, %r9d
shrl $0x18, %edi
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%rdi,4), %edi
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %edi
xorl 0x860(%rsp,%r10,4), %edi
addl 0xc60(%rsp,%r9,4), %edi
xorl 0x1098(%rsp), %edi
xorl %esi, %edi
movl %edi, %r10d
movl %edi, %r11d
movl %edi, %r9d
movl %edi, %esi
shrl $0x18, %r10d
shrl $0xe, %r11d
shrl $0x8, %r9d
andl %ecx, %esi
movl 0x60(%rsp,%r10,4), %r10d
andl %edx, %r11d
andl %ecx, %r9d
addl 0x460(%rsp,%r11), %r10d
xorl 0x860(%rsp,%r9,4), %r10d
addl 0xc60(%rsp,%rsi,4), %r10d
xorl 0x109c(%rsp), %r10d
xorl %r8d, %r10d
movl %r10d, %r9d
movl %r10d, %r11d
movl %r10d, %r8d
movl %r10d, %esi
xorl 0x10a4(%rsp), %r10d
shrl $0x18, %r9d
shrl $0xe, %r11d
shrl $0x8, %r8d
andl %ecx, %esi
movl 0x60(%rsp,%r9,4), %r9d
andl %edx, %r11d
andl %ecx, %r8d
addl 0x460(%rsp,%r11), %r9d
xorl 0x860(%rsp,%r8,4), %r9d
addl 0xc60(%rsp,%rsi,4), %r9d
xorl 0x10a0(%rsp), %r9d
movl %r10d, 0x70(%rsp,%rax)
xorl %edi, %r9d
movl %r9d, 0x74(%rsp,%rax)
movl 0x10f0(%rsp), %r8d
movl 0x10f4(%rsp), %esi
xorl 0x1060(%rsp), %r8d
xorl 0x1064(%rsp), %esi
xorl %r10d, %r8d
movl %r8d, %r15d
movl %r8d, %r11d
movl %r8d, %r10d
movl %r8d, %edi
shrl $0x18, %r15d
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %edi
movl 0x60(%rsp,%r15,4), %r15d
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %r15d
xorl 0x860(%rsp,%r10,4), %r15d
addl 0xc60(%rsp,%rdi,4), %r15d
xorl %r15d, %esi
xorl %r9d, %esi
movl %esi, %edi
movl %esi, %r11d
movl %esi, %r10d
movl %esi, %r9d
shrl $0x18, %edi
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%rdi,4), %edi
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %edi
xorl 0x860(%rsp,%r10,4), %edi
addl 0xc60(%rsp,%r9,4), %edi
xorl 0x1068(%rsp), %edi
xorl %r8d, %edi
movl %edi, %r8d
movl %edi, %r11d
movl %edi, %r10d
movl %edi, %r9d
shrl $0x18, %r8d
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%r8,4), %r8d
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %r8d
xorl 0x860(%rsp,%r10,4), %r8d
addl 0xc60(%rsp,%r9,4), %r8d
xorl 0x106c(%rsp), %r8d
xorl %esi, %r8d
movl %r8d, %esi
movl %r8d, %r11d
movl %r8d, %r10d
movl %r8d, %r9d
shrl $0x18, %esi
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%rsi,4), %esi
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %esi
xorl 0x860(%rsp,%r10,4), %esi
addl 0xc60(%rsp,%r9,4), %esi
xorl 0x1070(%rsp), %esi
xorl %edi, %esi
movl %esi, %edi
movl %esi, %r11d
movl %esi, %r10d
movl %esi, %r9d
shrl $0x18, %edi
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%rdi,4), %edi
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %edi
xorl 0x860(%rsp,%r10,4), %edi
addl 0xc60(%rsp,%r9,4), %edi
xorl 0x1074(%rsp), %edi
xorl %r8d, %edi
movl %edi, %r8d
movl %edi, %r11d
movl %edi, %r10d
movl %edi, %r9d
shrl $0x18, %r8d
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%r8,4), %r8d
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %r8d
xorl 0x860(%rsp,%r10,4), %r8d
addl 0xc60(%rsp,%r9,4), %r8d
xorl 0x1078(%rsp), %r8d
xorl %esi, %r8d
movl %r8d, %esi
movl %r8d, %r11d
movl %r8d, %r10d
movl %r8d, %r9d
shrl $0x18, %esi
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%rsi,4), %esi
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %esi
xorl 0x860(%rsp,%r10,4), %esi
addl 0xc60(%rsp,%r9,4), %esi
xorl 0x107c(%rsp), %esi
xorl %edi, %esi
movl %esi, %edi
movl %esi, %r11d
movl %esi, %r10d
movl %esi, %r9d
shrl $0x18, %edi
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%rdi,4), %edi
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %edi
xorl 0x860(%rsp,%r10,4), %edi
addl 0xc60(%rsp,%r9,4), %edi
xorl 0x1080(%rsp), %edi
xorl %r8d, %edi
movl %edi, %r8d
movl %edi, %r11d
movl %edi, %r10d
movl %edi, %r9d
shrl $0x18, %r8d
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%r8,4), %r8d
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %r8d
xorl 0x860(%rsp,%r10,4), %r8d
addl 0xc60(%rsp,%r9,4), %r8d
xorl 0x1084(%rsp), %r8d
xorl %esi, %r8d
movl %r8d, %esi
movl %r8d, %r11d
movl %r8d, %r10d
movl %r8d, %r9d
shrl $0x18, %esi
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%rsi,4), %esi
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %esi
xorl 0x860(%rsp,%r10,4), %esi
addl 0xc60(%rsp,%r9,4), %esi
xorl 0x1088(%rsp), %esi
xorl %edi, %esi
movl %esi, %edi
movl %esi, %r11d
movl %esi, %r10d
movl %esi, %r9d
shrl $0x18, %edi
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%rdi,4), %edi
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %edi
xorl 0x860(%rsp,%r10,4), %edi
addl 0xc60(%rsp,%r9,4), %edi
xorl 0x108c(%rsp), %edi
xorl %r8d, %edi
movl %edi, %r8d
movl %edi, %r11d
movl %edi, %r10d
movl %edi, %r9d
shrl $0x18, %r8d
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %r9d
movl 0x60(%rsp,%r8,4), %r8d
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %r8d
xorl 0x860(%rsp,%r10,4), %r8d
addl 0xc60(%rsp,%r9,4), %r8d
xorl 0x1090(%rsp), %r8d
xorl %esi, %r8d
movl %r8d, %r9d
movl %r8d, %r11d
movl %r8d, %r10d
movl %r8d, %esi
shrl $0x18, %r9d
shrl $0xe, %r11d
shrl $0x8, %r10d
andl %ecx, %esi
movl 0x60(%rsp,%r9,4), %r9d
andl %edx, %r11d
andl %ecx, %r10d
addl 0x460(%rsp,%r11), %r9d
xorl 0x860(%rsp,%r10,4), %r9d
addl 0xc60(%rsp,%rsi,4), %r9d
xorl 0x1094(%rsp), %r9d
xorl %edi, %r9d
movl %r9d, %r10d
movl %r9d, %r11d
movl %r9d, %edi
movl %r9d, %esi
shrl $0x18, %r10d
shrl $0xe, %r11d
shrl $0x8, %edi
andl %ecx, %esi
movl 0x60(%rsp,%r10,4), %r10d
andl %edx, %r11d
andl %ecx, %edi
addl 0x460(%rsp,%r11), %r10d
xorl 0x860(%rsp,%rdi,4), %r10d
addl 0xc60(%rsp,%rsi,4), %r10d
xorl 0x1098(%rsp), %r10d
xorl %r8d, %r10d
movl %r10d, %esi
movl %r10d, %r11d
movl %r10d, %r8d
movl %r10d, %edi
shrl $0x18, %esi
shrl $0xe, %r11d
shrl $0x8, %r8d
andl %ecx, %edi
movl 0x60(%rsp,%rsi,4), %esi
andl %edx, %r11d
andl %ecx, %r8d
addl 0x460(%rsp,%r11), %esi
xorl 0x860(%rsp,%r8,4), %esi
addl 0xc60(%rsp,%rdi,4), %esi
xorl 0x109c(%rsp), %esi
xorl %r9d, %esi
movl %esi, %edi
movl %esi, %r11d
movl %esi, %r9d
movl %esi, %r8d
xorl 0x10a4(%rsp), %esi
shrl $0x18, %edi
shrl $0xe, %r11d
shrl $0x8, %r9d
andl %ecx, %r8d
movl 0x60(%rsp,%rdi,4), %edi
andl %edx, %r11d
andl %ecx, %r9d
addl 0x460(%rsp,%r11), %edi
xorl 0x860(%rsp,%r9,4), %edi
addl 0xc60(%rsp,%r8,4), %edi
xorl 0x10a0(%rsp), %edi
movl %esi, 0x78(%rsp,%rax)
xorl %r10d, %edi
movl %edi, 0x7c(%rsp,%rax)
addq $0x10, %rax
cmpq $0xfec, %rax            # imm = 0xFEC
jb 0xfdb9
movl $0xff, %eax
movl $0x3fc, %ecx            # imm = 0x3FC
pushq $-0x8
popq %rdx
xorl %esi, %esi
cmpq $0x12, %rsi
jae 0x10714
movq 0x10a8(%rsp,%rsi,4), %rdi
xorq %rdi, 0x1060(%rsp,%rsi,4)
addq $0x2, %rsi
jmp 0x106f8
movb $0x1, %sil
xorl %r8d, %r8d
movl $0xff8, %edi            # imm = 0xFF8
xorl %r9d, %r9d
xorl 0x1060(%rsp), %r8d
xorl 0x1064(%rsp), %r9d
movl %r8d, %r10d
movl %r8d, %r12d
movl %r8d, %r15d
movl %r8d, %r11d
shrl $0x18, %r10d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r11d
movl 0x60(%rsp,%r10,4), %r10d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r10d
xorl 0x860(%rsp,%r15,4), %r10d
addl 0xc60(%rsp,%r11,4), %r10d
xorl %r9d, %r10d
movl %r10d, %r9d
movl %r10d, %r12d
movl %r10d, %r15d
movl %r10d, %r11d
shrl $0x18, %r9d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r11d
movl 0x60(%rsp,%r9,4), %r9d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r9d
xorl 0x860(%rsp,%r15,4), %r9d
addl 0xc60(%rsp,%r11,4), %r9d
xorl 0x1068(%rsp), %r9d
xorl %r8d, %r9d
movl %r9d, %r8d
movl %r9d, %r12d
movl %r9d, %r15d
movl %r9d, %r11d
shrl $0x18, %r8d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r11d
movl 0x60(%rsp,%r8,4), %r8d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r8d
xorl 0x860(%rsp,%r15,4), %r8d
addl 0xc60(%rsp,%r11,4), %r8d
xorl 0x106c(%rsp), %r8d
xorl %r10d, %r8d
movl %r8d, %r10d
movl %r8d, %r12d
movl %r8d, %r15d
movl %r8d, %r11d
shrl $0x18, %r10d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r11d
movl 0x60(%rsp,%r10,4), %r10d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r10d
xorl 0x860(%rsp,%r15,4), %r10d
addl 0xc60(%rsp,%r11,4), %r10d
xorl 0x1070(%rsp), %r10d
xorl %r9d, %r10d
movl %r10d, %r9d
movl %r10d, %r12d
movl %r10d, %r15d
movl %r10d, %r11d
shrl $0x18, %r9d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r11d
movl 0x60(%rsp,%r9,4), %r9d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r9d
xorl 0x860(%rsp,%r15,4), %r9d
addl 0xc60(%rsp,%r11,4), %r9d
xorl 0x1074(%rsp), %r9d
xorl %r8d, %r9d
movl %r9d, %r8d
movl %r9d, %r12d
movl %r9d, %r15d
movl %r9d, %r11d
shrl $0x18, %r8d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r11d
movl 0x60(%rsp,%r8,4), %r8d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r8d
xorl 0x860(%rsp,%r15,4), %r8d
addl 0xc60(%rsp,%r11,4), %r8d
xorl 0x1078(%rsp), %r8d
xorl %r10d, %r8d
movl %r8d, %r10d
movl %r8d, %r12d
movl %r8d, %r15d
movl %r8d, %r11d
shrl $0x18, %r10d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r11d
movl 0x60(%rsp,%r10,4), %r10d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r10d
xorl 0x860(%rsp,%r15,4), %r10d
addl 0xc60(%rsp,%r11,4), %r10d
xorl 0x107c(%rsp), %r10d
xorl %r9d, %r10d
movl %r10d, %r9d
movl %r10d, %r12d
movl %r10d, %r15d
movl %r10d, %r11d
shrl $0x18, %r9d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r11d
movl 0x60(%rsp,%r9,4), %r9d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r9d
xorl 0x860(%rsp,%r15,4), %r9d
addl 0xc60(%rsp,%r11,4), %r9d
xorl 0x1080(%rsp), %r9d
xorl %r8d, %r9d
movl %r9d, %r8d
movl %r9d, %r12d
movl %r9d, %r15d
movl %r9d, %r11d
shrl $0x18, %r8d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r11d
movl 0x60(%rsp,%r8,4), %r8d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r8d
xorl 0x860(%rsp,%r15,4), %r8d
addl 0xc60(%rsp,%r11,4), %r8d
xorl 0x1084(%rsp), %r8d
xorl %r10d, %r8d
movl %r8d, %r10d
movl %r8d, %r12d
movl %r8d, %r15d
movl %r8d, %r11d
shrl $0x18, %r10d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r11d
movl 0x60(%rsp,%r10,4), %r10d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r10d
xorl 0x860(%rsp,%r15,4), %r10d
addl 0xc60(%rsp,%r11,4), %r10d
xorl 0x1088(%rsp), %r10d
xorl %r9d, %r10d
movl %r10d, %r9d
movl %r10d, %r12d
movl %r10d, %r15d
movl %r10d, %r11d
shrl $0x18, %r9d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r11d
movl 0x60(%rsp,%r9,4), %r9d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r9d
xorl 0x860(%rsp,%r15,4), %r9d
addl 0xc60(%rsp,%r11,4), %r9d
xorl 0x108c(%rsp), %r9d
xorl %r8d, %r9d
movl %r9d, %r8d
movl %r9d, %r12d
movl %r9d, %r15d
movl %r9d, %r11d
shrl $0x18, %r8d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r11d
movl 0x60(%rsp,%r8,4), %r8d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r8d
xorl 0x860(%rsp,%r15,4), %r8d
addl 0xc60(%rsp,%r11,4), %r8d
xorl 0x1090(%rsp), %r8d
xorl %r10d, %r8d
movl %r8d, %r10d
movl %r8d, %r12d
movl %r8d, %r15d
movl %r8d, %r11d
shrl $0x18, %r10d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r11d
movl 0x60(%rsp,%r10,4), %r10d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r10d
xorl 0x860(%rsp,%r15,4), %r10d
addl 0xc60(%rsp,%r11,4), %r10d
xorl 0x1094(%rsp), %r10d
xorl %r9d, %r10d
movl %r10d, %r11d
movl %r10d, %r12d
movl %r10d, %r15d
movl %r10d, %r9d
shrl $0x18, %r11d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r9d
movl 0x60(%rsp,%r11,4), %r11d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r11d
xorl 0x860(%rsp,%r15,4), %r11d
addl 0xc60(%rsp,%r9,4), %r11d
xorl 0x1098(%rsp), %r11d
xorl %r8d, %r11d
movl %r11d, %r8d
movl %r11d, %r12d
movl %r11d, %r15d
movl %r11d, %r9d
shrl $0x18, %r8d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r9d
movl 0x60(%rsp,%r8,4), %r8d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r8d
xorl 0x860(%rsp,%r15,4), %r8d
addl 0xc60(%rsp,%r9,4), %r8d
xorl 0x109c(%rsp), %r8d
xorl %r10d, %r8d
movl %r8d, %r9d
movl %r8d, %r12d
movl %r8d, %r15d
movl %r8d, %r10d
xorl 0x10a4(%rsp), %r8d
shrl $0x18, %r9d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r10d
movl 0x60(%rsp,%r9,4), %r9d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r9d
xorl 0x860(%rsp,%r15,4), %r9d
addl 0xc60(%rsp,%r10,4), %r9d
xorl 0x10a0(%rsp), %r9d
movl %r8d, 0x68(%rsp,%rdi)
xorl %r11d, %r9d
movl %r9d, 0x6c(%rsp,%rdi)
addq $0x8, %rdi
cmpq $0x1040, %rdi           # imm = 0x1040
jb 0x10722
movq %rdx, %rdi
xorl 0x1060(%rsp), %r8d
xorl 0x1064(%rsp), %r9d
movl %r8d, %r10d
movl %r8d, %r12d
movl %r8d, %r15d
movl %r8d, %r11d
shrl $0x18, %r10d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r11d
movl 0x60(%rsp,%r10,4), %r10d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r10d
xorl 0x860(%rsp,%r15,4), %r10d
addl 0xc60(%rsp,%r11,4), %r10d
xorl %r9d, %r10d
movl %r10d, %r9d
movl %r10d, %r12d
movl %r10d, %r15d
movl %r10d, %r11d
shrl $0x18, %r9d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r11d
movl 0x60(%rsp,%r9,4), %r9d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r9d
xorl 0x860(%rsp,%r15,4), %r9d
addl 0xc60(%rsp,%r11,4), %r9d
xorl 0x1068(%rsp), %r9d
xorl %r8d, %r9d
movl %r9d, %r8d
movl %r9d, %r12d
movl %r9d, %r15d
movl %r9d, %r11d
shrl $0x18, %r8d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r11d
movl 0x60(%rsp,%r8,4), %r8d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r8d
xorl 0x860(%rsp,%r15,4), %r8d
addl 0xc60(%rsp,%r11,4), %r8d
xorl 0x106c(%rsp), %r8d
xorl %r10d, %r8d
movl %r8d, %r10d
movl %r8d, %r12d
movl %r8d, %r15d
movl %r8d, %r11d
shrl $0x18, %r10d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r11d
movl 0x60(%rsp,%r10,4), %r10d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r10d
xorl 0x860(%rsp,%r15,4), %r10d
addl 0xc60(%rsp,%r11,4), %r10d
xorl 0x1070(%rsp), %r10d
xorl %r9d, %r10d
movl %r10d, %r9d
movl %r10d, %r12d
movl %r10d, %r15d
movl %r10d, %r11d
shrl $0x18, %r9d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r11d
movl 0x60(%rsp,%r9,4), %r9d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r9d
xorl 0x860(%rsp,%r15,4), %r9d
addl 0xc60(%rsp,%r11,4), %r9d
xorl 0x1074(%rsp), %r9d
xorl %r8d, %r9d
movl %r9d, %r8d
movl %r9d, %r12d
movl %r9d, %r15d
movl %r9d, %r11d
shrl $0x18, %r8d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r11d
movl 0x60(%rsp,%r8,4), %r8d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r8d
xorl 0x860(%rsp,%r15,4), %r8d
addl 0xc60(%rsp,%r11,4), %r8d
xorl 0x1078(%rsp), %r8d
xorl %r10d, %r8d
movl %r8d, %r10d
movl %r8d, %r12d
movl %r8d, %r15d
movl %r8d, %r11d
shrl $0x18, %r10d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r11d
movl 0x60(%rsp,%r10,4), %r10d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r10d
xorl 0x860(%rsp,%r15,4), %r10d
addl 0xc60(%rsp,%r11,4), %r10d
xorl 0x107c(%rsp), %r10d
xorl %r9d, %r10d
movl %r10d, %r9d
movl %r10d, %r12d
movl %r10d, %r15d
movl %r10d, %r11d
shrl $0x18, %r9d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r11d
movl 0x60(%rsp,%r9,4), %r9d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r9d
xorl 0x860(%rsp,%r15,4), %r9d
addl 0xc60(%rsp,%r11,4), %r9d
xorl 0x1080(%rsp), %r9d
xorl %r8d, %r9d
movl %r9d, %r8d
movl %r9d, %r12d
movl %r9d, %r15d
movl %r9d, %r11d
shrl $0x18, %r8d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r11d
movl 0x60(%rsp,%r8,4), %r8d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r8d
xorl 0x860(%rsp,%r15,4), %r8d
addl 0xc60(%rsp,%r11,4), %r8d
xorl 0x1084(%rsp), %r8d
xorl %r10d, %r8d
movl %r8d, %r10d
movl %r8d, %r12d
movl %r8d, %r15d
movl %r8d, %r11d
shrl $0x18, %r10d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r11d
movl 0x60(%rsp,%r10,4), %r10d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r10d
xorl 0x860(%rsp,%r15,4), %r10d
addl 0xc60(%rsp,%r11,4), %r10d
xorl 0x1088(%rsp), %r10d
xorl %r9d, %r10d
movl %r10d, %r9d
movl %r10d, %r12d
movl %r10d, %r15d
movl %r10d, %r11d
shrl $0x18, %r9d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r11d
movl 0x60(%rsp,%r9,4), %r9d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r9d
xorl 0x860(%rsp,%r15,4), %r9d
addl 0xc60(%rsp,%r11,4), %r9d
xorl 0x108c(%rsp), %r9d
xorl %r8d, %r9d
movl %r9d, %r8d
movl %r9d, %r12d
movl %r9d, %r15d
movl %r9d, %r11d
shrl $0x18, %r8d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r11d
movl 0x60(%rsp,%r8,4), %r8d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r8d
xorl 0x860(%rsp,%r15,4), %r8d
addl 0xc60(%rsp,%r11,4), %r8d
xorl 0x1090(%rsp), %r8d
xorl %r10d, %r8d
movl %r8d, %r10d
movl %r8d, %r12d
movl %r8d, %r15d
movl %r8d, %r11d
shrl $0x18, %r10d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r11d
movl 0x60(%rsp,%r10,4), %r10d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r10d
xorl 0x860(%rsp,%r15,4), %r10d
addl 0xc60(%rsp,%r11,4), %r10d
xorl 0x1094(%rsp), %r10d
xorl %r9d, %r10d
movl %r10d, %r11d
movl %r10d, %r12d
movl %r10d, %r15d
movl %r10d, %r9d
shrl $0x18, %r11d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r9d
movl 0x60(%rsp,%r11,4), %r11d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r11d
xorl 0x860(%rsp,%r15,4), %r11d
addl 0xc60(%rsp,%r9,4), %r11d
xorl 0x1098(%rsp), %r11d
xorl %r8d, %r11d
movl %r11d, %r8d
movl %r11d, %r12d
movl %r11d, %r15d
movl %r11d, %r9d
shrl $0x18, %r8d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r9d
movl 0x60(%rsp,%r8,4), %r8d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r8d
xorl 0x860(%rsp,%r15,4), %r8d
addl 0xc60(%rsp,%r9,4), %r8d
xorl 0x109c(%rsp), %r8d
xorl %r10d, %r8d
movl %r8d, %r9d
movl %r8d, %r12d
movl %r8d, %r15d
movl %r8d, %r10d
xorl 0x10a4(%rsp), %r8d
shrl $0x18, %r9d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %eax, %r10d
movl 0x60(%rsp,%r9,4), %r9d
andl %ecx, %r12d
andl %eax, %r15d
addl 0x460(%rsp,%r12), %r9d
xorl 0x860(%rsp,%r15,4), %r9d
addl 0xc60(%rsp,%r10,4), %r9d
xorl 0x10a0(%rsp), %r9d
movl %r8d, 0x68(%rsp,%rdi)
xorl %r11d, %r9d
movl %r9d, 0x6c(%rsp,%rdi)
addq $0x8, %rdi
cmpq $0xff4, %rdi            # imm = 0xFF4
jb 0x10be0
testb $0x1, %sil
je 0x110e5
movups 0x10f0(%rsp), %xmm0
xorl %esi, %esi
cmpq $0xf, %rsi
ja 0x110ca
movups 0x1060(%rsp,%rsi,4), %xmm1
xorps %xmm0, %xmm1
movups %xmm1, 0x1060(%rsp,%rsi,4)
addq $0x4, %rsi
jmp 0x110ab
movsd 0x10a0(%rsp), %xmm1
xorl %esi, %esi
xorps %xmm0, %xmm1
movlps %xmm1, 0x10a0(%rsp)
jmp 0x10717
decl %ebp
jne 0x106f6
movl 0x1060(%rsp), %eax
movl $0xff, %r8d
movl $0x3fc, %r9d            # imm = 0x3FC
movl %eax, 0x4c(%rsp)
movl 0x1064(%rsp), %eax
movl %eax, 0x48(%rsp)
movl 0x1068(%rsp), %eax
movl %eax, 0x44(%rsp)
movl 0x106c(%rsp), %eax
movl %eax, 0x40(%rsp)
movl 0x1070(%rsp), %eax
movl %eax, 0x3c(%rsp)
movl 0x1074(%rsp), %eax
movl %eax, 0x38(%rsp)
movl 0x1078(%rsp), %eax
movl %eax, 0x34(%rsp)
movl 0x107c(%rsp), %eax
movl %eax, 0x30(%rsp)
movl 0x1080(%rsp), %eax
movl %eax, 0x2c(%rsp)
movl 0x1084(%rsp), %eax
movl %eax, 0x28(%rsp)
movl 0x1088(%rsp), %eax
movl %eax, 0x24(%rsp)
movl 0x108c(%rsp), %eax
movl %eax, 0x20(%rsp)
movl 0x1090(%rsp), %eax
movl %eax, 0x1c(%rsp)
movl 0x1094(%rsp), %eax
movl %eax, 0x18(%rsp)
movl 0x1098(%rsp), %eax
movl %eax, 0x14(%rsp)
movl 0x109c(%rsp), %eax
movl 0x14(%rsp), %esi
movl %eax, 0x10(%rsp)
movl 0x10a0(%rsp), %eax
movl 0x10(%rsp), %r11d
movl %eax, 0xc(%rsp)
movl 0x10a4(%rsp), %eax
movl %eax, 0x8(%rsp)
xorl %eax, %eax
movl 0x8(%rsp), %edx
cmpq $0x5, %rax
ja 0x11665
leaq 0x5321(%rip), %rcx      # 0x16500
movq %rax, 0x58(%rsp)
movl (%rcx,%rax,4), %edi
movl 0x4(%rcx,%rax,4), %r12d
orq $0x1, %rax
movq %rax, 0x50(%rsp)
pushq $-0x40
popq %r10
movl 0xc(%rsp), %ecx
xorl 0x4c(%rsp), %edi
xorl 0x48(%rsp), %r12d
movl %edi, %ebp
movl %edi, %eax
movl %edi, %r13d
movl %edi, %r15d
xorl 0x44(%rsp), %edi
shrl $0x18, %ebp
shrl $0xe, %eax
shrl $0x8, %r13d
andl %r8d, %r15d
movl 0x60(%rsp,%rbp,4), %ebp
andl %r9d, %eax
andl %r8d, %r13d
addl 0x460(%rsp,%rax), %ebp
xorl 0x860(%rsp,%r13,4), %ebp
addl 0xc60(%rsp,%r15,4), %ebp
xorl %r12d, %ebp
movl %ebp, %r13d
movl %ebp, %r12d
movl %ebp, %r15d
movl %ebp, %eax
xorl 0x40(%rsp), %ebp
shrl $0x18, %r13d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %r8d, %eax
movl 0x60(%rsp,%r13,4), %r13d
andl %r9d, %r12d
andl %r8d, %r15d
addl 0x460(%rsp,%r12), %r13d
xorl 0x860(%rsp,%r15,4), %r13d
addl 0xc60(%rsp,%rax,4), %r13d
xorl %r13d, %edi
movl %edi, %r13d
movl %edi, %r12d
movl %edi, %r15d
movl %edi, %eax
xorl 0x3c(%rsp), %edi
shrl $0x18, %r13d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %r8d, %eax
movl 0x60(%rsp,%r13,4), %r13d
andl %r9d, %r12d
andl %r8d, %r15d
addl 0x460(%rsp,%r12), %r13d
xorl 0x860(%rsp,%r15,4), %r13d
addl 0xc60(%rsp,%rax,4), %r13d
xorl %r13d, %ebp
movl %ebp, %r13d
movl %ebp, %r12d
movl %ebp, %r15d
movl %ebp, %eax
xorl 0x38(%rsp), %ebp
shrl $0x18, %r13d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %r8d, %eax
movl 0x60(%rsp,%r13,4), %r13d
andl %r9d, %r12d
andl %r8d, %r15d
addl 0x460(%rsp,%r12), %r13d
xorl 0x860(%rsp,%r15,4), %r13d
addl 0xc60(%rsp,%rax,4), %r13d
xorl %r13d, %edi
movl %edi, %r13d
movl %edi, %r12d
movl %edi, %r15d
movl %edi, %eax
xorl 0x34(%rsp), %edi
shrl $0x18, %r13d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %r8d, %eax
movl 0x60(%rsp,%r13,4), %r13d
andl %r9d, %r12d
andl %r8d, %r15d
addl 0x460(%rsp,%r12), %r13d
xorl 0x860(%rsp,%r15,4), %r13d
addl 0xc60(%rsp,%rax,4), %r13d
xorl %r13d, %ebp
movl %ebp, %r13d
movl %ebp, %r12d
movl %ebp, %r15d
movl %ebp, %eax
xorl 0x30(%rsp), %ebp
shrl $0x18, %r13d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %r8d, %eax
movl 0x60(%rsp,%r13,4), %r13d
andl %r9d, %r12d
andl %r8d, %r15d
addl 0x460(%rsp,%r12), %r13d
xorl 0x860(%rsp,%r15,4), %r13d
addl 0xc60(%rsp,%rax,4), %r13d
xorl %r13d, %edi
movl %edi, %r13d
movl %edi, %r12d
movl %edi, %r15d
movl %edi, %eax
xorl 0x2c(%rsp), %edi
shrl $0x18, %r13d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %r8d, %eax
movl 0x60(%rsp,%r13,4), %r13d
andl %r9d, %r12d
andl %r8d, %r15d
addl 0x460(%rsp,%r12), %r13d
xorl 0x860(%rsp,%r15,4), %r13d
addl 0xc60(%rsp,%rax,4), %r13d
xorl %r13d, %ebp
movl %ebp, %r13d
movl %ebp, %r12d
movl %ebp, %r15d
movl %ebp, %eax
xorl 0x28(%rsp), %ebp
shrl $0x18, %r13d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %r8d, %eax
movl 0x60(%rsp,%r13,4), %r13d
andl %r9d, %r12d
andl %r8d, %r15d
addl 0x460(%rsp,%r12), %r13d
xorl 0x860(%rsp,%r15,4), %r13d
addl 0xc60(%rsp,%rax,4), %r13d
xorl %r13d, %edi
movl %edi, %r13d
movl %edi, %r12d
movl %edi, %r15d
movl %edi, %eax
xorl 0x24(%rsp), %edi
shrl $0x18, %r13d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %r8d, %eax
movl 0x60(%rsp,%r13,4), %r13d
andl %r9d, %r12d
andl %r8d, %r15d
addl 0x460(%rsp,%r12), %r13d
xorl 0x860(%rsp,%r15,4), %r13d
addl 0xc60(%rsp,%rax,4), %r13d
xorl %r13d, %ebp
movl %ebp, %r13d
movl %ebp, %r12d
movl %ebp, %r15d
movl %ebp, %eax
xorl 0x20(%rsp), %ebp
shrl $0x18, %r13d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %r8d, %eax
movl 0x60(%rsp,%r13,4), %r13d
andl %r9d, %r12d
andl %r8d, %r15d
addl 0x460(%rsp,%r12), %r13d
xorl 0x860(%rsp,%r15,4), %r13d
addl 0xc60(%rsp,%rax,4), %r13d
xorl %r13d, %edi
movl %edi, %r13d
movl %edi, %r12d
movl %edi, %r15d
movl %edi, %eax
xorl 0x1c(%rsp), %edi
shrl $0x18, %r13d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %r8d, %eax
movl 0x60(%rsp,%r13,4), %r13d
andl %r9d, %r12d
andl %r8d, %r15d
addl 0x460(%rsp,%r12), %r13d
xorl 0x860(%rsp,%r15,4), %r13d
addl 0xc60(%rsp,%rax,4), %r13d
xorl %r13d, %ebp
movl %ebp, %r13d
movl %ebp, %r12d
movl %ebp, %r15d
movl %ebp, %eax
xorl 0x18(%rsp), %ebp
shrl $0x18, %r13d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %r8d, %eax
movl 0x60(%rsp,%r13,4), %r13d
andl %r9d, %r12d
andl %r8d, %r15d
addl 0x460(%rsp,%r12), %r13d
xorl 0x860(%rsp,%r15,4), %r13d
addl 0xc60(%rsp,%rax,4), %r13d
xorl %r13d, %edi
movl %edi, %r13d
movl %edi, %r12d
movl %edi, %r15d
movl %edi, %eax
xorl %esi, %edi
shrl $0x18, %r13d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %r8d, %eax
movl 0x60(%rsp,%r13,4), %r13d
andl %r9d, %r12d
andl %r8d, %r15d
addl 0x460(%rsp,%r12), %r13d
xorl 0x860(%rsp,%r15,4), %r13d
addl 0xc60(%rsp,%rax,4), %r13d
xorl %r13d, %ebp
movl %ebp, %r13d
movl %ebp, %r12d
movl %ebp, %r15d
movl %ebp, %eax
xorl %r11d, %ebp
shrl $0x18, %r13d
shrl $0xe, %r12d
shrl $0x8, %r15d
andl %r8d, %eax
movl 0x60(%rsp,%r13,4), %r13d
andl %r9d, %r12d
andl %r8d, %r15d
addl 0x460(%rsp,%r12), %r13d
movl %edi, %r12d
xorl 0x860(%rsp,%r15,4), %r13d
addl 0xc60(%rsp,%rax,4), %r13d
xorl %r13d, %r12d
movl %r12d, %r13d
movl %r12d, %r15d
movl %r12d, %edi
movl %r12d, %eax
xorl %ecx, %r12d
shrl $0x18, %r13d
shrl $0xe, %r15d
shrl $0x8, %edi
andl %r8d, %eax
movl 0x60(%rsp,%r13,4), %r13d
andl %r9d, %r15d
andl %r8d, %edi
addl 0x460(%rsp,%r15), %r13d
xorl 0x860(%rsp,%rdi,4), %r13d
movl %edx, %edi
addl 0xc60(%rsp,%rax,4), %r13d
xorl %r13d, %ebp
movl %ebp, %eax
movl %ebp, %r15d
movl %ebp, %r13d
xorl %ebp, %edi
shrl $0x18, %ebp
movl 0x60(%rsp,%rbp,4), %ebp
shrl $0xe, %r13d
shrl $0x8, %r15d
andl %r8d, %eax
andl %r9d, %r13d
andl %r8d, %r15d
addl 0x460(%rsp,%r13), %ebp
xorl 0x860(%rsp,%r15,4), %ebp
addl 0xc60(%rsp,%rax,4), %ebp
xorl %ebp, %r12d
incl %r10d
jne 0x111fd
movq 0x58(%rsp), %rax
movq 0x50(%rsp), %rcx
movl %edi, 0x10f0(%rsp,%rax,4)
movl %r12d, 0x10f0(%rsp,%rcx,4)
addq $0x2, %rax
jmp 0x111ce
movl 0x18(%r14), %eax
movl %eax, 0x18(%rbx)
movq 0x10(%r14), %rax
movq %rax, 0x10(%rbx)
movq (%r14), %rax
movq 0x8(%r14), %rcx
movq %rcx, 0x8(%rbx)
movq %rax, (%rbx)
leaq 0x4e97(%rip), %rcx      # 0x16520
movsbq 0x1c(%r14), %rax
movzbl -0x20(%rax,%rcx), %eax
leaq 0x4ee6(%rip), %rcx      # 0x16580
andl $0x30, %eax
movb (%rax,%rcx), %al
movb %al, 0x1c(%rbx)
pushq $0x6
popq %rsi
leaq 0x10f0(%rsp), %r14
movq %r14, %rdi
callq 0x118ff
leaq 0x1d(%rbx), %rdi
pushq $0x17
popq %rdx
movq %r14, %rsi
callq 0x11871
movb $0x0, 0x3c(%rbx)
jmp 0xf7bb