// File: /workspace/github_c_makefile_star2_O1/nh13[P]ksw/src/parasail/apps/parasail_aligner.cpp
// Function: output(bool, bool, bool, bool, bool, bool, bool, bool, _IO_FILE*, bool, long, unsigned char*, int, int, int, parasail_matrix const*, std::vector<long, std::allocator<long>> const&, std::vector<long, std::allocator<long>> const&, std::vector<std::pair<int, int>, std::allocator<std::pair<int, int>>> const&, parasail_sequences*, parasail_sequences*, std::vector<parasail_result*, std::allocator<parasail_result*>> const&, long long, long long, bool, char const*)
inline static void output(
        bool is_stats,
        bool is_table,
        bool is_trace,
        bool edge_output,
        bool use_emboss_format,
        bool use_ssw_format,
        bool use_sam_format,
        bool use_sam_header,
        FILE *fop,
        bool has_query,
        long sid_crossover,
        unsigned char *T,
        int AOL,
        int SIM,
        int OS,
        const parasail_matrix_t *matrix,
        const vector<long> &BEG,
        const vector<long> &END,
        const PairVec &vpairs,
        parasail_sequences_t *queries,
        parasail_sequences_t *sequences,
        const vector<parasail_result_t*> &results,
        long long start,
        long long stop,
        bool case_sensitive,
        const char *alphabet_aliases)
{
    if (is_stats) {
        if (edge_output) {
            output_edges(fop, has_query, sid_crossover, T, AOL, SIM, OS, matrix, BEG, END, vpairs, results, start, stop);
        }
        else {
            output_stats(fop, has_query, sid_crossover, BEG, END, vpairs, results, start, stop);
        }
    }
    else if (is_trace) {
        if (use_emboss_format) {
            output_emboss(fop, has_query, sid_crossover, matrix, vpairs, queries, sequences, results, start, stop, case_sensitive, alphabet_aliases);
        }
        else if (use_ssw_format) {
            output_ssw(fop, has_query, sid_crossover, matrix, vpairs, queries, sequences, results, start, stop, case_sensitive, alphabet_aliases);
        }
        else if (use_sam_format) {
            output_sam(fop, use_sam_header, has_query, sid_crossover, matrix, vpairs, queries, sequences, results, start, stop, case_sensitive, alphabet_aliases);
        }
        else {
            output_trace(fop, has_query, sid_crossover, T, matrix, BEG, END, vpairs, results, start, stop, case_sensitive, alphabet_aliases);
        }
    }
    else {
        output_basic(fop, has_query, sid_crossover, BEG, END, vpairs, results, start, stop);
    }
    if (is_table) {
        output_tables(has_query, sid_crossover, T, BEG, END, vpairs, results, start, stop);
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x148, %rsp            # imm = 0x148
movq 0x200(%rsp), %r15
movq 0x1a0(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x190(%rsp), %r12
testl %edi, %edi
movl %esi, 0x3c(%rsp)
je 0x301a8d
testb %cl, %cl
je 0x301c9a
cmpq 0x208(%rsp), %r15
jge 0x301f31
cmpb $0x0, 0x198(%rsp)
movl $0x0, %ecx
cmovnel %eax, %ecx
movl %ecx, 0x20(%rsp)
movq $0x0, 0x28(%rsp)
movq 0x1f8(%rsp), %rax
movq (%rax), %rax
movq (%rax,%r15,8), %r14
movq 0x1e0(%rsp), %rax
movq (%rax), %rax
movslq (%rax,%r15,8), %rsi
movslq 0x4(%rax,%r15,8), %rdx
movq 0x1d0(%rsp), %rax
movq (%rax), %rax
movq (%rax,%rsi,8), %rbp
movq 0x1d8(%rsp), %rcx
movq (%rcx), %rcx
movq (%rcx,%rsi,8), %r12
movq (%rax,%rdx,8), %rbx
movq %rdx, 0x10(%rsp)
movq (%rcx,%rdx,8), %r13
subl 0x20(%rsp), %esi
movq %rsi, 0x18(%rsp)
movq %r14, %rdi
callq 0x30f1c5
testl %eax, %eax
jne 0x301a42
subq %rbp, %r12
movq %r14, %rdi
callq 0x30f317
movl %eax, (%rsp)
movq %r14, %rdi
callq 0x30f358
movl %eax, 0x8(%rsp)
movq %r14, %rdi
callq 0x30f3a1
xorl %ecx, %ecx
movl $0x0, %edx
testl %r12d, %r12d
movq 0x1c8(%rsp), %r14
jle 0x301958
addq 0x1a8(%rsp), %rbp
movq 0x8(%r14), %rsi
movq 0x10(%r14), %rdi
movl 0x18(%r14), %r8d
incl %r8d
movl %r12d, %r9d
andl $0x7fffffff, %r9d       # imm = 0x7FFFFFFF
xorl %r10d, %r10d
xorl %edx, %edx
movzbl (%rbp,%r10), %r11d
movzbl (%rdi,%r11,4), %r11d
imull %r8d, %r11d
movslq %r11d, %r11
addl (%rsi,%r11,4), %edx
incq %r10
cmpq %r10, %r9
jne 0x30193a
subq %rbx, %r13
testl %r13d, %r13d
jle 0x3019a3
addq 0x1a8(%rsp), %rbx
movq 0x8(%r14), %rsi
movq 0x10(%r14), %rdi
movl 0x18(%r14), %r8d
incl %r8d
movl %r13d, %r9d
andl $0x7fffffff, %r9d       # imm = 0x7FFFFFFF
xorl %r10d, %r10d
xorl %ecx, %ecx
movzbl (%rbx,%r10), %r11d
movzbl (%rdi,%r11,4), %r11d
imull %r8d, %r11d
movslq %r11d, %r11
addl (%rsi,%r11,4), %ecx
incq %r10
cmpq %r10, %r9
jne 0x301986
cmpq %r13, %r12
cmovgl %edx, %ecx
cmovgq %r12, %r13
imull $0x64, %eax, %edx
movl %r13d, %esi
imull 0x1b0(%rsp), %esi
cmpl %esi, %edx
jl 0x301a77
movl 0x8(%rsp), %r8d
imull $0x64, %r8d, %edx
movl %eax, %esi
imull 0x1b8(%rsp), %esi
cmpl %esi, %edx
jl 0x301a77
movl (%rsp), %edi
imull $0x64, %edi, %edx
movl %ecx, %esi
imull 0x1c0(%rsp), %esi
cmpl %esi, %edx
jl 0x301a77
cvtsi2sd %eax, %xmm0
cvtsi2sd %r13d, %xmm3
cvtsi2sd %r8d, %xmm1
incq 0x28(%rsp)
divsd %xmm0, %xmm1
cvtsi2sd %edi, %xmm2
divsd %xmm3, %xmm0
xorps %xmm3, %xmm3
cvtsi2sd %ecx, %xmm3
divsd %xmm3, %xmm2
movq 0x190(%rsp), %rdi
leaq 0x3a1dfe(%rip), %rsi    # 0x6a382d
movq 0x18(%rsp), %rdx
movq 0x10(%rsp), %rcx
movb $0x3, %al
callq 0x29e380
jmp 0x301a77
movq 0x5da597(%rip), %rax    # 0x8dbfe0
movq (%rax), %rdi
cmpb $0x0, 0x198(%rsp)
je 0x301a5f
leaq 0x3a1db1(%rip), %rsi    # 0x6a380e
jmp 0x301a66
leaq 0x3a1d52(%rip), %rsi    # 0x6a37b8
movq 0x18(%rsp), %rdx
movq 0x10(%rsp), %rcx
xorl %eax, %eax
callq 0x29e380
incq %r15
cmpq 0x208(%rsp), %r15
jne 0x301877
jmp 0x301f3a
testb %dl, %dl
je 0x301dfd
movb 0x210(%rsp), %bpl
movq 0x1f0(%rsp), %r13
testb %r8b, %r8b
je 0x302196
cmpq 0x208(%rsp), %r15
jge 0x301f5e
movq 0x1c8(%rsp), %rax
leaq 0x40(%rax), %r14
movzbl %bpl, %r15d
movq 0x200(%rsp), %rbp
movq 0x1f8(%rsp), %rax
movq (%rax), %rax
movq (%rax,%rbp,8), %rbx
movq 0x1e0(%rsp), %rax
movq (%rax), %rax
movslq (%rax,%rbp,8), %r13
movslq 0x4(%rax,%rbp,8), %r12
cmpb $0x0, 0x198(%rsp)
je 0x301b8a
movq 0x1a0(%rsp), %rax
subl %eax, %r13d
movq %rbx, %rdi
callq 0x30f1c5
testl %eax, %eax
jne 0x301c68
movq 0x1e8(%rsp), %rax
movq (%rax), %rax
movslq %r13d, %r8
shlq $0x6, %r8
movq 0x28(%rax,%r8), %rdi
movl 0x20(%rax,%r8), %esi
movq 0x1f0(%rsp), %rcx
movq (%rcx), %r9
shlq $0x6, %r12
movq 0x28(%r9,%r12), %rdx
movl 0x20(%r9,%r12), %ecx
movq 0x8(%rax,%r8), %r8
movq 0x8(%r9,%r12), %r9
pushq 0x218(%rsp)
pushq %r15
pushq 0x1a0(%rsp)
pushq $0x7
pushq $0x1
pushq $0xe
pushq $0x32
pushq $0x2e
pushq $0x3a
pushq $0x7c
pushq %rbx
pushq 0x220(%rsp)
jmp 0x301c49
movq %rbx, %rdi
callq 0x30f1c5
testl %eax, %eax
jne 0x301c85
movq 0x1c8(%rsp), %rax
movl 0x30(%rax), %eax
movq %r14, %rcx
testl %eax, %eax
jne 0x301bc5
movq 0x1f0(%rsp), %rcx
movq (%rcx), %rcx
movq %r13, %rdx
shlq $0x6, %rdx
addq %rdx, %rcx
addq $0x28, %rcx
testl %eax, %eax
je 0x301bdf
movq 0x1c8(%rsp), %r10
movl 0x34(%r10), %esi
movq 0x1f0(%rsp), %r8
jmp 0x301bfd
movq 0x1f0(%rsp), %r8
movq (%r8), %rdx
movq %r13, %rsi
shlq $0x6, %rsi
movl 0x20(%rdx,%rsi), %esi
movq 0x1c8(%rsp), %r10
movq (%rcx), %rdi
shlq $0x6, %r12
shlq $0x6, %r13
testl %eax, %eax
movq (%r8), %rax
movq 0x28(%rax,%r12), %rdx
movl 0x20(%rax,%r12), %ecx
leaq 0x8(%rax,%r13), %r8
cmovneq %r10, %r8
movq (%r8), %r8
movq 0x8(%rax,%r12), %r9
pushq 0x218(%rsp)
pushq %r15
pushq 0x1a0(%rsp)
pushq $0x7
pushq $0x1
pushq $0xe
pushq $0x32
pushq $0x2e
pushq $0x3a
pushq $0x7c
pushq %rbx
pushq %r10
callq 0x3a0be3
addq $0x60, %rsp
incq %rbp
cmpq %rbp, 0x208(%rsp)
jne 0x301ad4
jmp 0x301f5e
movq 0x1e8(%rsp), %rdi
movl %r13d, %esi
movq 0x1f0(%rsp), %rdx
movl %r12d, %ecx
callq 0x29ed01
jmp 0x301c52
movq 0x1f0(%rsp), %rdi
movl %r13d, %esi
movl %r12d, %edx
callq 0x29ecc3
jmp 0x301c52
cmpq 0x208(%rsp), %r15
jge 0x301f5e
cmpb $0x0, 0x198(%rsp)
movl $0x0, %ecx
cmovnel %eax, %ecx
movl %ecx, 0x28(%rsp)
movq 0x200(%rsp), %r13
movq 0x1f8(%rsp), %rax
movq (%rax), %rax
movq (%rax,%r13,8), %r15
movq 0x1e0(%rsp), %rax
movq (%rax), %rax
movslq (%rax,%r13,8), %rbp
movslq 0x4(%rax,%r13,8), %rdx
movq 0x1d0(%rsp), %rax
movq (%rax), %rax
movq (%rax,%rbp,8), %rcx
movq %rcx, (%rsp)
movq 0x1d8(%rsp), %rcx
movq (%rcx), %rcx
movq (%rcx,%rbp,8), %r14
movq (%rax,%rdx,8), %rbx
movq %rdx, 0x8(%rsp)
movq (%rcx,%rdx,8), %r12
subl 0x28(%rsp), %ebp
movq %r15, %rdi
callq 0x30f1c5
testl %eax, %eax
jne 0x301dc9
subq %rbx, %r12
subq (%rsp), %r14
movq %r15, %rdi
callq 0x30f317
movq %rax, (%rsp)
movq %r15, %rdi
callq 0x30f32c
movq %rax, 0x10(%rsp)
movq %r15, %rdi
callq 0x30f342
movq %rax, 0x18(%rsp)
movq %r15, %rdi
callq 0x30f358
movq %rax, 0x20(%rsp)
movq %r15, %rdi
callq 0x30f37c
movl %eax, %ebx
movq %r15, %rdi
callq 0x30f3a1
movl %eax, %r10d
movq 0x190(%rsp), %rdi
leaq 0x3a1ab5(%rip), %rsi    # 0x6a383d
movl %ebp, %edx
movq 0x8(%rsp), %rcx
movq %r14, %r8
movq %r12, %r9
xorl %eax, %eax
pushq %r10
pushq %rbx
pushq 0x30(%rsp)
pushq 0x30(%rsp)
pushq 0x30(%rsp)
pushq 0x28(%rsp)
callq 0x29e380
addq $0x30, %rsp
incq %r13
cmpq %r13, 0x208(%rsp)
jne 0x301cc4
jmp 0x301f5e
movq 0x8(%rsp), %rcx
movq 0x5da20b(%rip), %rax    # 0x8dbfe0
movq (%rax), %rdi
cmpb $0x0, 0x198(%rsp)
je 0x301deb
leaq 0x3a1a25(%rip), %rsi    # 0x6a380e
jmp 0x301df2
leaq 0x3a19c6(%rip), %rsi    # 0x6a37b8
movl %ebp, %edx
xorl %eax, %eax
callq 0x29e380
jmp 0x301db3
cmpq 0x208(%rsp), %r15
jge 0x301f5e
cmpb $0x0, 0x198(%rsp)
movl $0x0, %ecx
cmovnel %eax, %ecx
movl %ecx, 0x10(%rsp)
movq 0x200(%rsp), %rbx
movq 0x1f8(%rsp), %rax
movq (%rax), %rax
movq (%rax,%rbx,8), %r15
movq 0x1e0(%rsp), %rax
movq (%rax), %rax
movslq (%rax,%rbx,8), %r13
movslq 0x4(%rax,%rbx,8), %r14
movq 0x1d0(%rsp), %rax
movq (%rax), %rax
movq (%rax,%r13,8), %rcx
movq %rcx, 0x8(%rsp)
movq 0x1d8(%rsp), %rcx
movq (%rcx), %rcx
movq (%rcx,%r13,8), %rbp
movq (%rax,%r14,8), %rax
movq %rax, (%rsp)
movq (%rcx,%r14,8), %r12
subl 0x10(%rsp), %r13d
movq %r15, %rdi
callq 0x30f1c5
testl %eax, %eax
jne 0x301efe
subq (%rsp), %r12
subq 0x8(%rsp), %rbp
movq %r15, %rdi
callq 0x30f317
movq %rax, 0x8(%rsp)
movq %r15, %rdi
callq 0x30f32c
movq %rax, (%rsp)
movq %r15, %rdi
callq 0x30f342
movl %eax, %r10d
subq $0x8, %rsp
movq 0x198(%rsp), %rdi
leaq 0x3a1b08(%rip), %rsi    # 0x6a39d2
movl %r13d, %edx
movl %r14d, %ecx
movq %rbp, %r8
movq %r12, %r9
xorl %eax, %eax
pushq %r10
pushq 0x10(%rsp)
pushq 0x20(%rsp)
callq 0x29e380
addq $0x20, %rsp
incq %rbx
cmpq %rbx, 0x208(%rsp)
jne 0x301e27
jmp 0x301f5e
movq 0x5da0db(%rip), %rax    # 0x8dbfe0
movq (%rax), %rdi
cmpb $0x0, 0x198(%rsp)
je 0x301f1b
leaq 0x3a18f5(%rip), %rsi    # 0x6a380e
jmp 0x301f22
leaq 0x3a1896(%rip), %rsi    # 0x6a37b8
movl %r13d, %edx
movl %r14d, %ecx
xorl %eax, %eax
callq 0x29e380
jmp 0x301eeb
movq $0x0, 0x28(%rsp)
movq 0x5da067(%rip), %rax    # 0x8dbfa8
movq (%rax), %rdi
leaq 0x3a0b4b(%rip), %rsi    # 0x6a2a96
leaq 0x3a1896(%rip), %rdx    # 0x6a37e8
movq 0x28(%rsp), %rcx
xorl %eax, %eax
callq 0x29e380
movq 0x200(%rsp), %r15
cmpq 0x208(%rsp), %r15
setge %al
movl 0x3c(%rsp), %ecx
xorb $0x1, %cl
orb %al, %cl
jne 0x302184
xorl %eax, %eax
cmpb $0x0, 0x198(%rsp)
movq 0x30(%rsp), %rcx
cmovel %eax, %ecx
movq %rcx, 0x30(%rsp)
leaq 0x3a1a7a(%rip), %r13    # 0x6a3a18
movq 0x1f8(%rsp), %rax
movq (%rax), %rax
movq (%rax,%r15,8), %rdi
movq 0x1e0(%rsp), %rax
movq (%rax), %rax
movslq (%rax,%r15,8), %r14
movslq 0x4(%rax,%r15,8), %rbx
movq 0x1d0(%rsp), %rax
movq (%rax), %rax
movq (%rax,%r14,8), %rcx
movq %rcx, 0x10(%rsp)
movq 0x1d8(%rsp), %rcx
movq (%rcx), %rcx
movq (%rcx,%r14,8), %rdx
movq %rdx, (%rsp)
movq (%rax,%rbx,8), %rax
movq %rax, 0x18(%rsp)
movq (%rcx,%rbx,8), %rax
movq %rax, 0x8(%rsp)
callq 0x30f3c6
movq %rax, %rbp
subl 0x30(%rsp), %r14d
movl $0x100, %edx            # imm = 0x100
leaq 0x40(%rsp), %r12
movq %r12, %rdi
xorl %esi, %esi
callq 0x29e140
movq %r12, %rdi
leaq 0x3a19c5(%rip), %rsi    # 0x6a39ea
movl %r14d, %edx
movl %ebx, %ecx
xorl %eax, %eax
callq 0x29e070
movq %r12, %rdi
leaq 0x427be2(%rip), %rsi    # 0x729c1d
callq 0x29e2d0
testq %rax, %rax
je 0x302a4d
movq %rax, %r14
movq %r15, 0x20(%rsp)
movq 0x8(%rsp), %r15
subq 0x18(%rsp), %r15
movl $0x20, %edi
movq %rax, %rsi
callq 0x29e300
movq %r15, 0x8(%rsp)
testl %r15d, %r15d
leaq 0x3a199d(%rip), %rbx    # 0x6a3a14
jle 0x3020b9
movq 0x18(%rsp), %rax
addq 0x1a8(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x8(%rsp), %r15
andl $0x7fffffff, %r15d      # imm = 0x7FFFFFFF
xorl %r12d, %r12d
movq 0x18(%rsp), %rax
movsbl (%rax,%r12), %edx
movq %r14, %rdi
movq %rbx, %rsi
xorl %eax, %eax
callq 0x29e380
incq %r12
cmpq %r12, %r15
jne 0x30209a
movq (%rsp), %rbx
subq 0x10(%rsp), %rbx
movl $0xa, %edi
movq %r14, %rsi
callq 0x29e300
movq %rbx, (%rsp)
testl %ebx, %ebx
movq 0x8(%rsp), %r12
jle 0x302166
movq 0x10(%rsp), %rax
addq 0x1a8(%rsp), %rax
movq %rax, 0x10(%rsp)
movl %r12d, %ebx
movq (%rsp), %rax
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movq %rax, (%rsp)
leaq (,%rbx,4), %rax
movq %rax, 0x18(%rsp)
xorl %r15d, %r15d
movq 0x10(%rsp), %rax
movsbl (%rax,%r15), %edi
movq %r14, %rsi
callq 0x29e300
testl %r12d, %r12d
jle 0x302146
xorl %r12d, %r12d
movl (%rbp,%r12,4), %edx
movq %r14, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x29e380
incq %r12
cmpq %r12, %rbx
jne 0x30212c
movl $0xa, %edi
movq %r14, %rsi
callq 0x29e300
incq %r15
addq 0x18(%rsp), %rbp
cmpq (%rsp), %r15
movq 0x8(%rsp), %r12
jne 0x302112
movq %r14, %rdi
callq 0x29e240
movq 0x20(%rsp), %r15
incq %r15
cmpq 0x208(%rsp), %r15
jne 0x301f9e
addq $0x148, %rsp            # imm = 0x148
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
testb %r9b, %r9b
je 0x302488
cmpq 0x208(%rsp), %r15
jge 0x301f5e
movzbl %bpl, %eax
movq %rax, 0x10(%rsp)
movq 0x200(%rsp), %rbx
movq 0x1f8(%rsp), %rax
movq (%rax), %rax
movq (%rax,%rbx,8), %rbp
movq 0x1e0(%rsp), %rax
movq (%rax), %rax
movl (%rax,%rbx,8), %r14d
movslq 0x4(%rax,%rbx,8), %r15
cmpb $0x0, 0x198(%rsp)
movq %rbx, 0x8(%rsp)
movq %r15, (%rsp)
je 0x30229b
movq 0x1a0(%rsp), %rax
subl %eax, %r14d
movq %rbp, %rdi
callq 0x30f1c5
testl %eax, %eax
movq 0x190(%rsp), %rcx
jne 0x302460
movq (%r13), %rax
movl %r14d, %r12d
movq %r15, %r14
shlq $0x6, %r14
movq 0x8(%rax,%r14), %rdx
movq %rcx, %rdi
leaq 0x3a1676(%rip), %rsi    # 0x6a38ae
xorl %eax, %eax
callq 0x29e380
movq 0x1e8(%rsp), %rax
movq %rbp, %rbx
movq %rax, %rbp
movq (%rax), %rax
movl %r12d, 0x20(%rsp)
movslq %r12d, %r15
shlq $0x6, %r15
movq 0x8(%rax,%r15), %rdx
movq 0x190(%rsp), %rdi
leaq 0x3a164f(%rip), %rsi    # 0x6a38bf
xorl %eax, %eax
callq 0x29e380
movq (%rbp), %rax
movq %rbx, %rbp
movq 0x28(%rax,%r15), %rsi
movl 0x20(%rax,%r15), %edx
movq (%r13), %rax
movq 0x28(%rax,%r14), %rcx
movl 0x20(%rax,%r14), %r8d
movq %rbx, %rdi
jmp 0x302312
movq %rbp, %rdi
callq 0x30f1c5
testl %eax, %eax
movq 0x190(%rsp), %r12
jne 0x302478
movl %r14d, 0x20(%rsp)
movslq %r14d, %r14
movq (%r13), %rax
shlq $0x6, %r15
movq 0x8(%rax,%r15), %rdx
movq %r12, %rdi
leaq 0x3a15dc(%rip), %rsi    # 0x6a38ae
xorl %eax, %eax
callq 0x29e380
movq (%r13), %rax
shlq $0x6, %r14
movq 0x8(%rax,%r14), %rdx
movq %r12, %rdi
leaq 0x3a15cf(%rip), %rsi    # 0x6a38bf
xorl %eax, %eax
callq 0x29e380
movq (%r13), %rax
movq 0x28(%rax,%r14), %rsi
movl 0x20(%rax,%r14), %edx
movq 0x28(%rax,%r15), %rcx
movl 0x20(%rax,%r15), %r8d
movq %rbp, %rdi
movq 0x1c8(%rsp), %r9
pushq 0x218(%rsp)
pushq 0x18(%rsp)
callq 0x308a76
addq $0x10, %rsp
movq %rax, %r14
movl (%rbp), %r15d
movl 0x10(%rax), %ebx
incl %ebx
movq %rbp, %rdi
callq 0x30f342
leal 0x1(%rax), %r12d
movl 0xc(%r14), %r13d
incl %r13d
movq %rbp, 0x18(%rsp)
movq %rbp, %rdi
callq 0x30f32c
movl %eax, %r10d
incl %r10d
subq $0x8, %rsp
movq 0x198(%rsp), %rbp
movq %rbp, %rdi
leaq 0x3a1559(%rip), %rsi    # 0x6a38cf
movl %r15d, %edx
movl %ebx, %ecx
movl %r12d, %r8d
movl %r13d, %r9d
xorl %eax, %eax
pushq %r10
callq 0x29e380
addq $0x10, %rsp
movq %r14, %rdi
callq 0x30896a
movslq 0x20(%rsp), %rax
cmpb $0x0, 0x198(%rsp)
je 0x3023dc
movq 0x1e8(%rsp), %rcx
movq (%rcx), %rcx
shlq $0x6, %rax
movq 0x28(%rcx,%rax), %rdi
movl 0x20(%rcx,%rax), %esi
movq 0x1f0(%rsp), %r13
movq (%r13), %rax
movq (%rsp), %rcx
shlq $0x6, %rcx
movq 0x28(%rax,%rcx), %rdx
movl 0x20(%rax,%rcx), %ecx
jmp 0x302406
movq 0x1f0(%rsp), %r13
movq (%r13), %rcx
shlq $0x6, %rax
movq 0x28(%rcx,%rax), %rdi
movl 0x20(%rcx,%rax), %esi
movq (%rsp), %rax
shlq $0x6, %rax
movq 0x28(%rcx,%rax), %rdx
movl 0x20(%rcx,%rax), %ecx
leaq 0x3a1527(%rip), %r8     # 0x6a3934
leaq 0x3a1527(%rip), %r9     # 0x6a393b
pushq 0x218(%rsp)
pushq 0x18(%rsp)
pushq %rbp
pushq $0x7
pushq $0x0
pushq $0xa
pushq $0x3c
movl $0x2a, %eax
pushq %rax
pushq %rax
pushq $0x7c
pushq 0x68(%rsp)
pushq 0x220(%rsp)
callq 0x3a0be3
addq $0x60, %rsp
movq 0x8(%rsp), %rbx
incq %rbx
cmpq %rbx, 0x208(%rsp)
jne 0x3021be
jmp 0x301f5e
movq 0x1e8(%rsp), %rdi
movl %r14d, %esi
movq %r13, %rdx
movl %r15d, %ecx
callq 0x29ec7f
jmp 0x30244a
movq %r13, %rdi
movl %r14d, %esi
movl %r15d, %edx
callq 0x29ec41
jmp 0x30244a
cmpb $0x0, 0x180(%rsp)
je 0x3028aa
testq %r15, %r15
sete %al
movb 0x188(%rsp), %cl
andb 0x198(%rsp), %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x302508
leaq 0x3a148b(%rip), %rdi    # 0x6a3943
movl $0x18, %esi
movl $0x1, %edx
movq %r12, %rcx
callq 0x29e4d0
cmpq $0x0, 0x8(%r13)
je 0x302508
movl $0x20, %r14d
leaq 0x3a147e(%rip), %rbx    # 0x6a395c
xorl %r15d, %r15d
movq (%r13), %rax
movq -0x18(%rax,%r14), %rdx
movl (%rax,%r14), %ecx
movq %r12, %rdi
movq %rbx, %rsi
xorl %eax, %eax
callq 0x29e380
incq %r15
addq $0x40, %r14
cmpq 0x8(%r13), %r15
jb 0x3024e1
movq 0x200(%rsp), %rax
cmpq 0x208(%rsp), %rax
jge 0x301f5e
movzbl %bpl, %eax
movq %rax, 0x28(%rsp)
movq 0x200(%rsp), %rbp
movq 0x1f8(%rsp), %rax
movq (%rax), %rax
movq (%rax,%rbp,8), %rdi
movq 0x1e0(%rsp), %rax
movq (%rax), %rax
movl (%rax,%rbp,8), %r15d
movslq 0x4(%rax,%rbp,8), %rbx
movq (%r13), %rax
movq %rbx, %r13
shlq $0x6, %r13
movq 0x8(%rax,%r13), %r12
movq 0x20(%rax,%r13), %rcx
movq %rcx, 0x10(%rsp)
movq 0x28(%rax,%r13), %r14
cmpb $0x0, 0x198(%rsp)
movq %rdi, 0x8(%rsp)
movq %r12, (%rsp)
je 0x3025ae
movq 0x1a0(%rsp), %rax
subl %eax, %r15d
callq 0x30f1c5
testl %eax, %eax
jne 0x302828
movq 0x1e8(%rsp), %rax
movq 0x1f0(%rsp), %r13
jmp 0x3025c6
callq 0x30f1c5
testl %eax, %eax
jne 0x302868
movq 0x1f0(%rsp), %r13
movq %r13, %rax
movq (%rax), %rax
movslq %r15d, %rcx
shlq $0x6, %rcx
movq 0x8(%rax,%rcx), %rdx
movq 0x20(%rax,%rcx), %r12
movq 0x28(%rax,%rcx), %rbx
movq 0x38(%rax,%rcx), %rax
movq %rax, 0x18(%rsp)
movq 0x190(%rsp), %r15
movq %r15, %rdi
leaq 0x3a1372(%rip), %rsi    # 0x6a396d
xorl %eax, %eax
callq 0x29e380
movq 0x8(%rsp), %rdi
cmpl $0x0, (%rdi)
je 0x30271a
movq %rbx, 0x20(%rsp)
movq %rbx, %rsi
movl %r12d, %edx
movq %r14, %rcx
movq 0x10(%rsp), %r8
movq 0x1c8(%rsp), %r9
pushq 0x218(%rsp)
pushq 0x30(%rsp)
movq %rdi, %r14
callq 0x308a76
addq $0x10, %rsp
movq %rax, %rbx
movl $0x2, %esi
movl $0x1, %edx
leaq 0x3a134b(%rip), %rdi    # 0x6a39a1
movq %r15, %rcx
callq 0x29e4d0
movl 0x10(%rbx), %ecx
incl %ecx
movq %r15, %rdi
leaq 0x3a131b(%rip), %rsi    # 0x6a3988
movq (%rsp), %rdx
movl $0xff, %r8d
xorl %eax, %eax
callq 0x29e380
movq %r14, %rdi
callq 0x30f1ac
testl %eax, %eax
je 0x3026a2
movl 0xc(%rbx), %edx
testl %edx, %edx
jle 0x3026a2
movq %r15, %rdi
leaq 0x3a12f7(%rip), %rsi    # 0x6a3992
xorl %eax, %eax
callq 0x29e380
movq %r12, (%rsp)
cmpl $0x0, 0x8(%rbx)
jle 0x302738
xorl %r13d, %r13d
xorl %r12d, %r12d
movq (%rbx), %rax
movl (%rax,%r13,4), %edi
callq 0x30897f
movl %eax, %r15d
movq (%rbx), %rax
movl (%rax,%r13,4), %edi
callq 0x308994
movl %eax, %r14d
movl %eax, %edx
movsbl %r15b, %r15d
movq 0x190(%rsp), %rdi
leaq 0x3a12ad(%rip), %rsi    # 0x6a3996
movl %r15d, %ecx
xorl %eax, %eax
callq 0x29e380
movzbl %r15b, %eax
addl $-0x44, %eax
cmpl $0x14, %eax
ja 0x30270c
movl $0x100021, %ecx         # imm = 0x100021
btl %eax, %ecx
jae 0x30270c
addl %r14d, %r12d
incq %r13
movslq 0x8(%rbx), %rax
cmpq %rax, %r13
jl 0x3026b6
jmp 0x30273b
movl $0x16, %esi
movl $0x1, %edx
leaq 0x3a1246(%rip), %rdi    # 0x6a3971
movq %r15, %rcx
callq 0x29e4d0
jmp 0x302812
xorl %r12d, %r12d
movq 0x8(%rsp), %rdi
movl 0x4(%rdi), %r14d
callq 0x30f1ac
testl %eax, %eax
movq 0x190(%rsp), %r15
je 0x302775
notl %r14d
addl (%rsp), %r14d
testl %r14d, %r14d
jle 0x302775
movq %r15, %rdi
leaq 0x3a1227(%rip), %rsi    # 0x6a3992
movl %r14d, %edx
xorl %eax, %eax
callq 0x29e380
movl $0x7, %esi
movl $0x1, %edx
leaq 0x3a1216(%rip), %rdi    # 0x6a399c
movq %r15, %rcx
callq 0x29e4d0
movq 0x20(%rsp), %rdi
movq %r15, %rsi
callq 0x29e2a0
movl $0x9, %edi
movq %r15, %rsi
callq 0x29e300
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
movq 0x1f0(%rsp), %r13
je 0x3027c4
movq %r15, %rsi
callq 0x29e2a0
jmp 0x3027d1
movl $0x2a, %edi
movq %r15, %rsi
callq 0x29e300
movq 0x8(%rsp), %rax
movl (%rax), %edx
movq %r15, %rdi
leaq 0x3a11c2(%rip), %rsi    # 0x6a39a4
xorl %eax, %eax
callq 0x29e380
movq %r15, %rdi
leaq 0x3a11ba(%rip), %rsi    # 0x6a39ad
movl %r12d, %edx
xorl %eax, %eax
callq 0x29e380
movl $0xa, %edi
movq %r15, %rsi
callq 0x29e300
movq %rbx, %rdi
callq 0x30896a
incq %rbp
cmpq 0x208(%rsp), %rbp
jne 0x30252f
jmp 0x301f5e
movq 0x5d97b1(%rip), %rax    # 0x8dbfe0
movq (%rax), %rdi
movq 0x1e8(%rsp), %rax
movq (%rax), %rax
movslq %r15d, %rdx
movq %rdx, %rcx
shlq $0x6, %rcx
movq 0x8(%rax,%rcx), %rcx
movq 0x1f0(%rsp), %rsi
movq (%rsi), %rax
movq 0x8(%rax,%r13), %r9
movq %rsi, %r13
leaq 0x3a0ff8(%rip), %rsi    # 0x6a385e
jmp 0x30289b
movslq %r15d, %rdx
movq 0x5d976e(%rip), %rax    # 0x8dbfe0
movq (%rax), %rdi
movq 0x1f0(%rsp), %rsi
movq (%rsi), %rax
movq %rdx, %rcx
shlq $0x6, %rcx
movq 0x8(%rax,%rcx), %rcx
movq 0x8(%rax,%r13), %r9
movq %rsi, %r13
leaq 0x3a0fec(%rip), %rsi    # 0x6a3887
movl %ebx, %r8d
xorl %eax, %eax
callq 0x29e380
jmp 0x302812
cmpq 0x208(%rsp), %r15
jge 0x301f5e
cmpb $0x0, 0x198(%rsp)
movl $0x0, %ecx
cmovnel %eax, %ecx
movl %ecx, 0x20(%rsp)
movzbl %bpl, %eax
movq %rax, 0x28(%rsp)
movq 0x200(%rsp), %r12
movq 0x1f8(%rsp), %rax
movq (%rax), %rax
movq (%rax,%r12,8), %rbx
movq 0x1e0(%rsp), %rax
movq (%rax), %rax
movslq (%rax,%r12,8), %r13
movslq 0x4(%rax,%r12,8), %rdx
movq 0x1d0(%rsp), %rax
movq (%rax), %rax
movq (%rax,%r13,8), %r15
movq 0x1d8(%rsp), %rcx
movq (%rcx), %rcx
movq (%rcx,%r13,8), %rsi
movq %rsi, (%rsp)
movq (%rax,%rdx,8), %rbp
movq %rdx, 0x8(%rsp)
movq (%rcx,%rdx,8), %r14
subl 0x20(%rsp), %r13d
movq %rbx, %rdi
callq 0x30f1c5
testl %eax, %eax
jne 0x302a18
subq %rbp, %r14
movq %r14, %r8
movq %r14, 0x10(%rsp)
movq (%rsp), %r14
subq %r15, %r14
movq 0x1a8(%rsp), %rax
addq %rax, %r15
addq %rax, %rbp
movq %rbx, %rdi
movq %r15, %rsi
movl %r14d, %edx
movq %rbp, %rcx
movq 0x1c8(%rsp), %r9
pushq 0x218(%rsp)
pushq 0x30(%rsp)
callq 0x308a76
addq $0x10, %rsp
movq %rax, (%rsp)
movq %rax, %rdi
callq 0x30899a
movq %rax, %rbp
movq %rbx, %rdi
callq 0x30f317
movq %rax, 0x18(%rsp)
movq %rbx, %rdi
callq 0x30f32c
movl %eax, %r15d
movq %rbx, %rdi
callq 0x30f342
movl %eax, %r10d
movq 0x190(%rsp), %rdi
leaq 0x3a0fea(%rip), %rsi    # 0x6a39b7
movl %r13d, %edx
movq 0x8(%rsp), %rcx
movq %r14, %r8
movq 0x10(%rsp), %r9
xorl %eax, %eax
pushq %rbp
pushq %r10
pushq %r15
pushq 0x30(%rsp)
callq 0x29e380
addq $0x20, %rsp
movq (%rsp), %rdi
callq 0x30896a
movq %rbp, %rdi
callq 0x29e2e0
incq %r12
cmpq %r12, 0x208(%rsp)
jne 0x3028dd
jmp 0x301f5e
movq 0x8(%rsp), %rcx
movq 0x5d95bc(%rip), %rax    # 0x8dbfe0
movq (%rax), %rdi
cmpb $0x0, 0x198(%rsp)
je 0x302a3a
leaq 0x3a0dd6(%rip), %rsi    # 0x6a380e
jmp 0x302a41
leaq 0x3a0d77(%rip), %rsi    # 0x6a37b8
movl %r13d, %edx
xorl %eax, %eax
callq 0x29e380
jmp 0x302a02
leaq 0x40(%rsp), %rdi
callq 0x29ed45