// File: mororo18[P]simplex-method/src/model.cpp
// Function: Model::output_generate()
void Model::output_generate(){

    // =========== Model output ============

    std::string output;
    
    char header[200];
    sprintf(header, "\n========= MODEL =========\n"
                    "\n N_o vars = %d\n" 
                    "\n %s ", var_qnt, type.c_str());

    // init with header
    output = header;

    // append the O.F.
    output.append(main_func->output_generate());

    output.append("\n [s.t.] Constraints :\n\n");

    for(int i = 0; i < cstr_vec.size(); i++){
        std::vector<double> coef_vec = cstr_vec[i].coef_get();
        char cstr_n[20];
        sprintf(cstr_n, "    (%d) ", i);
        output.append(cstr_n);

        std::string opt1;
        std::string opt2;
        std::string opt3;
        for(int j = 0; j < coef_vec.size(); j++){
            std::stringstream coef_stream;
            coef_stream << std::setprecision(OUT_PRECISION) << coef_vec[j];

            std::string coef_str = coef_stream.str();

            opt1 = " " + coef_str + " " + main_func->var_name_get(j);
            opt2 = " + " + coef_str + " " + main_func->var_name_get(j);
            opt3 = coef_str + " " + main_func->var_name_get(j);

            if(coef_vec[j] < 0)
                output.append(opt1);
            else if(j != 0)
                output.append(opt2);
            else
                output.append(opt3);

        }

        if(cstr_vec[i].type_id == EQ)
            output.append(" = ");
        else if(cstr_vec[i].type_id == L_EQ)
            output.append(" <= ");
        else if(cstr_vec[i].type_id == G_EQ)
            output.append(" >= ");

        double value = cstr_vec[i].value;
        std::stringstream value_stream;
        value_stream << std::setprecision(OUT_PRECISION) << value;

        output.append(value_stream.str() + "\n");
        
    }

    output_model = output;

    output.clear();

    // ========== OPT soluiton output ==========
    if(solved){
        std::string output;

        output.append("\n\n[*] OPTIMAL SOLUTION:\n\n > O.F. value = ");

        std::stringstream obj_value_stream;
        obj_value_stream << std::setprecision(OUT_PRECISION) << obj_value;

        output.append(obj_value_stream.str() + "\n");

        output.append("\n Primal Variables:\n\n");

        for(int i = 0; i < solution_primal.size(); i++){
            output.append("   > ");
            output.append(main_func->var_name_get(i) + " = ");
            
            std::stringstream var_value_stream;
            var_value_stream << std::setprecision(OUT_PRECISION) << solution_primal[i];
            output.append(var_value_stream.str() + ";\n");

        }
        
        output.append("\n Dual Variables:\n\n");

        for(int i = 0; i < solution_dual.size(); i++){
            output.append("   > Y_" + std::to_string(i+1) + " = ");
            
            std::stringstream var_value_stream;
            var_value_stream << std::setprecision(OUT_PRECISION) << solution_dual[i];
            output.append(var_value_stream.str() + ";\n");

        }
        
        output_solution = output;
    }

    // ========= Analysis output =========

    if(analysed){
        std::string output;

        output.append("\n\n[@] SENSITIVITY ANALYSIS:\n\n");
        
        output.append(" > Ranges for unchange the Basis: \n\n");
        output.append("\t\t > OBJ Coefficient Ranges <\n");
        output.append("   Variables\tCrnt Coef\tAlwb Inc.\tAlwb Dec.\n");
        for(int i = 0; i < var_qnt; i++){
            std::stringstream coef_stream;
            std::stringstream upper_bd_stream;
            std::stringstream lower_bd_stream;

            std::string coef_str;
            std::string upper_str;
            std::string lower_str;

            coef_stream << std::setprecision(OUT_PRECISION) << original_coef[i];
            upper_bd_stream << std::setprecision(OUT_PRECISION) << std::abs(c_range[i].second);
            lower_bd_stream << std::setprecision(OUT_PRECISION) << std::abs(c_range[i].first);

            coef_str = coef_stream.str();

            if(std::abs(c_range[i].second) >= INFINITE - 2){
                upper_str = "INFINITY";
                output.append("   > " + main_func->var_name_get(i) + "\t" + coef_str + "\t\t" + upper_str + "\t");
            }else{
                upper_str = upper_bd_stream.str();
                output.append("   > " + main_func->var_name_get(i) +  "\t" + coef_str + "\t\t" + upper_str + "\t\t");
            }

            if(std::abs(c_range[i].first) >= INFINITE - 2){
                lower_str = "INFINITY";
            }else
                lower_str = lower_bd_stream.str();

            output.append(lower_str + "\n");


        }
        output.append("\n\t\t     > Right Hand Side <\n");
        output.append("   Constraint\tCrnt RHS\tAlwb Inc.\tAlwb Dec.\n");
        for(int i = 0; i < cstr_vec.size(); i++){
            std::stringstream hand_stream;
            std::stringstream upper_bd_stream;
            std::stringstream lower_bd_stream;

            std::string hand_str;
            std::string upper_str;
            std::string lower_str;

            hand_stream << std::setprecision(OUT_PRECISION) << cstr_vec[i].value;
            upper_bd_stream << std::setprecision(OUT_PRECISION) << std::abs(b_range[i].second);
            lower_bd_stream << std::setprecision(OUT_PRECISION) << std::abs(b_range[i].first);

            hand_str = hand_stream.str();

            char cstr_n[20]; 
            sprintf(cstr_n, "(%d)", i);
            std::string cstr_str = cstr_n;
            if(std::abs(b_range[i].second) >= INFINITE - 2){
                upper_str = "INFINITY";
                output.append("   > " + cstr_str + "\t" + hand_str + "\t\t" + upper_str + "\t");
            }else{
                upper_str = upper_bd_stream.str();
                output.append("   > " + cstr_str +  "\t" + hand_str + "\t\t" + upper_str + "\t\t");
            }

            if(std::abs(b_range[i].first) >= INFINITE - 2){
                lower_str = "INFINITY";
            }else
                lower_str = lower_bd_stream.str();

            output.append(lower_str + "\n");


        }

        output_analysis = output;
        output.clear();
    }
}

// Assembly:
subq $0x1da8, %rsp           # imm = 0x1DA8
movq %rdi, 0x1da0(%rsp)
movq 0x1da0(%rsp), %rax
movq %rax, 0x1c8(%rsp)
leaq 0x1d80(%rsp), %rdi
movq %rdi, 0x1d8(%rsp)
callq 0x2290
movq 0x1c8(%rsp), %rdi
movl (%rdi), %eax
movl %eax, 0x1d4(%rsp)
addq $0x8, %rdi
callq 0x20e0
movl 0x1d4(%rsp), %edx
movq %rax, %rcx
leaq 0x111f9(%rip), %rsi     # 0x1b3a8
xorl %eax, %eax
leaq 0x1cb0(%rsp), %rdi
movq %rdi, 0x1e0(%rsp)
callq 0x2070
movq 0x1d8(%rsp), %rdi
movq 0x1e0(%rsp), %rsi
callq 0x2270
jmp 0xa1dd
movq 0x1c8(%rsp), %rax
movq 0x50(%rax), %rsi
leaq 0x1c80(%rsp), %rdi
callq 0xf730
jmp 0xa1f8
leaq 0x1d80(%rsp), %rdi
leaq 0x1c80(%rsp), %rsi
callq 0x2390
jmp 0xa20f
leaq 0x1c80(%rsp), %rdi
callq 0x2140
leaq 0x111b6(%rip), %rsi     # 0x1b3d9
leaq 0x1d80(%rsp), %rdi
callq 0x2380
jmp 0xa232
movl $0x0, 0x1c7c(%rsp)
movq 0x1c8(%rsp), %rdi
movslq 0x1c7c(%rsp), %rax
movq %rax, 0x1c0(%rsp)
addq $0x58, %rdi
callq 0x10a80
movq %rax, %rcx
movq 0x1c0(%rsp), %rax
cmpq %rcx, %rax
jae 0xab3f
movq 0x1c8(%rsp), %rdi
addq $0x58, %rdi
movslq 0x1c7c(%rsp), %rsi
callq 0x10b50
movq %rax, %rsi
leaq 0x1c60(%rsp), %rdi
callq 0x8a60
jmp 0xa29d
movl 0x1c7c(%rsp), %edx
leaq 0x11147(%rip), %rsi     # 0x1b3f2
xorl %eax, %eax
leaq 0x1c40(%rsp), %rdi
movq %rdi, 0x1b8(%rsp)
callq 0x2070
movq 0x1b8(%rsp), %rsi
leaq 0x1d80(%rsp), %rdi
callq 0x2380
jmp 0xa2d9
leaq 0x1c20(%rsp), %rdi
callq 0x2290
leaq 0x1c00(%rsp), %rdi
callq 0x2290
leaq 0x1be0(%rsp), %rdi
callq 0x2290
movl $0x0, 0x1bdc(%rsp)
movslq 0x1bdc(%rsp), %rax
movq %rax, 0x1b0(%rsp)
leaq 0x1c60(%rsp), %rdi
callq 0x6420
movq %rax, %rcx
movq 0x1b0(%rsp), %rax
cmpq %rcx, %rax
jae 0xa89c
leaq 0x1a50(%rsp), %rdi
callq 0x2170
jmp 0xa34b
leaq 0x1a60(%rsp), %rax
movq %rax, 0x1a0(%rsp)
movl $0x5, %edi
callq 0x11640
movl %eax, 0x1ac(%rsp)
jmp 0xa36e
movq 0x1a0(%rsp), %rdi
movl 0x1ac(%rsp), %eax
movl %eax, 0x1a4c(%rsp)
movl 0x1a4c(%rsp), %esi
callq 0x22f0
movq %rax, 0x198(%rsp)
jmp 0xa39a
movslq 0x1bdc(%rsp), %rsi
leaq 0x1c60(%rsp), %rdi
callq 0x109f0
movq 0x198(%rsp), %rdi
movsd (%rax), %xmm0
callq 0x2370
jmp 0xa3c2
leaq 0x1a28(%rsp), %rdi
leaq 0x1a50(%rsp), %rsi
callq 0x21e0
jmp 0xa3d9
leaq 0x1101a(%rip), %rsi     # 0x1b3fa
leaq 0x19c8(%rsp), %rdi
leaq 0x1a28(%rsp), %rdx
callq 0x117a0
jmp 0xa3f7
leaq 0x10ffc(%rip), %rdx     # 0x1b3fa
leaq 0x19e8(%rsp), %rdi
leaq 0x19c8(%rsp), %rsi
callq 0x11750
jmp 0xa415
movq 0x1c8(%rsp), %rax
movq 0x50(%rax), %rsi
movl 0x1bdc(%rsp), %edx
leaq 0x19a8(%rsp), %rdi
callq 0xfd10
jmp 0xa437
leaq 0x1a08(%rsp), %rdi
leaq 0x19e8(%rsp), %rsi
leaq 0x19a8(%rsp), %rdx
callq 0x11660
jmp 0xa456
leaq 0x1c20(%rsp), %rdi
leaq 0x1a08(%rsp), %rsi
movq %rsi, 0x190(%rsp)
callq 0x2250
movq 0x190(%rsp), %rdi
callq 0x2140
leaq 0x19a8(%rsp), %rdi
callq 0x2140
leaq 0x19e8(%rsp), %rdi
callq 0x2140
leaq 0x19c8(%rsp), %rdi
callq 0x2140
leaq 0x10f4e(%rip), %rsi     # 0x1b3fc
leaq 0x1948(%rsp), %rdi
leaq 0x1a28(%rsp), %rdx
callq 0x117a0
jmp 0xa4c5
leaq 0x10f2e(%rip), %rdx     # 0x1b3fa
leaq 0x1968(%rsp), %rdi
leaq 0x1948(%rsp), %rsi
callq 0x11750
jmp 0xa4e3
movq 0x1c8(%rsp), %rax
movq 0x50(%rax), %rsi
movl 0x1bdc(%rsp), %edx
leaq 0x1928(%rsp), %rdi
callq 0xfd10
jmp 0xa505
leaq 0x1988(%rsp), %rdi
leaq 0x1968(%rsp), %rsi
leaq 0x1928(%rsp), %rdx
callq 0x11660
jmp 0xa524
leaq 0x1c00(%rsp), %rdi
leaq 0x1988(%rsp), %rsi
movq %rsi, 0x188(%rsp)
callq 0x2250
movq 0x188(%rsp), %rdi
callq 0x2140
leaq 0x1928(%rsp), %rdi
callq 0x2140
leaq 0x1968(%rsp), %rdi
callq 0x2140
leaq 0x1948(%rsp), %rdi
callq 0x2140
leaq 0x10e7e(%rip), %rdx     # 0x1b3fa
leaq 0x18e8(%rsp), %rdi
leaq 0x1a28(%rsp), %rsi
callq 0x118d0
jmp 0xa593
movq 0x1c8(%rsp), %rax
movq 0x50(%rax), %rsi
movl 0x1bdc(%rsp), %edx
leaq 0x18c8(%rsp), %rdi
callq 0xfd10
jmp 0xa5b5
leaq 0x1908(%rsp), %rdi
leaq 0x18e8(%rsp), %rsi
leaq 0x18c8(%rsp), %rdx
callq 0x11660
jmp 0xa5d4
leaq 0x1be0(%rsp), %rdi
leaq 0x1908(%rsp), %rsi
callq 0x2250
leaq 0x1908(%rsp), %rdi
callq 0x2140
leaq 0x18c8(%rsp), %rdi
callq 0x2140
leaq 0x18e8(%rsp), %rdi
callq 0x2140
movslq 0x1bdc(%rsp), %rsi
leaq 0x1c60(%rsp), %rdi
callq 0x109f0
xorps %xmm0, %xmm0
ucomisd (%rax), %xmm0
jbe 0xa80f
leaq 0x1d80(%rsp), %rdi
leaq 0x1c20(%rsp), %rsi
callq 0x2390
jmp 0xa649
jmp 0xa84d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xc712
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
leaq 0x1c80(%rsp), %rdi
callq 0x2140
jmp 0xc712
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xab2d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xab06
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xa88a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xa87d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xa74b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xa73e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
leaq 0x19a8(%rsp), %rdi
callq 0x2140
leaq 0x19e8(%rsp), %rdi
callq 0x2140
leaq 0x19c8(%rsp), %rdi
callq 0x2140
jmp 0xa87d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xa7b7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xa7aa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
leaq 0x1928(%rsp), %rdi
callq 0x2140
leaq 0x1968(%rsp), %rdi
callq 0x2140
leaq 0x1948(%rsp), %rdi
callq 0x2140
jmp 0xa87d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xa800
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
leaq 0x18c8(%rsp), %rdi
callq 0x2140
leaq 0x18e8(%rsp), %rdi
callq 0x2140
jmp 0xa87d
cmpl $0x0, 0x1bdc(%rsp)
je 0xa832
leaq 0x1d80(%rsp), %rdi
leaq 0x1c00(%rsp), %rsi
callq 0x2390
jmp 0xa830
jmp 0xa84b
leaq 0x1d80(%rsp), %rdi
leaq 0x1be0(%rsp), %rsi
callq 0x2390
jmp 0xa849
jmp 0xa84b
jmp 0xa84d
leaq 0x1a28(%rsp), %rdi
callq 0x2140
leaq 0x1a50(%rsp), %rdi
callq 0x2180
movl 0x1bdc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x1bdc(%rsp)
jmp 0xa30b
leaq 0x1a28(%rsp), %rdi
callq 0x2140
leaq 0x1a50(%rsp), %rdi
callq 0x2180
jmp 0xab06
movq 0x1c8(%rsp), %rdi
addq $0x58, %rdi
movslq 0x1c7c(%rsp), %rsi
callq 0x10b50
cmpl $0x0, 0x20(%rax)
jne 0xa8d3
leaq 0x10cd3(%rip), %rsi     # 0x1b595
leaq 0x1d80(%rsp), %rdi
callq 0x2380
jmp 0xa8d1
jmp 0xa945
movq 0x1c8(%rsp), %rdi
addq $0x58, %rdi
movslq 0x1c7c(%rsp), %rsi
callq 0x10b50
cmpl $0x1, 0x20(%rax)
jne 0xa90a
leaq 0x10b07(%rip), %rsi     # 0x1b400
leaq 0x1d80(%rsp), %rdi
callq 0x2380
jmp 0xa908
jmp 0xa943
movq 0x1c8(%rsp), %rdi
addq $0x58, %rdi
movslq 0x1c7c(%rsp), %rsi
callq 0x10b50
cmpl $-0x1, 0x20(%rax)
jne 0xa941
leaq 0x10ad5(%rip), %rsi     # 0x1b405
leaq 0x1d80(%rsp), %rdi
callq 0x2380
jmp 0xa93f
jmp 0xa941
jmp 0xa943
jmp 0xa945
movq 0x1c8(%rsp), %rdi
addq $0x58, %rdi
movslq 0x1c7c(%rsp), %rsi
callq 0x10b50
movsd 0x28(%rax), %xmm0
movsd %xmm0, 0x18c0(%rsp)
leaq 0x1738(%rsp), %rdi
callq 0x2170
jmp 0xa97b
leaq 0x1748(%rsp), %rax
movq %rax, 0x178(%rsp)
movl $0x5, %edi
callq 0x11640
movl %eax, 0x184(%rsp)
jmp 0xa99e
movq 0x178(%rsp), %rdi
movl 0x184(%rsp), %eax
movl %eax, 0x1734(%rsp)
movl 0x1734(%rsp), %esi
callq 0x22f0
movq %rax, 0x170(%rsp)
jmp 0xa9ca
movq 0x170(%rsp), %rdi
movsd 0x18c0(%rsp), %xmm0
callq 0x2370
jmp 0xa9e2
leaq 0x16f0(%rsp), %rdi
leaq 0x1738(%rsp), %rsi
callq 0x21e0
jmp 0xa9f9
leaq 0x10ab0(%rip), %rdx     # 0x1b4b0
leaq 0x1710(%rsp), %rdi
leaq 0x16f0(%rsp), %rsi
callq 0x11750
jmp 0xaa17
leaq 0x1d80(%rsp), %rdi
leaq 0x1710(%rsp), %rsi
callq 0x2390
jmp 0xaa2e
leaq 0x1710(%rsp), %rdi
callq 0x2140
leaq 0x16f0(%rsp), %rdi
callq 0x2140
leaq 0x1738(%rsp), %rdi
callq 0x2180
leaq 0x1be0(%rsp), %rdi
callq 0x2140
leaq 0x1c00(%rsp), %rdi
callq 0x2140
leaq 0x1c20(%rsp), %rdi
callq 0x2140
leaq 0x1c60(%rsp), %rdi
callq 0x6bc0
movl 0x1c7c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x1c7c(%rsp)
jmp 0xa23d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xaaf9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xaaec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
leaq 0x1710(%rsp), %rdi
callq 0x2140
leaq 0x16f0(%rsp), %rdi
callq 0x2140
leaq 0x1738(%rsp), %rdi
callq 0x2180
leaq 0x1be0(%rsp), %rdi
callq 0x2140
leaq 0x1c00(%rsp), %rdi
callq 0x2140
leaq 0x1c20(%rsp), %rdi
callq 0x2140
leaq 0x1c60(%rsp), %rdi
callq 0x6bc0
jmp 0xc712
movq 0x1c8(%rsp), %rdi
addq $0x1f0, %rdi            # imm = 0x1F0
leaq 0x1d80(%rsp), %rsi
callq 0x2040
jmp 0xab5d
leaq 0x1d80(%rsp), %rdi
callq 0x2260
movq 0x1c8(%rsp), %rax
testb $0x1, 0x40(%rax)
je 0xb2dc
leaq 0x16d0(%rsp), %rdi
movq %rdi, 0x168(%rsp)
callq 0x2290
movq 0x168(%rsp), %rdi
leaq 0x1086a(%rip), %rsi     # 0x1b40a
callq 0x2380
jmp 0xaba7
leaq 0x1548(%rsp), %rdi
callq 0x2170
jmp 0xabb6
leaq 0x1558(%rsp), %rax
movq %rax, 0x158(%rsp)
movl $0x5, %edi
callq 0x11640
movl %eax, 0x164(%rsp)
jmp 0xabd9
movq 0x158(%rsp), %rdi
movl 0x164(%rsp), %eax
movl %eax, 0x1544(%rsp)
movl 0x1544(%rsp), %esi
callq 0x22f0
movq %rax, 0x150(%rsp)
jmp 0xac05
movq 0x150(%rsp), %rdi
movq 0x1c8(%rsp), %rax
movsd 0x30(%rax), %xmm0
callq 0x2370
jmp 0xac21
leaq 0x1500(%rsp), %rdi
leaq 0x1548(%rsp), %rsi
callq 0x21e0
jmp 0xac38
leaq 0x10871(%rip), %rdx     # 0x1b4b0
leaq 0x1520(%rsp), %rdi
leaq 0x1500(%rsp), %rsi
callq 0x11750
jmp 0xac56
leaq 0x16d0(%rsp), %rdi
leaq 0x1520(%rsp), %rsi
callq 0x2390
jmp 0xac6d
leaq 0x1520(%rsp), %rdi
callq 0x2140
leaq 0x1500(%rsp), %rdi
callq 0x2140
leaq 0x107a6(%rip), %rsi     # 0x1b434
leaq 0x16d0(%rsp), %rdi
callq 0x2380
jmp 0xac9d
movl $0x0, 0x14fc(%rsp)
movq 0x1c8(%rsp), %rdi
movslq 0x14fc(%rsp), %rax
movq %rax, 0x148(%rsp)
addq $0xb8, %rdi
callq 0x6420
movq %rax, %rcx
movq 0x148(%rsp), %rax
cmpq %rcx, %rax
jae 0xafad
leaq 0x10763(%rip), %rsi     # 0x1b44a
leaq 0x16d0(%rsp), %rdi
callq 0x2380
jmp 0xacf6
movq 0x1c8(%rsp), %rax
movq 0x50(%rax), %rsi
movl 0x14fc(%rsp), %edx
leaq 0x14b8(%rsp), %rdi
callq 0xfd10
jmp 0xad18
leaq 0x10876(%rip), %rdx     # 0x1b595
leaq 0x14d8(%rsp), %rdi
leaq 0x14b8(%rsp), %rsi
callq 0x11750
jmp 0xad36
leaq 0x16d0(%rsp), %rdi
leaq 0x14d8(%rsp), %rsi
callq 0x2390
jmp 0xad4d
leaq 0x14d8(%rsp), %rdi
callq 0x2140
leaq 0x14b8(%rsp), %rdi
callq 0x2140
leaq 0x1330(%rsp), %rdi
callq 0x2170
jmp 0xad76
leaq 0x1340(%rsp), %rax
movq %rax, 0x138(%rsp)
movl $0x5, %edi
callq 0x11640
movl %eax, 0x144(%rsp)
jmp 0xad99
movq 0x138(%rsp), %rdi
movl 0x144(%rsp), %eax
movl %eax, 0x132c(%rsp)
movl 0x132c(%rsp), %esi
callq 0x22f0
movq %rax, 0x130(%rsp)
jmp 0xadc5
movq 0x1c8(%rsp), %rdi
addq $0xb8, %rdi
movslq 0x14fc(%rsp), %rsi
callq 0x109f0
movq 0x130(%rsp), %rdi
movsd (%rax), %xmm0
callq 0x2370
jmp 0xadf4
leaq 0x12e8(%rsp), %rdi
leaq 0x1330(%rsp), %rsi
callq 0x21e0
jmp 0xae0b
leaq 0x1063e(%rip), %rdx     # 0x1b450
leaq 0x1308(%rsp), %rdi
leaq 0x12e8(%rsp), %rsi
callq 0x11750
jmp 0xae29
leaq 0x16d0(%rsp), %rdi
leaq 0x1308(%rsp), %rsi
callq 0x2390
jmp 0xae40
leaq 0x1308(%rsp), %rdi
callq 0x2140
leaq 0x12e8(%rsp), %rdi
callq 0x2140
leaq 0x1330(%rsp), %rdi
callq 0x2180
movl 0x14fc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x14fc(%rsp)
jmp 0xaca8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xb2ca
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xb2bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xaee6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
leaq 0x1520(%rsp), %rdi
callq 0x2140
leaq 0x1500(%rsp), %rdi
callq 0x2140
jmp 0xb2bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xaf2f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
leaq 0x14d8(%rsp), %rdi
callq 0x2140
leaq 0x14b8(%rsp), %rdi
callq 0x2140
jmp 0xb2bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xaf9b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xaf8e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
leaq 0x1308(%rsp), %rdi
callq 0x2140
leaq 0x12e8(%rsp), %rdi
callq 0x2140
leaq 0x1330(%rsp), %rdi
callq 0x2180
jmp 0xb2bd
leaq 0x1049f(%rip), %rsi     # 0x1b453
leaq 0x16d0(%rsp), %rdi
callq 0x2380
jmp 0xafc3
movl $0x0, 0x12e4(%rsp)
movq 0x1c8(%rsp), %rdi
movslq 0x12e4(%rsp), %rax
movq %rax, 0x128(%rsp)
addq $0xe8, %rdi
callq 0x6420
movq %rax, %rcx
movq 0x128(%rsp), %rax
cmpq %rcx, %rax
jae 0xb283
movl 0x12e4(%rsp), %esi
incl %esi
leaq 0x1280(%rsp), %rdi
callq 0x119b0
jmp 0xb01e
leaq 0x10442(%rip), %rsi     # 0x1b467
leaq 0x12a0(%rsp), %rdi
leaq 0x1280(%rsp), %rdx
callq 0x11960
jmp 0xb03c
leaq 0x10552(%rip), %rdx     # 0x1b595
leaq 0x12c0(%rsp), %rdi
leaq 0x12a0(%rsp), %rsi
callq 0x11750
jmp 0xb05a
leaq 0x16d0(%rsp), %rdi
leaq 0x12c0(%rsp), %rsi
callq 0x2390
jmp 0xb071
leaq 0x12c0(%rsp), %rdi
callq 0x2140
leaq 0x12a0(%rsp), %rdi
callq 0x2140
leaq 0x1280(%rsp), %rdi
callq 0x2140
leaq 0x10f8(%rsp), %rdi
callq 0x2170
jmp 0xb0a7
leaq 0x1108(%rsp), %rax
movq %rax, 0x118(%rsp)
movl $0x5, %edi
callq 0x11640
movl %eax, 0x124(%rsp)
jmp 0xb0ca
movq 0x118(%rsp), %rdi
movl 0x124(%rsp), %eax
movl %eax, 0x10f4(%rsp)
movl 0x10f4(%rsp), %esi
callq 0x22f0
movq %rax, 0x110(%rsp)
jmp 0xb0f6
movq 0x1c8(%rsp), %rdi
addq $0xe8, %rdi
movslq 0x12e4(%rsp), %rsi
callq 0x109f0
movq 0x110(%rsp), %rdi
movsd (%rax), %xmm0
callq 0x2370
jmp 0xb125
leaq 0x10b0(%rsp), %rdi
leaq 0x10f8(%rsp), %rsi
callq 0x21e0
jmp 0xb13c
leaq 0x1030d(%rip), %rdx     # 0x1b450
leaq 0x10d0(%rsp), %rdi
leaq 0x10b0(%rsp), %rsi
callq 0x11750
jmp 0xb15a
leaq 0x16d0(%rsp), %rdi
leaq 0x10d0(%rsp), %rsi
callq 0x2390
jmp 0xb171
leaq 0x10d0(%rsp), %rdi
callq 0x2140
leaq 0x10b0(%rsp), %rdi
callq 0x2140
leaq 0x10f8(%rsp), %rdi
callq 0x2180
movl 0x12e4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x12e4(%rsp)
jmp 0xafce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xb208
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xb1fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
leaq 0x12c0(%rsp), %rdi
callq 0x2140
leaq 0x12a0(%rsp), %rdi
callq 0x2140
leaq 0x1280(%rsp), %rdi
callq 0x2140
jmp 0xb2bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xb274
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xb267
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
leaq 0x10d0(%rsp), %rdi
callq 0x2140
leaq 0x10b0(%rsp), %rdi
callq 0x2140
leaq 0x10f8(%rsp), %rdi
callq 0x2180
jmp 0xb2bd
movq 0x1c8(%rsp), %rdi
addq $0x230, %rdi            # imm = 0x230
leaq 0x16d0(%rsp), %rsi
callq 0x2040
jmp 0xb2a1
leaq 0x1548(%rsp), %rdi
callq 0x2180
leaq 0x16d0(%rsp), %rdi
callq 0x2140
jmp 0xb2dc
leaq 0x1548(%rsp), %rdi
callq 0x2180
leaq 0x16d0(%rsp), %rdi
callq 0x2140
jmp 0xc712
movq 0x1c8(%rsp), %rax
testb $0x1, 0x41(%rax)
je 0xc6fd
leaq 0x1090(%rsp), %rdi
movq %rdi, 0x108(%rsp)
callq 0x2290
movq 0x108(%rsp), %rdi
leaq 0x1015d(%rip), %rsi     # 0x1b46f
callq 0x2380
jmp 0xb319
leaq 0x1016d(%rip), %rsi     # 0x1b48d
leaq 0x1090(%rsp), %rdi
callq 0x2380
jmp 0xb32f
leaq 0x1017c(%rip), %rsi     # 0x1b4b2
leaq 0x1090(%rsp), %rdi
callq 0x2380
jmp 0xb345
leaq 0x10185(%rip), %rsi     # 0x1b4d1
leaq 0x1090(%rsp), %rdi
callq 0x2380
jmp 0xb35b
movl $0x0, 0x108c(%rsp)
movq 0x1c8(%rsp), %rcx
movl 0x108c(%rsp), %eax
cmpl (%rcx), %eax
jge 0xbd18
leaq 0xf00(%rsp), %rdi
callq 0x2170
jmp 0xb38c
leaq 0xd78(%rsp), %rdi
callq 0x2170
jmp 0xb39b
leaq 0xbf0(%rsp), %rdi
callq 0x2170
jmp 0xb3aa
leaq 0xbd0(%rsp), %rdi
callq 0x2290
leaq 0xbb0(%rsp), %rdi
callq 0x2290
leaq 0xb90(%rsp), %rdi
callq 0x2290
leaq 0xf10(%rsp), %rax
movq %rax, 0xf8(%rsp)
movl $0x5, %edi
callq 0x11640
movl %eax, 0x104(%rsp)
jmp 0xb3f4
movq 0xf8(%rsp), %rdi
movl 0x104(%rsp), %eax
movl %eax, 0xb8c(%rsp)
movl 0xb8c(%rsp), %esi
callq 0x22f0
movq %rax, 0xf0(%rsp)
jmp 0xb420
movq 0x1c8(%rsp), %rdi
addq $0x1c0, %rdi            # imm = 0x1C0
movslq 0x108c(%rsp), %rsi
callq 0x109f0
movq 0xf0(%rsp), %rdi
movsd (%rax), %xmm0
callq 0x2370
jmp 0xb44f
leaq 0xd88(%rsp), %rax
movq %rax, 0xe0(%rsp)
movl $0x5, %edi
callq 0x11640
movl %eax, 0xec(%rsp)
jmp 0xb472
movq 0xe0(%rsp), %rdi
movl 0xec(%rsp), %eax
movl %eax, 0xb88(%rsp)
movl 0xb88(%rsp), %esi
callq 0x22f0
movq %rax, 0xd8(%rsp)
jmp 0xb49e
movq 0x1c8(%rsp), %rdi
addq $0x160, %rdi            # imm = 0x160
movslq 0x108c(%rsp), %rsi
callq 0x11b10
movsd 0x8(%rax), %xmm0
callq 0x11af0
movsd %xmm0, 0xd0(%rsp)
jmp 0xb4cf
movsd 0xd0(%rsp), %xmm0
movq 0xd8(%rsp), %rdi
callq 0x2370
jmp 0xb4e7
leaq 0xc00(%rsp), %rax
movq %rax, 0xc0(%rsp)
movl $0x5, %edi
callq 0x11640
movl %eax, 0xcc(%rsp)
jmp 0xb50a
movq 0xc0(%rsp), %rdi
movl 0xcc(%rsp), %eax
movl %eax, 0xb84(%rsp)
movl 0xb84(%rsp), %esi
callq 0x22f0
movq %rax, 0xb8(%rsp)
jmp 0xb536
movq 0x1c8(%rsp), %rdi
addq $0x160, %rdi            # imm = 0x160
movslq 0x108c(%rsp), %rsi
callq 0x11b10
movsd (%rax), %xmm0
callq 0x11af0
movsd %xmm0, 0xb0(%rsp)
jmp 0xb566
movsd 0xb0(%rsp), %xmm0
movq 0xb8(%rsp), %rdi
callq 0x2370
jmp 0xb57e
leaq 0xb60(%rsp), %rdi
leaq 0xf00(%rsp), %rsi
callq 0x21e0
jmp 0xb595
leaq 0xbd0(%rsp), %rdi
leaq 0xb60(%rsp), %rsi
movq %rsi, 0xa0(%rsp)
callq 0x2250
movq 0xa0(%rsp), %rdi
callq 0x2140
movq 0x1c8(%rsp), %rdi
addq $0x160, %rdi            # imm = 0x160
movslq 0x108c(%rsp), %rsi
callq 0x11b10
movsd 0x8(%rax), %xmm0
callq 0x11af0
movsd %xmm0, 0xa8(%rsp)
jmp 0xb5f0
movsd 0xa8(%rsp), %xmm0
movsd 0xfcb7(%rip), %xmm1     # 0x1b2b8
ucomisd %xmm1, %xmm0
jb 0xb8d5
leaq 0xfeeb(%rip), %rsi      # 0x1b4fd
leaq 0xbb0(%rsp), %rdi
callq 0x2270
jmp 0xb621
movq 0x1c8(%rsp), %rax
movq 0x50(%rax), %rsi
movl 0x108c(%rsp), %edx
leaq 0xa80(%rsp), %rdi
callq 0xfd10
jmp 0xb643
leaq 0xfe00(%rip), %rsi      # 0x1b44a
leaq 0xaa0(%rsp), %rdi
leaq 0xa80(%rsp), %rdx
callq 0x11960
jmp 0xb661
leaq 0xfe9f(%rip), %rdx      # 0x1b507
leaq 0xac0(%rsp), %rdi
leaq 0xaa0(%rsp), %rsi
callq 0x11750
jmp 0xb67f
leaq 0xae0(%rsp), %rdi
leaq 0xac0(%rsp), %rsi
leaq 0xbd0(%rsp), %rdx
callq 0x11b30
jmp 0xb69e
leaq 0xfe61(%rip), %rdx      # 0x1b506
leaq 0xb00(%rsp), %rdi
leaq 0xae0(%rsp), %rsi
callq 0x11750
jmp 0xb6bc
leaq 0xb20(%rsp), %rdi
leaq 0xb00(%rsp), %rsi
leaq 0xbb0(%rsp), %rdx
callq 0x11b30
jmp 0xb6db
leaq 0xfe25(%rip), %rdx      # 0x1b507
leaq 0xb40(%rsp), %rdi
leaq 0xb20(%rsp), %rsi
callq 0x11750
jmp 0xb6f9
leaq 0x1090(%rsp), %rdi
leaq 0xb40(%rsp), %rsi
callq 0x2390
jmp 0xb710
leaq 0xb40(%rsp), %rdi
callq 0x2140
leaq 0xb20(%rsp), %rdi
callq 0x2140
leaq 0xb00(%rsp), %rdi
callq 0x2140
leaq 0xae0(%rsp), %rdi
callq 0x2140
leaq 0xac0(%rsp), %rdi
callq 0x2140
leaq 0xaa0(%rsp), %rdi
callq 0x2140
leaq 0xa80(%rsp), %rdi
callq 0x2140
jmp 0xbb66
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xc6ee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xbd06
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xbcf9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xbcc5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xb8c3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xb8b6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xb8a9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xb89c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xb88f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xb882
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
leaq 0xb40(%rsp), %rdi
callq 0x2140
leaq 0xb20(%rsp), %rdi
callq 0x2140
leaq 0xb00(%rsp), %rdi
callq 0x2140
leaq 0xae0(%rsp), %rdi
callq 0x2140
leaq 0xac0(%rsp), %rdi
callq 0x2140
leaq 0xaa0(%rsp), %rdi
callq 0x2140
leaq 0xa80(%rsp), %rdi
callq 0x2140
jmp 0xbcc5
leaq 0xa60(%rsp), %rdi
leaq 0xd78(%rsp), %rsi
callq 0x21e0
jmp 0xb8ec
leaq 0xbb0(%rsp), %rdi
leaq 0xa60(%rsp), %rsi
movq %rsi, 0x98(%rsp)
callq 0x2250
movq 0x98(%rsp), %rdi
callq 0x2140
movq 0x1c8(%rsp), %rax
movq 0x50(%rax), %rsi
movl 0x108c(%rsp), %edx
leaq 0x980(%rsp), %rdi
callq 0xfd10
jmp 0xb938
leaq 0xfb0b(%rip), %rsi      # 0x1b44a
leaq 0x9a0(%rsp), %rdi
leaq 0x980(%rsp), %rdx
callq 0x11960
jmp 0xb956
leaq 0xfbaa(%rip), %rdx      # 0x1b507
leaq 0x9c0(%rsp), %rdi
leaq 0x9a0(%rsp), %rsi
callq 0x11750
jmp 0xb974
leaq 0x9e0(%rsp), %rdi
leaq 0x9c0(%rsp), %rsi
leaq 0xbd0(%rsp), %rdx
callq 0x11b30
jmp 0xb993
leaq 0xfb6c(%rip), %rdx      # 0x1b506
leaq 0xa00(%rsp), %rdi
leaq 0x9e0(%rsp), %rsi
callq 0x11750
jmp 0xb9b1
leaq 0xa20(%rsp), %rdi
leaq 0xa00(%rsp), %rsi
leaq 0xbb0(%rsp), %rdx
callq 0x11b30
jmp 0xb9d0
leaq 0xfb2f(%rip), %rdx      # 0x1b506
leaq 0xa40(%rsp), %rdi
leaq 0xa20(%rsp), %rsi
callq 0x11750
jmp 0xb9ee
leaq 0x1090(%rsp), %rdi
leaq 0xa40(%rsp), %rsi
callq 0x2390
jmp 0xba05
leaq 0xa40(%rsp), %rdi
callq 0x2140
leaq 0xa20(%rsp), %rdi
callq 0x2140
leaq 0xa00(%rsp), %rdi
callq 0x2140
leaq 0x9e0(%rsp), %rdi
callq 0x2140
leaq 0x9c0(%rsp), %rdi
callq 0x2140
leaq 0x9a0(%rsp), %rdi
callq 0x2140
leaq 0x980(%rsp), %rdi
callq 0x2140
jmp 0xbb66
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xbb54
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xbb47
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xbb3a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xbb2d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xbb20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xbb13
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
leaq 0xa40(%rsp), %rdi
callq 0x2140
leaq 0xa20(%rsp), %rdi
callq 0x2140
leaq 0xa00(%rsp), %rdi
callq 0x2140
leaq 0x9e0(%rsp), %rdi
callq 0x2140
leaq 0x9c0(%rsp), %rdi
callq 0x2140
leaq 0x9a0(%rsp), %rdi
callq 0x2140
leaq 0x980(%rsp), %rdi
callq 0x2140
jmp 0xbcc5
movq 0x1c8(%rsp), %rdi
addq $0x160, %rdi            # imm = 0x160
movslq 0x108c(%rsp), %rsi
callq 0x11b10
movsd (%rax), %xmm0
callq 0x11af0
movsd %xmm0, 0x90(%rsp)
jmp 0xbb96
movsd 0x90(%rsp), %xmm0
movsd 0xf711(%rip), %xmm1     # 0x1b2b8
ucomisd %xmm1, %xmm0
jb 0xbbc5
leaq 0xf949(%rip), %rsi      # 0x1b4fd
leaq 0xb90(%rsp), %rdi
callq 0x2270
jmp 0xbbc3
jmp 0xbbfe
leaq 0x960(%rsp), %rdi
leaq 0xbf0(%rsp), %rsi
callq 0x21e0
jmp 0xbbdc
leaq 0xb90(%rsp), %rdi
leaq 0x960(%rsp), %rsi
callq 0x2250
leaq 0x960(%rsp), %rdi
callq 0x2140
leaq 0xf8ab(%rip), %rdx      # 0x1b4b0
leaq 0x940(%rsp), %rdi
leaq 0xb90(%rsp), %rsi
callq 0x118d0
jmp 0xbc1c
leaq 0x1090(%rsp), %rdi
leaq 0x940(%rsp), %rsi
callq 0x2390
jmp 0xbc33
leaq 0x940(%rsp), %rdi
callq 0x2140
leaq 0xb90(%rsp), %rdi
callq 0x2140
leaq 0xbb0(%rsp), %rdi
callq 0x2140
leaq 0xbd0(%rsp), %rdi
callq 0x2140
leaq 0xbf0(%rsp), %rdi
callq 0x2180
leaq 0xd78(%rsp), %rdi
callq 0x2180
leaq 0xf00(%rsp), %rdi
callq 0x2180
movl 0x108c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x108c(%rsp)
jmp 0xb366
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
leaq 0x940(%rsp), %rdi
callq 0x2140
leaq 0xb90(%rsp), %rdi
callq 0x2140
leaq 0xbb0(%rsp), %rdi
callq 0x2140
leaq 0xbd0(%rsp), %rdi
callq 0x2140
leaq 0xbf0(%rsp), %rdi
callq 0x2180
leaq 0xd78(%rsp), %rdi
callq 0x2180
leaq 0xf00(%rsp), %rdi
callq 0x2180
jmp 0xc6ee
leaq 0xf7ea(%rip), %rsi      # 0x1b509
leaq 0x1090(%rsp), %rdi
callq 0x2380
jmp 0xbd2e
leaq 0xf7f1(%rip), %rsi      # 0x1b526
leaq 0x1090(%rsp), %rdi
callq 0x2380
jmp 0xbd44
movl $0x0, 0x93c(%rsp)
movq 0x1c8(%rsp), %rdi
movslq 0x93c(%rsp), %rax
movq %rax, 0x88(%rsp)
addq $0x58, %rdi
callq 0x10a80
movq %rax, %rcx
movq 0x88(%rsp), %rax
cmpq %rcx, %rax
jae 0xc6b4
leaq 0x7b0(%rsp), %rdi
callq 0x2170
jmp 0xbd93
leaq 0x628(%rsp), %rdi
callq 0x2170
jmp 0xbda2
leaq 0x4a0(%rsp), %rdi
callq 0x2170
jmp 0xbdb1
leaq 0x480(%rsp), %rdi
callq 0x2290
leaq 0x460(%rsp), %rdi
callq 0x2290
leaq 0x440(%rsp), %rdi
callq 0x2290
leaq 0x7c0(%rsp), %rax
movq %rax, 0x78(%rsp)
movl $0x5, %edi
callq 0x11640
movl %eax, 0x84(%rsp)
jmp 0xbdf8
movq 0x78(%rsp), %rdi
movl 0x84(%rsp), %eax
movl %eax, 0x43c(%rsp)
movl 0x43c(%rsp), %esi
callq 0x22f0
movq %rax, 0x70(%rsp)
jmp 0xbe1e
movq 0x1c8(%rsp), %rdi
addq $0x58, %rdi
movslq 0x93c(%rsp), %rsi
callq 0x10b50
movq 0x70(%rsp), %rdi
movsd 0x28(%rax), %xmm0
callq 0x2370
jmp 0xbe48
leaq 0x638(%rsp), %rax
movq %rax, 0x60(%rsp)
movl $0x5, %edi
callq 0x11640
movl %eax, 0x6c(%rsp)
jmp 0xbe65
movq 0x60(%rsp), %rdi
movl 0x6c(%rsp), %eax
movl %eax, 0x438(%rsp)
movl 0x438(%rsp), %esi
callq 0x22f0
movq %rax, 0x58(%rsp)
jmp 0xbe88
movq 0x1c8(%rsp), %rdi
addq $0x130, %rdi            # imm = 0x130
movslq 0x93c(%rsp), %rsi
callq 0x11b10
movsd 0x8(%rax), %xmm0
callq 0x11af0
movsd %xmm0, 0x50(%rsp)
jmp 0xbeb6
movsd 0x50(%rsp), %xmm0
movq 0x58(%rsp), %rdi
callq 0x2370
jmp 0xbec8
leaq 0x4b0(%rsp), %rax
movq %rax, 0x40(%rsp)
movl $0x5, %edi
callq 0x11640
movl %eax, 0x4c(%rsp)
jmp 0xbee5
movq 0x40(%rsp), %rdi
movl 0x4c(%rsp), %eax
movl %eax, 0x434(%rsp)
movl 0x434(%rsp), %esi
callq 0x22f0
movq %rax, 0x38(%rsp)
jmp 0xbf08
movq 0x1c8(%rsp), %rdi
addq $0x130, %rdi            # imm = 0x130
movslq 0x93c(%rsp), %rsi
callq 0x11b10
movsd (%rax), %xmm0
callq 0x11af0
movsd %xmm0, 0x30(%rsp)
jmp 0xbf35
movsd 0x30(%rsp), %xmm0
movq 0x38(%rsp), %rdi
callq 0x2370
jmp 0xbf47
leaq 0x410(%rsp), %rdi
leaq 0x7b0(%rsp), %rsi
callq 0x21e0
jmp 0xbf5e
leaq 0x480(%rsp), %rdi
leaq 0x410(%rsp), %rsi
movq %rsi, 0x18(%rsp)
callq 0x2250
movq 0x18(%rsp), %rdi
callq 0x2140
movl 0x93c(%rsp), %edx
leaq 0xf5c2(%rip), %rsi      # 0x1b552
xorl %eax, %eax
leaq 0x3f0(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x2070
leaq 0x3cf(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x2360
movq 0x20(%rsp), %rsi
movq 0x28(%rsp), %rdx
leaq 0x3d0(%rsp), %rdi
callq 0x2280
jmp 0xbfcf
leaq 0x3cf(%rsp), %rdi
callq 0x2220
movq 0x1c8(%rsp), %rdi
addq $0x130, %rdi            # imm = 0x130
movslq 0x93c(%rsp), %rsi
callq 0x11b10
movsd 0x8(%rax), %xmm0
callq 0x11af0
movsd %xmm0, 0x10(%rsp)
jmp 0xc00a
movsd 0x10(%rsp), %xmm0
movsd 0xf2a0(%rip), %xmm1     # 0x1b2b8
ucomisd %xmm1, %xmm0
jb 0xc2bd
leaq 0xf4d4(%rip), %rsi      # 0x1b4fd
leaq 0x460(%rsp), %rdi
callq 0x2270
jmp 0xc038
leaq 0xf40b(%rip), %rsi      # 0x1b44a
leaq 0x308(%rsp), %rdi
leaq 0x3d0(%rsp), %rdx
callq 0x117a0
jmp 0xc056
leaq 0xf4aa(%rip), %rdx      # 0x1b507
leaq 0x328(%rsp), %rdi
leaq 0x308(%rsp), %rsi
callq 0x11750
jmp 0xc074
leaq 0x348(%rsp), %rdi
leaq 0x328(%rsp), %rsi
leaq 0x480(%rsp), %rdx
callq 0x11b30
jmp 0xc093
leaq 0xf46c(%rip), %rdx      # 0x1b506
leaq 0x368(%rsp), %rdi
leaq 0x348(%rsp), %rsi
callq 0x11750
jmp 0xc0b1
leaq 0x388(%rsp), %rdi
leaq 0x368(%rsp), %rsi
leaq 0x460(%rsp), %rdx
callq 0x11b30
jmp 0xc0d0
leaq 0xf430(%rip), %rdx      # 0x1b507
leaq 0x3a8(%rsp), %rdi
leaq 0x388(%rsp), %rsi
callq 0x11750
jmp 0xc0ee
leaq 0x1090(%rsp), %rdi
leaq 0x3a8(%rsp), %rsi
callq 0x2390
jmp 0xc105
leaq 0x3a8(%rsp), %rdi
callq 0x2140
leaq 0x388(%rsp), %rdi
callq 0x2140
leaq 0x368(%rsp), %rdi
callq 0x2140
leaq 0x348(%rsp), %rdi
callq 0x2140
leaq 0x328(%rsp), %rdi
callq 0x2140
leaq 0x308(%rsp), %rdi
callq 0x2140
jmp 0xc4f3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xc6a5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xc698
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xc664
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
leaq 0x3cf(%rsp), %rdi
callq 0x2220
jmp 0xc664
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xc657
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xc2ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xc29e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xc291
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xc284
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xc277
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
leaq 0x3a8(%rsp), %rdi
callq 0x2140
leaq 0x388(%rsp), %rdi
callq 0x2140
leaq 0x368(%rsp), %rdi
callq 0x2140
leaq 0x348(%rsp), %rdi
callq 0x2140
leaq 0x328(%rsp), %rdi
callq 0x2140
leaq 0x308(%rsp), %rdi
callq 0x2140
jmp 0xc657
leaq 0x2e8(%rsp), %rdi
leaq 0x628(%rsp), %rsi
callq 0x21e0
jmp 0xc2d4
leaq 0x460(%rsp), %rdi
leaq 0x2e8(%rsp), %rsi
movq %rsi, 0x8(%rsp)
callq 0x2250
movq 0x8(%rsp), %rdi
callq 0x2140
leaq 0xf14b(%rip), %rsi      # 0x1b44a
leaq 0x228(%rsp), %rdi
leaq 0x3d0(%rsp), %rdx
callq 0x117a0
jmp 0xc316
leaq 0xf1ea(%rip), %rdx      # 0x1b507
leaq 0x248(%rsp), %rdi
leaq 0x228(%rsp), %rsi
callq 0x11750
jmp 0xc334
leaq 0x268(%rsp), %rdi
leaq 0x248(%rsp), %rsi
leaq 0x480(%rsp), %rdx
callq 0x11b30
jmp 0xc353
leaq 0xf1ac(%rip), %rdx      # 0x1b506
leaq 0x288(%rsp), %rdi
leaq 0x268(%rsp), %rsi
callq 0x11750
jmp 0xc371
leaq 0x2a8(%rsp), %rdi
leaq 0x288(%rsp), %rsi
leaq 0x460(%rsp), %rdx
callq 0x11b30
jmp 0xc390
leaq 0xf16f(%rip), %rdx      # 0x1b506
leaq 0x2c8(%rsp), %rdi
leaq 0x2a8(%rsp), %rsi
callq 0x11750
jmp 0xc3ae
leaq 0x1090(%rsp), %rdi
leaq 0x2c8(%rsp), %rsi
callq 0x2390
jmp 0xc3c5
leaq 0x2c8(%rsp), %rdi
callq 0x2140
leaq 0x2a8(%rsp), %rdi
callq 0x2140
leaq 0x288(%rsp), %rdi
callq 0x2140
leaq 0x268(%rsp), %rdi
callq 0x2140
leaq 0x248(%rsp), %rdi
callq 0x2140
leaq 0x228(%rsp), %rdi
callq 0x2140
jmp 0xc4f3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xc4e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xc4d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xc4c7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xc4ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
jmp 0xc4ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
leaq 0x2c8(%rsp), %rdi
callq 0x2140
leaq 0x2a8(%rsp), %rdi
callq 0x2140
leaq 0x288(%rsp), %rdi
callq 0x2140
leaq 0x268(%rsp), %rdi
callq 0x2140
leaq 0x248(%rsp), %rdi
callq 0x2140
leaq 0x228(%rsp), %rdi
callq 0x2140
jmp 0xc657
movq 0x1c8(%rsp), %rdi
addq $0x130, %rdi            # imm = 0x130
movslq 0x93c(%rsp), %rsi
callq 0x11b10
movsd (%rax), %xmm0
callq 0x11af0
movsd %xmm0, (%rsp)
jmp 0xc51f
movsd (%rsp), %xmm0
movsd 0xed8c(%rip), %xmm1     # 0x1b2b8
ucomisd %xmm1, %xmm0
jb 0xc54a
leaq 0xefc4(%rip), %rsi      # 0x1b4fd
leaq 0x440(%rsp), %rdi
callq 0x2270
jmp 0xc548
jmp 0xc583
leaq 0x208(%rsp), %rdi
leaq 0x4a0(%rsp), %rsi
callq 0x21e0
jmp 0xc561
leaq 0x440(%rsp), %rdi
leaq 0x208(%rsp), %rsi
callq 0x2250
leaq 0x208(%rsp), %rdi
callq 0x2140
leaq 0xef26(%rip), %rdx      # 0x1b4b0
leaq 0x1e8(%rsp), %rdi
leaq 0x440(%rsp), %rsi
callq 0x118d0
jmp 0xc5a1
leaq 0x1090(%rsp), %rdi
leaq 0x1e8(%rsp), %rsi
callq 0x2390
jmp 0xc5b8
leaq 0x1e8(%rsp), %rdi
callq 0x2140
leaq 0x3d0(%rsp), %rdi
callq 0x2140
leaq 0x440(%rsp), %rdi
callq 0x2140
leaq 0x460(%rsp), %rdi
callq 0x2140
leaq 0x480(%rsp), %rdi
callq 0x2140
leaq 0x4a0(%rsp), %rdi
callq 0x2180
leaq 0x628(%rsp), %rdi
callq 0x2180
leaq 0x7b0(%rsp), %rdi
callq 0x2180
movl 0x93c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x93c(%rsp)
jmp 0xbd4f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1ca8(%rsp)
movl %eax, 0x1ca4(%rsp)
leaq 0x1e8(%rsp), %rdi
callq 0x2140
leaq 0x3d0(%rsp), %rdi
callq 0x2140
leaq 0x440(%rsp), %rdi
callq 0x2140
leaq 0x460(%rsp), %rdi
callq 0x2140
leaq 0x480(%rsp), %rdi
callq 0x2140
leaq 0x4a0(%rsp), %rdi
callq 0x2180
leaq 0x628(%rsp), %rdi
callq 0x2180
leaq 0x7b0(%rsp), %rdi
callq 0x2180
jmp 0xc6ee
movq 0x1c8(%rsp), %rdi
addq $0x270, %rdi            # imm = 0x270
leaq 0x1090(%rsp), %rsi
callq 0x2040
jmp 0xc6d2
leaq 0x1090(%rsp), %rdi
callq 0x2260
leaq 0x1090(%rsp), %rdi
callq 0x2140
jmp 0xc6fd
leaq 0x1090(%rsp), %rdi
callq 0x2140
jmp 0xc712
leaq 0x1d80(%rsp), %rdi
callq 0x2140
addq $0x1da8, %rsp           # imm = 0x1DA8
retq
leaq 0x1d80(%rsp), %rdi
callq 0x2140
movq 0x1ca8(%rsp), %rdi
callq 0x2350
nopl (%rax)