// File: /workspace/github_c_makefile_star2_O3/mmcco[P]sljit/sljit_src/sljitNativeX86_common.c
// Function: sljit_emit_op2
int sljit_emit_op2(struct sljit_compiler *compiler, int op,
	int dst, long dstw,
	int src1, long src1w,
	int src2, long src2w)
{
	CHECK_ERROR();
	CHECK(check_sljit_emit_op2(compiler, op, dst, dstw, src1, src1w, src2, src2w));
	ADJUST_LOCAL_OFFSET(dst, dstw);
	ADJUST_LOCAL_OFFSET(src1, src1w);
	ADJUST_LOCAL_OFFSET(src2, src2w);

	CHECK_EXTRA_REGS(dst, dstw, (void)0);
	CHECK_EXTRA_REGS(src1, src1w, (void)0);
	CHECK_EXTRA_REGS(src2, src2w, (void)0);
#if (defined SLJIT_CONFIG_X86_64 && SLJIT_CONFIG_X86_64)
	compiler->mode32 = op & SLJIT_INT_OP;
#endif

	if (GET_OPCODE(op) >= SLJIT_MUL) {
		if (GET_FLAGS(op))
			compiler->flags_saved = 0;
		else if (op & SLJIT_KEEP_FLAGS && !compiler->flags_saved)
			FAIL_IF(emit_save_flags(compiler));
	}

	switch (GET_OPCODE(op)) {
	case SLJIT_ADD:
		if (!GET_FLAGS(op)) {
			if (emit_lea_binary(compiler, op & SLJIT_KEEP_FLAGS, dst, dstw, src1, src1w, src2, src2w) != SLJIT_ERR_UNSUPPORTED)
				return compiler->error;
		}
		else
			compiler->flags_saved = 0;
		if (op & SLJIT_KEEP_FLAGS && !compiler->flags_saved)
			FAIL_IF(emit_save_flags(compiler));
		return emit_cum_binary(compiler, ADD_r_rm, ADD_rm_r, ADD, ADD_EAX_i32,
			dst, dstw, src1, src1w, src2, src2w);
	case SLJIT_ADDC:
		if (compiler->flags_saved) /* C flag must be restored. */
			FAIL_IF(emit_restore_flags(compiler, 1));
		else if (op & SLJIT_KEEP_FLAGS)
			FAIL_IF(emit_save_flags(compiler));
		if (GET_FLAGS(op))
			compiler->flags_saved = 0;
		return emit_cum_binary(compiler, ADC_r_rm, ADC_rm_r, ADC, ADC_EAX_i32,
			dst, dstw, src1, src1w, src2, src2w);
	case SLJIT_SUB:
		if (!GET_FLAGS(op)) {
			if ((src2 & SLJIT_IMM) && emit_lea_binary(compiler, op & SLJIT_KEEP_FLAGS, dst, dstw, src1, src1w, SLJIT_IMM, -src2w) != SLJIT_ERR_UNSUPPORTED)
				return compiler->error;
		}
		else
			compiler->flags_saved = 0;
		if (op & SLJIT_KEEP_FLAGS && !compiler->flags_saved)
			FAIL_IF(emit_save_flags(compiler));
		if (dst == SLJIT_UNUSED)
			return emit_cmp_binary(compiler, src1, src1w, src2, src2w);
		return emit_non_cum_binary(compiler, SUB_r_rm, SUB_rm_r, SUB, SUB_EAX_i32,
			dst, dstw, src1, src1w, src2, src2w);
	case SLJIT_SUBC:
		if (compiler->flags_saved) /* C flag must be restored. */
			FAIL_IF(emit_restore_flags(compiler, 1));
		else if (op & SLJIT_KEEP_FLAGS)
			FAIL_IF(emit_save_flags(compiler));
		if (GET_FLAGS(op))
			compiler->flags_saved = 0;
		return emit_non_cum_binary(compiler, SBB_r_rm, SBB_rm_r, SBB, SBB_EAX_i32,
			dst, dstw, src1, src1w, src2, src2w);
	case SLJIT_MUL:
		return emit_mul(compiler, dst, dstw, src1, src1w, src2, src2w);
	case SLJIT_AND:
		if (dst == SLJIT_UNUSED)
			return emit_test_binary(compiler, src1, src1w, src2, src2w);
		return emit_cum_binary(compiler, AND_r_rm, AND_rm_r, AND, AND_EAX_i32,
			dst, dstw, src1, src1w, src2, src2w);
	case SLJIT_OR:
		return emit_cum_binary(compiler, OR_r_rm, OR_rm_r, OR, OR_EAX_i32,
			dst, dstw, src1, src1w, src2, src2w);
	case SLJIT_XOR:
		return emit_cum_binary(compiler, XOR_r_rm, XOR_rm_r, XOR, XOR_EAX_i32,
			dst, dstw, src1, src1w, src2, src2w);
	case SLJIT_SHL:
		return emit_shift_with_flags(compiler, SHL, GET_FLAGS(op),
			dst, dstw, src1, src1w, src2, src2w);
	case SLJIT_LSHR:
		return emit_shift_with_flags(compiler, SHR, GET_FLAGS(op),
			dst, dstw, src1, src1w, src2, src2w);
	case SLJIT_ASHR:
		return emit_shift_with_flags(compiler, SAR, GET_FLAGS(op),
			dst, dstw, src1, src1w, src2, src2w);
	}

	return SLJIT_SUCCESS;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl (%rdi), %r15d
testl %r15d, %r15d
je 0x18073
movl %r15d, %eax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl %r8d, %r11d
movq %rcx, %r12
movl %edx, %r10d
movl %esi, %ebp
movq %rdi, %r14
movq 0x68(%rsp), %r15
movl 0x60(%rsp), %r13d
cmpl $0x0, 0x84(%rdi)
je 0x180ac
movl $0x0, 0x84(%r14)
movl %ebp, %ebx
andl $0xffff80ff, %ebx       # imm = 0xFFFF80FF
jmp 0x18a50
movl %ebp, %ebx
andl $0xffff80ff, %ebx       # imm = 0xFFFF80FF
leal -0x60(%rbx), %eax
cmpl $0xb, %eax
jae 0x192af
testl $0x3e00, %ebp           # imm = 0x3E00
sete %cl
btl $0xe, %ebp
setae %dl
orb %cl, %dl
je 0x18366
leaq 0xb089(%rip), %rcx      # 0x23168
movslq (%rcx,%rax,4), %rdx
addq %rcx, %rdx
jmpq *%rdx
testl $0x3c00, %ebp           # imm = 0x3C00
jne 0x18366
movl 0x48(%r14), %ecx
cmpl $-0x1, %ecx
je 0x18656
movl 0x4c(%r14), %edx
cmpl $-0x1, %edx
je 0x18656
testl %r11d, %r11d
setg %sil
cmpl %r11d, %ecx
setge %dil
testb %dil, %sil
movq %r15, (%rsp)
jne 0x18144
movl $0xc, %esi
subl %edx, %esi
cmpl %r11d, %esi
setge %dil
cmpl $0xd, %r11d
setge %r8b
orb %dil, %r8b
jne 0x182f0
testq %r9, %r9
jne 0x18656
testl %r13d, %r13d
setg %sil
cmpl %r13d, %ecx
setge %dil
testb %dil, %sil
jne 0x1817f
movl $0xc, %esi
subl %edx, %esi
cmpl %r13d, %esi
setge %dil
cmpl $0xd, %r13d
setge %r8b
orb %dil, %r8b
jne 0x18325
testq %r15, %r15
jne 0x1867d
testl %r10d, %r10d
movq %r13, 0x20(%rsp)
je 0x181c0
setg %sil
cmpl %r10d, %ecx
setge %dil
testb %dil, %sil
jne 0x181c0
movl $0xc, %esi
subl %edx, %esi
cmpl %r10d, %esi
setge %dl
cmpl $0xd, %r10d
setge %dil
orb %dl, %dil
jne 0x18377
testq %r12, %r12
jne 0x19017
movq 0x78(%r14), %rdi
testq %rdi, %rdi
je 0x182bf
movq %r9, 0x10(%rsp)
movq %r11, 0x18(%rsp)
btl $0x8, %ebp
leaq 0x824d(%rip), %rsi      # 0x20438
leaq 0xb2da(%rip), %rdx      # 0x234cc
cmovaeq %rsi, %rdx
btl $0x9, %ebp
leaq 0xb340(%rip), %r8       # 0x23541
cmovaeq %rsi, %r8
btl $0xa, %ebp
leaq 0xb334(%rip), %r9       # 0x23544
cmovaeq %rsi, %r9
btl $0xb, %ebp
movq %r10, 0x8(%rsp)
leaq 0xb323(%rip), %r10      # 0x23547
cmovaeq %rsi, %r10
btl $0xc, %ebp
leaq 0xb317(%rip), %r11      # 0x2354a
cmovaeq %rsi, %r11
btl $0xd, %ebp
leaq 0xb30b(%rip), %r15      # 0x2354d
cmovaeq %rsi, %r15
btl $0xe, %ebp
movl %eax, %eax
leaq 0xf9fd(%rip), %rcx      # 0x27c50
movq (%rcx,%rax,8), %rcx
leaq 0xb2f2(%rip), %r13      # 0x23550
cmovaeq %rsi, %r13
leaq 0xb2c4(%rip), %rsi      # 0x2352d
xorl %eax, %eax
pushq %r13
pushq %r15
pushq %r11
pushq %r10
callq 0x20c0
movq 0x28(%rsp), %rax
addq $0x20, %rsp
testb $0x40, %al
jne 0x182cd
testb %al, %al
js 0x183a2
testl %eax, %eax
movq 0x10(%rsp), %r13
movq (%rsp), %r15
je 0x18563
movq 0x78(%r14), %rdi
cmpl %eax, 0x48(%r14)
jge 0x1859e
movl $0xc, %edx
subl %eax, %edx
leaq 0xb2e8(%rip), %rsi      # 0x235a2
jmp 0x185a8
movq 0x20(%rsp), %r13
movq (%rsp), %r15
jmp 0x18a50
movq 0x78(%r14), %rdi
leaq 0xb169(%rip), %rsi      # 0x23441
movq %r12, %rdx
xorl %eax, %eax
callq 0x20c0
movq 0x10(%rsp), %r13
movq (%rsp), %r15
jmp 0x186d1
cmpl $0x40, %r11d
je 0x1814d
cmpl $0x8d, %r11d
jne 0x18406
testq %r9, %r9
js 0x18656
movslq 0x80(%r14), %rsi
cmpq %r9, %rsi
jg 0x1814d
jmp 0x18656
cmpl $0x40, %r13d
je 0x18188
cmpl $0x8d, %r13d
jne 0x1847f
testq %r15, %r15
js 0x1867d
movslq 0x80(%r14), %rsi
cmpq %r15, %rsi
jg 0x18188
jmp 0x1867d
testl $0x1e00, %ebp           # imm = 0x1E00
je 0x180f4
leaq 0xafd2(%rip), %rdi      # 0x2333f
movl $0x42d, %esi            # imm = 0x42D
jmp 0x192bb
cmpl $0x8d, %r10d
jne 0x184f5
testq %r12, %r12
js 0x19017
movslq 0x80(%r14), %rcx
cmpq %r12, %rcx
jg 0x181c9
jmp 0x19017
movl %eax, %r15d
movq 0x78(%r14), %rsi
andl $0x3f, %r15d
movq 0x10(%rsp), %r13
je 0x18582
movl $0x5b, %edi
callq 0x20a0
movq 0x78(%r14), %rdi
cmpl 0x48(%r14), %r15d
jle 0x185b4
movl $0xc, %edx
subl %r15d, %edx
leaq 0xb1c3(%rip), %rsi      # 0x235a2
jmp 0x185c1
testl $0x2e00, %ebp           # imm = 0x2E00
je 0x180f4
jmp 0x18366
testl $0xc00, %ebp            # imm = 0xC00
je 0x180f4
jmp 0x18366
testb %r11b, %r11b
jns 0x18656
movl %r11d, %edi
andl $0x3f, %edi
je 0x18640
cmpl %ecx, %edi
jle 0x18430
cmpl $0xc, %edi
ja 0x18656
cmpl %esi, %edi
jle 0x18656
testl $0x3f00, %r11d          # imm = 0x3F00
je 0x18649
movq %r13, %r15
movl %r11d, %edi
shrl $0x8, %edi
andl $0x3f, %edi
setne %r8b
cmpl %ecx, %edi
setle %r13b
testb %r13b, %r8b
jne 0x18469
cmpl $0xc, %edi
ja 0x18656
cmpl %esi, %edi
jle 0x18656
cmpq $0x4, %r9
movq %r15, %r13
movq (%rsp), %r15
jb 0x18649
jmp 0x18656
testb %r13b, %r13b
jns 0x1867d
movl %r13d, %edi
andl $0x3f, %edi
je 0x18667
cmpl %ecx, %edi
jle 0x184a9
cmpl $0xc, %edi
ja 0x1867d
cmpl %esi, %edi
jle 0x1867d
testl $0x3f00, %r13d          # imm = 0x3F00
je 0x18670
movq %r13, %r15
movl %r13d, %edi
shrl $0x8, %edi
andl $0x3f, %edi
setne %r8b
cmpl %ecx, %edi
setle %r13b
testb %r13b, %r8b
jne 0x184e2
cmpl $0xc, %edi
ja 0x1867d
cmpl %esi, %edi
jle 0x1867d
cmpq $0x4, (%rsp)
movq %r15, %r13
jb 0x18670
jmp 0x1867d
testb %r10b, %r10b
jns 0x19017
movl %r10d, %edx
andl $0x3f, %edx
je 0x19001
cmpl %ecx, %edx
jle 0x1851f
cmpl $0xc, %edx
ja 0x19017
cmpl %esi, %edx
jle 0x19017
testl $0x3f00, %r10d          # imm = 0x3F00
je 0x1900a
movl %r10d, %edx
shrl $0x8, %edx
andl $0x3f, %edx
setne %dil
cmpl %ecx, %edx
setle %cl
testb %cl, %dil
jne 0x18554
cmpl $0xc, %edx
ja 0x19017
cmpl %esi, %edx
jle 0x19017
cmpq $0x4, %r12
jb 0x1900a
jmp 0x19017
movq 0x78(%r14), %rcx
leaq 0xaef0(%rip), %rdi      # 0x2345e
movl $0x6, %esi
movl $0x1, %edx
callq 0x2130
jmp 0x186d1
leaq 0xaece(%rip), %rax      # 0x23457
movq %rsi, %rdi
movq %rax, %rsi
movq %r12, %rdx
xorl %eax, %eax
callq 0x20c0
jmp 0x182e7
leal -0x1(%rax), %edx
leaq 0xaff5(%rip), %rsi      # 0x2359d
xorl %eax, %eax
callq 0x20c0
jmp 0x186d1
decl %r15d
leaq 0xafdf(%rip), %rsi      # 0x2359d
movl %r15d, %edx
xorl %eax, %eax
callq 0x20c0
movq 0x8(%rsp), %r15
testl $0x3f00, %r15d          # imm = 0x3F00
je 0x18619
movq 0x78(%r14), %rcx
leaq 0xae65(%rip), %rdi      # 0x23446
movl $0x3, %esi
movl $0x1, %edx
callq 0x2130
movl %r15d, %edx
shrl $0x8, %edx
andl $0x3f, %edx
movq 0x78(%r14), %rdi
cmpl 0x48(%r14), %edx
jle 0x1868e
movl $0xc, %eax
subl %edx, %eax
leaq 0xaf8d(%rip), %rsi      # 0x235a2
movl %eax, %edx
jmp 0x18697
testq %r12, %r12
movq (%rsp), %r15
je 0x186c3
movq 0x78(%r14), %rdi
leaq 0xae1f(%rip), %rsi      # 0x23450
movq %r12, %rdx
xorl %eax, %eax
callq 0x20c0
jmp 0x186c3
testl $0x3f00, %r11d          # imm = 0x3F00
jne 0x18656
cmpl $0x4000, %r11d          # imm = 0x4000
jb 0x1814d
leaq 0xace2(%rip), %rdi      # 0x2333f
movl $0x42e, %esi            # imm = 0x42E
jmp 0x192bb
testl $0x3f00, %r13d          # imm = 0x3F00
jne 0x1867d
cmpl $0x4000, %r13d          # imm = 0x4000
jb 0x18188
leaq 0xacbb(%rip), %rdi      # 0x2333f
movl $0x42f, %esi            # imm = 0x42F
jmp 0x192bb
decl %edx
leaq 0xaf06(%rip), %rsi      # 0x2359d
xorl %eax, %eax
callq 0x20c0
movq (%rsp), %r15
testq %r12, %r12
je 0x186c3
movq 0x78(%r14), %rdi
movl $0x1, %edx
movl %r12d, %ecx
shll %cl, %edx
leaq 0xad8e(%rip), %rsi      # 0x2344a
xorl %eax, %eax
callq 0x20c0
movq 0x78(%r14), %rsi
movl $0x5d, %edi
callq 0x20a0
movq 0x78(%r14), %rcx
leaq 0xae77(%rip), %rdi      # 0x23553
movl $0x2, %esi
movl $0x1, %edx
callq 0x2130
movq 0x18(%rsp), %rax
testb $0x40, %al
jne 0x1871d
testb %al, %al
js 0x18737
testl %eax, %eax
je 0x18769
movq 0x78(%r14), %rdi
cmpl %eax, 0x48(%r14)
jge 0x187a8
movl $0xc, %edx
subl %eax, %edx
leaq 0xae8a(%rip), %rsi      # 0x235a2
jmp 0x187b2
movq 0x78(%r14), %rdi
leaq 0xad19(%rip), %rsi      # 0x23441
movq %r13, %rdx
xorl %eax, %eax
callq 0x20c0
jmp 0x18882
movl %eax, %r15d
movq 0x78(%r14), %rsi
andl $0x3f, %r15d
je 0x18788
movl $0x5b, %edi
callq 0x20a0
movq 0x78(%r14), %rdi
cmpl 0x48(%r14), %r15d
jle 0x187be
movl $0xc, %edx
subl %r15d, %edx
leaq 0xae3b(%rip), %rsi      # 0x235a2
jmp 0x187cb
movq 0x78(%r14), %rcx
leaq 0xacea(%rip), %rdi      # 0x2345e
movl $0x6, %esi
movl $0x1, %edx
callq 0x2130
jmp 0x18882
leaq 0xacc8(%rip), %rax      # 0x23457
movq %rsi, %rdi
movq %rax, %rsi
movq %r13, %rdx
xorl %eax, %eax
callq 0x20c0
movq (%rsp), %r15
jmp 0x18882
leal -0x1(%rax), %edx
leaq 0xadeb(%rip), %rsi      # 0x2359d
xorl %eax, %eax
callq 0x20c0
jmp 0x18882
decl %r15d
leaq 0xadd5(%rip), %rsi      # 0x2359d
movl %r15d, %edx
xorl %eax, %eax
callq 0x20c0
movq 0x18(%rsp), %r15
testl $0x3f00, %r15d          # imm = 0x3F00
je 0x1881f
movq 0x78(%r14), %rcx
leaq 0xac5b(%rip), %rdi      # 0x23446
movl $0x3, %esi
movl $0x1, %edx
callq 0x2130
movl %r15d, %edx
shrl $0x8, %edx
andl $0x3f, %edx
movq 0x78(%r14), %rdi
cmpl 0x48(%r14), %edx
jle 0x1883f
movl $0xc, %eax
subl %edx, %eax
leaq 0xad87(%rip), %rsi      # 0x235a2
movl %eax, %edx
jmp 0x18848
testq %r13, %r13
movq (%rsp), %r15
je 0x18874
movq 0x78(%r14), %rdi
leaq 0xac1d(%rip), %rsi      # 0x23450
movq %r13, %rdx
xorl %eax, %eax
callq 0x20c0
jmp 0x18874
decl %edx
leaq 0xad55(%rip), %rsi      # 0x2359d
xorl %eax, %eax
callq 0x20c0
movq (%rsp), %r15
testq %r13, %r13
je 0x18874
movq 0x78(%r14), %rdi
movl $0x1, %edx
movl %r13d, %ecx
shll %cl, %edx
leaq 0xabdd(%rip), %rsi      # 0x2344a
xorl %eax, %eax
callq 0x20c0
movq 0x78(%r14), %rsi
movl $0x5d, %edi
callq 0x20a0
movq 0x78(%r14), %rcx
leaq 0xacc6(%rip), %rdi      # 0x23553
movl $0x2, %esi
movl $0x1, %edx
callq 0x2130
movq 0x20(%rsp), %rax
testb $0x40, %al
jne 0x188d1
testb %al, %al
js 0x188ee
testl %eax, %eax
je 0x18923
movq 0x78(%r14), %rdi
cmpl %eax, 0x48(%r14)
jge 0x18958
movl $0xc, %edx
movq %rax, %r13
subl %eax, %edx
leaq 0xacd6(%rip), %rsi      # 0x235a2
jmp 0x18965
movq %rax, %r13
movq 0x78(%r14), %rdi
leaq 0xab62(%rip), %rsi      # 0x23441
movq %r15, %rdx
xorl %eax, %eax
callq 0x20c0
jmp 0x18a33
movq %rax, %r13
movl %eax, %r15d
movq 0x78(%r14), %rsi
andl $0x3f, %r15d
je 0x18945
movl $0x5b, %edi
callq 0x20a0
movq 0x78(%r14), %rdi
cmpl 0x48(%r14), %r15d
jle 0x18971
movl $0xc, %edx
subl %r15d, %edx
leaq 0xac81(%rip), %rsi      # 0x235a2
jmp 0x1897e
movq %rax, %r13
movq 0x78(%r14), %rcx
leaq 0xab2d(%rip), %rdi      # 0x2345e
movl $0x6, %esi
movl $0x1, %edx
callq 0x2130
jmp 0x18a33
leaq 0xab0b(%rip), %rax      # 0x23457
movq %rsi, %rdi
movq %rax, %rsi
movq (%rsp), %r15
jmp 0x188df
movq %rax, %r13
leal -0x1(%rax), %edx
leaq 0xac38(%rip), %rsi      # 0x2359d
xorl %eax, %eax
callq 0x20c0
jmp 0x18a33
decl %r15d
leaq 0xac22(%rip), %rsi      # 0x2359d
movl %r15d, %edx
xorl %eax, %eax
callq 0x20c0
movq %r13, %r15
testl $0x3f00, %r15d          # imm = 0x3F00
je 0x189d0
movq 0x78(%r14), %rcx
leaq 0xaaaa(%rip), %rdi      # 0x23446
movl $0x3, %esi
movl $0x1, %edx
callq 0x2130
movl %r15d, %edx
shrl $0x8, %edx
andl $0x3f, %edx
movq 0x78(%r14), %rdi
cmpl 0x48(%r14), %edx
jle 0x189f0
movl $0xc, %eax
subl %edx, %eax
leaq 0xabd6(%rip), %rsi      # 0x235a2
movl %eax, %edx
jmp 0x189f9
movq (%rsp), %r15
testq %r15, %r15
je 0x18a25
movq 0x78(%r14), %rdi
leaq 0xaa6c(%rip), %rsi      # 0x23450
movq %r15, %rdx
xorl %eax, %eax
callq 0x20c0
jmp 0x18a25
decl %edx
leaq 0xaba4(%rip), %rsi      # 0x2359d
xorl %eax, %eax
callq 0x20c0
movq (%rsp), %r15
testq %r15, %r15
je 0x18a25
movq 0x78(%r14), %rdi
movl $0x1, %edx
movl %r15d, %ecx
shll %cl, %edx
leaq 0xaa2c(%rip), %rsi      # 0x2344a
xorl %eax, %eax
callq 0x20c0
movq 0x78(%r14), %rsi
movl $0x5d, %edi
callq 0x20a0
movq 0x78(%r14), %rsi
movl $0xa, %edi
callq 0x20a0
movq 0x8(%rsp), %r10
movq 0x18(%rsp), %r11
movq 0x10(%rsp), %r9
leaq 0x8(%r12), %r8
movl $0x8d, %eax
cmpl %eax, %r10d
cmovneq %r12, %r8
leaq 0x8(%r9), %rdx
cmpl %eax, %r11d
cmovneq %r9, %rdx
leaq 0x8(%r15), %r12
cmpl %eax, %r13d
cmovneq %r15, %r12
movl %ebp, %eax
andl $0x100, %eax            # imm = 0x100
movl %eax, 0x70(%r14)
cmpl $0x64, %ebx
jl 0x18aaa
testl $0x3e00, %ebp           # imm = 0x3E00
je 0x18a99
movl $0x0, 0x74(%r14)
jmp 0x18aaa
btl $0xe, %ebp
jae 0x18aaa
cmpl $0x0, 0x74(%r14)
je 0x18cf1
xorl %r15d, %r15d
addl $-0x60, %ebx
cmpl $0xa, %ebx
ja 0x18061
leaq 0xa6d4(%rip), %rax      # 0x23194
movslq (%rax,%rbx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movq %rdx, (%rsp)
movq %r13, %r15
testl $0x3e00, %ebp           # imm = 0x3E00
movq %r11, 0x18(%rsp)
je 0x18e39
movq %r8, %r13
movq %r10, %rbx
movl $0x0, 0x74(%r14)
andl $0x4000, %ebp           # imm = 0x4000
jmp 0x18e69
cmpl $0x40, %r10d
movl $0xe, %ebp
cmovll %r10d, %ebp
movl %ebp, %eax
xorl %r11d, %eax
movl %r13d, %ecx
andl $0x40, %ecx
orl %eax, %ecx
movq %r8, 0x10(%rsp)
jne 0x18caa
movq %r10, %rbx
movq %r14, %rdi
movl $0x2, %esi
movq %r11, %rbp
movl %r11d, %edx
xorl %ecx, %ecx
movl %r13d, %r8d
movq %r12, %r9
callq 0x15da2
testq %rax, %rax
je 0x18eb6
movw $0xaf0f, (%rax)         # imm = 0xAF0F
movq %rbx, %r8
movq %rbp, %rax
jmp 0x1926e
andl $0x3e00, %ebp           # imm = 0x3E00
subq $0x8, %rsp
movq %r14, %rdi
movl $0x28, %esi
jmp 0x18c8c
testl $0x3e00, %ebp           # imm = 0x3E00
je 0x18d2e
movl $0x0, 0x74(%r14)
jmp 0x18d90
movq %rdx, (%rsp)
movq %r8, 0x10(%rsp)
movq %r11, 0x18(%rsp)
movq %r10, %rbx
cmpl $0x0, 0x74(%r14)
je 0x18dda
movq %r14, %rdi
movl $0x1, %esi
callq 0x199d0
jmp 0x18de8
subq $0x8, %rsp
movq %r14, %rdi
movl $0x33, %esi
movq %rdx, %r14
movl $0x31, %edx
movl $0x30, %ecx
movq %r8, %rbx
movl $0x35, %r8d
jmp 0x18c55
movq %rdx, (%rsp)
movq %r8, 0x10(%rsp)
movq %r11, 0x18(%rsp)
movq %r10, %rbx
cmpl $0x0, 0x74(%r14)
je 0x18ea4
movq %r14, %rdi
movl $0x1, %esi
callq 0x199d0
jmp 0x18eb2
testl %r10d, %r10d
je 0x18f0b
subq $0x8, %rsp
movq %r14, %rdi
movl $0x23, %esi
movq %rdx, %r14
movl $0x21, %edx
movl $0x20, %ecx
movq %r8, %rbx
movl $0x25, %r8d
jmp 0x18c55
subq $0x8, %rsp
movq %r14, %rdi
movl $0xb, %esi
movq %rdx, %r14
movl $0x9, %edx
movl $0x8, %ecx
movq %r8, %rbx
movl $0xd, %r8d
movl %r10d, %r9d
pushq %r12
pushq %r13
pushq %r14
pushq %r11
pushq %rbx
jmp 0x18efd
andl $0x3e00, %ebp           # imm = 0x3E00
subq $0x8, %rsp
movq %r14, %rdi
movl $0x38, %esi
jmp 0x18c8c
andl $0x3e00, %ebp           # imm = 0x3E00
subq $0x8, %rsp
movq %r14, %rdi
movl $0x20, %esi
movq %rdx, %rbx
movl %ebp, %edx
movl %r10d, %ecx
movl %r11d, %r9d
pushq %r12
pushq %r13
pushq %rbx
callq 0x1a2be
addq $0x48, %rsp
jmp 0x18068
movl %ebp, %eax
xorl %r13d, %eax
movl %r11d, %ecx
andl $0x40, %ecx
orl %eax, %ecx
jne 0x18f49
movq %r10, %rbx
movq %r14, %rdi
movl $0x2, %esi
movq %rdx, %r9
movl %r13d, %edx
xorl %ecx, %ecx
movl %r11d, %r8d
callq 0x15da2
testq %rax, %rax
je 0x18eb6
movw $0xaf0f, (%rax)         # imm = 0xAF0F
movl %r13d, %eax
movq %rbx, %r8
jmp 0x1926e
movq %r14, %rdi
movq %r10, 0x8(%rsp)
movq %r11, %r15
movq %r13, 0x20(%rsp)
movq %r8, %r13
movq %rdx, (%rsp)
callq 0x18014
movq (%rsp), %rdx
movq %r13, %r8
movq 0x20(%rsp), %r13
movq %r15, %r11
movq 0x8(%rsp), %r10
testl %eax, %eax
jne 0x18eb6
jmp 0x18aaa
testb $0x40, %r13b
je 0x18d90
movl %ebp, %esi
andl $0x4000, %esi           # imm = 0x4000
movq %r12, %rax
negq %rax
movq %r14, %rdi
movq %rdx, %rbx
movl %r10d, %edx
movq %r8, %rcx
movq %r8, 0x10(%rsp)
movl %r11d, %r8d
movq %r13, 0x20(%rsp)
movq %rbx, %r9
pushq %rax
pushq $0x40
movq %r10, 0x18(%rsp)
movq %r11, %r15
callq 0x192c7
movq %rbx, %rdx
movq 0x20(%rsp), %r8
movq 0x30(%rsp), %r13
movq %r15, %r11
movq 0x18(%rsp), %r10
addq $0x10, %rsp
cmpl $0x4, %eax
jne 0x18eb6
btl $0xe, %ebp
jae 0x18da1
cmpl $0x0, 0x74(%r14)
je 0x18fcc
testl %r10d, %r10d
je 0x18f2a
subq $0x8, %rsp
movq %r14, %rdi
movl $0x2b, %esi
movq %rdx, %r14
movl $0x29, %edx
movl $0x28, %ecx
movq %r8, %rbx
movl $0x2d, %r8d
movl %r10d, %r9d
pushq %r12
pushq %r13
pushq %r14
pushq %r11
pushq %rbx
jmp 0x18e2f
btl $0xe, %ebp
jae 0x18df0
movq %r14, %rdi
callq 0x18014
testl %eax, %eax
jne 0x18eb6
testl $0x3e00, %ebp           # imm = 0x3E00
je 0x18e00
movl $0x0, 0x74(%r14)
subq $0x8, %rsp
movq %r14, %rdi
movl $0x1b, %esi
movl $0x19, %edx
movl $0x18, %ecx
movl $0x1d, %r8d
movl %ebx, %r9d
pushq %r12
pushq %r13
pushq 0x18(%rsp)
pushq 0x38(%rsp)
pushq 0x38(%rsp)
callq 0x19c36
jmp 0x18f02
andl $0x4000, %ebp           # imm = 0x4000
movq %r14, %rdi
movl %ebp, %esi
movq %r10, %rbx
movl %r10d, %edx
movq %r8, %r13
movq %r8, %rcx
movl %r11d, %r8d
movq (%rsp), %r9
pushq %r12
pushq %r15
callq 0x192c7
addq $0x10, %rsp
cmpl $0x4, %eax
jne 0x18eb6
testl %ebp, %ebp
je 0x18e78
cmpl $0x0, 0x74(%r14)
je 0x18fb7
subq $0x8, %rsp
movq %r14, %rdi
movl $0x3, %esi
movl $0x1, %edx
xorl %ecx, %ecx
movl $0x5, %r8d
movl %ebx, %r9d
pushq %r12
pushq %r15
pushq 0x18(%rsp)
pushq 0x38(%rsp)
pushq %r13
jmp 0x18efd
btl $0xe, %ebp
jae 0x18ebe
movq %r14, %rdi
callq 0x18014
testl %eax, %eax
je 0x18ebe
movl (%r14), %r15d
jmp 0x18061
testl $0x3e00, %ebp           # imm = 0x3E00
je 0x18ece
movl $0x0, 0x74(%r14)
subq $0x8, %rsp
movq %r14, %rdi
movl $0x13, %esi
movl $0x11, %edx
movl $0x10, %ecx
movl $0x15, %r8d
movl %ebx, %r9d
pushq %r12
pushq %r13
pushq 0x18(%rsp)
pushq 0x38(%rsp)
pushq 0x38(%rsp)
callq 0x19468
addq $0x58, %rsp
jmp 0x18068
movq %r14, %rdi
movl %r11d, %esi
movl %r13d, %ecx
movq %r12, %r8
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x1a091
movq %r14, %rdi
movl %r11d, %esi
movl %r13d, %ecx
movq %r12, %r8
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x19a0c
testb $0x40, %r11b
jne 0x19028
testb $0x40, %r13b
jne 0x190b6
testb %r13b, %r13b
movq %r10, 0x8(%rsp)
movq %rdx, %r9
jns 0x18f86
movl %r13d, %eax
andl $0x3f, %eax
cmpl %ebp, %eax
je 0x18f81
movl %r13d, %eax
shrl $0x8, %eax
andl $0x3f, %eax
cmpl %ebp, %eax
jne 0x18f86
movl $0xe, %ebp
movq %r14, %rdi
movl %ebp, %esi
xorl %edx, %edx
movl %r11d, %ecx
movq %r9, %r8
callq 0x16ad7
testl %eax, %eax
jne 0x18eb6
movq %r14, %rdi
movl $0x2, %esi
movl %ebp, %edx
xorl %ecx, %ecx
movl %r13d, %r8d
movq %r12, %r9
jmp 0x19254
movq %r14, %rdi
callq 0x18014
testl %eax, %eax
jne 0x18eb6
jmp 0x18e78
movq %r14, %rdi
movq %r10, %rbx
movq %r11, %r15
movq %r13, %rbp
movq %r8, %r13
movq %rdx, (%rsp)
callq 0x18014
movq (%rsp), %rdx
movq %r13, %r8
movq %rbp, %r13
movq %r15, %r11
movq %rbx, %r10
testl %eax, %eax
jne 0x18eb6
jmp 0x18da1
testl $0x3f00, %r10d          # imm = 0x3F00
jne 0x19017
cmpl $0x4000, %r10d          # imm = 0x4000
jb 0x181c9
leaq 0xa321(%rip), %rdi      # 0x2333f
movl $0x430, %esi            # imm = 0x430
jmp 0x192bb
testb $0x40, %r13b
movq %r10, 0x8(%rsp)
je 0x1905e
movq %r14, %rdi
movl %ebp, %esi
movq %rdx, %rbx
xorl %edx, %edx
movl $0x40, %ecx
movq %r12, %r8
callq 0x16ad7
movq %rbx, %rdx
movl %ebp, %r13d
movl $0x0, %r12d
testl %eax, %eax
jne 0x18eb6
movsbq %dl, %rax
cmpq %rdx, %rax
jne 0x19111
movq %rdx, %rbx
movq %r14, %rdi
movl $0x1, %esi
movl %ebp, %edx
xorl %ecx, %ecx
movl %r13d, %r8d
movq %r12, %r9
callq 0x15da2
testq %rax, %rax
je 0x18eb6
movb $0x6b, (%rax)
movl $0x2, %esi
movq %r14, %rdi
callq 0x15218
testq %rax, %rax
je 0x18eb6
movb $0x1, (%rax)
incq 0x60(%r14)
movb %bl, 0x1(%rax)
jmp 0x19267
movsbq %r12b, %rax
cmpq %r12, %rax
jne 0x1916c
movq %r10, %rbx
movq %r14, %rdi
movl $0x1, %esi
movq %rdx, %r9
movl %ebp, %edx
xorl %ecx, %ecx
movl %r11d, %r8d
callq 0x15da2
testq %rax, %rax
je 0x18eb6
movb $0x6b, (%rax)
movl $0x2, %esi
movq %r14, %rdi
callq 0x15218
testq %rax, %rax
je 0x18eb6
movb $0x1, (%rax)
incq 0x60(%r14)
movb %r12b, 0x1(%rax)
movl %ebp, %eax
jmp 0x18ce9
movslq %edx, %rax
cmpq %rdx, %rax
movq %rdx, %r8
jne 0x191ca
movq %r8, %rbx
movq %r14, %rdi
movl $0x1, %esi
movl %ebp, %edx
xorl %ecx, %ecx
movl %r13d, %r8d
movq %r12, %r9
callq 0x15da2
testq %rax, %rax
je 0x18eb6
movb $0x69, (%rax)
movl $0x5, %esi
movq %r14, %rdi
callq 0x15218
testq %rax, %rax
je 0x18eb6
movb $0x4, (%rax)
addq $0x4, 0x60(%r14)
movl %ebx, 0x1(%rax)
jmp 0x19267
movq %rdx, %r13
movq %r10, 0x8(%rsp)
movslq %r12d, %rax
cmpq %r12, %rax
jne 0x19200
movq %r14, %rdi
movl $0x1, %esi
movl %ebp, %edx
xorl %ecx, %ecx
movl %r11d, %r8d
movq %r13, %r9
callq 0x15da2
testq %rax, %rax
je 0x18eb6
movb $0x69, (%rax)
movl $0x5, %esi
movq %r14, %rdi
callq 0x15218
testq %rax, %rax
je 0x18eb6
movb $0x4, (%rax)
addq $0x4, 0x60(%r14)
movl %r12d, 0x1(%rax)
jmp 0x19267
movq %r13, 0x20(%rsp)
movq %r14, %rdi
movl $0xf, %esi
xorl %edx, %edx
movl $0x40, %ecx
callq 0x16ad7
testl %eax, %eax
jne 0x18eb6
movq 0x20(%rsp), %rcx
cmpl %ecx, %ebp
je 0x1923f
movq %r14, %rdi
movl %ebp, %esi
xorl %edx, %edx
movq %r12, %r8
jmp 0x19232
movq %r11, %rbx
movq %r14, %rdi
movl $0xf, %esi
xorl %edx, %edx
movl $0x40, %ecx
movq %r12, %r8
callq 0x16ad7
testl %eax, %eax
jne 0x18eb6
cmpl %ebx, %ebp
je 0x1923f
movq %r14, %rdi
movl %ebp, %esi
xorl %edx, %edx
movl %ebx, %ecx
movq %r13, %r8
callq 0x16ad7
testl %eax, %eax
jne 0x18eb6
movq %r14, %rdi
movl $0x2, %esi
movl %ebp, %edx
xorl %ecx, %ecx
movl $0xf, %r8d
xorl %r9d, %r9d
callq 0x15da2
testq %rax, %rax
je 0x18eb6
movw $0xaf0f, (%rax)         # imm = 0xAF0F
movl %ebp, %eax
movq 0x8(%rsp), %r8
cmpl $0xe, %eax
setne %al
testl %r8d, %r8d
sete %cl
orb %al, %cl
jne 0x18061
xorl %r15d, %r15d
movq %r14, %rdi
movl $0x1, %esi
movl $0xe, %edx
xorl %ecx, %ecx
movq 0x10(%rsp), %r9
callq 0x15da2
testq %rax, %rax
je 0x18eb6
movb $-0x77, (%rax)
jmp 0x18061
leaq 0xa089(%rip), %rdi      # 0x2333f
movl $0x42c, %esi            # imm = 0x42C
xorl %eax, %eax
callq 0x2080
callq 0x2040