// File: /workspace/github_c_makefile_star2_O3/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 $0xa8, %rsp
movl 0x10fe4(%rip), %ebx     # 0x13120
movl 0x10ffa(%rip), %eax     # 0x1313c
cmpl $0x4, %eax
setae %cl
andb 0x10fda(%rip), %cl      # 0x13128
cmpb $0x1, %cl
jne 0x21a7
movl %ebx, %ecx
subl 0x10fdd(%rip), %ecx     # 0x13138
setae %dl
cmpl %eax, %ecx
setb %al
andb %dl, %al
cmpb $0x1, %al
jne 0x21a7
leaq 0x10fb0(%rip), %rdi     # 0x13120
leaq 0x10f89(%rip), %rsi     # 0x13100
callq 0xb2da
xorl %r13d, %r13d
testl %eax, %eax
je 0x230f
movl $0x1, %r13d
jns 0x230f
movq 0x10e5e(%rip), %rax     # 0x12ff8
movq (%rax), %rdi
callq 0x1f8c
jmp 0x230c
leaq 0x5c(%rsp), %r14
movq %r14, %rdi
movl %ebx, %esi
movl $0x1, %edx
movl %ebx, %ecx
movl $0x1, %r8d
callq 0x5f26
cmpl $0x0, (%r14)
je 0x230c
movl %eax, %r12d
movl $0x3, %ebp
movl $0x0, 0x18(%rsp)
leaq 0x5c(%rsp), %r14
leaq 0xae87(%rip), %r13      # 0xd070
movl $0x0, 0x58(%rsp)
xorl %r15d, %r15d
movl $0x0, 0x98(%rsp)
movl 0x10f1b(%rip), %ecx     # 0x13120
incl %ecx
movl %ecx, 0x10f13(%rip)     # 0x13120
movzbl %r12b, %eax
cmpl $0x63, %eax
jle 0x223d
cmpl $0x9a, %eax
jg 0x225e
leal -0x64(%rax), %edx
cmpl $0x3, %edx
ja 0x23c9
movslq (%r13,%rdx,4), %rax
addq %r13, %rax
jmpq *%rax
movl $0x4, %ebp
jmp 0x22e9
cmpl $0x35, %eax
jg 0x2278
cmpl $0x26, %eax
je 0x22cf
cmpl $0x2e, %eax
jne 0x2324
movl $0x1, %ebp
jmp 0x22e9
cmpl $0xf1, %eax
jg 0x228d
cmpl $0x9b, %eax
je 0x22e9
cmpl $0xf0, %eax
je 0x22e9
jmp 0x23c9
cmpl $0x36, %eax
je 0x22e4
cmpl $0x3e, %eax
jne 0x23c9
movl $0x3, %ebp
jmp 0x22e9
cmpl $0xf2, %eax
je 0x22b2
cmpl $0xf3, %eax
jne 0x23c9
movl $0x1, 0x98(%rsp)
movl $0x1, %r15d
jmp 0x22e9
movl $0x1, %r15d
movl $0x0, 0x98(%rsp)
jmp 0x22e9
movl $0x1, 0x18(%rsp)
jmp 0x22e9
xorl %ebp, %ebp
jmp 0x22e9
movl $0x1, 0x58(%rsp)
jmp 0x22e9
movl $0x5, %ebp
jmp 0x22e9
movl $0x2, %ebp
movq %r14, %rdi
movl %ebx, %esi
movl $0x1, %edx
movl $0x1, %r8d
callq 0x5f26
movl %eax, %r12d
cmpl $0x0, 0x5c(%rsp)
jne 0x21ff
xorl %r13d, %r13d
movl %r13d, %eax
addq $0xa8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpl $0xf, %eax
jne 0x23c9
leaq 0x5c(%rsp), %r14
movq %r14, %rdi
movl %ebx, %esi
movl $0x1, %edx
movl $0x1, %r8d
callq 0x5f26
xorl %r13d, %r13d
cmpl $0x0, (%r14)
je 0x230f
movl 0x10dca(%rip), %ecx     # 0x13120
incl %ecx
movl %ecx, 0x10dc2(%rip)     # 0x13120
movl %eax, %edx
andb $-0x10, %dl
cmpb $-0x70, %dl
je 0x2581
movl %eax, %edx
andl $0xf0, %edx
cmpl $0x80, %edx
je 0x254e
cmpl $0x40, %edx
jne 0x25a7
cmpb $0x1, 0x10db0(%rip)     # 0x13140
je 0x335d
xorl %edx, %edx
cmpl $0x0, 0x18(%rsp)
sete %sil
movl %eax, %edi
andl $0xe, %edi
movl 0x10d77(%rip), %r9d     # 0x13124
leaq 0xad44(%rip), %r8       # 0xd0f8
movslq (%r8,%rdi,4), %rdi
addq %r8, %rdi
jmpq *%rdi
andl $0x800, %r9d            # imm = 0x800
jmp 0x2e0d
movzbl %r12b, %edi
cmpl $0x3f, %edi
ja 0x2408
movl %r12d, %r9d
andl $0x7, %r9d
cmpl $0x5, %r9d
ja 0x2408
xorl %r12d, %r12d
movl %r9d, %eax
leaq 0xadf8(%rip), %rdx      # 0xd1e4
movslq (%rdx,%rax,4), %rax
addq %rdx, %rax
jmpq *%rax
movl $0x1, %r11d
xorl %eax, %eax
movl %r9d, %r8d
movl %r9d, %r12d
jmp 0x27bb
movl %r12d, %r8d
andl $0xf0, %r8d
cmpl $0x50, %r8d
je 0x24ae
cmpl $0x40, %r8d
jne 0x251b
andl $0x7, %r12d
cmpl $0x48, %edi
movl $0x0, %r8d
adcl $-0x1, %r8d
orl $0x1, %r8d
cmpl $0x0, 0x18(%rsp)
je 0x26a5
movl $0x0, 0x30(%rsp)
movl $0x1, %r13d
movl $0xa, %r10d
movl $0x2, %r9d
movb $0x1, %al
movl %eax, 0x50(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x4(%rsp)
movl $0x0, (%rsp)
movl $0x0, 0x28(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x40(%rsp)
movl $0x0, 0x10(%rsp)
movl $0x2, %r11d
xorl %edi, %edi
movl %r8d, %esi
jmp 0x3929
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(,%rax,2), %r11d
andl $0x7, %r12d
xorl %esi, %esi
movl $0x10, %r10d
movb $0x1, %al
cmpl $0x58, %edi
jae 0x2648
movl %eax, 0x50(%rsp)
xorl %eax, %eax
movl $0x0, 0x10(%rsp)
xorl %r13d, %r13d
movl $0x0, 0x40(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x28(%rsp)
xorl %r8d, %r8d
xorl %r9d, %r9d
movl $0x0, (%rsp)
movl $0x0, 0x30(%rsp)
jmp 0x38b7
movl $0x1, %r11d
leal -0x60(%rax), %edx
cmpl $0xb, %edx
ja 0x2863
leaq 0xac00(%rip), %rsi      # 0xd134
movslq (%rsi,%rdx,4), %rdx
addq %rsi, %rdx
jmpq *%rdx
movb $0x1, %al
movl %eax, 0x50(%rsp)
movl $0x12, %r10d
jmp 0x2905
xorl %edx, %edx
cmpl $0x0, 0x18(%rsp)
sete %sil
movl %eax, %edi
andl $0xe, %edi
movl 0x10bbf(%rip), %r9d     # 0x13124
leaq 0xab50(%rip), %r8       # 0xd0bc
movslq (%r8,%rdi,4), %rdi
addq %r8, %rdi
jmpq *%rdi
andl $0x800, %r9d            # imm = 0x800
jmp 0x2cc1
movl %eax, %edx
andl $0xe, %edx
movl 0x10b98(%rip), %edi     # 0x13124
leaq 0xaaed(%rip), %rsi      # 0xd080
movslq (%rsi,%rdx,4), %rdx
addq %rsi, %rdx
jmpq *%rdx
andl $0x800, %edi            # imm = 0x800
jmp 0x2d4b
movl %eax, %edx
orl $0x8, %edx
andl $0xfe, %edx
cmpl $0xac, %edx
jne 0x26cd
movl %eax, %edx
notl %edx
andl $0x8, %eax
cmpl $0x1, %eax
movl $0x8, %eax
sbbl $0x0, %eax
movq %rax, 0x20(%rsp)
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(,%rax,2), %eax
movq %rax, 0x70(%rsp)
andl $0x1, %edx
movb $0x1, %al
movl %eax, 0x30(%rsp)
movl $0x0, 0x28(%rsp)
movl $0x1, 0xc(%rsp)
movl $0x0, 0x10(%rsp)
xorl %r12d, %r12d
movl %edx, 0x50(%rsp)
movl %edx, 0x68(%rsp)
xorl %r13d, %r13d
movl $0x0, (%rsp)
movl $0x0, 0x3c(%rsp)
movl $0x0, 0x4(%rsp)
movl $0x0, 0x1c(%rsp)
movl $0x1, %eax
movq %rax, 0x48(%rsp)
jmp 0x2ead
movl %eax, 0x50(%rsp)
movl $0x2, %r9d
movl $0x11, %r10d
xorl %edi, %edi
movl $0x0, 0x10(%rsp)
xorl %r13d, %r13d
movl $0x0, 0x40(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x28(%rsp)
movl $0x0, (%rsp)
movl $0x0, 0x4(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x30(%rsp)
xorl %r14d, %r14d
jmp 0x3920
movl %r12d, %eax
leaq 0x10a51(%rip), %rcx     # 0x13100
movl (%rcx,%rax,4), %eax
movl $0x4, %r11d
movl $0x2, %r9d
movl $0x0, (%rsp)
movl %r8d, %r14d
jmp 0x4126
movzbl %al, %edi
cmpl $0xaf, %edi
jne 0x2b72
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(%rax,%rax), %eax
movq %rax, 0x70(%rsp)
movb $0x1, %al
movl %eax, 0x30(%rsp)
movl $0x1, %r12d
movl $0x0, 0x28(%rsp)
movl $0xd, 0xc(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x10(%rsp)
movl $0x0, 0x50(%rsp)
movl $0x0, 0x68(%rsp)
xorl %r13d, %r13d
movb $0x1, %al
movl %eax, (%rsp)
jmp 0x2621
movb $0x1, %al
movl $0x1, %r8d
movl $0x2, %r9d
jmp 0x2757
movl $0x1, %r12d
xorl %r9d, %r9d
xorl %r8d, %r8d
xorl %eax, %eax
movl $0x1, %r11d
jmp 0x27bb
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(,%rax,2), %r11d
movl $0x1, %r12d
xorl %r9d, %r9d
xorl %r8d, %r8d
jmp 0x279a
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(,%rax,2), %r11d
xorl %r9d, %r9d
xorl %r8d, %r8d
xorl %r12d, %r12d
xorl %eax, %eax
jmp 0x27bb
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(%rax,%rax), %r11d
movb $0x1, %al
movl $0x1, %r8d
movl $0x2, %r9d
shrl $0x3, %edi
decl %edi
cmpl $0x6, %edi
ja 0x2a43
leaq 0xaa2c(%rip), %rdx      # 0xd1fc
movslq (%rdx,%rdi,4), %rsi
addq %rdx, %rsi
jmpq *%rsi
movl $0x5, 0x28(%rsp)
jmp 0x2abe
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(,%rax,2), %r11d
movl $0x10, %r10d
movl $0x0, 0x10(%rsp)
xorl %r13d, %r13d
jmp 0x2cec
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(%rax,%rax), %eax
movq %rax, 0x70(%rsp)
movb $0x1, %al
movl %eax, 0x30(%rsp)
movl $0x1, %r12d
movl $0x0, 0x28(%rsp)
movl $0xd, 0xc(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x10(%rsp)
movl $0x1, 0x50(%rsp)
movl $0x1, 0x68(%rsp)
jmp 0x29aa
movl %r12d, %edx
andl $0xfc, %edx
cmpl $0x6c, %edx
jne 0x31db
movl %r12d, %eax
andl $0x2, %eax
cmpl $0x1, %eax
movl $0x6, %edi
sbbl $0x0, %edi
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %cl
xorl %esi, %esi
movl $0x16, %r10d
movb $0x1, %dl
movl %edx, 0x50(%rsp)
testb $0x1, %r12b
jne 0x3369
xorl %r8d, %r8d
movl $0x0, 0x30(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x4(%rsp)
movl $0x0, (%rsp)
xorl %r9d, %r9d
xorl %r12d, %r12d
movl $0x0, 0x28(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x40(%rsp)
xorl %r13d, %r13d
movl $0x0, 0x10(%rsp)
jmp 0x3929
movb $0x1, %al
movl %eax, 0x50(%rsp)
movl $0x13, %r10d
movl $0x0, 0x30(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x4(%rsp)
movl $0x0, (%rsp)
xorl %r9d, %r9d
xorl %r12d, %r12d
movl $0x0, 0x28(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x40(%rsp)
xorl %r13d, %r13d
movl $0x0, 0x10(%rsp)
xorl %edi, %edi
xorl %esi, %esi
xorl %r8d, %r8d
jmp 0x3929
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(%rax,%rax), %eax
movq %rax, 0x70(%rsp)
movb $0x1, %al
movl %eax, 0x30(%rsp)
movl $0x1, %r12d
movl $0x0, 0x28(%rsp)
movl $0xd, 0xc(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x10(%rsp)
movl $0x1, 0x50(%rsp)
movl $0x0, 0x68(%rsp)
xorl %r13d, %r13d
movb $0x1, %al
movl %eax, (%rsp)
jmp 0x2e8c
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(%rax,%rax), %r11d
movl $0x1, %r14d
movl $0x10, %r10d
movl $0x0, 0x10(%rsp)
xorl %r13d, %r13d
movl $0x0, 0x40(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x28(%rsp)
movl $0x0, 0x60(%rsp)
xorl %r9d, %r9d
movl $0x0, (%rsp)
movl $0x0, 0x4(%rsp)
xorl %edi, %edi
movl $0x0, 0x30(%rsp)
jmp 0x3829
movl $0x2, 0x28(%rsp)
jmp 0x2abe
movl $0x3, 0x28(%rsp)
jmp 0x2abe
movl $0x4, 0x28(%rsp)
jmp 0x2abe
movl $0x1, %r13d
testb %al, %al
je 0x3230
movl $0x0, 0xc(%rsp)
movl $0x0, 0x10(%rsp)
xorl %esi, %esi
xorl %eax, %eax
movl $0x0, 0x40(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x28(%rsp)
jmp 0x2aed
movl $0x1, 0x28(%rsp)
testb %al, %al
je 0x3264
movl $0x0, 0xc(%rsp)
movl $0x0, 0x10(%rsp)
xorl %esi, %esi
xorl %eax, %eax
movl $0x1, %r13d
jmp 0x2adc
movl $0x6, 0x28(%rsp)
jmp 0x2abe
movl $0x7, 0x28(%rsp)
movl $0x1, %r13d
testb %al, %al
je 0x2b13
movl $0x0, 0xc(%rsp)
movl $0x0, 0x10(%rsp)
xorl %esi, %esi
xorl %eax, %eax
movl $0x0, 0x40(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x60(%rsp)
movl $0x0, (%rsp)
movl $0x0, 0x4(%rsp)
xorl %edi, %edi
movl $0x0, 0x30(%rsp)
jmp 0x3813
movl %r8d, 0x50(%rsp)
movl %r9d, 0x1c(%rsp)
movl $0x1, %eax
movq %rax, 0x48(%rsp)
movl $0x0, 0xc(%rsp)
movq %r11, 0x70(%rsp)
movb $0x1, %al
movl %eax, 0x30(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x10(%rsp)
movl $0x0, 0x68(%rsp)
xorl %r13d, %r13d
movl $0x0, (%rsp)
movl $0x0, 0x3c(%rsp)
movl $0x0, 0x4(%rsp)
jmp 0x2ead
movl %eax, %edx
andb $-0x2, %dl
cmpb $-0x42, %dl
je 0x33d3
movzbl %dl, %edx
cmpl $0xb6, %edx
je 0x33f6
cmpl $0xb0, %edx
jne 0x4cdf
cmpb $0x1, 0x1059e(%rip)     # 0x13140
je 0x4cf7
xorl %edx, %edx
cmpl $0x0, 0x18(%rsp)
sete %dl
testb $0x1, %al
leal 0x2(%rdx,%rdx), %eax
movl $0x1, %esi
movl $0x1, %edx
movq %rdx, 0x48(%rsp)
cmovel %esi, %eax
movq %rax, 0x70(%rsp)
movb $0x1, %al
movl %eax, 0x30(%rsp)
movl $0x0, 0x28(%rsp)
movl $0x3, 0xc(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x10(%rsp)
xorl %r12d, %r12d
movl $0x0, 0x50(%rsp)
movl $0x0, 0x68(%rsp)
xorl %r13d, %r13d
movl $0x0, (%rsp)
movl $0x0, 0x3c(%rsp)
movl $0x0, 0x4(%rsp)
movl $0x0, 0x1c(%rsp)
jmp 0x2ead
xorl %edi, %edi
testb $0x41, %r9b
setne %dil
jmp 0x2c6d
xorl %edx, %edx
testb $0x41, %dil
setne %dl
movl %edx, %edi
jmp 0x2d4b
movl %r9d, %edi
shrl $0x7, %edi
movl %r9d, %r8d
shrl $0xb, %r8d
xorl %edi, %r8d
andl $0x1, %r8d
testb $0x40, %r9b
movl $0x1, %edi
cmovel %r8d, %edi
movl %edi, 0x10(%rsp)
jmp 0x2cc6
andl $0x40, %r9d
jmp 0x2cc1
movl %edi, %edx
shrl $0x7, %edx
movl %edi, %esi
shrl $0xb, %esi
xorl %edx, %esi
andl $0x1, %esi
testb $0x40, %dil
movl $0x1, %edi
cmovel %esi, %edi
jmp 0x2d4b
andl $0x40, %edi
jmp 0x2d4b
andl $0x4, %r9d
jmp 0x2cc1
movl %r9d, %edi
shrl $0x7, %edi
shrl $0xb, %r9d
xorl %edi, %r9d
andl $0x1, %r9d
jmp 0x2cc1
andl $0x80, %r9d
movl %r9d, 0x10(%rsp)
movb %sil, %dl
leal 0x2(,%rdx,2), %r11d
movl $0x18, %r10d
xorl %r13d, %r13d
testb $0x1, %al
je 0x2cec
xorl %eax, %eax
cmpl $0x0, 0x10(%rsp)
sete %al
movl %eax, 0x10(%rsp)
movl $0x0, 0x40(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x28(%rsp)
movl $0x0, 0x60(%rsp)
xorl %r9d, %r9d
movl $0x0, (%rsp)
movl $0x0, 0x4(%rsp)
xorl %edi, %edi
movl $0x0, 0x30(%rsp)
movl %r11d, %r14d
jmp 0x3829
andl $0x4, %edi
jmp 0x2d4b
movl %edi, %edx
shrl $0x7, %edx
shrl $0xb, %edi
xorl %edx, %edi
andl $0x1, %edi
jmp 0x2d4b
andl $0x80, %edi
movb $0x1, %dl
movl %edx, 0x30(%rsp)
testb $0x1, %al
jne 0x2d7e
movl $0x0, 0x28(%rsp)
movl %edi, 0x10(%rsp)
movl $0x8, 0xc(%rsp)
movl $0x1, %eax
movq %rax, 0x70(%rsp)
movq $0x0, 0x20(%rsp)
jmp 0x2dac
movl $0x8, 0xc(%rsp)
movl $0x1, %eax
movq %rax, 0x70(%rsp)
xorl %eax, %eax
testl %edi, %edi
sete %al
movl $0x0, 0x28(%rsp)
movq $0x0, 0x20(%rsp)
movl %eax, 0x10(%rsp)
xorl %r12d, %r12d
jmp 0x2e72
xorl %edi, %edi
testb $0x41, %r9b
setne %dil
movl %edi, %r9d
jmp 0x2e0d
movl %r9d, %edi
shrl $0x7, %edi
movl %r9d, %r8d
shrl $0xb, %r8d
xorl %edi, %r8d
andl $0x1, %r8d
testb $0x40, %r9b
movl $0x1, %r9d
cmovel %r8d, %r9d
jmp 0x2e0d
andl $0x40, %r9d
jmp 0x2e0d
andl $0x4, %r9d
jmp 0x2e0d
movl %r9d, %edi
shrl $0x7, %edi
shrl $0xb, %r9d
xorl %edi, %r9d
andl $0x1, %r9d
jmp 0x2e0d
andl $0x80, %r9d
movb %sil, %dl
leal 0x2(,%rdx,2), %edx
movb $0x1, %sil
movl %esi, 0x30(%rsp)
movl $0x1, %r12d
testb $0x1, %al
movq %rdx, 0x70(%rsp)
jne 0x2e4d
movl $0x0, 0x28(%rsp)
movl %r9d, 0x10(%rsp)
movl $0x5, 0xc(%rsp)
movq $0x0, 0x20(%rsp)
jmp 0x2e72
movl $0x5, 0xc(%rsp)
xorl %eax, %eax
testl %r9d, %r9d
sete %al
movl $0x0, 0x28(%rsp)
movq $0x0, 0x20(%rsp)
movl %eax, 0x10(%rsp)
movl $0x0, 0x50(%rsp)
movl $0x0, 0x68(%rsp)
xorl %r13d, %r13d
movl $0x0, (%rsp)
movl $0x0, 0x3c(%rsp)
movl $0x0, 0x4(%rsp)
movl $0x0, 0x1c(%rsp)
movq $0x0, 0x48(%rsp)
movl $0x0, 0x8(%rsp)
leaq 0x5c(%rsp), %r14
movq %r14, %rdi
movl %ebx, %esi
movl $0x1, %edx
movl $0x1, %r8d
callq 0x5f26
cmpl $0x0, (%r14)
je 0x230c
movl 0x10241(%rip), %ecx     # 0x13120
incl %ecx
movl %ecx, 0x10239(%rip)     # 0x13120
movl %eax, %r9d
shrl $0x3, %r9d
movl %r9d, %edi
andl $0x7, %edi
xorl %r8d, %r8d
movl 0x28(%rsp), %edx
cmpl $0xc, %edx
je 0x2fa4
cmpl $0xb, %edx
movq 0x70(%rsp), %r11
je 0x2f2d
cmpl $0xa, %edx
jne 0x2f23
movl %edi, %edx
leaq 0xaca4(%rip), %rsi      # 0xdbc0
movl (%rsi,%rdx,4), %edx
movl %edx, 0x28(%rsp)
movl 0xc(%rsp), %r10d
jmp 0x3005
xorl %edx, %edx
cmpl $0x3, %edi
setne %dl
xorl %esi, %esi
cmpl $0x2, %edi
leal 0x9(%rdx,%rdx), %edx
movl $0x8, %r8d
cmovael %edx, %r8d
movl %r8d, 0x28(%rsp)
movl 0x3c(%rsp), %edx
cmovbl %esi, %edx
movl %edx, 0x3c(%rsp)
movl %edi, %edx
movl $0x1, %esi
movl 0x50(%rsp), %r8d
cmovbl %esi, %r8d
movl %r8d, 0x50(%rsp)
leaq 0xac6c(%rip), %r8       # 0xdbe0
cmpl $0x4, %edi
movl %r9d, %r10d
movq 0x48(%rsp), %r9
cmovbl %esi, %r9d
movq %r9, 0x48(%rsp)
movl %r10d, %r9d
movl (%r8,%rdx,4), %r10d
cmovael %esi, %r12d
movl %eax, %edx
andl $0x30, %edx
xorl %r8d, %r8d
cmpl $0x20, %edx
sete %r8b
jmp 0x3005
movl %edi, %edx
leaq 0xac93(%rip), %rsi      # 0xdc40
movl (%rsi,%rdx,4), %r10d
cmpl $0x1, %edi
movq 0x70(%rsp), %r11
ja 0x2fe4
xorl %r8d, %r8d
movl %edi, %edx
negl %edx
movl $0x0, %edx
sbbl %edx, %edx
orl $0x1, %edx
movl %edx, 0x8(%rsp)
movl $0xc, 0x28(%rsp)
movl $0x1, %edx
movq %rdx, 0x48(%rsp)
jmp 0x3005
cmpl $0x7, %edi
je 0x34a5
cmpl $0x1, %r11d
je 0x3520
movl $0xc, 0x28(%rsp)
movl $0x1, %r12d
cmpl $0x9, 0x20(%rsp)
jne 0x301d
movl %edi, %edx
leaq 0xabeb(%rip), %rsi      # 0xdc00
movl (%rsi,%rdx,4), %edx
movq %rdx, 0x20(%rsp)
cmpl $0x4, %edi
sete %dl
cmpl $0x2d, %r10d
jne 0x3032
andb %dl, %r13b
je 0x31cf
movl %eax, %r14d
shrl $0x6, %r14d
andl $0x3, %r14d
movl %r10d, %esi
movl %eax, %r10d
andl $0x7, %r10d
cmpl $0x1, %r11d
setne %dl
movl %esi, 0xc(%rsp)
andl $-0x2, %esi
cmpl $0x6, %esi
sete %sil
orb %dl, %sil
cmpl $0x4, %edi
setb %r13b
orb %sil, %r13b
andl $0x3, %r9d
testb %r13b, %r13b
cmovnel %edi, %r9d
cmpl $0x3, %r14d
movl %r8d, 0x40(%rsp)
movl %r9d, 0x60(%rsp)
movq %r11, 0x70(%rsp)
jne 0x30ba
cmpl $0x1, %r11d
setne %dl
cmpl $0x4, %r10d
setb %sil
orb %dl, %sil
andl $0x3, %eax
testb %sil, %sil
cmovel %eax, %r10d
movzbl %r13b, %edx
xorl $0x3, %edx
movzbl %sil, %esi
xorl $0x3, %esi
xorl %eax, %eax
jmp 0x3786
movl %r10d, %edx
xorl $0x5, %edx
orl %r14d, %edx
sete %dl
cmpl $0x0, 0x58(%rsp)
movl %r10d, %r11d
movb %r13b, 0x7f(%rsp)
je 0x30ee
testb %dl, %dl
movl 0xc(%rsp), %edi
je 0x313c
xorl %esi, %esi
movb $0x1, %dl
movl $0x2, %r14d
movl 0x58(%rsp), %r8d
jmp 0x3107
testb %dl, %dl
movl 0xc(%rsp), %edi
je 0x31a8
movb $0x1, %dl
xorl %r8d, %r8d
movl $0x4, %r14d
xorl %esi, %esi
movl $0x0, 0x80(%rsp)
movq $0x0, 0x90(%rsp)
xorl %r11d, %r11d
movl $0x0, 0x84(%rsp)
movl $0x0, 0x88(%rsp)
jmp 0x3630
movl %r11d, %edx
leaq 0xaada(%rip), %rsi      # 0xdc20
movl (%rsi,%rdx,4), %edx
movl %edx, 0x88(%rsp)
andl $0x5, %eax
xorl %esi, %esi
xorl %r11d, %r11d
cmpl $0x1, %eax
movl $0x7, %edx
cmovnel %esi, %edx
setbe %r11b
testl %eax, %eax
movl $0x6, %eax
cmovnel %edx, %eax
movl %eax, 0x84(%rsp)
movb $0x1, %dl
movl 0x58(%rsp), %eax
movl %eax, %r8d
movl $0x0, 0x80(%rsp)
movb $0x1, %r9b
movq %r9, 0x90(%rsp)
movl %r14d, %r13d
testl %r14d, %r14d
jne 0x3630
jmp 0x3721
xorl %esi, %esi
testl %r14d, %r14d
je 0x32b9
cmpl $0x2, %r14d
jne 0x31bf
movl $0x4, %r14d
movb $0x1, %al
movl %eax, 0x8c(%rsp)
xorl %eax, %eax
jmp 0x32c6
movl %ebx, %edi
callq 0x12a1
jmp 0x230c
cmpl $0x70, %r8d
jne 0x33a2
movl $0x18, %r10d
xorl %r13d, %r13d
movl $0x1, %r11d
cmpb $-0x15, %r12b
je 0x33c6
cmpl $0xe3, %eax
je 0x3432
movl %r12d, %eax
andl $0xe, %eax
movl 0xff0f(%rip), %esi      # 0x13124
leaq 0x9f8c(%rip), %rdx      # 0xd1a8
movslq (%rdx,%rax,4), %rax
addq %rdx, %rax
jmpq *%rax
andl $0x800, %esi            # imm = 0x800
jmp 0x4d5a
movl %r8d, 0x50(%rsp)
movl %r9d, 0x1c(%rsp)
movl $0x1, %eax
movq %rax, 0x48(%rsp)
movl $0x0, 0xc(%rsp)
movq %r11, 0x70(%rsp)
movb $0x1, %al
movl %eax, 0x30(%rsp)
movl $0x0, 0x28(%rsp)
jmp 0x2b3a
movl %r8d, 0x50(%rsp)
movl %r9d, 0x1c(%rsp)
movl $0x0, 0xc(%rsp)
movq %r11, 0x70(%rsp)
movb $0x1, %al
movl %eax, 0x30(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x10(%rsp)
movl $0x0, 0x68(%rsp)
xorl %r13d, %r13d
movl $0x0, (%rsp)
movl $0x0, 0x3c(%rsp)
movl $0x0, 0x4(%rsp)
jmp 0x2639
movb $0x1, %al
movl $0x0, 0x8c(%rsp)
cmpl $0x4, %r11d
jne 0x3355
movl %eax, 0x80(%rsp)
leaq 0x5c(%rsp), %r13
movq %r13, %rdi
movl %ebx, %esi
movl $0x1, %edx
movl $0x1, %r8d
callq 0x5f26
cmpl $0x0, (%r13)
je 0x230c
movl 0xfe1e(%rip), %ecx      # 0x13120
incl %ecx
movl %ecx, 0xfe16(%rip)      # 0x13120
movl %eax, %edx
shrl $0x3, %edx
andl $0x7, %edx
movl %eax, %r11d
andl $0x7, %r11d
xorl %r8d, %r8d
movl $0x0, %r10d
movl $0x0, %esi
cmpl $0x4, %edx
movl 0xc(%rsp), %edi
je 0x359e
shrl $0x6, %eax
andl $0x3, %eax
leaq 0x9ed7(%rip), %rsi      # 0xd218
movslq (%rsi,%rax,4), %rax
addq %rsi, %rax
jmpq *%rax
movl $0x1, %r10d
jmp 0x359c
xorl %r10d, %r10d
jmp 0x35e6
movl %ebx, %edi
callq 0x11c0
jmp 0x230f
movb %cl, %al
leal 0x2(,%rax,2), %r11d
movl $0x0, 0x10(%rsp)
xorl %r13d, %r13d
movl $0x0, 0x40(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x28(%rsp)
xorl %r12d, %r12d
xorl %r9d, %r9d
jmp 0x267e
cmpb $-0x1d, %r12b
je 0x3432
movl $0x18, %r10d
cmpl $0xeb, %eax
jne 0x34b1
xorl %r13d, %r13d
movl $0x1, %r11d
movl $0x1, 0x10(%rsp)
jmp 0x345d
andl $0x1, %eax
incl %eax
movb $0x1, %dl
movl %edx, 0x30(%rsp)
movl $0x1, %r12d
movl $0x0, 0x28(%rsp)
movl $0x7, 0xc(%rsp)
jmp 0x3417
andl $0x1, %eax
incl %eax
movb $0x1, %dl
movl %edx, 0x30(%rsp)
movl $0x1, %r12d
movl $0x0, 0x28(%rsp)
movl $0x6, 0xc(%rsp)
movq $0x0, 0x20(%rsp)
movq %rax, 0x70(%rsp)
movl $0x0, 0x10(%rsp)
jmp 0x2e72
cmpl $0x0, 0x18(%rsp)
movl 0xfcc7(%rip), %eax      # 0x13104
movzwl %ax, %edx
cmovel %eax, %edx
xorl %eax, %eax
testl %edx, %edx
sete %al
movl %eax, 0x10(%rsp)
movl $0x18, %r10d
xorl %r13d, %r13d
movl $0x1, %r11d
movl $0x0, 0x40(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x28(%rsp)
movl $0x0, 0x60(%rsp)
xorl %r9d, %r9d
movl $0x0, (%rsp)
movl $0x0, 0x4(%rsp)
xorl %edi, %edi
movl $0x0, 0x30(%rsp)
movl $0x1, %r14d
jmp 0x3829
movl %ebx, %edi
callq 0x127a
jmp 0x230c
cmpl $0x80, %edx
jne 0x352c
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
testb $0x1, %r12b
leal 0x2(%rax,%rax), %eax
movl $0x1, %edx
movl $0x1, 0x50(%rsp)
cmovel %edx, %eax
movq %rax, 0x70(%rsp)
xorl %eax, %eax
cmpl $0x83, %edi
sete %al
movl %eax, 0x68(%rsp)
movl $0xa, 0x28(%rsp)
movl $0x0, 0xc(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x10(%rsp)
xorl %r12d, %r12d
movl $0x0, 0x30(%rsp)
jmp 0x2617
movl %ebx, %esi
callq 0x1254
jmp 0x230c
leal -0x84(%rdi), %esi
cmpl $0x7, %esi
ja 0x4c86
movl %r12d, %edx
andb $-0x2, %dl
movq $0x0, 0x20(%rsp)
movl $0x1, %eax
cmpb $-0x7c, %dl
je 0x4dc3
movzbl %dl, %edx
cmpl $0x86, %edx
jne 0x4e13
movl $0x2, 0xc(%rsp)
movl $0x0, 0x28(%rsp)
movl $0x1, %edx
movq %rdx, 0x48(%rsp)
jmp 0x4e2c
movl $0x4, %r10d
jmp 0x359c
movl $0x8, %r10d
jmp 0x359c
movl $0x2, %r10d
movl %edx, %esi
cmpl $0x5, %r11d
sete %al
testb %al, 0x80(%rsp)
je 0x35e6
movl %esi, 0x84(%rsp)
movl $0x5, 0x88(%rsp)
movb $0x1, %dl
movl $0x4, %r14d
xorl %esi, %esi
movl $0x0, 0x80(%rsp)
movq $0x0, 0x90(%rsp)
movl %r10d, %r11d
jmp 0x3630
movl 0x58(%rsp), %eax
movl %esi, 0x84(%rsp)
movl %r11d, 0x88(%rsp)
movb $0x1, %dl
xorl %r8d, %r8d
movl $0x0, %esi
movl $0x0, 0x80(%rsp)
movb $0x1, %r9b
movq %r9, 0x90(%rsp)
movl $0x0, %r13d
cmpb $0x0, 0x8c(%rsp)
movl %r10d, %r11d
je 0x3721
movq %rsi, 0xa0(%rsp)
movl %edx, 0x9c(%rsp)
movl %r11d, 0x8c(%rsp)
movl %r8d, 0x58(%rsp)
movl %edi, 0xc(%rsp)
leaq 0x5c(%rsp), %r13
movq %r13, %rdi
movl %ebx, %esi
movl $0x1, %edx
movl %r14d, %r8d
callq 0x5f26
cmpl $0x0, (%r13)
je 0x230c
movl %eax, %ecx
addl 0xfaa5(%rip), %r14d     # 0x13120
movl %r14d, 0xfa9e(%rip)     # 0x13120
cmpb $0x0, 0x80(%rsp)
je 0x370b
movl $0x0, 0x60(%rsp)
movq 0xa0(%rsp), %r9
testl %r9d, %r9d
movq 0x70(%rsp), %r11
movq 0x48(%rsp), %r13
movl 0x3c(%rsp), %edi
movl 0x8(%rsp), %eax
movl 0x50(%rsp), %r8d
je 0x4489
movl %ecx, %r12d
leal (,%r9,8), %ecx
negb %cl
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
shrl %cl, %edx
cmpl $0x4, %r9d
cmovael %esi, %edx
andl %edx, %r12d
cmpb $0x0, 0x9c(%rsp)
movl 0x1c(%rsp), %r9d
je 0x44a2
movl %r12d, 0x30(%rsp)
movl $0x1, %edi
movl %r14d, %ecx
movl $0x0, (%rsp)
jmp 0x44b7
movl %ecx, %r13d
movl %r14d, %ecx
movl 0x58(%rsp), %eax
movl 0xc(%rsp), %edi
movl 0x8c(%rsp), %r11d
movl %edi, 0xc(%rsp)
movzbl 0x7f(%rsp), %edx
xorl $0x3, %edx
xorl %esi, %esi
movl %eax, 0x58(%rsp)
cmpl $0x1, %eax
movl $0x0, %edi
sbbl %edi, %edi
orl $0xffff, %edi           # imm = 0xFFFF
movl 0x88(%rsp), %r10d
movl %r10d, %eax
leaq 0xf9ab(%rip), %r8       # 0x13100
movl (%r8,%rax,4), %eax
andl %edi, %eax
movl 0x84(%rsp), %r9d
movl (%r8,%r9,4), %r8d
andl %edi, %r8d
cmpb $0x0, 0x90(%rsp)
cmovel %esi, %eax
imull %r11d, %r8d
addl %r13d, %eax
addl %r8d, %eax
andl %edi, %eax
movl $0x1, %esi
movq 0x48(%rsp), %r13
cmpl $0xd, 0xc(%rsp)
setne %dil
orb (%rsp), %dil
xorl %r8d, %r8d
testl %r12d, %r12d
movl $0x0, %r9d
cmovel %eax, %r9d
movl %r9d, (%rsp)
testb %dil, %dil
movl $0x0, %r14d
movl 0x60(%rsp), %edi
cmovnel %edi, %r14d
movl $0x2, %r9d
cmovnel %edx, %r9d
testl %r12d, %r12d
cmovnel %r10d, %edi
cmovnel %esi, %edx
cmovel %r12d, %eax
cmovel %r10d, %r14d
movl %r14d, 0x60(%rsp)
cmovel %esi, %r9d
cmpb $0x0, 0x30(%rsp)
movl 0x4(%rsp), %esi
cmovnel %edi, %esi
movl %esi, 0x4(%rsp)
movl 0x3c(%rsp), %edi
cmovnel %edx, %edi
cmovel %r8d, %eax
movl %eax, 0x30(%rsp)
movl 0x8(%rsp), %eax
movl 0x50(%rsp), %r8d
movl 0x68(%rsp), %esi
movq 0x70(%rsp), %r11
testl %r8d, %r8d
je 0x3882
testl %esi, %esi
movl $0x1, %r14d
cmovel %r11d, %r14d
movl 0xc(%rsp), %r10d
movl %edi, 0x3c(%rsp)
movl %r9d, 0x1c(%rsp)
movq %r13, 0x48(%rsp)
movl %r10d, 0xc(%rsp)
movq %r11, %r13
leaq 0x5c(%rsp), %r12
movq %r12, %rdi
movl %ebx, %esi
movl $0x1, %edx
movl %r14d, %r8d
callq 0x5f26
cmpl $0x0, (%r12)
je 0x230c
addl %r14d, 0xf8b8(%rip)     # 0x13120
xorl %esi, %esi
movq %r13, %r11
movl 0xc(%rsp), %r10d
movq 0x48(%rsp), %r13
movl 0x1c(%rsp), %r9d
movl 0x3c(%rsp), %edi
jmp 0x388a
movb $0x1, %sil
movl 0xc(%rsp), %r10d
movl %edi, %edx
leaq 0x9995(%rip), %rcx      # 0xd228
movslq (%rcx,%rdx,4), %rdx
addq %rcx, %rdx
movl 0x60(%rsp), %r8d
movl %esi, 0x50(%rsp)
jmpq *%rdx
movl %eax, %esi
movl %r8d, %r12d
movl %edi, 0x8(%rsp)
jmp 0x391d
xorl %esi, %esi
movl 0x4(%rsp), %r12d
movl %esi, %edi
movl %r12d, 0x4(%rsp)
movl %r12d, %edx
leaq 0xf838(%rip), %rcx      # 0x13100
movl (%rcx,%rdx,4), %r14d
movl $0x2, 0x8(%rsp)
jmp 0x38f3
movl 0x4(%rsp), %edx
leaq 0xf81f(%rip), %rcx      # 0x13100
movl (%rcx,%rdx,4), %r14d
shrl $0x8, %r14d
movl $0x3, 0x8(%rsp)
xorl %edi, %edi
movl %eax, %esi
movl %r8d, %r12d
jmp 0x3920
movl $0x1, 0x8(%rsp)
cmpl $0x9, %r10d
jne 0x3b09
movl $0x9, %r10d
xorl %edi, %edi
movl %eax, %esi
movl %r8d, %r12d
movl 0x30(%rsp), %eax
movl %eax, %r14d
cmpl $0x3, %r11d
ja 0x3953
movl %r14d, %r8d
leal (,%r11,8), %eax
leal -0x8(%rax), %ecx
movl %r8d, %edx
shrl %cl, %edx
testb %dl, %dl
jns 0x3963
movl $0xffffffff, %r14d      # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %r14d
orl %r8d, %r14d
movb $0x1, %al
movl %eax, 0x48(%rsp)
jmp 0x3976
movl $0x4, %r11d
movl $0x0, 0x48(%rsp)
jmp 0x3976
negb %al
movl %eax, %ecx
shll %cl, %r8d
shrl %cl, %r8d
movb $0x1, %al
movl %eax, 0x48(%rsp)
movl %r8d, %r14d
testl %r13d, %r13d
je 0x39a5
movl %r9d, %eax
leaq 0x98b3(%rip), %rcx      # 0xd238
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl %esi, %eax
cmpb $0x0, 0x48(%rsp)
jne 0x3a4a
xorl %r8d, %r8d
movl %esi, %eax
jmp 0x3a7c
xorl %eax, %eax
movl %r9d, %r8d
jmp 0x3a7c
movl %r12d, %eax
leaq 0xf747(%rip), %rcx      # 0x13100
movl (%rcx,%rax,4), %eax
movl $0x2, %r8d
jmp 0x39da
movl %r12d, %eax
leaq 0xf732(%rip), %rcx      # 0x13100
movl (%rcx,%rax,4), %eax
shrl $0x8, %eax
movl $0x3, %r8d
cmpb $0x0, 0x48(%rsp)
jne 0x3a4a
jmp 0x3a7c
movq %rsi, 0x68(%rsp)
movq %r14, 0x60(%rsp)
movl %edi, 0x3c(%rsp)
movl %r9d, 0x1c(%rsp)
movl %r10d, 0xc(%rsp)
leaq 0x5c(%rsp), %r14
movq %r14, %rdi
movl %ebx, %esi
movl %ebp, %edx
movl (%rsp), %ecx
movq %r11, %r13
movl %r11d, %r8d
callq 0x5f26
cmpl $0x0, (%r14)
je 0x230c
movl $0x1, %r8d
cmpb $0x0, 0x48(%rsp)
movq %r13, %r11
movl 0xc(%rsp), %r10d
movl 0x1c(%rsp), %r9d
movl 0x3c(%rsp), %edi
movq 0x60(%rsp), %r14
movq 0x68(%rsp), %rsi
je 0x3a7c
movq %rsi, %r13
leal (,%r11,8), %edx
leal -0x8(%rdx), %ecx
movl %eax, %esi
shrl %cl, %esi
testb %sil, %sil
jns 0x3a6e
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movl %edx, %ecx
shll %cl, %esi
orl %esi, %eax
jmp 0x3a76
negb %dl
movl %edx, %ecx
shll %cl, %eax
shrl %cl, %eax
movl %r9d, %r8d
movq %r13, %rsi
cmpl $0x2d, %r10d
ja 0x4c2c
movl %r10d, %ecx
leaq 0x97b8(%rip), %rdx      # 0xd248
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movl %r8d, 0x1c(%rsp)
leal (,%r11,8), %ecx
movl $0x1, %edx
shlq %cl, %rdx
movl $0x1, %esi
decb %cl
shlq %cl, %rsi
movl 0x28(%rsp), %edi
cmpl $0x9, %edi
ja 0x4ecb
movq %r14, %r15
leaq -0x1(%rdx), %rcx
movl 0xf651(%rip), %r8d      # 0x13124
movl %r8d, %r14d
andl $0xfffff72a, %r14d      # imm = 0xFFFFF72A
movl %r15d, %r13d
andl %ecx, %r15d
andl %ecx, %eax
movl %edi, %r9d
leaq 0x9855(%rip), %r10      # 0xd344
movslq (%r10,%r9,4), %r9
addq %r10, %r9
jmpq *%r9
leaq (%rax,%r15), %r10
andl %esi, %eax
movl %eax, %eax
andl %esi, %r15d
jmp 0x47d3
movl %eax, %r12d
movl %r9d, 0x1c(%rsp)
movq %r13, 0x48(%rsp)
movl %r10d, 0xc(%rsp)
leaq 0x5c(%rsp), %r14
movq %r14, %rdi
movl %ebx, %esi
movl %ebp, %edx
movl 0x30(%rsp), %ecx
movq %r11, %r13
movl %r11d, %r8d
callq 0x5f26
xorl %edi, %edi
cmpl $0x0, (%r14)
je 0x230c
movl %r12d, %esi
movl 0x60(%rsp), %r12d
movq %r13, %r11
movl 0xc(%rsp), %r10d
movq 0x48(%rsp), %r13
movl 0x1c(%rsp), %r9d
movq %rax, %r14
jmp 0x3920
leal -0x1(%r14), %eax
cmpl $0x0, 0x10(%rsp)
je 0x4234
cmpl $0x1, %r14d
je 0x4234
addl %r14d, 0xf59c(%rip)     # 0x13120
jmp 0x4234
cmpb $0x1, 0xf5b4(%rip)      # 0x13144
jne 0x4c62
cmpl $0x40, %r14d
jne 0x4c62
leaq 0xf559(%rip), %rdi      # 0x13100
callq 0xa832
xorl %r13d, %r13d
testl %eax, %eax
je 0x230f
jns 0x529c
movq 0xf434(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
callq 0x1f8c
jmp 0x230f
movl 0xf549(%rip), %esi      # 0x13120
movl %ebx, %edi
movl %r11d, %edx
movl 0x58(%rsp), %ecx
callq 0x610e
testl %eax, %eax
jne 0x40ff
jmp 0x230c
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(%rax,%rax), %edx
leaq 0x5c(%rsp), %r14
movq %r14, %rdi
movl %ebx, %esi
movl 0x58(%rsp), %ecx
callq 0x6162
cmpl $0x0, (%r14)
jne 0x4115
jmp 0x230c
leal (,%r11,8), %eax
movl %eax, %edx
negb %dl
movl $0x7fffffff, %esi       # imm = 0x7FFFFFFF
movl %edx, %ecx
shrl %cl, %esi
decb %al
movl $0x1, %r8d
movl %eax, %ecx
shll %cl, %r8d
movl %r11d, %ecx
shll $0x4, %ecx
decb %cl
movl $0x1, %edi
shlq %cl, %rdi
movl %edx, %ecx
shll %cl, %r14d
shrl %cl, %r14d
cmpl $0x1, %r11d
jne 0x44c0
movl 0xf494(%rip), %ecx      # 0x13100
movzwl %cx, %r9d
jmp 0x4605
notl %esi
andl %esi, 0xf4a7(%rip)      # 0x13124
jmp 0x529c
movl %r8d, %r10d
leal (,%r11,8), %edx
movl %edx, %ecx
negb %cl
movq %rsi, %r15
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
shrl %cl, %esi
leal -0x1(%rdx), %ecx
movl $0x1, %edi
shll %cl, %edi
movl %r14d, %r8d
cmpb $0x0, 0x50(%rsp)
cmovnel %eax, %r15d
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
leaq (%r8,%rax), %r9
movzbl %cl, %ecx
btl %ecx, %r14d
cmovaeq %r8, %r9
orq %r15, %rax
btl %ecx, %r15d
cmovaeq %r15, %rax
imulq %r9, %rax
movl %eax, %r14d
movl %edx, %ecx
shrq %cl, %rax
cmpl $0x0, 0x40(%rsp)
je 0x4754
cmpl $0x2, %r11d
je 0x4745
cmpl $0x1, %r11d
jne 0x474e
movb %al, 0xf3fb(%rip)       # 0x13101
jmp 0x4754
movl %r8d, 0x1c(%rsp)
movq %r14, 0x60(%rsp)
xorl %r9d, %r9d
cmpl $0x3, %edi
sete %dl
cmpl $0x7, %edi
setb %r10b
movb $0x4b, %sil
movl %edi, %ecx
shrb %cl, %sil
cmpl $0x6, %edi
setb %r13b
movl %edi, %r8d
movb $0x37, %dil
movl %r8d, %ecx
shrb %cl, %dil
leal (,%r11,8), %eax
leal -0x1(%rax), %ecx
movl $0x1, %r14d
shlq %cl, %r14
movq %r14, 0x10(%rsp)
movl 0xf3c4(%rip), %r14d     # 0x13124
movl %r11d, %ecx
negl %ecx
btl $0xa, %r14d
cmovael %r11d, %ecx
movl %ecx, 0x18(%rsp)
movl %eax, %ecx
movl $0x1, %eax
shlq %cl, %rax
cmpl $0x4, %r8d
ja 0x4c47
andb %sil, %r10b
movb %r10b, 0xc(%rsp)
andb %dil, %r13b
movb %r13b, 0x4(%rsp)
movb %dl, %r9b
movl %r9d, 0x8(%rsp)
movq %rax, 0x30(%rsp)
decq %rax
movq %rax, 0x40(%rsp)
movq $0x0, 0x50(%rsp)
movl %r8d, %eax
movq %rax, 0x28(%rsp)
leaq 0x5c(%rsp), %rdi
xorl %r9d, %r9d
movq %r11, 0x70(%rsp)
movl %r8d, 0x3c(%rsp)
movl 0xf344(%rip), %eax      # 0x13118
movl %eax, %ecx
movl $0xffff, %esi           # imm = 0xFFFF
andl %esi, %ecx
movl 0xf339(%rip), %edx      # 0x1311c
movl %edx, %r10d
andl %esi, %r10d
cmpl $0x0, 0x58(%rsp)
cmovel %eax, %ecx
cmovel %edx, %r10d
cmpl $0x3, %r8d
ja 0x3f09
movq 0x28(%rsp), %rax
leaq 0x94f5(%rip), %rdx      # 0xd300
movslq (%rdx,%rax,4), %rax
addq %rdx, %rax
jmpq *%rax
movl %r10d, 0x20(%rsp)
movq %r9, 0x48(%rsp)
movl %ebx, %esi
movl $0x3, %edx
movl %r11d, %r8d
callq 0x5f26
cmpl $0x0, 0x5c(%rsp)
je 0x230c
xorl %r13d, %r13d
movl %ebx, %edi
xorl %esi, %esi
movl 0x20(%rsp), %edx
movl %eax, %ecx
movq 0x70(%rsp), %r8
callq 0x604e
testl %eax, %eax
movq 0x48(%rsp), %r9
jne 0x3fab
jmp 0x230f
xorl %r13d, %r13d
movl %ebx, %edi
xorl %esi, %esi
movl %r10d, %edx
movq 0x60(%rsp), %rcx
movl %r11d, %r8d
movq %r9, 0x48(%rsp)
callq 0x604e
movq 0x48(%rsp), %r9
testl %eax, %eax
jne 0x3fab
jmp 0x230f
movq %r9, %r13
movl %ebx, %esi
movl $0x3, %edx
movl %r11d, %r8d
callq 0x5f26
movq %rax, 0x50(%rsp)
cmpl $0x0, 0x5c(%rsp)
je 0x230c
movq %r13, %r9
jmp 0x3fab
movl %r10d, 0x20(%rsp)
movl %ebx, %esi
movl $0x3, %edx
movl %r11d, %r8d
callq 0x5f26
movq %rax, 0x48(%rsp)
cmpl $0x0, 0x5c(%rsp)
je 0x230c
xorl %r13d, %r13d
leaq 0x5c(%rsp), %rdi
movl %ebx, %esi
xorl %edx, %edx
movl 0x20(%rsp), %ecx
movq 0x70(%rsp), %r8
callq 0x5f26
cmpl $0x0, 0x5c(%rsp)
je 0x230f
movq 0x48(%rsp), %rdi
jmp 0x3f2d
xorl %r13d, %r13d
movl %ebx, %esi
xorl %edx, %edx
movl %r10d, %ecx
movl %r11d, %r8d
callq 0x5f26
cmpl $0x0, 0x5c(%rsp)
je 0x230f
movq 0x60(%rsp), %rcx
movl %ecx, %edi
andl $0xfffff72a, %r14d      # imm = 0xFFFFF72A
movl %edi, %ecx
movl %eax, %edx
subq %rdx, %rcx
movq 0x10(%rsp), %rsi
andl %esi, %edi
negl %eax
andl %esi, %eax
movq %rcx, %rdx
andq %rsi, %rdx
leal 0x800(%r14), %esi
cmpq %rdi, %rdx
cmovel %r14d, %esi
cmpq %rax, %rdi
cmovnel %r14d, %esi
leal 0x80(%rsi), %r9d
testq %rdx, %rdx
cmovel %esi, %r9d
leal 0x40(%r9), %edx
xorl %eax, %eax
xorl %esi, %esi
btq %rsi, %rcx
adcl $0x0, %eax
incl %esi
cmpl $0x8, %esi
jne 0x3f77
xorl %esi, %esi
testq %rcx, 0x30(%rsp)
setne %sil
testq %rcx, 0x40(%rsp)
cmovel %edx, %r9d
andl $0x1, %eax
leal (%rsi,%rax,4), %r14d
xorl $0x4, %r14d
orl %r9d, %r14d
andl $0x40, %r9d
cmpl $0x0, 0x58(%rsp)
movb 0x4(%rsp), %cl
je 0x4012
cmpb $0x0, 0xc(%rsp)
movq 0x70(%rsp), %r11
movl 0x3c(%rsp), %r8d
leaq 0x5c(%rsp), %rdi
je 0x3fdd
movl 0xf146(%rip), %eax      # 0x13118
addl 0x18(%rsp), %eax
movw %ax, 0xf13b(%rip)       # 0x13118
testb %cl, %cl
je 0x3ff2
movl 0xf135(%rip), %eax      # 0x1311c
addl 0x18(%rsp), %eax
movw %ax, 0xf12a(%rip)       # 0x1311c
testl %r15d, %r15d
je 0x408e
movl 0xf103(%rip), %eax      # 0x13104
movl %eax, %ecx
andl $0xffff0000, %ecx       # imm = 0xFFFF0000
decl %eax
movzwl %ax, %eax
orl %ecx, %eax
jmp 0x404d
cmpb $0x0, 0xc(%rsp)
movq 0x70(%rsp), %r11
movl 0x3c(%rsp), %r8d
leaq 0x5c(%rsp), %rdi
je 0x4032
movl 0x18(%rsp), %eax
addl %eax, 0xf0e6(%rip)      # 0x13118
testb %cl, %cl
je 0x4040
movl 0x18(%rsp), %eax
addl %eax, 0xf0dc(%rip)      # 0x1311c
testl %r15d, %r15d
je 0x408e
movl 0xf0b9(%rip), %eax      # 0x13104
decl %eax
cmpl $0x0, 0x58(%rsp)
movl %eax, 0xf0ac(%rip)      # 0x13104
movzwl %ax, %ecx
cmovel %eax, %ecx
testl %ecx, %ecx
je 0x408e
cmpl $0x4, %r8d
je 0x4072
cmpl $0x1, %r8d
jne 0x3dce
xorl %eax, %eax
testl %r9d, %r9d
sete %al
cmpl $0x0, 0x98(%rsp)
cmovnel %r9d, %eax
testl %eax, %eax
jne 0x3dce
cmpl $0x1, %r8d
je 0x4783
cmpl $0x4, %r8d
movl 0x1c(%rsp), %r8d
movq 0x50(%rsp), %r10
movl 0x8(%rsp), %r9d
je 0x48ed
jmp 0x48f4
cmpl $0x2, %r11d
jne 0x44e5
movzbl %r14b, %eax
leal 0xff00(%rax), %r14d
testb %al, %al
cmovnsl %eax, %r14d
movl $0x2, %r11d
jmp 0x4b0d
movl 0xf03e(%rip), %esi      # 0x13120
movl %ebx, %edi
movl %r11d, %edx
movl 0x58(%rsp), %ecx
callq 0x610e
testl %eax, %eax
je 0x230c
addl 0xf021(%rip), %r14d     # 0x13120
movl %r14d, 0xf01a(%rip)     # 0x13120
cmpl $0x0, 0x18(%rsp)
je 0x529c
movzwl %r14w, %eax
movl %eax, 0xf005(%rip)      # 0x13120
jmp 0x529c
movl %r8d, %r9d
movl %esi, %r8d
leal (,%r11,8), %edx
leal -0x1(%rdx), %ecx
movl $0x1, %esi
shll %cl, %esi
movl $0xfffff72b, %ecx       # imm = 0xFFFFF72B
andl 0xefe1(%rip), %ecx      # 0x13124
addl %eax, %r8d
andl %esi, %eax
andl %esi, %r14d
andl %r8d, %esi
leal 0x800(%rcx), %edi
cmpl %eax, %esi
cmovel %ecx, %edi
cmpl %r14d, %eax
cmovnel %ecx, %edi
leal 0x80(%rdi), %eax
testl %esi, %esi
cmovel %edi, %eax
movq $-0x1, %rsi
movl %edx, %ecx
shlq %cl, %rsi
notl %esi
leal 0x40(%rax), %ecx
testl %esi, %r8d
cmovnel %eax, %ecx
movl %ecx, 0xef9d(%rip)      # 0x13124
movl %r8d, %r14d
movl %r9d, %r8d
jmp 0x4b0d
movq 0x20(%rsp), %rcx
addl $-0x7, %ecx
cmpb $0x0, 0x50(%rsp)
je 0x41a7
movl 0xef5d(%rip), %esi      # 0x13104
cmpl $0x2, %ecx
cmovael %r14d, %esi
andl $0x1f, %esi
je 0x529c
movl %r8d, 0x1c(%rsp)
movq %r14, %r15
leal (,%r11,8), %edx
leal -0x1(%rdx), %ecx
movl $0x1, %r14d
shll %cl, %r14d
movl $0x1, %r9d
movl %edx, %ecx
shlq %cl, %r9
movq 0x20(%rsp), %rdi
cmpl $0x8, %edi
ja 0x4f49
movq %rsi, %r13
movl 0xef2f(%rip), %esi      # 0x13124
leaq -0x1(%r9), %r8
movl %edi, %ecx
leaq 0x911e(%rip), %r10      # 0xd320
movslq (%r10,%rcx,4), %rcx
addq %r10, %rcx
jmpq *%rcx
movl %r8d, %edi
andl %eax, %edi
movq %rdi, %r10
movl %r13d, %ecx
shlq %cl, %r10
jmp 0x4935
movswl %r14w, %eax
shrl $0xf, %eax
sarl $0x1f, %r14d
cmpl $0x2, %r11d
movzwl %ax, %eax
cmovnel %r14d, %eax
movl %eax, %r14d
jmp 0x4b0d
notl %eax
movl %eax, %r14d
jmp 0x4b0d
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(,%rax,2), %r11d
jmp 0x4b0d
leal (,%r11,8), %ecx
negb %cl
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
shrl %cl, %esi
andl %esi, %r14d
cmpl $0x1, %r11d
jne 0x44fc
movl 0xee7f(%rip), %ecx      # 0x13100
movzwl %cx, %eax
jmp 0x46bd
cmpl $0x0, 0x10(%rsp)
jne 0x4b0d
jmp 0x529c
movl %ebx, %edi
movl %r14d, %esi
jmp 0x5288
cmpl $0x0, 0x10(%rsp)
je 0x529c
addl %r14d, 0xee6b(%rip)     # 0x13120
jmp 0x529c
movl 0x8(%rsp), %ecx
leaq 0x904b(%rip), %rdx      # 0xd310
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movl %ebx, %edi
movl %ebp, %esi
movl 0x30(%rsp), %edx
movl %eax, %ecx
movl %r8d, %r13d
movl %r11d, %r8d
movq %r14, %r15
movq %r11, %r14
callq 0x604e
movl %r13d, %r8d
movq %r14, %r11
movq %r15, %r14
testl %eax, %eax
jne 0x4b0d
jmp 0x230c
leal (,%r11,8), %eax
movl %eax, %ecx
negb %cl
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
shrl %cl, %edx
andl %edx, %r14d
movl 0xede5(%rip), %ecx      # 0x13100
movl %ecx, %esi
andl %edx, %esi
imulq %rsi, %r14
cmpl $0x2, %r11d
je 0x453c
cmpl $0x1, %r11d
jne 0x455d
andl $0xffff0000, %ecx       # imm = 0xFFFF0000
movzwl %r14w, %esi
orl %ecx, %esi
movl %esi, 0xedb7(%rip)      # 0x13100
jmp 0x4571
movl %r8d, %r9d
leal (,%r11,8), %ecx
negb %cl
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
shrl %cl, %edx
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
cmpl $0x4, %r11d
cmovael %ecx, %edx
movl %eax, %ecx
andl %edx, %ecx
movl 0xed88(%rip), %esi      # 0x13100
movl %esi, %r8d
andl %edx, %r8d
movl 0xeda0(%rip), %edi      # 0x13124
cmpl %r8d, %ecx
jne 0x451f
orl $0x40, %edi
movl %edi, 0xed8e(%rip)      # 0x13124
jmp 0x418a
movl %r8d, %r13d
leaq 0x5c(%rsp), %r14
movq %r14, %rdi
movl %ebx, %esi
movq %r11, %r15
movl %r11d, %edx
movl 0x58(%rsp), %ecx
callq 0x6162
cmpl $0x0, (%r14)
je 0x230c
movq %r15, %r11
movq %rax, %r14
movl %r13d, %r8d
jmp 0x4b0d
xorl %r14d, %r14d
cmpl $0x0, 0x10(%rsp)
setne %r14b
jmp 0x4b0d
shll $0x3, %r11d
negb %r11b
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movl %r11d, %ecx
shrl %cl, %edx
cmpb $0x0, 0x48(%rsp)
cmovel %eax, %edx
andl %r14d, %edx
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(,%rax,2), %r11d
movl %edx, %r14d
jmp 0x4b0d
orl %esi, 0xed03(%rip)      # 0x13124
jmp 0x529c
xorb $0x1, 0xecf7(%rip)      # 0x13124
jmp 0x529c
movl 0x18(%rsp), %r12d
leaq 0x5c(%rsp), %r14
movq %r14, %rdi
movl %ebx, %esi
movl %r11d, %edx
movl 0x58(%rsp), %ecx
callq 0x6162
cmpl $0x0, (%r14)
je 0x230c
testl %r12d, %r12d
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 0xecaa(%rip), %edx      # 0x13124
andl %esi, %eax
orl %edx, %eax
movl %eax, 0xeca0(%rip)      # 0x13124
jmp 0x529c
movl %r14d, %ecx
movl $0x0, (%rsp)
movl $0x0, 0x30(%rsp)
movl 0x1c(%rsp), %r9d
jmp 0x44b7
movl %r14d, %ecx
movl $0x1, %r9d
movl %r12d, (%rsp)
movl $0x0, 0x30(%rsp)
movl 0x68(%rsp), %esi
jmp 0x3813
movl 0xec42(%rip), %eax      # 0x13108
cmpl $0x2, %r11d
jne 0x45f5
shll $0x10, %eax
movl 0xec27(%rip), %ecx      # 0x13100
movzwl %cx, %r9d
orl %eax, %r9d
jmp 0x4605
movzwl %r14w, %eax
movswl %ax, %r14d
andl $0xffff0000, %r14d      # imm = 0xFFFF0000
orl %eax, %r14d
jmp 0x4b0d
movl 0xec06(%rip), %edx      # 0x13108
cmpl $0x2, %r11d
jne 0x46ad
shll $0x10, %edx
movl 0xebeb(%rip), %ecx      # 0x13100
movzwl %cx, %eax
orl %edx, %eax
jmp 0x46bd
andl $-0x41, %edi
movl %edi, 0xebfc(%rip)      # 0x13124
notl %edx
andl %edx, %esi
orl %ecx, %esi
movl %esi, 0xebcc(%rip)      # 0x13100
movl %eax, %r14d
jmp 0x418a
andl $0xffff0000, %ecx       # imm = 0xFFFF0000
movzwl %r14w, %esi
orl %ecx, %esi
movl %esi, 0xebb2(%rip)      # 0x13100
movl %r14d, %ecx
shrl $0x10, %ecx
movw %cx, 0xebad(%rip)       # 0x13108
jmp 0x4571
movl %r14d, 0xeb9c(%rip)     # 0x13100
movq %r14, %rcx
shrq $0x20, %rcx
movl %ecx, 0xeb97(%rip)      # 0x13108
movl %eax, %ecx
shrq %cl, %r14
andl %edx, %r14d
movl $0xfffff7fe, %eax       # imm = 0xFFFFF7FE
andl 0xeba0(%rip), %eax      # 0x13124
testl %r14d, %r14d
movl $0x801, %ecx            # imm = 0x801
cmovel %r14d, %ecx
orl %eax, %ecx
movl %ecx, 0xeb8c(%rip)      # 0x13124
jmp 0x529c
cmpl $0x1, %r11d
jne 0x4d03
movl 0x4(%rsp), %ecx
leaq 0xeb4e(%rip), %rdx      # 0x13100
movb %al, 0x1(%rdx,%rcx,4)
movl $0x1, %r11d
jmp 0x4b0d
leal (,%r11,8), %ecx
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
shll %cl, %edx
xorl %ecx, %ecx
cmpl $0x4, %r11d
cmovbl %edx, %ecx
movl 0x4(%rsp), %edx
leaq 0xeb1c(%rip), %rsi      # 0x13100
movl (%rsi,%rdx,4), %edi
xorl %eax, %edi
andl %ecx, %edi
xorl %eax, %edi
movl %edi, (%rsi,%rdx,4)
jmp 0x4b0d
shlq $0x20, %rax
movl 0xeb01(%rip), %ecx      # 0x13100
orq %rcx, %rax
movq %rax, %r9
testl %r14d, %r14d
je 0x4c3b
movq %r9, %rax
negq %rax
testq %rdi, %r9
sete %dl
cmoveq %r9, %rax
movl %r14d, %r10d
negl %r10d
testl %r8d, %r14d
sete %r8b
cmovel %r14d, %r10d
xorb %dl, %r8b
xorl %edx, %edx
divq %r10
xorl %r13d, %r13d
movzbl %r8b, %r10d
addl %r10d, %esi
cmpq %rsi, %rax
ja 0x4c6e
movq %rax, %rsi
negq %rsi
testb %r8b, %r8b
cmoveq %rax, %rsi
movl %edx, %eax
negl %eax
testq %rdi, %r9
cmovel %edx, %eax
cmpl $0x1, %r11d
jne 0x4686
andl $0xffff0000, %ecx       # imm = 0xFFFF0000
shll $0x8, %eax
movzwl %ax, %eax
movzbl %sil, %edx
orl %eax, %edx
orl %ecx, %edx
movl %edx, 0xea7f(%rip)      # 0x13100
jmp 0x529c
cmpl $0x2, %r11d
jne 0x4723
andl $0xffff0000, %ecx       # imm = 0xFFFF0000
movzwl %si, %edx
orl %ecx, %edx
movl %edx, 0xea5f(%rip)      # 0x13100
movw %ax, 0xea60(%rip)       # 0x13108
jmp 0x529c
shlq $0x20, %rdx
movl 0xea49(%rip), %ecx      # 0x13100
orq %rcx, %rdx
movq %rdx, %rax
testl %r14d, %r14d
je 0x4c56
movl %r14d, %edi
xorl %edx, %edx
divq %rdi
xorl %r13d, %r13d
movl %esi, %esi
cmpq %rsi, %rax
ja 0x4c7a
cmpl $0x1, %r11d
jne 0x4700
andl $0xffff0000, %ecx       # imm = 0xFFFF0000
shll $0x8, %edx
movzwl %dx, %edx
movzbl %al, %eax
orl %edx, %eax
orl %ecx, %eax
movl %eax, 0xea05(%rip)      # 0x13100
jmp 0x529c
cmpl $0x2, %r11d
jne 0x4734
andl $0xffff0000, %ecx       # imm = 0xFFFF0000
movzwl %ax, %eax
orl %ecx, %eax
movl %eax, 0xe9e9(%rip)      # 0x13100
movw %dx, 0xe9ea(%rip)       # 0x13108
jmp 0x529c
movl %esi, 0xe9d7(%rip)      # 0x13100
movl %eax, 0xe9d9(%rip)      # 0x13108
jmp 0x529c
movl %eax, 0xe9c6(%rip)      # 0x13100
movl %edx, 0xe9c8(%rip)      # 0x13108
jmp 0x529c
movw %ax, 0xe9bc(%rip)       # 0x13108
jmp 0x4754
movl %eax, 0xe9b4(%rip)      # 0x13108
andl %esi, %eax
andl %r14d, %edi
cmovnel %esi, %edi
movl $0xfffff7fe, %ecx       # imm = 0xFFFFF7FE
andl 0xe9bd(%rip), %ecx      # 0x13124
xorl %edx, %edx
cmpl %edi, %eax
movl $0x801, %eax            # imm = 0x801
cmovnel %edx, %eax
orl %ecx, %eax
movl %eax, 0xe9a9(%rip)      # 0x13124
movl %r10d, %r8d
jmp 0x4b0d
movl 0x1c(%rsp), %r8d
movq 0x50(%rsp), %r10
movl 0x8(%rsp), %r9d
jmp 0x48ed
andl %r13d, %eax
jmp 0x4890
movq %rax, %r10
negq %r10
setb %r8b
xorq %r10, %rax
movl %r14d, %r9d
orl $0x800, %r9d            # imm = 0x800
testb $0x1, %r8b
cmovel %r14d, %r9d
testq %rsi, %rax
jmp 0x480c
movq %rax, %r10
subq %r15, %r10
negq %r15
andl %esi, %eax
movl %eax, %eax
andq %rsi, %r15
movq %r10, %r8
jmp 0x47f5
andl $0x1, %r8d
addq %r15, %r8
movq %rax, %rdi
subq %r8, %rdi
andl %esi, %eax
movl %eax, %eax
negq %r15
andq %rsi, %r15
movq %rdi, %r10
movq %rdi, %r8
andq %rsi, %r8
movl %r14d, %r9d
orl $0x800, %r9d            # imm = 0x800
cmpq %rax, %r8
cmovel %r14d, %r9d
cmpq %r15, %rax
cmovel %r9d, %r14d
movl $0x1, %r9d
jmp 0x48a1
movq %rax, %r10
subq %r15, %r10
andl %esi, %eax
movl %eax, %eax
negq %r15
andq %rsi, %r15
movq %r10, %r8
andq %rsi, %r8
movl %r14d, %r9d
orl $0x800, %r9d            # imm = 0x800
cmpq %rax, %r8
cmovel %r14d, %r9d
cmpq %r15, %rax
cmovel %r9d, %r14d
xorl %r9d, %r9d
jmp 0x48a1
andl $0x1, %r8d
addq %rax, %r8
addq %r15, %r8
andl %esi, %eax
movl %eax, %eax
andl %esi, %r15d
movq %r8, %rdi
andq %rsi, %rdi
movl %r14d, %r9d
orl $0x800, %r9d            # imm = 0x800
cmpq %rax, %rdi
cmovel %r14d, %r9d
cmpq %r15, %rax
cmovel %r9d, %r14d
movl $0x1, %r9d
movq %r8, %r10
jmp 0x48a1
orq %r15, %rax
jmp 0x4890
xorq %r15, %rax
movl $0x1, %r9d
jmp 0x489e
andl %r13d, %eax
xorl %r9d, %r9d
movq %rax, %r10
movl %r14d, %eax
orl $0x80, %eax
testq %rsi, %r10
cmovel %r14d, %eax
movl %eax, %esi
orl $0x40, %esi
xorl %edi, %edi
testq %rdx, %r10
setne %dil
xorl %edx, %edx
xorl %r14d, %r14d
movl 0x1c(%rsp), %r8d
btq %rdx, %r10
adcl $0x0, %r14d
incl %edx
cmpl $0x8, %edx
jne 0x48c8
testq %rcx, %r10
cmovel %esi, %eax
orl %edi, %eax
notl %r14d
shll $0x2, %r14d
andl $0x4, %r14d
orl %eax, %r14d
movl %r14d, 0xe830(%rip)     # 0x13124
movl %r10d, %r14d
testl %r9d, %r9d
jne 0x4b0d
jmp 0x529c
movl %eax, %edx
movl %r13d, %ecx
shlq %cl, %rdx
xorl %ecx, %ecx
movq %rdx, %r10
testq %r9, %rdx
jmp 0x4994
movl %r8d, %ecx
andl %eax, %ecx
xorl %edi, %edi
testb $0x1, %sil
cmovneq %r9, %rdi
orq %rcx, %rdi
movq %rdi, %r10
movl %r13d, %ecx
shlq %cl, %r10
orl $0x1, %edx
subl %r13d, %edx
movl %edx, %ecx
shrq %cl, %rdi
jmp 0x4965
movl %r8d, %ecx
andl %eax, %ecx
xorl %edi, %edi
testb $0x1, %sil
cmovneq %r9, %rdi
orq %rcx, %rdi
movq %rdi, %r10
movl %r13d, %ecx
shrq %cl, %r10
orl $0x1, %edx
subl %r13d, %edx
movl %edx, %ecx
shlq %cl, %rdi
orq %r10, %rdi
xorl %ecx, %ecx
movq %rdi, %r10
testq %r9, %rdi
setne %cl
jmp 0x49c7
movl %eax, %r10d
movl %r13d, %ecx
shlq %cl, %r10
andl %r8d, %r15d
subl %r13d, %edx
movl %edx, %ecx
shrq %cl, %r15
orq %r10, %r15
xorl %ecx, %ecx
movq %r15, %r10
testq %r9, %r15
setne %cl
jmp 0x4a24
movl %r8d, %edi
andl %eax, %edi
movq %rdi, %r9
movl %r13d, %ecx
shrq %cl, %r9
subl %r13d, %edx
movl %edx, %ecx
shlq %cl, %rdi
orq %r9, %rdi
movq %rdi, %r10
leal -0x1(%r13), %ecx
movzbl %cl, %edx
xorl %ecx, %ecx
btl %edx, %eax
setb %cl
movb $0x1, %dl
jmp 0x4a26
movl %eax, %r10d
movl %r13d, %ecx
shrq %cl, %r10
xorl %edx, %edx
xorl %ecx, %ecx
jmp 0x4a26
movl %eax, %ecx
movabsq $-0x100000000, %r10     # imm = 0xFFFFFFFF00000000
orq %rcx, %r10
testl %r14d, %eax
cmoveq %rcx, %r10
movl %r13d, %ecx
shrq %cl, %r10
jmp 0x4a15
movl %r8d, %r9d
andl %eax, %r9d
movl %r13d, %ecx
shrq %cl, %r9
movl %r15d, %r15d
subl %r13d, %edx
movl %edx, %ecx
shlq %cl, %r15
orq %r9, %r15
movq %r15, %r10
leal -0x1(%r13), %ecx
movzbl %cl, %edx
xorl %ecx, %ecx
btl %edx, %eax
setb %cl
xorl %edx, %edx
cmpl $0x1, %r13d
jne 0x4a48
andl %r14d, %eax
movl %r10d, %r9d
andl %r14d, %r9d
cmpl %eax, %r9d
jne 0x4a42
andl $0xfffff7ff, %esi       # imm = 0xFFFFF7FF
jmp 0x4a48
orl $0x800, %esi            # imm = 0x800
andl $-0x2, %esi
orl %ecx, %esi
testb %dl, %dl
je 0x4a59
movq %r10, %r14
jmp 0x4b02
movq %r10, %xmm0
pshufd $0x44, %xmm0, %xmm0     # xmm0 = xmm0[0,1,0,1]
movdqa 0x85c5(%rip), %xmm1     # 0xd030
movdqa %xmm0, %xmm2
pand %xmm1, %xmm2
movdqa 0x85c5(%rip), %xmm3     # 0xd040
movdqa %xmm0, %xmm4
pand %xmm3, %xmm4
pcmpeqd %xmm3, %xmm4
pcmpeqd %xmm1, %xmm2
shufps $0x88, %xmm4, %xmm2     # xmm2 = xmm2[0,2],xmm4[0,2]
psrld $0x1f, %xmm2
movdqa 0x85b4(%rip), %xmm1     # 0xd050
movdqa %xmm0, %xmm3
pand %xmm1, %xmm3
movdqa 0x85b4(%rip), %xmm4     # 0xd060
pand %xmm4, %xmm0
pcmpeqd %xmm4, %xmm0
pcmpeqd %xmm1, %xmm3
shufps $0x88, %xmm0, %xmm3     # xmm3 = xmm3[0,2],xmm0[0,2]
psubd %xmm3, %xmm2
pshufd $0xee, %xmm2, %xmm0     # xmm0 = xmm2[2,3,2,3]
paddd %xmm2, %xmm0
pshufd $0x55, %xmm0, %xmm1     # xmm1 = xmm0[1,1,1,1]
paddd %xmm0, %xmm1
movd %xmm1, %eax
andl $0xffffff3b, %esi       # imm = 0xFFFFFF3B
andl $0x1, %eax
xorl %ecx, %ecx
testq %r8, %r10
sete %cl
shll $0x6, %ecx
xorl %edx, %edx
testl %r14d, %r10d
movq %r10, %r14
setne %dl
shll $0x7, %edx
orl %ecx, %edx
orl %esi, %edx
leal (%rdx,%rax,4), %esi
xorl $0x4, %esi
movl 0x1c(%rsp), %r8d
movl %esi, 0xe617(%rip)      # 0x13124
cmpl $0x3, %r8d
ja 0x529c
movl %r8d, %eax
leaq 0x884b(%rip), %rcx      # 0xd36c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl %ebx, %edi
movl %ebp, %esi
movl (%rsp), %edx
movl %r14d, %ecx
movl %r11d, %r8d
callq 0x604e
jmp 0x5294
cmpl $0x1, %r11d
jne 0x4b9c
movl %r12d, %eax
leaq 0xe5af(%rip), %rcx      # 0x13100
movb %r14b, 0x1(%rcx,%rax,4)
jmp 0x529c
leal (,%r11,8), %ecx
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
shll %cl, %eax
xorl %ecx, %ecx
cmpl $0x4, %r11d
cmovll %eax, %ecx
movl %r12d, %eax
leaq 0xe583(%rip), %rdx      # 0x13100
movl (%rdx,%rax,4), %esi
xorl %r14d, %esi
andl %ecx, %esi
xorl %r14d, %esi
movl %esi, (%rdx,%rax,4)
jmp 0x529c
movl %ebx, %edi
callq 0x15bd
jmp 0x230c
movl %ebx, %edi
callq 0x1599
jmp 0x230c
movl %ebx, %edi
callq 0x13c1
jmp 0x230c
movl %ebx, %edi
callq 0x1355
jmp 0x230c
movl %ebx, %edi
callq 0x1331
jmp 0x230c
movl %ebx, %edi
callq 0x1477
jmp 0x230c
movl %ebx, %edi
callq 0x139d
jmp 0x230c
movl %ebx, %edi
callq 0x1453
jmp 0x230c
movl %ebx, %edi
callq 0x1409
jmp 0x230c
movl %ebx, %edi
callq 0x12e9
jmp 0x230c
movl %ebx, %edi
callq 0x130d
jmp 0x230c
movl %ebx, %edi
callq 0x13e5
jmp 0x230c
movl %ebx, %edi
callq 0x12c5
jmp 0x230c
movl %r10d, %edi
movl %ebx, %esi
callq 0x1607
jmp 0x230c
movl %ebx, %edi
callq 0x14bf
jmp 0x230c
movl %r8d, %edi
movl %ebx, %esi
callq 0x142d
jmp 0x230c
movl %ebx, %edi
callq 0x1507
jmp 0x230c
movl %ebx, %edi
callq 0x1379
jmp 0x230c
movl %ebx, %edi
callq 0x149b
jmp 0x230f
movl %ebx, %edi
callq 0x14e3
jmp 0x230f
cmpb $-0x73, %r12b
je 0x4ddf
cmpl $0x8f, %eax
jne 0x4e5d
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(%rax,%rax), %eax
movq %rax, 0x70(%rsp)
movl $0x0, 0x28(%rsp)
movl $0x11, 0xc(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x10(%rsp)
xorl %r12d, %r12d
movl $0x0, 0x30(%rsp)
jmp 0x2e72
movl %ebx, %esi
callq 0x1208
jmp 0x230f
movl %ebx, %edi
callq 0x154f
jmp 0x230c
movl %ebx, %edi
callq 0x11e4
jmp 0x230f
movl %ebx, %edi
callq 0x152b
jmp 0x230c
xorl %eax, %eax
testb $0x41, %sil
setne %al
jmp 0x4d35
movl %esi, %eax
shrl $0x7, %eax
movl %esi, %edx
shrl $0xb, %edx
xorl %eax, %edx
andl $0x1, %edx
testb $0x40, %sil
movl $0x1, %eax
cmovel %edx, %eax
movl %eax, 0x10(%rsp)
jmp 0x4d5e
andl $0x40, %esi
jmp 0x4d5a
andl $0x4, %esi
jmp 0x4d5a
movl %esi, %eax
shrl $0x7, %eax
shrl $0xb, %esi
xorl %eax, %esi
andl $0x1, %esi
jmp 0x4d5a
andl $0x80, %esi
movl %esi, 0x10(%rsp)
testb $0x1, %r12b
je 0x4d72
xorl %eax, %eax
cmpl $0x0, 0x10(%rsp)
sete %al
movl %eax, 0x10(%rsp)
movl $0x0, 0x40(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x28(%rsp)
movl $0x0, 0x60(%rsp)
xorl %r9d, %r9d
movl $0x0, (%rsp)
movl $0x0, 0x4(%rsp)
xorl %edi, %edi
movl $0x0, 0x30(%rsp)
movl $0x1, %r14d
movl $0x1, %r11d
xorl %r13d, %r13d
jmp 0x3829
movl $0x8, 0x28(%rsp)
movl $0x1, %edx
movq %rdx, 0x48(%rsp)
movl $0x0, 0xc(%rsp)
jmp 0x4e2c
movb $0x1, %al
movl %eax, 0x30(%rsp)
movl $0x1, %r12d
movl $0x4, %eax
movq %rax, 0x70(%rsp)
movl $0x0, 0x28(%rsp)
movl $0x9, 0xc(%rsp)
movq $0x0, 0x20(%rsp)
jmp 0x3425
movl $0x4, 0xc(%rsp)
movq $0x0, 0x48(%rsp)
movl $0x0, 0x28(%rsp)
xorl %edx, %edx
cmpl $0x0, 0x18(%rsp)
sete %dl
testb $0x1, %r12b
leal 0x2(%rdx,%rdx), %edx
cmovel %eax, %edx
movq %rdx, 0x70(%rsp)
andl $0x2, %r12d
movb $0x1, %al
movl %eax, 0x30(%rsp)
movl $0x0, 0x10(%rsp)
jmp 0x2bf9
movl %r12d, %r9d
andl $0xf8, %r9d
cmpl $0x90, %r9d
jne 0x4ed7
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(,%rax,2), %r11d
andl $0x7, %r12d
movb $0x1, %al
movl %eax, 0x50(%rsp)
movl $0x2, %r10d
movl $0x1, %r13d
xorl %eax, %eax
xorl %esi, %esi
movl $0x0, 0x10(%rsp)
movl $0x0, 0x40(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x28(%rsp)
xorl %r8d, %r8d
movl $0x2, %r9d
jmp 0x2507
movl %ebx, %esi
callq 0x15e1
jmp 0x230c
movb $0x1, %sil
movl %esi, 0x50(%rsp)
leal -0x98(%rax), %esi
cmpl $0x7, %esi
ja 0x5083
leaq 0x8270(%rip), %r10      # 0xd164
movslq (%r10,%rsi,4), %rsi
addq %r10, %rsi
jmpq *%rsi
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(,%rax,2), %r11d
movl $0x2, %r9d
movl $0x1d, %r10d
xorl %esi, %esi
movl $0x0, 0x10(%rsp)
xorl %r13d, %r13d
movl $0x0, 0x40(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x28(%rsp)
xorl %r8d, %r8d
jmp 0x506c
movl %ebx, %esi
callq 0x1573
jmp 0x230c
cmpl $0x0, 0x18(%rsp)
je 0x5275
movl $0x2, %r11d
movl $0x14, %r10d
xorl %r8d, %r8d
movl $0x0, 0x30(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x4(%rsp)
movl $0x0, (%rsp)
xorl %r9d, %r9d
xorl %r12d, %r12d
movl $0x0, 0x28(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x40(%rsp)
xorl %r13d, %r13d
movl $0x0, 0x10(%rsp)
xorl %edi, %edi
xorl %esi, %esi
jmp 0x3929
movl $0x20, %r10d
movl $0x2, %r9d
movl $0x0, 0x30(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x4(%rsp)
movl $0x0, (%rsp)
xorl %r12d, %r12d
movl $0x0, 0x28(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x40(%rsp)
xorl %r13d, %r13d
movl $0x0, 0x10(%rsp)
xorl %edi, %edi
xorl %esi, %esi
movl $0x1, %r11d
jmp 0x2952
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(,%rax,2), %r11d
movl $0x2, %r8d
movl $0x1e, %r10d
xorl %esi, %esi
movl $0x0, 0x10(%rsp)
xorl %r13d, %r13d
movl $0x0, 0x40(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x28(%rsp)
movl $0x2, %r9d
movl $0x0, (%rsp)
xorl %r12d, %r12d
movl $0x0, 0x30(%rsp)
jmp 0x51aa
cmpl $0xa0, %edx
jne 0x51b1
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
testb $0x1, %r12b
leal 0x2(%rax,%rax), %eax
movl $0x1, %r11d
cmovnel %eax, %r11d
xorl %eax, %eax
cmpl $0x0, 0x58(%rsp)
sete %al
leal 0x2(,%rax,2), %r14d
movb $0x1, 0x7f(%rsp)
testb $0x2, %r12b
movq %r11, 0x70(%rsp)
jne 0x52b9
movl $0x2, 0x1c(%rsp)
movl $0x0, 0x28(%rsp)
movl 0x58(%rsp), %r8d
movq $0x0, 0x20(%rsp)
xorl %r12d, %r12d
movl $0x0, 0x50(%rsp)
movl $0x0, 0x40(%rsp)
movl $0x0, 0x3c(%rsp)
movq $0x0, 0x48(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x60(%rsp)
movl $0x0, 0x4(%rsp)
movl $0x0, (%rsp)
movl $0x0, 0x68(%rsp)
movb $0x1, %dl
jmp 0x5324
xorl %r12d, %r12d
cmpl $0x0, 0x18(%rsp)
je 0x52ae
movl $0x2, %r11d
movl $0x15, %r10d
jmp 0x2905
movl $0x1f, %r10d
xorl %esi, %esi
movl $0x0, 0x10(%rsp)
xorl %r13d, %r13d
movl $0x0, 0x40(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x28(%rsp)
xorl %r8d, %r8d
xorl %r9d, %r9d
movl $0x0, (%rsp)
xorl %r12d, %r12d
movl $0x0, 0x30(%rsp)
movl $0x1, %r11d
xorl %eax, %eax
jmp 0x38b7
leal -0xa4(%rdi), %r10d
movl %r12d, %esi
andl $0xfe, %esi
cmpl $0xb, %r10d
ja 0x536b
cmpl $0xa8, %esi
je 0x5373
addl $0xffffff5a, %esi       # imm = 0xFFFFFF5A
movl $0x0, %edi
cmpl $0x8, %esi
ja 0x51fe
leaq 0x7f96(%rip), %rax      # 0xd184
movslq (%rax,%rsi,4), %rcx
addq %rax, %rcx
xorl %edi, %edi
jmpq *%rcx
movl $0x1, %edi
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %cl
movb $0x1, %dl
movl %edx, 0x50(%rsp)
testb $0x1, %r12b
jne 0x5671
xorl %r8d, %r8d
movl $0x0, 0x30(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x4(%rsp)
movl $0x0, (%rsp)
xorl %r9d, %r9d
xorl %r12d, %r12d
movl $0x0, 0x28(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x40(%rsp)
xorl %r13d, %r13d
movl $0x0, 0x10(%rsp)
movl $0x1, %r11d
movl $0x16, %r10d
jmp 0x4fba
movl $0x4, %r11d
movl $0xfcffff, %esi         # imm = 0xFCFFFF
andl 0xde9e(%rip), %esi      # 0x13124
movl %ebx, %edi
movl %r11d, %edx
movl 0x58(%rsp), %ecx
callq 0x610e
testl %eax, %eax
je 0x230c
andb $-0x21, 0xde83(%rip)    # 0x13126
movl $0x1, %r13d
jmp 0x230f
movl $0x4, %r11d
jmp 0x4437
movl $0x2, 0x3c(%rsp)
movl $0x0, 0x28(%rsp)
movl 0x58(%rsp), %r8d
movq $0x0, 0x20(%rsp)
xorl %r12d, %r12d
movl $0x0, 0x50(%rsp)
movl $0x0, 0x40(%rsp)
movq $0x0, 0x48(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x60(%rsp)
movl $0x0, 0x1c(%rsp)
movl $0x0, 0x4(%rsp)
movl $0x0, (%rsp)
movl $0x0, 0x68(%rsp)
xorl %edx, %edx
movl %r14d, %esi
movb $0x1, %al
movl %eax, 0x30(%rsp)
movb $0x1, %al
movl %eax, 0x80(%rsp)
movl $0x0, 0x10(%rsp)
movb $0x1, %al
movq %rax, 0x90(%rsp)
movl $0x0, 0x84(%rsp)
movl $0x0, 0x88(%rsp)
xorl %r11d, %r11d
movl $0x4, %edi
jmp 0x3630
cmpl $0xa8, %esi
jne 0x53c7
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
testb $0x1, %r12b
leal 0x2(%rax,%rax), %r11d
movl $0x1, %r13d
cmovel %r13d, %r11d
movl $0x2, %r9d
movl $0x8, 0x28(%rsp)
movl $0x0, 0x10(%rsp)
movl $0x0, 0x40(%rsp)
movq $0x0, 0x20(%rsp)
xorl %r10d, %r10d
movl $0x0, 0x60(%rsp)
jmp 0x2d10
cmpl $0xb0, %r8d
jne 0x542a
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
testb $0x8, %r12b
leal 0x2(%rax,%rax), %eax
movl $0x1, %r11d
cmovnel %eax, %r11d
andl $0x7, %r12d
movl $0x2, %r9d
movl $0x4, %r10d
movl $0x0, 0x10(%rsp)
xorl %r13d, %r13d
movl $0x0, 0x40(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x28(%rsp)
movl %r12d, 0x60(%rsp)
jmp 0x2d10
cmpl $0xc0, %esi
setne %r8b
cmpl $0xd0, %edx
setne %r10b
testb %r10b, %r8b
jne 0x54e0
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
testb $0x1, %r12b
leal 0x2(%rax,%rax), %eax
movl $0x1, %edx
movl $0x1, 0xc(%rsp)
cmovel %edx, %eax
movq %rax, 0x70(%rsp)
andb $-0x2e, %r12b
movl $0x9, %eax
movq %rax, 0x20(%rsp)
cmpb $-0x2e, %r12b
je 0x57ba
movzbl %r12b, %eax
cmpl $0xd0, %eax
je 0x580c
movl $0x0, 0x28(%rsp)
cmpl $0xc0, %eax
jne 0x5878
movl $0x0, 0x28(%rsp)
movl $0x1, 0xc(%rsp)
movl $0x0, 0x10(%rsp)
xorl %r12d, %r12d
movl $0x0, 0x30(%rsp)
movl $0x1, 0x50(%rsp)
movl $0x1, 0x68(%rsp)
jmp 0x2617
cmpl $0xc6, %esi
je 0x573a
cmpl $0xc2, %esi
jne 0x5792
movl $0x21, %r10d
movl $0x0, 0x10(%rsp)
movl $0x2, %r11d
movl $0x0, %r13d
movl $0x0, 0x40(%rsp)
movl $0x0, %eax
movq %rax, 0x20(%rsp)
movl $0x0, 0x28(%rsp)
movl $0x0, 0x60(%rsp)
movl $0x0, %r9d
movl $0x0, (%rsp)
movl $0x0, 0x4(%rsp)
movl $0x0, 0x30(%rsp)
movl $0x2, %r14d
movl $0x0, %r8d
movl $0x0, 0x8(%rsp)
movl $0x0, %r12d
movl $0x0, %esi
cmpl $0xc2, %edi
movl $0x0, %edi
je 0x3829
jmp 0x3929
movl $0x2, %esi
jmp 0x5614
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %cl
movb $0x1, %dl
movl %edx, 0x50(%rsp)
testb $0x1, %r12b
jne 0x56cf
xorl %r8d, %r8d
movl $0x0, 0x30(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x4(%rsp)
movl $0x0, (%rsp)
xorl %r12d, %r12d
movl $0x0, 0x28(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x40(%rsp)
xorl %r13d, %r13d
movl $0x0, 0x10(%rsp)
movl $0x1, %r11d
movl $0x16, %r10d
movl $0x2, %r9d
movl $0x3, %edi
jmp 0x4fba
movl $0x4, %esi
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
testb $0x1, %r12b
leal 0x2(%rax,%rax), %eax
movl $0x1, %r11d
cmovnel %eax, %r11d
movl $0x16, %r10d
xorl %eax, %eax
movl $0x0, 0x10(%rsp)
xorl %r13d, %r13d
movl $0x0, 0x40(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x28(%rsp)
xorl %r8d, %r8d
xorl %r9d, %r9d
movl $0x0, (%rsp)
xorl %r12d, %r12d
jmp 0x250e
movb %cl, %al
leal 0x2(,%rax,2), %r11d
movl $0x0, 0x10(%rsp)
xorl %r13d, %r13d
movl $0x0, 0x40(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x28(%rsp)
xorl %r12d, %r12d
xorl %r9d, %r9d
movl $0x0, (%rsp)
movl $0x0, 0x4(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x30(%rsp)
xorl %r14d, %r14d
movl $0x16, %r10d
jmp 0x5733
movb %cl, %al
leal 0x2(,%rax,2), %r11d
movl $0x0, 0x10(%rsp)
xorl %r13d, %r13d
movl $0x0, 0x40(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x28(%rsp)
xorl %r12d, %r12d
movl $0x0, (%rsp)
movl $0x0, 0x4(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x30(%rsp)
xorl %r14d, %r14d
movl $0x16, %r10d
movl $0x2, %r9d
movl $0x3, %edi
xorl %esi, %esi
jmp 0x3920
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
testb $0x1, %r12b
leal 0x2(%rax,%rax), %eax
movl $0x1, %edx
movl $0x1, 0x50(%rsp)
cmovel %edx, %eax
movq %rax, 0x70(%rsp)
movl $0x0, 0x28(%rsp)
movl $0x4, 0xc(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x10(%rsp)
xorl %r12d, %r12d
movl $0x0, 0x30(%rsp)
jmp 0x5893
cmpl $0xc9, %edi
jne 0x58a0
cmpl $0x0, 0x18(%rsp)
je 0x595f
movl $0x2, %r11d
movl $0x22, %r10d
jmp 0x4f6c
movl $0x2, 0x3c(%rsp)
movl $0x0, 0x28(%rsp)
movl $0x1, 0xc(%rsp)
movl $0x0, 0x10(%rsp)
xorl %r12d, %r12d
movl $0x0, 0x30(%rsp)
movl $0x0, 0x50(%rsp)
movl $0x0, 0x68(%rsp)
xorl %r13d, %r13d
movl $0x0, (%rsp)
movl $0x1, 0x4(%rsp)
jmp 0x2631
movl $0x0, 0x28(%rsp)
movl $0x1, 0xc(%rsp)
movl $0x0, 0x10(%rsp)
xorl %r12d, %r12d
movl $0x0, 0x30(%rsp)
movl $0x0, 0x50(%rsp)
movl $0x0, 0x68(%rsp)
xorl %r13d, %r13d
movl $0x0, (%rsp)
movl $0x0, 0x3c(%rsp)
movl $0x0, 0x4(%rsp)
movl $0x0, 0x1c(%rsp)
movl $0x1, %eax
movq %rax, 0x48(%rsp)
movl $0x1, 0x8(%rsp)
jmp 0x2eb5
movl $0x0, 0x10(%rsp)
xorl %r12d, %r12d
movl $0x0, 0x30(%rsp)
movl $0x0, 0x50(%rsp)
movl $0x0, 0x68(%rsp)
jmp 0x2617
cmpl $0xcc, %esi
jne 0x593a
movl $0x1, %r11d
movl $0x23, %r10d
movl $0x0, 0x10(%rsp)
movl $0x3, %r8d
movl $0x0, %r13d
movl $0x0, 0x40(%rsp)
movl $0x0, %eax
movq %rax, 0x20(%rsp)
movl $0x0, 0x28(%rsp)
movl $0x0, 0x60(%rsp)
movl $0x0, %r9d
movl $0x0, (%rsp)
movl $0x0, 0x4(%rsp)
movl $0x0, 0x30(%rsp)
movl $0x1, %r14d
movl $0x0, 0x8(%rsp)
movl $0x0, %r12d
movl $0x3, %esi
cmpl $0xcc, %edi
movl $0x0, %edi
jne 0x3829
jmp 0x3929
movl $0x0, 0x30(%rsp)
cmpb $-0x32, %r12b
je 0x59d3
cmpl $0xcf, %eax
jne 0x5a2c
movl $0x25, %r10d
jmp 0x59d9
movl $0x4, %r11d
cmpl $0x0, 0x58(%rsp)
je 0x5986
movzwl 0xd79f(%rip), %ecx      # 0x13112
shll $0x10, %ecx
movzwl 0xd797(%rip), %eax      # 0x13114
orl %ecx, %eax
movl $0x1, %ecx
jmp 0x598e
xorl %ecx, %ecx
movl 0xd786(%rip), %eax      # 0x13114
movl %eax, 0xd77c(%rip)      # 0x13110
leaq 0x5c(%rsp), %r14
movq %r14, %rdi
movl %ebx, %esi
movl %r11d, %edx
movq %r11, %rbx
callq 0x6162
cmpl $0x0, (%r14)
je 0x230c
movzwl 0xd75c(%rip), %ecx      # 0x13116
shll $0x10, %ecx
movzwl %ax, %edx
orl %ecx, %edx
cmpl $0x2, %ebx
cmovnel %eax, %edx
movl %edx, 0xd746(%rip)      # 0x13114
jmp 0x529c
movl $0x24, %r10d
xorl %r8d, %r8d
movl $0x0, 0x8(%rsp)
movl $0x0, 0x4(%rsp)
movl $0x0, (%rsp)
xorl %r9d, %r9d
xorl %r12d, %r12d
movl $0x0, 0x28(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x40(%rsp)
xorl %r13d, %r13d
movl $0x0, 0x10(%rsp)
xorl %edi, %edi
xorl %esi, %esi
movl $0x1, %r11d
jmp 0x3929
cmpl $0xd8, %r9d
jne 0x5a8a
andl $0x7, %r12d
cmpl $0x3, %r12d
sete %r13b
movb $0x1, %al
movl %eax, 0x30(%rsp)
movl $0x1, %eax
movq %rax, 0x70(%rsp)
movl $0x0, 0x28(%rsp)
movl $0x2d, 0xc(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x10(%rsp)
xorl %r12d, %r12d
movl $0x0, 0x50(%rsp)
movl $0x0, 0x68(%rsp)
jmp 0x2e85
cmpl $0xe0, %esi
setne %r8b
cmpl $0xe2, %edi
setne %r9b
testb %r9b, %r8b
jne 0x5aee
xorl %edx, %edx
cmpl $0x0, 0x18(%rsp)
sete %dl
leal 0x2(,%rdx,2), %r11d
cmpb $-0x1e, %r12b
je 0x5c74
movl $0x1, 0x60(%rsp)
cmpl $0xe1, %eax
je 0x5c9f
cmpl $0xe0, %eax
jne 0x5cae
xorl %eax, %eax
testb $0x40, 0xd63e(%rip)     # 0x13124
sete %al
jmp 0x5ca8
orl $0x8, %edx
cmpl $0xec, %edx
jne 0x5b8d
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
testb $0x1, %r12b
leal 0x2(%rax,%rax), %eax
movl $0x1, %r11d
cmovnel %eax, %r11d
xorl %esi, %esi
cmpl $0xe8, %edi
setb %sil
testb $0x2, %r12b
jne 0x5c16
xorl %r13d, %r13d
cmpl $0xe8, %edi
setae %r13b
leal (%r13,%r13), %r9d
movl $0x2, %edi
movl $0x27, 0xc(%rsp)
movl $0x0, 0x10(%rsp)
xorl %eax, %eax
movl $0x0, 0x40(%rsp)
movl %esi, %r8d
movq $0x0, 0x20(%rsp)
movl $0x0, 0x28(%rsp)
movl %r9d, 0x60(%rsp)
movl $0x0, (%rsp)
movl $0x0, 0x4(%rsp)
jmp 0x2b06
cmpl $0xf3, %eax
jg 0x5d05
cmpl $0xe8, %eax
je 0x5d1e
cmpl $0xe9, %eax
jne 0x5d46
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(,%rax,2), %r11d
xorl %r13d, %r13d
movl $0x1, 0x10(%rsp)
movl $0x0, 0x40(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x28(%rsp)
movl $0x0, 0x60(%rsp)
xorl %r9d, %r9d
movl $0x0, (%rsp)
movl $0x0, 0x4(%rsp)
xorl %edi, %edi
movl $0x0, 0x30(%rsp)
movl %r11d, %r14d
movl $0x18, %r10d
jmp 0x3829
xorl %edx, %edx
cmpl $0xe8, %edi
setae %dl
addl %edx, %edx
movl $0x2, %r9d
movl $0x28, 0xc(%rsp)
movl $0x0, 0x10(%rsp)
xorl %eax, %eax
xorl %r13d, %r13d
movl $0x0, 0x40(%rsp)
movl %esi, %r8d
movq $0x0, 0x20(%rsp)
movl $0x0, 0x28(%rsp)
movl $0x0, 0x60(%rsp)
movl $0x0, (%rsp)
movl %edx, 0x4(%rsp)
movl %edx, %edi
jmp 0x2b06
movl $0x1, 0x10(%rsp)
movl $0x0, 0x40(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x28(%rsp)
movl $0x1, 0x60(%rsp)
jmp 0x5ccf
movl 0xd47f(%rip), %eax      # 0x13124
andl $0x40, %eax
movl %eax, 0x10(%rsp)
jmp 0x5cb6
movl $0x0, 0x10(%rsp)
movl $0x0, 0x40(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x28(%rsp)
movl $0x0, (%rsp)
movl $0x1, 0x4(%rsp)
movl $0x2, %edi
movl $0x0, 0x30(%rsp)
movl $0x1, %r14d
movl $0x26, %r10d
xorl %r13d, %r13d
movl $0x2, %r9d
jmp 0x3829
cmpl $0xf4, %eax
je 0x5d3b
cmpl $0xf5, %eax
jne 0x5d46
movl $0x2a, %r10d
jmp 0x59d9
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
leal 0x2(,%rax,2), %r11d
movl $0x17, %r10d
jmp 0x27fe
movl $0x29, %r10d
jmp 0x59d9
leal -0xf8(%rdi), %eax
cmpl $0x5, %eax
ja 0x5de5
movl %r12d, %eax
andl $0x1, %eax
movl $0x2c, %r10d
subl %eax, %r10d
andb $-0x2, %r12b
cmpb $-0x4, %r12b
je 0x5e74
movzbl %r12b, %eax
cmpl $0xfa, %eax
je 0x5ec7
cmpl $0xf8, %eax
jne 0x59d9
movl $0x1, %r8d
movl $0x0, 0x8(%rsp)
movl $0x0, 0x4(%rsp)
movl $0x0, (%rsp)
xorl %r9d, %r9d
xorl %r12d, %r12d
movl $0x0, 0x28(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x40(%rsp)
xorl %r13d, %r13d
movl $0x0, 0x10(%rsp)
movl $0x1, %r11d
xorl %edi, %edi
movl $0x1, %esi
jmp 0x3929
cmpb $-0x2, %sil
je 0x5e29
movzbl %sil, %eax
cmpl $0xf6, %eax
jne 0x5f1a
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
testb $0x1, %r12b
leal 0x2(%rax,%rax), %eax
movl $0x1, %edx
cmovnel %eax, %edx
movq %rdx, 0x70(%rsp)
movb $0x1, %al
movl %eax, 0x30(%rsp)
movl $0xb, 0x28(%rsp)
jmp 0x5e56
xorl %eax, %eax
cmpl $0x0, 0x18(%rsp)
sete %al
testb $0x1, %r12b
leal 0x2(%rax,%rax), %eax
movl $0x1, %edx
cmovnel %eax, %edx
movq %rdx, 0x70(%rsp)
movb $0x1, %al
movl %eax, 0x30(%rsp)
movl $0xc, 0x28(%rsp)
movl $0x0, 0xc(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x10(%rsp)
jmp 0x2dac
movl $0x400, %r8d            # imm = 0x400
movl $0x0, 0x8(%rsp)
movl $0x0, 0x4(%rsp)
movl $0x0, (%rsp)
xorl %r9d, %r9d
xorl %r12d, %r12d
movl $0x0, 0x28(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x40(%rsp)
xorl %r13d, %r13d
movl $0x0, 0x10(%rsp)
xorl %edi, %edi
movl $0x400, %esi            # imm = 0x400
jmp 0x5a21
movl $0x200, %r8d            # imm = 0x200
movl $0x0, 0x8(%rsp)
movl $0x0, 0x4(%rsp)
movl $0x0, (%rsp)
xorl %r9d, %r9d
xorl %r12d, %r12d
movl $0x0, 0x28(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0x40(%rsp)
xorl %r13d, %r13d
movl $0x0, 0x10(%rsp)
xorl %edi, %edi
movl $0x200, %esi            # imm = 0x200
jmp 0x5a21
movl %ebx, %esi
callq 0x122e
jmp 0x230c