// File: /workspace/github_c_makefile_star2_O1/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 0x1804d
movl %r15d, %eax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %r9, %r13
movl %r8d, %r11d
movq %rcx, %r12
movl %edx, %r10d
movl %esi, %ebp
movq %rdi, %r14
movq 0x68(%rsp), %rbx
movl 0x60(%rsp), %r15d
cmpl $0x0, 0x84(%rdi)
movq %r15, 0x8(%rsp)
je 0x18086
movl $0x0, 0x84(%r14)
jmp 0x18994
movl %ebp, %ecx
andl $0xffff80ff, %ecx       # imm = 0xFFFF80FF
leal -0x60(%rcx), %eax
cmpl $0xb, %eax
jae 0x1917e
testl $0x3e00, %ebp           # imm = 0x3E00
sete %dl
btl $0xe, %ebp
setae %sil
orb %dl, %sil
je 0x180cd
cmpl $0xa, %eax
ja 0x180de
leaq 0xafdc(%rip), %rcx      # 0x23098
movslq (%rcx,%rax,4), %rdx
addq %rcx, %rdx
jmpq *%rdx
testl $0x1e00, %ebp           # imm = 0x1E00
je 0x180e9
leaq 0xb19b(%rip), %rdi      # 0x2326f
movl $0x42d, %esi            # imm = 0x42D
jmp 0x1918a
cmpl $0x32, %ecx
testl $0x3c00, %ebp           # imm = 0x3C00
jne 0x180cd
movl 0x48(%r14), %ecx
cmpl $-0x1, %ecx
je 0x18407
movl 0x4c(%r14), %edx
cmpl $-0x1, %edx
je 0x18407
testl %r11d, %r11d
setg %sil
cmpl %r11d, %ecx
setge %dil
testb %dil, %sil
jne 0x18135
movl $0xc, %esi
subl %edx, %esi
cmpl %r11d, %esi
setge %dil
cmpl $0xd, %r11d
setge %r8b
orb %dil, %r8b
jne 0x182cf
testq %r13, %r13
jne 0x18407
testl %r15d, %r15d
setg %sil
cmpl %r15d, %ecx
setge %dil
testb %dil, %sil
jne 0x18170
movl $0xc, %esi
subl %edx, %esi
cmpl %r15d, %esi
setge %dil
cmpl $0xd, %r15d
setge %r8b
orb %dil, %r8b
jne 0x18304
testq %rbx, %rbx
jne 0x1847c
testl %r10d, %r10d
je 0x181ac
setg %sil
cmpl %r10d, %ecx
setge %dil
testb %dil, %sil
jne 0x181ac
movl $0xc, %esi
subl %edx, %esi
cmpl %r10d, %esi
setge %dl
cmpl $0xd, %r10d
setge %dil
orb %dl, %dil
jne 0x18339
testq %r12, %r12
jne 0x184f0
movq 0x78(%r14), %rdi
testq %rdi, %rdi
je 0x18994
movq %rbx, 0x18(%rsp)
movq %r11, 0x10(%rsp)
btl $0x8, %ebp
leaq 0x8189(%rip), %rsi      # 0x20360
leaq 0xb21e(%rip), %rdx      # 0x233fc
cmovaeq %rsi, %rdx
btl $0x9, %ebp
leaq 0xb284(%rip), %r8       # 0x23471
cmovaeq %rsi, %r8
btl $0xa, %ebp
leaq 0xb278(%rip), %r9       # 0x23474
cmovaeq %rsi, %r9
btl $0xb, %ebp
movq %r10, 0x20(%rsp)
leaq 0xb267(%rip), %r10      # 0x23477
cmovaeq %rsi, %r10
btl $0xc, %ebp
leaq 0xb25b(%rip), %r11      # 0x2347a
cmovaeq %rsi, %r11
btl $0xd, %ebp
leaq 0xb24f(%rip), %rbx      # 0x2347d
cmovaeq %rsi, %rbx
btl $0xe, %ebp
movl %eax, %eax
leaq 0xfa11(%rip), %rcx      # 0x27c50
movq (%rcx,%rax,8), %rcx
leaq 0xb236(%rip), %r15      # 0x23480
cmovaeq %rsi, %r15
leaq 0xb208(%rip), %rsi      # 0x2345d
xorl %eax, %eax
pushq %r15
pushq %rbx
pushq %r11
pushq %r10
callq 0x20b0
movq 0x40(%rsp), %rax
addq $0x20, %rsp
testb $0x40, %al
jne 0x182ab
testb %al, %al
js 0x18364
testl %eax, %eax
movq 0x8(%rsp), %r15
movq 0x18(%rsp), %rbx
je 0x18523
movq 0x78(%r14), %rdi
cmpl %eax, 0x48(%r14)
jge 0x1855e
movl $0xc, %edx
subl %eax, %edx
leaq 0xb22c(%rip), %rsi      # 0x234d2
jmp 0x18568
movq 0x78(%r14), %rdi
leaq 0xb0bb(%rip), %rsi      # 0x23371
movq %r12, %rdx
xorl %eax, %eax
callq 0x20b0
movq 0x8(%rsp), %r15
movq 0x18(%rsp), %rbx
jmp 0x18636
cmpl $0x40, %r11d
je 0x1813e
cmpl $0x8d, %r11d
jne 0x183a3
testq %r13, %r13
js 0x18407
movslq 0x80(%r14), %rsi
cmpq %r13, %rsi
jg 0x1813e
jmp 0x18407
cmpl $0x40, %r15d
je 0x18179
cmpl $0x8d, %r15d
jne 0x18418
testq %rbx, %rbx
js 0x1847c
movslq 0x80(%r14), %rsi
cmpq %rbx, %rsi
jg 0x18179
jmp 0x1847c
cmpl $0x8d, %r10d
jne 0x1848d
testq %r12, %r12
js 0x184f0
movslq 0x80(%r14), %rcx
cmpq %r12, %rcx
jg 0x181b5
jmp 0x184f0
movl %eax, %ebx
movq 0x78(%r14), %rsi
andl $0x3f, %ebx
movq 0x8(%rsp), %r15
je 0x18542
movl $0x5b, %edi
callq 0x20a0
movq 0x78(%r14), %rdi
cmpl 0x48(%r14), %ebx
jle 0x18574
movl $0xc, %edx
subl %ebx, %edx
leaq 0xb134(%rip), %rsi      # 0x234d2
jmp 0x1857f
testb %r11b, %r11b
jns 0x18407
movl %r11d, %edi
andl $0x3f, %edi
sete %r8b
cmpl %ecx, %edi
setle %r9b
orb %r8b, %r9b
jne 0x183c6
cmpl $0xc, %edi
ja 0x18407
cmpl %esi, %edi
jle 0x18407
testl $0x3f00, %r11d          # imm = 0x3F00
je 0x183fa
testl %edi, %edi
je 0x18407
movl %r11d, %edi
shrl $0x8, %edi
andl $0x3f, %edi
setne %r8b
cmpl %ecx, %edi
setle %r9b
testb %r9b, %r8b
jne 0x183f4
cmpl $0xc, %edi
ja 0x18407
cmpl %esi, %edi
jle 0x18407
cmpq $0x4, %r13
jae 0x18407
cmpl $0x4000, %r11d          # imm = 0x4000
jb 0x1813e
leaq 0xae61(%rip), %rdi      # 0x2326f
movl $0x42e, %esi            # imm = 0x42E
jmp 0x1918a
testb %r15b, %r15b
jns 0x1847c
movl %r15d, %edi
andl $0x3f, %edi
sete %r8b
cmpl %ecx, %edi
setle %r9b
orb %r8b, %r9b
jne 0x1843b
cmpl $0xc, %edi
ja 0x1847c
cmpl %esi, %edi
jle 0x1847c
testl $0x3f00, %r15d          # imm = 0x3F00
je 0x1846f
testl %edi, %edi
je 0x1847c
movl %r15d, %edi
shrl $0x8, %edi
andl $0x3f, %edi
setne %r8b
cmpl %ecx, %edi
setle %r9b
testb %r9b, %r8b
jne 0x18469
cmpl $0xc, %edi
ja 0x1847c
cmpl %esi, %edi
jle 0x1847c
cmpq $0x4, %rbx
jae 0x1847c
cmpl $0x4000, %r15d          # imm = 0x4000
jb 0x18179
leaq 0xadec(%rip), %rdi      # 0x2326f
movl $0x42f, %esi            # imm = 0x42F
jmp 0x1918a
testb %r10b, %r10b
jns 0x184f0
movl %r10d, %edx
andl $0x3f, %edx
sete %dil
cmpl %ecx, %edx
setle %r8b
orb %dil, %r8b
jne 0x184b0
cmpl $0xc, %edx
ja 0x184f0
cmpl %esi, %edx
jle 0x184f0
testl $0x3f00, %r10d          # imm = 0x3F00
je 0x184e3
testl %edx, %edx
je 0x184f0
movl %r10d, %edx
shrl $0x8, %edx
andl $0x3f, %edx
setne %dil
cmpl %ecx, %edx
setle %cl
testb %cl, %dil
jne 0x184dd
cmpl $0xc, %edx
ja 0x184f0
cmpl %esi, %edx
jle 0x184f0
cmpq $0x4, %r12
jae 0x184f0
cmpl $0x4000, %r10d          # imm = 0x4000
jb 0x181b5
leaq 0xad78(%rip), %rdi      # 0x2326f
movl $0x430, %esi            # imm = 0x430
jmp 0x1918a
testl $0xc00, %ebp            # imm = 0xC00
je 0x180e9
jmp 0x180cd
testl $0x2e00, %ebp           # imm = 0x2E00
je 0x180e9
jmp 0x180cd
movq 0x78(%r14), %rcx
leaq 0xae60(%rip), %rdi      # 0x2338e
movl $0x6, %esi
movl $0x1, %edx
callq 0x2120
jmp 0x18636
leaq 0xae3e(%rip), %rax      # 0x23387
movq %rsi, %rdi
movq %rax, %rsi
movq %r12, %rdx
xorl %eax, %eax
callq 0x20b0
jmp 0x182c5
leal -0x1(%rax), %edx
leaq 0xaf65(%rip), %rsi      # 0x234cd
xorl %eax, %eax
callq 0x20b0
jmp 0x18636
decl %ebx
leaq 0xaf50(%rip), %rsi      # 0x234cd
movl %ebx, %edx
xorl %eax, %eax
callq 0x20b0
movq 0x20(%rsp), %rbx
testl $0x3f00, %ebx           # imm = 0x3F00
je 0x185d1
movq 0x78(%r14), %rcx
leaq 0xadd8(%rip), %rdi      # 0x23376
movl $0x3, %esi
movl $0x1, %edx
callq 0x2120
movl %ebx, %edx
shrl $0x8, %edx
andl $0x3f, %edx
movq 0x78(%r14), %rdi
cmpl 0x48(%r14), %edx
jle 0x185f2
movl $0xc, %eax
subl %edx, %eax
leaq 0xaf05(%rip), %rsi      # 0x234d2
movl %eax, %edx
jmp 0x185fb
testq %r12, %r12
movq 0x18(%rsp), %rbx
je 0x18628
movq 0x78(%r14), %rdi
leaq 0xad9a(%rip), %rsi      # 0x23380
movq %r12, %rdx
xorl %eax, %eax
callq 0x20b0
jmp 0x18628
decl %edx
leaq 0xaed2(%rip), %rsi      # 0x234cd
xorl %eax, %eax
callq 0x20b0
movq 0x18(%rsp), %rbx
testq %r12, %r12
je 0x18628
movq 0x78(%r14), %rdi
movl $0x1, %edx
movl %r12d, %ecx
shll %cl, %edx
leaq 0xad59(%rip), %rsi      # 0x2337a
xorl %eax, %eax
callq 0x20b0
movq 0x78(%r14), %rsi
movl $0x5d, %edi
callq 0x20a0
movq 0x78(%r14), %rcx
leaq 0xae42(%rip), %rdi      # 0x23483
movl $0x2, %esi
movl $0x1, %edx
callq 0x2120
movq 0x10(%rsp), %rax
testb $0x40, %al
jne 0x18682
testb %al, %al
js 0x1869c
testl %eax, %eax
je 0x186cb
movq 0x78(%r14), %rdi
cmpl %eax, 0x48(%r14)
jge 0x1870b
movl $0xc, %edx
subl %eax, %edx
leaq 0xae55(%rip), %rsi      # 0x234d2
jmp 0x18715
movq 0x78(%r14), %rdi
leaq 0xace4(%rip), %rsi      # 0x23371
movq %r13, %rdx
xorl %eax, %eax
callq 0x20b0
jmp 0x187e3
movl %eax, %ebx
movq 0x78(%r14), %rsi
andl $0x3f, %ebx
je 0x186ea
movl $0x5b, %edi
callq 0x20a0
movq 0x78(%r14), %rdi
cmpl 0x48(%r14), %ebx
jle 0x18721
movl $0xc, %edx
subl %ebx, %edx
leaq 0xae09(%rip), %rsi      # 0x234d2
jmp 0x1872c
movq 0x78(%r14), %rcx
leaq 0xacb8(%rip), %rdi      # 0x2338e
movl $0x6, %esi
movl $0x1, %edx
callq 0x2120
jmp 0x187e3
leaq 0xac96(%rip), %rax      # 0x23387
movq %rsi, %rdi
movq %rax, %rsi
movq %r13, %rdx
xorl %eax, %eax
callq 0x20b0
movq 0x18(%rsp), %rbx
jmp 0x187e3
leal -0x1(%rax), %edx
leaq 0xadb8(%rip), %rsi      # 0x234cd
xorl %eax, %eax
callq 0x20b0
jmp 0x187e3
decl %ebx
leaq 0xada3(%rip), %rsi      # 0x234cd
movl %ebx, %edx
xorl %eax, %eax
callq 0x20b0
movq 0x10(%rsp), %rbx
testl $0x3f00, %ebx           # imm = 0x3F00
je 0x1877e
movq 0x78(%r14), %rcx
leaq 0xac2b(%rip), %rdi      # 0x23376
movl $0x3, %esi
movl $0x1, %edx
callq 0x2120
movl %ebx, %edx
shrl $0x8, %edx
andl $0x3f, %edx
movq 0x78(%r14), %rdi
cmpl 0x48(%r14), %edx
jle 0x1879f
movl $0xc, %eax
subl %edx, %eax
leaq 0xad58(%rip), %rsi      # 0x234d2
movl %eax, %edx
jmp 0x187a8
testq %r13, %r13
movq 0x18(%rsp), %rbx
je 0x187d5
movq 0x78(%r14), %rdi
leaq 0xabed(%rip), %rsi      # 0x23380
movq %r13, %rdx
xorl %eax, %eax
callq 0x20b0
jmp 0x187d5
decl %edx
leaq 0xad25(%rip), %rsi      # 0x234cd
xorl %eax, %eax
callq 0x20b0
movq 0x18(%rsp), %rbx
testq %r13, %r13
je 0x187d5
movq 0x78(%r14), %rdi
movl $0x1, %edx
movl %r13d, %ecx
shll %cl, %edx
leaq 0xabac(%rip), %rsi      # 0x2337a
xorl %eax, %eax
callq 0x20b0
movq 0x78(%r14), %rsi
movl $0x5d, %edi
callq 0x20a0
movq 0x78(%r14), %rcx
leaq 0xac95(%rip), %rdi      # 0x23483
movl $0x2, %esi
movl $0x1, %edx
callq 0x2120
testb $0x40, %r15b
jne 0x1882f
testb %r15b, %r15b
js 0x18849
testl %r15d, %r15d
je 0x18879
movq 0x78(%r14), %rdi
cmpl %r15d, 0x48(%r14)
jge 0x188ac
movl $0xc, %edx
subl %r15d, %edx
leaq 0xaca8(%rip), %rsi      # 0x234d2
jmp 0x188b7
movq 0x78(%r14), %rdi
leaq 0xab37(%rip), %rsi      # 0x23371
movq %rbx, %rdx
xorl %eax, %eax
callq 0x20b0
jmp 0x1897c
movl %r15d, %ebx
movq 0x78(%r14), %rsi
andl $0x3f, %ebx
je 0x18898
movl $0x5b, %edi
callq 0x20a0
movq 0x78(%r14), %rdi
cmpl 0x48(%r14), %ebx
jle 0x188c3
movl $0xc, %edx
subl %ebx, %edx
leaq 0xac5b(%rip), %rsi      # 0x234d2
jmp 0x188ce
movq 0x78(%r14), %rcx
leaq 0xab0a(%rip), %rdi      # 0x2338e
movl $0x6, %esi
movl $0x1, %edx
callq 0x2120
jmp 0x1897c
leaq 0xaae8(%rip), %rax      # 0x23387
movq %rsi, %rdi
movq %rax, %rsi
movq 0x18(%rsp), %rbx
jmp 0x1883a
leal -0x1(%r15), %edx
leaq 0xac16(%rip), %rsi      # 0x234cd
xorl %eax, %eax
callq 0x20b0
jmp 0x1897c
decl %ebx
leaq 0xac01(%rip), %rsi      # 0x234cd
movl %ebx, %edx
xorl %eax, %eax
callq 0x20b0
testl $0x3f00, %r15d          # imm = 0x3F00
movq 0x18(%rsp), %rbx
je 0x18922
movq 0x78(%r14), %rcx
leaq 0xaa88(%rip), %rdi      # 0x23376
movl $0x3, %esi
movl $0x1, %edx
callq 0x2120
movl %r15d, %edx
shrl $0x8, %edx
andl $0x3f, %edx
movq 0x78(%r14), %rdi
cmpl 0x48(%r14), %edx
jle 0x1893e
movl $0xc, %eax
subl %edx, %eax
leaq 0xabb4(%rip), %rsi      # 0x234d2
movl %eax, %edx
jmp 0x18947
testq %rbx, %rbx
je 0x1896e
movq 0x78(%r14), %rdi
leaq 0xaa4e(%rip), %rsi      # 0x23380
movq %rbx, %rdx
xorl %eax, %eax
callq 0x20b0
jmp 0x1896e
decl %edx
leaq 0xab86(%rip), %rsi      # 0x234cd
xorl %eax, %eax
callq 0x20b0
testq %rbx, %rbx
je 0x1896e
movq 0x78(%r14), %rdi
movl $0x1, %edx
movl %ebx, %ecx
shll %cl, %edx
leaq 0xaa13(%rip), %rsi      # 0x2337a
xorl %eax, %eax
callq 0x20b0
movq 0x78(%r14), %rsi
movl $0x5d, %edi
callq 0x20a0
movq 0x78(%r14), %rsi
movl $0xa, %edi
callq 0x20a0
movq 0x20(%rsp), %r10
movq 0x10(%rsp), %r11
leaq 0x8(%r12), %r8
movl $0x8d, %eax
cmpl %eax, %r10d
cmovneq %r12, %r8
leaq 0x8(%r13), %r12
cmpl %eax, %r11d
cmovneq %r13, %r12
leaq 0x8(%rbx), %r13
cmpl %eax, %r15d
cmovneq %rbx, %r13
movl %ebp, %eax
andl $0x100, %eax            # imm = 0x100
movl %eax, 0x70(%r14)
movl %ebp, %ebx
andl $0xffff80ff, %ebx       # imm = 0xFFFF80FF
cmpl $0x64, %ebx
jl 0x189f6
testl $0x3e00, %ebp           # imm = 0x3E00
je 0x189e5
movl $0x0, 0x74(%r14)
jmp 0x189f6
btl $0xe, %ebp
jae 0x189f6
cmpl $0x0, 0x74(%r14)
je 0x18c3f
xorl %r15d, %r15d
addl $-0x60, %ebx
cmpl $0xa, %ebx
ja 0x1803b
leaq 0xa6b8(%rip), %rax      # 0x230c4
movslq (%rax,%rbx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
testl $0x3e00, %ebp           # imm = 0x3E00
movq %r8, 0x10(%rsp)
je 0x18d6a
movq %r11, %r15
movq %r10, %rbx
movl $0x0, 0x74(%r14)
jmp 0x18d9b
movq %r8, 0x10(%rsp)
cmpl $0x40, %r10d
movl $0xe, %ebp
cmovll %r10d, %ebp
movl %ebp, %eax
xorl %r11d, %eax
movq 0x8(%rsp), %r8
movl %r8d, %ecx
andl $0x40, %ecx
orl %eax, %ecx
jne 0x18bc0
movq %r10, %rbx
movq %r14, %rdi
movl $0x2, %esi
movl %ebp, %edx
xorl %ecx, %ecx
movq %r13, %r9
jmp 0x18be8
andl $0x3e00, %ebp           # imm = 0x3E00
subq $0x8, %rsp
movq %r14, %rdi
movl $0x28, %esi
jmp 0x18ba2
testl $0x3e00, %ebp           # imm = 0x3E00
je 0x18c6e
movl $0x0, 0x74(%r14)
movq 0x8(%rsp), %r15
jmp 0x18cc6
movq %r8, 0x10(%rsp)
movq %r11, %r15
movq %r10, %rbx
cmpl $0x0, 0x74(%r14)
je 0x18d0d
movq %r14, %rdi
movl $0x1, %esi
callq 0x198cd
jmp 0x18d1b
subq $0x8, %rsp
movq %r14, %rdi
movl $0x33, %esi
movl $0x31, %edx
movl $0x30, %ecx
movq %r8, %rax
movl $0x35, %r8d
jmp 0x18b69
movq %r8, 0x10(%rsp)
movq %r11, %r15
movq %r10, %rbx
cmpl $0x0, 0x74(%r14)
je 0x18dc7
movq %r14, %rdi
movl $0x1, %esi
callq 0x198cd
jmp 0x18dd5
testl %r10d, %r10d
je 0x18e2c
subq $0x8, %rsp
movq %r14, %rdi
movl $0x23, %esi
movl $0x21, %edx
movl $0x20, %ecx
movq %r8, %rax
movl $0x25, %r8d
jmp 0x18b69
subq $0x8, %rsp
movq %r14, %rdi
movl $0xb, %esi
movl $0x9, %edx
movl $0x8, %ecx
movq %r8, %rax
movl $0xd, %r8d
movl %r10d, %r9d
pushq %r13
pushq 0x18(%rsp)
pushq %r12
pushq %r11
pushq %rax
jmp 0x18e1e
andl $0x3e00, %ebp           # imm = 0x3E00
subq $0x8, %rsp
movq %r14, %rdi
movl $0x38, %esi
jmp 0x18ba2
andl $0x3e00, %ebp           # imm = 0x3E00
subq $0x8, %rsp
movq %r14, %rdi
movl $0x20, %esi
movl %ebp, %edx
movl %r10d, %ecx
movl %r11d, %r9d
pushq %r13
pushq 0x18(%rsp)
pushq %r12
callq 0x1a1cd
addq $0x48, %rsp
jmp 0x18042
movl %ebp, %eax
xorl %r8d, %eax
movl %r11d, %ecx
andl $0x40, %ecx
orl %eax, %ecx
jne 0x18e72
movq %r10, %rbx
movq %r14, %rdi
movl $0x2, %esi
movl %ebp, %edx
xorl %ecx, %ecx
movl %r11d, %r8d
movq %r12, %r9
callq 0x15e07
testq %rax, %rax
je 0x18dd9
movw $0xaf0f, (%rax)         # imm = 0xAF0F
movq %rbx, %r8
cmpl $0xe, %ebp
setne %al
testl %r8d, %r8d
sete %cl
orb %al, %cl
jne 0x1803b
xorl %r15d, %r15d
movq %r14, %rdi
movl $0x1, %esi
movl $0xe, %edx
xorl %ecx, %ecx
movq 0x10(%rsp), %r9
callq 0x15e07
testq %rax, %rax
je 0x18dd9
movb $-0x77, (%rax)
jmp 0x1803b
movq %r14, %rdi
movq %r10, 0x20(%rsp)
movq %r11, %r15
movq %r8, 0x10(%rsp)
callq 0x17fee
movq 0x10(%rsp), %r8
movq %r15, %r11
movq 0x20(%rsp), %r10
testl %eax, %eax
jne 0x18dd9
jmp 0x189f6
movq 0x8(%rsp), %r15
testb $0x40, %r15b
je 0x18cc6
movl %ebp, %esi
andl $0x4000, %esi           # imm = 0x4000
movq %r13, %rax
negq %rax
movq %r14, %rdi
movl %r10d, %edx
movq %r8, %rcx
movq %r8, 0x10(%rsp)
movl %r11d, %r8d
movq %r12, %r9
pushq %rax
pushq $0x40
movq %r10, %rbx
movq %r11, %r15
callq 0x19196
movq 0x20(%rsp), %r8
movq %r15, %r11
movq 0x18(%rsp), %r15
movq %rbx, %r10
addq $0x10, %rsp
cmpl $0x4, %eax
jne 0x18dd9
btl $0xe, %ebp
jae 0x18cd7
cmpl $0x0, 0x74(%r14)
je 0x18edb
testl %r10d, %r10d
je 0x18e50
subq $0x8, %rsp
movq %r14, %rdi
movl $0x2b, %esi
movl $0x29, %edx
movl $0x28, %ecx
movq %r8, %rax
movl $0x2d, %r8d
movl %r10d, %r9d
pushq %r13
pushq %r15
pushq %r12
pushq %r11
pushq %rax
jmp 0x18d60
btl $0xe, %ebp
jae 0x18d23
movq %r14, %rdi
callq 0x17fee
testl %eax, %eax
jne 0x18dd9
testl $0x3e00, %ebp           # imm = 0x3E00
je 0x18d33
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 %r13
pushq 0x18(%rsp)
pushq %r12
pushq %r15
pushq 0x38(%rsp)
callq 0x19b3e
jmp 0x18e23
movl %ebp, %esi
andl $0x4000, %esi           # imm = 0x4000
movq %r14, %rdi
movq %r10, %rbx
movl %r10d, %edx
movq %r8, %rcx
movq %r11, %r15
movl %r11d, %r8d
movq %r12, %r9
pushq %r13
pushq 0x10(%rsp)
callq 0x19196
addq $0x10, %rsp
cmpl $0x4, %eax
jne 0x18dd9
btl $0xe, %ebp
jae 0x18dac
cmpl $0x0, 0x74(%r14)
je 0x18f07
subq $0x8, %rsp
movq %r14, %rdi
movl $0x3, %esi
movl $0x1, %edx
xorl %ecx, %ecx
movl $0x5, %r8d
jmp 0x18e0d
btl $0xe, %ebp
jae 0x18de1
movq %r14, %rdi
callq 0x17fee
testl %eax, %eax
je 0x18de1
movl (%r14), %r15d
jmp 0x1803b
testl $0x3e00, %ebp           # imm = 0x3E00
je 0x18df1
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 %r13
pushq 0x18(%rsp)
pushq %r12
pushq %r15
pushq 0x38(%rsp)
callq 0x1933c
addq $0x58, %rsp
jmp 0x18042
movq %r14, %rdi
movl %r11d, %esi
movq %r12, %rdx
movq 0x8(%rsp), %rcx
movq %r13, %r8
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x19f98
movq %r14, %rdi
movl %r11d, %esi
movq %r12, %rdx
movl %r15d, %ecx
movq %r13, %r8
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x19909
testb $0x40, %r11b
jne 0x18f1c
movq 0x8(%rsp), %rax
testb $0x40, %al
jne 0x18f2b
movq %r10, %rbx
testb %al, %al
jns 0x18eab
andl $0x3f, %eax
cmpl %ebp, %eax
je 0x18ea6
movq 0x8(%rsp), %rax
shrl $0x8, %eax
andl $0x3f, %eax
cmpl %ebp, %eax
jne 0x18eab
movl $0xe, %ebp
movq %r14, %rdi
movl %ebp, %esi
xorl %edx, %edx
movl %r11d, %ecx
movq %r12, %r8
callq 0x16afc
testl %eax, %eax
jne 0x18dd9
movq %r14, %rdi
movl $0x2, %esi
movl %ebp, %edx
xorl %ecx, %ecx
movq 0x8(%rsp), %r8
jmp 0x18a72
movq %r14, %rdi
movq %r10, %rbx
movq %r11, %r15
movq %r8, %rbp
callq 0x17fee
movq %rbp, %r8
movq %r15, %r11
movq 0x8(%rsp), %r15
movq %rbx, %r10
testl %eax, %eax
jne 0x18dd9
jmp 0x18cd7
movq %r14, %rdi
callq 0x17fee
testl %eax, %eax
jne 0x18dd9
jmp 0x18dac
testb $0x40, 0x8(%rsp)
jne 0x18f84
movq %r10, %rbx
jmp 0x18fb0
movsbq %r13b, %rax
cmpq %r13, %rax
jne 0x1905c
movq %r10, %rbx
movq %r14, %rdi
movl $0x1, %esi
movl %ebp, %edx
xorl %ecx, %ecx
movl %r11d, %r8d
movq %r12, %r9
callq 0x15e07
testq %rax, %rax
je 0x18dd9
movb $0x6b, (%rax)
movl $0x2, %esi
movq %r14, %rdi
callq 0x152be
testq %rax, %rax
je 0x18dd9
movb $0x1, (%rax)
incq 0x60(%r14)
movb %r13b, 0x1(%rax)
jmp 0x18bfb
movq %r10, %rbx
movq %r14, %rdi
movl %ebp, %esi
xorl %edx, %edx
movl $0x40, %ecx
movq %r13, %r8
callq 0x16afc
movl %ebp, %ecx
movq %rcx, 0x8(%rsp)
movl $0x0, %r13d
testl %eax, %eax
jne 0x18dd9
movsbq %r12b, %rax
cmpq %r12, %rax
jne 0x19004
movq %r14, %rdi
movl $0x1, %esi
movl %ebp, %edx
xorl %ecx, %ecx
movq 0x8(%rsp), %r8
movq %r13, %r9
callq 0x15e07
testq %rax, %rax
je 0x18dd9
movb $0x6b, (%rax)
movl $0x2, %esi
movq %r14, %rdi
callq 0x152be
testq %rax, %rax
je 0x18dd9
movb $0x1, (%rax)
incq 0x60(%r14)
movb %r12b, 0x1(%rax)
jmp 0x18bfb
movslq %r12d, %rax
movq %r14, %rdi
cmpq %r12, %rax
jne 0x190b7
movl $0x1, %esi
movl %ebp, %edx
xorl %ecx, %ecx
movq 0x8(%rsp), %r8
movq %r13, %r9
callq 0x15e07
testq %rax, %rax
je 0x18dd9
movb $0x69, (%rax)
movl $0x5, %esi
movq %r14, %rdi
callq 0x152be
testq %rax, %rax
je 0x18dd9
movb $0x4, (%rax)
addq $0x4, 0x60(%r14)
movl %r12d, 0x1(%rax)
jmp 0x18bfb
movq %r10, 0x20(%rsp)
movslq %r13d, %rax
cmpq %r13, %rax
jne 0x1910d
movq %r14, %rdi
movl $0x1, %esi
movl %ebp, %edx
xorl %ecx, %ecx
movl %r11d, %r8d
movq %r12, %r9
callq 0x15e07
testq %rax, %rax
je 0x18dd9
movb $0x69, (%rax)
movl $0x5, %esi
movq %r14, %rdi
callq 0x152be
testq %rax, %rax
je 0x18dd9
movb $0x4, (%rax)
addq $0x4, 0x60(%r14)
movl %r13d, 0x1(%rax)
jmp 0x19174
movl $0xf, %esi
xorl %edx, %edx
movl $0x40, %ecx
movq %r12, %r8
callq 0x16afc
testl %eax, %eax
jne 0x18dd9
movq 0x8(%rsp), %rcx
cmpl %ecx, %ebp
je 0x190f3
movq %r14, %rdi
movl %ebp, %esi
xorl %edx, %edx
movq %r13, %r8
callq 0x16afc
testl %eax, %eax
jne 0x18dd9
movq %r14, %rdi
movl $0x2, %esi
movl %ebp, %edx
xorl %ecx, %ecx
movl $0xf, %r8d
xorl %r9d, %r9d
jmp 0x18be8
movq %r11, %rbx
movq %r14, %rdi
movl $0xf, %esi
xorl %edx, %edx
movl $0x40, %ecx
movq %r13, %r8
callq 0x16afc
testl %eax, %eax
jne 0x18dd9
cmpl %ebx, %ebp
je 0x1914c
movq %r14, %rdi
movl %ebp, %esi
xorl %edx, %edx
movl %ebx, %ecx
movq %r12, %r8
callq 0x16afc
testl %eax, %eax
jne 0x18dd9
movq %r14, %rdi
movl $0x2, %esi
movl %ebp, %edx
xorl %ecx, %ecx
movl $0xf, %r8d
xorl %r9d, %r9d
callq 0x15e07
testq %rax, %rax
je 0x18dd9
movw $0xaf0f, (%rax)         # imm = 0xAF0F
movq 0x20(%rsp), %r8
jmp 0x18bfe
leaq 0xa0ea(%rip), %rdi      # 0x2326f
movl $0x42c, %esi            # imm = 0x42C
xorl %eax, %eax
callq 0x2080
callq 0x2040