// File: /workspace/github_c_makefile_star2_O1/c-zhou[P]oatk/path_finder.c
// Function: pathfinder_minicircle
int pathfinder_minicircle(char *asg_file, char *mini_annot, scg_meta_t *scg_meta, int min_len, int min_ext_g, 
        int max_copy, int max_path, double max_eval, double min_score, double min_cf, double seq_cf,
        int no_trn, int no_rrn, int do_graph_clean, int bubble_size, int tip_size, double weak_cross,
        int out_opt, char *out_pref, int n_threads, int VERBOSE)
{
    asg_t *asg;
    hmm_annot_db_t *annot_db;
    og_component_v *og_components;
    double *seg_annot_score;
    int ret = 0;

    asg = 0;
    annot_db = 0;
    og_components = 0;
    seg_annot_score = 0;

    asg = asg_read(asg_file);
    if (asg == 0) {
        fprintf(stderr, "[E::%s] failed to read the graph: %s\n", __func__, asg_file);
        ret = 1;
        goto do_clean;
    }

    annot_db = hmm_annot_read(mini_annot, annot_db, OG_MINI);
    if (annot_db == 0) {
        fprintf(stderr, "[E::%s] failed to read the annotation file\n", __func__);
        ret = 1;
        goto do_clean;
    }

    if (VERBOSE > 2) hmm_annot_db_print(annot_db, stderr);

    seg_annot_score = get_sequence_annot_score(annot_db, asg, no_trn, no_rrn, max_eval, 0, VERBOSE);
    og_components = annot_subgraph_og_type(annot_db, asg, no_trn, no_rrn, max_eval, 0, min_len, min_score, 1, VERBOSE);
    if (!og_components) {
        fprintf(stderr, "[E::%s] no organelle component found\n", __func__);
        ret = 1;
        goto do_clean;
    }
    if (VERBOSE > 1) print_og_classification_summary(asg, annot_db, og_components, stderr);

    parse_organelle_minicircle(asg, annot_db, og_components, seg_annot_score, scg_meta, n_threads, out_pref, out_opt, max_eval, seq_cf, VERBOSE);

do_clean:
    asg_destroy(asg);
    hmm_annot_db_destroy(annot_db);
    og_component_v_destroy(og_components);
    free(seg_annot_score);

    return ret;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x108, %rsp            # imm = 0x108
movsd %xmm3, 0xb8(%rsp)
movsd %xmm1, 0x28(%rsp)
movsd %xmm0, 0x58(%rsp)
movl %ecx, %ebp
movq %rdx, 0x38(%rsp)
movq %rsi, %r15
movq %rdi, %r14
callq 0x237d8
movq %rax, %rbx
testq %rax, %rax
je 0x894b
movq %r15, %rdi
xorl %esi, %esi
movl $0x3, %edx
callq 0xb164
testq %rax, %rax
je 0x8977
movq %rax, %r15
movl 0x150(%rsp), %r14d
movl 0x148(%rsp), %r12d
cmpl $0x3, 0x188(%rsp)
jl 0x7de6
movq 0x3621d(%rip), %rax     # 0x3dff8
movq (%rax), %rsi
movq %r15, %rdi
callq 0xbd62
movq %r15, %rdi
movq %rbx, %rsi
movl %r12d, %edx
movl %r14d, %ecx
movsd 0x58(%rsp), %xmm0
xorl %r8d, %r8d
movl 0x188(%rsp), %r13d
movl %r13d, %r9d
callq 0x2492d
movq %rax, 0x68(%rsp)
cvttsd2si 0x28(%rsp), %eax
movl %r13d, 0x10(%rsp)
movl %eax, (%rsp)
movl $0x1, 0x8(%rsp)
movq %r15, %rdi
movq %rbx, %rsi
movl %r12d, %edx
movl %r14d, %ecx
movsd 0x58(%rsp), %xmm0
xorl %r8d, %r8d
movl %ebp, %r9d
callq 0x2559a
testq %rax, %rax
je 0x8992
movq %rax, %r12
cmpl $0x2, %r13d
jl 0x7e6d
movq 0x3619c(%rip), %rax     # 0x3dff8
movq (%rax), %rcx
movq %rbx, %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0x28693
cmpq $0x0, (%r12)
je 0x7fbb
movq %r12, 0x88(%rsp)
movq 0x178(%rsp), %r12
movq %r12, %rdi
callq 0x31a0
leaq 0x40(%rax), %rdi
callq 0x33c0
movq %rax, %rbp
leaq 0x2b80b(%rip), %rsi     # 0x336ae
leaq 0x2ba64(%rip), %r14     # 0x3390e
movq %rax, %rdi
movq %r12, %rdx
movq %r14, %rcx
xorl %eax, %eax
callq 0x3520
movq %rbp, %rdi
callq 0x7d3c
movq %rax, 0x78(%rsp)
leaq 0x2b7f0(%rip), %rsi     # 0x336be
movq %rbp, %rdi
movq %r12, %rdx
movq %r14, %rcx
xorl %eax, %eax
callq 0x3520
movq %rbp, %rdi
callq 0x7d3c
movq %rax, 0xb0(%rsp)
leaq 0x2b7d7(%rip), %rsi     # 0x336cc
movq %rbp, %rdi
movq %r12, %rdx
movq %r14, %rcx
xorl %eax, %eax
callq 0x3520
movq %rbp, %rdi
callq 0x7d3c
movq %rax, 0xa8(%rsp)
leaq 0x2b7ba(%rip), %rsi     # 0x336d6
movq %rbp, %rdi
movq %r12, %rdx
movq 0x88(%rsp), %r12
movq %r14, %rcx
xorl %eax, %eax
callq 0x3520
movq %rbp, %rdi
callq 0x7d3c
movq %rax, 0xa0(%rsp)
movq %rbp, %rdi
callq 0x3060
movq 0x10(%r12), %r8
cmpl $0x3, (%r8)
jne 0x8913
movq %rbx, 0x30(%rsp)
movq 0x8(%rbx), %rbx
movq 0x38(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %r12
movl $0x0, 0x24(%rsp)
cmpl $0x0, 0x1c(%r8)
je 0x7fd5
movq 0x20(%r8), %rax
xorpd %xmm0, %xmm0
xorl %ecx, %ecx
movq 0x68(%rsp), %rdi
movl (%rax,%rcx,4), %edx
leal (,%rdx,4), %esi
movsd 0x18(%rdi,%rsi,8), %xmm1
ucomisd %xmm0, %xmm1
jbe 0x7fad
movl %edx, 0x24(%rsp)
movapd %xmm1, %xmm0
incq %rcx
movl 0x1c(%r8), %edx
cmpq %rdx, %rcx
jb 0x7f8f
jmp 0x7fd9
xorl %ebp, %ebp
cmpl $0x0, 0x188(%rsp)
jle 0x8915
callq 0x3d86
jmp 0x8915
xorpd %xmm0, %xmm0
cmpl $0x0, 0x188(%rsp)
movq %r8, 0x90(%rsp)
jg 0x89a4
cmpq (%r12), %rbx
jne 0x8a79
testq %rbx, %rbx
je 0x8033
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%r12), %rcx
movl $0x1, %edx
xorl %esi, %esi
leaq (%rsi,%rsi,2), %rdi
movl 0x10(%rax,%rdi,8), %edi
leaq (%rsi,%rsi,4), %rsi
cmpq %rdi, 0x18(%rcx,%rsi,8)
jne 0x8a3b
movl %edx, %esi
incl %edx
cmpq %rsi, %rbx
ja 0x8013
movl 0x24(%rsp), %edx
addl %edx, %edx
leaq 0xd0(%rsp), %rax
movq %rax, (%rsp)
leaq 0x84(%rsp), %r9
movl $0xc350, %r8d           # imm = 0xC350
movq %r12, %rdi
movl %edx, %esi
xorl %ecx, %ecx
callq 0x2d104
movl %eax, %ebp
movl 0x188(%rsp), %ebx
testl %ebx, %ebx
jg 0x89c2
testl %ebx, %ebx
movq 0x30(%rsp), %rbx
jle 0x8081
testl %ebp, %ebp
je 0x89b8
xorpd %xmm0, %xmm0
movapd %xmm0, 0x40(%rsp)
movq $0x0, 0x50(%rsp)
testl %ebp, %ebp
movq %r15, 0x70(%rsp)
je 0x85fc
movq 0x38(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rbx
movq 0x18(%rbx), %rax
testq %rax, %rax
je 0x80cf
movq 0x28(%rbx), %rcx
addq $0x18, %rcx
movq $0x0, (%rcx)
addq $0x30, %rcx
decq %rax
jne 0x80bf
movl 0x180(%rsp), %r12d
movq (%rbx), %r14
testq %r14, %r14
je 0x8118
xorl %r15d, %r15d
movq 0x10(%rbx), %rax
movq 0x10(%rax,%r15), %rdi
testq %rdi, %rdi
je 0x8102
callq 0x3060
movq 0x10(%rbx), %rax
movq $0x0, 0x10(%rax,%r15)
movq 0x10(%rbx), %rax
movq $0x0, 0x18(%rax,%r15)
addq $0x28, %r15
decq %r14
jne 0x80e2
movq 0x38(%rsp), %rbx
movq 0x8(%rbx), %rdx
movq 0x18(%rbx), %rdi
movq 0x20(%rbx), %rsi
movl %r12d, %ecx
xorl %r8d, %r8d
callq 0x2d7b4
movq 0x8(%rbx), %rsi
movq 0x18(%rbx), %rdi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xd984
movq 0x8(%rbx), %rax
movq %rax, 0x98(%rsp)
movq 0x20(%rbx), %r14
movl 0x24(%rsp), %ebx
movq (%r14), %r15
leaq (,%r15,8), %rdi
callq 0x33c0
movq %rax, %r13
leaq 0xd8(%rsp), %rdx
movq %r14, 0xc0(%rsp)
movq %r14, (%rdx)
movq %rbx, 0x8(%rdx)
movq %rax, 0x10(%rdx)
leaq 0x2a45(%rip), %rsi      # 0xabd6
movl %r12d, %edi
movq %r15, %rcx
callq 0x30a0c
movq %r15, 0x38(%rsp)
testq %r15, %r15
je 0x8345
xorl %ebx, %ebx
movq %r13, 0xc8(%rsp)
movq (%r13,%rbx,8), %rax
cmpq $-0x1, %rax
je 0x8337
movq %rbx, 0x28(%rsp)
movq %rax, %r13
shrq $0x21, %r13
shrq %rax
movl %eax, %ebp
movl $0x0, %r15d
movl $0x0, %r12d
cmpq %rbp, %r13
ja 0x8256
movq 0xc0(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x28(%rsp), %rcx
shlq $0x5, %rcx
leaq (%rax,%rcx), %rbx
addq $0x10, %rbx
subq %r13, %rbp
shlq $0x5, %r13
incq %rbp
xorl %r12d, %r12d
xorl %eax, %eax
xorl %r15d, %r15d
cmpq %rax, %r15
jne 0x823f
leaq (%rax,%rax), %r14
testq %rax, %rax
movl $0x2, %eax
cmoveq %rax, %r14
leaq (,%r14,4), %rsi
movq %r12, %rdi
callq 0x3400
movq %rax, %r12
movq %r14, %rax
movq (%rbx), %rcx
movl (%rcx,%r13), %ecx
movl %ecx, (%r12,%r15,4)
incq %r15
addq $0x20, %r13
cmpq %r15, %rbp
jne 0x8214
movq 0xc8(%rsp), %r13
movq 0x28(%rsp), %rbx
testb $0x1, (%r13,%rbx,8)
je 0x82b2
leal -0x3(%r15), %eax
cmpl $-0x3, %eax
ja 0x829e
leal -0x2(%r15), %eax
decq %rax
xorl %ecx, %ecx
movl 0x4(%r12,%rcx,4), %edx
movl 0x8(%r12,%rax,4), %esi
movl %esi, 0x4(%r12,%rcx,4)
movl %edx, 0x8(%r12,%rax,4)
incq %rcx
movl %eax, %edx
decq %rax
cmpq %rdx, %rcx
jb 0x827d
testq %r15, %r15
je 0x82b2
xorl %eax, %eax
xorb $0x1, (%r12,%rax,4)
incq %rax
cmpq %rax, %r15
jne 0x82a5
movq 0x48(%rsp), %rax
cmpq %rax, 0x40(%rsp)
jne 0x82ea
leaq (%rax,%rax), %rcx
testq %rax, %rax
movl $0x2, %eax
cmoveq %rax, %rcx
movq %rcx, 0x48(%rsp)
movq 0x50(%rsp), %rdi
shlq $0x4, %rcx
leaq (%rcx,%rcx,2), %rsi
callq 0x3400
movq %rax, 0x50(%rsp)
andl $0x3fffffff, %r15d      # imm = 0x3FFFFFFF
orl $0x40000000, %r15d      # imm = 0x40000000
movq 0x40(%rsp), %rax
movq 0x50(%rsp), %rcx
leaq 0x1(%rax), %rdx
movq %rdx, 0x40(%rsp)
leaq (%rax,%rax,2), %rax
shlq $0x4, %rax
movq $0x0, (%rcx,%rax)
movl %r15d, 0x8(%rcx,%rax)
movq %r12, 0x10(%rcx,%rax)
movl $0x0, 0x18(%rcx,%rax)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x20(%rcx,%rax)
incq %rbx
cmpq 0x38(%rsp), %rbx
jne 0x81b4
movq %r13, %rdi
callq 0x3060
movq 0x40(%rsp), %rsi
testq %rsi, %rsi
je 0x85f2
movq 0x50(%rsp), %rdi
leaq 0x29a6(%rip), %rcx      # 0xad0d
movl $0x30, %ebx
movl $0x30, %edx
callq 0x3100
movl $0x1, %eax
cmpq $0x2, 0x40(%rsp)
jb 0x8415
movl $0x1, %r15d
xorl %r13d, %r13d
movl $0x1, %r12d
movq 0x50(%rsp), %rbp
leaq (%rbx,%rbp), %r14
leaq (,%r13,2), %rsi
addq %r13, %rsi
shlq $0x4, %rsi
addq %rbp, %rsi
movq %r14, %rdi
callq 0xad0d
testl %eax, %eax
je 0x83fa
cmpq %r12, %r15
je 0x83ed
leaq (%r12,%r12,2), %rax
shlq $0x4, %rax
movupd (%r14), %xmm0
movupd 0x10(%r14), %xmm1
movupd 0x20(%r14), %xmm2
movupd %xmm2, 0x20(%rbp,%rax)
movupd %xmm1, 0x10(%rbp,%rax)
movupd %xmm0, (%rbp,%rax)
leaq 0x1(%r12), %rax
movq %r12, %r13
movq %rax, %r12
jmp 0x8407
movq 0x10(%rbp,%rbx), %rdi
callq 0x3060
movq %r12, %rax
incq %r15
addq $0x30, %rbx
cmpq 0x40(%rsp), %r15
jb 0x8396
movq %rax, 0x40(%rsp)
testq %rax, %rax
je 0x85f2
movq 0x98(%rsp), %rcx
movq 0x8(%rcx), %rcx
movq 0x50(%rsp), %rdx
movq 0x28(%rcx), %rsi
movq 0x30(%rcx), %rdi
movq %rcx, 0x28(%rsp)
movq 0x38(%rcx), %r8
xorl %r9d, %r9d
movq 0x2b0e0(%rip), %xmm0    # 0x33530
movapd 0x2b0e8(%rip), %xmm1    # 0x33540
leaq (%r9,%r9,2), %r10
shlq $0x4, %r10
movl 0x8(%rdx,%r10), %r11d
andl $0x3fffffff, %r11d      # imm = 0x3FFFFFFF
movq 0x10(%rdx,%r10), %r14
leal -0x1(%r11), %ecx
movl (%r14,%rcx,4), %ecx
movl (%r14), %r15d
movq (%r8,%rcx,8), %rbx
testq %rbx, %rbx
je 0x84ac
movq (%rdi,%rcx,8), %rcx
leaq (%rcx,%rcx,2), %r12
shlq $0x4, %r12
addq %rsi, %r12
cmpq %r15, 0x8(%r12)
jne 0x84a3
testb $0x40, 0x23(%r12)
je 0x84af
addq $0x30, %r12
decq %rbx
jne 0x8494
xorl %r12d, %r12d
testq %r12, %r12
je 0x8a5a
movq 0x28(%rsp), %rcx
movq 0x10(%rcx), %rbx
shrl %r15d
leaq (%r15,%r15,4), %rcx
movl 0x20(%rbx,%rcx,8), %r13d
andl $0x3fffffff, %r13d      # imm = 0x3FFFFFFF
xorps %xmm3, %xmm3
cvtsi2sd %r13d, %xmm3
movq 0x18(%rbx,%rcx,8), %r15
movl %r15d, %ecx
xorps %xmm2, %xmm2
cvtsi2sd %rcx, %xmm2
mulsd %xmm3, %xmm2
movq 0x18(%r12), %rcx
subq %rcx, %r15
imulq %r13, %rcx
movq %rcx, %xmm3
punpckldq %xmm0, %xmm3    # xmm3 = xmm3[0],xmm0[0],xmm3[1],xmm0[1]
subpd %xmm1, %xmm3
movapd %xmm3, %xmm4
unpckhpd %xmm3, %xmm4            # xmm4 = xmm4[1],xmm3[1]
addsd %xmm3, %xmm4
subsd %xmm4, %xmm2
cmpl $0x2, %r11d
jb 0x85d9
movl $0x1, %r12d
movl -0x4(%r14,%r12,4), %r13d
movl (%r14,%r12,4), %ebp
movq (%r8,%r13,8), %rcx
testq %rcx, %rcx
je 0x8561
movq (%rdi,%r13,8), %r13
leaq (%r13,%r13,2), %r13
shlq $0x4, %r13
addq %rsi, %r13
cmpq %rbp, 0x8(%r13)
jne 0x8558
testb $0x40, 0x23(%r13)
je 0x8564
addq $0x30, %r13
decq %rcx
jne 0x854b
xorl %r13d, %r13d
testq %r13, %r13
je 0x8a1c
shrl %ebp
leaq (,%rbp,4), %rcx
addq %rbp, %rcx
movl 0x20(%rbx,%rcx,8), %ebp
andl $0x3fffffff, %ebp       # imm = 0x3FFFFFFF
xorps %xmm3, %xmm3
cvtsi2sd %ebp, %xmm3
movq 0x18(%rbx,%rcx,8), %rcx
movl %ecx, %ebp
xorps %xmm4, %xmm4
cvtsi2sd %rbp, %xmm4
mulsd %xmm3, %xmm4
addsd %xmm4, %xmm2
addq %rcx, %r15
movq 0x18(%r13), %rcx
subq %rcx, %r15
movq %rcx, %xmm4
punpckldq %xmm0, %xmm4    # xmm4 = xmm4[0],xmm0[0],xmm4[1],xmm0[1]
subpd %xmm1, %xmm4
movapd %xmm4, %xmm5
unpckhpd %xmm4, %xmm5            # xmm5 = xmm5[1],xmm4[1]
addsd %xmm4, %xmm5
mulsd %xmm3, %xmm5
subsd %xmm5, %xmm2
incq %r12
cmpq %r11, %r12
jne 0x8529
addq %rdx, %r10
movl %r15d, 0x18(%r10)
movsd %xmm2, 0x20(%r10)
incq %r9
cmpq %rax, %r9
jne 0x8458
movq 0x30(%rsp), %rbx
movq 0x70(%rsp), %r15
movq 0x20(%rbx), %rdi
movq %rdi, 0x38(%rsp)
xorl %esi, %esi
callq 0x22e47
movq %rax, 0x20(%rbx)
movl $0x1, (%rsp)
leaq 0x24(%rsp), %rsi
movq %rax, %rdi
movl $0x1, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x2ca7e
xorl %eax, %eax
callq 0xb10d
cmpq $0x0, 0x40(%rsp)
movq %rax, 0x28(%rsp)
je 0x86ef
movq %rax, %r13
movl 0x170(%rsp), %r12d
leaq 0x40(%rsp), %r14
movq %r14, %rdi
callq 0x20876
movq %rbx, %rdi
movq %r14, %rsi
xorl %edx, %edx
movl %r12d, %ecx
movsd 0xb8(%rsp), %xmm0
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x22650
movl %eax, %eax
shlq $0x4, %rax
leaq (%rax,%rax,2), %r12
movq 0x10(%r14), %rsi
addq %r12, %rsi
movl $0x64, %ebx
movl %ebx, (%rsp)
movq 0x30(%rsp), %rdi
movq 0x78(%rsp), %rdx
movl $0x1, %ecx
xorl %r8d, %r8d
movl $0x3c, %r9d
callq 0x21ce8
addq 0x10(%r14), %r12
movl %ebx, (%rsp)
movq 0x30(%rsp), %rbx
movl $0x3, 0x8(%rsp)
movq %r13, %rdi
movq %r15, %rsi
movq %rbx, %rdx
movq %r12, %rcx
movl $0x1, %r8d
xorl %r9d, %r9d
movsd 0x58(%rsp), %xmm0
callq 0x22322
jmp 0x8846
cmpl $0x0, 0x188(%rsp)
jg 0x8a0a
movq 0x358d4(%rip), %rax     # 0x3dfd8
movq (%rax), %rsi
movq %rbx, %rdi
movl $0x3c, %edx
callq 0x247ce
movq 0x90(%rsp), %rsi
cmpl $0x0, 0x1c(%rsi)
je 0x8837
xorl %ebx, %ebx
movl $0x64, %r15d
leaq 0xd8(%rsp), %r12
xorl %r14d, %r14d
xorl %r13d, %r13d
movq 0x30(%rsp), %rbp
movq 0x20(%rsi), %rax
movl (%rax,%r14,4), %eax
movl %eax, 0x64(%rsp)
movq 0x20(%rbp), %rcx
movq 0x10(%rcx), %rcx
leaq (%rax,%rax,4), %rdx
testb $0x40, 0x23(%rcx,%rdx,8)
jne 0x8828
leal (%rax,%rax), %ecx
movl %ecx, 0x64(%rsp)
movq %rbx, 0xd8(%rsp)
movl $0x80000001, 0xe0(%rsp) # imm = 0x80000001
leaq 0x64(%rsp), %rcx
movq %rcx, 0xe8(%rsp)
movq 0x10(%rbp), %rcx
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
leaq (%rax,%rax,2), %rax
movl 0x10(%rcx,%rax,8), %edx
movl %edx, 0xf0(%rsp)
movl 0x10(%rcx,%rax,8), %edx
movl 0x14(%rcx,%rax,8), %eax
xorps %xmm0, %xmm0
cvtsi2sd %rdx, %xmm0
xorps %xmm1, %xmm1
cvtsi2sd %rax, %xmm1
mulsd %xmm0, %xmm1
movsd %xmm1, 0xf8(%rsp)
movq %rbx, 0x100(%rsp)
incl %r13d
movl %r15d, (%rsp)
movq %rbp, %rdi
movq %r12, %rsi
movq 0x78(%rsp), %rdx
movl %r13d, %ecx
xorl %r8d, %r8d
movl $0x3c, %r9d
callq 0x21ce8
movl %r15d, (%rsp)
movl $0x3, 0x8(%rsp)
movq 0x28(%rsp), %rdi
movq 0x70(%rsp), %rsi
movq %rbp, %rdx
movq %r12, %rcx
movl %r13d, %r8d
xorl %r9d, %r9d
movsd 0x58(%rsp), %xmm0
callq 0x22322
movq 0x90(%rsp), %rsi
incq %r14
movl 0x1c(%rsi), %eax
cmpq %rax, %r14
jb 0x8741
movq 0x30(%rsp), %rbx
movq 0x70(%rsp), %r15
movq 0x28(%rsp), %r13
movq %r13, %rdi
movq 0xb0(%rsp), %rbp
movq %rbp, %rsi
movl $0x1, %edx
callq 0xc56f
leaq 0xd8(%rsp), %r14
movq $0x0, (%r14)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x288a4
movq %rax, %r12
movq (%r14), %rdx
movq %r15, %rdi
movq %rax, %rsi
movq 0xa0(%rsp), %r13
movq %r13, %rcx
movl $0x3, %r8d
movsd 0x58(%rsp), %xmm0
movl $0x1, %r9d
callq 0xc1d8
movq %r12, %rdi
callq 0x3060
movq %rbx, %rdi
movq 0xa8(%rsp), %r14
movq %r14, %rsi
xorl %edx, %edx
callq 0x232e7
movq 0x20(%rbx), %rdi
callq 0x299e8
movq 0x38(%rsp), %rax
movq %rax, 0x20(%rbx)
leaq 0x40(%rsp), %rdi
callq 0x1cd06
movq 0x28(%rsp), %rdi
callq 0xb11c
movq 0x78(%rsp), %rdi
callq 0x3180
movq %rbp, %rdi
callq 0x3180
movq %r14, %rdi
callq 0x3180
movq %r13, %rdi
callq 0x3180
movq 0x88(%rsp), %r12
xorl %ebp, %ebp
movq %rbx, %rdi
callq 0x228a6
movq %r15, %rdi
callq 0xb028
movq %r12, %rdi
callq 0x248e0
movq 0x68(%rsp), %rdi
callq 0x3060
movl %ebp, %eax
addq $0x108, %rsp            # imm = 0x108
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x356a6(%rip), %rax     # 0x3dff8
movq (%rax), %rdi
leaq 0x2ac54(%rip), %rsi     # 0x335b0
leaq 0x2ac73(%rip), %rdx     # 0x335d6
xorl %r15d, %r15d
movq %r14, %rcx
xorl %eax, %eax
callq 0x3330
movl $0x1, %ebp
jmp 0x8984
callq 0x3dc4
movl $0x1, %ebp
xorl %r15d, %r15d
xorl %r12d, %r12d
movq $0x0, 0x68(%rsp)
jmp 0x8915
callq 0x3da5
movl $0x1, %ebp
xorl %r12d, %r12d
jmp 0x8915
leaq 0x24(%rsp), %rsi
movq 0x30(%rsp), %rdi
callq 0x3cef
jmp 0x7fef
callq 0x3d24
jmp 0x8081
movq 0x3562f(%rip), %rax     # 0x3dff8
movq (%rax), %rdi
testl %ebp, %ebp
leaq 0x2ae7d(%rip), %rax     # 0x33852
leaq 0x2ae72(%rip), %rcx     # 0x3384e
cmoveq %rax, %rcx
movl 0x84(%rsp), %r8d
movq 0xd0(%rsp), %r9
leaq 0x2adf4(%rip), %rsi     # 0x337eb
leaq 0x2ac95(%rip), %rdx     # 0x33693
xorl %eax, %eax
callq 0x3330
jmp 0x8070
leaq 0x24(%rsp), %rsi
movq %rbx, %rdi
callq 0x3d50
jmp 0x86fd
leaq 0x2aef0(%rip), %rdi     # 0x33913
leaq 0x2ad04(%rip), %rsi     # 0x3372e
leaq 0x2aee6(%rip), %rcx     # 0x33917
movl $0x2d0, %edx            # imm = 0x2D0
callq 0x3220
leaq 0x2ad85(%rip), %rdi     # 0x337c7
leaq 0x2ace5(%rip), %rsi     # 0x3372e
leaq 0x2acec(%rip), %rcx     # 0x3373c
movl $0x314, %edx            # imm = 0x314
callq 0x3220
leaq 0x2aeb2(%rip), %rdi     # 0x33913
leaq 0x2acc6(%rip), %rsi     # 0x3372e
leaq 0x2aea8(%rip), %rcx     # 0x33917
movl $0x2c4, %edx            # imm = 0x2C4
callq 0x3220
leaq 0x2ac99(%rip), %rdi     # 0x33719
leaq 0x2aca7(%rip), %rsi     # 0x3372e
leaq 0x2acae(%rip), %rcx     # 0x3373c
movl $0x312, %edx            # imm = 0x312
callq 0x3220