// File: /workspace/github_cpp_makefile_star2_O2/cphinton42[P]hinton-language/src/check.cpp
// Function: do_typecheck_job(Context*, Job)
bool do_typecheck_job(Context *ctx, Job job)
{
    Expr_AST *type = job.typecheck.type;
    AST *ast = job.typecheck.ast;
    
    switch(ast->type)
    {
        case AST_Type::decl_ast: {
            Decl_AST *decl_ast = static_cast<Decl_AST*>(ast);
            assert(type == nullptr);
            return typecheck_decl(ctx, job.stage, decl_ast);
        } break;
        case AST_Type::block_ast: {
            Block_AST *block_ast = static_cast<Block_AST*>(ast);
            assert(type == nullptr);
            for(u64 i = 0; i < block_ast->statements.count; ++i)
            {
                auto job = make_typecheck_job(nullptr, block_ast->statements[i]);
                do_typecheck_job(ctx, job);
            }
            return true;
        } break;
        case AST_Type::while_ast: {
            While_AST *while_ast = static_cast<While_AST*>(ast);
            assert(type == nullptr);
            
            auto job = make_typecheck_job(&boollike_t_ast, while_ast->guard);
            do_typecheck_job(ctx, job);
            job = make_typecheck_job(nullptr, while_ast->body);
            do_typecheck_job(ctx, job);
            return true;
        } break;
        case AST_Type::for_ast: {
            For_AST *for_ast = static_cast<For_AST*>(ast);
            assert(type == nullptr);
            
            if(for_ast->flags & FOR_FLAG_OVER_ARRAY)
            {
                // TODO: once built-in arrays are a thing, check this
                report_error("For loop over array not yet supported at type level", for_ast);
                ctx->success = false;
            }
            else
            {
                // TODO: find best type? (change to u64 if out of range for s64?)
                // If ints can't downcast, it might be a pain for 'it' to be big
                set_resolved_type(for_ast->induction_var, &s64_t_ast);
                
                auto job = make_typecheck_job(&intlike_t_ast, for_ast->low_expr);
                do_typecheck_job(ctx, job);
                job = make_typecheck_job(&intlike_t_ast, for_ast->high_expr);
                do_typecheck_job(ctx, job);
            }
            
            auto job = make_typecheck_job(nullptr, for_ast->body);
            do_typecheck_job(ctx, job);
            return true;
        } break;
        case AST_Type::if_ast: {
            If_AST *if_ast = static_cast<If_AST*>(ast);
            assert(type == nullptr);
            
            auto job = make_typecheck_job(&boollike_t_ast, if_ast->guard);
            do_typecheck_job(ctx, job);
            job = make_typecheck_job(nullptr, if_ast->then_block);
            do_typecheck_job(ctx, job);
            if(if_ast->else_block)
            {
                job = make_typecheck_job(nullptr, if_ast->else_block);
                do_typecheck_job(ctx, job);
            }
            return true;
        } break;
        case AST_Type::assign_ast: {
            Assign_AST *assign_ast = static_cast<Assign_AST*>(ast);
            assert(type == nullptr);
            return typecheck_assign(ctx, job.stage, assign_ast);
        } break;
        case AST_Type::return_ast: {
            Return_AST *return_ast = static_cast<Return_AST*>(ast);
            assert(type == nullptr);
            assert(job.stage == 0);
            return typecheck_return(ctx, return_ast);
        } break;
        
        case AST_Type::ident_ast: {
            Ident_AST *ident_ast = static_cast<Ident_AST*>(ast);
            return typecheck_ident(ctx, job.stage, type, ident_ast);
        } break;
        case AST_Type::function_type_ast: {
            Function_Type_AST *function_type_ast = static_cast<Function_Type_AST*>(ast);
            return typecheck_function_type(ctx, job.stage, type, function_type_ast);
        } break;
        case AST_Type::function_ast: {
            Function_AST *function_ast = static_cast<Function_AST*>(ast);
            return typecheck_function(ctx, job.stage, type, function_ast);
        } break;
        case AST_Type::function_call_ast: {
            Function_Call_AST *function_call_ast = static_cast<Function_Call_AST*>(ast);
            return typecheck_function_call(ctx, job.stage, type, function_call_ast);
        } break;
        case AST_Type::access_ast: {
            Access_AST *access_ast = static_cast<Access_AST*>(ast);
            return typecheck_access(ctx, job.stage, type, access_ast);
        } break;
        case AST_Type::binary_operator_ast: {
            Binary_Operator_AST *binop_ast = static_cast<Binary_Operator_AST*>(ast);
            return typecheck_binop_ast(ctx, job.stage, type, binop_ast);
        } break;
        case AST_Type::number_ast: {
            Number_AST *number_ast = static_cast<Number_AST*>(ast);
            assert(job.stage == 0);
            return typecheck_number(ctx, type, number_ast);
        } break;
        case AST_Type::enum_ast: {
            Enum_AST *enum_ast = static_cast<Enum_AST*>(ast);
            return typecheck_enum(ctx, job.stage, type, enum_ast);
        } break;
        case AST_Type::struct_ast: {
            Struct_AST *struct_ast = static_cast<Struct_AST*>(ast);
            return typecheck_struct(ctx, job.stage, type, struct_ast);
        } break;
        case AST_Type::unary_ast: {
            Unary_Operator_AST *unop_ast = static_cast<Unary_Operator_AST*>(ast);
            return typecheck_unary(ctx, job.stage, type, unop_ast);
        } break;
        case AST_Type::primitive_ast: {
            Primitive_AST *prim_ast = static_cast<Primitive_AST*>(ast);
            assert(job.stage == 0);
            return typecheck_primitive(ctx, type, prim_ast);
        } break;
        case AST_Type::string_ast: {
            String_AST *string_ast = static_cast<String_AST*>(ast);
            assert(job.stage == 0);
            return typecheck_string(ctx, type, string_ast);
        } break;
        case AST_Type::bool_ast: {
            Bool_AST *bool_ast = static_cast<Bool_AST*>(ast);
            assert(job.stage == 0);
            return typecheck_bool(ctx, type, bool_ast);
        } break;
    }
    
    assert(false);
    return false;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x158, %rsp            # imm = 0x158
movq %rdi, 0x18(%rsp)
leaq 0x190(%rsp), %rbx
movq 0x8(%rbx), %r15
movq 0x10(%rbx), %r14
xorl %ecx, %ecx
leaq 0xa075(%rip), %r12      # 0xe060
leaq 0x10e86(%rip), %r13     # 0x14e78
movzwl (%r14), %eax
cmpq $0x13, %rax
ja 0x6005
movslq (%r12,%rax,4), %rax
addq %r12, %rax
pushq $0x1
popq %rbp
jmpq *%rax
testq %r15, %r15
jne 0x5fcf
movq 0x10(%r14), %rax
andq $0x0, 0x108(%rsp)
movq %r13, 0x110(%rsp)
movq %rax, 0x118(%rsp)
movq %rax, 0x10(%rsp)
movups 0x108(%rsp), %xmm0
movups %xmm0, (%rsp)
movq 0x18(%rsp), %rdi
callq 0x3fbc
pushq $0x18
jmp 0x419b
testq %r15, %r15
jne 0x5fe8
testb $0x8, 0x2(%r14)
jne 0x4181
movq 0x10(%r14), %rax
movq $0x1, 0x10(%rax)
leaq 0x10c1d(%rip), %rcx     # 0x14c98
movq %rcx, 0x18(%rax)
movq 0x18(%r14), %rax
andq $0x0, 0xf0(%rsp)
leaq 0x10d6d(%rip), %r15     # 0x14e00
movq %r15, 0xf8(%rsp)
movq %rax, 0x100(%rsp)
movq %rax, 0x10(%rsp)
movups 0xf0(%rsp), %xmm0
movups %xmm0, (%rsp)
movq 0x18(%rsp), %rbp
movq %rbp, %rdi
callq 0x3fbc
movq 0x20(%r14), %rax
andq $0x0, 0xd8(%rsp)
movq %r15, 0xe0(%rsp)
movq %rax, 0xe8(%rsp)
movq %rax, 0x10(%rsp)
movups 0xd8(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %rbp, %rdi
callq 0x3fbc
jmp 0x4199
testq %r15, %r15
jne 0x5fb0
movq %rcx, %rbp
movq 0x10(%r14), %rax
andq $0x0, 0xc0(%rsp)
movq %r13, 0xc8(%rsp)
movq %rax, 0xd0(%rsp)
movq %rax, 0x10(%rsp)
movups 0xc0(%rsp), %xmm0
movups %xmm0, (%rsp)
movq 0x18(%rsp), %r15
movq %r15, %rdi
callq 0x3fbc
movq 0x18(%r14), %rax
xorps %xmm0, %xmm0
movaps %xmm0, 0x120(%rsp)
movq %rax, 0x130(%rsp)
movq %rax, 0x10(%rsp)
movaps 0x120(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %r15, %rdi
callq 0x3fbc
movq 0x20(%r14), %r14
testq %r14, %r14
jne 0x41a0
jmp 0x49a0
leaq 0xac42(%rip), %rdi      # 0xedca
movq %r14, %rsi
callq 0x3ead
movq 0x18(%rsp), %rax
movb $0x0, 0x10(%rax)
pushq $0x28
popq %rax
movq (%r14,%rax), %r14
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
movq %r14, 0x10(%rbx)
movb $0x1, %cl
xorl %r15d, %r15d
jmp 0x3ff2
movl 0x4(%rbx), %ebx
cmpl $0x1, %ebx
movq 0x18(%rsp), %r13
je 0x49aa
testl %ebx, %ebx
jne 0x41fb
testq %r15, %r15
je 0x49aa
leaq 0x10bff(%rip), %rdx     # 0x14dd8
movq %r15, %r12
movq %rcx, %r15
pushq $0x1
popq %rcx
movq %r13, %rdi
movq %r12, %rsi
callq 0x6476
movq %r15, %rcx
movq %r12, %r15
testl %eax, %eax
je 0x49aa
movq 0x8(%r13), %rdi
andq $0x0, 0x20(%rsp)
movq %r15, 0x28(%rsp)
movq %r14, 0x30(%rsp)
movq 0x10952(%rip), %rsi     # 0x14b68
movq 0x10953(%rip), %rdx     # 0x14b70
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %rcx, %r14
callq 0xcf37
movq %r14, %rcx
xorl %ebp, %ebp
jmp 0x5244
movq %rcx, %r12
movl 0x4(%rbx), %ebp
cmpq $0x3, %rbp
ja 0x4dfb
movq 0x20(%r14), %r13
leaq 0x9ef7(%rip), %rax      # 0xe154
movslq (%rax,%rbp,4), %rcx
addq %rax, %rcx
movq %r13, %rax
jmpq *%rcx
cmpq $0x1, 0x10(%r13)
je 0x4d54
leaq 0x10(%r13), %rbx
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movq %r13, 0x30(%rsp)
movq %r13, 0x10(%rsp)
movups %xmm0, (%rsp)
movq 0x18(%rsp), %rdi
callq 0x3fbc
jmp 0x4d4a
cmpl $0x0, 0x4(%rbx)
jne 0x6081
movq %r15, %r13
movq %rcx, %r15
movzwl 0x2(%r14), %ebx
movl %ebx, %eax
orl $0x20, %eax
movw %ax, 0x2(%r14)
testq %r13, %r13
movq 0x18(%rsp), %r12
je 0x4acb
movq %r13, %rsi
leaq 0x20(%rsp), %rdx
movq %r12, %rdi
callq 0x636c
testl %eax, %eax
jne 0x5bd5
movq 0x20(%rsp), %rax
cmpw $0x11, (%rax)
jne 0x52e0
movq 0x20(%rax), %rcx
testb $0x60, %cl
jne 0x4ae4
leaq 0xb5e0(%rip), %rdi      # 0xf8e5
jmp 0x52e7
testq %r15, %r15
jne 0x60a0
movq %rcx, %r15
movl 0x4(%rbx), %r12d
cmpq $0x3, %r12
movq 0x18(%rsp), %r13
ja 0x5062
movb $0x1, %al
leaq 0x9e42(%rip), %rcx      # 0xe174
movslq (%rcx,%r12,4), %rdx
addq %rcx, %rdx
jmpq *%rdx
xorl %eax, %eax
movq 0x18(%r14), %rcx
movq 0x10(%rcx), %rdx
testb %al, %al
jne 0x4375
cmpq $0x1, %rdx
je 0x4375
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movq %rcx, 0x30(%rsp)
movq %rcx, 0x10(%rsp)
movups %xmm0, (%rsp)
movq %r13, %rdi
callq 0x3fbc
movq 0x18(%r14), %rcx
movq 0x10(%rcx), %rdx
cmpq $0x1, %rdx
jne 0x500a
movzwl 0x2(%rcx), %ecx
shrl $0x4, %ecx
andl $0x3, %ecx
pushq $0x2
popq %rbx
xorl %eax, %eax
leaq 0x9def(%rip), %rdx      # 0xe184
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movl 0x4(%rbx), %ebp
cmpl $0x2, %ebp
je 0x4bd0
movq %rcx, %r13
cmpl $0x1, %ebp
je 0x4b8f
xorl %ebx, %ebx
testl %ebp, %ebp
jne 0x53fd
orb $0x20, 0x2(%r14)
xorl %ecx, %ecx
jmp 0x4b91
movl 0x4(%rbx), %ebx
testl %ebx, %ebx
movq %rcx, 0x80(%rsp)
je 0x4c3b
cmpl $0x1, %ebx
movq 0x18(%rsp), %r13
je 0x4c32
xorl %ebp, %ebp
cmpl $0x2, %ebx
jne 0x4d02
movq %r15, %r12
movq 0x28(%r14), %r15
andq $-0x8, %r15
jmp 0x4c7f
movq %rcx, 0x80(%rsp)
movl 0x4(%rbx), %r13d
cmpq $0x3, %r13
ja 0x4fac
movq %r15, 0x78(%rsp)
leaq 0x9d3a(%rip), %rax      # 0xe164
movslq (%rax,%r13,4), %rcx
addq %rax, %rcx
jmpq *%rcx
orb $0x20, 0x2(%r14)
movq 0x20(%r14), %rax
movq %rbp, 0x10(%rax)
leaq 0x10991(%rip), %rbx     # 0x14dd8
movq %rbx, 0x18(%rax)
movq 0x20(%r14), %rax
movq %rbp, 0x10(%r14)
movq %rax, 0x18(%r14)
movq 0x20(%rax), %r15
movq 0x28(%rax), %r12
xorl %ebp, %ebp
cmpq %rbp, %r15
je 0x4e02
movq (%r12,%rbp,8), %rax
testq %rax, %rax
je 0x449b
andq $0x0, 0x20(%rsp)
movq %rbx, 0x28(%rsp)
movq %rax, 0x30(%rsp)
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movq 0x18(%rsp), %rdi
callq 0x3fbc
incq %rbp
jmp 0x4461
movl 0x4(%rbx), %ebx
movq 0x20(%r14), %rax
cmpq $0x4, %rax
ja 0x51f7
movq %r15, %r12
movq %rcx, %r15
leaq 0x9c06(%rip), %rcx      # 0xe0c4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpl $0x2, %ebx
je 0x453f
cmpl $0x1, %ebx
je 0x4500
xorl %r13d, %r13d
testl %ebx, %ebx
jne 0x5db4
testq %r12, %r12
je 0x4500
leaq 0x10968(%rip), %rsi     # 0x14e50
pushq $0x1
popq %rcx
movq 0x18(%rsp), %rdi
movq %r12, %rdx
callq 0x6476
testl %eax, %eax
jne 0x5db4
orb $0x20, 0x2(%r14)
testq %r12, %r12
leaq 0x10941(%rip), %rax     # 0x14e50
cmovneq %r12, %rax
movq 0x28(%r14), %rcx
andq $0x0, 0x20(%rsp)
movq %rax, 0x28(%rsp)
movq %rcx, 0x30(%rsp)
movq %rcx, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movq 0x18(%rsp), %rdi
callq 0x3fbc
movq 0x28(%r14), %rax
cmpq $0x1, 0x10(%rax)
jne 0x53d7
movq 0x18(%rax), %rax
movq $0x1, 0x10(%r14)
movq %rax, 0x18(%r14)
pushq $0x3
jmp 0x5980
movq %rcx, 0x80(%rsp)
movl 0x4(%rbx), %r13d
movq 0x20(%r14), %rax
cmpq $0xc, %rax
ja 0x548d
leaq 0x9b8a(%rip), %rcx      # 0xe110
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
xorl %ebp, %ebp
cmpl $0x3, %r13d
ja 0x5e22
movl %r13d, %eax
leaq 0x9b9f(%rip), %rcx      # 0xe144
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
orb $0x20, 0x2(%r14)
testq %r15, %r15
je 0x568f
movq %r15, %rdx
leaq 0x108b2(%rip), %rsi     # 0x14e78
pushq $0x1
popq %rcx
movq 0x18(%rsp), %rdi
callq 0x6476
testl %eax, %eax
jne 0x5e22
testq %r15, %r15
leaq 0x106db(%rip), %rax     # 0x14cc0
cmovneq %r15, %rax
jmp 0x5696
testq %r15, %r15
jne 0x60bf
cmpl $0x0, 0x4(%rbx)
movq 0x18(%rsp), %r12
jne 0x6173
movq %rcx, %r15
movq 0x10(%r14), %rax
movq 0x20(%rax), %rax
movq 0x30(%rax), %rcx
movq 0x38(%rax), %rax
movq %rcx, %rdx
negq %rdx
pushq $-0x1
popq %rsi
leaq (%rdx,%rsi), %rdi
cmpq $-0x1, %rdi
je 0x4a8f
movq 0x8(%rax,%rsi,8), %rdi
incq %rsi
cmpq $0x1, 0x10(%rdi)
je 0x4622
cmpq %rcx, %rsi
setae %bl
movq 0x8(%r12), %rdi
xorps %xmm0, %xmm0
movaps %xmm0, 0x40(%rsp)
movq %r14, 0x50(%rsp)
movq 0x1050a(%rip), %rsi     # 0x14b68
movq 0x1050b(%rip), %rdx     # 0x14b70
movq 0x50(%rsp), %rax
movq %rax, 0x10(%rsp)
movaps 0x40(%rsp), %xmm0
jmp 0x5c18
testq %r15, %r15
jne 0x60de
movq %rcx, %r15
xorl %ebx, %ebx
movq 0x18(%rsp), %r12
cmpq 0x10(%r14), %rbx
jae 0x5545
movq 0x18(%r14), %rax
movq (%rax,%rbx,8), %rax
xorps %xmm0, %xmm0
movaps %xmm0, 0x140(%rsp)
movq %rax, 0x150(%rsp)
movq %rax, 0x10(%rsp)
movaps 0x140(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %r12, %rdi
callq 0x3fbc
incq %rbx
jmp 0x468c
testq %r15, %r15
jne 0x60fa
movq %rcx, %r15
movl 0x4(%rbx), %ebx
cmpl $0x2, %ebx
movq 0x18(%rsp), %r12
je 0x4774
cmpl $0x1, %ebx
je 0x4731
xorl %ebp, %ebp
testl %ebx, %ebx
jne 0x5202
movq 0x50(%r14), %rax
testq %rax, %rax
je 0x4731
andq $0x0, 0x20(%rsp)
leaq 0x106c7(%rip), %rcx     # 0x14dd8
movq %rcx, 0x28(%rsp)
movq %rax, 0x30(%rsp)
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %r12, %rdi
callq 0x3fbc
movq 0x50(%r14), %rax
testq %rax, %rax
je 0x4745
cmpq $0x1, 0x10(%rax)
jne 0x51ff
movq 0x58(%r14), %rcx
testq %rcx, %rcx
je 0x4774
andq $0x0, 0x40(%rsp)
movq %rax, 0x48(%rsp)
movq %rcx, 0x50(%rsp)
movq %rcx, 0x10(%rsp)
movups 0x40(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %r12, %rdi
callq 0x3fbc
movq 0x58(%r14), %rax
testq %rax, %rax
je 0x4cdf
cmpq $0x1, 0x10(%rax)
jne 0x5105
movq 0x38(%r14), %rdx
movq 0x50(%r14), %rcx
andl $0x7, %edx
orq %rax, %rdx
movq %rdx, 0x38(%r14)
testq %rcx, %rcx
jne 0x4ce8
movq 0x18(%rax), %rax
movq $0x1, 0x20(%r14)
movq %rax, 0x28(%r14)
jmp 0x4cf4
movq %rcx, %r12
movl 0x4(%rbx), %ebx
cmpl $0x1, %ebx
movq 0x18(%rsp), %r13
je 0x4a03
testl %ebx, %ebx
jne 0x47fa
testq %r15, %r15
je 0x4a03
leaq 0x105f4(%rip), %rdx     # 0x14dd8
pushq $0x1
popq %rcx
movq %r13, %rdi
movq %r15, %rsi
callq 0x6476
testl %eax, %eax
je 0x4a03
movq 0x8(%r13), %rdi
andq $0x0, 0x20(%rsp)
movq %r15, 0x28(%rsp)
movq %r14, 0x30(%rsp)
movq 0x10353(%rip), %rsi     # 0x14b68
movq 0x10354(%rip), %rdx     # 0x14b70
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
callq 0xcf37
xorl %ebp, %ebp
cmpl %ebx, %ebp
setne %bl
movq %r12, %rcx
jmp 0x5e72
cmpl $0x0, 0x4(%rbx)
jne 0x6116
movq %r15, %r12
movq %rcx, %r15
testq %r12, %r12
movq 0x18(%rsp), %rbx
je 0x5532
leaq 0x40(%rsp), %rdx
movq %rbx, %rdi
movq %r12, %rsi
callq 0x636c
testl %eax, %eax
jne 0x48e2
movq 0x40(%rsp), %rax
cmpw $0x11, (%rax)
jne 0x488c
movq 0x20(%rax), %rax
testb %al, %al
js 0x5515
leaq 0xb2cd(%rip), %rdi      # 0xfb60
movq %r14, %rsi
callq 0x3ead
movb $0x0, 0x10(%rbx)
jmp 0x4943
cmpl $0x0, 0x4(%rbx)
jne 0x6135
movq %r15, %r12
movq %rcx, %r15
testq %r12, %r12
je 0x4b07
leaq 0x10514(%rip), %r13     # 0x14dd8
pushq $0x1
popq %rcx
movq 0x18(%rsp), %rbx
movq %rbx, %rdi
movq %r12, %rsi
movq %r13, %rdx
callq 0x6476
testl %eax, %eax
je 0x4cb6
movq 0x8(%rbx), %rdi
andq $0x0, 0x20(%rsp)
movq %r12, 0x28(%rsp)
movq %r14, 0x30(%rsp)
movq 0x1026b(%rip), %rsi     # 0x14b68
movq 0x1026c(%rip), %rdx     # 0x14b70
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
callq 0xcf37
jmp 0x4943
cmpl $0x0, 0x4(%rbx)
jne 0x6154
movq %rcx, %r15
leaq 0xb206(%rip), %rdi      # 0xfb38
movq %r14, %rsi
callq 0x3ead
movq 0x18(%rsp), %rax
movb $0x0, 0x10(%rax)
xorl %ebx, %ebx
jmp 0x5c21
movq %rcx, 0x80(%rsp)
movl 0x4(%rbx), %ebx
cmpl $0x2, %ebx
je 0x5075
cmpl $0x1, %ebx
je 0x496e
xorl %ebp, %ebp
testl %ebx, %ebx
jne 0x4992
orb $0x20, 0x2(%r14)
leaq 0x10463(%rip), %r13     # 0x14dd8
pushq $0x1
popq %rbp
movq 0x18(%rsp), %rdi
movq %r15, %rsi
movq %r13, %rdx
movl %ebp, %ecx
callq 0x6476
testl %eax, %eax
je 0x5069
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rdi
jmp 0x4d06
movb $0x1, %bl
movq %rbp, %rcx
jmp 0x5e72
movq $0x1, 0x10(%r14)
leaq 0x1041f(%rip), %rax     # 0x14dd8
movq %rax, 0x18(%r14)
xorl %r15d, %r15d
pushq $0x2
popq %rbp
cmpq 0x20(%r14), %r15
jae 0x5244
movq 0x28(%r14), %rax
movq (%rax,%r15,8), %rax
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movq %rax, 0x30(%rsp)
movq %rax, 0x10(%rsp)
movaps 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %r13, %rdi
movq %rcx, %r12
callq 0x3fbc
movq %r12, %rcx
incq %r15
jmp 0x49c3
movq $0x1, 0x10(%r14)
leaq 0x103c6(%rip), %rax     # 0x14dd8
movq %rax, 0x18(%r14)
xorl %r15d, %r15d
cmpq 0x20(%r14), %r15
jae 0x4a4f
movq 0x28(%r14), %rax
movq (%rax,%r15,8), %rax
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movq %rax, 0x30(%rsp)
movq %rax, 0x10(%rsp)
movaps 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %r13, %rdi
callq 0x3fbc
incq %r15
jmp 0x4a19
xorl %r15d, %r15d
pushq $0x2
popq %rbp
cmpq 0x30(%r14), %r15
jae 0x4836
movq 0x38(%r14), %rax
movq (%rax,%r15,8), %rax
xorps %xmm0, %xmm0
movaps %xmm0, 0x40(%rsp)
movq %rax, 0x50(%rsp)
movq %rax, 0x10(%rsp)
movaps 0x40(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %r13, %rdi
callq 0x3fbc
incq %r15
jmp 0x4a55
cmpq $0x1, %rcx
jne 0x4b76
movq (%rax), %rax
movq 0x18(%r14), %rcx
andq $0x0, 0x20(%rsp)
movq %rax, 0x28(%rsp)
movq %rcx, 0x30(%rsp)
movq %rcx, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %r12, %rdi
callq 0x3fbc
jmp 0x5545
testb $0x40, %bl
leaq 0x102b3(%rip), %rax     # 0x14d88
leaq 0x101bc(%rip), %rcx     # 0x14c98
cmoveq %rcx, %rax
movq 0x20(%rax), %rcx
movl %ecx, %eax
andl $0x7, %eax
testb $0x40, %bl
jne 0x4cc7
testb $0x20, %cl
jne 0x5302
leaq 0xaeed(%rip), %rdi      # 0xf9ef
jmp 0x4cd7
movq $0x1, 0x10(%r14)
leaq 0x102c2(%rip), %rax     # 0x14dd8
jmp 0x5541
cmpl $0x2, %r13d
je 0x57a7
cmpl $0x1, %r13d
je 0x4b63
xorl %ebp, %ebp
testl %r13d, %r13d
jne 0x5e22
orb $0x20, 0x2(%r14)
testq %r15, %r15
je 0x5747
movq %r15, %rdx
leaq 0x10302(%rip), %rsi     # 0x14e50
pushq $0x1
popq %rcx
movq 0x18(%rsp), %rdi
callq 0x6476
testl %eax, %eax
jne 0x5e22
testq %r15, %r15
leaq 0x102e3(%rip), %rbx     # 0x14e50
cmovneq %r15, %rbx
jmp 0x574e
leaq 0xab7a(%rip), %rdi      # 0xf6f7
xorl %eax, %eax
callq 0x3ec6
movb $0x0, 0x10(%r12)
jmp 0x5545
movb $0x1, %cl
movq 0x20(%r14), %rbx
movq 0x10(%rbx), %rax
testb %cl, %cl
jne 0x4bc7
cmpq $0x1, %rax
je 0x4bc7
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movq %rbx, 0x30(%rsp)
movq %rbx, 0x10(%rsp)
movups %xmm0, (%rsp)
movq 0x18(%rsp), %rdi
callq 0x3fbc
movq 0x10(%rbx), %rax
cmpq $0x1, %rax
movq %r13, %rcx
jne 0x4c2a
movq %r15, %r12
movq %rcx, %r13
movq 0x20(%r14), %rax
movq 0x18(%rax), %rsi
leaq 0x60(%rsp), %rdx
movq 0x18(%rsp), %rdi
callq 0x636c
testl %eax, %eax
jne 0x53f7
movq 0x60(%rsp), %rax
cmpw $0x8, (%rax)
jne 0x53de
movq 0x30(%rax), %rdx
movq 0x38(%rax), %rcx
xorl %esi, %esi
cmpq %rsi, %rdx
je 0x5637
movq (%rcx,%rsi,8), %rdi
incq %rsi
cmpq $0x1, 0x10(%rdi)
je 0x4c0e
jmp 0x53f7
pushq $0x1
popq %rbx
jmp 0x53fd
movq %r15, %r12
movq 0x28(%r14), %r15
jmp 0x4c74
orb $0x10, 0x2(%r14)
movq 0x38(%r14), %rdi
movq 0x20(%r14), %rsi
movq 0x30(%r14), %rdx
pushq $0x1
popq %rcx
callq 0x82b5
testq %rax, %rax
movq 0x18(%rsp), %r13
je 0x544c
movq %r15, %r12
movq 0x28(%r14), %r15
andl $0x7, %r15d
orq %rax, %r15
movq %r15, 0x28(%r14)
andq $-0x8, %r15
cmpq $0x1, 0x10(%r15)
jne 0x4cfc
testq %r12, %r12
je 0x4c9e
movq 0x18(%r15), %rdx
pushq $0x1
popq %rcx
movq %r13, %rdi
movq %r12, %rsi
callq 0x6476
testl %eax, %eax
je 0x4c9e
pushq $0x2
jmp 0x4cfe
movq 0x18(%r15), %rax
movq $0x1, 0x10(%r14)
movq %rax, 0x18(%r14)
pushq $0x3
popq %rbp
jmp 0x4d3f
movq $0x1, 0x10(%r14)
movq %r13, 0x18(%r14)
jmp 0x5545
testb $0x40, %cl
jne 0x533c
leaq 0xacbc(%rip), %rdi      # 0xf993
movq %r14, %rsi
jmp 0x52ea
movq 0x50(%r14), %rcx
testq %rcx, %rcx
je 0x4cf4
movq $0x1, 0x20(%r14)
movq %rcx, 0x28(%r14)
pushq $0x3
popq %rbp
jmp 0x5241
pushq $0x1
popq %rbp
movq %r12, %r15
movq 0x8(%r13), %rdi
andl $0x0, 0x20(%rsp)
movl %ebp, 0x24(%rsp)
movq %r15, 0x28(%rsp)
movq %r14, 0x30(%rsp)
movq 0xfe48(%rip), %rsi      # 0x14b68
movq 0xfe49(%rip), %rdx      # 0x14b70
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
callq 0xcf37
cmpl %ebx, %ebp
jmp 0x5e67
leaq 0x10(%r13), %rbx
cmpq $0x1, (%rbx)
jne 0x524b
movq 0x20(%r14), %rax
pushq $0x2
popq %rbx
testb $0x30, 0x2(%rax)
je 0x58e4
movq 0x18(%r13), %rsi
leaq 0x40(%rsp), %rdx
movq 0x18(%rsp), %rdi
callq 0x636c
testl %eax, %eax
jne 0x58e4
movq 0x40(%rsp), %rdx
movzwl (%rdx), %ecx
cmpw $0x10, %cx
jne 0x55f3
movw %cx, 0x78(%rsp)
cmpq $0x3, 0x20(%rdx)
jne 0x61b1
movq 0x28(%rdx), %rsi
leaq 0x40(%rsp), %rdx
movq 0x18(%rsp), %rdi
callq 0x636c
testl %eax, %eax
jne 0x58e4
movq 0x40(%rsp), %rdx
movzwl (%rdx), %eax
movzwl 0x78(%rsp), %ecx
jmp 0x55f5
movq 0x30(%r14), %rax
movq 0x18(%rsp), %r13
cmpq $0x1, 0x10(%rax)
jne 0x52fa
movq 0x18(%rax), %rax
movq $0x1, 0x10(%r14)
movq %rax, 0x18(%r14)
pushq $0x4
popq %rbx
jmp 0x5926
xorl %ebx, %ebx
jmp 0x58e4
movq 0x20(%r14), %rax
movq 0x30(%rax), %r15
movq 0x38(%rax), %r12
xorl %ebp, %ebp
cmpq %rbp, %r15
je 0x4e4f
movq (%r12,%rbp,8), %rax
testq %rax, %rax
je 0x6043
andq $0x0, 0x40(%rsp)
movq %rbx, 0x48(%rsp)
movq %rax, 0x50(%rsp)
movq %rax, 0x10(%rsp)
movups 0x40(%rsp), %xmm0
movups %xmm0, (%rsp)
movq 0x18(%rsp), %rdi
callq 0x3fbc
incq %rbp
jmp 0x4e10
movq 0x20(%r14), %rcx
movq 0x38(%r14), %r15
movq 0x20(%rcx), %rax
movq 0x28(%rcx), %r12
movq 0x40(%r14), %rbp
xorl %ecx, %ecx
pushq $0x1
popq %rbx
cmpq %rcx, %rax
je 0x4e8e
cmpq $0x0, (%rbp,%rcx,8)
je 0x4e89
movq (%r12,%rcx,8), %rdx
testq %rdx, %rdx
je 0x4e89
cmpq $0x1, 0x10(%rdx)
jne 0x4fa0
incq %rcx
jmp 0x4e68
xorl %ebx, %ebx
cmpq %rbx, %r15
je 0x4ed0
movq (%rbp,%rbx,8), %rax
testq %rax, %rax
je 0x4ecb
movq (%r12,%rbx,8), %rcx
andq $0x0, 0x60(%rsp)
movq %rcx, 0x68(%rsp)
movq %rax, 0x70(%rsp)
movq %rax, 0x10(%rsp)
movups 0x60(%rsp), %xmm0
movups %xmm0, (%rsp)
movq 0x18(%rsp), %rdi
callq 0x3fbc
incq %rbx
jmp 0x4e90
movq 0x20(%r14), %rax
movq 0x40(%r14), %rcx
movq 0x20(%rax), %rdx
movq 0x28(%rax), %rax
xorl %esi, %esi
pushq $0x2
popq %rbx
cmpq %rsi, %rdx
je 0x4f16
cmpq $0x0, (%rax,%rsi,8)
jne 0x4f11
movq (%rcx,%rsi,8), %rdi
testq %rdi, %rdi
je 0x6062
cmpq $0x1, 0x10(%rdi)
jne 0x4fa0
movq 0x18(%rdi), %rdi
movq %rdi, (%rax,%rsi,8)
incq %rsi
jmp 0x4ee5
movq 0x28(%r14), %rcx
movq 0x30(%r14), %rdx
xorl %esi, %esi
cmpq %rsi, %rcx
je 0x4f4c
movq (%rax,%rsi,8), %rdi
testq %rdi, %rdi
je 0x6024
movq (%rdx,%rsi,8), %r8
testq %r8, %r8
je 0x4f47
movq $0x1, 0x10(%r8)
movq %rdi, 0x18(%r8)
incq %rsi
jmp 0x4f20
movq 0x48(%r14), %rax
xorps %xmm0, %xmm0
movaps %xmm0, 0xa0(%rsp)
movq %rax, 0xb0(%rsp)
movq %rax, 0x10(%rsp)
movaps 0xa0(%rsp), %xmm0
movups %xmm0, (%rsp)
movq 0x18(%rsp), %rdi
callq 0x3fbc
movq 0x18(%r14), %rdx
pushq $0x1
popq %rcx
movq 0x18(%rsp), %rdi
movq 0x78(%rsp), %r15
movq %r15, %rsi
callq 0x6476
testl %eax, %eax
je 0x4fa7
pushq $0x3
popq %rbx
jmp 0x4fae
movq 0x78(%rsp), %r15
jmp 0x4fae
pushq $0x4
popq %rbx
jmp 0x5002
xorl %ebx, %ebx
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rdi
andl $0x0, 0x88(%rsp)
movl %ebx, 0x8c(%rsp)
movq %r15, 0x90(%rsp)
movq %r14, 0x98(%rsp)
movq 0xfb8b(%rip), %rsi      # 0x14b68
movq 0xfb8c(%rip), %rdx      # 0x14b70
movq 0x98(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x88(%rsp), %xmm0
movups %xmm0, (%rsp)
callq 0xcf37
cmpl %r13d, %ebx
jmp 0x5e67
pushq $0x1
jmp 0x5296
movq 0x18(%r14), %rax
movzwl 0x2(%rax), %ecx
shrl $0x4, %ecx
andl $0x3, %ecx
pushq $0x2
popq %rbx
xorl %eax, %eax
leaq 0x9159(%rip), %rdx      # 0xe184
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movq 0x10(%r14), %rcx
pushq $0x4
popq %rbx
leaq -0x1(%rcx), %rdx
cmpq $0x4, %rdx
jae 0x5372
leaq 0xa667(%rip), %rdi      # 0xf6b7
movq %r14, %rsi
callq 0x3ead
movb $0x0, 0x10(%r13)
jmp 0x52d5
xorl %ebx, %ebx
jmp 0x5297
movq $0x1, 0x10(%r14)
movq %r13, 0x18(%r14)
movq 0x20(%r14), %r12
movq 0x28(%r14), %r13
xorl %ebp, %ebp
leaq 0xfd52(%rip), %r15      # 0x14dd8
cmpq %rbp, %r12
je 0x50bd
movq (%r13,%rbp,8), %rax
andq $0x0, 0x20(%rsp)
movq %r15, 0x28(%rsp)
movq %rax, 0x30(%rsp)
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movq 0x18(%rsp), %rdi
callq 0x3fbc
incq %rbp
jmp 0x5086
movq 0x30(%r14), %r12
movq 0x38(%r14), %r14
xorl %r13d, %r13d
pushq $0x3
popq %rbp
cmpq %r13, %r12
je 0x4d3f
movq (%r14,%r13,8), %rax
andq $0x0, 0x40(%rsp)
movq %r15, 0x48(%rsp)
movq %rax, 0x50(%rsp)
movq %rax, 0x10(%rsp)
movups 0x40(%rsp), %xmm0
movups %xmm0, (%rsp)
movq 0x18(%rsp), %rdi
callq 0x3fbc
incq %r13
jmp 0x50cb
pushq $0x2
jmp 0x5201
cmpl $0x1, %ebx
je 0x5963
xorl %r13d, %r13d
testl %ebx, %ebx
jne 0x5db4
testq %r12, %r12
je 0x5930
movq %r12, %rbp
leaq 0xfd45(%rip), %rsi      # 0x14e78
pushq $0x1
popq %rcx
movq 0x18(%rsp), %rdi
movq %r12, %rdx
callq 0x6476
testl %eax, %eax
jne 0x5db4
jmp 0x5937
cmpl $0x1, %ebx
je 0x59c1
xorl %r13d, %r13d
testl %ebx, %ebx
jne 0x5db4
orb $0x10, 0x2(%r14)
testq %r12, %r12
je 0x5990
movq 0x18(%rsp), %r13
movq (%r13), %rdi
pushq $0x30
popq %rsi
callq 0x7fa2
movw $0x10, (%rax)
movl 0xf9ea(%rip), %ecx      # 0x14b78
leal 0x1(%rcx), %edx
movl %edx, 0xf9e1(%rip)      # 0x14b78
movl %ecx, 0x4(%rax)
andq $0x0, 0x8(%rax)
movw $0x1, 0x2(%rax)
movq $0x1, 0x10(%rax)
leaq 0xfc24(%rip), %rcx      # 0x14dd8
movq %rcx, 0x18(%rax)
movq $0x3, 0x20(%rax)
movq %r12, 0x28(%rax)
jmp 0x5997
xorl %r13d, %r13d
testq %r12, %r12
je 0x550e
movq %r12, %rsi
leaq 0x20(%rsp), %rdx
movq 0x18(%rsp), %rdi
callq 0x636c
testl %eax, %eax
je 0x566c
xorl %r13d, %r13d
jmp 0x5db4
xorl %r13d, %r13d
jmp 0x5dfa
pushq $0x1
popq %rbp
movq 0x8(%r12), %rdi
andl $0x0, 0x60(%rsp)
movl %ebp, 0x64(%rsp)
andq $0x0, 0x68(%rsp)
movq %r14, 0x70(%rsp)
movq 0xf946(%rip), %rsi      # 0x14b68
movq 0xf947(%rip), %rdx      # 0x14b70
movq 0x70(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x60(%rsp), %xmm0
movups %xmm0, (%rsp)
callq 0xcf37
movq %r15, %rcx
cmpl %ebx, %ebp
jmp 0x5dfd
pushq $0x1
popq %rbx
jmp 0x58e4
testq %r15, %r15
je 0x557a
movq %r15, %rdx
leaq 0xfc12(%rip), %rsi      # 0x14e78
pushq $0x1
popq %rcx
movq 0x18(%rsp), %rdi
callq 0x6476
testl %eax, %eax
jne 0x5507
jmp 0x5581
leaq 0xa3b7(%rip), %rdi      # 0xf63e
movq %r14, %rsi
callq 0x3ead
movb $0x0, 0x10(%r13)
pushq $0x2
popq %rbx
movq 0x8(%r13), %rdi
andl $0x0, 0x60(%rsp)
movl %ebx, 0x64(%rsp)
andq $0x0, 0x68(%rsp)
movq %r14, 0x70(%rsp)
movq 0xf8b2(%rip), %rsi      # 0x14b68
movq 0xf8b3(%rip), %rdx      # 0x14b70
movq 0x70(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x60(%rsp), %xmm0
movups %xmm0, (%rsp)
callq 0xcf37
cmpl %r12d, %ebx
setne %bl
jmp 0x5c21
leaq 0xa694(%rip), %rdi      # 0xf97b
movq %r13, %rsi
callq 0x3ead
movb $0x0, 0x10(%r12)
jmp 0x5bd5
pushq $0x3
popq %rbx
jmp 0x58e9
andl $0x18, %ecx
cmpl $0x10, %ecx
jne 0x554c
cmpq $0x4, %rax
ja 0x622d
leaq 0x8ddd(%rip), %rcx      # 0xe0fc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq $0x1, 0x10(%r14)
leaq 0xf8c1(%rip), %rax      # 0x14bf8
jmp 0x5bd1
testq %rax, %rax
je 0x5479
cmpl $0x4, %eax
je 0x5479
cmpl $0x3, %eax
jne 0x61d0
movq %r15, %rcx
movq $0x1, 0x10(%r14)
leaq 0xf9f7(%rip), %rax      # 0x14d60
movq %rax, 0x18(%r14)
jmp 0x5bd8
testq %rcx, %rcx
jne 0x52d5
movq 0x20(%r14), %rcx
movq 0x10(%rcx), %rdx
cmpq $0x1, %rdx
sete %sil
orb %sil, %al
jne 0x53c6
movq 0x18(%r14), %rax
movq 0x18(%rax), %rax
andq $0x0, 0x40(%rsp)
movq %rax, 0x48(%rsp)
movq %rcx, 0x50(%rsp)
movq %rcx, 0x10(%rsp)
movups 0x40(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %r13, %rdi
callq 0x3fbc
movq 0x20(%r14), %rax
movq 0x10(%rax), %rdx
cmpq $0x1, %rdx
je 0x52d5
pushq $0x3
jmp 0x5296
pushq $0x2
jmp 0x5989
movq 0x20(%r14), %rsi
leaq 0xa398(%rip), %rdi      # 0xf781
callq 0x3ead
movq 0x18(%rsp), %rax
movb $0x0, 0x10(%rax)
pushq $0x2
popq %rbx
movq %r12, %r15
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rdi
andl $0x0, 0x40(%rsp)
movl %ebx, 0x44(%rsp)
movq %r15, 0x48(%rsp)
movq %r14, 0x50(%rsp)
movq 0xf748(%rip), %rsi      # 0x14b68
movq 0xf749(%rip), %rdx      # 0x14b70
movq 0x50(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x40(%rsp), %xmm0
movups %xmm0, (%rsp)
callq 0xcf37
cmpl %ebp, %ebx
setne %bl
movq %r13, %rcx
jmp 0x5e72
movq 0x20(%r14), %rax
movl 0x8(%r14), %esi
movl 0xc(%r14), %edx
movq (%rax), %rcx
movq 0x8(%rax), %r8
leaq 0xa6a6(%rip), %rdi      # 0xfb0c
xorl %ebp, %ebp
xorl %eax, %eax
callq 0x3ec6
movb $0x0, 0x10(%r13)
jmp 0x4d02
movq $0x1, 0x10(%r14)
leaq 0xf900(%rip), %rax      # 0x14d88
jmp 0x5bd1
xorl %ebp, %ebp
jmp 0x5e64
cmpl $0x1, %r13d
je 0x5ce8
testl %r13d, %r13d
jne 0x5507
orb $0x10, 0x2(%r14)
testq %r15, %r15
je 0x5c86
movq 0x18(%rsp), %rbx
movq (%rbx), %rdi
pushq $0x30
popq %rsi
callq 0x7fa2
movw $0x10, (%rax)
movl 0xf6ac(%rip), %ecx      # 0x14b78
leal 0x1(%rcx), %edx
movl %edx, 0xf6a3(%rip)      # 0x14b78
movl %ecx, 0x4(%rax)
andq $0x0, 0x8(%rax)
movw $0x1, 0x2(%rax)
movq $0x1, 0x10(%rax)
leaq 0xf8e6(%rip), %rcx      # 0x14dd8
movq %rcx, 0x18(%rax)
movq $0x3, 0x20(%rax)
movq %r15, 0x28(%rax)
jmp 0x5c8d
xorl %ebp, %ebp
jmp 0x5e22
xorl %ecx, %ecx
jmp 0x5a69
andl $0x7, %eax
cmpq $0x4, %rax
ja 0x620e
leaq 0x8b87(%rip), %rcx      # 0xe0b0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq $0x1, 0x10(%r14)
leaq 0xf77f(%rip), %rax      # 0x14cc0
movq %rax, 0x18(%r14)
movb $0x1, %bl
jmp 0x5c21
cmpq $0x4, %rax
ja 0x624c
leaq 0x8b8b(%rip), %rcx      # 0xe0e8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq $0x1, 0x10(%r14)
leaq 0xf723(%rip), %rax      # 0x14c98
jmp 0x5bd1
leaq 0xf73f(%rip), %r15      # 0x14cc0
orb $0x20, 0x2(%r14)
movq 0x28(%r14), %rax
andq $0x0, 0x20(%rsp)
movq %r15, 0x28(%rsp)
movq %rax, 0x30(%rsp)
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movq 0x18(%rsp), %rbx
movq %rbx, %rdi
callq 0x3fbc
movq 0x30(%r14), %rax
andq $0x0, 0x40(%rsp)
movq %r15, 0x48(%rsp)
movq %rax, 0x50(%rsp)
movq %rax, 0x10(%rsp)
movups 0x40(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %rbx, %rdi
callq 0x3fbc
movq $0x1, 0x10(%r14)
movq %r15, 0x18(%r14)
pushq $0x1
popq %rbp
jmp 0x5e64
movl %ecx, %eax
cmpw $0xe, %ax
je 0x58c1
movzwl %ax, %eax
cmpl $0xf, %eax
jne 0x58cb
movw %cx, 0x78(%rsp)
movq 0x40(%rdx), %rdi
movq 0x28(%r14), %rsi
movq %rdx, %r13
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x82b5
testq %rax, %rax
je 0x5c39
movq 0x18(%rsp), %r13
jmp 0x5c61
movq (%rcx), %rcx
movq $0x1, 0x10(%r14)
movq %rcx, 0x18(%r14)
movq 0x20(%rax), %rbx
movq 0x28(%rax), %r15
xorl %eax, %eax
cmpq %rax, %rbx
je 0x5872
movq (%r15,%rax,8), %rcx
incq %rax
cmpq $0x1, 0x10(%rcx)
je 0x5650
jmp 0x53f7
movq 0x20(%rsp), %rax
cmpw $0x10, (%rax)
jne 0x5a40
cmpq $0x3, 0x20(%rax)
jne 0x61ef
movq 0x28(%rax), %rcx
jmp 0x5a69
leaq 0xf62a(%rip), %rax      # 0x14cc0
movq $0x1, 0x10(%r14)
movq %rax, 0x18(%r14)
movq 0x28(%r14), %rax
andq $0x0, 0x20(%rsp)
leaq 0xf79d(%rip), %rbx      # 0x14e50
movq %rbx, 0x28(%rsp)
movq %rax, 0x30(%rsp)
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movq 0x18(%rsp), %r12
movq %r12, %rdi
callq 0x3fbc
movq 0x30(%r14), %rax
andq $0x0, 0x40(%rsp)
movq %rbx, 0x48(%rsp)
movq %rax, 0x50(%rsp)
movq %rax, 0x10(%rsp)
movups 0x40(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %r12, %rdi
callq 0x3fbc
movq 0x28(%r14), %rax
pushq $0x3
popq %rbp
cmpq $0x1, 0x10(%rax)
jne 0x5e22
movq 0x30(%r14), %rcx
cmpq $0x1, 0x10(%rcx)
jne 0x5e22
movq 0x18(%rax), %rsi
movq 0x18(%rcx), %rdx
pushq $0x1
popq %rcx
movq 0x18(%rsp), %rdi
callq 0x6476
xorl %ebp, %ebp
cmpl $0x1, %eax
adcl $0x3, %ebp
pushq $0x4
jmp 0x5e1d
leaq 0xf702(%rip), %rbx      # 0x14e50
movq 0x28(%r14), %rax
andq $0x0, 0x20(%rsp)
movq %rbx, 0x28(%rsp)
movq %rax, 0x30(%rsp)
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movq 0x18(%rsp), %r12
movq %r12, %rdi
callq 0x3fbc
movq 0x30(%r14), %rax
andq $0x0, 0x40(%rsp)
movq %rbx, 0x48(%rsp)
movq %rax, 0x50(%rsp)
movq %rax, 0x10(%rsp)
movups 0x40(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %r12, %rdi
callq 0x3fbc
movq 0x28(%r14), %rax
pushq $0x2
popq %rbp
cmpq $0x1, 0x10(%rax)
jne 0x5e22
movq 0x30(%r14), %rcx
cmpq $0x1, 0x10(%rcx)
jne 0x5e22
movq 0x18(%rax), %rbx
movq 0x18(%rcx), %r12
leaq 0x60(%rsp), %rdx
movq 0x18(%rsp), %rdi
movq %rbx, %rsi
callq 0x636c
testl %eax, %eax
jne 0x5e22
leaq 0xa0(%rsp), %rdx
movq 0x18(%rsp), %rdi
movq %r12, %rsi
callq 0x636c
testl %eax, %eax
jne 0x5e22
movq 0x60(%rsp), %rax
cmpw $0x11, (%rax)
jne 0x5ef0
movq 0xa0(%rsp), %rcx
cmpw $0x11, (%rcx)
jne 0x5efc
movq 0x20(%rax), %rdx
movq 0x20(%rcx), %rcx
movl %edx, %esi
andl $0x7, %esi
movl %ecx, %eax
andl $0x7, %eax
cmpq %rax, %rsi
cmovaq %rsi, %rax
movq %rcx, %rsi
andq %rdx, %rsi
testb $0x40, %sil
jne 0x5f19
testb $0x20, %sil
jne 0x5f35
leaq 0xa100(%rip), %rdi      # 0xf962
movq %rbx, %rsi
movq %r12, %rdx
callq 0x3f5b
jmp 0x5f0b
cmpq %rbx, 0x28(%r14)
jne 0x5b08
movq 0x30(%r14), %r14
xorl %r12d, %r12d
cmpq %r12, %rbx
je 0x5b17
movq (%r15,%r12,8), %rax
movq (%r14,%r12,8), %rcx
andq $0x0, 0x40(%rsp)
movq %rax, 0x48(%rsp)
movq %rcx, 0x50(%rsp)
movq %rcx, 0x10(%rsp)
movups 0x40(%rsp), %xmm0
movups %xmm0, (%rsp)
movq 0x18(%rsp), %rdi
callq 0x3fbc
incq %r12
jmp 0x5883
cmpw $0x10, %cx
jne 0x5b1f
leaq 0x9f1a(%rip), %rdi      # 0xf7ec
movq %r13, %rsi
callq 0x3ead
movq 0x18(%rsp), %r13
movb $0x0, 0x10(%r13)
movq 0x18(%rsp), %r13
movq 0x8(%r13), %rdi
andl $0x0, 0x40(%rsp)
movl %ebx, 0x44(%rsp)
movq %r15, 0x48(%rsp)
movq %r14, 0x50(%rsp)
movq 0xf261(%rip), %rsi      # 0x14b68
movq 0xf262(%rip), %rdx      # 0x14b70
movq 0x50(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x40(%rsp), %xmm0
movups %xmm0, (%rsp)
callq 0xcf37
movq %r12, %rcx
cmpl %ebp, %ebx
jmp 0x5dfd
leaq 0xf389(%rip), %rbp      # 0x14cc0
movq 0x28(%r14), %rax
andq $0x0, 0x20(%rsp)
movq %rbp, 0x28(%rsp)
movq %rax, 0x30(%rsp)
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movq 0x18(%rsp), %rdi
callq 0x3fbc
movq 0x28(%r14), %rax
cmpq $0x1, 0x10(%rax)
jne 0x5987
movq 0x18(%rax), %rax
movq $0x1, 0x10(%r14)
movq %rax, 0x18(%r14)
pushq $0x2
popq %r13
jmp 0x5df7
pushq $0x1
popq %r13
jmp 0x5db4
xorl %eax, %eax
movq 0x18(%rsp), %r13
movq 0x28(%r14), %rcx
andq $0x0, 0x20(%rsp)
movq %rax, 0x28(%rsp)
movq %rcx, 0x30(%rsp)
movq %rcx, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %r13, %rdi
callq 0x3fbc
movq 0x28(%r14), %rax
pushq $0x1
popq %r13
cmpq $0x1, 0x10(%rax)
jne 0x5db4
movq 0x18(%rax), %rsi
leaq 0x40(%rsp), %rdx
movq 0x18(%rsp), %rdi
callq 0x636c
testl %eax, %eax
jne 0x5db4
movq 0x40(%rsp), %rbp
cmpw $0x10, (%rbp)
jne 0x5c29
leaq 0xf3d2(%rip), %rax      # 0x14dd8
cmpq %rax, 0x18(%rbp)
jne 0x626b
cmpq $0x3, 0x20(%rbp)
jne 0x628a
movq 0x28(%rbp), %rdx
pushq $0x1
popq %rcx
movq 0x18(%rsp), %rdi
movq %r12, %rsi
callq 0x6476
testl %eax, %eax
jne 0x5db4
movq 0x28(%rbp), %rax
jmp 0x5972
leaq 0xf391(%rip), %rcx      # 0x14dd8
cmpq %rcx, %rax
je 0x5a69
leaq 0xa07e(%rip), %rdi      # 0xfad1
movq %r14, %rsi
callq 0x3ead
movq 0x18(%rsp), %rax
movb $0x0, 0x10(%rax)
jmp 0x51ef
cmpl $0x1, %ebx
je 0x5aa8
testl %ebx, %ebx
jne 0x5db4
movq 0x28(%r14), %rax
andq $0x0, 0x20(%rsp)
movq %rcx, 0x28(%rsp)
movq %rax, 0x30(%rsp)
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movq 0x18(%rsp), %rdi
movq %rcx, %r13
callq 0x3fbc
movq %r13, %rcx
movq 0x28(%r14), %rax
pushq $0x1
popq %r13
cmpq $0x1, 0x10(%rax)
jne 0x5db4
leaq 0xf316(%rip), %rsi      # 0x14dd8
cmpq %rsi, %rcx
je 0x5ae1
movzwl 0x2(%rax), %ecx
shrl $0x4, %ecx
andl $0x3, %ecx
leaq 0x8600(%rip), %rdx      # 0xe0d8
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
cmpq %rsi, 0x18(%rax)
je 0x5d8b
testq %r12, %r12
je 0x5e8b
movq %r15, %rcx
movq $0x1, 0x10(%r14)
movq %r12, 0x18(%r14)
jmp 0x5ee7
leaq 0x9c85(%rip), %rdi      # 0xf794
movq %r14, %rsi
jmp 0x53e9
pushq $0x3
popq %rbx
jmp 0x543f
movw %cx, 0x78(%rsp)
addq $0x30, %rdx
leaq 0x28(%r14), %rax
jmp 0x5c44
movq $0x1, 0x10(%r14)
leaq 0xf1f8(%rip), %rax      # 0x14d38
jmp 0x5541
movq $0x1, 0x10(%r14)
leaq 0xf194(%rip), %rax      # 0x14ce8
jmp 0x5541
movq $0x1, 0x10(%r14)
leaq 0xf1a8(%rip), %rax      # 0x14d10
jmp 0x5541
movq $0x1, 0x10(%r14)
leaq 0xf054(%rip), %rax      # 0x14bd0
jmp 0x5bd1
movq $0x1, 0x10(%r14)
leaq 0xf0e3(%rip), %rax      # 0x14c70
jmp 0x5bd1
movq $0x1, 0x10(%r14)
leaq 0xefe2(%rip), %rax      # 0x14b80
jmp 0x5bd1
movq $0x1, 0x10(%r14)
leaq 0xf071(%rip), %rax      # 0x14c20
jmp 0x5bd1
movq $0x1, 0x10(%r14)
leaq 0xefe8(%rip), %rax      # 0x14ba8
jmp 0x5bd1
movq $0x1, 0x10(%r14)
leaq 0xf077(%rip), %rax      # 0x14c48
movq %rax, 0x18(%r14)
movq %r15, %rcx
cmpq $0x1, 0x10(%r14)
sete %bl
je 0x5e72
movq 0x8(%r12), %rdi
andq $0x0, 0x20(%rsp)
movq %r13, 0x28(%rsp)
movq %r14, 0x30(%rsp)
movq 0xef66(%rip), %rsi      # 0x14b68
movq 0xef67(%rip), %rdx      # 0x14b70
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
callq 0xcf37
movq %r15, %rcx
jmp 0x5e72
movq 0x28(%r14), %rsi
leaq 0x9bfc(%rip), %rdi      # 0xf830
jmp 0x5da6
leaq 0x28(%r14), %rax
addq $0x48, %r13
movq %r13, %rdx
movq 0x18(%rsp), %r13
movq (%rdx), %rdi
movq (%rax), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x82b5
testq %rax, %rax
je 0x5d77
movq %rax, 0x30(%r14)
movw $0x10, %cx
cmpw $0x10, 0x78(%rsp)
je 0x5c7c
movq 0x20(%r14), %rcx
movzwl 0x2(%rcx), %ecx
andl $0x30, %ecx
orw %cx, 0x2(%r14)
jmp 0x4dd8
xorl %eax, %eax
movq 0x18(%rsp), %rbx
movq 0x28(%r14), %rcx
andq $0x0, 0x20(%rsp)
movq %rax, 0x28(%rsp)
movq %rcx, 0x30(%rsp)
movq %rcx, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %rbx, %rdi
callq 0x3fbc
movq 0x30(%r14), %rax
andq $0x0, 0x40(%rsp)
leaq 0xf188(%rip), %rcx      # 0x14e50
movq %rcx, 0x48(%rsp)
movq %rax, 0x50(%rsp)
movq %rax, 0x10(%rsp)
movups 0x40(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %rbx, %rdi
callq 0x3fbc
movq 0x28(%r14), %rax
cmpq $0x1, 0x10(%rax)
jne 0x5d6f
movq 0x18(%rax), %rsi
leaq 0x60(%rsp), %rdx
movq 0x18(%rsp), %rdi
callq 0x636c
pushq $0x1
popq %rbp
testl %eax, %eax
jne 0x5e1b
movq 0x60(%rsp), %rbx
cmpw $0x10, (%rbx)
jne 0x5e02
leaq 0xf0b1(%rip), %rax      # 0x14dd8
cmpq %rax, 0x18(%rbx)
jne 0x62c8
cmpq $0x3, 0x20(%rbx)
jne 0x62e7
movq 0x28(%rbx), %rdx
movq 0x18(%rsp), %rdi
movq %r15, %rsi
movl %ebp, %ecx
callq 0x6476
testl %eax, %eax
jne 0x5e1b
movq 0x28(%rbx), %rax
movq $0x1, 0x10(%r14)
movq %rax, 0x18(%r14)
pushq $0x2
popq %rbp
jmp 0x5e1b
pushq $0x1
popq %rbp
jmp 0x5e22
leaq 0x9a9a(%rip), %rdi      # 0xf818
movq %r14, %rsi
callq 0x3ead
jmp 0x58df
movq $0x1, 0x10(%r14)
movq %rsi, 0x18(%r14)
jmp 0x597e
leaq 0x9d47(%rip), %rdi      # 0xfaea
movq %r14, %rsi
callq 0x3ead
movq 0x18(%rsp), %rax
movb $0x0, 0x10(%rax)
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rdi
andl $0x0, 0x40(%rsp)
movl %r13d, 0x44(%rsp)
movq %r12, 0x48(%rsp)
movq %r14, 0x50(%rsp)
movq 0xed90(%rip), %rsi      # 0x14b68
movq 0xed91(%rip), %rdx      # 0x14b70
movq 0x50(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x40(%rsp), %xmm0
movups %xmm0, (%rsp)
callq 0xcf37
movq %r15, %rcx
cmpl %ebx, %r13d
setne %bl
jmp 0x5e72
movq 0x28(%r14), %rsi
leaq 0x9a23(%rip), %rdi      # 0xf830
callq 0x3ead
movq 0x18(%rsp), %rax
movb $0x0, 0x10(%rax)
pushq $0x2
popq %rax
cmpl %eax, %ebp
jae 0x5e64
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rdi
andl $0x0, 0x60(%rsp)
movl %ebp, 0x64(%rsp)
movq %r15, 0x68(%rsp)
movq %r14, 0x70(%rsp)
movq 0xed23(%rip), %rsi      # 0x14b68
movq 0xed24(%rip), %rdx      # 0x14b70
movq 0x70(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x60(%rsp), %xmm0
movups %xmm0, (%rsp)
callq 0xcf37
cmpl %r13d, %ebp
setne %bl
movq 0x80(%rsp), %rcx
orb %bl, %cl
andb $0x1, %cl
movl %ecx, %eax
addq $0x158, %rsp            # imm = 0x158
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movq %rsi, %r12
pushq $0x30
popq %rsi
callq 0x7fa2
movw $0x10, (%rax)
movl 0xeccf(%rip), %ecx      # 0x14b78
leal 0x1(%rcx), %edx
movl %edx, 0xecc6(%rip)      # 0x14b78
movl %ecx, 0x4(%rax)
andq $0x0, 0x8(%rax)
movw $0x1, 0x2(%rax)
movq %rbp, 0x10(%rax)
movq %r12, 0x18(%rax)
movq $0x3, 0x20(%rax)
movq 0x28(%r14), %rcx
movq 0x18(%rcx), %rcx
movq %rcx, 0x28(%rax)
movq %r15, %rcx
movq %rbp, 0x10(%r14)
movq %rax, 0x18(%r14)
pushq $0x2
popq %r13
jmp 0x5dfa
leaq 0x99ee(%rip), %rdi      # 0xf8e5
movq %rbx, %rsi
jmp 0x5f06
leaq 0x99e2(%rip), %rdi      # 0xf8e5
movq %r12, %rsi
callq 0x3ead
movq 0x18(%rsp), %rax
movb $0x0, 0x10(%rax)
jmp 0x5e22
testq %rax, %rax
je 0x5f60
cmpl $0x4, %eax
je 0x5f57
cmpl $0x3, %eax
jne 0x6306
leaq 0xee2d(%rip), %rbx      # 0x14d60
jmp 0x5f7d
andl $0x18, %edx
cmpl $0x10, %edx
jne 0x5f69
andl $0x18, %ecx
cmpl $0x10, %ecx
jne 0x5f69
cmpl $0x5, %eax
jae 0x6325
leaq 0xde23(%rip), %rcx      # 0x13d78
jmp 0x5f79
leaq 0xee2a(%rip), %rbx      # 0x14d88
jmp 0x5f7d
leaq 0xeec1(%rip), %rbx      # 0x14e28
jmp 0x5f7d
cmpl $0x5, %eax
jae 0x6344
leaq 0xde27(%rip), %rcx      # 0x13da0
movq (%rcx,%rax,8), %rbx
testq %r15, %r15
je 0x5f9d
pushq $0x1
popq %rcx
movq 0x18(%rsp), %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x6476
testl %eax, %eax
jne 0x5e22
movq $0x1, 0x10(%r14)
movq %rbx, 0x18(%r14)
pushq $0x3
jmp 0x55ed
leaq 0x8ddd(%rip), %rdi      # 0xed94
leaq 0x8dac(%rip), %rsi      # 0xed6a
leaq 0x8ddf(%rip), %rcx      # 0xeda4
movl $0x8f, %edx
callq 0x3080
leaq 0x8dbe(%rip), %rdi      # 0xed94
leaq 0x8d8d(%rip), %rsi      # 0xed6a
leaq 0x8dc0(%rip), %rcx      # 0xeda4
pushq $0x6b
jmp 0x5fff
leaq 0x8da5(%rip), %rdi      # 0xed94
leaq 0x8d74(%rip), %rsi      # 0xed6a
leaq 0x8da7(%rip), %rcx      # 0xeda4
pushq $0x75
popq %rdx
callq 0x3080
leaq 0x8c94(%rip), %rdi      # 0xeca0
leaq 0x8d57(%rip), %rsi      # 0xed6a
leaq 0x8d8a(%rip), %rcx      # 0xeda4
movl $0xe2, %edx
callq 0x3080
leaq 0x9743(%rip), %rdi      # 0xf76e
leaq 0x8d38(%rip), %rsi      # 0xed6a
leaq 0x96ed(%rip), %rcx      # 0xf726
movl $0x222, %edx            # imm = 0x222
callq 0x3080
leaq 0x96cc(%rip), %rdi      # 0xf716
leaq 0x8d19(%rip), %rsi      # 0xed6a
leaq 0x96ce(%rip), %rcx      # 0xf726
movl $0x1ef, %edx            # imm = 0x1EF
callq 0x3080
leaq 0x9701(%rip), %rdi      # 0xf76a
leaq 0x8cfa(%rip), %rsi      # 0xed6a
leaq 0x96af(%rip), %rcx      # 0xf726
movl $0x214, %edx            # imm = 0x214
callq 0x3080
leaq 0x8d76(%rip), %rdi      # 0xedfe
leaq 0x8cdb(%rip), %rsi      # 0xed6a
leaq 0x8d0e(%rip), %rcx      # 0xeda4
movl $0xc2, %edx
callq 0x3080
leaq 0x8ced(%rip), %rdi      # 0xed94
leaq 0x8cbc(%rip), %rsi      # 0xed6a
leaq 0x8cef(%rip), %rcx      # 0xeda4
movl $0x9e, %edx
callq 0x3080
leaq 0x8cce(%rip), %rdi      # 0xed94
leaq 0x8c9d(%rip), %rsi      # 0xed6a
leaq 0x8cd0(%rip), %rcx      # 0xeda4
movl $0xa3, %edx
callq 0x3080
leaq 0x8caf(%rip), %rdi      # 0xed94
leaq 0x8c7e(%rip), %rsi      # 0xed6a
leaq 0x8cb1(%rip), %rcx      # 0xeda4
pushq $0x61
jmp 0x5fff
leaq 0x8c93(%rip), %rdi      # 0xed94
leaq 0x8c62(%rip), %rsi      # 0xed6a
leaq 0x8c95(%rip), %rcx      # 0xeda4
pushq $0x5c
jmp 0x5fff
leaq 0x8ce1(%rip), %rdi      # 0xedfe
leaq 0x8c46(%rip), %rsi      # 0xed6a
leaq 0x8c79(%rip), %rcx      # 0xeda4
movl $0xdd, %edx
callq 0x3080
leaq 0x8cc2(%rip), %rdi      # 0xedfe
leaq 0x8c27(%rip), %rsi      # 0xed6a
leaq 0x8c5a(%rip), %rcx      # 0xeda4
movl $0xd3, %edx
callq 0x3080
leaq 0x8ca3(%rip), %rdi      # 0xedfe
leaq 0x8c08(%rip), %rsi      # 0xed6a
leaq 0x8c3b(%rip), %rcx      # 0xeda4
movl $0xd8, %edx
callq 0x3080
leaq 0x8c84(%rip), %rdi      # 0xedfe
leaq 0x8be9(%rip), %rsi      # 0xed6a
leaq 0x8c1c(%rip), %rcx      # 0xeda4
movl $0xa4, %edx
callq 0x3080
leaq 0x94c9(%rip), %rdi      # 0xf662
leaq 0x8bca(%rip), %rsi      # 0xed6a
leaq 0x94dc(%rip), %rcx      # 0xf683
movl $0x150, %edx            # imm = 0x150
callq 0x3080
leaq 0x8cb9(%rip), %rdi      # 0xee71
leaq 0x8bab(%rip), %rsi      # 0xed6a
leaq 0x95e6(%rip), %rcx      # 0xf7ac
movl $0x2c3, %edx            # imm = 0x2C3
callq 0x3080
leaq 0x8ac9(%rip), %rdi      # 0xeca0
leaq 0x8b8c(%rip), %rsi      # 0xed6a
leaq 0x97cf(%rip), %rcx      # 0xf9b4
movl $0x42d, %edx            # imm = 0x42D
callq 0x3080
leaq 0x98b2(%rip), %rdi      # 0xfaa8
leaq 0x8b6d(%rip), %rsi      # 0xed6a
leaq 0x9835(%rip), %rcx      # 0xfa39
movl $0x53c, %edx            # imm = 0x53C
callq 0x3080
leaq 0x8a8b(%rip), %rdi      # 0xeca0
leaq 0x8b4e(%rip), %rsi      # 0xed6a
leaq 0x9955(%rip), %rcx      # 0xfb78
movl $0x638, %edx            # imm = 0x638
callq 0x3080
leaq 0x8a6c(%rip), %rdi      # 0xeca0
leaq 0x8b2f(%rip), %rsi      # 0xed6a
leaq 0x9772(%rip), %rcx      # 0xf9b4
movl $0x44c, %edx            # imm = 0x44C
callq 0x3080
leaq 0x8a4d(%rip), %rdi      # 0xeca0
leaq 0x8b10(%rip), %rsi      # 0xed6a
leaq 0x9753(%rip), %rcx      # 0xf9b4
movl $0x463, %edx            # imm = 0x463
callq 0x3080
leaq 0x979c(%rip), %rdi      # 0xfa0e
leaq 0x8af1(%rip), %rsi      # 0xed6a
leaq 0x97b9(%rip), %rcx      # 0xfa39
movl $0x522, %edx            # imm = 0x522
callq 0x3080
leaq 0x97ef(%rip), %rdi      # 0xfa80
leaq 0x8ad2(%rip), %rsi      # 0xed6a
leaq 0x979a(%rip), %rcx      # 0xfa39
movl $0x523, %edx            # imm = 0x523
callq 0x3080
leaq 0x93b2(%rip), %rdi      # 0xf662
leaq 0x8ab3(%rip), %rsi      # 0xed6a
leaq 0x977b(%rip), %rcx      # 0xfa39
movl $0x56f, %edx            # imm = 0x56F
callq 0x3080
leaq 0x957f(%rip), %rdi      # 0xf84e
leaq 0x8a94(%rip), %rsi      # 0xed6a
leaq 0x9598(%rip), %rcx      # 0xf875
movl $0x3be, %edx            # imm = 0x3BE
callq 0x3080
leaq 0x95d3(%rip), %rdi      # 0xf8c1
leaq 0x8a75(%rip), %rsi      # 0xed6a
leaq 0x9579(%rip), %rcx      # 0xf875
movl $0x3bf, %edx            # imm = 0x3BF
callq 0x3080
leaq 0x95ed(%rip), %rdi      # 0xf8fa
leaq 0x8a56(%rip), %rsi      # 0xed6a
leaq 0x95f6(%rip), %rcx      # 0xf911
movl $0x6ca, %edx            # imm = 0x6CA
callq 0x3080
leaq 0x8974(%rip), %rdi      # 0xeca0
leaq 0x8a37(%rip), %rsi      # 0xed6a
leaq 0x95d7(%rip), %rcx      # 0xf911
movl $0x6e7, %edx            # imm = 0x6E7
callq 0x3080
leaq 0x8955(%rip), %rdi      # 0xeca0
leaq 0x8a18(%rip), %rsi      # 0xed6a
leaq 0x95b8(%rip), %rcx      # 0xf911
movl $0x6ff, %edx            # imm = 0x6FF
callq 0x3080