// File: /workspace/github_c_makefile_star2_O2/mikecat[P]x86_interpreter/x86_interpreter.c
// Function: step
int step(void) {
	uint32_t inst_addr = eip; /* エラー時の検証用 */
	uint8_t fetch_data;
	int memread_ok;

	int is_data_16bit = 0;
	int is_addr_16bit = 0;
	int is_rep = 0;
	int is_rep_while_zero = 0;

	enum {
		OP_ARITHMETIC,
		OP_SHIFT,
		OP_XCHG,
		OP_CMPXCHG,
		OP_MOV,
		OP_CMOV,
		OP_MOVZX,
		OP_MOVSX,
		OP_SETCC,
		OP_LEA,
		OP_INCDEC,
		OP_NOT,
		OP_MUL,
		OP_IMUL,
		OP_DIV,
		OP_IDIV,
		OP_PUSH,
		OP_POP,
		OP_PUSHA,
		OP_POPA,
		OP_PUSHF,
		OP_POPF,
		OP_STRING,
		OP_CALL,
		OP_JUMP,
		OP_CALL_ABSOLUTE,
		OP_JUMP_ABSOLUTE,
		OP_CALL_FAR,
		OP_JUMP_FAR,
		OP_CBW,
		OP_CWD,
		OP_SAHF,
		OP_LAHF,
		OP_RETN,
		OP_LEAVE,
		OP_INT,
		OP_INTO,
		OP_IRET,
		OP_LOOP,
		OP_IN,
		OP_OUT,
		OP_HLT,
		OP_CMC,
		OP_SET_FLAG,
		OP_CLEAR_FLAG,
		OP_FPU,
	} op_kind = OP_ARITHMETIC; /* 命令の種類 */
	enum {
		OP_ADD, OP_ADC, OP_SUB, OP_SBB, OP_AND, OP_OR, OP_XOR, OP_CMP, OP_TEST, OP_NEG,
		OP_READ_MODRM, /* mod r/mの値を見て演算の種類を決める */
		OP_READ_MODRM_MUL, /* mod r/mの値を見て演算の種類を決める(MUL系) */
		OP_READ_MODRM_INC /* mod r/mの値を見て演算の種類を決める(INC系) */
	} op_arithmetic_kind = OP_ADD; /* 演算命令の種類 */
	enum {
		OP_ROL, OP_ROR, OP_RCL, OP_RCR, OP_SHL, OP_SHR, OP_SAR,
		OP_SHLD, OP_SHRD,
		OP_READ_MODRM_SHIFT /* mod r/mの値を見て演算の種類を決める(シフト系) */
	} op_shift_kind = OP_ROL;
	enum {
		OP_STR_MOV,
		OP_STR_CMP,
		OP_STR_STO,
		OP_STR_LOD,
		OP_STR_SCA,
		OP_STR_IN,
		OP_STR_OUT
	} op_string_kind = OP_STR_MOV; /* ストリング命令の種類 */
	int op_width = 1; /* オペランドのバイト数 */
	int jmp_take = 0; /* ジャンプを行うか */
	int use_mod_rm = 0; /* mod r/mを使うか */
	int is_dest_reg = 0; /* mod r/mを使うとき、結果の書き込み先がr/mではなくregか */
	int modrm_disable_src = 0; /* mod r/mを使う時、srcをmod r/mから設定するのをやめるか */
	int direct_disp_size = 0; /* moffsを使うとき、そのサイズ */
	int is_dest_direct_disp = 0; /* moffsをdestに使うか(sizeが0でないとき、偽 = srcに使う) */
	int use_imm = 0; /* 即値を使うか */
	int one_byte_imm = 0; /* 即値が1バイトか(偽 = オペランドのサイズ) */
	int op_fpu_kind = 0; /* FPU系命令のカテゴリ */
	int imul_store_upper = 0; /* IMUL命令において、上位の値を保存するか */
	int imul_enable_dest = 0; /* IMUL命令において、destの指定を有効にするか(偽 = AL/AX/EAX固定) */

	/* オペランドの情報 */
	enum {
		OP_KIND_IMM, /* 即値 (imm_value) */
		OP_KIND_MEM, /* メモリ上のデータ (*_addr) */
		OP_KIND_REG, /* AH/CH/DH/BHではないレジスタ上のデータ (*_reg_index) */
		OP_KIND_REG_HIGH8 /* レジスタAH/CH/DH/BH上のデータ (*_reg_index) */
	};
	uint32_t src_addr = 0;
	int src_kind = OP_KIND_IMM;
	int src_reg_index = 0;
	uint32_t dest_addr = 0;
	int dest_kind = OP_KIND_IMM;
	int dest_reg_index = 0;
	int need_dest_value = 0;

	int data_segment = DS;

	uint32_t imm_value = 0; /* 即値の値 */

	if (use_pe_import && import_params.iat_size >= 4 &&
	import_params.iat_addr <= eip && eip - import_params.iat_addr < import_params.iat_size) {
		int ret = pe_import(&eip, regs);
		if (ret == 0) return 0;
		if (ret < 0) {
			print_regs(stderr);
			return 0;
		}
		return 1;
	}

	/* プリフィックスを解析する */
	for(;;) {
		/* 命令フェッチ */
		fetch_data = step_memread(&memread_ok, inst_addr, CS, eip, 1);
		if (!memread_ok) return 0;
		eip++;
		/* プリフィックスか判定 */
		if (fetch_data == 0x26) { /* ES override */
			data_segment = ES;
		} else if (fetch_data == 0x2E) { /* CS override */
			data_segment = CS;
		} else if (fetch_data == 0x36) { /* SS override */
			data_segment = SS;
		} else if (fetch_data == 0x3E) { /* DS override */
			data_segment = DS;
		} else if (fetch_data == 0x64) { /* FS override */
			data_segment = FS;
		} else if (fetch_data == 0x65) { /* GS override */
			data_segment = GS;
		} else if (fetch_data == 0x9B) { /* wait */
			/* 無視 */
		} else if (fetch_data == 0xF0) { /* lock */
			/* 無視 */
		} else if (fetch_data == 0x66) { /* operand-size override */
			is_data_16bit = 1;
		} else if (fetch_data == 0x67) { /* address-size override */
			is_addr_16bit = 1;
		} else if (fetch_data == 0xF2) { /* repnz */
			is_rep = 1;
			is_rep_while_zero = 0;
		} else if (fetch_data == 0xF3) { /* repz */
			is_rep = 1;
			is_rep_while_zero = 1;
		} else {
			break;
		}
	}

#define SET_JMP_TAKE \
	switch (fetch_data & 0x0E) { \
	case 0x0: jmp_take = (eflags & OF); break; /* JO */ \
	case 0x2: jmp_take = (eflags & CF); break; /* JB */ \
	case 0x4: jmp_take = (eflags & ZF); break; /* JZ */ \
	case 0x6: jmp_take = (eflags & CF) || (eflags & ZF); break; /* JBE */ \
	case 0x8: jmp_take = (eflags & SF); break; /* JS */ \
	case 0xA: jmp_take = (eflags & PF); break; /* JP */ \
	case 0xC: jmp_take = ((eflags & SF) != 0) != ((eflags & OF) != 0); break; /* JL */ \
	case 0xE: jmp_take = (eflags & ZF) || (((eflags & SF) != 0) != ((eflags & OF) != 0)); break; /* JLE */ \
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xb8, %rsp
movl 0x10ce2(%rip), %r10d    # 0x12120
movl 0x10cf8(%rip), %eax     # 0x1213c
cmpl $0x4, %eax
setae %cl
testb %cl, 0x10cd8(%rip)      # 0x12128
je 0x14a0
movl %r10d, %ecx
subl 0x10cdd(%rip), %ecx     # 0x12138
setae %dl
cmpl %eax, %ecx
setb %al
andb %dl, %al
cmpb $0x1, %al
jne 0x14a0
leaq 0x10cb0(%rip), %rdi     # 0x12120
leaq 0x10c89(%rip), %rsi     # 0x12100
callq 0xa10b
xorl %ecx, %ecx
testl %eax, %eax
je 0x4b4e
jns 0x4487
movq 0x10b65(%rip), %rax     # 0x11ff8
movq (%rax), %rdi
callq 0x12ac
jmp 0x4b4c
pushq $0x1
popq %r13
pushq $0x3
popq %rdx
leaq 0x74(%rsp), %r15
leaq 0xab7d(%rip), %rbx      # 0xc030
movl %r10d, %ecx
movl $0x0, 0xac(%rsp)
movl $0x0, 0x9c(%rsp)
movl $0x0, 0x70(%rsp)
movl $0x0, 0x18(%rsp)
movl %edx, %ebp
movq %r15, %rdi
movl %r10d, %r14d
movl %r10d, %esi
movl %r13d, %edx
movl %r13d, %r8d
callq 0x509d
cmpl $0x0, 0x74(%rsp)
je 0x4b4c
movl %eax, %r12d
movl 0x10c1a(%rip), %ecx     # 0x12120
incl %ecx
movl %ecx, 0x10c12(%rip)     # 0x12120
movzbl %r12b, %eax
leal -0x64(%rax), %edx
cmpl $0x3, %edx
jbe 0x1576
xorl %edx, %edx
cmpl $0x26, %eax
movl %r14d, %r10d
je 0x14dc
cmpl $0x2e, %eax
je 0x15b0
cmpl $0x36, %eax
je 0x15c4
cmpl $0x3e, %eax
je 0x15d4
movl %ebp, %edx
cmpl $0x9b, %eax
je 0x14dc
movl %ebp, %edx
cmpl $0xf0, %eax
je 0x14dc
cmpl $0xf2, %eax
je 0x1596
cmpl $0xf3, %eax
jne 0x15dc
movl %ebp, %edx
movl %r13d, 0xac(%rsp)
movl %r13d, 0x9c(%rsp)
jmp 0x14dc
movslq (%rbx,%rdx,4), %rax
addq %rbx, %rax
movl %r14d, %r10d
jmpq *%rax
pushq $0x4
popq %rdx
jmp 0x14dc
movl %ebp, %edx
movl %r13d, 0x18(%rsp)
jmp 0x14dc
movl $0x0, 0xac(%rsp)
movl %ebp, %edx
movl %r13d, 0x9c(%rsp)
jmp 0x14dc
movl %r13d, %edx
jmp 0x14dc
movl %ebp, %edx
movl %r13d, 0x70(%rsp)
jmp 0x14dc
pushq $0x2
popq %rdx
jmp 0x14dc
pushq $0x5
popq %rdx
jmp 0x14dc
pushq $0x3
popq %rdx
jmp 0x14dc
pushq $0xd
popq %r13
pushq $0x18
popq %r15
cmpl $0xf, %eax
jne 0x168d
leaq 0x74(%rsp), %rbx
pushq $0x1
popq %rdx
movq %rbx, %rdi
movl %r10d, %esi
movq %rdx, 0x68(%rsp)
movl %edx, %r8d
callq 0x509d
cmpl $0x0, (%rbx)
je 0x4b4c
movl 0x10b09(%rip), %ecx     # 0x12120
incl %ecx
movl %ecx, 0x10b01(%rip)     # 0x12120
movl %eax, %edx
andb $-0x10, %dl
cmpb $-0x70, %dl
je 0x184b
movl %eax, %edx
andl $0xf0, %edx
cmpl $0x80, %edx
movl %r14d, %r10d
je 0x1818
cmpl $0x40, %edx
jne 0x1874
cmpb $0x1, 0x10aec(%rip)     # 0x12140
je 0x2646
xorl %edx, %edx
cmpl $0x0, 0x18(%rsp)
sete %sil
movl %eax, %edi
andl $0xe, %edi
movl 0x10ab3(%rip), %r9d     # 0x12124
leaq 0xaa40(%rip), %r8       # 0xc0b8
movslq (%r8,%rdi,4), %rdi
addq %r8, %rdi
jmpq *%rdi
andl $0x800, %r9d            # imm = 0x800
jmp 0x20c3
pushq $0x6
popq %rdi
movzbl %r12b, %edx
cmpl $0x3f, %edx
ja 0x16cd
movl %r12d, %r9d
andl $0x7, %r9d
cmpl $0x5, %r9d
ja 0x16cd
xorl %r12d, %r12d
movl %r9d, %eax
leaq 0xaaf1(%rip), %rsi      # 0xc1a4
movslq (%rsi,%rax,4), %rax
addq %rsi, %rax
jmpq *%rax
pushq $0x1
popq %r11
xorl %eax, %eax
movl %r9d, %ebx
movl %r9d, %r12d
jmp 0x1a86
movl %r12d, %r8d
andl $0xf0, %r8d
cmpl $0x50, %r8d
je 0x1770
cmpl $0x40, %r8d
jne 0x17dc
andl $0x7, %r12d
cmpl $0x48, %edx
movl $0x0, %r15d
adcl $-0x1, %r15d
orl $0x1, %r15d
cmpl $0x0, 0x18(%rsp)
je 0x1970
movl $0x0, 0x40(%rsp)
pushq $0x1
popq %rdi
pushq $0xa
popq %r8
pushq $0x2
popq %r9
movb $0x1, %al
movl %eax, 0x14(%rsp)
movl $0x0, 0x30(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x50(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x58(%rsp)
movl $0x0, 0x20(%rsp)
movl %r9d, %r11d
movl $0x0, 0x10(%rsp)
movl %r15d, %esi
jmp 0x2b9a
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(,%rax,2), %r11d
andl $0x7, %r12d
xorl %esi, %esi
movb $0x1, %al
cmpl $0x58, %edx
jae 0x1912
movl %eax, 0x14(%rsp)
pushq $0x10
popq %r8
xorl %r15d, %r15d
movl $0x0, 0x20(%rsp)
xorl %edi, %edi
movl $0x0, 0x58(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x50(%rsp)
xorl %r13d, %r13d
xorl %r9d, %r9d
movl $0x0, 0x8(%rsp)
movl $0x0, 0x40(%rsp)
jmp 0x2b4e
movl %r15d, 0x78(%rsp)
movl %edi, 0x10(%rsp)
pushq $0x1
popq %r11
leal -0x60(%rax), %edi
cmpl $0xb, %edi
ja 0x1b2e
pushq $0x10
popq %rsi
xorl %r15d, %r15d
leaq 0xa8f2(%rip), %r9       # 0xc0f4
movslq (%r9,%rdi,4), %rdi
addq %r9, %rdi
jmpq *%rdi
movb $0x1, %al
movl %eax, 0x14(%rsp)
pushq $0x12
jmp 0x1bc7
xorl %edx, %edx
cmpl $0x0, 0x18(%rsp)
sete %sil
movl %eax, %edi
andl $0xe, %edi
movl 0x108f5(%rip), %r9d     # 0x12124
leaq 0xa846(%rip), %r8       # 0xc07c
movslq (%r8,%rdi,4), %rdi
addq %r8, %rdi
jmpq *%rdi
andl $0x800, %r9d            # imm = 0x800
jmp 0x1f88
movl %eax, %edx
andl $0xe, %edx
movl 0x108ce(%rip), %edi     # 0x12124
leaq 0xa7e3(%rip), %rsi      # 0xc040
movslq (%rsi,%rdx,4), %rdx
addq %rsi, %rdx
movl %r14d, %r10d
jmpq *%rdx
andl $0x800, %edi            # imm = 0x800
jmp 0x2017
movl %eax, %edx
orl $0x8, %edx
andl $0xfe, %edx
cmpl $0xac, %edx
jne 0x1995
movl %eax, %edx
notl %edx
andl $0x8, %eax
cmpl $0x1, %eax
pushq $0x8
popq %rax
sbbl $0x0, %eax
movq %rax, 0x28(%rsp)
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(,%rax,2), %eax
movq %rax, 0x40(%rsp)
andl $0x1, %edx
movb $0x1, %al
movl %eax, 0x4c(%rsp)
movl $0x0, 0x10(%rsp)
pushq $0x1
popq %rax
movl $0x0, 0x20(%rsp)
xorl %r12d, %r12d
movl %edx, 0x14(%rsp)
movl %edx, 0x48(%rsp)
movl $0x0, 0x3c(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x30(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x1c(%rsp)
movl %eax, %r13d
movq %rax, 0x68(%rsp)
jmp 0x215e
movl %eax, 0x14(%rsp)
pushq $0x2
popq %r9
pushq $0x11
popq %r8
movl $0x0, 0x10(%rsp)
movl $0x0, 0x20(%rsp)
xorl %edi, %edi
movl $0x0, 0x58(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x50(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x30(%rsp)
movl $0x0, 0x40(%rsp)
xorl %ebx, %ebx
jmp 0x2b91
movl %r12d, %eax
leaq 0x10786(%rip), %rcx     # 0x12100
movl (%rcx,%rax,4), %eax
pushq $0x4
popq %r11
pushq $0x2
popq %r9
movl $0x0, 0x8(%rsp)
movl %r15d, %ebx
jmp 0x33c5
movzbl %al, %edx
cmpl $0xaf, %edx
jne 0x1e44
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(%rax,%rax), %eax
movq %rax, 0x40(%rsp)
movb $0x1, %al
movl %eax, 0x4c(%rsp)
pushq $0x1
popq %r12
movl $0x0, 0x10(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x20(%rsp)
movl $0x0, 0x14(%rsp)
movl $0x0, 0x48(%rsp)
movl $0x0, 0x3c(%rsp)
movb $0x1, %al
movl %eax, 0x8(%rsp)
movl $0x0, 0x30(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x1c(%rsp)
movl %r12d, %eax
jmp 0x1908
movb $0x1, %al
pushq $0x1
popq %rbx
pushq $0x2
popq %r9
movl %ebx, %r11d
jmp 0x1a86
pushq $0x1
popq %r12
xorl %r9d, %r9d
xorl %ebx, %ebx
xorl %eax, %eax
movl %r12d, %r11d
jmp 0x1a86
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(%rax,%rax), %r11d
pushq $0x1
popq %r12
xorl %r9d, %r9d
xorl %ebx, %ebx
jmp 0x1a6a
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(,%rax,2), %r11d
xorl %r9d, %r9d
xorl %ebx, %ebx
xorl %r12d, %r12d
xorl %eax, %eax
jmp 0x1a86
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(%rax,%rax), %r11d
movb $0x1, %al
pushq $0x1
popq %rbx
pushq $0x2
popq %r9
shrl $0x3, %edx
decl %edx
cmpl $0x6, %edx
ja 0x1cf5
leaq 0xa721(%rip), %rsi      # 0xc1bc
movslq (%rsi,%rdx,4), %rdx
addq %rsi, %rdx
jmpq *%rdx
pushq $0x5
jmp 0x1d97
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(,%rax,2), %r11d
movl $0x0, 0x20(%rsp)
xorl %edi, %edi
movl $0x0, 0x58(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x50(%rsp)
movl %esi, 0x78(%rsp)
jmp 0x1fca
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(%rax,%rax), %eax
movq %rax, 0x40(%rsp)
movb $0x1, %al
movl %eax, 0x4c(%rsp)
pushq $0x1
popq %r12
movl $0x0, 0x10(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x20(%rsp)
movl %r12d, 0x14(%rsp)
movl %r12d, 0x48(%rsp)
jmp 0x1c64
movl %r12d, %esi
andl $0xfc, %esi
cmpl $0x6c, %esi
jne 0x24ac
movl %r12d, %eax
andl $0x2, %eax
cmpl $0x1, %eax
sbbl $0x0, 0x10(%rsp)
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %cl
xorl %esi, %esi
pushq $0x16
popq %r8
movb $0x1, %dl
movl %edx, 0x14(%rsp)
testb $0x1, %r12b
jne 0x265c
xorl %r15d, %r15d
movl $0x0, 0x40(%rsp)
movl $0x0, 0x30(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x8(%rsp)
xorl %r9d, %r9d
xorl %r12d, %r12d
movl $0x0, 0x50(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x58(%rsp)
xorl %edi, %edi
movl $0x0, 0x20(%rsp)
jmp 0x2b9a
movb $0x1, %al
movl %eax, 0x14(%rsp)
pushq $0x13
popq %r8
movl $0x0, 0x40(%rsp)
movl $0x0, 0x30(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x8(%rsp)
xorl %r9d, %r9d
xorl %r12d, %r12d
movl $0x0, 0x50(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x58(%rsp)
xorl %edi, %edi
movl $0x0, 0x20(%rsp)
movl $0x0, 0x10(%rsp)
xorl %esi, %esi
jmp 0x2b9a
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(%rax,%rax), %eax
movq %rax, 0x40(%rsp)
movb $0x1, %al
movl %eax, 0x4c(%rsp)
pushq $0x1
popq %r12
movl $0x0, 0x10(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x20(%rsp)
movl %r12d, 0x14(%rsp)
movl $0x0, 0x48(%rsp)
movl $0x0, 0x3c(%rsp)
movb $0x1, %al
movl %eax, 0x8(%rsp)
jmp 0x213d
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(%rax,%rax), %r11d
pushq $0x1
popq %rbx
movl $0x0, 0x20(%rsp)
xorl %edi, %edi
movl $0x0, 0x58(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x50(%rsp)
movl %esi, 0x78(%rsp)
movl $0x0, 0x60(%rsp)
xorl %r9d, %r9d
movl $0x0, 0x8(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x30(%rsp)
movl $0x0, 0x40(%rsp)
jmp 0x2ac3
pushq $0x2
jmp 0x1d97
pushq $0x3
jmp 0x1d97
pushq $0x4
jmp 0x1d97
pushq $0x1
popq %rdi
testb %al, %al
je 0x24f8
movl $0x0, 0x78(%rsp)
movl $0x0, 0x20(%rsp)
xorl %r12d, %r12d
xorl %esi, %esi
movl $0x0, 0x58(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x50(%rsp)
jmp 0x1dc9
pushq $0x1
popq %rdx
testb %al, %al
je 0x2521
movl $0x0, 0x78(%rsp)
movl $0x0, 0x20(%rsp)
xorl %r12d, %r12d
xorl %esi, %esi
movl %edx, %edi
jmp 0x1db4
movl %edi, 0x10(%rsp)
pushq $0x1
popq %rdi
testb %al, %al
je 0x257c
movl $0x0, 0x78(%rsp)
movl $0x0, 0x20(%rsp)
xorl %r12d, %r12d
xorl %esi, %esi
movl $0x0, 0x58(%rsp)
movq $0x0, 0x28(%rsp)
pushq $0x6
popq %rax
movl %eax, 0x50(%rsp)
jmp 0x1dc9
pushq $0x7
popq %rdx
pushq $0x1
popq %rdi
testb %al, %al
je 0x1de6
movl $0x0, 0x78(%rsp)
movl $0x0, 0x20(%rsp)
xorl %r12d, %r12d
xorl %esi, %esi
movl $0x0, 0x58(%rsp)
movq $0x0, 0x28(%rsp)
movl %edx, 0x50(%rsp)
xorl %r13d, %r13d
movl $0x0, 0x8(%rsp)
movl $0x0, 0xc(%rsp)
xorl %r15d, %r15d
xorl %eax, %eax
jmp 0x2aa7
movl %ebx, 0x14(%rsp)
movl %edx, 0x10(%rsp)
movq %rdi, 0x68(%rsp)
xorl %r13d, %r13d
movl %r9d, 0x1c(%rsp)
movq %r11, 0x40(%rsp)
movb $0x1, %al
movl %eax, 0x4c(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x20(%rsp)
movl $0x0, 0x48(%rsp)
movl $0x0, 0x3c(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x30(%rsp)
movl $0x0, 0xc(%rsp)
jmp 0x215e
movl %eax, %esi
andb $-0x2, %sil
cmpb $-0x42, %sil
je 0x26b5
movzbl %sil, %esi
cmpl $0xb6, %esi
je 0x26d0
cmpl $0xb0, %esi
jne 0x3f52
cmpb $0x1, 0x102c9(%rip)     # 0x12140
pushq $0x1
popq %rsi
je 0x3f68
xorl %edx, %edx
cmpl $0x0, 0x18(%rsp)
sete %dl
testb $0x1, %al
leal 0x2(%rdx,%rdx), %eax
cmovel %esi, %eax
movq %rax, 0x40(%rsp)
movb $0x1, %al
movl %eax, 0x4c(%rsp)
movl $0x0, 0x10(%rsp)
pushq $0x3
popq %r13
movq $0x0, 0x28(%rsp)
movl $0x0, 0x20(%rsp)
xorl %r12d, %r12d
movl $0x0, 0x14(%rsp)
movl $0x0, 0x48(%rsp)
movl $0x0, 0x3c(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x30(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x1c(%rsp)
jmp 0x215e
xorl %edi, %edi
testb $0x41, %r9b
setne %dil
movl %edi, %r9d
jmp 0x1f88
xorl %edx, %edx
testb $0x41, %dil
setne %dl
movl %edx, %edi
jmp 0x2017
movl %r9d, %edi
shrl $0x7, %edi
movl %r9d, %r8d
shrl $0xb, %r8d
xorl %edi, %r8d
andl $0x1, %r8d
testb $0x40, %r9b
pushq $0x1
popq %r9
cmovel %r8d, %r9d
jmp 0x1f88
andl $0x40, %r9d
jmp 0x1f88
movl %edi, %edx
shrl $0x7, %edx
movl %edi, %esi
shrl $0xb, %esi
xorl %edx, %esi
andl $0x1, %esi
testb $0x40, %dil
pushq $0x1
popq %rdi
cmovel %esi, %edi
jmp 0x2017
andl $0x40, %edi
jmp 0x2017
andl $0x4, %r9d
jmp 0x1f88
movl %r9d, %edi
shrl $0x7, %edi
shrl $0xb, %r9d
xorl %edi, %r9d
andl $0x1, %r9d
jmp 0x1f88
andl $0x80, %r9d
movl %r15d, 0x78(%rsp)
movb %sil, %dl
leal 0x2(,%rdx,2), %r11d
xorl %edi, %edi
testb $0x1, %al
jne 0x1fa5
movl %r9d, 0x20(%rsp)
jmp 0x1fb1
xorl %eax, %eax
testl %r9d, %r9d
sete %al
movl %eax, 0x20(%rsp)
movl $0x0, 0x58(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x50(%rsp)
movl $0x0, 0x60(%rsp)
xorl %r9d, %r9d
movl $0x0, 0x8(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movl %r11d, %ebx
jmp 0x2ac3
andl $0x4, %edi
jmp 0x2017
movl %edi, %edx
shrl $0x7, %edx
shrl $0xb, %edi
xorl %edx, %edi
andl $0x1, %edi
jmp 0x2017
andl $0x80, %edi
pushq $0x1
popq %rdx
movl $0x0, 0x10(%rsp)
pushq $0x8
popq %r13
testb $0x1, %al
movq %rdx, 0x40(%rsp)
movb $0x1, %al
jne 0x2044
movl %eax, 0x4c(%rsp)
movl %edi, 0x20(%rsp)
movq $0x0, 0x28(%rsp)
jmp 0x2064
movl %eax, 0x4c(%rsp)
xorl %eax, %eax
testl %edi, %edi
sete %al
movl $0x0, 0x10(%rsp)
movq $0x0, 0x28(%rsp)
movl %eax, 0x20(%rsp)
xorl %r12d, %r12d
jmp 0x211d
xorl %edi, %edi
testb $0x41, %r9b
setne %dil
movl %edi, %r9d
jmp 0x20c3
movl %r9d, %edi
shrl $0x7, %edi
movl %r9d, %r8d
shrl $0xb, %r8d
xorl %edi, %r8d
andl $0x1, %r8d
testb $0x40, %r9b
pushq $0x1
popq %r9
cmovel %r8d, %r9d
jmp 0x20c3
andl $0x40, %r9d
jmp 0x20c3
andl $0x4, %r9d
jmp 0x20c3
movl %r9d, %edi
shrl $0x7, %edi
shrl $0xb, %r9d
xorl %edi, %r9d
andl $0x1, %r9d
jmp 0x20c3
andl $0x80, %r9d
movb %sil, %dl
leal 0x2(,%rdx,2), %edx
pushq $0x1
popq %r12
pushq $0x5
popq %r13
testb $0x1, %al
movq %rdx, 0x40(%rsp)
movb $0x1, %al
jne 0x20fc
movl %eax, 0x4c(%rsp)
movl $0x0, 0x10(%rsp)
movl %r9d, 0x20(%rsp)
movq $0x0, 0x28(%rsp)
jmp 0x211d
movl %eax, 0x4c(%rsp)
xorl %eax, %eax
testl %r9d, %r9d
sete %al
movl $0x0, 0x10(%rsp)
movq $0x0, 0x28(%rsp)
movl %eax, 0x20(%rsp)
movl $0x0, 0x14(%rsp)
movl $0x0, 0x48(%rsp)
movl $0x0, 0x3c(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x30(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x1c(%rsp)
movq $0x0, 0x68(%rsp)
movq $0x0, 0x60(%rsp)
leaq 0x74(%rsp), %r15
pushq $0x1
popq %rbx
movq %r15, %rdi
movl %r10d, %esi
movl %ebx, %edx
movl %ebx, %r8d
callq 0x509d
cmpl $0x0, (%r15)
je 0x4b4c
movl %ebx, %edx
movl 0xff8f(%rip), %ecx      # 0x12120
incl %ecx
movl %ecx, 0xff87(%rip)      # 0x12120
movl %eax, %r15d
shrl $0x3, %r15d
movl %r15d, %ebx
andl $0x7, %ebx
xorl %r8d, %r8d
movl %ebx, %esi
movl 0x10(%rsp), %edi
cmpl $0xc, %edi
je 0x2245
cmpl $0xb, %edi
movl %r14d, %r10d
movq 0x28(%rsp), %r11
je 0x21dd
cmpl $0xa, %edi
jne 0x21d4
leaq 0xa9af(%rip), %rdi      # 0xcb80
movl (%rdi,%rsi,4), %edi
movl %edi, 0x50(%rsp)
jmp 0x22a2
xorl %edi, %edi
cmpl $0x3, %ebx
setne %dil
xorl %r8d, %r8d
cmpl $0x2, %ebx
leal 0x9(%rdi,%rdi), %edi
pushq $0x8
popq %r13
cmovael %edi, %r13d
movl %r13d, 0x50(%rsp)
movl 0x30(%rsp), %edi
cmovbl %r8d, %edi
movl %edi, 0x30(%rsp)
movl 0x14(%rsp), %edi
cmovbl %edx, %edi
movl %edi, 0x14(%rsp)
leaq 0xa985(%rip), %rdi      # 0xcba0
cmpl $0x4, %ebx
movq 0x68(%rsp), %r8
cmovbl %edx, %r8d
movq %r8, 0x68(%rsp)
movl (%rdi,%rsi,4), %r13d
cmovael %edx, %r12d
movl %eax, %edi
andl $0x30, %edi
xorl %r8d, %r8d
cmpl $0x20, %edi
sete %r8b
jmp 0x22a2
leaq 0xa9b4(%rip), %rdi      # 0xcc00
movl (%rdi,%rsi,4), %r13d
cmpl $0x1, %ebx
movl %r14d, %r10d
movq 0x28(%rsp), %r11
ja 0x2284
xorl %r8d, %r8d
movl %ebx, %edi
negl %edi
movl $0x0, %edi
sbbl %edi, %edi
orl $0x1, %edi
movq %rdi, 0x60(%rsp)
pushq $0xc
popq %rdi
movl %edi, 0x50(%rsp)
pushq $0x1
popq %rdi
movq %rdi, 0x68(%rsp)
jmp 0x22a2
cmpl $0x7, %ebx
je 0x272d
cmpl $0x1, 0x40(%rsp)
je 0x27d7
pushq $0xc
popq %rdi
movl %edi, 0x50(%rsp)
movl %edx, %r12d
cmpl $0x9, %r11d
jne 0x22b3
leaq 0xa911(%rip), %rdi      # 0xcbc0
movl (%rdi,%rsi,4), %r11d
cmpl $0x4, %ebx
sete %sil
cmpl $0x2d, %r13d
jne 0x22cd
movl 0x3c(%rsp), %edi
andb %sil, %dil
je 0x2496
movq %r11, 0x28(%rsp)
movl %eax, %r11d
movl %eax, %r9d
shrl $0x6, %r9d
andl $0x3, %r9d
movl %r15d, %eax
movl %r11d, %edx
andl $0x7, %edx
movq 0x40(%rsp), %r15
cmpl $0x1, %r15d
setne %sil
movl %r13d, %edi
andl $-0x2, %edi
cmpl $0x6, %edi
sete %dil
orb %sil, %dil
cmpl $0x4, %ebx
setb %sil
orb %dil, %sil
andl $0x3, %eax
testb %sil, %sil
cmovnel %ebx, %eax
movl %eax, 0x10(%rsp)
cmpl $0x3, %r9d
movl %r8d, 0x58(%rsp)
jne 0x235c
cmpl $0x1, %r15d
setne %al
cmpl $0x4, %edx
movl %esi, %edi
setb %sil
orb %al, %sil
andl $0x3, %r11d
testb %sil, %sil
cmovel %r11d, %edx
movzbl %dil, %r11d
xorl $0x3, %r11d
movzbl %sil, %esi
xorl $0x3, %esi
xorl %ebx, %ebx
jmp 0x2a1a
movl %edx, 0x3c(%rsp)
xorl $0x5, %edx
movl %r9d, 0x8c(%rsp)
orl %r9d, %edx
sete %dl
movl 0x70(%rsp), %edi
testl %edi, %edi
movl %r13d, 0x78(%rsp)
movb %sil, 0x87(%rsp)
je 0x23a1
testb %dl, %dl
je 0x23ee
movq $0x0, 0xa0(%rsp)
movb $0x1, %dl
pushq $0x2
popq %r8
movl %edi, %r13d
jmp 0x23c0
pushq $0x4
popq %rbx
testb %dl, %dl
je 0x2466
movb $0x1, %dl
xorl %r13d, %r13d
movl %ebx, %r8d
movq $0x0, 0xa0(%rsp)
xorl %ebx, %ebx
movq $0x0, 0x90(%rsp)
xorl %r15d, %r15d
movl $0x0, 0x88(%rsp)
movl $0x0, 0x3c(%rsp)
movq 0x40(%rsp), %r11
jmp 0x28d1
movl 0x3c(%rsp), %edx
leaq 0xa7e7(%rip), %rsi      # 0xcbe0
movl (%rsi,%rdx,4), %eax
movl %eax, 0x3c(%rsp)
andl $0x5, %r11d
xorl %esi, %esi
xorl %r15d, %r15d
cmpl $0x1, %r11d
pushq $0x7
popq %rdx
movl $0x0, %eax
movq %rax, 0xa0(%rsp)
cmovnel %esi, %edx
setbe %r15b
testl %r11d, %r11d
pushq $0x6
popq %rax
cmovnel %edx, %eax
movl %eax, 0x88(%rsp)
movb $0x1, %dl
movl %edi, %r13d
movl $0x0, %ebx
movb $0x1, %al
movq %rax, 0x90(%rsp)
movl 0x8c(%rsp), %r8d
movl %r8d, %eax
testl %r8d, %r8d
movq 0x40(%rsp), %r11
jne 0x28d1
jmp 0x29b1
xorl %esi, %esi
movl 0x8c(%rsp), %eax
testl %eax, %eax
movq 0x40(%rsp), %r11
je 0x2585
cmpl $0x2, %eax
jne 0x248b
pushq $0x4
popq %rax
movl %eax, 0x8c(%rsp)
movb $0x1, %r9b
xorl %r15d, %r15d
jmp 0x258b
movq 0xfb5b(%rip), %rbx      # 0x11ff8
movq (%rbx), %rdi
leaq 0xa00f(%rip), %rsi      # 0xc4b6
jmp 0x3dbc
cmpl $0x70, %r8d
jne 0x2694
xorl %edi, %edi
pushq $0x1
popq %r11
cmpb $-0x15, %r12b
je 0x26ab
cmpl $0xe3, %eax
je 0x2706
movl %r12d, %eax
andl $0xe, %eax
movl 0xfc47(%rip), %esi      # 0x12124
leaq 0x9c84(%rip), %rdx      # 0xc168
movslq (%rdx,%rax,4), %rax
addq %rdx, %rax
jmpq *%rax
andl $0x800, %esi            # imm = 0x800
jmp 0x3fc5
movl %ebx, 0x14(%rsp)
movq %rdi, 0x68(%rsp)
xorl %r13d, %r13d
movl %r9d, 0x1c(%rsp)
movq %r11, 0x40(%rsp)
movb $0x1, %al
movl %eax, 0x4c(%rsp)
movl $0x0, 0x10(%rsp)
jmp 0x1e06
movl %ebx, 0x14(%rsp)
xorl %r13d, %r13d
movl %r9d, 0x1c(%rsp)
movq %r11, 0x40(%rsp)
movb $0x1, %al
movl %eax, 0x4c(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x20(%rsp)
movl $0x0, 0x48(%rsp)
movl $0x0, 0x3c(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x30(%rsp)
movl $0x0, 0xc(%rsp)
movl %edx, 0x10(%rsp)
movl %edx, %eax
jmp 0x1908
movl %ebx, 0x14(%rsp)
jmp 0x1dee
movb $0x1, %r15b
xorl %r9d, %r9d
cmpl $0x4, 0x3c(%rsp)
jne 0x2636
movl %r9d, 0x88(%rsp)
leaq 0x74(%rsp), %r13
pushq $0x1
popq %rdx
movq %r13, %rdi
movl %r10d, %esi
movl %edx, %r8d
callq 0x509d
cmpl $0x0, (%r13)
je 0x4b4c
movl %r15d, 0x90(%rsp)
movl 0xfb53(%rip), %ecx      # 0x12120
incl %ecx
movl %ecx, 0xfb4b(%rip)      # 0x12120
movl %eax, %edx
shrl $0x3, %edx
andl $0x7, %edx
movl %eax, %esi
andl $0x7, %esi
movl %esi, 0x3c(%rsp)
xorl %r13d, %r13d
movl $0x0, %r15d
movl $0x0, %esi
cmpl $0x4, %edx
movl %r14d, %r10d
movq 0x40(%rsp), %r11
movl 0x70(%rsp), %edi
movl 0x8c(%rsp), %r8d
movl 0x88(%rsp), %r9d
je 0x285b
shrl $0x6, %eax
andl $0x3, %eax
leaq 0x9bb2(%rip), %rsi      # 0xc1d8
movslq (%rsi,%rax,4), %rax
addq %rsi, %rax
jmpq *%rax
pushq $0x1
jmp 0x2857
xorl %r15d, %r15d
movl 0x8c(%rsp), %r8d
jmp 0x289b
movq 0xf9ab(%rip), %rbx      # 0x11ff8
movq (%rbx), %rdi
leaq 0x9d89(%rip), %rsi      # 0xc3e0
jmp 0x3dbc
movb %cl, %al
leal 0x2(,%rax,2), %r11d
movl $0x0, 0x20(%rsp)
xorl %edi, %edi
movl $0x0, 0x58(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x50(%rsp)
xorl %r12d, %r12d
xorl %r9d, %r9d
jmp 0x1949
cmpb $-0x1d, %r12b
je 0x2706
cmpl $0xeb, %eax
jne 0x2746
xorl %edi, %edi
pushq $0x1
popq %r11
movl %r11d, 0x20(%rsp)
jmp 0x1fb1
andl $0x1, %eax
incl %eax
movb $0x1, %dl
movl %edx, 0x4c(%rsp)
pushq $0x1
popq %r12
movl $0x0, 0x10(%rsp)
pushq $0x7
jmp 0x26e9
andl $0x1, %eax
incl %eax
movb $0x1, %dl
movl %edx, 0x4c(%rsp)
pushq $0x1
popq %r12
movl $0x0, 0x10(%rsp)
pushq $0x6
popq %r13
movq $0x0, 0x28(%rsp)
movq %rax, 0x40(%rsp)
movl $0x0, 0x20(%rsp)
jmp 0x211d
cmpl $0x0, 0x18(%rsp)
movl 0xf9f3(%rip), %eax      # 0x12104
movzwl %ax, %edx
cmovel %eax, %edx
xorl %eax, %eax
testl %edx, %edx
sete %al
movl %eax, 0x20(%rsp)
xorl %edi, %edi
pushq $0x1
popq %r11
jmp 0x1fb1
movq 0xf8c4(%rip), %rbx      # 0x11ff8
movq (%rbx), %rdi
leaq 0x9d54(%rip), %rsi      # 0xc492
pushq $0x7
popq %rdx
jmp 0x3ed8
cmpl $0x80, %esi
jne 0x27fc
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
testb $0x1, %r12b
leal 0x2(%rax,%rax), %eax
pushq $0x1
popq %rsi
cmovel %esi, %eax
movq %rax, 0x40(%rsp)
pushq $0xa
popq %rax
movl %eax, 0x10(%rsp)
xorl %eax, %eax
cmpl $0x83, %edx
sete %al
movl %eax, 0x48(%rsp)
xorl %r13d, %r13d
movq $0x0, 0x28(%rsp)
movl $0x0, 0x20(%rsp)
xorl %r12d, %r12d
movl $0x0, 0x4c(%rsp)
movl $0x0, 0x3c(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x30(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x1c(%rsp)
movl %esi, 0x14(%rsp)
movl %esi, %eax
jmp 0x1908
movq 0xf81a(%rip), %r14      # 0x11ff8
movq (%r14), %rdi
leaq 0x9caa(%rip), %rsi      # 0xc492
movl %ebx, %edx
movl %r10d, %ecx
xorl %eax, %eax
callq 0x10d0
movq (%r14), %rdi
jmp 0x1496
leal -0x84(%rdx), %edi
cmpl $0x7, %edi
ja 0x3efd
movl %r12d, %edx
andb $-0x2, %dl
movq $0x0, 0x28(%rsp)
pushq $0x1
popq %rax
cmpb $-0x7c, %dl
je 0x3fdd
movzbl %dl, %edx
cmpl $0x86, %edx
jne 0x4065
pushq $0x2
popq %r13
movl $0x0, 0x10(%rsp)
movl %eax, %edx
movq %rdx, 0x68(%rsp)
jmp 0x407a
pushq $0x4
jmp 0x2857
pushq $0x8
jmp 0x2857
pushq $0x2
popq %r15
movl %edx, %esi
cmpl $0x5, 0x3c(%rsp)
sete %al
testb %al, 0x90(%rsp)
je 0x289b
movl %esi, 0x88(%rsp)
pushq $0x5
popq %rax
movl %eax, 0x3c(%rsp)
movb $0x1, %dl
movl %ebx, %r8d
movq $0x0, 0xa0(%rsp)
xorl %ebx, %ebx
movq $0x0, 0x90(%rsp)
jmp 0x28d1
movl %esi, 0x88(%rsp)
movb $0x1, %dl
xorl %r13d, %r13d
movl $0x0, %eax
movq %rax, 0xa0(%rsp)
movl $0x0, %ebx
movb $0x1, %al
movq %rax, 0x90(%rsp)
movl $0x0, %eax
testb %r9b, %r9b
je 0x29b1
movl %r13d, 0x70(%rsp)
movl %edx, 0xb4(%rsp)
movl %r15d, 0x8c(%rsp)
movq %r11, 0x40(%rsp)
leaq 0x74(%rsp), %r13
pushq $0x1
popq %rdx
movq %r13, %rdi
movl %r10d, %esi
movl %r8d, %r15d
callq 0x509d
cmpl $0x0, (%r13)
je 0x4b4c
addl 0xf80e(%rip), %r15d     # 0x12120
movl %r15d, 0xf807(%rip)     # 0x12120
testb %bl, %bl
je 0x299a
movl %r15d, %ebx
xorl %r13d, %r13d
movq 0xa0(%rsp), %r9
testl %r9d, %r9d
movl %r14d, %r10d
movq 0x40(%rsp), %r11
movq 0x60(%rsp), %rsi
je 0x36fb
movl 0x70(%rsp), %r8d
leal (,%r9,8), %ecx
negb %cl
pushq $-0x1
popq %rdx
movl %edx, %edi
shrl %cl, %edi
cmpl $0x4, %r9d
cmovael %edx, %edi
andl %edi, %eax
cmpb $0x0, 0xb4(%rsp)
movl 0x1c(%rsp), %r9d
movq 0x68(%rsp), %rdi
movl 0x30(%rsp), %r15d
movl 0x48(%rsp), %r12d
je 0x3724
pushq $0x1
popq %r15
movl %ebx, %ecx
movl %r8d, 0x70(%rsp)
movl $0x0, 0x8(%rsp)
jmp 0x3735
movl %r15d, %ecx
movl 0x70(%rsp), %edi
movl %r14d, %r10d
movq 0x40(%rsp), %r11
movl 0x8c(%rsp), %r15d
movq %r11, 0x40(%rsp)
movzbl 0x87(%rsp), %r11d
xorl $0x3, %r11d
xorl %esi, %esi
movl %edi, 0x70(%rsp)
cmpl $0x1, %edi
movl $0x0, %edi
sbbl %edi, %edi
orl $0xffff, %edi           # imm = 0xFFFF
movl 0x3c(%rsp), %edx
movl %edx, %r9d
leaq 0xf719(%rip), %r8       # 0x12100
movl (%r8,%r9,4), %ebx
andl %edi, %ebx
movl 0x88(%rsp), %r9d
movl (%r8,%r9,4), %r8d
andl %edi, %r8d
cmpb $0x0, 0x90(%rsp)
cmovel %esi, %ebx
imull %r15d, %r8d
addl %eax, %ebx
addl %r8d, %ebx
andl %edi, %ebx
pushq $0x1
popq %rsi
movl 0x78(%rsp), %r13d
movl %r13d, 0x78(%rsp)
cmpl $0xd, %r13d
setne %dil
orb 0x8(%rsp), %dil
xorl %r8d, %r8d
testl %r12d, %r12d
movl $0x0, %r9d
cmovel %ebx, %r9d
movl %r9d, 0x8(%rsp)
testb %dil, %dil
movl $0x0, %r13d
movl 0x10(%rsp), %edi
cmovnel %edi, %r13d
pushq $0x2
popq %r9
cmovnel %r11d, %r9d
testl %r12d, %r12d
cmovnel %edx, %edi
cmovnel %esi, %r11d
cmovel %r12d, %ebx
cmovel %edx, %r13d
cmovel %esi, %r9d
cmpb $0x0, 0x4c(%rsp)
movl 0xc(%rsp), %esi
cmovnel %edi, %esi
movl %esi, 0xc(%rsp)
movl 0x30(%rsp), %r15d
cmovnel %r11d, %r15d
cmovel %r8d, %ebx
movl %ebx, %eax
movq 0x68(%rsp), %rdi
movq 0x60(%rsp), %rsi
movl 0x14(%rsp), %ebx
movl 0x48(%rsp), %r12d
movq 0x40(%rsp), %r11
movl %eax, 0x40(%rsp)
testl %ebx, %ebx
je 0x2b17
movl %r13d, 0x60(%rsp)
movl %r15d, 0x30(%rsp)
testl %r12d, %r12d
pushq $0x1
popq %rbx
cmovel %r11d, %ebx
movq %rdi, 0x68(%rsp)
movl %r9d, %r13d
movq %r11, %r12
leaq 0x74(%rsp), %r15
pushq $0x1
popq %rdx
movq %r15, %rdi
movl %r10d, %esi
movl %ebx, %r8d
callq 0x509d
cmpl $0x0, (%r15)
je 0x4b4c
movl %eax, %esi
addl %ebx, 0xf62a(%rip)      # 0x12120
xorl %edx, %edx
movl 0x78(%rsp), %r8d
movl %r14d, %r10d
movq %r12, %r11
movl %r13d, %r9d
movq 0x68(%rsp), %rdi
movl 0x30(%rsp), %r15d
movl 0x60(%rsp), %r13d
jmp 0x2b1e
movb $0x1, %dl
movl 0x78(%rsp), %r8d
movl %r15d, %eax
leaq 0x96c0(%rip), %rcx      # 0xc1e8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
movl %edx, 0x14(%rsp)
jmpq *%rax
movl %r15d, 0x30(%rsp)
movl %r15d, 0x10(%rsp)
movl %r13d, %r12d
movl %esi, %ebx
jmp 0x2b91
xorl %r15d, %r15d
movl 0xc(%rsp), %r12d
movl %r12d, 0xc(%rsp)
movl %r12d, %eax
leaq 0xf5a3(%rip), %rcx      # 0x12100
movl (%rcx,%rax,4), %ebx
pushq $0x2
popq %rax
movl %eax, 0x30(%rsp)
movl %r15d, 0x10(%rsp)
jmp 0x2b8e
movl 0xc(%rsp), %eax
leaq 0xf587(%rip), %rcx      # 0x12100
movl (%rcx,%rax,4), %ebx
shrl $0x8, %ebx
pushq $0x3
popq %rax
movl %eax, 0x30(%rsp)
movl $0x0, 0x10(%rsp)
movl %r13d, %r12d
cmpl $0x3, %r11d
ja 0x2bbf
movl %ebx, %r15d
leal (,%r11,8), %eax
leal -0x8(%rax), %ecx
movl %r15d, %edx
shrl %cl, %edx
testb %dl, %dl
jns 0x2bc8
pushq $-0x1
popq %rcx
movl %ecx, %ebx
movl %eax, %ecx
shll %cl, %ebx
orl %r15d, %ebx
movb $0x1, %r13b
jmp 0x2bd8
pushq $0x4
popq %r11
xorl %r13d, %r13d
jmp 0x2bd8
negb %al
movl %eax, %ecx
shll %cl, %r15d
shrl %cl, %r15d
movb $0x1, %r13b
movl %r15d, %ebx
testl %edi, %edi
je 0x2c07
movl %r9d, %eax
leaq 0x9612(%rip), %rcx      # 0xc1f8
movslq (%rcx,%rax,4), %rdx
addq %rcx, %rdx
movl %r12d, %eax
jmpq *%rdx
movl %esi, %eax
testb %r13b, %r13b
jne 0x2c98
xorl %r9d, %r9d
movl %esi, %eax
jmp 0x2cf2
xorl %eax, %eax
jmp 0x2cf2
leaq 0xf4eb(%rip), %rcx      # 0x12100
movl (%rcx,%rax,4), %eax
testb %r13b, %r13b
jne 0x2c98
pushq $0x2
jmp 0x2c35
leaq 0xf4d8(%rip), %rcx      # 0x12100
movl (%rcx,%rax,4), %eax
shrl $0x8, %eax
testb %r13b, %r13b
jne 0x2c98
pushq $0x3
popq %r9
jmp 0x2cf2
movq %rbx, 0x68(%rsp)
movq %rsi, 0x60(%rsp)
movl %r8d, 0x78(%rsp)
movl %r9d, 0x1c(%rsp)
leaq 0x74(%rsp), %rbx
movq %rbx, %rdi
movl %r10d, %esi
movl %ebp, %edx
movl 0x8(%rsp), %ecx
movq %r11, %r15
movl %r11d, %r8d
callq 0x509d
cmpl $0x0, (%rbx)
je 0x4b4c
testb %r13b, %r13b
je 0x2de4
movl %r14d, %r10d
movq %r15, %r11
movl 0x1c(%rsp), %r9d
movl 0x78(%rsp), %r8d
movq 0x60(%rsp), %rsi
movq 0x68(%rsp), %rbx
movq %rsi, %rdi
leal (,%r11,8), %edx
leal -0x8(%rdx), %ecx
movl %eax, %esi
shrl %cl, %esi
testb %sil, %sil
jns 0x2ce7
pushq $-0x1
popq %rsi
movl %edx, %ecx
shll %cl, %esi
orl %esi, %eax
jmp 0x2cef
pushq $0x1
popq %r12
cmpl $0x9, %r8d
jne 0x2d79
movl %r12d, 0x30(%rsp)
pushq $0x9
popq %r8
movl $0x0, 0x10(%rsp)
movl %r13d, %r12d
movl 0x40(%rsp), %eax
movl %eax, %ebx
jmp 0x2b91
negb %dl
movl %edx, %ecx
shll %cl, %eax
shrl %cl, %eax
movq %rdi, %rsi
movl 0x10(%rsp), %ecx
cmpl $0x2d, %r8d
ja 0x3eb1
movl %r8d, %edi
leaq 0x94fe(%rip), %rdx      # 0xc208
movslq (%rdx,%rdi,4), %rdi
addq %rdx, %rdi
pushq $0x1
popq %r8
jmpq *%rdi
movl %r9d, 0x1c(%rsp)
leal (,%r11,8), %ecx
movq %r8, %r14
shlq %cl, %r14
decb %cl
shlq %cl, %r8
movl 0x50(%rsp), %edx
cmpl $0x9, %edx
ja 0x415e
movq %rbx, %r15
movq %r8, %r13
leaq -0x1(%r14), %rcx
movl 0xf3d8(%rip), %ebx      # 0x12124
movl %ebx, %esi
andl $0xfffff72a, %esi       # imm = 0xFFFFF72A
movl %r15d, %edi
andl %ecx, %r15d
andl %ecx, %eax
movl %edx, %r8d
leaq 0x959e(%rip), %r9       # 0xc304
movslq (%r9,%r8,4), %r8
addq %r9, %r8
jmpq *%r8
leaq (%rax,%r15), %rbx
jmp 0x3ad1
movq %rsi, 0x60(%rsp)
movq %rdi, 0x68(%rsp)
movl %r8d, 0x78(%rsp)
movl %r9d, 0x1c(%rsp)
leaq 0x74(%rsp), %rbx
movq %rbx, %rdi
movl %r10d, %esi
movl %ebp, %edx
movl 0x40(%rsp), %ecx
movq %r11, %r15
movl %r11d, %r8d
callq 0x509d
cmpl $0x0, (%rbx)
je 0x4b4c
movl $0x0, 0x10(%rsp)
movl %r12d, 0x30(%rsp)
movl %r13d, %r12d
movl %r14d, %r10d
movq %r15, %r11
movl 0x1c(%rsp), %r9d
movl 0x78(%rsp), %r8d
movq 0x68(%rsp), %rdi
movq 0x60(%rsp), %rsi
movq %rax, %rbx
jmp 0x2b91
pushq $0x1
popq %r9
movl %r14d, %r10d
movq %r15, %r11
movl 0x78(%rsp), %r8d
movq 0x60(%rsp), %rsi
movl 0x10(%rsp), %ecx
movq 0x68(%rsp), %rbx
jmp 0x2cf6
leal -0x1(%rbx), %eax
cmpl $0x0, 0x20(%rsp)
je 0x3685
cmpl $0x1, %ebx
je 0x3685
addl %ebx, 0xf2fd(%rip)      # 0x12120
jmp 0x3685
cmpb $0x1, 0xf315(%rip)      # 0x12144
jne 0x3ee7
cmpl $0x40, %ebx
jne 0x3ee7
leaq 0xf2bb(%rip), %rdi      # 0x12100
callq 0x9717
xorl %ecx, %ecx
testl %eax, %eax
je 0x4b4e
jns 0x4480
jmp 0x148c
movl 0xf2bb(%rip), %esi      # 0x12120
movl %r10d, %edi
movl %r11d, %edx
movl 0x70(%rsp), %ecx
callq 0x527f
testl %eax, %eax
jne 0x33a3
jmp 0x4b4c
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(%rax,%rax), %edx
leaq 0x74(%rsp), %r14
movq %r14, %rdi
movl %r10d, %esi
movl 0x70(%rsp), %ecx
callq 0x52cf
cmpl $0x0, (%r14)
jne 0x33b7
jmp 0x4b4c
leal (,%r11,8), %eax
movl %eax, %edx
negb %dl
movl $0x7fffffff, %esi       # imm = 0x7FFFFFFF
movl %edx, %ecx
shrl %cl, %esi
decb %al
pushq $0x1
popq %rdi
movl %eax, %ecx
shll %cl, %edi
movl %r11d, %ecx
shll $0x4, %ecx
decb %cl
shlq %cl, %r8
movl %edx, %ecx
shll %cl, %ebx
shrl %cl, %ebx
movq %r8, %rdx
cmpl $0x1, %r11d
jne 0x373e
movl 0xf20c(%rip), %ecx      # 0x12100
movzwl %cx, %r8d
jmp 0x3874
notl %esi
andl %esi, 0xf21f(%rip)      # 0x12124
jmp 0x4480
movq %rbx, %r15
movl %r9d, %ebx
leal (,%r11,8), %edx
movl %edx, %ecx
negb %cl
movq %rsi, %r14
pushq $-0x1
popq %rsi
shrl %cl, %esi
leal -0x1(%rdx), %ecx
pushq $0x1
popq %rdi
shll %cl, %edi
movl %r15d, %r8d
cmpb $0x0, 0x14(%rsp)
cmovnel %eax, %r14d
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
leaq (%r8,%rax), %r9
movzbl %cl, %ecx
btl %ecx, %r15d
cmovaeq %r8, %r9
orq %r14, %rax
btl %ecx, %r14d
cmovaeq %r14, %rax
imulq %r9, %rax
movl %eax, %r8d
movl %edx, %ecx
shrq %cl, %rax
cmpl $0x0, 0x58(%rsp)
je 0x39bc
cmpl $0x2, %r11d
je 0x39ad
cmpl $0x1, %r11d
jne 0x39b6
movb %al, 0xf174(%rip)       # 0x12101
jmp 0x39bc
cmpl $0x3, %ecx
sete 0x30(%rsp)
cmpl $0x7, %ecx
setb %dl
movb $0x4b, %sil
shrb %cl, %sil
cmpl $0x6, %ecx
setb 0x18(%rsp)
movq %r8, %r15
movl %ecx, %r8d
movb $0x37, %dil
shrb %cl, %dil
leal (,%r11,8), %eax
leal -0x1(%rax), %ecx
movq %r15, %r13
shlq %cl, %r13
movq %r13, 0x78(%rsp)
movl 0xf14e(%rip), %ecx      # 0x12124
movl %r11d, %r13d
negl %r13d
movq %rcx, 0x40(%rsp)
btl $0xa, %ecx
cmovael %r11d, %r13d
movl %r13d, 0xc(%rsp)
movl %eax, %ecx
shlq %cl, %r15
cmpl $0x4, %r8d
ja 0x3ec4
andb %sil, %dl
movb %dl, 0x28(%rsp)
movb 0x18(%rsp), %dl
andb %dil, %dl
xorl %eax, %eax
movb 0x30(%rsp), %cl
movb %cl, %al
movl %eax, 0x14(%rsp)
movq %r15, 0x60(%rsp)
leaq -0x1(%r15), %rax
movq %rax, 0x50(%rsp)
movq $0x0, 0x58(%rsp)
movl %r8d, %eax
movq %rax, 0x20(%rsp)
leaq 0x74(%rsp), %r13
movq $0x0, 0x30(%rsp)
movl 0x70(%rsp), %esi
movl %r9d, 0x1c(%rsp)
movq %rbx, 0x68(%rsp)
movb %dl, 0x18(%rsp)
movl %r14d, 0xb0(%rsp)
movl 0xf0b4(%rip), %eax      # 0x12118
movl %eax, %ecx
movl $0xffff, %edi           # imm = 0xFFFF
andl %edi, %ecx
movl 0xf0a9(%rip), %edx      # 0x1211c
movl %edx, %r15d
andl %edi, %r15d
testl %esi, %esi
cmovel %eax, %ecx
cmovel %edx, %r15d
cmpl $0x3, %r8d
ja 0x3187
movq 0x20(%rsp), %rax
leaq 0x9228(%rip), %rdx      # 0xc2c0
movslq (%rdx,%rax,4), %rax
addq %rdx, %rax
jmpq *%rax
movq %r13, %rdi
movl %r10d, %esi
pushq $0x3
popq %rdx
movl %r11d, %r8d
movl %r10d, %ebx
movq %r11, %r13
callq 0x509d
cmpl $0x0, 0x74(%rsp)
je 0x4b4c
movl %ebx, %edi
xorl %esi, %esi
movl %r15d, %edx
movl %eax, %ecx
movq %r13, %r15
movl %r13d, %r8d
callq 0x51bf
xorl %ecx, %ecx
testl %eax, %eax
movq 0x68(%rsp), %rbx
jne 0x323b
jmp 0x4b4e
movl %r10d, %edi
xorl %esi, %esi
movl %r15d, %edx
movl %ebx, %ecx
movq %r11, %r15
movl %r11d, %r8d
callq 0x51bf
xorl %ecx, %ecx
testl %eax, %eax
jne 0x323b
jmp 0x4b4e
movq %r13, %rdi
movl %r10d, %esi
pushq $0x3
popq %rdx
movq %r11, %r15
movl %r11d, %r8d
callq 0x509d
movq %rax, 0x58(%rsp)
cmpl $0x0, 0x74(%rsp)
jne 0x323b
jmp 0x4b4c
movq %r13, %rdi
movl %r10d, %esi
pushq $0x3
popq %rdx
movl %r11d, %r8d
movq %r11, %rbx
callq 0x509d
cmpl $0x0, 0x74(%rsp)
je 0x4b4c
movq %r13, %rdi
movl %eax, %r13d
movl 0xb0(%rsp), %esi
xorl %edx, %edx
movl %r15d, %ecx
movq %rbx, %r15
movl %ebx, %r8d
callq 0x509d
xorl %ecx, %ecx
cmpl $0x0, 0x74(%rsp)
movq 0x68(%rsp), %rbx
jne 0x31ad
jmp 0x4b4e
movq %r13, %rdi
movl %r10d, %esi
xorl %edx, %edx
movl %r15d, %ecx
movq %r11, %r15
movl %r11d, %r8d
callq 0x509d
xorl %ecx, %ecx
cmpl $0x0, 0x74(%rsp)
je 0x4b4e
movl %ebx, %r13d
movq 0x40(%rsp), %rdi
andl $0xfffff72a, %edi       # imm = 0xFFFFF72A
movl %r13d, %ecx
movl %eax, %edx
subq %rdx, %rcx
movq 0x78(%rsp), %rsi
andl %esi, %r13d
negl %eax
andl %esi, %eax
movq %rcx, %rdx
andq %rsi, %rdx
leal 0x800(%rdi), %esi
cmpq %r13, %rdx
cmovel %edi, %esi
cmpq %rax, %r13
cmovnel %edi, %esi
leal 0x80(%rsi), %r8d
testq %rdx, %rdx
cmovel %esi, %r8d
leal 0x40(%r8), %edx
xorl %esi, %esi
xorl %eax, %eax
movq 0x60(%rsp), %rdi
cmpl $0x8, %esi
je 0x320f
btq %rsi, %rcx
adcl $0x0, %eax
incl %esi
jmp 0x31ff
xorl %esi, %esi
testq %rdi, %rcx
setne %sil
testq %rcx, 0x50(%rsp)
cmovel %edx, %r8d
andl $0x1, %eax
leal (%rsi,%rax,4), %eax
xorl $0x4, %eax
orl %r8d, %eax
movq %rax, 0x40(%rsp)
andl $0x40, %r8d
movq %r8, 0x30(%rsp)
movl 0x70(%rsp), %esi
testl %esi, %esi
je 0x32ae
cmpb $0x0, 0x28(%rsp)
movl %r14d, %r10d
movq %r15, %r11
movl 0x1c(%rsp), %r9d
movl 0x10(%rsp), %r8d
movb 0x18(%rsp), %dl
leaq 0x74(%rsp), %r13
je 0x3274
movl 0xeeaf(%rip), %eax      # 0x12118
addl 0xc(%rsp), %eax
movw %ax, 0xeea4(%rip)       # 0x12118
testb %dl, %dl
je 0x3289
movl 0xee9e(%rip), %eax      # 0x1211c
addl 0xc(%rsp), %eax
movw %ax, 0xee93(%rip)       # 0x1211c
cmpl $0x0, 0x9c(%rsp)
je 0x3339
movl 0xee67(%rip), %eax      # 0x12104
movl %eax, %ecx
andl $0xffff0000, %ecx       # imm = 0xFFFF0000
decl %eax
movzwl %ax, %eax
orl %ecx, %eax
jmp 0x32f8
cmpb $0x0, 0x28(%rsp)
movl %r14d, %r10d
movq %r15, %r11
movl 0x1c(%rsp), %r9d
movl 0x10(%rsp), %r8d
movb 0x18(%rsp), %dl
leaq 0x74(%rsp), %r13
je 0x32d8
movl 0xc(%rsp), %eax
addl %eax, 0xee40(%rip)      # 0x12118
testb %dl, %dl
je 0x32e6
movl 0xc(%rsp), %eax
addl %eax, 0xee36(%rip)      # 0x1211c
cmpl $0x0, 0x9c(%rsp)
je 0x3339
movl 0xee0e(%rip), %eax      # 0x12104
decl %eax
testl %esi, %esi
movl %eax, 0xee04(%rip)      # 0x12104
movzwl %ax, %ecx
cmovel %eax, %ecx
testl %ecx, %ecx
je 0x3339
cmpl $0x4, %r8d
je 0x331a
cmpl $0x1, %r8d
jne 0x305e
xorl %eax, %eax
movq 0x30(%rsp), %rcx
testl %ecx, %ecx
sete %al
cmpl $0x0, 0xac(%rsp)
cmovnel %ecx, %eax
testl %eax, %eax
jne 0x305e
cmpl $0x1, %r8d
je 0x39ee
cmpl $0x4, %r8d
movq 0x58(%rsp), %rbx
movl 0x14(%rsp), %r8d
movq 0x40(%rsp), %r14
je 0x3b64
jmp 0x3b6b
cmpl $0x2, %r11d
jne 0x3763
movzbl %bl, %eax
leal 0xff00(%rax), %ebx
testb %al, %al
cmovnsl %eax, %ebx
pushq $0x2
jmp 0x382b
movl 0xed9a(%rip), %esi      # 0x12120
movl %r10d, %edi
movl %r11d, %edx
movl 0x70(%rsp), %ecx
callq 0x527f
testl %eax, %eax
je 0x4b4c
addl 0xed7d(%rip), %ebx      # 0x12120
movl %ebx, 0xed77(%rip)      # 0x12120
cmpl $0x0, 0x18(%rsp)
je 0x4480
movzwl %bx, %eax
movl %eax, 0xed63(%rip)      # 0x12120
jmp 0x4480
movl %esi, %r15d
leal (,%r11,8), %edx
leal -0x1(%rdx), %ecx
pushq $0x1
popq %rsi
shll %cl, %esi
movl $0xfffff72b, %ecx       # imm = 0xFFFFF72B
andl 0xed44(%rip), %ecx      # 0x12124
addl %eax, %r15d
andl %esi, %eax
andl %esi, %ebx
andl %r15d, %esi
leal 0x800(%rcx), %edi
cmpl %eax, %esi
cmovel %ecx, %edi
cmpl %ebx, %eax
cmovnel %ecx, %edi
leal 0x80(%rdi), %eax
testl %esi, %esi
cmovel %edi, %eax
pushq $-0x1
popq %rsi
movl %edx, %ecx
shlq %cl, %rsi
notl %esi
leal 0x40(%rax), %ecx
testl %esi, %r15d
cmovnel %eax, %ecx
movl %ecx, 0xed06(%rip)      # 0x12124
movl %r15d, %ebx
jmp 0x3d19
movq 0x28(%rsp), %rcx
addl $-0x7, %ecx
cmpb $0x0, 0x14(%rsp)
je 0x343b
movl 0xecc9(%rip), %esi      # 0x12104
cmpl $0x2, %ecx
cmovael %ebx, %esi
andl $0x1f, %esi
je 0x4480
movl %r9d, 0x1c(%rsp)
leal (,%r11,8), %r14d
leal -0x1(%r14), %ecx
pushq $0x1
popq %rdi
shll %cl, %edi
movl %r14d, %ecx
shlq %cl, %r8
movq 0x28(%rsp), %rdx
cmpl $0x8, %edx
ja 0x41e5
movq %rbx, %r13
movq %rsi, %r15
movl 0xeca4(%rip), %esi      # 0x12124
leaq -0x1(%r8), %rbx
movl %edx, %ecx
leaq 0x8e53(%rip), %r9       # 0xc2e0
movslq (%r9,%rcx,4), %rcx
addq %r9, %rcx
jmpq *%rcx
movl %ebx, %edx
andl %eax, %edx
movq %rdx, %r9
movl %r15d, %ecx
shlq %cl, %r9
jmp 0x3bac
movswl %bx, %eax
shrl $0xf, %eax
sarl $0x1f, %ebx
cmpl $0x2, %r11d
movzwl %ax, %eax
cmovnel %ebx, %eax
jmp 0x3685
notl %eax
jmp 0x37ae
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(,%rax,2), %r11d
jmp 0x3d19
leal (,%r11,8), %ecx
negb %cl
pushq $-0x1
popq %rax
shrl %cl, %eax
movl %eax, %edi
andl %eax, %ebx
cmpl $0x1, %r11d
jne 0x3776
movl 0xebff(%rip), %ecx      # 0x12100
movzwl %cx, %eax
jmp 0x392a
cmpl $0x0, 0x20(%rsp)
jne 0x3d19
jmp 0x4480
movl %r10d, %edi
movl %ebx, %esi
jmp 0x446c
cmpl $0x0, 0x20(%rsp)
je 0x4480
addl %ebx, 0xebec(%rip)      # 0x12120
jmp 0x4480
movl 0x30(%rsp), %ecx
leaq 0x8d8c(%rip), %rdx      # 0xc2d0
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movl %r10d, %edi
movl %ebp, %esi
movl 0x40(%rsp), %edx
movl %eax, %ecx
movl %r11d, %r8d
movq %rbx, %r13
movq %r11, %rbx
movl %r9d, %r15d
callq 0x51bf
movl %r15d, %r9d
movq %rbx, %r11
movq %r13, %rbx
movl %r14d, %r10d
testl %eax, %eax
jne 0x3d19
jmp 0x4b4c
leal (,%r11,8), %eax
movl %eax, %ecx
negb %cl
pushq $-0x1
popq %rdi
shrl %cl, %edi
andl %edi, %ebx
movl 0xeb65(%rip), %ecx      # 0x12100
movl %ecx, %edx
movl %edi, %esi
andl %edi, %edx
imulq %rdx, %rbx
cmpl $0x2, %r11d
je 0x37b5
cmpl $0x1, %r11d
jne 0x37d4
andl $0xffff0000, %ecx       # imm = 0xFFFF0000
movzwl %bx, %edx
orl %ecx, %edx
movl %edx, 0xeb36(%rip)      # 0x12100
jmp 0x37e7
leal (,%r11,8), %ecx
negb %cl
pushq $-0x1
popq %rsi
movl %esi, %edx
shrl %cl, %edx
cmpl $0x4, %r11d
cmovael %esi, %edx
movl %eax, %ecx
andl %edx, %ecx
movl 0xeb0f(%rip), %esi      # 0x12100
movl %esi, %r8d
andl %edx, %r8d
movl 0xeb27(%rip), %edi      # 0x12124
cmpl %r8d, %ecx
jne 0x3799
orl $0x40, %edi
movl %edi, 0xeb15(%rip)      # 0x12124
jmp 0x3d19
movl %r9d, %r13d
leaq 0x74(%rsp), %rbx
movq %rbx, %rdi
movl %r10d, %esi
movq %r11, %r15
movl %r11d, %edx
movl 0x70(%rsp), %ecx
callq 0x52cf
cmpl $0x0, (%rbx)
je 0x4b4c
movl %r14d, %r10d
movq %r15, %r11
movl %r13d, %r9d
movq %rax, %rbx
jmp 0x3d19
xorl %ebx, %ebx
cmpl $0x0, 0x20(%rsp)
setne %bl
jmp 0x3d19
shll $0x3, %r11d
negb %r11b
pushq $-0x1
popq %rdx
movl %edx, %eax
movl %r11d, %ecx
shrl %cl, %eax
testb %r13b, %r13b
cmovel %edx, %eax
andl %ebx, %eax
xorl %ecx, %ecx
cmpl $0x0, 0x18(%rsp)
sete %cl
leal 0x2(,%rcx,2), %r11d
movl %eax, %ebx
jmp 0x3d19
orl %esi, 0xea92(%rip)      # 0x12124
jmp 0x4480
xorb $0x1, 0xea86(%rip)      # 0x12124
jmp 0x4480
movl 0x18(%rsp), %r15d
leaq 0x74(%rsp), %r14
movq %r14, %rdi
movl %r10d, %esi
movl %r11d, %edx
movl 0x70(%rsp), %ecx
callq 0x52cf
cmpl $0x0, (%r14)
je 0x4b4c
testl %r15d, %r15d
movl $0x1a0000, %ecx         # imm = 0x1A0000
movl $0xffff0000, %edx       # imm = 0xFFFF0000
cmovel %ecx, %edx
movl $0xff24ffff, %ecx       # imm = 0xFF24FFFF
movl $0xffff, %esi           # imm = 0xFFFF
cmovel %ecx, %esi
andl 0xea38(%rip), %edx      # 0x12124
andl %esi, %eax
orl %edx, %eax
movl %eax, 0xea2e(%rip)      # 0x12124
jmp 0x4480
movl %ebx, %ecx
movl $0x0, 0x8(%rsp)
xorl %eax, %eax
movl 0x1c(%rsp), %r9d
movq 0x68(%rsp), %rdi
movl 0x30(%rsp), %r15d
movl 0x14(%rsp), %ebx
movl 0x48(%rsp), %r12d
jmp 0x2aa7
movl %ebx, %ecx
movl %r8d, 0x70(%rsp)
pushq $0x1
popq %r9
movl %eax, 0x8(%rsp)
xorl %eax, %eax
movl 0x14(%rsp), %ebx
jmp 0x2aa7
movl 0xe9c4(%rip), %eax      # 0x12108
cmpl $0x2, %r11d
jne 0x3864
shll $0x10, %eax
movl 0xe9a9(%rip), %ecx      # 0x12100
movzwl %cx, %r8d
orl %eax, %r8d
jmp 0x3874
movzwl %bx, %eax
movswl %ax, %ebx
andl $0xffff0000, %ebx       # imm = 0xFFFF0000
orl %eax, %ebx
jmp 0x3d19
movl 0xe98c(%rip), %edx      # 0x12108
cmpl $0x2, %r11d
jne 0x391a
shll $0x10, %edx
movl 0xe971(%rip), %ecx      # 0x12100
movzwl %cx, %eax
orl %edx, %eax
jmp 0x392a
andl $-0x41, %edi
movl %edi, 0xe982(%rip)      # 0x12124
notl %edx
andl %edx, %esi
orl %ecx, %esi
movl %esi, 0xe952(%rip)      # 0x12100
movl %eax, %ebx
jmp 0x3d19
andl $0xffff0000, %ecx       # imm = 0xFFFF0000
movzwl %bx, %edx
orl %ecx, %edx
movl %edx, 0xe93a(%rip)      # 0x12100
movl %ebx, %ecx
shrl $0x10, %ecx
movw %cx, 0xe936(%rip)       # 0x12108
jmp 0x37e7
movl %ebx, 0xe926(%rip)      # 0x12100
movq %rbx, %rcx
shrq $0x20, %rcx
movl %ecx, 0xe921(%rip)      # 0x12108
movl %eax, %ecx
shrq %cl, %rbx
andl %esi, %ebx
movl $0xfffff7fe, %eax       # imm = 0xFFFFF7FE
andl 0xe92b(%rip), %eax      # 0x12124
testl %ebx, %ebx
movl $0x801, %ecx            # imm = 0x801
cmovel %ebx, %ecx
orl %eax, %ecx
movl %ecx, 0xe919(%rip)      # 0x12124
jmp 0x4480
cmpl $0x1, %r11d
jne 0x3dab
movl 0xc(%rsp), %ecx
leaq 0xe8db(%rip), %rdx      # 0x12100
movb %al, 0x1(%rdx,%rcx,4)
pushq $0x1
popq %r11
jmp 0x3d19
leal (,%r11,8), %ecx
pushq $-0x1
popq %rdx
shll %cl, %edx
xorl %ecx, %ecx
cmpl $0x4, %r11d
cmovbl %edx, %ecx
movl 0xc(%rsp), %edx
leaq 0xe8ad(%rip), %rsi      # 0x12100
movl (%rsi,%rdx,4), %edi
xorl %eax, %edi
andl %ecx, %edi
xorl %eax, %edi
movl %edi, (%rsi,%rdx,4)
jmp 0x3d19
shlq $0x20, %rax
movl 0xe892(%rip), %ecx      # 0x12100
orq %rcx, %rax
movq %rax, %r8
testl %ebx, %ebx
je 0x3a02
movq %r8, %rax
negq %rax
movq %rdx, %r14
testq %rdx, %r8
sete %dl
cmoveq %r8, %rax
movl %ebx, %r9d
negl %r9d
testl %edi, %ebx
sete %dil
cmovel %ebx, %r9d
xorb %dl, %dil
xorl %edx, %edx
divq %r9
movzbl %dil, %r9d
addl %r9d, %esi
cmpq %rsi, %rax
ja 0x3a18
movq %rax, %rsi
negq %rsi
testb %dil, %dil
cmoveq %rax, %rsi
movl %edx, %eax
negl %eax
testq %r14, %r8
cmovel %edx, %eax
cmpl $0x1, %r11d
jne 0x38f3
andl $0xffff0000, %ecx       # imm = 0xFFFF0000
shll $0x8, %eax
movzwl %ax, %eax
movzbl %sil, %edx
orl %eax, %edx
orl %ecx, %edx
movl %edx, 0xe812(%rip)      # 0x12100
jmp 0x4480
cmpl $0x2, %r11d
jne 0x398b
andl $0xffff0000, %ecx       # imm = 0xFFFF0000
movzwl %si, %edx
orl %ecx, %edx
movl %edx, 0xe7f2(%rip)      # 0x12100
movw %ax, 0xe7f3(%rip)       # 0x12108
jmp 0x4480
shlq $0x20, %rdx
movl 0xe7dc(%rip), %ecx      # 0x12100
orq %rcx, %rdx
movq %rdx, %rax
testl %ebx, %ebx
je 0x3a02
movl %ebx, %esi
xorl %edx, %edx
divq %rsi
movl %edi, %esi
cmpq %rsi, %rax
ja 0x3a18
cmpl $0x1, %r11d
jne 0x3968
andl $0xffff0000, %ecx       # imm = 0xFFFF0000
shll $0x8, %edx
movzwl %dx, %edx
movzbl %al, %eax
orl %edx, %eax
orl %ecx, %eax
movl %eax, 0xe79d(%rip)      # 0x12100
jmp 0x4480
cmpl $0x2, %r11d
jne 0x399c
andl $0xffff0000, %ecx       # imm = 0xFFFF0000
movzwl %ax, %eax
orl %ecx, %eax
movl %eax, 0xe781(%rip)      # 0x12100
movw %dx, 0xe782(%rip)       # 0x12108
jmp 0x4480
movl %esi, 0xe76f(%rip)      # 0x12100
movl %eax, 0xe771(%rip)      # 0x12108
jmp 0x4480
movl %eax, 0xe75e(%rip)      # 0x12100
movl %edx, 0xe760(%rip)      # 0x12108
jmp 0x4480
movw %ax, 0xe754(%rip)       # 0x12108
jmp 0x39bc
movl %eax, 0xe74c(%rip)      # 0x12108
andl %esi, %eax
andl %r8d, %edi
cmovnel %esi, %edi
movl $0xfffff7fe, %ecx       # imm = 0xFFFFF7FE
andl 0xe755(%rip), %ecx      # 0x12124
xorl %edx, %edx
cmpl %edi, %eax
movl $0x801, %eax            # imm = 0x801
cmovnel %edx, %eax
orl %ecx, %eax
movl %eax, 0xe741(%rip)      # 0x12124
movl %ebx, %r9d
movq %r8, %rbx
jmp 0x3d19
movq 0x58(%rsp), %rbx
movl 0x14(%rsp), %r8d
movq 0x40(%rsp), %r14
jmp 0x3b64
movq 0xe5ef(%rip), %rbx      # 0x11ff8
movq (%rbx), %rdi
leaq 0x8b71(%rip), %rsi      # 0xc584
jmp 0x3dbc
movq 0xe5d9(%rip), %rbx      # 0x11ff8
movq (%rbx), %rdi
leaq 0x8b73(%rip), %rsi      # 0xc59c
jmp 0x3dbc
andl %edi, %eax
jmp 0x3b07
movq %rax, %rbx
negq %rbx
setb %dil
xorq %rbx, %rax
movl %esi, %r8d
orl $0x800, %r8d            # imm = 0x800
testb $0x1, %dil
cmovel %esi, %r8d
movq %r13, %rdx
testq %r13, %rax
jmp 0x3af5
movq %rax, %rbx
subq %r15, %rbx
negq %r15
movq %r13, %rdx
andl %edx, %eax
movl %eax, %eax
andq %r13, %r15
jmp 0x3adb
andl $0x1, %ebx
addq %r15, %rbx
movq %rax, %rdi
subq %rbx, %rdi
movq %r13, %rdx
andl %edx, %eax
movl %eax, %eax
negq %r15
andq %r13, %r15
movq %rdi, %rbx
jmp 0x3ade
movq %rax, %rbx
subq %r15, %rbx
movq %r13, %rdx
andl %edx, %eax
movl %eax, %eax
negq %r15
andq %r13, %r15
movq %rbx, %rdi
andq %r13, %rdi
movl %esi, %r8d
orl $0x800, %r8d            # imm = 0x800
cmpq %rax, %rdi
cmovel %esi, %r8d
cmpq %r15, %rax
cmovel %r8d, %esi
xorl %r8d, %r8d
jmp 0x3b18
andl $0x1, %ebx
addq %rax, %rbx
addq %r15, %rbx
movq %r13, %rdx
andl %edx, %eax
movl %eax, %eax
andl %edx, %r15d
movq %rbx, %rdi
andq %r13, %rdi
movl %esi, %r8d
orl $0x800, %r8d            # imm = 0x800
cmpq %rax, %rdi
cmovel %esi, %r8d
cmpq %r15, %rax
cmovel %r8d, %esi
pushq $0x1
popq %r8
jmp 0x3b18
orq %r15, %rax
jmp 0x3b07
xorq %r15, %rax
pushq $0x1
popq %r8
jmp 0x3b12
andl %edi, %eax
xorl %r8d, %r8d
movq %rax, %rbx
movq %r13, %rdx
movl %esi, %eax
orl $0x80, %eax
testq %rdx, %rbx
cmovel %esi, %eax
movl %eax, %esi
orl $0x40, %esi
xorl %edi, %edi
testq %r14, %rbx
setne %dil
xorl %r14d, %r14d
xorl %edx, %edx
movl 0x1c(%rsp), %r9d
cmpl $0x8, %edx
je 0x3b4e
btq %rdx, %rbx
adcl $0x0, %r14d
incl %edx
jmp 0x3b3d
testq %rcx, %rbx
cmovel %esi, %eax
orl %edi, %eax
notl %r14d
shll $0x2, %r14d
andl $0x4, %r14d
orl %eax, %r14d
movl %r14d, 0xe5b9(%rip)     # 0x12124
testl %r8d, %r8d
jne 0x3d19
jmp 0x4480
movl %eax, %edx
movl %r15d, %ecx
shlq %cl, %rdx
xorl %ecx, %ecx
movq %rdx, %r14
testq %r8, %rdx
jmp 0x3c0e
movl %ebx, %ecx
andl %eax, %ecx
xorl %edx, %edx
testb $0x1, %sil
cmovneq %r8, %rdx
orq %rcx, %rdx
movq %rdx, %r9
movl %r15d, %ecx
shlq %cl, %r9
orl $0x1, %r14d
subl %r15d, %r14d
movl %r14d, %ecx
shrq %cl, %rdx
jmp 0x3bde
movl %ebx, %ecx
andl %eax, %ecx
xorl %edx, %edx
testb $0x1, %sil
cmovneq %r8, %rdx
orq %rcx, %rdx
movq %rdx, %r9
movl %r15d, %ecx
shrq %cl, %r9
orl $0x1, %r14d
subl %r15d, %r14d
movl %r14d, %ecx
shlq %cl, %rdx
orq %r9, %rdx
xorl %ecx, %ecx
movq %rdx, %r14
testq %r8, %rdx
setne %cl
jmp 0x3c41
movl %eax, %r9d
movl %r15d, %ecx
shlq %cl, %r9
andl %ebx, %r13d
subl %r15d, %r14d
movl %r14d, %ecx
shrq %cl, %r13
orq %r9, %r13
xorl %ecx, %ecx
movq %r13, %r14
testq %r8, %r13
setne %cl
jmp 0x3c9e
movl %ebx, %edx
andl %eax, %edx
movq %rdx, %r9
movl %r15d, %ecx
shrq %cl, %r9
subl %r15d, %r14d
movl %r14d, %ecx
shlq %cl, %rdx
orq %r9, %rdx
movq %rdx, %r14
leal -0x1(%r15), %ecx
movzbl %cl, %edx
xorl %ecx, %ecx
btl %edx, %eax
setb %cl
movb $0x1, %dl
jmp 0x3ca0
movl %eax, %r14d
movl %r15d, %ecx
shrq %cl, %r14
xorl %edx, %edx
xorl %ecx, %ecx
jmp 0x3ca0
movl %eax, %ecx
movabsq $-0x100000000, %r14     # imm = 0xFFFFFFFF00000000
orq %rcx, %r14
testl %edi, %eax
cmoveq %rcx, %r14
movl %r15d, %ecx
shrq %cl, %r14
jmp 0x3c8f
movl %ebx, %r9d
andl %eax, %r9d
movl %r15d, %ecx
shrq %cl, %r9
movl %r13d, %r13d
subl %r15d, %r14d
movl %r14d, %ecx
shlq %cl, %r13
orq %r9, %r13
movq %r13, %r14
leal -0x1(%r15), %ecx
movzbl %cl, %edx
xorl %ecx, %ecx
btl %edx, %eax
setb %cl
xorl %edx, %edx
movq %rbx, %r8
cmpl $0x1, %r15d
jne 0x3cc4
andl %edi, %eax
movl %r14d, %r9d
andl %edi, %r9d
cmpl %eax, %r9d
jne 0x3cbe
andl $0xfffff7ff, %esi       # imm = 0xFFFFF7FF
jmp 0x3cc4
orl $0x800, %esi            # imm = 0x800
movl 0x1c(%rsp), %r9d
andl $-0x2, %esi
orl %ecx, %esi
testb %dl, %dl
movq %r14, %rbx
jne 0x3d13
xorl %ecx, %ecx
xorl %eax, %eax
cmpq $0x8, %rcx
je 0x3ceb
btq %rcx, %rbx
adcl $0x0, %eax
incq %rcx
jmp 0x3cd9
andl $0xffffff3b, %esi       # imm = 0xFFFFFF3B
andl $0x1, %eax
xorl %ecx, %ecx
testq %r8, %rbx
sete %cl
shll $0x6, %ecx
xorl %edx, %edx
testl %edi, %ebx
setne %dl
shll $0x7, %edx
orl %ecx, %edx
orl %esi, %edx
leal (%rdx,%rax,4), %esi
xorl $0x4, %esi
movl %esi, 0xe40b(%rip)      # 0x12124
cmpl $0x3, %r9d
ja 0x4480
movl %r9d, %eax
leaq 0x85ff(%rip), %rcx      # 0xc32c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl %r10d, %edi
movl %ebp, %esi
movl 0x8(%rsp), %edx
movl %ebx, %ecx
movl %r11d, %r8d
callq 0x51bf
jmp 0x4478
cmpl $0x1, %r11d
jne 0x3dab
movl %r12d, %eax
leaq 0xe3a2(%rip), %rcx      # 0x12100
movb %bl, 0x1(%rcx,%rax,4)
jmp 0x4480
leal (,%r11,8), %ecx
pushq $-0x1
popq %rdx
shll %cl, %edx
xorl %eax, %eax
cmpl $0x4, %r11d
cmovll %edx, %eax
movl %r12d, %ecx
leaq 0xe379(%rip), %rdx      # 0x12100
movl (%rdx,%rcx,4), %esi
xorl %ebx, %esi
andl %eax, %esi
xorl %ebx, %esi
movl %esi, (%rdx,%rcx,4)
jmp 0x4480
movq 0xe259(%rip), %rbx      # 0x11ff8
movq (%rbx), %rdi
leaq 0x8770(%rip), %rsi      # 0xc519
jmp 0x3dbc
movq 0xe246(%rip), %rbx      # 0x11ff8
movq (%rbx), %rdi
leaq 0x878a(%rip), %rsi      # 0xc546
movl %r10d, %edx
xorl %eax, %eax
callq 0x10d0
movq (%rbx), %rdi
jmp 0x1496
movq 0xe223(%rip), %rbx      # 0x11ff8
movq (%rbx), %rdi
leaq 0x88bd(%rip), %rsi      # 0xc69c
jmp 0x3dbc
movq 0xe210(%rip), %rbx      # 0x11ff8
movq (%rbx), %rdi
leaq 0x892a(%rip), %rsi      # 0xc71c
jmp 0x3dbc
movq 0xe1fd(%rip), %rbx      # 0x11ff8
movq (%rbx), %rdi
leaq 0x8942(%rip), %rsi      # 0xc747
jmp 0x3dbc
movq 0xe1ea(%rip), %rbx      # 0x11ff8
movq (%rbx), %rdi
leaq 0x87aa(%rip), %rsi      # 0xc5c2
jmp 0x3dbc
movq 0xe1d7(%rip), %rbx      # 0x11ff8
movq (%rbx), %rdi
leaq 0x889c(%rip), %rsi      # 0xc6c7
jmp 0x3dbc
movq 0xe1c4(%rip), %rbx      # 0x11ff8
movq (%rbx), %rdi
leaq 0x87b0(%rip), %rsi      # 0xc5ee
jmp 0x3dbc
movq 0xe1ae(%rip), %rbx      # 0x11ff8
movq (%rbx), %rdi
leaq 0x87ea(%rip), %rsi      # 0xc63e
jmp 0x3dbc
movq 0xe198(%rip), %rbx      # 0x11ff8
movq (%rbx), %rdi
leaq 0x8931(%rip), %rsi      # 0xc79b
jmp 0x3dbc
movq 0xe182(%rip), %rbx      # 0x11ff8
movq (%rbx), %rdi
leaq 0x88f2(%rip), %rsi      # 0xc772
jmp 0x3dbc
movq 0xe16c(%rip), %rbx      # 0x11ff8
movq (%rbx), %rdi
leaq 0x87d7(%rip), %rsi      # 0xc66d
jmp 0x3dbc
movq 0xe156(%rip), %rbx      # 0x11ff8
movq (%rbx), %rdi
leaq 0x8919(%rip), %rsi      # 0xc7c5
jmp 0x3dbc
movq 0xe140(%rip), %rbx      # 0x11ff8
movq (%rbx), %rdi
leaq 0x892d(%rip), %rsi      # 0xc7ef
jmp 0x3ed5
movq 0xe12d(%rip), %rbx      # 0x11ff8
movq (%rbx), %rdi
leaq 0x8744(%rip), %rsi      # 0xc619
movl %r8d, %edx
movl %r10d, %ecx
xorl %eax, %eax
callq 0x10d0
jmp 0x3dc6
movq 0xe10a(%rip), %rbx      # 0x11ff8
movq (%rbx), %rdi
leaq 0x87fa(%rip), %rsi      # 0xc6f2
jmp 0x3dbc
cmpb $-0x73, %r12b
je 0x3ff3
cmpl $0x8f, %eax
jne 0x40ef
pushq $0x11
popq %r13
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(%rax,%rax), %eax
movq %rax, 0x40(%rsp)
movl $0x0, 0x10(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x20(%rsp)
xorl %r12d, %r12d
movl $0x0, 0x4c(%rsp)
jmp 0x4022
movq 0xe09f(%rip), %rbx      # 0x11ff8
movq (%rbx), %rdi
leaq 0x84e6(%rip), %rsi      # 0xc449
jmp 0x3ed8
movq 0xe089(%rip), %rbx      # 0x11ff8
movq (%rbx), %rdi
leaq 0x849b(%rip), %rsi      # 0xc414
jmp 0x3dbc
xorl %eax, %eax
testb $0x41, %sil
setne %al
movl %eax, %esi
jmp 0x3fc5
movl %esi, %eax
shrl $0x7, %eax
movl %esi, %edx
shrl $0xb, %edx
xorl %eax, %edx
andl $0x1, %edx
testb $0x40, %sil
pushq $0x1
popq %rsi
cmovel %edx, %esi
jmp 0x3fc5
andl $0x40, %esi
jmp 0x3fc5
andl $0x4, %esi
jmp 0x3fc5
movl %esi, %eax
shrl $0x7, %eax
shrl $0xb, %esi
xorl %eax, %esi
andl $0x1, %esi
jmp 0x3fc5
andl $0x80, %esi
testb $0x1, %r12b
jne 0x3fd4
movl %esi, 0x20(%rsp)
jmp 0x1fb1
xorl %eax, %eax
testl %esi, %esi
jmp 0x1faa
pushq $0x8
popq %rdx
movl %edx, 0x10(%rsp)
movl %eax, %edx
movq %rdx, 0x68(%rsp)
xorl %r13d, %r13d
jmp 0x407a
pushq $0x9
popq %r13
movb $0x1, %al
movl %eax, 0x4c(%rsp)
pushq $0x1
popq %r12
pushq $0x4
popq %rax
movq %rax, 0x40(%rsp)
movl $0x0, 0x10(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x20(%rsp)
movl $0x0, 0x14(%rsp)
movl $0x0, 0x48(%rsp)
movl $0x0, 0x3c(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x30(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x1c(%rsp)
movq $0x0, 0x68(%rsp)
jmp 0x40de
pushq $0x4
popq %r13
movq $0x0, 0x68(%rsp)
movl $0x0, 0x10(%rsp)
xorl %edx, %edx
cmpl $0x0, 0x18(%rsp)
sete %dl
testb $0x1, %r12b
leal 0x2(%rdx,%rdx), %edx
cmovel %eax, %edx
movq %rdx, 0x40(%rsp)
andl $0x2, %r12d
movb $0x1, %al
movl %eax, 0x4c(%rsp)
movl $0x0, 0x20(%rsp)
movl $0x0, 0x14(%rsp)
movl $0x0, 0x48(%rsp)
movl $0x0, 0x3c(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x30(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x1c(%rsp)
movq $0x0, 0x60(%rsp)
movl %r14d, %r10d
jmp 0x2167
movl %r12d, %r9d
andl $0xf8, %r9d
cmpl $0x90, %r9d
jne 0x4174
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(,%rax,2), %r11d
andl $0x7, %r12d
movb $0x1, %al
movl %eax, 0x14(%rsp)
pushq $0x2
popq %r8
pushq $0x1
popq %rdi
xorl %esi, %esi
xorl %r15d, %r15d
movl $0x0, 0x20(%rsp)
movl $0x0, 0x58(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x50(%rsp)
xorl %r13d, %r13d
movl %r8d, %r9d
movl $0x0, 0x8(%rsp)
jmp 0x43f0
movq 0xde93(%rip), %rbx      # 0x11ff8
movq (%rbx), %rdi
leaq 0x8371(%rip), %rsi      # 0xc4e0
jmp 0x3ed8
movb $0x1, %dil
movl %edi, 0x14(%rsp)
pushq $0x1
popq %r11
leal -0x98(%rax), %edi
cmpl $0x7, %edi
ja 0x4287
xorl %r15d, %r15d
leaq 0x7f8c(%rip), %r10      # 0xc124
movslq (%r10,%rdi,4), %rdi
addq %r10, %rdi
jmpq *%rdi
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(%rax,%rax), %r11d
pushq $0x2
popq %r9
pushq $0x1d
popq %r8
xorl %esi, %esi
movl $0x0, 0x20(%rsp)
xorl %edi, %edi
movl $0x0, 0x58(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x50(%rsp)
xorl %r13d, %r13d
jmp 0x43e5
movq 0xde0c(%rip), %rbx      # 0x11ff8
movq (%rbx), %rdi
leaq 0x8309(%rip), %rsi      # 0xc4ff
jmp 0x3ed8
cmpl $0x0, 0x18(%rsp)
je 0x4457
pushq $0x2
popq %r11
pushq $0x14
popq %r8
xorl %r15d, %r15d
jmp 0x435b
pushq $0x20
popq %r8
pushq $0x2
popq %r9
movl $0x0, 0x40(%rsp)
movl $0x0, 0x30(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x8(%rsp)
jmp 0x437e
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(%rax,%rax), %r11d
pushq $0x2
popq %r13
pushq $0x1e
popq %r8
xorl %esi, %esi
movl $0x0, 0x20(%rsp)
xorl %edi, %edi
movl $0x0, 0x58(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x50(%rsp)
movl %r13d, %r9d
jmp 0x43e5
cmpl $0xa0, %esi
jne 0x4400
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
testb $0x1, %r12b
leal 0x2(%rax,%rax), %eax
pushq $0x1
popq %r11
cmovnel %eax, %r11d
xorl %eax, %eax
cmpl $0x0, 0x70(%rsp)
sete %al
leal 0x2(%rax,%rax), %ebx
movb $0x1, 0x87(%rsp)
pushq $0x4
popq %rax
movl %eax, 0x78(%rsp)
pushq $0x2
popq %rax
testb $0x2, %r12b
jne 0x449b
movl %eax, 0x1c(%rsp)
movl $0x0, 0x50(%rsp)
movl 0x70(%rsp), %r13d
movq $0x0, 0x28(%rsp)
xorl %r12d, %r12d
movl $0x0, 0x14(%rsp)
movl $0x0, 0x58(%rsp)
movl $0x0, 0x30(%rsp)
movq $0x0, 0x68(%rsp)
movq $0x0, 0x60(%rsp)
movl $0x0, 0x10(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x48(%rsp)
movb $0x1, %dl
jmp 0x4504
xorl %r15d, %r15d
cmpl $0x0, 0x18(%rsp)
je 0x448f
pushq $0x2
popq %r11
pushq $0x15
popq %r8
movl $0x0, 0x40(%rsp)
movl $0x0, 0x30(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x8(%rsp)
xorl %r9d, %r9d
xorl %r12d, %r12d
movl $0x0, 0x50(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x58(%rsp)
xorl %edi, %edi
movl $0x0, 0x20(%rsp)
movl $0x0, 0x10(%rsp)
xorl %esi, %esi
movl %r14d, %r10d
jmp 0x2b9a
pushq $0x1f
popq %r8
xorl %esi, %esi
movl $0x0, 0x20(%rsp)
xorl %edi, %edi
movl $0x0, 0x58(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x50(%rsp)
xorl %r13d, %r13d
xorl %r9d, %r9d
movl $0x0, 0x8(%rsp)
xorl %r12d, %r12d
movl $0x0, 0x40(%rsp)
movl %r14d, %r10d
jmp 0x2b4e
leal -0xa4(%rdx), %r10d
movl %r12d, %edi
andl $0xfe, %edi
cmpl $0xb, %r10d
ja 0x4549
cmpl $0xa8, %edi
je 0x4551
xorl %eax, %eax
addl $0xffffff5a, %edi       # imm = 0xFFFFFF5A
cmpl $0x8, %edi
ja 0x47a8
leaq 0x7d06(%rip), %rcx      # 0xc144
movslq (%rcx,%rdi,4), %rdx
addq %rcx, %rdx
xorl %r15d, %r15d
xorl %ecx, %ecx
jmpq *%rdx
pushq $0x1
popq %r15
xorl %eax, %eax
jmp 0x47ab
pushq $0x4
popq %r11
movl %r14d, %r10d
movl $0xfcffff, %esi         # imm = 0xFCFFFF
andl 0xdcbb(%rip), %esi      # 0x12124
movl %r10d, %edi
movl %r11d, %edx
movl 0x70(%rsp), %ecx
callq 0x527f
testl %eax, %eax
je 0x4b4c
andb $-0x21, 0xdc9f(%rip)    # 0x12126
pushq $0x1
popq %rcx
jmp 0x4b4e
pushq $0x4
popq %r11
movl %r14d, %r10d
jmp 0x36a8
movl %eax, 0x30(%rsp)
movl $0x0, 0x50(%rsp)
movl 0x70(%rsp), %r13d
movq $0x0, 0x28(%rsp)
xorl %r12d, %r12d
movl $0x0, 0x14(%rsp)
movl $0x0, 0x58(%rsp)
movq $0x0, 0x68(%rsp)
movq $0x0, 0x60(%rsp)
movl $0x0, 0x10(%rsp)
movl $0x0, 0x1c(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x48(%rsp)
xorl %edx, %edx
movl %ebx, %r8d
movl %ebx, %eax
movq %rax, 0xa0(%rsp)
movb $0x1, %al
movl %eax, 0x4c(%rsp)
movb $0x1, %bl
movl $0x0, 0x20(%rsp)
movb $0x1, %al
movq %rax, 0x90(%rsp)
xorl %r15d, %r15d
movl $0x0, 0x88(%rsp)
movl $0x0, 0x3c(%rsp)
movl %r14d, %r10d
jmp 0x28d1
cmpl $0xa8, %edi
jne 0x45ca
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
testb $0x1, %r12b
leal 0x2(%rax,%rax), %r11d
pushq $0x1
popq %rdi
cmovel %edi, %r11d
pushq $0x8
popq %rax
movl %eax, 0x50(%rsp)
pushq $0x2
popq %r9
movl $0x0, 0x20(%rsp)
movl $0x0, 0x58(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x78(%rsp)
movl $0x0, 0x60(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movl %r11d, %ebx
movl %r14d, %r10d
jmp 0x2ac3
cmpl $0xb0, %r8d
jne 0x4629
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
testb $0x8, %r12b
leal 0x2(%rax,%rax), %eax
pushq $0x1
popq %r11
cmovnel %eax, %r11d
andl $0x7, %r12d
pushq $0x2
popq %r9
pushq $0x4
popq %rax
movl %eax, 0x78(%rsp)
movl $0x0, 0x20(%rsp)
xorl %edi, %edi
movl $0x0, 0x58(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x50(%rsp)
movl %r12d, 0x60(%rsp)
jmp 0x459f
cmpl $0xc0, %edi
setne %r8b
cmpl $0xd0, %esi
setne %r10b
testb %r10b, %r8b
jne 0x46e6
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
testb $0x1, %r12b
leal 0x2(%rax,%rax), %eax
pushq $0x1
popq %rdx
cmovel %edx, %eax
movq %rax, 0x40(%rsp)
andb $-0x2e, %r12b
pushq $0x9
popq %rax
movq %rax, 0x28(%rsp)
cmpb $-0x2e, %r12b
je 0x4926
movzbl %r12b, %eax
cmpl $0xd0, %eax
je 0x497f
movl $0x0, 0x10(%rsp)
cmpl $0xc0, %eax
jne 0x49e9
movl $0x0, 0x10(%rsp)
pushq $0x1
popq %rax
movl $0x0, 0x20(%rsp)
xorl %r12d, %r12d
movl $0x0, 0x4c(%rsp)
movl %eax, 0x14(%rsp)
movl %eax, 0x48(%rsp)
movl $0x0, 0x3c(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x30(%rsp)
movl $0x0, 0xc(%rsp)
jmp 0x496f
cmpl $0xc6, %edi
je 0x4886
cmpl $0xc2, %edi
jne 0x4904
pushq $0x21
popq %r8
movl $0x0, 0x20(%rsp)
pushq $0x2
popq %r11
movl $0x0, %edi
movl $0x0, 0x58(%rsp)
movl $0x0, %eax
movq %rax, 0x28(%rsp)
movl $0x0, 0x50(%rsp)
movl $0x0, 0x60(%rsp)
movl $0x0, %r9d
movl $0x0, 0x8(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movl %r11d, %ebx
movl $0x0, %r15d
movl $0x0, %r12d
movl %r8d, 0x78(%rsp)
movl $0x0, 0x10(%rsp)
movl $0x0, %esi
cmpl $0xc2, %edx
movl %r14d, %r10d
je 0x2ac3
jmp 0x2b9a
movb $0x1, %cl
pushq $0x2
jmp 0x47a2
pushq $0x3
popq %r15
movb $0x1, %al
jmp 0x47ab
movb $0x1, %cl
pushq $0x4
popq %r15
xorl %eax, %eax
jmp 0x47ad
xorl %r15d, %r15d
xorl %ecx, %ecx
xorl %edx, %edx
cmpl $0x0, 0x18(%rsp)
sete %dl
testb $0x1, %r12b
leal 0x2(%rdx,%rdx), %edx
pushq $0x1
popq %r11
cmovnel %edx, %r11d
testb %cl, %cl
je 0x4815
pushq $0x16
popq %r8
movl $0x0, 0x20(%rsp)
xorl %edi, %edi
movl $0x0, 0x58(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x50(%rsp)
xorl %r13d, %r13d
xorl %r9d, %r9d
movl $0x0, 0x8(%rsp)
xorl %r12d, %r12d
movl $0x0, 0x40(%rsp)
movl %r14d, %r10d
xorl %esi, %esi
jmp 0x2b4e
movzbl %al, %eax
testb %al, %al
pushq $0x3
popq %rcx
cmovnel %ecx, %r15d
leal (%rax,%rax), %r9d
movb $0x1, %al
movl %eax, 0x14(%rsp)
pushq $0x16
popq %r8
xorl %esi, %esi
movl %r15d, 0x10(%rsp)
movl $0x0, 0x20(%rsp)
xorl %edi, %edi
movl $0x0, 0x58(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x50(%rsp)
xorl %r12d, %r12d
movl $0x0, 0x8(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x30(%rsp)
movl $0x0, 0x40(%rsp)
xorl %ebx, %ebx
movl %r14d, %r10d
jmp 0x2b91
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
testb $0x1, %r12b
leal 0x2(%rax,%rax), %eax
pushq $0x1
popq %rdx
cmovel %edx, %eax
movq %rax, 0x40(%rsp)
movl $0x0, 0x10(%rsp)
pushq $0x4
popq %r13
movq $0x0, 0x28(%rsp)
movl $0x0, 0x20(%rsp)
xorl %r12d, %r12d
movl $0x0, 0x4c(%rsp)
movl $0x0, 0x48(%rsp)
movl $0x0, 0x3c(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x30(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x1c(%rsp)
movl %edx, 0x14(%rsp)
jmp 0x4a37
cmpl $0xc9, %edx
jne 0x4a43
cmpl $0x0, 0x18(%rsp)
je 0x4ae0
pushq $0x2
popq %r11
pushq $0x22
jmp 0x420c
pushq $0x2
popq %rax
movl %eax, 0x30(%rsp)
movl $0x0, 0x10(%rsp)
pushq $0x1
popq %rax
movl $0x0, 0x20(%rsp)
xorl %r12d, %r12d
movl $0x0, 0x4c(%rsp)
movl $0x0, 0x14(%rsp)
movl $0x0, 0x48(%rsp)
movl $0x0, 0x3c(%rsp)
movl $0x0, 0x8(%rsp)
movl %eax, 0xc(%rsp)
movl $0x0, 0x1c(%rsp)
movl %eax, %r13d
jmp 0x4a39
movl $0x0, 0x10(%rsp)
pushq $0x1
popq %rax
movl $0x0, 0x20(%rsp)
xorl %r12d, %r12d
movl $0x0, 0x4c(%rsp)
movl $0x0, 0x14(%rsp)
movl $0x0, 0x48(%rsp)
movl $0x0, 0x3c(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x30(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x1c(%rsp)
movl %eax, %edx
movq %rdx, 0x68(%rsp)
movl %eax, %r13d
movq %rax, 0x60(%rsp)
jmp 0x40e7
movl %edx, %r13d
movl $0x0, 0x20(%rsp)
xorl %r12d, %r12d
movl $0x0, 0x4c(%rsp)
movl $0x0, 0x14(%rsp)
movl $0x0, 0x48(%rsp)
movl $0x0, 0x3c(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x30(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x1c(%rsp)
movl %edx, %eax
movq %rax, 0x68(%rsp)
jmp 0x40de
cmpl $0xcc, %edi
jne 0x4abc
pushq $0x1
popq %r11
pushq $0x23
popq %r8
movl $0x0, 0x40(%rsp)
cmpl $0xcc, %edx
jne 0x4b62
pushq $0x3
popq %r15
movl $0x0, 0x30(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x8(%rsp)
xorl %r9d, %r9d
xorl %r12d, %r12d
movl $0x0, 0x50(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x58(%rsp)
xorl %edi, %edi
movl $0x0, 0x20(%rsp)
movl $0x0, 0x10(%rsp)
movl %r15d, %esi
jmp 0x43ae
movl $0x0, 0x40(%rsp)
cmpb $-0x32, %r12b
je 0x4bb2
cmpl $0xcf, %eax
jne 0x4bbe
pushq $0x25
jmp 0x4bb4
pushq $0x4
popq %r11
movl %r14d, %r10d
movl 0x70(%rsp), %ecx
testl %ecx, %ecx
je 0x4b04
movzwl 0xd61c(%rip), %edx      # 0x12112
shll $0x10, %edx
movzwl 0xd614(%rip), %eax      # 0x12114
orl %edx, %eax
jmp 0x4b0a
movl 0xd60a(%rip), %eax      # 0x12114
movl %eax, 0xd600(%rip)      # 0x12110
leaq 0x74(%rsp), %r14
movq %r14, %rdi
movl %r10d, %esi
movl %r11d, %edx
movq %r11, %rbx
callq 0x52cf
cmpl $0x0, (%r14)
je 0x4b4c
movzwl 0xd5e3(%rip), %ecx      # 0x12116
shll $0x10, %ecx
movzwl %ax, %edx
orl %ecx, %edx
cmpl $0x2, %ebx
cmovnel %eax, %edx
movl %edx, 0xd5cd(%rip)      # 0x12114
jmp 0x4480
xorl %ecx, %ecx
movl %ecx, %eax
addq $0xb8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x0, 0x20(%rsp)
xorl %edi, %edi
movl $0x0, 0x58(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x50(%rsp)
movl %r8d, 0x78(%rsp)
movl $0x0, 0x60(%rsp)
xorl %r9d, %r9d
movl $0x0, 0x8(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x30(%rsp)
jmp 0x45bf
pushq $0x24
popq %r8
xorl %r15d, %r15d
jmp 0x4363
cmpl $0xd8, %r9d
jne 0x4c19
andl $0x7, %r12d
cmpl $0x3, %r12d
sete %al
movl %eax, 0x3c(%rsp)
movb $0x1, %al
movl %eax, 0x4c(%rsp)
pushq $0x1
popq %rax
movq %rax, 0x40(%rsp)
movl $0x0, 0x10(%rsp)
pushq $0x2d
popq %r13
movq $0x0, 0x28(%rsp)
movl $0x0, 0x20(%rsp)
xorl %r12d, %r12d
movl $0x0, 0x14(%rsp)
movl $0x0, 0x48(%rsp)
jmp 0x403a
cmpl $0xe0, %edi
setne %r8b
cmpl $0xe2, %edx
setne %r9b
testb %r9b, %r8b
jne 0x4c84
xorl %edx, %edx
cmpl $0x0, 0x18(%rsp)
sete %dl
leal 0x2(%rdx,%rdx), %r11d
pushq $0x2
popq %r9
pushq $0x26
popq %rdx
movl %edx, 0x78(%rsp)
cmpb $-0x1e, %r12b
je 0x4dd3
pushq $0x1
popq %rdx
movl %edx, 0x60(%rsp)
cmpl $0xe1, %eax
je 0x4e12
cmpl $0xe0, %eax
jne 0x4e21
xorl %eax, %eax
testb $0x40, 0xd4a8(%rip)     # 0x12124
sete %al
jmp 0x4e1b
orl $0x8, %esi
cmpl $0xec, %esi
jne 0x4d20
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
testb $0x1, %r12b
leal 0x2(%rax,%rax), %eax
pushq $0x1
popq %r11
cmovnel %eax, %r11d
xorl %r10d, %r10d
cmpl $0xe8, %edx
setb %r10b
testb $0x2, %r12b
jne 0x4d70
xorl %edi, %edi
cmpl $0xe8, %edx
setae %dil
leal (%rdi,%rdi), %r13d
pushq $0x2
popq %r15
pushq $0x27
popq %rax
movl %eax, 0x78(%rsp)
movl $0x0, 0x20(%rsp)
xorl %esi, %esi
movl $0x0, 0x58(%rsp)
movl %r10d, %r12d
movl %r10d, %ebx
movq $0x0, 0x28(%rsp)
movl $0x0, 0x50(%rsp)
movl %r13d, %r9d
movl $0x0, 0x8(%rsp)
movl $0x0, 0xc(%rsp)
jmp 0x4dc9
cmpb $-0xb, %r12b
je 0x4e68
cmpl $0xe9, %eax
je 0x4e6f
cmpl $0xf4, %eax
je 0x4eb3
cmpl $0xe8, %eax
jne 0x4eba
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(%rax,%rax), %r11d
pushq $0x17
popq %rax
movl %eax, 0x78(%rsp)
movl $0x0, 0x20(%rsp)
xorl %edi, %edi
jmp 0x4e8a
xorl %r8d, %r8d
cmpl $0xe8, %edx
setae %r8b
addl %r8d, %r8d
pushq $0x2
popq %r9
pushq $0x28
popq %rax
movl %eax, 0x78(%rsp)
movl $0x0, 0x20(%rsp)
xorl %esi, %esi
xorl %edi, %edi
movl $0x0, 0x58(%rsp)
movl %r10d, %r12d
movl %r10d, %ebx
movq $0x0, 0x28(%rsp)
movl $0x0, 0x50(%rsp)
xorl %r13d, %r13d
movl $0x0, 0x8(%rsp)
movl %r8d, 0xc(%rsp)
movl %r8d, %r15d
xorl %eax, %eax
movl %r14d, %r10d
jmp 0x2aa7
pushq $0x1
popq %rbx
movl $0x0, 0x58(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x50(%rsp)
movl %ebx, 0x60(%rsp)
movl $0x0, 0x8(%rsp)
movl %ebx, 0xc(%rsp)
movl %r9d, 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movl %ebx, 0x20(%rsp)
jmp 0x4e5e
movl 0xd30c(%rip), %eax      # 0x12124
andl $0x40, %eax
movl %eax, 0x20(%rsp)
jmp 0x4e29
movl $0x0, 0x20(%rsp)
movl $0x0, 0x58(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x50(%rsp)
movl $0x0, 0x8(%rsp)
pushq $0x1
popq %rbx
movl %ebx, 0xc(%rsp)
movl %r9d, 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movl %r14d, %r10d
xorl %edi, %edi
jmp 0x2ac3
pushq $0x2a
jmp 0x4bb4
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(,%rax,2), %r11d
xorl %edi, %edi
pushq $0x1
popq %rax
movl %eax, 0x20(%rsp)
movl $0x0, 0x58(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x50(%rsp)
movl $0x0, 0x60(%rsp)
xorl %r9d, %r9d
jmp 0x459f
pushq $0x29
jmp 0x4bb4
leal -0xf8(%rdx), %eax
cmpl $0x5, %eax
ja 0x4f4b
movl %r12d, %eax
andl $0x1, %eax
pushq $0x2c
popq %r8
subl %eax, %r8d
andb $-0x2, %r12b
cmpb $-0x4, %r12b
je 0x4fd2
movzbl %r12b, %eax
cmpl $0xfa, %eax
je 0x502b
cmpl $0xf8, %eax
jne 0x4bb6
pushq $0x1
popq %r15
movl $0x0, 0x30(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x8(%rsp)
xorl %r9d, %r9d
xorl %r12d, %r12d
movl $0x0, 0x50(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x58(%rsp)
xorl %edi, %edi
movl $0x0, 0x20(%rsp)
movl %r15d, %r11d
jmp 0x4aac
cmpb $-0x2, %dil
je 0x4f8c
movzbl %dil, %eax
cmpl $0xf6, %eax
jne 0x5084
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
testb $0x1, %r12b
leal 0x2(%rax,%rax), %eax
pushq $0x1
popq %rdx
cmovnel %eax, %edx
movq %rdx, 0x40(%rsp)
movb $0x1, %al
movl %eax, 0x4c(%rsp)
pushq $0xb
popq %rax
movl %eax, 0x10(%rsp)
jmp 0x4fb6
pushq $0xc
popq %rax
movl %eax, 0x10(%rsp)
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
testb $0x1, %r12b
leal 0x2(%rax,%rax), %eax
pushq $0x1
popq %rdx
cmovnel %eax, %edx
movq %rdx, 0x40(%rsp)
movb $0x1, %al
movl %eax, 0x4c(%rsp)
xorl %r13d, %r13d
movq $0x0, 0x28(%rsp)
movl $0x0, 0x20(%rsp)
xorl %r12d, %r12d
jmp 0x4022
movl $0x400, %r15d           # imm = 0x400
movl $0x0, 0x30(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x8(%rsp)
xorl %r9d, %r9d
xorl %r12d, %r12d
movl $0x0, 0x50(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x58(%rsp)
xorl %edi, %edi
movl $0x0, 0x20(%rsp)
movl $0x0, 0x10(%rsp)
movl $0x400, %esi            # imm = 0x400
jmp 0x43ae
movl $0x200, %r15d           # imm = 0x200
movl $0x0, 0x30(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x8(%rsp)
xorl %r9d, %r9d
xorl %r12d, %r12d
movl $0x0, 0x50(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x0, 0x58(%rsp)
xorl %edi, %edi
movl $0x0, 0x20(%rsp)
movl $0x0, 0x10(%rsp)
movl $0x200, %esi            # imm = 0x200
jmp 0x43ae
movq 0xcf6d(%rip), %rbx      # 0x11ff8
movq (%rbx), %rdi
leaq 0x73db(%rip), %rsi      # 0xc470
movl %r14d, %ecx
jmp 0x3edb