// File: /workspace/github_c_makefile_star2_O1/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 0x1dea9(%rip), %r14     # 0x42c50
movq (%r14,%rax,8), %r13
btq $0x28, %r13
jae 0x24ddb
movq 0x20(%rbx), %rax
movq 0x8(%rax), %rdi
callq 0x225d8
testb %al, %al
je 0x24ddb
movq %rbx, %rdi
xorl %esi, %esi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x24adf
shrq $0x28, %r13
testb $0x2, %r13b
je 0x24e13
movq 0x30(%rbx), %rdi
movq 0x38(%rbx), %rsi
callq 0x283c7
testl %eax, %eax
jne 0x24e13
leaq 0x30(%rbx), %rsi
leaq 0x38(%rbx), %rcx
movq %rbx, %rdi
movq %rbx, %rdx
callq 0x283fe
leaq 0x42f64(%rip), %rax     # 0x67d74
orb $0x1, (%rax)
testb $0x20, %r13b
je 0x24e5f
movq 0x30(%rbx), %rdi
movq 0x38(%rbx), %rsi
callq 0x283c7
testl %eax, %eax
jne 0x24e5f
leaq 0x30(%rbx), %rsi
leaq 0x38(%rbx), %rcx
movq %rbx, %rdi
movq %rbx, %rdx
callq 0x283fe
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 0x42f18(%rip), %rax     # 0x67d74
orb $0x1, (%rax)
testb $0x10, %r13b
je 0x260c0
leaq 0x30(%rbx), %r11
movq 0x30(%rbx), %rbp
movq 0x38(%rbx), %rax
movl 0x4(%rbp), %r9d
leaq 0x38(%rbx), %r12
movl 0x4(%rax), %ecx
cmpl $0x6, %r9d
jne 0x24eb0
cmpl $0x6, %ecx
jne 0x24fb6
movl (%rbx), %esi
movl %esi, %edi
andl $0x7f, %edi
leaq 0x1ddb3(%rip), %rcx     # 0x42c50
testb $0x20, 0x5(%rcx,%rdi,8)
jne 0x25040
shrl $0x8, %esi
jmp 0x25047
cmpl $0x6, %ecx
jne 0x24feb
movl (%rbx), %edx
movl %edx, %esi
shrl $0x8, %esi
movl %esi, %ecx
negb %cl
movq $-0x1, %rdi
shrq %cl, %rdi
movl %edx, %r8d
andl $0x7f, %r8d
xorl %r14d, %r14d
leal -0x8(%r8), %r10d
cmpl $0x28, %r10d
ja 0x260b7
movq %r11, 0x8(%rsp)
movq 0x18(%rax), %r15
leal -0x1(%rsi), %ecx
leaq 0x23037(%rip), %r11     # 0x47f30
movslq (%r11,%r10,4), %r10
addq %r11, %r10
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 %r9d, %r9d
addl $-0x28, %edx
movl $0x0, %r14d
cmpl $0x7, %edx
ja 0x25a8a
leaq 0x23093(%rip), %rsi     # 0x47fd4
movslq (%rsi,%rdx,4), %rdx
addq %rsi, %rdx
jmpq *%rdx
movl $0x0, %r14d
testq %r15, %r15
je 0x25a8a
movl $0x1, %edi
movl %ebp, %ecx
shlq %cl, %rdi
cmpq %r15, %rdi
je 0x26098
movq $-0x1, %rdx
movl %ebp, %ecx
shlq %cl, %rdx
xorq %r15, %rdx
cmpq $-0x1, %rdx
je 0x25ef2
leaq 0x1(%rdi), %rcx
cmpq %r15, %rcx
je 0x25487
movl $0x0, %r14d
testq %r15, %rdi
jne 0x25a8a
decq %r15
movq %r8, 0x10(%rsp)
andq %r8, %r15
movl $0x29, %ecx
jmp 0x25a69
movl (%rbx), %esi
movl %esi, %edx
andl $0x7f, %edx
xorl %r14d, %r14d
cmpl $0x18, %edx
ja 0x260b7
movq 0x18(%rbp), %rdi
movl $0x438200, %r8d         # imm = 0x438200
btl %edx, %r8d
jae 0x25063
testq %rdi, %rdi
jne 0x260b7
jmp 0x25263
xorl %r14d, %r14d
cmpq %rax, %rbp
jne 0x260b7
movl (%rbx), %eax
andl $0x7f, %eax
leal -0x16(%rax), %ecx
cmpl $0x1a, %ecx
ja 0x25584
leaq 0x22eb5(%rip), %rax     # 0x47ec4
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
leaq 0x42e19(%rip), %rax     # 0x67e38
cmpl $0x0, (%rax)
je 0x25036
movq 0x10(%rbx), %rdi
leaq 0x23501(%rip), %rsi     # 0x48530
xorl %eax, %eax
callq 0x118b4
movl $0x1, %edi
jmp 0x2609a
movq 0x40(%rbx), %rcx
movl 0x50(%rcx), %esi
movq %rbp, %rdx
movq %rax, %rcx
callq 0x28578
testq %rax, %rax
jne 0x2609f
xorl %r14d, %r14d
jmp 0x260b7
movl $0x1800100, %r8d        # imm = 0x1800100
btl %edx, %r8d
jae 0x2507d
testq %rdi, %rdi
jne 0x260b7
jmp 0x2609f
cmpl $0xa, %edx
jne 0x260b7
testq %rdi, %rdi
je 0x25574
cmpl $0x3, %ecx
jne 0x260b7
movq %r11, 0x8(%rsp)
movq 0x18(%rax), %r15
shrl $0x8, %esi
movl (%r15), %eax
andl $0x7f, %eax
cmpl $0xa, %eax
je 0x25867
cmpl $0x8, %eax
jne 0x260b7
movq 0x38(%r15), %rcx
cmpl $0x6, 0x4(%rcx)
jne 0x260b7
movl $0xa, %edi
movq %rbp, %rdx
callq 0x28578
movq 0x8(%rsp), %rcx
movq %rax, (%rcx)
movq 0x30(%r15), %r14
jmp 0x258d1
leaq 0x42d49(%rip), %rax     # 0x67e38
cmpl $0x0, (%rax)
je 0x26098
movq 0x10(%rbx), %rdi
leaq 0x23403(%rip), %rsi     # 0x48506
xorl %eax, %eax
callq 0x118b4
jmp 0x26098
testq %r15, %r15
je 0x25263
movq $-0x1, %r9
testb %dl, %dl
js 0x256fe
cmpq %rsi, %r15
jae 0x2568b
movq %r15, %r9
jmp 0x256fe
movl $0x1, %esi
shlq %cl, %rsi
cmpq $0x1, %r15
je 0x25263
cmpl $0xc, %r8d
je 0x25163
cmpl $0x9, %r8d
jne 0x260b7
testq %r15, %r15
je 0x2609f
testq %r15, %rsi
je 0x260b7
notq %rdi
orq %rdi, %r15
cmpq $-0x1, %r15
jne 0x260b7
andl $-0x80, %edx
orl $0x32, %edx
jmp 0x25244
cmpq $0x2, %r15
setae %al
cmpl $0x3, %r9d
setne %cl
xorl %r14d, %r14d
orb %al, %cl
jne 0x2567d
movq 0x18(%rbp), %r9
testq %r9, %r9
je 0x2567d
xorl %eax, %eax
cmpl $0x30, %r8d
sete %al
cmpq %rax, %r15
je 0x2559a
movl $0xffffff00, %ecx       # imm = 0xFFFFFF00
movl %edx, %esi
andl %ecx, %esi
cmpl $0x100, %esi            # imm = 0x100
jne 0x2559a
andl (%r9), %ecx
cmpl $0x100, %ecx            # imm = 0x100
jne 0x2559a
movq %rbx, %rdi
movq %rbp, %rsi
callq 0x3c2b1
movq %rbx, %rdi
xorl %esi, %esi
callq 0x24adf
movl %eax, %r14d
jmp 0x2567d
cmpq $0x1, %r15
jne 0x260b7
jmp 0x26098
testq %r15, %r15
je 0x2609f
movq %r15, %rax
notq %rax
testq %rax, %rdi
je 0x25263
movq %rbx, %rdi
movq %r15, %rsi
callq 0x288fe
jmp 0x260b4
movq %r15, %rax
notq %rax
testq %rax, %rdi
jne 0x2525a
andl $-0x80, %edx
orl $0x31, %edx
movl %edx, (%rbx)
jmp 0x26dad
movq %r15, %rcx
notq %rcx
testq %rcx, %rdi
je 0x2609f
testq %r15, %r15
jne 0x260b7
movq %rbx, %rdi
movq %rbp, %rsi
jmp 0x260a5
andl $-0x80, %edx
orl $0x8, %edx
movl %edx, (%rbx)
leaq 0x41753(%rip), %rcx     # 0x669d0
movl $0x32, %edi
movq %rax, %rdx
callq 0x28578
movq %rax, 0x38(%rbx)
movl $0x1, %r14d
movq 0x8(%rsp), %rax
movq (%rax), %rsi
testq %r15, %r15
je 0x25592
cmpl $0x3, 0x4(%rsi)
jne 0x260b7
movq 0x18(%rsi), %r15
movl (%r15), %eax
andl $0x7f, %eax
xorl %ebp, %ebp
cmpl $0xa, %eax
jne 0x25399
movq 0x30(%r15), %rdx
cmpl $0x6, 0x4(%rdx)
jne 0x25399
movl (%rbx), %esi
shrl $0x8, %esi
movq 0x38(%rbx), %rcx
movl $0x8, %edi
callq 0x28578
movl (%rbx), %ecx
andl $-0x80, %ecx
orl $0xa, %ecx
movl %ecx, (%rbx)
movq 0x38(%r15), %rbp
movq %rbp, 0x38(%rbx)
testq %rbp, %rbp
je 0x25331
movl 0x4(%rbp), %edx
cmpl $0x6, %edx
ja 0x2530e
movl $0x43, %ecx
btl %edx, %ecx
jb 0x25331
movq %rax, %r15
xorl %edi, %edi
callq 0x12220
movq %r12, 0x8(%rax)
movq %rbx, (%rax)
addq $0x8, %rbp
movq %rbp, %rdi
movq %rax, %rsi
callq 0x2285b
movq %r15, %rax
movq 0x8(%rsp), %r15
movq (%r15), %r12
movq %rax, (%r15)
testq %rax, %rax
je 0x25373
movl 0x4(%rax), %edx
cmpl $0x6, %edx
ja 0x25353
movl $0x43, %ecx
btl %edx, %ecx
jb 0x25373
movq %rax, %rbp
xorl %edi, %edi
callq 0x12220
movq %r15, 0x8(%rax)
movq %rbx, (%rax)
addq $0x8, %rbp
movq %rbp, %rdi
movq %rax, %rsi
callq 0x2285b
movl $0x1, %ebp
testq %r12, %r12
je 0x25399
movl 0x4(%r12), %eax
cmpl $0x6, %eax
ja 0x26ebb
movl $0x43, %ecx
btl %eax, %ecx
jae 0x26ebb
orl %r14d, %ebp
movl %ebp, %r14d
jmp 0x260b7
cmpq $0x1, %r15
je 0x26d9a
testq %r15, %r15
je 0x26098
cmpq %r15, %r8
jne 0x25940
andl $-0x80, %eax
orl $0x30, %eax
jmp 0x2556a
movl $0x0, %r14d
testq %r15, %r15
je 0x25a8a
movl $0x1, %edi
movl %ebp, %ecx
shlq %cl, %rdi
cmpq %r15, %rdi
je 0x25036
movq $-0x1, %rdx
movl %ebp, %ecx
shlq %cl, %rdx
xorq %r15, %rdx
cmpq $-0x1, %rdx
je 0x25d2b
leaq 0x1(%rdi), %rcx
cmpq %r15, %rcx
je 0x2550c
movl $0x0, %r14d
testq %r15, %rdi
jne 0x25a8a
decq %r15
movq %r8, 0x10(%rsp)
andq %r8, %r15
movl $0x2b, %ecx
jmp 0x25a69
movl $0x0, %r14d
testq %r15, %r15
je 0x25a8a
movq $-0x1, %rdx
movl %ebp, %ecx
shlq %cl, %rdx
movq %rdx, %rdi
notq %rdi
cmpq %rdi, %r15
je 0x26098
movl $0x1, %esi
movl %ebp, %ecx
shlq %cl, %rsi
cmpq %r15, %rsi
je 0x25ef2
movq $-0x2, %rcx
subq %rdx, %rcx
cmpq %r15, %rcx
jne 0x25a31
andl $-0x80, %eax
orl $0x27, %eax
jmp 0x25512
testq %r15, %r15
je 0x25ef2
cmpq %r15, %r8
je 0x26098
leaq -0x1(%r8), %rdx
cmpq %r15, %rdx
jne 0x2596a
andl $-0x80, %eax
orl $0x27, %eax
jmp 0x2553e
movl $0x0, %r14d
testq %r15, %r15
je 0x25a8a
movq $-0x1, %rdx
movl %ebp, %ecx
shlq %cl, %rdx
movq %rdx, %rdi
notq %rdi
cmpq %rdi, %r15
je 0x25036
movl $0x1, %esi
movl %ebp, %ecx
shlq %cl, %rsi
cmpq %r15, %rsi
je 0x25d2b
movq $-0x2, %rcx
subq %rdx, %rcx
cmpq %r15, %rcx
jne 0x25a4e
andl $-0x80, %eax
orl $0x30, %eax
movl %eax, (%rbx)
jmp 0x26da4
testq %r15, %r15
je 0x25d2b
cmpq %r15, %r8
je 0x25036
leaq -0x1(%r8), %rdx
cmpq %r15, %rdx
jne 0x2598f
andl $-0x80, %eax
orl $0x30, %eax
movl %eax, (%rbx)
movq %r8, %rdi
jmp 0x26da4
cmpq $0x1, %r15
je 0x26d0c
testq %r15, %r15
je 0x25036
cmpq %r15, %r8
jne 0x25955
andl $-0x80, %eax
orl $0x27, %eax
movl %eax, (%rbx)
movq %r15, %rdi
jmp 0x26da4
movq %rbx, %rdi
movq %rax, %rsi
callq 0x28731
jmp 0x26dad
cmpl $0xa, %eax
je 0x26098
jmp 0x260b7
movq %rbx, %rdi
jmp 0x260a5
movl (%r9), %esi
movl %esi, %ecx
andl $0x7f, %ecx
leal -0x19(%rcx), %edi
cmpl $0x18, %edi
jae 0x259ba
cmpq %rax, %r15
jne 0x255c0
leaq 0x1d696(%rip), %rax     # 0x42c50
movl (%rax,%rcx,8), %ecx
andl $0x7f, %ecx
andl $-0x80, %edx
orl %ecx, %edx
movl %edx, (%rbx)
movq 0x40(%r9), %rax
movq %rax, 0x40(%rbx)
movq 0x30(%r9), %r14
movq %r14, 0x30(%rbx)
testq %r14, %r14
je 0x2561b
movl 0x4(%r14), %eax
cmpl $0x6, %eax
ja 0x255ef
movl $0x43, %ecx
btl %eax, %ecx
jb 0x2561b
xorl %edi, %edi
movq %r9, 0x10(%rsp)
callq 0x12220
movq 0x8(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq %rbx, (%rax)
addq $0x8, %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x2285b
movq 0x10(%rsp), %r9
movq 0x38(%r9), %r14
movq %r14, (%r12)
testq %r14, %r14
je 0x25658
movl 0x4(%r14), %eax
cmpl $0x6, %eax
ja 0x2563b
movl $0x43, %ecx
btl %eax, %ecx
jb 0x25658
xorl %edi, %edi
callq 0x12220
movq %r12, 0x8(%rax)
movq %rbx, (%rax)
addq $0x8, %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x2285b
movl $0x1, %r14d
testq %rbp, %rbp
je 0x2567d
movl 0x4(%rbp), %eax
cmpl $0x6, %eax
ja 0x25e66
movl $0x43, %ecx
btl %eax, %ecx
jae 0x25e66
testl %r14d, %r14d
jne 0x260b7
jmp 0x24f03
orl $0x80, %edx
movl %edx, (%rbx)
cmpq %r15, %rdi
jb 0x256af
movq $-0x1, %rax
shlq %cl, %rax
xorl %edx, %edx
btq %rcx, %r15
cmovbq %rax, %rdx
orq %rdx, %r15
leaq 0x40052(%rip), %rax     # 0x65708
movl (%rax), %eax
movl %eax, %ecx
negb %cl
movq $-0x1, %rdx
shrq %cl, %rdx
cmpq %r15, %rdx
jb 0x256e6
decl %eax
movq $-0x1, %rdx
movl %eax, %ecx
shlq %cl, %rdx
xorl %ecx, %ecx
btq %rax, %r15
cmovbq %rdx, %rcx
orq %rcx, %r15
testq %r15, %r15
jns 0x256fe
movq %r15, %rdi
callq 0x136d3
movq $-0x1, %r9
movq %rax, (%r12)
testq %r9, %r9
js 0x260b7
movl (%rbx), %edx
movl %edx, %ecx
shrl $0x8, %ecx
movl %edx, %eax
andl $0x7f, %eax
cmpl $0xf, %eax
je 0x257c5
cmpl $0x11, %eax
je 0x25793
cmpl $0x10, %eax
jne 0x260b7
cmpq %rcx, %r9
jge 0x260b7
cmpl $0x3, 0x4(%rbp)
jne 0x260b7
movq 0x18(%rbp), %rsi
movl (%rsi), %eax
andl $0x7f, %eax
leal -0xf(%rax), %edi
cmpl $0x2, %edi
jae 0x25f83
cmpq %rbx, %rsi
je 0x260b7
movq 0x38(%rsi), %rsi
cmpl $0x6, 0x4(%rsi)
jne 0x260b7
movq 0x18(%rsi), %rdi
leaq -0x1(%rdi), %rsi
cmpq %rcx, %rsi
jae 0x260b7
addq %r9, %rdi
cmpl $0xf, %eax
jne 0x27004
andl $-0x80, %edx
orl $0xf, %edx
movl %edx, (%rbx)
jmp 0x2607b
movl %ecx, %eax
cmpq %rax, %r9
jge 0x26098
cmpl $0x3, 0x4(%rbp)
movl $0x0, %eax
jne 0x25f9c
movq 0x18(%rbp), %r15
testq %r15, %r15
je 0x25f97
movl (%r15), %eax
andl $0x7f, %eax
jmp 0x25f9c
movl 0x4(%rbp), %esi
movl %ecx, %eax
cmpl $0x3, %esi
jne 0x257fc
movq 0x18(%rbp), %rdi
movl %ecx, %eax
testq %rdi, %rdi
je 0x257fc
movl (%rdi), %r8d
andl $0x7f, %r8d
movl %ecx, %eax
cmpl $0x35, %r8d
jne 0x257fc
movq 0x40(%rdi), %rdi
movl %ecx, %eax
testq %rdi, %rdi
je 0x257fc
movl 0x50(%rdi), %eax
cmpl %ecx, %eax
cmovael %ecx, %eax
cmpl $0x6, %esi
jne 0x25836
movq 0x18(%rbp), %r8
movl $0x8, %edi
cmpq $0x100, %r8             # imm = 0x100
jb 0x25831
movl $0x10, %edi
cmpq $0x10000, %r8           # imm = 0x10000
jb 0x25831
xorl %edi, %edi
shrq $0x20, %r8
setne %dil
shll $0x5, %edi
addl $0x20, %edi
cmpl %eax, %edi
cmovbl %edi, %eax
movl %eax, %edi
cmpq %rdi, %r9
jge 0x26098
movl $0x0, %edi
cmpl $0x3, %esi
jne 0x26040
movq 0x18(%rbp), %r15
testq %r15, %r15
je 0x2603b
movl (%r15), %edi
andl $0x7f, %edi
jmp 0x26040
movq 0x30(%r15), %rcx
cmpl $0x6, 0x4(%rcx)
jne 0x260b7
movl $0xa, %edi
movq %rbp, %rdx
callq 0x28578
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 0x258d1
movl 0x4(%r15), %eax
cmpl $0x6, %eax
ja 0x258af
movl $0x43, %ecx
btl %eax, %ecx
jb 0x258d1
xorl %edi, %edi
callq 0x12220
movq 0x8(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq %rbx, (%rax)
addq $0x8, %r15
movq %r15, %rdi
movq %rax, %rsi
callq 0x2285b
movq (%r12), %r15
movq %r14, (%r12)
testq %r14, %r14
je 0x2590e
movl 0x4(%r14), %eax
cmpl $0x6, %eax
ja 0x258f1
movl $0x43, %ecx
btl %eax, %ecx
jb 0x2590e
xorl %edi, %edi
callq 0x12220
movq %r12, 0x8(%rax)
movq %rbx, (%rax)
addq $0x8, %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x2285b
movl $0x1, %r14d
testq %r15, %r15
je 0x260b7
movl 0x4(%r15), %eax
cmpl $0x6, %eax
ja 0x25934
movl $0x43, %ecx
btl %eax, %ecx
jb 0x260b7
leaq 0x8(%r15), %rdi
movq %r12, %rsi
jmp 0x25dd0
decq %r15
movq %r8, 0x10(%rsp)
andq %r8, %r15
movl $0x2d, %ecx
jmp 0x25a69
decq %r15
movq %r8, 0x10(%rsp)
andq %r8, %r15
movl $0x2f, %ecx
jmp 0x25a69
movabsq $0x7fffffffffffffff, %rdx # imm = 0x7FFFFFFFFFFFFFFF
shrq %cl, %rdx
xorl %r14d, %r14d
cmpq %r15, %rdx
jne 0x25a8a
movq %r8, 0x10(%rsp)
movl $0x28, %ecx
jmp 0x259b2
movabsq $0x7fffffffffffffff, %rdx # imm = 0x7FFFFFFFFFFFFFFF
shrq %cl, %rdx
xorl %r14d, %r14d
cmpq %r15, %rdx
jne 0x25a8a
movq %r8, 0x10(%rsp)
movl $0x2a, %ecx
xorl %r15d, %r15d
jmp 0x25a69
cmpl $0x34, %ecx
jg 0x25f3e
cmpl $0x16, %ecx
je 0x26f68
movq %r9, 0x10(%rsp)
cmpl $0x34, %ecx
jne 0x2567d
movq 0x8(%rbp), %rdi
callq 0x22603
testb %al, %al
movq 0x10(%rsp), %rsi
jne 0x2567d
movl (%rsi), %eax
movl %eax, %ecx
shrl $0x8, %ecx
andl $-0x80, %eax
orl $0x16, %eax
movl %eax, (%rsi)
movq 0x40(%rsi), %rdx
movq %rdx, 0x18(%rsi)
movl 0x50(%rdx), %edx
shll $0x8, %edx
movzbl %al, %eax
orl %edx, %eax
movl %eax, (%rsi)
negb %cl
movq $-0x1, %rdi
shrq %cl, %rdi
movq %rsi, %r14
callq 0x136d3
movq %rax, 0x38(%r14)
jmp 0x25f78
movl $0x0, %r14d
testq %r15, %rsi
je 0x25a8a
incq %r15
movq %r8, 0x10(%rsp)
andq %r8, %r15
movl $0x2a, %ecx
jmp 0x25a69
movl $0x0, %r14d
testq %r15, %rsi
je 0x25a8a
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 0x136d3
movq %rax, 0x38(%rbx)
movl $0x1, %r14d
movq 0x10(%rsp), %r8
xorl %r9d, %r9d
movq 0x8(%rsp), %rax
movq (%rax), %r15
movq (%r12), %rax
cmpl $0x3, 0x4(%r15)
jne 0x25ab6
movq 0x18(%r15), %r12
testq %r12, %r12
je 0x25ab0
movl (%r12), %r9d
andl $0x7f, %r9d
jmp 0x25ab6
xorl %r12d, %r12d
xorl %r9d, %r9d
movq 0x18(%rax), %rdx
cmpl $0x33, %r9d
jle 0x25b69
cmpl $0x34, %r9d
je 0x25bc2
cmpl $0x35, %r9d
je 0x25c37
cmpl $0x36, %r9d
jne 0x260b7
movq 0x40(%r12), %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
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 0x25e00
movq %rsi, 0x40(%rbx)
callq 0x136d3
movq %rax, 0x38(%rbx)
movq 0x30(%r12), %r14
movq 0x30(%rbx), %r15
jmp 0x25d63
cmpl $0x16, %r9d
je 0x25c9e
cmpl $0x17, %r9d
jne 0x260b7
movq 0x38(%r12), %rax
cmpl $0x6, 0x4(%rax)
jne 0x260b7
movl (%rbx), %ecx
andl $0x7f, %ecx
addl $-0x27, %ecx
cmpl $0x9, %ecx
ja 0x260b7
movq 0x18(%rax), %rax
leaq 0x2248c(%rip), %rsi     # 0x48034
movslq (%rsi,%rcx,4), %rcx
addq %rsi, %rcx
jmpq *%rcx
notq %rdx
testq %rdx, %rax
je 0x260b7
jmp 0x26e99
movq 0x40(%r12), %rax
movl 0x50(%rax), %ebp
movl (%rbx), %eax
andl $0x7f, %eax
cmpl $0x30, %eax
je 0x25bdd
cmpl $0x27, %eax
jne 0x260b7
movq %r8, %r15
movq 0x20(%r12), %rax
movq 0x8(%rax), %rdi
callq 0x22603
testb %al, %al
jne 0x260b7
movq 0x40(%r12), %rax
movq %rax, 0x40(%rbx)
movq 0x40(%r12), %rax
movq %rax, 0x18(%r12)
movzbl (%r12), %eax
shll $0x8, %ebp
orl %eax, %ebp
movl %ebp, (%r12)
movq %r15, %rdi
callq 0x136d3
movq %rax, 0x38(%r12)
movl (%r12), %eax
andl $-0x80, %eax
orl $0x16, %eax
movl %eax, (%r12)
jmp 0x26dad
movq 0x40(%r12), %rax
xorl %ecx, %ecx
subb 0x50(%rax), %cl
movq $-0x1, %rax
shrq %cl, %rax
movl (%rbx), %ecx
movl %ecx, %esi
andl $0x7f, %esi
cmpq %rax, %rdx
jbe 0x25d36
addl $-0x28, %esi
cmpl $0x7, %esi
ja 0x260b7
leaq 0x22386(%rip), %rcx     # 0x47ff4
movslq (%rcx,%rsi,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 0x26e99
jmp 0x26ea9
movq 0x38(%r12), %rcx
cmpl $0x6, 0x4(%rcx)
jne 0x260b7
movl (%rbx), %eax
movl %eax, %edi
andl $0x7f, %edi
leal -0x27(%rdi), %r8d
cmpl $0x9, %r8d
ja 0x260b7
movq 0x18(%rcx), %rsi
leaq 0x2238f(%rip), %rcx     # 0x4805c
movslq (%rcx,%r8,4), %r8
addq %rcx, %r8
jmpq *%r8
movb 0x1(%r12), %cl
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 0x260b7
orq %rdx, %rcx
movb %dil, %r8b
subq %r8, %rcx
js 0x26e99
cmpq %rsi, %rcx
jge 0x26ea9
testq %rcx, %rcx
jne 0x260b7
andl $-0x80, %eax
orl $0x27, %eax
jmp 0x25ef8
leaq 0x1cf13(%rip), %rax     # 0x42c50
movq (%rax,%rsi,8), %rax
btq $0x2e, %rax
jae 0x25d55
shrl $0x10, %eax
andl $0x7f, %eax
andl $-0x80, %ecx
orl %eax, %ecx
movl %ecx, (%rbx)
movq 0x40(%r12), %rax
movq %rax, 0x40(%rbx)
movq 0x30(%r12), %r14
movq %r14, 0x30(%rbx)
testq %r14, %r14
je 0x25da1
movl 0x4(%r14), %eax
cmpl $0x6, %eax
ja 0x25d7f
movl $0x43, %ecx
btl %eax, %ecx
jb 0x25da1
xorl %edi, %edi
callq 0x12220
movq 0x8(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq %rbx, (%rax)
addq $0x8, %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x2285b
movl $0x1, %r14d
testq %r15, %r15
je 0x260b7
movl 0x4(%r15), %eax
cmpl $0x6, %eax
ja 0x25dc7
movl $0x43, %ecx
btl %eax, %ecx
jb 0x260b7
leaq 0x8(%r15), %rdi
movq 0x8(%rsp), %rsi
callq 0x2830b
cmpq $0x0, 0x8(%r15)
jne 0x260b7
movl 0x4(%r15), %eax
andl $-0x2, %eax
cmpl $0x2, %eax
jne 0x260b7
movq 0x18(%r15), %rdi
xorl %esi, %esi
callq 0x24adf
jmp 0x260b7
movl (%rbx), %eax
movl %eax, %ecx
andl $0x7f, %ecx
addl $-0x28, %ecx
cmpl $0x7, %ecx
ja 0x260b7
leaq 0x221fa(%rip), %rdi     # 0x48014
movslq (%rdi,%rcx,4), %rcx
addq %rdi, %rcx
jmpq *%rcx
cmpq %r9, %rdx
jae 0x26e99
jmp 0x26ea9
cmpq %r9, %rdx
jb 0x26e99
jmp 0x26ea9
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 0x26e99
jmp 0x26ea9
leaq 0x8(%rbp), %rdi
movq 0x8(%rsp), %rsi
callq 0x2830b
cmpq $0x0, 0x8(%rbp)
jne 0x2567d
movl 0x4(%rbp), %eax
andl $-0x2, %eax
cmpl $0x2, %eax
jne 0x2567d
movq 0x18(%rbp), %rdi
xorl %esi, %esi
callq 0x24adf
jmp 0x2567d
movb 0x1(%r12), %cl
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 0x260b7
orq %rdx, %rcx
movb %dil, %r8b
subq %r8, %rcx
js 0x26ea9
cmpq %rsi, %rcx
jge 0x26e99
testq %rcx, %rcx
jne 0x260b7
andl $-0x80, %eax
orl $0x30, %eax
movl %eax, (%rbx)
jmp 0x26dad
cmpq %r8, %rdx
jb 0x260b7
movq %rsi, 0x40(%rbx)
andl $-0x80, %eax
orl $0x28, %eax
jmp 0x25f27
cmpq %r8, %rdx
jb 0x260b7
movq %rsi, 0x40(%rbx)
andl $-0x80, %eax
orl $0x2a, %eax
movl %eax, (%rbx)
xorl %edi, %edi
callq 0x136d3
movq %rax, 0x38(%rbx)
movq 0x30(%r12), %rdx
jmp 0x26c2e
cmpl $0x35, %ecx
je 0x25f5f
cmpl $0x36, %ecx
jne 0x2567d
testq %r15, %r15
je 0x25f5f
movq 0x40(%r9), %rax
cmpl $0x1, 0x50(%rax)
je 0x2567d
movq 0x40(%r9), %rax
movq %rax, 0x40(%rbx)
movq 0x30(%r9), %rdx
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
callq 0x28833
movl $0x1, %r14d
jmp 0x2567d
cmpl $0x35, %eax
jne 0x260b7
andl $-0x80, %edx
orl $0xf, %edx
jmp 0x25244
xorl %r15d, %r15d
xorl %eax, %eax
addl $-0xf, %eax
cmpl $0x8, %eax
ja 0x2505b
leaq 0x220d5(%rip), %rsi     # 0x48084
movslq (%rsi,%rax,4), %rax
addq %rsi, %rax
jmpq *%rax
movq 0x38(%r15), %rax
movl $0x0, %r14d
cmpq (%r12), %rax
jne 0x260b7
movl %r9d, %eax
subl %ecx, %eax
movq $-0x1, %rdi
movl %eax, %ecx
shrq %cl, %rdi
movl %r9d, %ecx
shlq %cl, %rdi
jmp 0x26c19
movq 0x38(%r15), %rdx
cmpl $0x6, 0x4(%rdx)
jne 0x2505b
negb %cl
movq $-0x1, %rax
shrq %cl, %rax
movl %r9d, %ecx
shrq %cl, %rax
movq 0x18(%rdx), %rcx
andq %rax, %rcx
je 0x26e99
movl $0x0, %r14d
cmpq %rax, %rcx
jne 0x260b7
jmp 0x26c2a
movl %ecx, %eax
jmp 0x2605c
negb %cl
movq $-0x1, %rdx
jmp 0x26c4b
xorl %r15d, %r15d
xorl %edi, %edi
addl $-0xf, %edi
cmpl $0x8, %edi
ja 0x2505b
leaq 0x22055(%rip), %rsi     # 0x480a8
movslq (%rsi,%rdi,4), %rdi
addq %rsi, %rdi
jmpq *%rdi
cmpq %rbx, %r15
je 0x260b7
movq 0x38(%r15), %rdx
cmpl $0x6, 0x4(%rdx)
jne 0x260b7
movq 0x18(%rdx), %rdi
movl %ecx, %ecx
cmpq %rcx, %rdi
ja 0x260b7
addq %r9, %rdi
movl %eax, %ecx
movl %ecx, %eax
cmpq %rax, %rdi
jge 0x26098
callq 0x136d3
movq %rax, 0x38(%rbx)
movq 0x18(%rbp), %rax
movq 0x30(%rax), %rdx
jmp 0x26c2e
xorl %edi, %edi
callq 0x136d3
movq %rbx, %rdi
movq %rax, %rsi
callq 0x3c2b1
movq %rbx, %rdi
xorl %esi, %esi
callq 0x24adf
movl %eax, %r14d
testl %r14d, %r14d
jne 0x2703e
testb $0x4, %r13b
je 0x261a5
movq 0x38(%rbx), %r15
movl 0x4(%r15), %eax
leal -0x7(%rax), %ecx
xorl %r14d, %r14d
movb $0x1, %bpl
cmpl $-0x2, %ecx
jb 0x2619c
movq 0x30(%rbx), %rcx
cmpl $0x3, 0x4(%rcx)
jne 0x2619c
movq 0x18(%rcx), %r12
cmpq %rbx, %r12
je 0x2619c
movl (%rbx), %esi
movl (%r12), %ecx
xorl %esi, %ecx
testb $0x7f, %cl
jne 0x2619c
movq 0x38(%r12), %rcx
movl 0x4(%rcx), %edx
leal -0x7(%rdx), %edi
cmpl $-0x2, %edi
jb 0x2619c
leaq 0x30(%r12), %rdi
cmpl $0x6, %eax
jne 0x26163
cmpl $0x6, %edx
jne 0x26163
leaq 0x30(%rbx), %r14
movq %rdi, %r12
movl %esi, %edi
andl $0x7f, %edi
shrl $0x8, %esi
movq %r15, %rdx
callq 0x28578
movq %rax, 0x38(%rbx)
movq (%r12), %rdx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x28833
movl $0x1, %r14d
xorl %ebp, %ebp
jmp 0x2619c
movq %rdi, 0x8(%rsp)
movq (%rdi), %rdi
movq %r15, %rsi
callq 0x283c7
testl %eax, %eax
jne 0x2619c
movq %r15, %rdi
movq %r12, %rsi
callq 0x28e73
testb %al, %al
je 0x2619c
leaq 0x38(%rbx), %rcx
movq %r12, %rdi
movq 0x8(%rsp), %rsi
movq %rbx, %rdx
callq 0x283fe
jmp 0x26159
testb %bpl, %bpl
je 0x2703e
testb $0x8, %r13b
je 0x264da
movq 0x30(%rbx), %rax
movl 0x4(%rax), %edx
cmpl $0x6, %edx
jne 0x261cb
movq %rbx, %rdi
callq 0x28f3b
movl %eax, %r14d
jmp 0x264d1
leaq 0x30(%rbx), %r15
movl (%rbx), %esi
movl %esi, %ecx
andl $0x7f, %ecx
xorl %r14d, %r14d
cmpl $0x32, %ecx
je 0x26206
cmpl $0x31, %ecx
jne 0x264d1
xorl %r14d, %r14d
movl $0x0, %ecx
cmpl $0x3, %edx
jne 0x26232
movq 0x18(%rax), %r12
testq %r12, %r12
je 0x2622d
movl (%r12), %ecx
andl $0x7f, %ecx
jmp 0x26232
movl $0x0, %ecx
cmpl $0x3, %edx
jne 0x262b4
movq 0x18(%rax), %r12
testq %r12, %r12
je 0x262af
movl (%r12), %ecx
andl $0x7f, %ecx
jmp 0x262b4
xorl %r12d, %r12d
xorl %ecx, %ecx
cmpl $0x17, %ecx
jle 0x2625d
cmpl $0x18, %ecx
je 0x26438
cmpl $0x31, %ecx
je 0x26330
cmpl $0x32, %ecx
jne 0x264d1
andl $-0x80, %esi
orl $0xa, %esi
jmp 0x26384
cmpl $0x8, %ecx
je 0x2647b
cmpl $0xa, %ecx
jne 0x264d1
movq 0x30(%r12), %rax
cmpl $0x6, 0x4(%rax)
jne 0x264d1
movl %esi, %eax
andl $-0x80, %eax
orl $0x8, %eax
movl %eax, (%rbx)
shrl $0x8, %esi
movq 0x30(%r12), %rdx
leaq 0x40739(%rip), %rcx     # 0x669d0
movl $0x31, %edi
callq 0x28578
movq %rax, 0x38(%rbx)
movq 0x38(%r12), %rdx
jmp 0x26473
xorl %r12d, %r12d
xorl %ecx, %ecx
cmpl $0x30, %ecx
jg 0x26322
cmpl $0x8, %ecx
je 0x2634c
cmpl $0xa, %ecx
jne 0x264d1
andl $-0x80, %esi
orl $0xa, %esi
movl %esi, (%rbx)
movq 0x30(%r12), %r14
movq %r14, 0x38(%rbx)
testq %r14, %r14
je 0x26315
movl 0x4(%r14), %eax
cmpl $0x6, %eax
ja 0x262f4
movl $0x43, %ecx
btl %eax, %ecx
jb 0x26315
leaq 0x38(%rbx), %r13
xorl %edi, %edi
callq 0x12220
movq %r13, 0x8(%rax)
movq %rbx, (%rax)
addq $0x8, %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x2285b
movq 0x38(%r12), %r14
movq (%r15), %r12
movq %r14, (%r15)
jmp 0x263a1
cmpl $0x31, %ecx
je 0x2637e
cmpl $0x32, %ecx
jne 0x264d1
movq 0x30(%r12), %rsi
movq %rbx, %rdi
callq 0x3c2b1
movq %rbx, %rdi
xorl %esi, %esi
callq 0x24adf
jmp 0x261c3
movq 0x38(%r12), %rax
cmpl $0x6, 0x4(%rax)
jne 0x264d1
movl %esi, %eax
andl $-0x80, %eax
orl $0xa, %eax
movl %eax, (%rbx)
shrl $0x8, %esi
movq 0x38(%r12), %rdx
leaq 0x4065c(%rip), %rcx     # 0x669d0
movl $0x32, %edi
jmp 0x264a4
andl $-0x80, %esi
orl $0x8, %esi
movl %esi, (%rbx)
movl $0x1, %edi
callq 0x136d3
movq %rax, 0x38(%rbx)
movq 0x30(%r12), %r14
movq 0x30(%rbx), %r12
movq %r14, 0x30(%rbx)
testq %r14, %r14
je 0x263d6
movl 0x4(%r14), %eax
cmpl $0x6, %eax
ja 0x263b9
movl $0x43, %ecx
btl %eax, %ecx
jb 0x263d6
xorl %edi, %edi
callq 0x12220
movq %r15, 0x8(%rax)
movq %rbx, (%rax)
addq $0x8, %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x2285b
movl $0x1, %r14d
testq %r12, %r12
je 0x264d1
movl 0x4(%r12), %eax
cmpl $0x6, %eax
ja 0x263fd
movl $0x43, %ecx
btl %eax, %ecx
jb 0x264d1
leaq 0x8(%r12), %rdi
movq %r15, %rsi
callq 0x2830b
cmpq $0x0, 0x8(%r12)
jne 0x264d1
movl 0x4(%r12), %eax
andl $-0x2, %eax
cmpl $0x2, %eax
jne 0x264d1
movq 0x18(%r12), %rdi
xorl %esi, %esi
callq 0x24adf
jmp 0x264d1
movq 0x38(%r12), %rax
cmpl $0x6, 0x4(%rax)
jne 0x264d1
movl %esi, %eax
andl $-0x80, %eax
orl $0x18, %eax
movl %eax, (%rbx)
shrl $0x8, %esi
movq 0x38(%r12), %rdx
leaq 0x40570(%rip), %rcx     # 0x669d0
movl $0x31, %edi
callq 0x28578
movq %rax, 0x38(%rbx)
movq 0x30(%r12), %rdx
movq %rbx, %rdi
movq %r15, %rsi
jmp 0x264c6
movq 0x38(%r12), %rax
cmpl $0x6, 0x4(%rax)
jne 0x264d1
movl %esi, %eax
andl $-0x80, %eax
orl $0xa, %eax
movl %eax, (%rbx)
shrl $0x8, %esi
movq 0x38(%r12), %rdx
leaq 0x40531(%rip), %rcx     # 0x669d0
movl $0x31, %edi
callq 0x28578
movq %rax, %r14
movq 0x30(%r12), %rsi
leaq 0x38(%rbx), %rdx
movq %rbx, %rdi
callq 0x28528
movq %rbx, %rdi
movq %r15, %rsi
movq %r14, %rdx
callq 0x28833
movl $0x1, %r14d
testl %r14d, %r14d
jne 0x2703e
movl (%rbx), %ebp
movl %ebp, %eax
andl $0x7f, %eax
xorl %r14d, %r14d
leal -0x4(%rax), %ecx
cmpl $0x44, %ecx
ja 0x26805
leaq 0x21bd5(%rip), %rdx     # 0x480cc
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movq 0x30(%rbx), %r13
xorl %r14d, %r14d
cmpl $0x3, 0x4(%r13)
jne 0x26527
movq 0x18(%r13), %rcx
testq %rcx, %rcx
je 0x26527
movl (%rcx), %edx
andl $0x7f, %edx
addl $-0x35, %edx
cmpl $0x2, %edx
setb %dl
jmp 0x2652b
xorl %ecx, %ecx
xorl %edx, %edx
testb %dl, %dl
je 0x2703e
movq 0x38(%rbx), %rsi
movl (%rcx), %edx
andl $0x7f, %edx
xorl %r14d, %r14d
cmpl $0x3, 0x4(%rsi)
jne 0x26569
movq 0x18(%rsi), %rsi
movl (%rsi), %edi
andl $0x7f, %edi
cmpl %edx, %edi
jne 0x26569
movq 0x40(%rcx), %rdi
movl 0x50(%rdi), %edi
movq 0x40(%rsi), %r8
cmpl %edi, 0x50(%r8)
jne 0x26569
movq 0x30(%rsi), %r15
jmp 0x2656c
xorl %r15d, %r15d
testq %r15, %r15
je 0x2703e
cmpl $0x35, %edx
jne 0x26599
leaq 0x1c6cf(%rip), %rdx     # 0x42c50
movq (%rdx,%rax,8), %rax
btq $0x2e, %rax
jae 0x26599
shrl $0x10, %eax
andl $0x7f, %eax
andl $-0x80, %ebp
orl %eax, %ebp
movl %ebp, (%rbx)
leaq 0x30(%rbx), %r14
movq 0x40(%rcx), %rax
movq %rax, 0x40(%rbx)
movq 0x30(%rcx), %r12
movq %r12, 0x30(%rbx)
testq %r12, %r12
je 0x265e3
movl 0x4(%r12), %eax
cmpl $0x6, %eax
ja 0x265c6
movl $0x43, %ecx
btl %eax, %ecx
jb 0x265e3
xorl %edi, %edi
callq 0x12220
movq %r14, 0x8(%rax)
movq %rbx, (%rax)
addq $0x8, %r12
movq %r12, %rdi
movq %rax, %rsi
callq 0x2285b
leaq 0x38(%rbx), %r12
testq %r13, %r13
je 0x26607
movl 0x4(%r13), %eax
cmpl $0x6, %eax
ja 0x2694f
movl $0x43, %ecx
btl %eax, %ecx
jae 0x2694f
movq (%r12), %r13
movq %r15, (%r12)
movl 0x4(%r15), %eax
cmpl $0x6, %eax
ja 0x26622
movl $0x43, %ecx
btl %eax, %ecx
jb 0x2663f
xorl %edi, %edi
callq 0x12220
movq %r12, 0x8(%rax)
movq %rbx, (%rax)
addq $0x8, %r15
movq %r15, %rdi
movq %rax, %rsi
callq 0x2285b
movl $0x1, %r14d
testq %r13, %r13
je 0x2703e
movl 0x4(%r13), %eax
cmpl $0x6, %eax
ja 0x26665
movl $0x43, %ecx
btl %eax, %ecx
jb 0x2703e
leaq 0x8(%r13), %rdi
movq %r12, %rsi
callq 0x2830b
cmpq $0x0, 0x8(%r13)
jne 0x2703e
movl 0x4(%r13), %eax
andl $-0x2, %eax
cmpl $0x2, %eax
jne 0x2703e
movq 0x18(%r13), %rdi
xorl %esi, %esi
callq 0x24adf
jmp 0x2703e
movq 0x30(%rbx), %rdx
movl 0x4(%rdx), %esi
cmpl $0x6, %esi
jne 0x266e5
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x28f3b
movq 0x30(%rbx), %rsi
movq %rbx, %rdi
callq 0x3c2b1
jmp 0x24dc3
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x272f5
movq 0x18(%rdx), %r15
xorl %r14d, %r14d
movl $0x0, %ecx
cmpl $0x3, %esi
jne 0x266fc
movl (%r15), %ecx
andl $0x7f, %ecx
leaq 0x30(%rbx), %r12
leal -0x19(%rcx), %esi
cmpl $0x18, %esi
jae 0x26986
leal -0x34(%rax), %ecx
cmpl $0x2, %ecx
jae 0x2692f
movl (%r15), %eax
andl $0x7f, %eax
andl $-0x80, %ebp
orl %eax, %ebp
movl %ebp, (%rbx)
movq 0x40(%r15), %rax
movq %rax, 0x40(%rbx)
movq 0x38(%r15), %r14
movq %r14, 0x38(%rbx)
testq %r14, %r14
je 0x2676e
movl 0x4(%r14), %eax
cmpl $0x6, %eax
ja 0x2674d
movl $0x43, %ecx
btl %eax, %ecx
jb 0x2676e
leaq 0x38(%rbx), %r13
xorl %edi, %edi
callq 0x12220
movq %r13, 0x8(%rax)
movq %rbx, (%rax)
addq $0x8, %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x2285b
movq 0x30(%r15), %r14
movq (%r12), %r15
movq %r14, (%r12)
testq %r14, %r14
je 0x267af
movl 0x4(%r14), %eax
cmpl $0x6, %eax
ja 0x26792
movl $0x43, %ecx
btl %eax, %ecx
jb 0x267af
xorl %edi, %edi
callq 0x12220
movq %r12, 0x8(%rax)
movq %rbx, (%rax)
addq $0x8, %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x2285b
movl $0x1, %r14d
testq %r15, %r15
je 0x2703e
movl 0x4(%r15), %eax
cmpl $0x6, %eax
ja 0x267d5
movl $0x43, %ecx
btl %eax, %ecx
jb 0x2703e
leaq 0x8(%r15), %rdi
movq %r12, %rsi
callq 0x2830b
cmpq $0x0, 0x8(%r15)
jne 0x2703e
movl 0x4(%r15), %eax
andl $-0x2, %eax
cmpl $0x2, %eax
jne 0x2703e
movq 0x18(%r15), %rdi
jmp 0x26690
cmpl $0x50, %eax
jne 0x2703e
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x282c9
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2722c
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x272b2
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2706b
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2726f
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x28018
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x27f53
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x270ae
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x27d6c
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2781d
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x27587
movq 0x30(%rbx), %rax
cmpb $0x17, (%rax)
jne 0x2703e
andl $-0x80, %ebp
orl $0x47, %ebp
movl %ebp, (%rbx)
movq 0x20(%rax), %rax
movq 0xd0(%rax), %rax
movq %rax, 0x38(%rbx)
movl $0x1, %r14d
jmp 0x2703e
cmpl $0x36, %eax
jne 0x2703e
movl %ebp, %eax
andl $0xffffff00, %eax       # imm = 0xFFFFFF00
cmpl $0x100, %eax            # imm = 0x100
jne 0x26718
jmp 0x2703e
leaq 0x8(%r13), %rdi
movq %r14, %rsi
callq 0x2830b
cmpq $0x0, 0x8(%r13)
jne 0x26607
movl 0x4(%r13), %eax
andl $-0x2, %eax
cmpl $0x2, %eax
jne 0x26607
movq 0x18(%r13), %rdi
xorl %esi, %esi
callq 0x24adf
jmp 0x26607
movl %ebp, %r13d
shrl $0x8, %r13d
leal -0xf(%rcx), %esi
cmpl $0x8, %esi
jbe 0x26a05
addl $-0x31, %ecx
cmpl $0x5, %ecx
ja 0x2703e
leaq 0x2185c(%rip), %rsi     # 0x48204
movslq (%rsi,%rcx,4), %rcx
addq %rsi, %rcx
jmpq *%rcx
cmpl $0x34, %eax
jne 0x2703e
movq 0x8(%rdx), %rdi
callq 0x22603
testb %al, %al
jne 0x2703e
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 0x26924
leaq 0x217d4(%rip), %rcx     # 0x481e0
movslq (%rcx,%rsi,4), %rsi
addq %rcx, %rsi
jmpq *%rsi
cmpl $0x34, %eax
jne 0x2703e
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 0x28dd3
cmpl $0x34, %eax
jne 0x2703e
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 0x289e6
movq 0x38(%r15), %r12
cmpl $0x6, 0x4(%r12)
jne 0x2703e
cmpl $0x36, %eax
je 0x26f9d
cmpl $0x35, %eax
je 0x26fb7
cmpl $0x34, %eax
jne 0x2703e
movq 0x8(%rdx), %rdi
callq 0x22603
testb %al, %al
jne 0x2703e
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
andq 0x18(%r12), %rdi
callq 0x136d3
jmp 0x26920
cmpl $0x36, %eax
je 0x26f2b
cmpl $0x35, %eax
je 0x26ef6
cmpl $0x34, %eax
je 0x26c6d
jmp 0x2703e
cmpl $0x36, %eax
je 0x26c6d
cmpl $0x34, %eax
je 0x26b5a
jmp 0x2703e
cmpl $0x34, %eax
je 0x26b5a
cmpl $0x35, %eax
je 0x26c6d
cmpl $0x36, %eax
jne 0x2703e
andl $-0x80, %ebp
orl $0x35, %ebp
jmp 0x26c6b
movq 0x40(%r15), %rax
cmpl 0x50(%rax), %r13d
jne 0x26c5e
movq 0x30(%r15), %rsi
jmp 0x266c2
movq 0x38(%r15), %rdx
cmpl $0x6, 0x4(%rdx)
jne 0x2505b
movl %r9d, %eax
subl %ecx, %eax
movq $-0x1, %rsi
movl %eax, %ecx
shrq %cl, %rsi
movq %r9, 0x10(%rsp)
movl %r9d, %ecx
shlq %cl, %rsi
movq 0x18(%rdx), %r12
movq %r12, %rax
andq %rsi, %rax
je 0x26e99
cmpq %rsi, %rax
je 0x26c2a
movq 0x8(%rbp), %rdi
callq 0x22603
movl $0x0, %r14d
testb %al, %al
jne 0x260b7
movl (%r15), %eax
andl $-0x80, %eax
orl $0xf, %eax
movl %eax, (%r15)
movq 0x38(%rbx), %rax
movq %rax, 0x38(%r15)
movl (%rbx), %eax
andl $-0x80, %eax
orl $0x16, %eax
movl %eax, (%rbx)
movq 0x10(%rsp), %rcx
shrq %cl, %r12
movq %r12, %rdi
jmp 0x26da4
movq 0x38(%r15), %rax
movl $0x0, %r14d
cmpq (%r12), %rax
jne 0x260b7
subl %ecx, %r9d
movq $-0x1, %rdi
movl %r9d, %ecx
shrq %cl, %rdi
andl $-0x80, %edx
orl $0x16, %edx
movl %edx, (%rbx)
callq 0x136d3
movq %rax, 0x38(%rbx)
movq 0x30(%r15), %rdx
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
callq 0x28833
jmp 0x26dad
negb %al
movq $-0x1, %rdx
movl %eax, %ecx
shrq %cl, %rdx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x289af
jmp 0x260b4
jle 0x26c6d
movl (%r15), %eax
andl $0x7f, %eax
andl $-0x80, %ebp
orl %eax, %ebp
movl %ebp, (%rbx)
movq 0x40(%r15), %rax
movq %rax, 0x40(%rbx)
movq 0x30(%r15), %rdx
movq %rbx, %rdi
movq %r12, %rsi
callq 0x28833
jmp 0x26924
movq %rsi, %rcx
notq %rcx
testq %rcx, %rdx
jne 0x26e99
cmpq %rsi, %rdx
jne 0x260b7
testq %rsi, %rsi
je 0x260b7
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 0x260b7
andl $-0x80, %eax
orl $0x30, %eax
jmp 0x26da0
movq %rsi, %rcx
notq %rcx
testq %rcx, %rdx
jne 0x26ea9
cmpq %rsi, %rdx
jne 0x260b7
testq %rsi, %rsi
je 0x260b7
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 0x260b7
andl $-0x80, %eax
orl $0x27, %eax
movl %eax, (%rbx)
xorl %edi, %edi
callq 0x136d3
movq %rax, 0x38(%rbx)
movl $0x1, %r14d
jmp 0x260b7
decq %rdx
movl (%r12), %ecx
shrl $0x8, %ecx
decl %ecx
movl $0x1, %esi
shlq %cl, %rsi
btq %rcx, %rax
jae 0x260b7
andq %rdx, %rsi
movq $-0x1, %rax
shlq %cl, %rax
testq %rsi, %rsi
cmoveq %rsi, %rax
orq %rdx, %rax
cmpq $-0x1, %rax
jl 0x260b7
jmp 0x26e99
notq %rdx
testq %rdx, %rax
je 0x260b7
jmp 0x26ea9
decq %rdx
movl (%r12), %ecx
shrl $0x8, %ecx
decl %ecx
movl $0x1, %esi
shlq %cl, %rsi
btq %rcx, %rax
jae 0x260b7
andq %rdx, %rsi
movq $-0x1, %rax
shlq %cl, %rax
testq %rsi, %rsi
cmoveq %rsi, %rax
orq %rdx, %rax
cmpq $-0x1, %rax
jl 0x260b7
jmp 0x26ea9
cmpq %rsi, %rdx
jbe 0x260b7
jmp 0x26e99
cmpq %rdx, %rax
jbe 0x260b7
jmp 0x26ea9
cmpq %rsi, %rdx
jbe 0x260b7
jmp 0x26ea9
cmpq %rsi, %rdx
jb 0x260b7
jmp 0x26ea9
cmpq %rsi, %rdx
jb 0x260b7
jmp 0x26e99
cmpq %rdx, %rax
jb 0x260b7
jmp 0x26e99
cmpq %rdx, %rax
jbe 0x260b7
movq %rbx, %rdi
xorl %esi, %esi
jmp 0x26eb1
cmpq %rdx, %rax
jb 0x260b7
movl $0x1, %esi
movq %rbx, %rdi
callq 0x288dc
jmp 0x260b4
leaq 0x8(%r12), %rdi
movq %r15, %rsi
callq 0x2830b
cmpq $0x0, 0x8(%r12)
jne 0x25399
movl 0x4(%r12), %eax
andl $-0x2, %eax
cmpl $0x2, %eax
jne 0x25399
movq 0x18(%r12), %rdi
xorl %esi, %esi
callq 0x24adf
jmp 0x25399
movq 0x40(%r15), %rax
cmpl 0x50(%rax), %r13d
jne 0x2703e
andl $-0x80, %ebp
orl $0x16, %ebp
movl %ebp, (%rbx)
movb 0x1(%r15), %cl
movq $-0x1, %rdi
shlq %cl, %rdi
notq %rdi
callq 0x136d3
movq %rax, 0x38(%rbx)
jmp 0x26c75
movq 0x40(%r15), %rax
cmpl 0x50(%rax), %r13d
jne 0x2703e
movq 0x30(%r15), %rax
xorl %r14d, %r14d
cmpl $0x3, 0x4(%rax)
jne 0x27002
movq 0x18(%rax), %rbp
testq %rbp, %rbp
je 0x27015
movl (%rbp), %eax
andl $0x7f, %eax
cmpl $0xf, %eax
sete %al
jmp 0x27019
cmpq %rax, %r15
je 0x2567d
xorl %edx, %esi
cmpl $0xff, %esi
ja 0x2567d
movq 0x38(%r9), %rax
cmpl $0x6, 0x4(%rax)
jne 0x2567d
cmpq $0x1, 0x18(%rax)
je 0x251e3
jmp 0x2567d
movb 0x1(%r15), %cl
decb %cl
movl $0x1, %eax
shll %cl, %eax
cltq
testq %rax, 0x18(%r12)
jne 0x2703e
movq 0x8(%rdx), %rdi
callq 0x22603
testb %al, %al
jne 0x2703e
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 %r12, 0x38(%rbx)
jmp 0x26924
jmp 0x27017
cmpq %rcx, %rdi
jl 0x2607b
leal -0x1(%rcx), %edi
jmp 0x2607b
xorl %ebp, %ebp
xorl %eax, %eax
testb %al, %al
je 0x2703e
movq 0x38(%rbp), %rax
movq %rax, 0x8(%rsp)
movl (%r15), %eax
shrl $0x8, %eax
subl %eax, %r13d
movslq %r13d, %rdi
callq 0x136d3
cmpq %rax, 0x8(%rsp)
je 0x27050
movl %r14d, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl (%rbx), %eax
andl $-0x80, %eax
orl $0x10, %eax
movl %eax, (%rbx)
movq 0x38(%rbp), %rax
movq %rax, 0x38(%rbx)
movq 0x30(%rbp), %rdx
jmp 0x26c79