// File: /workspace/github_cpp_makefile_star2_O3/rpetit3[P]fastq-scan/fastq-scan.cpp
// Function: Stats::jsonify_stats(float, bool)
void jsonify_stats(float GENOME_SIZE, bool QC_ONLY) {
            string t1 = "    ";
            string t2 = "        ";
            cout << "{" << endl;
            cout << t1 << "\"qc_stats\": {" << endl;
            cout << t2 << "\"total_bp\": " << total_bp << "," << endl;
            if (GENOME_SIZE <= 1)  {
                cout << t2 << "\"coverage\": 0.00," << endl;
            } else {
                cout << t2 << "\"coverage\": " << total_bp / GENOME_SIZE << "," << endl;
            }
            cout << t2 << "\"read_total\": " << read_total << "," << endl;
            cout << t2 << "\"read_min\": " << read_min << "," << endl;
            cout << t2 << "\"read_mean\": " << read_mean << "," << endl;
            cout << t2 << "\"read_std\": " << read_std << "," << endl;
            cout << t2 << "\"read_median\": " << read_median << "," << endl;
            cout << t2 << "\"read_max\": " << read_max << "," << endl;
            cout << t2 << "\"read_25th\": " << read_25th << "," << endl;
            cout << t2 << "\"read_75th\": " << read_75th << "," << endl;
            cout << t2 << "\"qual_min\": " << qual_min << "," << endl;
            cout << t2 << "\"qual_mean\": " << qual_mean << "," << endl;
            cout << t2 << "\"qual_std\": " << qual_std << "," << endl;
            cout << t2 << "\"qual_max\": " << qual_max << "," << endl;
            cout << t2 << "\"qual_median\": " << qual_median << "," << endl;
            cout << t2 << "\"qual_25th\": " << qual_25th << "," << endl;
            cout << t2 << "\"qual_75th\": " << qual_75th << endl;
            
            
            if (QC_ONLY) {
                cout << t1 << "}" << endl;
            } else {
                cout << t1 << "}," << endl;
                cout << t1 << "\"read_lengths\": {" << endl;
                for (unsigned int i = read_min; i <= read_max; i++) {
                    if (i % 5 == 0) {
                        cout << endl;
                    }
                    cout << t2 << "\"" << i << "\": " << read_length_count[i];
                    if (i < read_max) {
                        cout << ",";
                    }
                }
                cout << endl << t1 << "}," << endl;
                cout << t1 << "\"per_base_quality\": {" << endl;
                for (unsigned int i = 0; i < read_max; i++) {
                    if (i % 5 == 0 && i != 0) {
                        cout << endl;
                    }
                    cout << t2 << "\"" << i + 1 << "\": " << (per_base_qual[i] / float(per_base_count[i])) - phred;
                    if (i < read_max - 1) {
                        cout << ",";
                    }
                }
                cout << endl << t1 << "}" << endl;
            }
            cout << "}" << endl;
        }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
movl %esi, %ebp
movss %xmm0, 0x34(%rsp)
movq %rdi, 0x8(%rsp)
leaq 0x48(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x2e37(%rip), %rsi      # 0x634b
leaq 0x2e34(%rip), %rdx      # 0x634f
leaq 0x38(%rsp), %rdi
callq 0x5918
leaq 0x20(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x2e12(%rip), %rsi      # 0x6347
leaq 0x2e13(%rip), %rdx      # 0x634f
leaq 0x10(%rsp), %rdi
callq 0x5918
movq 0x5a83(%rip), %r14      # 0x8fd0
leaq 0x2f1c(%rip), %rsi      # 0x6470
movl $0x1, %edx
movq %r14, %rdi
callq 0x2140
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq 0x5a51(%rip), %rdi      # 0x8fd0
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movq 0x38(%rsp), %rsi
movq 0x40(%rsp), %rdx
movq 0x5a33(%rip), %rdi      # 0x8fd0
callq 0x2140
movq %rax, %r14
leaq 0x2da4(%rip), %rsi      # 0x6350
movl $0xd, %edx
movq %rax, %rdi
callq 0x2140
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x59df(%rip), %rdi      # 0x8fd0
callq 0x2140
movq %rax, %r14
leaq 0x2d5e(%rip), %rsi      # 0x635e
movl $0xc, %edx
movq %rax, %rdi
callq 0x2140
movq 0x8(%rsp), %rax
movq (%rax), %rsi
movq %r14, %rdi
callq 0x2090
movq %rax, %r14
leaq 0x2d54(%rip), %rsi      # 0x637b
movl $0x1, %edx
movq %rax, %rdi
callq 0x2140
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movss 0x29a1(%rip), %xmm0     # 0x6004
ucomiss 0x34(%rsp), %xmm0
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
jae 0x36ae
movq 0x5955(%rip), %rdi      # 0x8fd0
callq 0x2140
movq %rax, %r14
leaq 0x2cf3(%rip), %rsi      # 0x637d
movl $0xc, %edx
movq %rax, %rdi
callq 0x2140
movq 0x8(%rsp), %rax
movq (%rax), %rax
testq %rax, %rax
js 0x36e7
xorps %xmm0, %xmm0
cvtsi2ss %rax, %xmm0
jmp 0x36ff
movq 0x591b(%rip), %rdi      # 0x8fd0
callq 0x2140
movq %rax, %r14
leaq 0x2ca7(%rip), %rsi      # 0x636b
movl $0x11, %edx
movq %rax, %rdi
callq 0x2140
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2100
jmp 0x373c
movq %rax, %rcx
shrq %rcx
andl $0x1, %eax
orq %rcx, %rax
xorps %xmm0, %xmm0
cvtsi2ss %rax, %xmm0
addss %xmm0, %xmm0
divss 0x34(%rsp), %xmm0
cvtss2sd %xmm0, %xmm0
movq %r14, %rdi
callq 0x2190
movq %rax, %r14
leaq 0x2c60(%rip), %rsi      # 0x637b
movl $0x1, %edx
movq %rax, %rdi
callq 0x2140
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x5870(%rip), %rdi      # 0x8fd0
callq 0x2140
movq %rax, %r14
leaq 0x2c1b(%rip), %rsi      # 0x638a
movl $0xe, %edx
movq %rax, %rdi
callq 0x2140
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rsi
movq %r14, %rdi
callq 0x2090
movq %rax, %r14
leaq 0x2be4(%rip), %rsi      # 0x637b
movl $0x1, %edx
movq %rax, %rdi
callq 0x2140
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x57f4(%rip), %rdi      # 0x8fd0
callq 0x2140
movq %rax, %r14
leaq 0x2bae(%rip), %rsi      # 0x6399
movl $0xc, %edx
movq %rax, %rdi
callq 0x2140
movq 0x8(%rsp), %rax
movl 0x40(%rax), %esi
movq %r14, %rdi
callq 0x2090
movq %rax, %r14
leaq 0x2b69(%rip), %rsi      # 0x637b
movl $0x1, %edx
movq %rax, %rdi
callq 0x2140
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x5779(%rip), %rdi      # 0x8fd0
callq 0x2140
movq %rax, %r14
leaq 0x2b40(%rip), %rsi      # 0x63a6
movl $0xd, %edx
movq %rax, %rdi
callq 0x2140
movq 0x8(%rsp), %rax
movsd 0x48(%rax), %xmm0
movq %r14, %rdi
callq 0x2190
movq %rax, %r14
leaq 0x2aec(%rip), %rsi      # 0x637b
movl $0x1, %edx
movq %rax, %rdi
callq 0x2140
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x56fc(%rip), %rdi      # 0x8fd0
callq 0x2140
movq %rax, %r14
leaq 0x2ad1(%rip), %rsi      # 0x63b4
movl $0xc, %edx
movq %rax, %rdi
callq 0x2140
movq 0x8(%rsp), %rax
movsd 0x50(%rax), %xmm0
movq %r14, %rdi
callq 0x2190
movq %rax, %r14
leaq 0x2a6f(%rip), %rsi      # 0x637b
movl $0x1, %edx
movq %rax, %rdi
callq 0x2140
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x567f(%rip), %rdi      # 0x8fd0
callq 0x2140
movq %rax, %r14
leaq 0x2a61(%rip), %rsi      # 0x63c1
movl $0xf, %edx
movq %rax, %rdi
callq 0x2140
movq 0x8(%rsp), %rax
movsd 0x58(%rax), %xmm0
movq %r14, %rdi
callq 0x2190
movq %rax, %r14
leaq 0x29f2(%rip), %rsi      # 0x637b
movl $0x1, %edx
movq %rax, %rdi
callq 0x2140
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x5602(%rip), %rdi      # 0x8fd0
callq 0x2140
movq %rax, %r14
leaq 0x29f4(%rip), %rsi      # 0x63d1
movl $0xc, %edx
movq %rax, %rdi
callq 0x2140
movq 0x8(%rsp), %rax
movl 0x44(%rax), %esi
movq %r14, %rdi
callq 0x2090
movq %rax, %r14
leaq 0x2977(%rip), %rsi      # 0x637b
movl $0x1, %edx
movq %rax, %rdi
callq 0x2140
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x5587(%rip), %rdi      # 0x8fd0
callq 0x2140
movq %rax, %r14
leaq 0x2986(%rip), %rsi      # 0x63de
movl $0xd, %edx
movq %rax, %rdi
callq 0x2140
movq 0x8(%rsp), %rax
movsd 0x60(%rax), %xmm0
movq %r14, %rdi
callq 0x2190
movq %rax, %r14
leaq 0x28fa(%rip), %rsi      # 0x637b
movl $0x1, %edx
movq %rax, %rdi
callq 0x2140
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x550a(%rip), %rdi      # 0x8fd0
callq 0x2140
movq %rax, %r14
leaq 0x2917(%rip), %rsi      # 0x63ec
movl $0xd, %edx
movq %rax, %rdi
callq 0x2140
movq 0x8(%rsp), %rax
movsd 0x68(%rax), %xmm0
movq %r14, %rdi
callq 0x2190
movq %rax, %r14
leaq 0x287d(%rip), %rsi      # 0x637b
movl $0x1, %edx
movq %rax, %rdi
callq 0x2140
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x548d(%rip), %rdi      # 0x8fd0
callq 0x2140
movq %rax, %r14
leaq 0x28a8(%rip), %rsi      # 0x63fa
movl $0xc, %edx
movq %rax, %rdi
callq 0x2140
movq 0x8(%rsp), %rax
movl 0xbc(%rax), %esi
movq %r14, %rdi
callq 0x2090
movq %rax, %r14
leaq 0x27ff(%rip), %rsi      # 0x637b
movl $0x1, %edx
movq %rax, %rdi
callq 0x2140
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x540f(%rip), %rdi      # 0x8fd0
callq 0x2140
movq %rax, %r14
leaq 0x2837(%rip), %rsi      # 0x6407
movl $0xd, %edx
movq %rax, %rdi
callq 0x2140
movq 0x8(%rsp), %rax
movsd 0xd0(%rax), %xmm0
movq %r14, %rdi
callq 0x2190
movq %rax, %r14
leaq 0x277f(%rip), %rsi      # 0x637b
movl $0x1, %edx
movq %rax, %rdi
callq 0x2140
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x538f(%rip), %rdi      # 0x8fd0
callq 0x2140
movq %rax, %r14
leaq 0x27c5(%rip), %rsi      # 0x6415
movl $0xc, %edx
movq %rax, %rdi
callq 0x2140
movq 0x8(%rsp), %rax
movsd 0xf0(%rax), %xmm0
movq %r14, %rdi
callq 0x2190
movq %rax, %r14
leaq 0x26ff(%rip), %rsi      # 0x637b
movl $0x1, %edx
movq %rax, %rdi
callq 0x2140
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x530f(%rip), %rdi      # 0x8fd0
callq 0x2140
movq %rax, %r14
leaq 0x2752(%rip), %rsi      # 0x6422
movl $0xc, %edx
movq %rax, %rdi
callq 0x2140
movq 0x8(%rsp), %rax
movl 0xc0(%rax), %esi
movq %r14, %rdi
callq 0x2090
movq %rax, %r14
leaq 0x2681(%rip), %rsi      # 0x637b
movl $0x1, %edx
movq %rax, %rdi
callq 0x2140
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x5291(%rip), %rdi      # 0x8fd0
callq 0x2140
movq %rax, %r14
leaq 0x26e1(%rip), %rsi      # 0x642f
movl $0xf, %edx
movq %rax, %rdi
callq 0x2140
movq 0x8(%rsp), %rax
movsd 0xd8(%rax), %xmm0
movq %r14, %rdi
callq 0x2190
movq %rax, %r14
leaq 0x2601(%rip), %rsi      # 0x637b
movl $0x1, %edx
movq %rax, %rdi
callq 0x2140
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x5211(%rip), %rdi      # 0x8fd0
callq 0x2140
movq %rax, %r14
leaq 0x2671(%rip), %rsi      # 0x643f
movl $0xd, %edx
movq %rax, %rdi
callq 0x2140
movq 0x8(%rsp), %rax
movsd 0xe0(%rax), %xmm0
movq %r14, %rdi
callq 0x2190
movq %rax, %r14
leaq 0x2581(%rip), %rsi      # 0x637b
movl $0x1, %edx
movq %rax, %rdi
callq 0x2140
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x5191(%rip), %rdi      # 0x8fd0
callq 0x2140
movq %rax, %r14
leaq 0x25ff(%rip), %rsi      # 0x644d
movl $0xd, %edx
movq %rax, %rdi
callq 0x2140
movq 0x8(%rsp), %rax
movsd 0xe8(%rax), %xmm0
movq %r14, %rdi
callq 0x2190
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movq 0x38(%rsp), %rsi
movq 0x40(%rsp), %rdx
testb %bpl, %bpl
je 0x3ee5
movq 0x5120(%rip), %rdi      # 0x8fd0
callq 0x2140
movq %rax, %rbx
leaq 0x259c(%rip), %rsi      # 0x645b
movl $0x1, %edx
movq %rax, %rdi
callq 0x2140
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2100
jmp 0x432b
movq 0x50e4(%rip), %rdi      # 0x8fd0
callq 0x2140
movq %rax, %r14
leaq 0x2562(%rip), %rsi      # 0x645d
movl $0x2, %edx
movq %rax, %rdi
callq 0x2140
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movq 0x38(%rsp), %rsi
movq 0x40(%rsp), %rdx
movq 0x5090(%rip), %r14      # 0x8fd0
movq %r14, %rdi
callq 0x2140
movq %rax, %r15
leaq 0x250e(%rip), %rsi      # 0x6460
movl $0x11, %edx
movq %rax, %rdi
callq 0x2140
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq %r15, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movq 0x8(%rsp), %rax
movl 0x40(%rax), %ebx
cmpl 0x44(%rax), %ebx
ja 0x406e
leaq 0x24d4(%rip), %r15      # 0x6472
leaq 0x2418(%rip), %r12      # 0x63bd
movl %ebx, %ebp
movq %rbp, %rax
movl $0xcccccccd, %ecx       # imm = 0xCCCCCCCD
imulq %rcx, %rax
shrq $0x22, %rax
leal (%rax,%rax,4), %eax
cmpl %ebx, %eax
jne 0x3fe5
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq %r14, %rdi
callq 0x2140
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2140
movq %r13, %rdi
movq %rbp, %rsi
callq 0x2090
movq %rax, %r13
movl $0x3, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x2140
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rax
movl (%rax,%rbp,4), %esi
movq %r13, %rdi
callq 0x2090
movq 0x8(%rsp), %rax
movl 0x44(%rax), %eax
cmpl %eax, %ebx
jae 0x4064
movl $0x1, %edx
movq %r14, %rdi
leaq 0x2324(%rip), %rsi      # 0x637b
callq 0x2140
movq 0x8(%rsp), %rax
movl 0x44(%rax), %eax
incl %ebx
cmpl %eax, %ebx
jbe 0x3fa5
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
leaq 0x48(%rsp), %r12
callq 0x2100
movsbl %al, %esi
movq 0x4f3f(%rip), %rdi      # 0x8fd0
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movq 0x38(%rsp), %rsi
movq 0x40(%rsp), %rdx
movq %rax, %rdi
callq 0x2140
movq %rax, %r14
leaq 0x23a3(%rip), %rsi      # 0x645d
movl $0x2, %edx
movq %rax, %rdi
callq 0x2140
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movq 0x38(%rsp), %rsi
movq 0x40(%rsp), %rdx
movq 0x4ed1(%rip), %r14      # 0x8fd0
movq %r14, %rdi
callq 0x2140
movq %rax, %r15
leaq 0x2363(%rip), %rsi      # 0x6474
movl $0x15, %edx
movq %rax, %rdi
callq 0x2140
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq %r15, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movq 0x8(%rsp), %rax
cmpl $0x0, 0x44(%rax)
je 0x42be
xorl %r15d, %r15d
xorl %r12d, %r12d
xorl %ebx, %ebx
testq %r12, %r12
je 0x419f
movl %ebx, %eax
movl $0xcccccccd, %ecx       # imm = 0xCCCCCCCD
imulq %rcx, %rax
shrq $0x22, %rax
leal (%rax,%rax,4), %eax
addl %r15d, %eax
jne 0x419f
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq %r14, %rdi
callq 0x2140
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
leaq 0x22af(%rip), %rsi      # 0x6472
callq 0x2140
leaq 0x1(%rbx), %rbp
movq %r13, %rdi
movq %rbp, %rsi
callq 0x2090
movq %rax, %r13
movl $0x3, %edx
movq %rax, %rdi
leaq 0x21d4(%rip), %rsi      # 0x63bd
callq 0x2140
movq 0x8(%rsp), %rax
movq 0x88(%rax), %rax
movq (%rax,%r12), %rax
testq %rax, %rax
js 0x420d
xorps %xmm0, %xmm0
cvtsi2ss %rax, %xmm0
jmp 0x4225
movq %rax, %rcx
shrq %rcx
andl $0x1, %eax
orq %rcx, %rax
xorps %xmm0, %xmm0
cvtsi2ss %rax, %xmm0
addss %xmm0, %xmm0
movq 0x8(%rsp), %rax
movq 0xa0(%rax), %rax
movq (%rax,%r12), %rax
testq %rax, %rax
js 0x4244
xorps %xmm1, %xmm1
cvtsi2ss %rax, %xmm1
jmp 0x4259
movq %rax, %rcx
shrq %rcx
andl $0x1, %eax
orq %rcx, %rax
cvtsi2ss %rax, %xmm1
addss %xmm1, %xmm1
movq 0x8(%rsp), %rax
xorps %xmm2, %xmm2
cvtsi2ssl 0xb8(%rax), %xmm2
divss %xmm1, %xmm0
subss %xmm2, %xmm0
cvtss2sd %xmm0, %xmm0
movq %r13, %rdi
callq 0x2190
movq 0x8(%rsp), %rax
movl 0x44(%rax), %eax
leal -0x1(%rax), %ecx
cmpq %rcx, %rbx
jae 0x42a9
movl $0x1, %edx
movq %r14, %rdi
leaq 0x20df(%rip), %rsi      # 0x637b
callq 0x2140
movq 0x8(%rsp), %rax
movl 0x44(%rax), %eax
movl %eax, %eax
addq $0x8, %r12
decl %r15d
movq %rbp, %rbx
cmpq %rax, %rbp
jb 0x415c
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
leaq 0x48(%rsp), %r12
callq 0x2100
movsbl %al, %esi
movq 0x4cef(%rip), %rdi      # 0x8fd0
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movq 0x38(%rsp), %rsi
movq 0x40(%rsp), %rdx
movq %rax, %rdi
callq 0x2140
movq %rax, %rbx
leaq 0x2151(%rip), %rsi      # 0x645b
movl $0x1, %edx
movq %rax, %rdi
callq 0x2140
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movq 0x4c8b(%rip), %rbx      # 0x8fd0
leaq 0x210f(%rip), %rsi      # 0x645b
movl $0x1, %edx
movq %rbx, %rdi
callq 0x2140
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq 0x4c59(%rip), %rdi      # 0x8fd0
callq 0x2030
movq %rax, %rdi
callq 0x20a0
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x43a0
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x38(%rsp), %rdi
cmpq %r12, %rdi
je 0x43b7
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x2130
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
jmp 0x43f6
jmp 0x43cd
movq %rax, %rbx
leaq 0x48(%rsp), %r12
jmp 0x43da
movq %rax, %rbx
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x43f6
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x38(%rsp), %rdi
cmpq %r12, %rdi
je 0x440d
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x2130
movq %rbx, %rdi
callq 0x21d0
nop