// File: /workspace/github_c_makefile_star2_O3/lucvoo[P]sparse-dev/simplify.c
// Function: simplify_instruction
int simplify_instruction(struct instruction *insn)
{
	unsigned flags;
	int changed = 0;

	flags = opcode_table[insn->opcode].flags;
	if (flags & OPF_TARGET) {
		if (!has_users(insn->target))
			return kill_instruction(insn);
	}
	if (flags & OPF_COMMU)
		canonicalize_commutative(insn) ;
	if (flags & OPF_COMPARE)
		canonicalize_compare(insn) ;
	if (flags & OPF_BINOP) {
		if ((changed = simplify_binop(insn)))
			return changed;
	}
	if (flags & OPF_ASSOC) {
		if ((changed = simplify_associative_binop(insn)))
			return changed;
	}
	if (flags & OPF_UNOP) {
		if ((changed = simplify_unop(insn)))
			return changed;
	}

	switch (insn->opcode) {
	case OP_ADD: return simplify_add(insn);
	case OP_SUB: return simplify_sub(insn);
	case OP_AND: return simplify_and(insn);
	case OP_OR:  return simplify_ior(insn);
	case OP_XOR: return simplify_xor(insn);
	case OP_MUL:
	case OP_SHL:
	case OP_LSR:
	case OP_ASR:
	case OP_NOT:
	case OP_NEG:
	case OP_DIVU:
	case OP_DIVS:
	case OP_MODU:
	case OP_MODS:
		break;
	case OP_BINCMP ... OP_BINCMP_END:
		return simplify_compare(insn);
	case OP_LOAD:
	case OP_STORE:
		return simplify_memop(insn);
	case OP_SYMADDR:
		return replace_with_pseudo(insn, insn->src);
	case OP_SEXT: case OP_ZEXT:
	case OP_TRUNC:
		return simplify_cast(insn);
	case OP_FNEG:
	case OP_FCVTU: case OP_FCVTS:
	case OP_UCVTF: case OP_SCVTF:
	case OP_FCVTF:
	case OP_PTRCAST:
		break;
	case OP_UTPTR:
	case OP_PTRTU:
		return replace_with_pseudo(insn, insn->src);
	case OP_SLICE:
		break;
	case OP_SETVAL:
		return simplify_setval(insn);
	case OP_LABEL:
	case OP_SETFVAL:
		break;
	case OP_PHI:
		return clean_up_phi(insn);
	case OP_PHISOURCE:
		break;
	case OP_SEL:
		return simplify_select(insn);
	case OP_CBR:
		return simplify_branch(insn);
	case OP_SWITCH:
		return simplify_switch(insn);
	case OP_COMPUTEDGOTO:
		return simplify_cgoto(insn);
	case OP_RANGE:
		return simplify_range(insn);
	case OP_FADD:
	case OP_FSUB:
	case OP_FMUL:
	case OP_FDIV:
		break;
	}
	return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdi, %rbx
movl (%rdi), %eax
andl $0x7f, %eax
leaq 0x1cf0d(%rip), %r14     # 0x41c20
movq (%r14,%rax,8), %r13
btq $0x28, %r13
jae 0x24d47
movq 0x20(%rbx), %rax
movq 0x8(%rax), %rdi
callq 0x22554
testb %al, %al
je 0x24d47
movq %rbx, %rdi
xorl %esi, %esi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x24a3f
shrq $0x28, %r13
testb $0x2, %r13b
je 0x24d7f
movq 0x30(%rbx), %rdi
movq 0x38(%rbx), %rsi
callq 0x28103
testl %eax, %eax
jne 0x24d7f
leaq 0x30(%rbx), %rsi
leaq 0x38(%rbx), %rcx
movq %rbx, %rdi
movq %rbx, %rdx
callq 0x2813a
leaq 0x41ff8(%rip), %rax     # 0x66d74
orb $0x1, (%rax)
testb $0x20, %r13b
je 0x24dcb
movq 0x30(%rbx), %rdi
movq 0x38(%rbx), %rsi
callq 0x28103
testl %eax, %eax
jne 0x24dcb
leaq 0x30(%rbx), %rsi
leaq 0x38(%rbx), %rcx
movq %rbx, %rdi
movq %rbx, %rdx
callq 0x2813a
movl (%rbx), %eax
movl %eax, %ecx
andl $0x7f, %ecx
movl (%r14,%rcx,8), %ecx
shrl $0x8, %ecx
andl $0x7f, %ecx
andl $-0x80, %eax
orl %ecx, %eax
movl %eax, (%rbx)
leaq 0x41fac(%rip), %rax     # 0x66d74
orb $0x1, (%rax)
testb $0x10, %r13b
jne 0x24e6d
testb $0x4, %r13b
je 0x25308
movq 0x38(%rbx), %r14
movl 0x4(%r14), %eax
leal -0x7(%rax), %ecx
cmpl $-0x2, %ecx
jb 0x25308
movq 0x30(%rbx), %rcx
cmpl $0x3, 0x4(%rcx)
jne 0x25308
movq 0x18(%rcx), %r15
cmpq %rbx, %r15
je 0x25308
movl (%rbx), %esi
movl (%r15), %ecx
xorl %esi, %ecx
testb $0x7f, %cl
jne 0x25308
movq 0x38(%r15), %rcx
movl 0x4(%rcx), %edx
leal -0x7(%rdx), %edi
cmpl $-0x2, %edi
jb 0x25308
leaq 0x30(%r15), %r12
cmpl $0x6, %eax
jne 0x252d2
cmpl $0x6, %edx
jne 0x252d2
leaq 0x30(%rbx), %r15
movl %esi, %edi
andl $0x7f, %edi
shrl $0x8, %esi
movq 0x18(%r14), %rdx
movq 0x18(%rcx), %rcx
callq 0x282ac
movq %rax, 0x38(%rbx)
movq (%r12), %rdx
jmp 0x25dbf
leaq 0x30(%rbx), %r11
movq 0x30(%rbx), %rbp
movq 0x38(%rbx), %rsi
movl 0x4(%rbp), %edi
leaq 0x38(%rbx), %r12
movl 0x4(%rsi), %edx
cmpl $0x6, %edi
jne 0x24eb2
cmpl $0x6, %edx
jne 0x24fac
movl (%rbx), %eax
movl %eax, %edi
andl $0x7f, %edi
leaq 0x1cd81(%rip), %rcx     # 0x41c20
testb $0x20, 0x5(%rcx,%rdi,8)
jne 0x2502d
shrl $0x8, %eax
jmp 0x25034
cmpl $0x6, %edx
jne 0x24fde
movl (%rbx), %eax
movl %eax, %r8d
shrl $0x8, %r8d
movl %r8d, %ecx
negb %cl
movq $-0x1, %rdx
shrq %cl, %rdx
movl %eax, %r9d
andl $0x7f, %r9d
leal -0x8(%r9), %r10d
cmpl $0x28, %r10d
ja 0x24dd5
movq 0x18(%rsi), %r15
leal -0x1(%r8), %ecx
movq %r11, 0x8(%rsp)
leaq 0x21fb4(%rip), %r11     # 0x46eb0
movslq (%r11,%r10,4), %r10
addq %r11, %r10
movq 0x8(%rsp), %r11
jmpq *%r10
movq 0x40(%rbx), %rax
movl 0x50(%rax), %ebp
decl %ebp
movl $0x3f, %ecx
subq %rbp, %rcx
movq $-0x1, %r8
shrq %cl, %r8
movl (%rbx), %eax
movl %eax, %edx
andl $0x7f, %edx
xorl %r14d, %r14d
addl $-0x28, %edx
cmpl $0x7, %edx
ja 0x264a9
leaq 0x22011(%rip), %rsi     # 0x46f54
movslq (%rsi,%rdx,4), %rdx
addq %rsi, %rdx
jmpq *%rdx
testq %r15, %r15
je 0x264a9
movl $0x1, %edi
movl %ebp, %ecx
shlq %cl, %rdi
cmpq %r15, %rdi
je 0x2595b
movq $-0x1, %rdx
movl %ebp, %ecx
shlq %cl, %rdx
xorq %r15, %rdx
cmpq $-0x1, %rdx
je 0x26aca
leaq 0x1(%rdi), %rcx
cmpq %r15, %rcx
je 0x25941
testq %r15, %rdi
jne 0x264a9
decq %r15
movq %r8, 0x10(%rsp)
andq %r8, %r15
movl $0x29, %ecx
jmp 0x26486
movl (%rbx), %ecx
movl %ecx, %edi
andl $0x7f, %edi
cmpl $0x18, %edi
ja 0x24dd5
movq 0x18(%rbp), %rax
movl $0x438200, %r8d         # imm = 0x438200
btl %edi, %r8d
jae 0x25057
testq %rax, %rax
jne 0x24dd5
jmp 0x2513a
cmpq %rsi, %rbp
jne 0x24dd5
movl (%rbx), %eax
andl $0x7f, %eax
xorl %r14d, %r14d
leal -0x16(%rax), %ecx
cmpl $0x1a, %ecx
ja 0x25bed
leaq 0x21e42(%rip), %rax     # 0x46e44
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
leaq 0x41e26(%rip), %rax     # 0x66e38
movl $0x1, %r14d
cmpl $0x0, (%rax)
je 0x2512f
leaq 0x22488(%rip), %rsi     # 0x474b0
jmp 0x25124
movq 0x40(%rbx), %rax
movl 0x50(%rax), %eax
movq 0x18(%rbp), %rdx
movq 0x18(%rsi), %rcx
movl %eax, %esi
callq 0x282ac
testq %rax, %rax
je 0x24dd5
movq %rbx, %rdi
movq %rax, %rsi
jmp 0x25140
movl $0x1800100, %r8d        # imm = 0x1800100
btl %edi, %r8d
jae 0x25074
testq %rax, %rax
jne 0x24dd5
movq %rbx, %rdi
jmp 0x25140
cmpl $0xa, %edi
jne 0x24dd5
testq %rax, %rax
je 0x25be0
cmpl $0x3, %edx
jne 0x24dd5
movq 0x18(%rsi), %r15
shrl $0x8, %ecx
movl (%r15), %edx
andl $0x7f, %edx
cmpl $0xa, %edx
je 0x26035
cmpl $0x8, %edx
jne 0x24dd5
movq 0x38(%r15), %rdx
cmpl $0x6, 0x4(%rdx)
jne 0x24dd5
movq 0x18(%rdx), %rdx
leal -0x1(%rcx), %esi
negb %cl
movq $-0x1, %r8
shrq %cl, %r8
movzbl %sil, %ecx
xorl %esi, %esi
btq %rcx, %rax
movq %r8, %r9
notq %r9
movq %r9, %rdi
cmovaeq %rsi, %rdi
orq %rax, %rdi
btq %rcx, %rdx
cmovaeq %rsi, %r9
orq %rdx, %r9
subq %r9, %rdi
andq %r8, %rdi
movq %r11, %r14
callq 0x13745
movq %rax, (%r14)
movq 0x30(%r15), %r14
jmp 0x260d3
leaq 0x41d23(%rip), %rax     # 0x66e38
xorl %r14d, %r14d
cmpl $0x0, (%rax)
je 0x2512f
leaq 0x22362(%rip), %rsi     # 0x47486
movq 0x10(%rbx), %rdi
xorl %eax, %eax
callq 0x118fc
movq %r14, %rdi
callq 0x13745
movq %rax, %rbp
movq %rbx, %rdi
movq %rbp, %rsi
callq 0x3b384
movq %rbx, %rdi
xorl %esi, %esi
callq 0x24a3f
movl %eax, %r14d
testl %r14d, %r14d
jne 0x26d4b
jmp 0x24dd5
testq %r15, %r15
je 0x2513a
testb %al, %al
js 0x24dd5
cmpq %r8, %r15
jae 0x25f4c
cmpl $0xf, %r9d
je 0x261e7
cmpl $0x11, %r9d
jne 0x26293
cmpl $0x3, %edi
jne 0x24dd5
movq 0x18(%rbp), %r14
testq %r14, %r14
je 0x24dd5
movl (%r14), %ecx
andl $0x7f, %ecx
addl $-0xf, %ecx
cmpl $0x8, %ecx
ja 0x24dd5
leaq 0x21e4b(%rip), %rdi     # 0x47004
movslq (%rdi,%rcx,4), %rcx
addq %rdi, %rcx
jmpq *%rcx
cmpq %rsi, 0x38(%r14)
jne 0x24dd5
movl %r15d, %ecx
subl %r8d, %ecx
movq $-0x1, %rdi
shrq %cl, %rdi
movl %r15d, %ecx
shlq %cl, %rdi
jmp 0x26277
movl $0x1, %edi
shlq %cl, %rdi
cmpq $0x1, %r15
je 0x2513a
cmpl $0xc, %r9d
je 0x25212
cmpl $0x9, %r9d
jne 0x24dd5
testq %r15, %r15
je 0x2506c
testq %r15, %rdi
je 0x24dd5
notq %rdx
orq %rdx, %r15
cmpq $-0x1, %r15
jne 0x24dd5
andl $-0x80, %eax
orl $0x32, %eax
jmp 0x26ad0
cmpq $0x2, %r15
setae %cl
cmpl $0x3, %edi
setne %dl
orb %cl, %dl
jne 0x24f0b
movq 0x18(%rbp), %rcx
movq %rcx, 0x10(%rsp)
testq %rcx, %rcx
je 0x24f0b
xorl %ecx, %ecx
cmpl $0x30, %r9d
sete %cl
movq 0x10(%rsp), %rdx
movl (%rdx), %edx
cmpq %rcx, %r15
je 0x25e44
movl $0xffffff00, %esi       # imm = 0xFFFFFF00
movl %eax, %edi
andl %esi, %edi
cmpl $0x100, %edi            # imm = 0x100
jne 0x25e44
andl %edx, %esi
cmpl $0x100, %esi            # imm = 0x100
jne 0x25e44
movq %rbx, %rdi
movq %rbp, %rsi
callq 0x3b384
movq %rbx, %rdi
xorl %esi, %esi
callq 0x24a3f
movq 0x8(%rsp), %r11
movl %eax, %r14d
testl %eax, %eax
jne 0x26d4b
jmp 0x24f0b
cmpq $0x1, %r15
jne 0x24dd5
jmp 0x2595b
movq (%r12), %rdi
movq %r14, %rsi
callq 0x28103
testl %eax, %eax
jne 0x25308
movq %r14, %rdi
movq %r15, %rsi
callq 0x28b81
testb %al, %al
je 0x25308
leaq 0x38(%rbx), %rcx
movq %r15, %rdi
movq %r12, %rsi
movq %rbx, %rdx
callq 0x2813a
jmp 0x26d45
testb $0x8, %r13b
jne 0x254c2
movl (%rbx), %ebp
movl %ebp, %eax
andl $0x7f, %eax
xorl %r14d, %r14d
leal -0x4(%rax), %ecx
cmpl $0x44, %ecx
ja 0x256df
leaq 0x21d1d(%rip), %rdx     # 0x4704c
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movq 0x30(%rbx), %r13
cmpl $0x3, 0x4(%r13)
jne 0x26d4b
movq 0x18(%r13), %rcx
testq %rcx, %rcx
je 0x26d4b
movl (%rcx), %edx
andl $0x7f, %edx
leal -0x35(%rdx), %esi
cmpl $0x1, %esi
ja 0x26d4b
movq 0x38(%rbx), %rsi
cmpl $0x3, 0x4(%rsi)
jne 0x26d4b
movq 0x18(%rsi), %rdi
movl (%rdi), %esi
andl $0x7f, %esi
cmpl %edx, %esi
jne 0x26d4b
movq 0x40(%rcx), %rsi
movl 0x50(%rsi), %r8d
movq 0x40(%rdi), %r9
cmpl %r8d, 0x50(%r9)
jne 0x26d4b
movq 0x30(%rdi), %r15
testq %r15, %r15
je 0x26d4b
cmpl $0x35, %edx
jne 0x253cf
leaq 0x1c86d(%rip), %rdx     # 0x41c20
movq (%rdx,%rax,8), %rax
btq $0x2e, %rax
jae 0x253cf
shrl $0x10, %eax
andl $0x7f, %eax
andl $-0x80, %ebp
orl %eax, %ebp
movl %ebp, (%rbx)
movq 0x40(%rcx), %rsi
leaq 0x30(%rbx), %r14
movq %rsi, 0x40(%rbx)
movq 0x30(%rcx), %r12
movq %r12, 0x30(%rbx)
testq %r12, %r12
je 0x25415
movl 0x4(%r12), %eax
cmpl $0x6, %eax
ja 0x253f8
movl $0x43, %ecx
btl %eax, %ecx
jb 0x25415
xorl %edi, %edi
callq 0x12264
movq %r14, 0x8(%rax)
movq %rbx, (%rax)
addq $0x8, %r12
movq %r12, %rdi
movq %rax, %rsi
callq 0x227b4
leaq 0x38(%rbx), %r12
movl 0x4(%r13), %eax
cmpl $0x6, %eax
ja 0x262f4
movl $0x43, %ecx
btl %eax, %ecx
jae 0x262f4
movq (%r12), %r13
movq %r15, (%r12)
movl 0x4(%r15), %eax
cmpl $0x6, %eax
ja 0x2544f
movl $0x43, %ecx
btl %eax, %ecx
jb 0x2546c
xorl %edi, %edi
callq 0x12264
movq %r12, 0x8(%rax)
movq %rbx, (%rax)
addq $0x8, %r15
movq %r15, %rdi
movq %rax, %rsi
callq 0x227b4
movl $0x1, %r14d
testq %r13, %r13
je 0x26d4b
movl 0x4(%r13), %eax
cmpl $0x6, %eax
ja 0x25492
movl $0x43, %ecx
btl %eax, %ecx
jb 0x26d4b
leaq 0x8(%r13), %rdi
movq %r12, %rsi
callq 0x2806f
cmpq $0x0, 0x8(%r13)
jne 0x26d4b
movl 0x4(%r13), %eax
andl $-0x2, %eax
cmpl $0x2, %eax
jne 0x26d4b
movq 0x18(%r13), %rdi
jmp 0x25d70
movq 0x30(%rbx), %r12
movl 0x4(%r12), %eax
cmpl $0x6, %eax
jne 0x254e8
movq %rbx, %rdi
callq 0x28c27
movl %eax, %r14d
testl %eax, %eax
jne 0x26d4b
jmp 0x25312
leaq 0x30(%rbx), %r15
movl (%rbx), %esi
movl %esi, %ecx
andl $0x7f, %ecx
cmpl $0x32, %ecx
je 0x25563
cmpl $0x31, %ecx
jne 0x25312
cmpl $0x3, %eax
jne 0x25312
movq 0x18(%r12), %r12
testq %r12, %r12
je 0x25312
movl (%r12), %eax
andl $0x7f, %eax
cmpl $0x17, %eax
jle 0x2581a
cmpl $0x18, %eax
je 0x25d7c
cmpl $0x31, %eax
je 0x25dc7
cmpl $0x32, %eax
jne 0x25312
andl $-0x80, %esi
orl $0xa, %esi
movl %esi, (%rbx)
movl $0x1, %edi
callq 0x13745
movq %rax, 0x38(%rbx)
movq 0x30(%r12), %r14
jmp 0x25cdd
cmpl $0x3, %eax
jne 0x25312
movq 0x18(%r12), %r13
testq %r13, %r13
je 0x25312
movl (%r13), %eax
andl $0x7f, %eax
cmpl $0x30, %eax
jg 0x257ff
cmpl $0x8, %eax
je 0x25c7f
cmpl $0xa, %eax
jne 0x25312
andl $-0x80, %esi
orl $0xa, %esi
movl %esi, (%rbx)
movq 0x30(%r13), %r14
movq %r14, 0x38(%rbx)
testq %r14, %r14
je 0x255e9
movl 0x4(%r14), %eax
cmpl $0x6, %eax
ja 0x255c4
movl $0x43, %ecx
btl %eax, %ecx
jb 0x255e9
leaq 0x38(%rbx), %r12
xorl %edi, %edi
callq 0x12264
movq %r12, 0x8(%rax)
movq %rbx, (%rax)
addq $0x8, %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x227b4
movq 0x30(%rbx), %r12
movq 0x38(%r13), %r14
jmp 0x256d7
movq 0x30(%rbx), %r12
movl 0x4(%r12), %ecx
cmpl $0x6, %ecx
jne 0x2563d
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x28c27
movq 0x30(%rbx), %rsi
movq %rbx, %rdi
callq 0x3b384
jmp 0x24d2f
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2715f
cmpl $0x3, %ecx
jne 0x26d4b
leaq 0x30(%rbx), %rcx
movq %rcx, 0x8(%rsp)
movq 0x18(%r12), %r15
movl (%r15), %ecx
movl %ecx, %edx
andl $0x7f, %edx
leal -0x19(%rdx), %esi
cmpl $0x18, %esi
jae 0x25bfb
movl %ebp, %eax
andl $0xffffff7f, %eax       # imm = 0xFFFFFF7F
cmpl $0x136, %eax            # imm = 0x136
je 0x26d4b
andl $-0x80, %ebp
orl %ebp, %edx
movl %edx, (%rbx)
movq 0x40(%r15), %rax
movq %rax, 0x40(%rbx)
movq 0x38(%r15), %r14
movq %r14, 0x38(%rbx)
testq %r14, %r14
je 0x256ce
movl 0x4(%r14), %eax
cmpl $0x6, %eax
ja 0x256a9
movl $0x43, %ecx
btl %eax, %ecx
jb 0x256ce
leaq 0x38(%rbx), %r12
xorl %edi, %edi
callq 0x12264
movq %r12, 0x8(%rax)
movq %rbx, (%rax)
addq $0x8, %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x227b4
movq 0x30(%rbx), %r12
movq 0x30(%r15), %r14
movq 0x8(%rsp), %r15
movq %r14, (%r15)
jmp 0x25ce5
cmpl $0x50, %eax
jne 0x26d4b
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2802d
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x270ba
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x27128
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x26f1b
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x270f1
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x27d83
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x27cef
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x26f52
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x27b19
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2760a
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2739c
movq 0x30(%rbx), %rax
cmpb $0x17, (%rax)
jne 0x26d4b
andl $-0x80, %ebp
orl $0x47, %ebp
movl %ebp, (%rbx)
movq 0x20(%rax), %rax
movq 0xd0(%rax), %rax
jmp 0x26d41
cmpl $0x31, %eax
je 0x25cc3
cmpl $0x32, %eax
jne 0x25312
movq 0x30(%r13), %rsi
jmp 0x25dcc
cmpl $0x8, %eax
je 0x25de3
cmpl $0xa, %eax
jne 0x25312
movq 0x30(%r12), %rax
cmpl $0x6, 0x4(%rax)
jne 0x25312
movl %esi, %eax
andl $-0x80, %eax
orl $0x8, %eax
movl %eax, (%rbx)
shrl $0x8, %esi
movq 0x30(%r12), %rax
movq 0x18(%rax), %rdx
leaq 0x40178(%rip), %rax     # 0x659d0
movq 0x18(%rax), %rcx
movl $0x31, %edi
callq 0x282ac
movq %rax, 0x38(%rbx)
movq 0x38(%r12), %rdx
jmp 0x25dbf
cmpq $0x1, %r15
je 0x26d32
testq %r15, %r15
je 0x2595b
cmpq %r15, %r8
jne 0x2616d
andl $-0x80, %eax
orl $0x30, %eax
jmp 0x2600e
testq %r15, %r15
je 0x264a9
movl $0x1, %edi
movl %ebp, %ecx
shlq %cl, %rdi
cmpq %r15, %rdi
je 0x259ee
movq $-0x1, %rdx
movl %ebp, %ecx
shlq %cl, %rdx
xorq %r15, %rdx
cmpq $-0x1, %rdx
je 0x267a5
leaq 0x1(%rdi), %rcx
cmpq %r15, %rcx
je 0x259a8
testq %r15, %rdi
jne 0x264a9
decq %r15
movq %r8, 0x10(%rsp)
andq %r8, %r15
movl $0x2b, %ecx
jmp 0x26486
testq %r15, %r15
je 0x264a9
movq $-0x1, %rdx
movl %ebp, %ecx
shlq %cl, %rdx
movq %rdx, %rdi
notq %rdi
cmpq %rdi, %r15
je 0x2595b
movl $0x1, %esi
movl %ebp, %ecx
shlq %cl, %rsi
cmpq %r15, %rsi
je 0x26aca
movq $-0x2, %rcx
subq %rdx, %rcx
cmpq %r15, %rcx
jne 0x2645a
andl $-0x80, %eax
orl $0x27, %eax
jmp 0x259ae
testq %r15, %r15
je 0x26aca
cmpq %r15, %r8
jne 0x26018
xorl %edi, %edi
jmp 0x259f3
testq %r15, %r15
je 0x264a9
movq $-0x1, %rdx
movl %ebp, %ecx
shlq %cl, %rdx
movq %rdx, %rdi
notq %rdi
cmpq %rdi, %r15
je 0x259ee
movl $0x1, %esi
movl %ebp, %ecx
shlq %cl, %rsi
cmpq %r15, %rsi
je 0x267a5
movq $-0x2, %rcx
subq %rdx, %rcx
cmpq %r15, %rcx
jne 0x26471
andl $-0x80, %eax
orl $0x30, %eax
movl %eax, (%rbx)
jmp 0x26d3c
testq %r15, %r15
je 0x267a5
cmpq %r15, %r8
je 0x259ee
leaq -0x1(%r8), %rdx
cmpq %r15, %rdx
jne 0x261bc
andl $-0x80, %eax
orl $0x30, %eax
jmp 0x2602b
cmpq $0x1, %r15
je 0x26ca4
testq %r15, %r15
jne 0x25fff
movl $0x1, %edi
callq 0x13745
jmp 0x2504c
testq %r15, %r15
je 0x2506c
movq %r15, %rax
notq %rax
testq %rax, %rdx
je 0x2513a
movq %rbx, %rdi
movq %r15, %rsi
callq 0x2862d
jmp 0x2514f
movq %r15, %rcx
notq %rcx
testq %rcx, %rdx
jne 0x25a4a
andl $-0x80, %eax
orl $0x31, %eax
jmp 0x26ad0
movq %r15, %rax
notq %rax
testq %rax, %rdx
je 0x2506c
testq %r15, %r15
jne 0x24dd5
jmp 0x2513a
andl $-0x80, %eax
orl $0x8, %eax
movl %eax, (%rbx)
movq 0x18(%rsi), %rax
xorl %edi, %edi
btq %rcx, %rax
movq %rdx, %rcx
notq %rcx
cmovbq %rcx, %rdi
orq %rax, %rdi
negq %rdi
andq %rdx, %rdi
callq 0x13745
movq %rax, %rsi
movq %rax, 0x38(%rbx)
movq 0x30(%rbx), %rbp
movl $0x1, %r14d
jmp 0x25a98
xorl %r14d, %r14d
testq %r15, %r15
je 0x2513a
cmpl $0x3, 0x4(%rbp)
jne 0x25152
movq 0x18(%rbp), %rbp
movl (%rbp), %eax
andl $0x7f, %eax
xorl %r15d, %r15d
cmpl $0xa, %eax
jne 0x25bd5
movq 0x30(%rbp), %rax
cmpl $0x6, 0x4(%rax)
jne 0x25bd5
movl (%rbx), %ecx
shrl $0x8, %ecx
movq 0x18(%rax), %rax
movq 0x18(%rsi), %rdx
leal -0x1(%rcx), %esi
negb %cl
movq $-0x1, %r8
shrq %cl, %r8
movzbl %sil, %ecx
xorl %esi, %esi
btq %rcx, %rax
movq %r8, %rdi
notq %rdi
movq %rdi, %r9
cmovaeq %rsi, %r9
orq %rax, %r9
btq %rcx, %rdx
cmovaeq %rsi, %rdi
orq %rdx, %rdi
addq %r9, %rdi
andq %r8, %rdi
callq 0x13745
movq %rax, %r15
movl (%rbx), %eax
andl $-0x80, %eax
orl $0xa, %eax
movl %eax, (%rbx)
movq 0x38(%rbp), %rbp
movq %rbp, 0x38(%rbx)
testq %rbp, %rbp
je 0x25b64
movl 0x4(%rbp), %eax
cmpl $0x6, %eax
ja 0x25b47
movl $0x43, %ecx
btl %eax, %ecx
jb 0x25b64
xorl %edi, %edi
callq 0x12264
movq %r12, 0x8(%rax)
movq %rbx, (%rax)
addq $0x8, %rbp
movq %rbp, %rdi
movq %rax, %rsi
callq 0x227b4
movq 0x8(%rsp), %rsi
movq (%rsi), %r12
movq %r15, (%rsi)
testq %r15, %r15
je 0x25bae
movl 0x4(%r15), %eax
cmpl $0x6, %eax
ja 0x25b87
movl $0x43, %ecx
btl %eax, %ecx
jb 0x25bae
xorl %edi, %edi
callq 0x12264
movq 0x8(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq %rbx, (%rax)
addq $0x8, %r15
movq %r15, %rdi
movq %rax, %rsi
callq 0x227b4
movq 0x8(%rsp), %rsi
movl $0x1, %r15d
testq %r12, %r12
je 0x25bd5
movl 0x4(%r12), %eax
cmpl $0x6, %eax
ja 0x26a19
movl $0x43, %ecx
btl %eax, %ecx
jae 0x26a19
orl %r14d, %r15d
movl %r15d, %r14d
jmp 0x25152
movq %rbx, %rdi
callq 0x28460
jmp 0x26d45
cmpl $0xa, %eax
je 0x2512f
jmp 0x24dd5
movl %ebp, %r13d
shrl $0x8, %r13d
leal -0xf(%rdx), %esi
cmpl $0x8, %esi
jbe 0x25fc0
leal -0x31(%rdx), %esi
cmpl $0x5, %esi
ja 0x26d4b
leaq 0x21563(%rip), %rdi     # 0x47184
movslq (%rdi,%rsi,4), %rsi
addq %rdi, %rsi
jmpq *%rsi
cmpl $0x34, %eax
jne 0x26d4b
movq 0x8(%r12), %rdi
callq 0x2257f
testb %al, %al
jne 0x26d4b
movl (%rbx), %eax
andl $-0x80, %eax
orl $0x31, %eax
movl %eax, (%rbx)
movq 0x18(%r15), %rax
movq %rax, 0x40(%r15)
movl (%r15), %eax
andl $-0x80, %eax
orl $0x34, %eax
movl %eax, (%r15)
movq 0x18(%rbx), %rcx
movq %rcx, 0x18(%r15)
movl $0xffffff00, %ecx       # imm = 0xFFFFFF00
andl (%rbx), %ecx
movzbl %al, %eax
orl %ecx, %eax
movl %eax, (%r15)
jmp 0x26d45
movq 0x38(%r13), %rax
cmpl $0x6, 0x4(%rax)
jne 0x25312
movl %esi, %eax
andl $-0x80, %eax
orl $0xa, %eax
movl %eax, (%rbx)
shrl $0x8, %esi
movq 0x38(%r13), %rax
movq 0x18(%rax), %rdx
leaq 0x3fd27(%rip), %rax     # 0x659d0
movq 0x18(%rax), %rcx
movl $0x32, %edi
callq 0x282ac
movq %rax, %r14
movq 0x30(%r13), %rsi
jmp 0x25e25
andl $-0x80, %esi
orl $0x8, %esi
movl %esi, (%rbx)
movl $0x1, %edi
callq 0x13745
movq %rax, 0x38(%rbx)
movq 0x30(%r13), %r14
movq 0x30(%rbx), %r12
movq %r14, 0x30(%rbx)
testq %r14, %r14
je 0x25d1a
movl 0x4(%r14), %eax
cmpl $0x6, %eax
ja 0x25cfd
movl $0x43, %ecx
btl %eax, %ecx
jb 0x25d1a
xorl %edi, %edi
callq 0x12264
movq %r15, 0x8(%rax)
movq %rbx, (%rax)
addq $0x8, %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x227b4
movl $0x1, %r14d
testq %r12, %r12
je 0x26d4b
movl 0x4(%r12), %eax
cmpl $0x6, %eax
ja 0x25d41
movl $0x43, %ecx
btl %eax, %ecx
jb 0x26d4b
leaq 0x8(%r12), %rdi
movq %r15, %rsi
callq 0x2806f
cmpq $0x0, 0x8(%r12)
jne 0x26d4b
movl 0x4(%r12), %eax
andl $-0x2, %eax
cmpl $0x2, %eax
jne 0x26d4b
movq 0x18(%r12), %rdi
xorl %esi, %esi
callq 0x24a3f
jmp 0x26d4b
movq 0x38(%r12), %rax
cmpl $0x6, 0x4(%rax)
jne 0x25312
movl %esi, %eax
andl $-0x80, %eax
orl $0x18, %eax
movl %eax, (%rbx)
shrl $0x8, %esi
movq 0x38(%r12), %rax
movq 0x18(%rax), %rdx
leaq 0x3fc28(%rip), %rax     # 0x659d0
movq 0x18(%rax), %rcx
movl $0x31, %edi
callq 0x282ac
movq %rax, 0x38(%rbx)
movq 0x30(%r12), %rdx
movq %rbx, %rdi
movq %r15, %rsi
jmp 0x25e3a
movq 0x30(%r12), %rsi
movq %rbx, %rdi
callq 0x3b384
movq %rbx, %rdi
xorl %esi, %esi
callq 0x24a3f
jmp 0x254d8
movq 0x38(%r12), %rax
cmpl $0x6, 0x4(%rax)
jne 0x25312
movl %esi, %eax
andl $-0x80, %eax
orl $0xa, %eax
movl %eax, (%rbx)
shrl $0x8, %esi
movq 0x38(%r12), %rax
movq 0x18(%rax), %rdx
leaq 0x3fbc1(%rip), %rax     # 0x659d0
movq 0x18(%rax), %rcx
movl $0x31, %edi
callq 0x282ac
movq %rax, %r14
movq 0x30(%r12), %rsi
leaq 0x38(%rbx), %rdx
movq %rbx, %rdi
callq 0x2825c
movq %rbx, %rdi
movq %r15, %rsi
movq %r14, %rdx
callq 0x28562
jmp 0x26d45
movl %edx, %esi
andl $0x7f, %esi
leal -0x19(%rsi), %edi
cmpl $0x18, %edi
jae 0x2689f
cmpq %rcx, %r15
jne 0x25e67
leaq 0x1bdbf(%rip), %rcx     # 0x41c20
movl (%rcx,%rsi,8), %esi
andl $0x7f, %esi
andl $-0x80, %eax
orl %esi, %eax
movl %eax, (%rbx)
movq 0x10(%rsp), %rcx
movq 0x40(%rcx), %rax
movq %rax, 0x40(%rbx)
movq 0x30(%rcx), %r14
movq %r14, 0x30(%rbx)
testq %r14, %r14
je 0x25ebd
movl 0x4(%r14), %eax
cmpl $0x6, %eax
ja 0x25e9b
movl $0x43, %ecx
btl %eax, %ecx
jb 0x25ebd
xorl %edi, %edi
callq 0x12264
movq 0x8(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq %rbx, (%rax)
addq $0x8, %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x227b4
movq 0x10(%rsp), %rax
movq 0x38(%rax), %r14
movq %r14, (%r12)
testq %r14, %r14
je 0x25eff
movl 0x4(%r14), %eax
cmpl $0x6, %eax
ja 0x25ee2
movl $0x43, %ecx
btl %eax, %ecx
jb 0x25eff
xorl %edi, %edi
callq 0x12264
movq %r12, 0x8(%rax)
movq %rbx, (%rax)
addq $0x8, %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x227b4
movl 0x4(%rbp), %eax
movl $0x1, %r14d
cmpl $0x6, %eax
ja 0x25f1b
movl $0x43, %ecx
btl %eax, %ecx
jb 0x26d4b
leaq 0x8(%rbp), %rdi
movq 0x8(%rsp), %rsi
callq 0x2806f
cmpq $0x0, 0x8(%rbp)
jne 0x26d4b
movl 0x4(%rbp), %eax
andl $-0x2, %eax
cmpl $0x2, %eax
jne 0x26d4b
movq 0x18(%rbp), %rdi
jmp 0x25d70
orl $0x80, %eax
movl %eax, (%rbx)
cmpq %r15, %rdx
jb 0x25f6f
movq $-0x1, %rax
shlq %cl, %rax
xorl %edx, %edx
btq %rcx, %r15
cmovbq %rax, %rdx
orq %rdx, %r15
leaq 0x3e792(%rip), %rax     # 0x64708
movl (%rax), %eax
movl %eax, %ecx
negb %cl
movq $-0x1, %rdx
movq $-0x1, %rsi
shrq %cl, %rsi
cmpq %r15, %rsi
jb 0x25fa6
decl %eax
movl %eax, %ecx
shlq %cl, %rdx
xorl %ecx, %ecx
btq %rax, %r15
cmovbq %rdx, %rcx
orq %rcx, %r15
testq %r15, %r15
jns 0x24dd5
movq %r15, %rdi
callq 0x13745
movq %rax, (%r12)
jmp 0x24dd5
leaq 0x21199(%rip), %rdx     # 0x47160
movslq (%rdx,%rsi,4), %rsi
addq %rdx, %rsi
jmpq *%rsi
cmpl $0x34, %eax
jne 0x26d4b
negb %r13b
movq $-0x1, %rsi
movl %r13d, %ecx
shrq %cl, %rsi
movq %r15, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x28af1
cmpq %r15, %r8
jne 0x26182
andl $-0x80, %eax
orl $0x27, %eax
movl %eax, (%rbx)
movq %r15, %rdi
jmp 0x26d3c
leaq -0x1(%r8), %rdx
cmpq %r15, %rdx
jne 0x26197
andl $-0x80, %eax
orl $0x27, %eax
movl %eax, (%rbx)
movq %r8, %rdi
jmp 0x26d3c
movq 0x30(%r15), %rdx
cmpl $0x6, 0x4(%rdx)
jne 0x24dd5
movq %r11, %r13
movq 0x18(%rdx), %rdx
leal -0x1(%rcx), %esi
negb %cl
movq $-0x1, %r8
shrq %cl, %r8
movzbl %sil, %ecx
xorl %esi, %esi
btq %rcx, %rax
movq %r8, %r9
notq %r9
movq %r9, %rdi
cmovaeq %rsi, %rdi
orq %rax, %rdi
btq %rcx, %rdx
cmovaeq %rsi, %r9
orq %rdx, %r9
subq %r9, %rdi
andq %r8, %rdi
callq 0x13745
movq %rax, %r14
movl (%rbx), %eax
andl $-0x80, %eax
orl $0x8, %eax
movl %eax, (%rbx)
movq 0x38(%r15), %r15
movq %r15, 0x30(%rbx)
testq %r15, %r15
je 0x260d3
movl 0x4(%r15), %eax
cmpl $0x6, %eax
ja 0x260b6
movl $0x43, %ecx
btl %eax, %ecx
jb 0x260d3
xorl %edi, %edi
callq 0x12264
movq %r13, 0x8(%rax)
movq %rbx, (%rax)
addq $0x8, %r15
movq %r15, %rdi
movq %rax, %rsi
callq 0x227b4
movq (%r12), %r15
movq %r14, (%r12)
testq %r14, %r14
je 0x26110
movl 0x4(%r14), %eax
cmpl $0x6, %eax
ja 0x260f3
movl $0x43, %ecx
btl %eax, %ecx
jb 0x26110
xorl %edi, %edi
callq 0x12264
movq %r12, 0x8(%rax)
movq %rbx, (%rax)
addq $0x8, %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x227b4
movl $0x1, %r14d
testq %r15, %r15
je 0x26d4b
movl 0x4(%r15), %eax
cmpl $0x6, %eax
ja 0x26136
movl $0x43, %ecx
btl %eax, %ecx
jb 0x26d4b
leaq 0x8(%r15), %rdi
movq %r12, %rsi
callq 0x2806f
cmpq $0x0, 0x8(%r15)
jne 0x26d4b
movl 0x4(%r15), %eax
andl $-0x2, %eax
cmpl $0x2, %eax
jne 0x26d4b
movq 0x18(%r15), %rdi
xorl %esi, %esi
callq 0x24a3f
jmp 0x26d45
decq %r15
movq %r8, 0x10(%rsp)
andq %r8, %r15
movl $0x2d, %ecx
jmp 0x26486
decq %r15
movq %r8, 0x10(%rsp)
andq %r8, %r15
movl $0x2f, %ecx
jmp 0x26486
movabsq $0x7fffffffffffffff, %rdx # imm = 0x7FFFFFFFFFFFFFFF
shrq %cl, %rdx
xorl %r14d, %r14d
cmpq %r15, %rdx
jne 0x264a9
movq %r8, 0x10(%rsp)
movl $0x28, %ecx
jmp 0x261df
movabsq $0x7fffffffffffffff, %rdx # imm = 0x7FFFFFFFFFFFFFFF
shrq %cl, %rdx
xorl %r14d, %r14d
cmpq %r15, %rdx
jne 0x264a9
movq %r8, 0x10(%rsp)
movl $0x2a, %ecx
xorl %r15d, %r15d
jmp 0x26486
cmpl $0x3, %edi
jne 0x24dd5
movq 0x18(%rbp), %r14
testq %r14, %r14
je 0x269fd
movl (%r14), %edi
andl $0x7f, %edi
movq %r8, %rdx
movl %r8d, %ecx
cmpl $0x35, %edi
jne 0x26229
movq 0x40(%r14), %rdi
movq %r8, %rdx
movl %r8d, %ecx
testq %rdi, %rdi
je 0x26229
movl 0x50(%rdi), %edx
cmpl %r8d, %edx
cmovael %r8d, %edx
movl %edx, %ecx
cmpq %r15, %rdx
jbe 0x2595b
testq %r14, %r14
je 0x24dd5
movl (%r14), %edx
andl $0x7f, %edx
addl $-0xf, %edx
cmpl $0x8, %edx
ja 0x24dd5
leaq 0x20dd4(%rip), %rdi     # 0x47028
movslq (%rdi,%rdx,4), %rdx
addq %rdi, %rdx
jmpq *%rdx
cmpq %rsi, 0x38(%r14)
jne 0x24dd5
subl %r8d, %r15d
movq $-0x1, %rdi
movl %r15d, %ecx
shrq %cl, %rdi
andl $0xffffff00, %eax       # imm = 0xFFFFFF00
orl $0x16, %eax
movl %eax, (%rbx)
callq 0x13745
movq %rax, 0x38(%rbx)
movq 0x30(%r14), %rdx
jmp 0x269f0
cmpl $0x3, %edi
jne 0x24dd5
movq 0x18(%rbp), %rsi
movl (%rsi), %edx
andl $0x7f, %edx
leal -0xf(%rdx), %edi
cmpl $0x2, %edi
jae 0x2695f
cmpq %rbx, %rsi
je 0x24dd5
movq 0x38(%rsi), %rsi
cmpl $0x6, 0x4(%rsi)
jne 0x24dd5
movq 0x18(%rsi), %rdi
leaq -0x1(%rdi), %rsi
cmpq %r8, %rsi
jae 0x24dd5
addq %r15, %rdi
cmpl $0xf, %edx
jne 0x26eea
andl $0xffffff00, %eax       # imm = 0xFFFFFF00
orl $0xf, %eax
movl %eax, (%rbx)
jmp 0x26ef1
leaq 0x8(%r13), %rdi
movq %r14, %rsi
callq 0x2806f
cmpq $0x0, 0x8(%r13)
jne 0x25434
movl 0x4(%r13), %eax
andl $-0x2, %eax
cmpl $0x2, %eax
jne 0x25434
movq 0x18(%r13), %rdi
xorl %esi, %esi
callq 0x24a3f
jmp 0x25434
cmpl $0x34, %eax
jne 0x26d4b
negb %r13b
movq $-0x1, %rsi
movl %r13d, %ecx
shrq %cl, %rsi
movq %rbx, %rdi
movq %r15, %rdx
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x28709
movq 0x38(%r15), %rdx
cmpl $0x6, 0x4(%rdx)
jne 0x26d4b
cmpl $0x36, %eax
movq %rdx, 0x8(%rsp)
je 0x26ad7
cmpl $0x35, %eax
je 0x26aef
movq 0x8(%r12), %rdi
callq 0x2257f
testb %al, %al
jne 0x26d4b
movl (%r15), %eax
andl $-0x80, %eax
orl $0x34, %eax
movl %eax, (%r15)
movq 0x18(%r15), %rcx
movq %rcx, 0x40(%r15)
movq 0x18(%rbx), %rcx
movq %rcx, 0x18(%r15)
andl $0xffffff00, %ebp       # imm = 0xFFFFFF00
movzbl %al, %eax
orl %ebp, %eax
movl %eax, (%r15)
movl (%rbx), %eax
andl $-0x80, %eax
orl $0x16, %eax
movq $-0x1, %rdi
movl %r13d, %ecx
shlq %cl, %rdi
movl %eax, (%rbx)
notq %rdi
movq 0x8(%rsp), %rax
andq 0x18(%rax), %rdi
jmp 0x26d3c
cmpl $0x36, %eax
je 0x26975
cmpl $0x35, %eax
jne 0x269e4
movq 0x40(%r15), %rax
cmpl 0x50(%rax), %r13d
jne 0x26d4b
andl $-0x80, %ebp
orl $0x16, %ebp
movl %ebp, (%rbx)
movb 0x1(%r15), %cl
movq $-0x1, %rdi
shlq %cl, %rdi
notq %rdi
jmp 0x26ba6
cmpl $0x36, %eax
je 0x269e4
cmpl $0x34, %eax
je 0x26906
jmp 0x26d4b
cmpl $0x35, %eax
je 0x269e4
cmpl $0x36, %eax
jne 0x26906
andl $-0x80, %ebp
orl $0x35, %ebp
movl %ebp, (%rbx)
jmp 0x269e4
testq %r15, %rsi
je 0x264a9
incq %r15
movq %r8, 0x10(%rsp)
andq %r8, %r15
movl $0x2a, %ecx
jmp 0x26486
testq %r15, %rsi
je 0x264a9
incq %r15
movq %r8, 0x10(%rsp)
andq %r8, %r15
movl $0x28, %ecx
andl $-0x80, %eax
orl %ecx, %eax
movl %eax, (%rbx)
movq %r15, %rdi
callq 0x13745
movq %rax, 0x38(%rbx)
movl $0x1, %r14d
movq 0x8(%rsp), %r11
movq 0x10(%rsp), %r8
movq (%r11), %r15
cmpl $0x3, 0x4(%r15)
jne 0x25152
movq 0x18(%r15), %r9
testq %r9, %r9
je 0x25152
movq (%r12), %rax
movq 0x18(%rax), %rdx
movl (%r9), %ecx
movl %ecx, %eax
andl $0x7f, %eax
cmpl $0x33, %eax
jle 0x265ee
cmpl $0x34, %eax
je 0x26644
cmpl $0x35, %eax
je 0x266b5
cmpl $0x36, %eax
jne 0x25152
movq 0x40(%r9), %rsi
movb 0x50(%rsi), %al
movl %eax, %ecx
negb %cl
movq %rdx, %rdi
shlq %cl, %rdi
shrq %cl, %rdi
decb %al
movq %r8, %r15
movl $0x1, %r8d
movl %eax, %ecx
shlq %cl, %r8
movq %r9, %r12
movl $0x1, %r9d
movzbl %al, %ecx
movq $-0x1, %rax
shlq %cl, %rax
xorl %r10d, %r10d
btq %rcx, %rdi
cmovaeq %r10, %rax
movq $-0x1, %r11
orq %rdi, %rax
andq %rdx, %r15
movl %ebp, %ecx
shlq %cl, %r9
shlq %cl, %r11
btq %rbp, %r15
cmovaeq %r10, %r11
orq %r15, %r11
cmpq %r11, %rax
jne 0x2686b
movq %rsi, 0x40(%rbx)
callq 0x13745
movq %rax, 0x38(%rbx)
movq 0x30(%r12), %r14
movq 0x30(%rbx), %r15
movq %r14, 0x30(%rbx)
testq %r14, %r14
je 0x265ba
movl 0x4(%r14), %eax
cmpl $0x6, %eax
ja 0x26598
movl $0x43, %ecx
btl %eax, %ecx
jb 0x265ba
xorl %edi, %edi
callq 0x12264
movq 0x8(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq %rbx, (%rax)
addq $0x8, %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x227b4
movl $0x1, %r14d
testq %r15, %r15
je 0x26d4b
movl 0x4(%r15), %eax
cmpl $0x6, %eax
ja 0x265e0
movl $0x43, %ecx
btl %eax, %ecx
jb 0x26d4b
leaq 0x8(%r15), %rdi
movq 0x8(%rsp), %rsi
jmp 0x26842
cmpl $0x16, %eax
je 0x2671b
cmpl $0x17, %eax
jne 0x25152
movq 0x38(%r9), %rax
cmpl $0x6, 0x4(%rax)
jne 0x25152
movl (%rbx), %esi
andl $0x7f, %esi
addl $-0x27, %esi
cmpl $0x9, %esi
ja 0x25152
movq 0x18(%rax), %rax
leaq 0x2098a(%rip), %rdi     # 0x46fb4
movslq (%rdi,%rsi,4), %rsi
addq %rdi, %rsi
jmpq *%rsi
notq %rdx
testq %rdx, %rax
je 0x25152
jmp 0x26e36
movq 0x40(%r9), %rax
movl 0x50(%rax), %ebp
movl (%rbx), %eax
andl $0x7f, %eax
cmpl $0x30, %eax
je 0x2665e
cmpl $0x27, %eax
jne 0x25152
movq %r8, %r15
movq %r9, %r12
movq 0x20(%r9), %rax
movq 0x8(%rax), %rdi
callq 0x2257f
testb %al, %al
jne 0x25152
movq 0x40(%r12), %rax
movq %rax, 0x40(%rbx)
movq %rax, 0x18(%r12)
movzbl (%r12), %eax
shll $0x8, %ebp
orl %eax, %ebp
movl %ebp, (%r12)
movq %r15, %rdi
callq 0x13745
movq %rax, 0x38(%r12)
movl (%r12), %eax
andl $-0x80, %eax
orl $0x16, %eax
movl %eax, (%r12)
jmp 0x26d45
movq 0x40(%r9), %rsi
xorl %ecx, %ecx
subb 0x50(%rsi), %cl
movq $-0x1, %rax
shrq %cl, %rax
movl (%rbx), %ecx
movl %ecx, %edi
andl $0x7f, %edi
cmpq %rax, %rdx
jbe 0x267b0
addl $-0x28, %edi
cmpl $0x7, %edi
ja 0x25152
leaq 0x20889(%rip), %rcx     # 0x46f74
movslq (%rcx,%rdi,4), %rsi
addq %rcx, %rsi
jmpq *%rsi
movq $-0x1, %rsi
movl %ebp, %ecx
shlq %cl, %rsi
xorl %ecx, %ecx
btq %rbp, %rdx
cmovbq %rsi, %rcx
orq %rdx, %rcx
cmpq %rax, %rcx
jle 0x26e36
jmp 0x26e46
movq 0x38(%r9), %rsi
cmpl $0x6, 0x4(%rsi)
jne 0x25152
movl (%rbx), %eax
movl %eax, %edi
andl $0x7f, %edi
leal -0x27(%rdi), %r8d
cmpl $0x9, %r8d
ja 0x25152
movq 0x18(%rsi), %rsi
leaq 0x20893(%rip), %r9      # 0x46fdc
movslq (%r9,%r8,4), %r8
addq %r9, %r8
jmpq *%r8
shrl $0x8, %ecx
decb %cl
movq $-0x1, %r8
shlq %cl, %r8
movzbl %cl, %r9d
xorl %ecx, %ecx
btq %r9, %rdx
cmovbq %r8, %rcx
xorl %r8d, %r8d
cmpl $0x28, %edi
sete %dil
btq %r9, %rsi
jb 0x25152
orq %rdx, %rcx
movb %dil, %r8b
subq %r8, %rcx
js 0x26e36
cmpq %rsi, %rcx
jge 0x26e46
testq %rcx, %rcx
jne 0x25152
andl $-0x80, %eax
orl $0x27, %eax
jmp 0x26ad0
leaq 0x1b469(%rip), %rax     # 0x41c20
movq (%rax,%rdi,8), %rax
btq $0x2e, %rax
jae 0x267d3
shrl $0x10, %eax
andl $0x7f, %eax
andl $-0x80, %ecx
orl %eax, %ecx
movl %ecx, (%rbx)
movq 0x40(%r9), %rsi
movq %rsi, 0x40(%rbx)
movq 0x30(%r9), %r14
movq %r14, 0x30(%rbx)
testq %r14, %r14
je 0x2681e
movl 0x4(%r14), %eax
cmpl $0x6, %eax
ja 0x267f7
movl $0x43, %ecx
btl %eax, %ecx
jb 0x2681e
xorl %edi, %edi
callq 0x12264
movq 0x8(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq %rbx, (%rax)
addq $0x8, %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x227b4
movq 0x8(%rsp), %r11
movl 0x4(%r15), %eax
movl $0x1, %r14d
cmpl $0x6, %eax
ja 0x2683b
movl $0x43, %ecx
btl %eax, %ecx
jb 0x26d4b
leaq 0x8(%r15), %rdi
movq %r11, %rsi
callq 0x2806f
cmpq $0x0, 0x8(%r15)
jne 0x26d4b
movl 0x4(%r15), %eax
andl $-0x2, %eax
cmpl $0x2, %eax
jne 0x26d4b
movq 0x18(%r15), %rdi
jmp 0x25d70
movl (%rbx), %eax
movl %eax, %ecx
andl $0x7f, %ecx
addl $-0x28, %ecx
cmpl $0x7, %ecx
ja 0x25152
movq %r12, %r15
leaq 0x2070c(%rip), %rdi     # 0x46f94
movslq (%rdi,%rcx,4), %rcx
addq %rdi, %rcx
jmpq *%rcx
cmpq %r9, %rdx
jae 0x26e36
jmp 0x26e46
cmpl $0x34, %esi
jg 0x2691d
cmpl $0x16, %esi
je 0x26b40
cmpl $0x34, %esi
jne 0x24f0b
movq 0x8(%rbp), %rdi
callq 0x2257f
movq 0x8(%rsp), %r11
testb %al, %al
jne 0x24f0b
movq 0x10(%rsp), %rbx
movl (%rbx), %eax
movl %eax, %ecx
shrl $0x8, %ecx
andl $-0x80, %eax
orl $0x16, %eax
movl %eax, (%rbx)
movq 0x40(%rbx), %rdx
movq %rdx, 0x18(%rbx)
movl 0x50(%rdx), %edx
shll $0x8, %edx
movzbl %al, %eax
orl %edx, %eax
movl %eax, (%rbx)
negb %cl
movq $-0x1, %rdi
shrq %cl, %rdi
jmp 0x26d3c
movq 0x40(%r15), %rax
cmpl 0x50(%rax), %r13d
jne 0x269db
movq 0x30(%r15), %rsi
jmp 0x2561a
cmpl $0x35, %esi
je 0x26943
cmpl $0x36, %esi
jne 0x24f0b
testq %r15, %r15
je 0x26943
movq 0x10(%rsp), %rax
movq 0x40(%rax), %rax
cmpl $0x1, 0x50(%rax)
je 0x24f0b
movq 0x10(%rsp), %rcx
movq 0x40(%rcx), %rax
movq %rax, 0x40(%rbx)
movq 0x30(%rcx), %rdx
movq %rbx, %rdi
movq %r11, %rsi
jmp 0x25e3a
cmpl $0x35, %edx
jne 0x24dd5
andl $0xffffff00, %eax       # imm = 0xFFFFFF00
orl $0xf, %eax
jmp 0x26ad0
movq 0x40(%r15), %rax
cmpl 0x50(%rax), %r13d
jne 0x26d4b
movq 0x30(%r15), %rax
cmpl $0x3, 0x4(%rax)
jne 0x26d4b
movq 0x18(%rax), %r15
testq %r15, %r15
je 0x26d4b
movl (%r15), %eax
andl $0x7f, %eax
cmpl $0xf, %eax
jne 0x26d4b
movq 0x38(%r15), %r12
shrl $0x8, %ecx
subl %ecx, %r13d
movslq %r13d, %rdi
callq 0x13745
cmpq %rax, %r12
jne 0x26d4b
movl (%rbx), %eax
andl $-0x80, %eax
orl $0x10, %eax
movl %eax, (%rbx)
movq 0x38(%r15), %rax
jmp 0x26bab
jle 0x269e8
andl $-0x80, %ebp
orl %ebp, %edx
movl %edx, (%rbx)
movq 0x40(%r15), %rax
movq %rax, 0x40(%rbx)
movq 0x30(%r15), %rdx
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
jmp 0x25e3a
cmpq %r8, %r15
jb 0x24dd5
jmp 0x2595b
cmpq %r9, %rdx
jb 0x26e36
jmp 0x26e46
leaq 0x8(%r12), %rdi
callq 0x2806f
cmpq $0x0, 0x8(%r12)
jne 0x25bd5
movl 0x4(%r12), %eax
andl $-0x2, %eax
cmpl $0x2, %eax
jne 0x25bd5
movq 0x18(%r12), %rdi
xorl %esi, %esi
callq 0x24a3f
jmp 0x25bd5
movq $-0x1, %rsi
movl %ebp, %ecx
shlq %cl, %rsi
xorl %ecx, %ecx
btq %rbp, %rdx
cmovbq %rsi, %rcx
orq %rdx, %rcx
cmpq %rax, %rcx
jg 0x26e36
jmp 0x26e46
shrl $0x8, %ecx
decb %cl
movq $-0x1, %r8
shlq %cl, %r8
movzbl %cl, %r9d
xorl %ecx, %ecx
btq %r9, %rdx
cmovbq %r8, %rcx
xorl %r8d, %r8d
cmpl $0x2a, %edi
sete %dil
btq %r9, %rsi
jb 0x25152
orq %rdx, %rcx
movb %dil, %r8b
subq %r8, %rcx
js 0x26e46
cmpq %rsi, %rcx
jge 0x26e36
testq %rcx, %rcx
jne 0x25152
andl $-0x80, %eax
orl $0x30, %eax
movl %eax, (%rbx)
jmp 0x26d45
shrl $0x8, %ecx
decb %cl
movl $0x1, %eax
shll %cl, %eax
cltq
testq %rax, 0x18(%rdx)
jne 0x26d4b
movq 0x8(%r12), %rdi
callq 0x2257f
testb %al, %al
jne 0x26d4b
movl (%r15), %eax
andl $-0x80, %eax
orl $0x35, %eax
movl %eax, (%r15)
movq 0x40(%rbx), %rcx
movq %rcx, 0x40(%r15)
movq 0x18(%rbx), %rcx
movq %rcx, 0x18(%r15)
movl $0xffffff00, %ecx       # imm = 0xFFFFFF00
andl (%rbx), %ecx
movzbl %al, %eax
orl %ecx, %eax
movl %eax, (%r15)
movl (%rbx), %eax
andl $-0x80, %eax
orl $0x16, %eax
movl %eax, (%rbx)
movq 0x8(%rsp), %rax
jmp 0x26d41
cmpq %rcx, %r15
je 0x24f0b
xorl %eax, %edx
cmpl $0xff, %edx
ja 0x24f0b
movq 0x10(%rsp), %rax
movq 0x38(%rax), %rax
cmpl $0x6, 0x4(%rax)
jne 0x24f0b
cmpq $0x1, 0x18(%rax)
jne 0x24f0b
jmp 0x25299
cmpq %r8, %rdx
jb 0x25152
movq %rsi, 0x40(%rbx)
andl $-0x80, %eax
orl $0x28, %eax
jmp 0x26ba2
cmpq %r8, %rdx
jb 0x25152
movq %rsi, 0x40(%rbx)
andl $-0x80, %eax
orl $0x2a, %eax
movl %eax, (%rbx)
xorl %edi, %edi
callq 0x13745
movq %rax, 0x38(%rbx)
jmp 0x269ec
movl %r8d, %ecx
cmpq %rbx, %r14
je 0x24dd5
movq 0x38(%r14), %rax
cmpl $0x6, 0x4(%rax)
jne 0x24dd5
movq 0x18(%rax), %rdi
cmpq %r8, %rdi
ja 0x24dd5
addq %r15, %rdi
movl %ecx, %r8d
jmp 0x26ef1
movq 0x38(%r14), %rax
cmpl $0x6, 0x4(%rax)
jne 0x24dd5
movl %r15d, %ecx
shrq %cl, %rdx
movq 0x18(%rax), %rax
andq %rdx, %rax
je 0x26e36
cmpq %rdx, %rax
movq 0x8(%rsp), %rsi
jne 0x24dd5
movq 0x30(%r14), %rdx
movq %rbx, %rdi
jmp 0x25e3a
movq %rsi, %rcx
notq %rcx
testq %rcx, %rdx
jne 0x26e36
cmpq %rsi, %rdx
jne 0x25152
testq %rsi, %rsi
je 0x25152
movq %rsi, %rcx
shrq %rcx
movabsq $0x5555555555555555, %rdx # imm = 0x5555555555555555
andq %rcx, %rdx
subq %rdx, %rsi
movabsq $0x3333333333333333, %rcx # imm = 0x3333333333333333
movq %rsi, %rdx
andq %rcx, %rdx
shrq $0x2, %rsi
andq %rcx, %rsi
addq %rdx, %rsi
movq %rsi, %rcx
shrq $0x4, %rcx
addq %rsi, %rcx
movabsq $0xf0f0f0f0f0f0f0f, %rdx # imm = 0xF0F0F0F0F0F0F0F
andq %rcx, %rdx
movabsq $0x101010101010101, %rcx # imm = 0x101010101010101
imulq %rdx, %rcx
shrq $0x38, %rcx
cmpl $0x1, %ecx
ja 0x25152
andl $-0x80, %eax
orl $0x30, %eax
jmp 0x26d38
movq %rsi, %rcx
notq %rcx
testq %rcx, %rdx
jne 0x26e46
cmpq %rsi, %rdx
jne 0x25152
testq %rsi, %rsi
je 0x25152
movq %rsi, %rcx
shrq %rcx
movabsq $0x5555555555555555, %rdx # imm = 0x5555555555555555
andq %rcx, %rdx
subq %rdx, %rsi
movabsq $0x3333333333333333, %rcx # imm = 0x3333333333333333
movq %rsi, %rdx
andq %rcx, %rdx
shrq $0x2, %rsi
andq %rcx, %rsi
addq %rdx, %rsi
movq %rsi, %rcx
shrq $0x4, %rcx
addq %rsi, %rcx
movabsq $0xf0f0f0f0f0f0f0f, %rdx # imm = 0xF0F0F0F0F0F0F0F
andq %rcx, %rdx
movabsq $0x101010101010101, %rcx # imm = 0x101010101010101
imulq %rdx, %rcx
shrq $0x38, %rcx
cmpl $0x1, %ecx
ja 0x25152
andl $-0x80, %eax
orl $0x27, %eax
movl %eax, (%rbx)
xorl %edi, %edi
callq 0x13745
movq %rax, 0x38(%rbx)
movl $0x1, %r14d
movl %r14d, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
decq %rdx
shrl $0x8, %ecx
decl %ecx
movl $0x1, %esi
shlq %cl, %rsi
btq %rcx, %rax
jae 0x25152
andq %rdx, %rsi
movq $-0x1, %rax
shlq %cl, %rax
testq %rsi, %rsi
cmoveq %rsi, %rax
orq %rdx, %rax
cmpq $-0x1, %rax
jl 0x25152
jmp 0x26e36
notq %rdx
testq %rdx, %rax
je 0x25152
jmp 0x26e46
decq %rdx
shrl $0x8, %ecx
decl %ecx
movl $0x1, %esi
shlq %cl, %rsi
btq %rcx, %rax
jae 0x25152
andq %rdx, %rsi
movq $-0x1, %rax
shlq %cl, %rax
testq %rsi, %rsi
cmoveq %rsi, %rax
orq %rdx, %rax
cmpq $-0x1, %rax
jl 0x25152
jmp 0x26e46
cmpq %rsi, %rdx
jbe 0x25152
jmp 0x26e36
cmpq %rdx, %rax
jbe 0x25152
jmp 0x26e46
cmpq %rsi, %rdx
jbe 0x25152
jmp 0x26e46
cmpq %rsi, %rdx
jb 0x25152
jmp 0x26e46
cmpq %rsi, %rdx
jb 0x25152
jmp 0x26e36
cmpq %rdx, %rax
jb 0x25152
jmp 0x26e36
cmpq %rdx, %rax
jbe 0x25152
movq %rbx, %rdi
xorl %esi, %esi
jmp 0x26e4e
cmpq %rdx, %rax
jb 0x25152
movl $0x1, %esi
movq %rbx, %rdi
callq 0x2860b
jmp 0x2514f
movq 0x38(%r14), %rax
cmpl $0x6, 0x4(%rax)
jne 0x24dd5
movl %r15d, %ecx
subl %r8d, %ecx
movq $-0x1, %rdx
shrq %cl, %rdx
movl %r15d, %ecx
shlq %cl, %rdx
movq 0x18(%rax), %r12
movq %r12, %rax
andq %rdx, %rax
je 0x26e36
cmpq %rdx, %rax
je 0x2628a
movq 0x8(%rbp), %rdi
callq 0x2257f
testb %al, %al
jne 0x24dd5
movl (%r14), %eax
andl $-0x80, %eax
orl $0xf, %eax
movl %eax, (%r14)
movq 0x38(%rbx), %rax
movq %rax, 0x38(%r14)
movl (%rbx), %eax
andl $-0x80, %eax
orl $0x16, %eax
movl %eax, (%rbx)
movl %r15d, %ecx
shrq %cl, %r12
movq %r12, %rdi
jmp 0x26d3c
negb %cl
movq $-0x1, %rdx
shrq %cl, %rdx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x286d2
jmp 0x2514f
cmpq %r8, %rdi
cmovaeq %rcx, %rdi
cmpq %r8, %rdi
movq 0x8(%rsp), %r14
jae 0x2595b
callq 0x13745
movq %rax, 0x38(%rbx)
movq 0x18(%rbp), %rax
movq 0x30(%rax), %rdx
movq %rbx, %rdi
movq %r14, %rsi
jmp 0x25e3a