// File: /workspace/github_cpp_makefile_star2_O2/millanek[P]Dsuite/./Dsuite_utils.h
// Function: TrioDinfo::makeOutVec(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>> const&, bool, bool, int)
std::vector<string> makeOutVec(const std::vector<string>& trio, const bool fStats, const bool KS_test, const int arrangement) {
        
        int numCols = 9; if (fStats) numCols++; if(KS_test) numCols = numCols + 2;
        std::vector<string> outVec; outVec.resize(numCols);
        int patternsI = 6; if (fStats) patternsI++; if(KS_test) patternsI = patternsI + 2; // Where will the BBAA, ABBA, etc. counts be put
        
        double KSpval; double KSpvalStrongSitesOnly;
        if (KS_test) {
            KSpval = testIfStrongSitesUniformlyDistributed(arrangement);
            if (KSpval < 2.3e-16) KSpval = 2.3e-16;
            KSpvalStrongSitesOnly = testIfStrongSitesUniformlyDistributed(arrangement, "strongSitesOnly");
            if (KSpvalStrongSitesOnly < 2.3e-16) KSpvalStrongSitesOnly = 2.3e-16;
        }
        
        if (std::fabs(D1_p) < 2.3e-16) { D1_p = 2.3e-16; }
        if (std::fabs(D2_p) < 2.3e-16) { D2_p = 2.3e-16; }
        if (std::fabs(D3_p) < 2.3e-16) { D3_p = 2.3e-16; }
        
        double f4ratio; double Dnum;
        
        switch (arrangement) {
                
        case P3isTrios2_Dpositive:
            outVec[0] = trio[0]; outVec[1] = trio[1]; outVec[2] = trio[2];
            outVec[3] = numToString(D1); outVec[4] = numToString(D1_Z);
            outVec[5] = numToString(D1_p); outVec[patternsI] = numToString(BBAAtotal);
            outVec[patternsI+1] = numToString(ABBAtotal); outVec[patternsI+2] = numToString(BABAtotal);
            if (fStats) { Dnum = ABBAtotal-BABAtotal; f4ratio = Dnum/F_G_denom1; }
            break;
                
        case P3isTrios2_Dnegative:
            outVec[0] = trio[1]; outVec[1] = trio[0]; outVec[2] = trio[2];
            outVec[3] = numToString(std::fabs(D1)); outVec[4] = numToString(D1_Z);
            outVec[5] = numToString(D1_p); outVec[patternsI] = numToString(BBAAtotal);
            outVec[patternsI+1] = numToString(BABAtotal); outVec[patternsI+2] = numToString(ABBAtotal);
            if (fStats) { Dnum = BABAtotal-ABBAtotal; f4ratio = Dnum/F_G_denom1_reversed; }
            break;
                
        case P3isTrios1_Dpositive:
            outVec[0] = trio[0]; outVec[1] = trio[2];
            outVec[2] = trio[1]; outVec[3] = numToString(std::fabs(D2)); outVec[4] = numToString(D2_Z);
            outVec[5] = numToString(D2_p); outVec[patternsI] = numToString(BABAtotal);
            outVec[patternsI+1] = numToString(ABBAtotal); outVec[patternsI+2] = numToString(BBAAtotal);
            if (fStats) { Dnum = ABBAtotal - BBAAtotal; f4ratio = Dnum/F_G_denom2; }
            break;
        
        case P3isTrios1_Dnegative:
            outVec[0] = trio[2]; outVec[1] = trio[0];
            outVec[2] = trio[1]; outVec[3] = numToString(std::fabs(D2)); outVec[4] = numToString(D2_Z);
            outVec[5] = numToString(D2_p); outVec[patternsI] = numToString(BABAtotal);
            outVec[patternsI+1] = numToString(BBAAtotal); outVec[patternsI+2] = numToString(ABBAtotal);
            if (fStats) { Dnum = BBAAtotal - ABBAtotal; f4ratio = Dnum/F_G_denom2_reversed; }
            break;
                
        case P3isTrios0_Dpositive:
            outVec[0] = trio[2]; outVec[1] = trio[1];
            outVec[2] = trio[0]; outVec[3] = numToString(std::fabs(D3)); outVec[4] = numToString(D3_Z);
            outVec[5] = numToString(D3_p); outVec[patternsI] = numToString(ABBAtotal);
            outVec[patternsI+1] = numToString(BBAAtotal); outVec[patternsI+2] = numToString(BABAtotal);
            if (fStats) { Dnum = BBAAtotal - BABAtotal; f4ratio = Dnum/F_G_denom3; }
            break;
        
        case P3isTrios0_Dnegative:
            outVec[0] = trio[1]; outVec[1] = trio[2];
            outVec[2] = trio[0]; outVec[3] = numToString(std::fabs(D3)); outVec[4] = numToString(D3_Z);
            outVec[5] = numToString(D3_p); outVec[patternsI] = numToString(ABBAtotal);
            outVec[patternsI+1] = numToString(BABAtotal); outVec[patternsI+2] = numToString(BBAAtotal);
            if (fStats) { Dnum = BABAtotal - BBAAtotal; f4ratio = Dnum/F_G_denom3_reversed; }
            break;
                
        }
        
        /* investigating rare cases of unexpected f4-ratio values
        if (f4ratio < 0 || f4ratio > 1) {
            std::cerr << "trio[0]: " << trio[0] << "trio[1]: " << trio[1] << "trio[2]: " << trio[2] << std::endl;
            std::cerr << "Arrangement: " << arrangement << std::endl;
            std::cerr << "D1: " << D1 << " D2: " << D2  << " D3: " << D3 << std::endl;
            std::cerr << "ABBAtotal: " << ABBAtotal << "BBAAtotal: " << BBAAtotal  << "BABAtotal: " << BABAtotal << std::endl;
            std::cerr << "ABBAtotal-BABAtotal: " << ABBAtotal-BABAtotal << "ABBAtotal-BBAAtotal: " << ABBAtotal- BBAAtotal  << "BBAAtotal-BABAtotal: " << BBAAtotal-BABAtotal << std::endl;
            std::cerr << "F_G_denom1: " << F_G_denom1 << "; F_G_denom1_reversed: " << F_G_denom1_reversed << std::endl;
            std::cerr << "F_G_denom2: " << F_G_denom2 << "; F_G_denom2_reversed: " << F_G_denom2_reversed << std::endl;
            std::cerr << "F_G_denom3: " << F_G_denom3 << "; F_G_denom3_reversed: " << F_G_denom3_reversed << std::endl;
            std::cerr << "f4ratio: " << f4ratio << std::endl;
        }
        */
        
        
        if (fStats) { // For now just bounding those unexpected cases to the 0 to 1 range
            if (f4ratio < 0) { f4ratio = 0; }
            if (f4ratio > 1) { f4ratio = 1; }
            outVec[6] = numToString(f4ratio);
        }
        if (KS_test) {
            if (fStats) { outVec[7] = numToString(KSpval); outVec[8] = numToString(KSpvalStrongSitesOnly); }
            else  { outVec[6] = numToString(KSpval); outVec[7] = numToString(KSpvalStrongSitesOnly); }
        }
        
        return outVec;
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x98, %rsp
movl %r9d, %ebp
movl %r8d, %r12d
movl %ecx, %r14d
movq %rdx, %r13
movq %rsi, %r15
movq %rdi, %rbx
leal (%r14,%r12,2), %esi
addl $0x9, %esi
xorpd %xmm0, %xmm0
movupd %xmm0, (%rdi)
andq $0x0, 0x10(%rdi)
callq 0x1b448
movq %r14, 0x30(%rsp)
movzbl %r14b, %r14d
leal 0x6(%r14), %eax
orl $0x8, %r14d
movq %r12, 0x48(%rsp)
testb %r12b, %r12b
cmovel %eax, %r14d
je 0x19881
leaq 0x1dfa3(%rip), %rsi     # 0x37785
leaq 0x78(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x8102
leaq 0x78(%rsp), %rdx
movq %r15, %rdi
movl %ebp, %esi
callq 0x1b478
movsd %xmm0, 0x38(%rsp)
leaq 0x78(%rsp), %rdi
callq 0x7898
leaq 0x1df77(%rip), %rsi     # 0x3778e
leaq 0x58(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x8102
leaq 0x58(%rsp), %rdx
movq %r15, %rdi
movl %ebp, %esi
callq 0x1b478
movsd %xmm0, 0x50(%rsp)
movsd 0x1d9a5(%rip), %xmm0    # 0x371e8
maxsd 0x38(%rsp), %xmm0
movsd %xmm0, 0x40(%rsp)
leaq 0x58(%rsp), %rdi
callq 0x7898
movsd 0x1d987(%rip), %xmm0    # 0x371e8
movsd %xmm0, 0x38(%rsp)
movsd 0x50(%rsp), %xmm0
movsd 0x1d973(%rip), %xmm1    # 0x371e8
ucomisd %xmm0, %xmm1
ja 0x19881
movsd %xmm0, 0x38(%rsp)
fldt 0x30(%r15)
fabs
fldl 0x1d95b(%rip)           # 0x371e8
fucomi %st(1), %st
fstp %st(1)
jbe 0x19899
fld %st(0)
fstpt 0x30(%r15)
fldt 0x40(%r15)
fabs
fxch %st(1)
fucomi %st(1), %st
fstp %st(1)
jbe 0x198ad
fld %st(0)
fstpt 0x40(%r15)
fldt 0x50(%r15)
fabs
fxch %st(1)
fucomi %st(1), %st
fstp %st(1)
jbe 0x198c1
fstpt 0x50(%r15)
fldz
fstp %st(0)
decl %ebp
cmpl $0x5, %ebp
ja 0x1a1d5
leaq 0x1d993(%rip), %rax     # 0x37268
movslq (%rax,%rbp,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movq (%r13), %rsi
movq (%rbx), %rdi
callq 0x7240
movq (%r13), %rsi
addq $0x20, %rsi
movq (%rbx), %rdi
addq $0x20, %rdi
callq 0x7240
movq (%r13), %rsi
addq $0x40, %rsi
movq (%rbx), %rdi
addq $0x40, %rdi
callq 0x7240
movsd 0x18(%r15), %xmm0
leaq 0x10(%rsp), %rdi
callq 0x1b759
movq (%rbx), %rdi
addq $0x60, %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
movsd 0x60(%r15), %xmm0
leaq 0x10(%rsp), %rdi
callq 0x1b759
movq (%rbx), %rdi
subq $-0x80, %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
fldt 0x30(%r15)
fstpt (%rsp)
leaq 0x10(%rsp), %rdi
callq 0x1b7f9
movl $0xa0, %edi
addq (%rbx), %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
movsd 0x10(%r15), %xmm0
leaq 0x10(%rsp), %rdi
callq 0x1b759
movl %r14d, %edi
shll $0x5, %edi
addq (%rbx), %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
movsd (%r15), %xmm0
leaq 0x10(%rsp), %rdi
callq 0x1b759
movl %r14d, %r14d
movq (%rbx), %rax
movl %r14d, %ecx
shll $0x5, %ecx
leaq (%rax,%rcx), %rdi
addq $0x20, %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
movsd 0x8(%r15), %xmm0
leaq 0x10(%rsp), %rdi
callq 0x1b759
movq (%rbx), %rax
shll $0x5, %r14d
leaq (%rax,%r14), %rdi
addq $0x40, %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
cmpb $0x0, 0x30(%rsp)
je 0x1a26d
movsd (%r15), %xmm0
subsd 0x8(%r15), %xmm0
divsd 0x98(%r15), %xmm0
jmp 0x1a1e0
movq (%r13), %rsi
addq $0x40, %rsi
movq (%rbx), %rdi
callq 0x7240
movq (%r13), %rsi
addq $0x20, %rsi
movq (%rbx), %rdi
addq $0x20, %rdi
callq 0x7240
movq (%r13), %rsi
movq (%rbx), %rdi
addq $0x40, %rdi
callq 0x7240
movsd 0x28(%r15), %xmm0
andpd 0x1d778(%rip), %xmm0    # 0x37210
leaq 0x10(%rsp), %rdi
callq 0x1b759
movq (%rbx), %rdi
addq $0x60, %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
movsd 0x70(%r15), %xmm0
leaq 0x10(%rsp), %rdi
callq 0x1b759
movq (%rbx), %rdi
subq $-0x80, %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
fldt 0x50(%r15)
fstpt (%rsp)
leaq 0x10(%rsp), %rdi
callq 0x1b7f9
movl $0xa0, %edi
addq (%rbx), %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
movsd (%r15), %xmm0
leaq 0x10(%rsp), %rdi
callq 0x1b759
movl %r14d, %edi
shll $0x5, %edi
addq (%rbx), %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
movsd 0x10(%r15), %xmm0
leaq 0x10(%rsp), %rdi
callq 0x1b759
movl %r14d, %r14d
movq (%rbx), %rax
movl %r14d, %ecx
shll $0x5, %ecx
leaq (%rax,%rcx), %rdi
addq $0x20, %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
movsd 0x8(%r15), %xmm0
leaq 0x10(%rsp), %rdi
callq 0x1b759
movq (%rbx), %rax
shll $0x5, %r14d
leaq (%rax,%r14), %rdi
addq $0x40, %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
cmpb $0x0, 0x30(%rsp)
je 0x1a26d
movsd 0x10(%r15), %xmm0
subsd 0x8(%r15), %xmm0
divsd 0xf8(%r15), %xmm0
jmp 0x1a1e0
movq (%r13), %rsi
movq (%rbx), %rdi
callq 0x7240
movq (%r13), %rsi
addq $0x40, %rsi
movq (%rbx), %rdi
addq $0x20, %rdi
callq 0x7240
movq (%r13), %rsi
addq $0x20, %rsi
movq (%rbx), %rdi
addq $0x40, %rdi
callq 0x7240
movsd 0x20(%r15), %xmm0
andpd 0x1d5f7(%rip), %xmm0    # 0x37210
leaq 0x10(%rsp), %rdi
callq 0x1b759
movq (%rbx), %rdi
addq $0x60, %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
movsd 0x68(%r15), %xmm0
leaq 0x10(%rsp), %rdi
callq 0x1b759
movq (%rbx), %rdi
subq $-0x80, %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
fldt 0x40(%r15)
fstpt (%rsp)
leaq 0x10(%rsp), %rdi
callq 0x1b7f9
movl $0xa0, %edi
addq (%rbx), %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
movsd 0x8(%r15), %xmm0
leaq 0x10(%rsp), %rdi
callq 0x1b759
movl %r14d, %edi
shll $0x5, %edi
addq (%rbx), %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
movsd (%r15), %xmm0
leaq 0x10(%rsp), %rdi
callq 0x1b759
movl %r14d, %r14d
movq (%rbx), %rax
movl %r14d, %ecx
shll $0x5, %ecx
leaq (%rax,%rcx), %rdi
addq $0x20, %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
movsd 0x10(%r15), %xmm0
leaq 0x10(%rsp), %rdi
callq 0x1b759
movq (%rbx), %rax
shll $0x5, %r14d
leaq (%rax,%r14), %rdi
addq $0x40, %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
cmpb $0x0, 0x30(%rsp)
je 0x1a26d
movsd (%r15), %xmm0
subsd 0x10(%r15), %xmm0
divsd 0xc8(%r15), %xmm0
jmp 0x1a1e0
movq (%r13), %rsi
addq $0x40, %rsi
movq (%rbx), %rdi
callq 0x7240
movq (%r13), %rsi
movq (%rbx), %rdi
addq $0x20, %rdi
callq 0x7240
movq (%r13), %rsi
addq $0x20, %rsi
movq (%rbx), %rdi
addq $0x40, %rdi
callq 0x7240
movsd 0x20(%r15), %xmm0
andpd 0x1d477(%rip), %xmm0    # 0x37210
leaq 0x10(%rsp), %rdi
callq 0x1b759
movq (%rbx), %rdi
addq $0x60, %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
movsd 0x68(%r15), %xmm0
leaq 0x10(%rsp), %rdi
callq 0x1b759
movq (%rbx), %rdi
subq $-0x80, %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
fldt 0x40(%r15)
fstpt (%rsp)
leaq 0x10(%rsp), %rdi
callq 0x1b7f9
movl $0xa0, %edi
addq (%rbx), %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
movsd 0x8(%r15), %xmm0
leaq 0x10(%rsp), %rdi
callq 0x1b759
movl %r14d, %edi
shll $0x5, %edi
addq (%rbx), %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
movsd 0x10(%r15), %xmm0
leaq 0x10(%rsp), %rdi
callq 0x1b759
movl %r14d, %r14d
movq (%rbx), %rax
movl %r14d, %ecx
shll $0x5, %ecx
leaq (%rax,%rcx), %rdi
addq $0x20, %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
movsd (%r15), %xmm0
leaq 0x10(%rsp), %rdi
callq 0x1b759
movq (%rbx), %rax
shll $0x5, %r14d
leaq (%rax,%r14), %rdi
addq $0x40, %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
cmpb $0x0, 0x30(%rsp)
je 0x1a26d
movsd 0x10(%r15), %xmm0
subsd (%r15), %xmm0
divsd 0xd0(%r15), %xmm0
jmp 0x1a1e0
movq (%r13), %rsi
addq $0x20, %rsi
movq (%rbx), %rdi
callq 0x7240
movq (%r13), %rsi
movq (%rbx), %rdi
addq $0x20, %rdi
callq 0x7240
movq (%r13), %rsi
addq $0x40, %rsi
movq (%rbx), %rdi
addq $0x40, %rdi
callq 0x7240
movsd 0x18(%r15), %xmm0
andpd 0x1d2f7(%rip), %xmm0    # 0x37210
leaq 0x10(%rsp), %rdi
callq 0x1b759
movq (%rbx), %rdi
addq $0x60, %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
movsd 0x60(%r15), %xmm0
leaq 0x10(%rsp), %rdi
callq 0x1b759
movq (%rbx), %rdi
subq $-0x80, %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
fldt 0x30(%r15)
fstpt (%rsp)
leaq 0x10(%rsp), %rdi
callq 0x1b7f9
movl $0xa0, %edi
addq (%rbx), %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
movsd 0x10(%r15), %xmm0
leaq 0x10(%rsp), %rdi
callq 0x1b759
movl %r14d, %edi
shll $0x5, %edi
addq (%rbx), %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
movsd 0x8(%r15), %xmm0
leaq 0x10(%rsp), %rdi
callq 0x1b759
movl %r14d, %r14d
movq (%rbx), %rax
movl %r14d, %ecx
shll $0x5, %ecx
leaq (%rax,%rcx), %rdi
addq $0x20, %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
movsd (%r15), %xmm0
leaq 0x10(%rsp), %rdi
callq 0x1b759
movq (%rbx), %rax
shll $0x5, %r14d
leaq (%rax,%r14), %rdi
addq $0x40, %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
cmpb $0x0, 0x30(%rsp)
je 0x1a26d
movsd 0x8(%r15), %xmm0
subsd (%r15), %xmm0
divsd 0xa0(%r15), %xmm0
jmp 0x1a1e0
movq (%r13), %rsi
addq $0x20, %rsi
movq (%rbx), %rdi
callq 0x7240
movq (%r13), %rsi
addq $0x40, %rsi
movq (%rbx), %rdi
addq $0x20, %rdi
callq 0x7240
movq (%r13), %rsi
movq (%rbx), %rdi
addq $0x40, %rdi
callq 0x7240
movsd 0x28(%r15), %xmm0
andpd 0x1d177(%rip), %xmm0    # 0x37210
leaq 0x10(%rsp), %rdi
callq 0x1b759
movq (%rbx), %rdi
addq $0x60, %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
movsd 0x70(%r15), %xmm0
leaq 0x10(%rsp), %rdi
callq 0x1b759
movq (%rbx), %rdi
subq $-0x80, %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
fldt 0x50(%r15)
fstpt (%rsp)
leaq 0x10(%rsp), %rdi
callq 0x1b7f9
movl $0xa0, %edi
addq (%rbx), %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
movsd (%r15), %xmm0
leaq 0x10(%rsp), %rdi
callq 0x1b759
movl %r14d, %edi
shll $0x5, %edi
addq (%rbx), %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
movsd 0x8(%r15), %xmm0
leaq 0x10(%rsp), %rdi
callq 0x1b759
movl %r14d, %r14d
movq (%rbx), %rax
movl %r14d, %ecx
shll $0x5, %ecx
leaq (%rax,%rcx), %rdi
addq $0x20, %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
movsd 0x10(%r15), %xmm0
leaq 0x10(%rsp), %rdi
callq 0x1b759
movq (%rbx), %rax
shll $0x5, %r14d
leaq (%rax,%r14), %rdi
addq $0x40, %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x7500
movq %r13, %rdi
callq 0x7898
cmpb $0x0, 0x30(%rsp)
je 0x1a26d
movsd 0x8(%r15), %xmm0
subsd 0x10(%r15), %xmm0
divsd 0x100(%r15), %xmm0
jmp 0x1a1e0
cmpb $0x0, 0x30(%rsp)
je 0x1a26d
xorpd %xmm1, %xmm1
maxsd %xmm0, %xmm1
movsd 0x1c280(%rip), %xmm0    # 0x36470
minsd %xmm1, %xmm0
leaq 0x10(%rsp), %rdi
callq 0x1b759
movq 0x48(%rsp), %r14
movl $0xc0, %edi
addq (%rbx), %rdi
leaq 0x10(%rsp), %r15
movq %r15, %rsi
callq 0x7500
movq %r15, %rdi
callq 0x7898
testb %r14b, %r14b
je 0x1a2ce
leaq 0x10(%rsp), %rdi
movsd 0x40(%rsp), %xmm0
callq 0x1b759
movl $0xe0, %edi
addq (%rbx), %rdi
leaq 0x10(%rsp), %r14
movq %r14, %rsi
callq 0x7500
movq %r14, %rdi
callq 0x7898
leaq 0x10(%rsp), %rdi
movsd 0x38(%rsp), %xmm0
callq 0x1b759
movl $0x100, %edi            # imm = 0x100
jmp 0x1a2b6
cmpb $0x0, 0x48(%rsp)
je 0x1a2ce
leaq 0x10(%rsp), %rdi
movsd 0x40(%rsp), %xmm0
callq 0x1b759
movl $0xc0, %edi
addq (%rbx), %rdi
leaq 0x10(%rsp), %r14
movq %r14, %rsi
callq 0x7500
movq %r14, %rdi
callq 0x7898
leaq 0x10(%rsp), %rdi
movsd 0x38(%rsp), %xmm0
callq 0x1b759
movl $0xe0, %edi
addq (%rbx), %rdi
leaq 0x10(%rsp), %r14
movq %r14, %rsi
callq 0x7500
movq %r14, %rdi
callq 0x7898
movq %rbx, %rax
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
jmp 0x1a354
movq %rax, %r14
leaq 0x58(%rsp), %rdi
jmp 0x1a349
jmp 0x1a354
movq %rax, %r14
leaq 0x78(%rsp), %rdi
callq 0x7898
jmp 0x1a357
jmp 0x1a354
jmp 0x1a354
movq %rax, %r14
movq %rbx, %rdi
callq 0xb80c
movq %r14, %rdi
callq 0x7750
nop