// File: /workspace/github_cpp_makefile_star2_O2/mororo18[P]simplex-method/src/main.cpp
// Function: main
int main(){

    /* =========== MODEL 01 ============*/
    

    {
        const int n_var = 2;
        
        // init with the solver and qnt of variables
        Model model(simplex(), n_var);

        // def the problem type
        model.def("min");

        /* =========== OBJECTIVE FUNCTION ============*/

        // declares the O.F. 
        Model::obj_func func(n_var);

        // add the coeficients
        func.coef_add(0.4);
        func.coef_add(0.5);

        // add the variables names
        func.var_add("X_1");
        func.var_add("X_2");

        //func.print();

        // add the F.O. to the model
        model.func_add(func);

        /* =========== CONSTRAINTS ============*/

        Model::cstr cstr_01;

        // def the type of cstr
        cstr_01.type_def("leq");

        //add the coeficients of the constraint sequentially
        cstr_01.coef_add(0.3);
        cstr_01.coef_add(0.1);

        // add the cstr value
        cstr_01.value_add(2.7);


        Model::cstr cstr_02;

        cstr_02.type_def("eq");

        cstr_02.coef_add(0.5);
        cstr_02.coef_add(0.5);

        cstr_02.value_add(6);



        Model::cstr cstr_03;

        cstr_03.type_def("geq");

        cstr_03.coef_add(0.6);
        cstr_03.coef_add(0.4);

        cstr_03.value_add(6);


        // add the cstrs to the model
        model.cstr_add(cstr_01);
        model.cstr_add(cstr_02);
        model.cstr_add(cstr_03);

        model.print_model();

        //model.tableau_print();
        model.solve();
        model.print_solution();

        model.analyse();

        model.print_analysis();

        //model.print();
        //model.tableau_print();

        const char * f_name = "results/example1.txt";
        std::ofstream file {f_name};

        std::ofstream o_file;
        o_file.open(f_name, std::ios::in );
        if(file.is_open()){
            o_file << model.output_get();
            o_file.close();
        }
    }

    /* =========== MODEL 02 ============*/

    {
        const int n_var = 2;
        
        // init with the solver and qnt of variables
        Model model(simplex(), n_var);
        // def the problem type
        model.def("max");

        /* =========== OBJECTIVE FUNCTION ============*/

        // declares the O.F. 
        Model::obj_func func(n_var);

        // add the coeficients
        func.coef_add(3);
        func.coef_add(5);

        // add the variables names
        func.var_add("X_1");
        func.var_add("X_2");

        //func.print();

        // add the F.O. to the model
        model.func_add(func);

        /* =========== CONSTRAINTS ============*/

        Model::cstr cstr_01;

        // def the type of cstr
        cstr_01.type_def("leq");

        //add the coeficients of the constraint sequentially
        cstr_01.coef_add(1);
        cstr_01.coef_add(0);

        // add the cstr value
        cstr_01.value_add(4);


        Model::cstr cstr_02;

        cstr_02.type_def("leq");

        cstr_02.coef_add(0);
        cstr_02.coef_add(2);

        cstr_02.value_add(24);



        Model::cstr cstr_03;

        cstr_03.type_def("leq");

        cstr_03.coef_add(3);
        cstr_03.coef_add(2);

        cstr_03.value_add(18);


        Model::cstr cstr_04;

        cstr_04.type_def("leq");

        cstr_04.coef_add(2);
        cstr_04.coef_add(3);

        cstr_04.value_add(24);

        // add the cstrs to the model
        model.cstr_add(cstr_01);
        model.cstr_add(cstr_02);
        model.cstr_add(cstr_03);

        model.analyse_add(cstr_04);


        //model.tableau_print();
        model.solve();
        std::cout << std::endl;

        model.analyse();
        //model.tableau_print();

        // PROBLEMA DE ALOCACAO AQUI
        model.analyse_reopt();

        model.print();
        //model.print_mod();
        //model.tableau_print();

        const char * f_name = "results/example2.txt";
        const char * f_name_mod = "results/example2_mod.txt";
        
        std::ofstream file {f_name};
        std::ofstream file_mod {f_name_mod};

        std::ofstream o_file;
        o_file.open(f_name, std::ios::in );
        if(file.is_open()){
            o_file << model.output_get();
            o_file.close();
        }

        o_file.open(f_name_mod, std::ios::in );
        if(file.is_open()){
            o_file << model.output_mod_get();
            o_file.close();
        }
    }

    /* =========== MODEL n ============*/

    {
        const int n_var = 6;

        // data
        std::vector<int> OF_coef = { 4, 8, 6, 4, 3, 9}; 
        std::vector<std::vector<int>> EQ_m = {
            {1, 1, 0, 0, 0, 0},
            {0, 0, 1, 1, 0, 0},
            {0, 0, 0, 0, 1, 1}
        };

        std::vector<int> EQ_v = {500, 1200, 1800};

        std::vector<std::vector<int>> LEQ_m = {
            {1, 0, 1, 0, 1, 0},
            {0, 1, 0, 1, 0, 1},
            {1, 0, 0, 0, 0, 0},
            {0, 1, 0, 0, 0, 0},
            {0, 0, 1, 0, 0, 0},
            {0, 0, 0, 1, 0, 0},
            {0, 0, 0, 0, 1, 0},
            {0, 0, 0, 0, 0, 1},
        };

        std::vector<int> LEQ_v = {2000, 2000, 300, 300, 720, 720, 1080, 1080};

        std::vector<std::vector<int>> GEQ_m = {
            {1, 0, 1, 0, 1, 0},
            {0, 1, 0, 1, 0, 1}
        };

        std::vector<int> GEQ_v = {1400, 1400};
        // init with the solver and qnt of variables
        Model model(simplex(), n_var);

        // def the problem type
        model.def("max");

        /* =========== OBJECTIVE FUNCTION ============*/

        // declares the O.F. 
        Model::obj_func func(n_var);

        char buf[100];
        for(int i = 0; i < OF_coef.size(); i++){

            sprintf(buf, "X_%d", i+1);

            // add the coeficients
            func.coef_add(OF_coef[i]);
            // add the variables names
            func.var_add(buf);
        }

        // add the F.O. to the model
        model.func_add(func);

        /* =========== CONSTRAINTS ============*/

        for(int i = 0; i < EQ_m.size(); i++){
            Model::cstr cstr;
            cstr.type_def("eq");
            cstr.value_add(EQ_v[i]);
            for(int j = 0; j < EQ_m[0].size(); j++){
                cstr.coef_add(EQ_m[i][j]);
            }
            // add the cstrs to the model
            model.cstr_add(cstr);

        }

        for(int i = 0; i < LEQ_m.size(); i++){
            Model::cstr cstr;
            cstr.type_def("leq");
            cstr.value_add(LEQ_v[i]);
            for(int j = 0; j < LEQ_m[0].size(); j++){
                cstr.coef_add(LEQ_m[i][j]);
            }
            model.cstr_add(cstr);
        }

        for(int i = 0; i < GEQ_m.size(); i++){
            Model::cstr cstr;
            cstr.type_def("geq");
            cstr.value_add(GEQ_v[i]);
            for(int j = 0; j < GEQ_m[0].size(); j++){
                cstr.coef_add(GEQ_m[i][j]);
            }
            model.cstr_add(cstr);
        }

        model.print_model();

        model.solve();
        model.print_solution();

        model.analyse();
        model.print_analysis();

        //model.print();

        const char * f_name = "results/example3.txt";
        std::ofstream file {f_name};

        std::ofstream o_file;
        o_file.open(f_name, std::ios::in );
        if(file.is_open()){
            o_file << model.output_get();
            o_file.close();
        }
    }

    return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xfb8, %rsp            # imm = 0xFB8
callq 0xb233
leaq 0x330(%rsp), %rdi
pushq $0x2
popq %rdx
movq %rax, %rsi
callq 0x4468
leaq 0x9be4(%rip), %rsi      # 0xc090
leaq 0x310(%rsp), %rdi
leaq 0x5e0(%rsp), %rdx
callq 0x20b0
leaq 0x330(%rsp), %rdi
leaq 0x310(%rsp), %rsi
callq 0x49d2
leaq 0x310(%rsp), %rdi
callq 0x20e0
leaq 0xc8(%rsp), %rdi
pushq $0x2
popq %rsi
callq 0x8f62
leaq 0xc8(%rsp), %rdi
movsd 0x9b05(%rip), %xmm0     # 0xc008
callq 0x9000
leaq 0xc8(%rsp), %rdi
movsd 0x9af8(%rip), %xmm0     # 0xc010
callq 0x9000
leaq 0x9b70(%rip), %rsi      # 0xc094
leaq 0xc8(%rsp), %rdi
callq 0x8f74
leaq 0x9b60(%rip), %rsi      # 0xc098
leaq 0xc8(%rsp), %rdi
callq 0x8f74
leaq 0x850(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
callq 0x3e32
leaq 0x330(%rsp), %rdi
leaq 0x850(%rsp), %rsi
callq 0x4a40
leaq 0x850(%rsp), %rdi
callq 0x3e7e
leaq 0xaf0(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x20(%rax)
andq $0x0, 0x30(%rax)
leaq 0x9af7(%rip), %rsi      # 0xc09c
leaq 0x2f0(%rsp), %rdi
leaq 0x5e0(%rsp), %rdx
callq 0x20b0
leaq 0xae0(%rsp), %rdi
leaq 0x2f0(%rsp), %rsi
callq 0x9092
leaq 0x2f0(%rsp), %rdi
callq 0x20e0
leaq 0xae0(%rsp), %rdi
movsd 0x9a2c(%rip), %xmm0     # 0xc018
callq 0x9134
leaq 0xae0(%rsp), %rdi
movsd 0x9a1f(%rip), %xmm0     # 0xc020
callq 0x9134
leaq 0xae0(%rsp), %rdi
movsd 0x9a12(%rip), %xmm0     # 0xc028
callq 0x9148
leaq 0x40(%rsp), %rbx
movq %rbx, -0x10(%rbx)
andq $0x0, -0x8(%rbx)
movb $0x0, (%rbx)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x20(%rbx)
andq $0x0, 0x30(%rbx)
leaq 0x9a60(%rip), %rsi      # 0xc0a1
leaq 0x2d0(%rsp), %rdi
leaq 0x5e0(%rsp), %rdx
callq 0x20b0
leaq 0x30(%rsp), %rdi
leaq 0x2d0(%rsp), %rsi
callq 0x9092
leaq 0x2d0(%rsp), %rdi
callq 0x20e0
leaq 0x30(%rsp), %rdi
movsd 0x998e(%rip), %xmm0     # 0xc010
callq 0x9134
leaq 0x30(%rsp), %rdi
movsd 0x997c(%rip), %xmm0     # 0xc010
callq 0x9134
leaq 0x30(%rsp), %rdi
movsd 0x998a(%rip), %xmm0     # 0xc030
callq 0x9148
leaq 0x90(%rsp), %r14
movq %r14, -0x10(%r14)
andq $0x0, -0x8(%r14)
movb $0x0, (%r14)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x20(%r14)
andq $0x0, 0x30(%r14)
leaq 0x99ca(%rip), %rsi      # 0xc0a0
leaq 0x2b0(%rsp), %rdi
leaq 0x5e0(%rsp), %rdx
callq 0x20b0
leaq 0x80(%rsp), %rdi
leaq 0x2b0(%rsp), %rsi
callq 0x9092
leaq 0x2b0(%rsp), %rdi
callq 0x20e0
leaq 0x80(%rsp), %rdi
movsd 0x991b(%rip), %xmm0     # 0xc038
callq 0x9134
leaq 0x80(%rsp), %rdi
movsd 0x98d6(%rip), %xmm0     # 0xc008
callq 0x9134
leaq 0x80(%rsp), %rdi
movsd 0x98e9(%rip), %xmm0     # 0xc030
callq 0x9148
leaq 0xa98(%rsp), %rdi
leaq 0xae0(%rsp), %rsi
callq 0x3e98
leaq 0x330(%rsp), %rdi
leaq 0xa98(%rsp), %rsi
callq 0x4ad6
leaq 0xa98(%rsp), %rdi
callq 0x3edc
leaq 0xa50(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x3e98
leaq 0x330(%rsp), %rdi
leaq 0xa50(%rsp), %rsi
callq 0x4ad6
leaq 0xa50(%rsp), %rdi
callq 0x3edc
leaq 0xa08(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x3e98
leaq 0x330(%rsp), %rdi
leaq 0xa08(%rsp), %rsi
callq 0x4ad6
leaq 0xa08(%rsp), %rdi
callq 0x3edc
leaq 0x330(%rsp), %rdi
callq 0x8ed2
leaq 0x330(%rsp), %rdi
callq 0x8c26
leaq 0x330(%rsp), %rdi
callq 0x8f12
leaq 0x330(%rsp), %rdi
callq 0x574e
leaq 0x330(%rsp), %rdi
callq 0x8f3a
leaq 0x986e(%rip), %rsi      # 0xc0a4
leaq 0x5e0(%rsp), %rdi
pushq $0x10
popq %rdx
callq 0x21b0
leaq 0xce0(%rsp), %rdi
callq 0x22b0
leaq 0x984a(%rip), %rsi      # 0xc0a4
leaq 0xce0(%rsp), %rdi
pushq $0x8
popq %rdx
callq 0x2030
leaq 0x650(%rsp), %rdi
callq 0x2060
testb %al, %al
je 0x28bf
leaq 0x130(%rsp), %rdi
leaq 0x330(%rsp), %rsi
callq 0x8d5a
leaq 0xce0(%rsp), %rdi
leaq 0x130(%rsp), %rsi
callq 0x2170
leaq 0x130(%rsp), %rdi
callq 0x20e0
leaq 0xce0(%rsp), %rdi
callq 0x2210
leaq 0xce0(%rsp), %rdi
callq 0x2230
leaq 0x5e0(%rsp), %rdi
callq 0x2230
leaq 0x80(%rsp), %rdi
callq 0x3edc
leaq 0x30(%rsp), %rdi
callq 0x3edc
leaq 0xae0(%rsp), %rdi
callq 0x3edc
leaq 0xc8(%rsp), %rdi
callq 0x3e7e
leaq 0x330(%rsp), %rdi
callq 0x4568
callq 0xb233
leaq 0x330(%rsp), %rdi
pushq $0x2
popq %rdx
movq %rax, %rsi
callq 0x4468
leaq 0x9783(%rip), %rsi      # 0xc0b9
leaq 0x290(%rsp), %rdi
leaq 0x5e0(%rsp), %rdx
callq 0x20b0
leaq 0x330(%rsp), %rdi
leaq 0x290(%rsp), %rsi
callq 0x49d2
leaq 0x290(%rsp), %rdi
callq 0x20e0
leaq 0x178(%rsp), %rdi
pushq $0x2
popq %rsi
callq 0x8f62
leaq 0x178(%rsp), %rdi
movsd 0x96b3(%rip), %xmm0     # 0xc040
callq 0x9000
leaq 0x178(%rsp), %rdi
movsd 0x96a6(%rip), %xmm0     # 0xc048
callq 0x9000
leaq 0x96e6(%rip), %rsi      # 0xc094
leaq 0x178(%rsp), %rdi
callq 0x8f74
leaq 0x96d6(%rip), %rsi      # 0xc098
leaq 0x178(%rsp), %rdi
callq 0x8f74
leaq 0x818(%rsp), %rdi
leaq 0x178(%rsp), %rsi
callq 0x3e32
leaq 0x330(%rsp), %rdi
leaq 0x818(%rsp), %rsi
callq 0x4a40
leaq 0x818(%rsp), %rdi
callq 0x3e7e
movq %rbx, 0x30(%rsp)
andq $0x0, 0x38(%rsp)
movb $0x0, 0x40(%rsp)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x60(%rsp)
andq $0x0, 0x70(%rsp)
leaq 0x966f(%rip), %rsi      # 0xc09c
leaq 0x270(%rsp), %rdi
leaq 0x5e0(%rsp), %rdx
callq 0x20b0
leaq 0x30(%rsp), %rdi
leaq 0x270(%rsp), %rsi
callq 0x9092
leaq 0x270(%rsp), %rdi
callq 0x20e0
leaq 0x30(%rsp), %rdi
movsd 0x95e2(%rip), %xmm0     # 0xc050
callq 0x9134
leaq 0x30(%rsp), %rdi
xorpd %xmm0, %xmm0
callq 0x9134
leaq 0x30(%rsp), %rdi
movsd 0x95ca(%rip), %xmm0     # 0xc058
callq 0x9148
movq %r14, 0x80(%rsp)
andq $0x0, 0x88(%rsp)
movb $0x0, 0x90(%rsp)
xorpd %xmm0, %xmm0
movupd %xmm0, 0xb0(%rsp)
andq $0x0, 0xc0(%rsp)
leaq 0x95d3(%rip), %rsi      # 0xc09c
leaq 0x250(%rsp), %rdi
leaq 0x5e0(%rsp), %rdx
callq 0x20b0
leaq 0x80(%rsp), %rdi
leaq 0x250(%rsp), %rsi
callq 0x9092
leaq 0x250(%rsp), %rdi
callq 0x20e0
leaq 0x80(%rsp), %rdi
xorpd %xmm0, %xmm0
callq 0x9134
leaq 0x80(%rsp), %rdi
movsd 0x953f(%rip), %xmm0     # 0xc060
callq 0x9134
leaq 0x80(%rsp), %rdi
movsd 0x9532(%rip), %xmm0     # 0xc068
callq 0x9148
leaq 0xd8(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x20(%rax)
andq $0x0, 0x30(%rax)
leaq 0x9538(%rip), %rsi      # 0xc09c
leaq 0x230(%rsp), %rdi
leaq 0x5e0(%rsp), %rdx
callq 0x20b0
leaq 0xc8(%rsp), %rdi
leaq 0x230(%rsp), %rsi
callq 0x9092
leaq 0x230(%rsp), %rdi
callq 0x20e0
leaq 0xc8(%rsp), %rdi
movsd 0x9495(%rip), %xmm0     # 0xc040
callq 0x9134
leaq 0xc8(%rsp), %rdi
movsd 0x94a0(%rip), %xmm0     # 0xc060
callq 0x9134
leaq 0xc8(%rsp), %rdi
movsd 0x949b(%rip), %xmm0     # 0xc070
callq 0x9148
leaq 0x140(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x20(%rax)
andq $0x0, 0x30(%rax)
leaq 0x9499(%rip), %rsi      # 0xc09c
leaq 0x210(%rsp), %rdi
leaq 0x5e0(%rsp), %rdx
callq 0x20b0
leaq 0x130(%rsp), %rdi
leaq 0x210(%rsp), %rsi
callq 0x9092
leaq 0x210(%rsp), %rdi
callq 0x20e0
leaq 0x130(%rsp), %rdi
movsd 0x9416(%rip), %xmm0     # 0xc060
callq 0x9134
leaq 0x130(%rsp), %rdi
movsd 0x93e1(%rip), %xmm0     # 0xc040
callq 0x9134
leaq 0x130(%rsp), %rdi
movsd 0x93f4(%rip), %xmm0     # 0xc068
callq 0x9148
leaq 0x9c0(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x3e98
leaq 0x330(%rsp), %rdi
leaq 0x9c0(%rsp), %rsi
callq 0x4ad6
leaq 0x9c0(%rsp), %rdi
callq 0x3edc
leaq 0x978(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x3e98
leaq 0x330(%rsp), %rdi
leaq 0x978(%rsp), %rsi
callq 0x4ad6
leaq 0x978(%rsp), %rdi
callq 0x3edc
leaq 0x930(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
callq 0x3e98
leaq 0x330(%rsp), %rdi
leaq 0x930(%rsp), %rsi
callq 0x4ad6
leaq 0x930(%rsp), %rdi
callq 0x3edc
leaq 0x8e8(%rsp), %rdi
leaq 0x130(%rsp), %rsi
callq 0x3e98
leaq 0x330(%rsp), %rdi
leaq 0x8e8(%rsp), %rsi
callq 0x4b66
leaq 0x8e8(%rsp), %rdi
callq 0x3edc
leaq 0x330(%rsp), %rdi
callq 0x8c26
movq 0xf272(%rip), %rdi      # 0x11fd8
callq 0x20f0
leaq 0x330(%rsp), %rdi
callq 0x574e
leaq 0x330(%rsp), %rdi
callq 0x70a6
leaq 0x330(%rsp), %rdi
callq 0x8e26
leaq 0x9324(%rip), %rsi      # 0xc0bd
leaq 0x5e0(%rsp), %rdi
pushq $0x10
popq %rdx
callq 0x21b0
leaq 0x9322(%rip), %rsi      # 0xc0d2
leaq 0xce0(%rsp), %rdi
pushq $0x10
popq %rdx
callq 0x21b0
leaq 0xae0(%rsp), %rdi
callq 0x22b0
leaq 0x92e9(%rip), %rsi      # 0xc0bd
leaq 0xae0(%rsp), %rdi
pushq $0x8
popq %rdx
callq 0x2030
leaq 0x650(%rsp), %rbx
movq %rbx, %rdi
callq 0x2060
testb %al, %al
je 0x2e33
leaq 0x10(%rsp), %rdi
leaq 0x330(%rsp), %rsi
callq 0x8d5a
leaq 0xae0(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x2170
leaq 0x10(%rsp), %rdi
callq 0x20e0
leaq 0xae0(%rsp), %rdi
callq 0x2210
leaq 0x9298(%rip), %rsi      # 0xc0d2
leaq 0xae0(%rsp), %rdi
pushq $0x8
popq %rdx
callq 0x2030
movq %rbx, %rdi
callq 0x2060
testb %al, %al
je 0x2e91
leaq 0x10(%rsp), %rdi
leaq 0x330(%rsp), %rsi
callq 0x8dc0
leaq 0xae0(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x2170
leaq 0x10(%rsp), %rdi
callq 0x20e0
leaq 0xae0(%rsp), %rdi
callq 0x2210
leaq 0xae0(%rsp), %rdi
callq 0x2230
leaq 0xce0(%rsp), %rdi
callq 0x2230
leaq 0x5e0(%rsp), %rdi
callq 0x2230
leaq 0x130(%rsp), %rdi
callq 0x3edc
leaq 0xc8(%rsp), %rdi
callq 0x3edc
leaq 0x80(%rsp), %rdi
callq 0x3edc
leaq 0x30(%rsp), %rdi
callq 0x3edc
leaq 0x178(%rsp), %rdi
callq 0x3e7e
leaq 0x330(%rsp), %rbx
movq %rbx, %rdi
callq 0x4568
movupd 0x922a(%rip), %xmm0     # 0xc138
movapd %xmm0, (%rbx)
movabsq $0x900000003, %rax      # imm = 0x900000003
movq %rax, 0x10(%rbx)
leaq 0xc8(%rsp), %rdi
leaq 0x330(%rsp), %rsi
pushq $0x6
popq %rdx
leaq 0x5e0(%rsp), %rcx
callq 0x3ef2
movupd 0x9208(%rip), %xmm0     # 0xc150
leaq 0x5e0(%rsp), %rsi
movapd %xmm0, (%rsi)
andq $0x0, 0x10(%rsi)
leaq 0x330(%rsp), %r14
pushq $0x6
popq %rdx
leaq 0x30(%rsp), %rcx
movq %r14, %rdi
callq 0x3ef2
leaq 0x348(%rsp), %r15
movupd 0x91e7(%rip), %xmm0     # 0xc168
leaq 0xce0(%rsp), %rsi
movapd %xmm0, (%rsi)
andq $0x0, 0x10(%rsi)
pushq $0x6
popq %rdx
leaq 0x80(%rsp), %rcx
movq %r15, %rdi
callq 0x3ef2
leaq 0x360(%rsp), %r15
movupd 0x91cb(%rip), %xmm0     # 0xc180
leaq 0xae0(%rsp), %rsi
movapd %xmm0, (%rsi)
movabsq $0x100000001, %rax      # imm = 0x100000001
movq %rax, 0x10(%rsi)
pushq $0x6
popq %rdx
leaq 0x178(%rsp), %rcx
movq %r15, %rdi
callq 0x3ef2
leaq 0x130(%rsp), %rdi
leaq 0x330(%rsp), %rsi
pushq $0x3
popq %rdx
leaq 0x10(%rsp), %rcx
callq 0x3f28
pushq $0x30
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x330, %rdi            # imm = 0x330
callq 0x4226
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x3002
movabsq $0x4b0000001f4, %rax    # imm = 0x4B0000001F4
leaq 0x330(%rsp), %rsi
movq %rax, (%rsi)
movl $0x708, 0x8(%rsi)       # imm = 0x708
leaq 0x178(%rsp), %rdi
pushq $0x3
popq %rdx
leaq 0x5e0(%rsp), %rcx
callq 0x3ef2
movupd 0x91d0(%rip), %xmm0     # 0xc228
leaq 0x5e0(%rsp), %rsi
movapd %xmm0, (%rsi)
movq $0x1, 0x10(%rsi)
leaq 0x330(%rsp), %r14
pushq $0x6
popq %rdx
leaq 0xf(%rsp), %rcx
movq %r14, %rdi
callq 0x3ef2
leaq 0x348(%rsp), %r15
movupd 0x91ac(%rip), %xmm0     # 0xc240
leaq 0xce0(%rsp), %rsi
movapd %xmm0, (%rsi)
movabsq $0x100000000, %rbx      # imm = 0x100000000
movq %rbx, 0x10(%rsi)
pushq $0x6
popq %rdx
leaq 0xe(%rsp), %rcx
movq %r15, %rdi
callq 0x3ef2
leaq 0x360(%rsp), %r15
movupd 0x90ca(%rip), %xmm0     # 0xc198
leaq 0xae0(%rsp), %rsi
movapd %xmm0, (%rsi)
andq $0x0, 0x10(%rsi)
pushq $0x6
popq %rdx
leaq 0xd(%rsp), %rcx
movq %r15, %rdi
callq 0x3ef2
leaq 0x378(%rsp), %r15
movupd 0x90b1(%rip), %xmm0     # 0xc1b0
leaq 0x30(%rsp), %rsi
movapd %xmm0, (%rsi)
andq $0x0, 0x10(%rsi)
pushq $0x6
popq %rdx
leaq 0xc(%rsp), %rcx
movq %r15, %rdi
callq 0x3ef2
leaq 0x390(%rsp), %r15
movupd 0x909b(%rip), %xmm0     # 0xc1c8
leaq 0x80(%rsp), %rsi
movapd %xmm0, (%rsi)
andq $0x0, 0x10(%rsi)
pushq $0x6
popq %rdx
leaq 0xb(%rsp), %rcx
movq %r15, %rdi
callq 0x3ef2
leaq 0x3a8(%rsp), %r15
movupd 0x9082(%rip), %xmm0     # 0xc1e0
leaq 0x1d0(%rsp), %rsi
movapd %xmm0, (%rsi)
andq $0x0, 0x10(%rsi)
pushq $0x6
popq %rdx
leaq 0xa(%rsp), %rcx
movq %r15, %rdi
callq 0x3ef2
leaq 0x3c0(%rsp), %r15
movupd 0x9069(%rip), %xmm0     # 0xc1f8
leaq 0x110(%rsp), %rsi
movapd %xmm0, (%rsi)
movq $0x1, 0x10(%rsi)
pushq $0x6
popq %rdx
leaq 0x9(%rsp), %rcx
movq %r15, %rdi
callq 0x3ef2
leaq 0x3d8(%rsp), %r15
movupd 0x904d(%rip), %xmm0     # 0xc210
leaq 0x1b0(%rsp), %rsi
movapd %xmm0, (%rsi)
movq %rbx, 0x10(%rsi)
pushq $0x6
popq %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
callq 0x3ef2
leaq 0x10(%rsp), %rdi
leaq 0x330(%rsp), %rsi
pushq $0x8
popq %rdx
leaq 0x7(%rsp), %rcx
callq 0x3f28
movl $0xa8, %r14d
leaq (%rsp,%r14), %rdi
addq $0x330, %rdi            # imm = 0x330
callq 0x4226
addq $-0x18, %r14
cmpq $-0x18, %r14
jne 0x3203
movups 0x9044(%rip), %xmm0     # 0xc268
leaq 0x330(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movupd 0x9020(%rip), %xmm0     # 0xc258
movapd %xmm0, (%rsi)
leaq 0x1d0(%rsp), %rdi
pushq $0x8
popq %rdx
leaq 0x5e0(%rsp), %rcx
callq 0x3ef2
leaq 0x5e0(%rsp), %rsi
movupd 0x8fc4(%rip), %xmm0     # 0xc228
movapd %xmm0, (%rsi)
movq $0x1, 0x10(%rsi)
leaq 0x330(%rsp), %rdi
pushq $0x6
popq %rdx
leaq 0xae0(%rsp), %rcx
callq 0x3ef2
leaq 0x348(%rsp), %rdi
leaq 0xce0(%rsp), %rsi
movupd 0x8fa0(%rip), %xmm0     # 0xc240
movapd %xmm0, (%rsi)
movq %rbx, 0x10(%rsi)
pushq $0x6
popq %rdx
leaq 0x30(%rsp), %rcx
callq 0x3ef2
leaq 0x110(%rsp), %rdi
leaq 0x330(%rsp), %rsi
pushq $0x2
popq %rdx
leaq 0x80(%rsp), %rcx
callq 0x3f28
pushq $0x18
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x330, %rdi            # imm = 0x330
callq 0x4226
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x32d8
movabsq $0x57800000578, %rax    # imm = 0x57800000578
leaq 0x330(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x1b0(%rsp), %rdi
pushq $0x2
popq %rdx
leaq 0x5e0(%rsp), %rcx
callq 0x3ef2
callq 0xb233
leaq 0x330(%rsp), %rdi
pushq $0x6
popq %rdx
movq %rax, %rsi
callq 0x4468
leaq 0x8d7b(%rip), %rsi      # 0xc0b9
leaq 0x1f0(%rsp), %rdi
leaq 0x5e0(%rsp), %rdx
callq 0x20b0
leaq 0x330(%rsp), %rdi
leaq 0x1f0(%rsp), %rsi
callq 0x49d2
leaq 0x1f0(%rsp), %rdi
callq 0x20e0
leaq 0x30(%rsp), %rdi
pushq $0x6
popq %rsi
callq 0x8f62
leaq 0x8d62(%rip), %rbx      # 0xc0eb
leaq 0xae0(%rsp), %r14
leaq 0x30(%rsp), %r15
xorl %r12d, %r12d
movq 0xd0(%rsp), %rax
subq 0xc8(%rsp), %rax
sarq $0x2, %rax
cmpq %r12, %rax
jbe 0x33ea
leal 0x1(%r12), %edx
movq %r14, %rdi
movq %rbx, %rsi
xorl %eax, %eax
callq 0x2050
movq 0xc8(%rsp), %rax
cvtsi2sdl (%rax,%r12,4), %xmm0
movq %r15, %rdi
callq 0x9000
incq %r12
movq %r15, %rdi
movq %r14, %rsi
callq 0x8f74
jmp 0x3399
leaq 0x7e0(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x3e32
leaq 0x330(%rsp), %rdi
leaq 0x7e0(%rsp), %rsi
callq 0x4a40
leaq 0x7e0(%rsp), %rdi
callq 0x3e7e
xorl %ebp, %ebp
leaq 0x8c8(%rsp), %r14
leaq 0x5e0(%rsp), %r12
leaq 0xf70(%rsp), %rbx
movq 0x138(%rsp), %rax
subq 0x130(%rsp), %rax
cqto
pushq $0x18
popq %rcx
idivq %rcx
cmpq %rbp, %rax
jbe 0x3536
leaq 0x5f0(%rsp), %rax
movq %rax, 0x5e0(%rsp)
andq $0x0, 0x5e8(%rsp)
movb $0x0, 0x5f0(%rsp)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x20(%rax)
andq $0x0, 0x30(%rax)
movq %r14, %rdi
leaq 0x8c0f(%rip), %rsi      # 0xc0a1
leaq 0xce0(%rsp), %rdx
callq 0x20b0
movq %r12, %rdi
movq %r14, %rsi
callq 0x9092
movq %r14, %r13
movq %r14, %rdi
callq 0x20e0
movq 0x178(%rsp), %rax
cvtsi2sdl (%rax,%rbp,4), %xmm0
movq %r12, %rdi
callq 0x9148
imulq $0x18, %rbp, %r15
xorl %r14d, %r14d
movq 0x130(%rsp), %rax
movq 0x8(%rax), %rcx
subq (%rax), %rcx
sarq $0x2, %rcx
cmpq %r14, %rcx
jbe 0x3500
movq (%rax,%r15), %rax
cvtsi2sdl (%rax,%r14,4), %xmm0
movq %r12, %rdi
callq 0x9134
incq %r14
jmp 0x34d1
movq %rbx, %rdi
movq %r12, %rsi
callq 0x3e98
leaq 0x330(%rsp), %rdi
movq %rbx, %rsi
callq 0x4ad6
movq %r13, %r14
movq %rbx, %rdi
callq 0x3edc
movq %r12, %rdi
callq 0x3edc
incq %rbp
jmp 0x3438
xorl %ebp, %ebp
leaq 0x8a8(%rsp), %r14
leaq 0x5e0(%rsp), %r12
leaq 0xf28(%rsp), %rbx
movq 0x18(%rsp), %rax
subq 0x10(%rsp), %rax
cqto
pushq $0x18
popq %rcx
idivq %rcx
cmpq %rbp, %rax
jbe 0x3645
leaq 0x5f0(%rsp), %rax
movq %rax, 0x5e0(%rsp)
andq $0x0, 0x5e8(%rsp)
movb $0x0, 0x5f0(%rsp)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x20(%rax)
andq $0x0, 0x30(%rax)
movq %r14, %rdi
leaq 0x8af8(%rip), %rsi      # 0xc09c
leaq 0xce0(%rsp), %rdx
callq 0x20b0
movq %r12, %rdi
movq %r14, %rsi
callq 0x9092
movq %r14, %r13
movq %r14, %rdi
callq 0x20e0
movq 0x1d0(%rsp), %rax
cvtsi2sdl (%rax,%rbp,4), %xmm0
movq %r12, %rdi
callq 0x9148
imulq $0x18, %rbp, %r15
xorl %r14d, %r14d
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rcx
subq (%rax), %rcx
sarq $0x2, %rcx
cmpq %r14, %rcx
jbe 0x360f
movq (%rax,%r15), %rax
cvtsi2sdl (%rax,%r14,4), %xmm0
movq %r12, %rdi
callq 0x9134
incq %r14
jmp 0x35e3
movq %rbx, %rdi
movq %r12, %rsi
callq 0x3e98
leaq 0x330(%rsp), %rdi
movq %rbx, %rsi
callq 0x4ad6
movq %r13, %r14
movq %rbx, %rdi
callq 0x3edc
movq %r12, %rdi
callq 0x3edc
incq %rbp
jmp 0x3550
xorl %ebp, %ebp
leaq 0x888(%rsp), %r14
leaq 0x5e0(%rsp), %r12
leaq 0xee0(%rsp), %rbx
movq 0x118(%rsp), %rax
subq 0x110(%rsp), %rax
cqto
pushq $0x18
popq %rcx
idivq %rcx
cmpq %rbp, %rax
jbe 0x375d
leaq 0x5f0(%rsp), %rax
movq %rax, 0x5e0(%rsp)
andq $0x0, 0x5e8(%rsp)
movb $0x0, 0x5f0(%rsp)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x20(%rax)
andq $0x0, 0x30(%rax)
movq %r14, %rdi
leaq 0x89e7(%rip), %rsi      # 0xc0a0
leaq 0xce0(%rsp), %rdx
callq 0x20b0
movq %r12, %rdi
movq %r14, %rsi
callq 0x9092
movq %r14, %r13
movq %r14, %rdi
callq 0x20e0
movq 0x1b0(%rsp), %rax
cvtsi2sdl (%rax,%rbp,4), %xmm0
movq %r12, %rdi
callq 0x9148
imulq $0x18, %rbp, %r15
xorl %r14d, %r14d
movq 0x110(%rsp), %rax
movq 0x8(%rax), %rcx
subq (%rax), %rcx
sarq $0x2, %rcx
cmpq %r14, %rcx
jbe 0x3727
movq (%rax,%r15), %rax
cvtsi2sdl (%rax,%r14,4), %xmm0
movq %r12, %rdi
callq 0x9134
incq %r14
jmp 0x36f8
movq %rbx, %rdi
movq %r12, %rsi
callq 0x3e98
leaq 0x330(%rsp), %rdi
movq %rbx, %rsi
callq 0x4ad6
movq %r13, %r14
movq %rbx, %rdi
callq 0x3edc
movq %r12, %rdi
callq 0x3edc
incq %rbp
jmp 0x365f
leaq 0x330(%rsp), %rdi
callq 0x8ed2
leaq 0x330(%rsp), %rdi
callq 0x8c26
leaq 0x330(%rsp), %rdi
callq 0x8f12
leaq 0x330(%rsp), %rdi
callq 0x574e
leaq 0x330(%rsp), %rdi
callq 0x8f3a
leaq 0x894b(%rip), %rsi      # 0xc0f0
leaq 0x5e0(%rsp), %rdi
pushq $0x10
popq %rdx
callq 0x21b0
leaq 0xce0(%rsp), %rdi
callq 0x22b0
leaq 0x8927(%rip), %rsi      # 0xc0f0
leaq 0xce0(%rsp), %rdi
pushq $0x8
popq %rdx
callq 0x2030
leaq 0x650(%rsp), %rdi
callq 0x2060
testb %al, %al
je 0x382e
leaq 0x80(%rsp), %rdi
leaq 0x330(%rsp), %rsi
callq 0x8d5a
leaq 0xce0(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x2170
leaq 0x80(%rsp), %rdi
callq 0x20e0
leaq 0xce0(%rsp), %rdi
callq 0x2210
leaq 0xce0(%rsp), %rdi
callq 0x2230
leaq 0x5e0(%rsp), %rdi
callq 0x2230
leaq 0x30(%rsp), %rdi
callq 0x3e7e
leaq 0x330(%rsp), %rdi
callq 0x4568
leaq 0x1b0(%rsp), %rdi
callq 0x4226
leaq 0x110(%rsp), %rdi
callq 0x3f62
leaq 0x1d0(%rsp), %rdi
callq 0x4226
leaq 0x10(%rsp), %rdi
callq 0x3f62
leaq 0x178(%rsp), %rdi
callq 0x4226
leaq 0x130(%rsp), %rdi
callq 0x3f62
leaq 0xc8(%rsp), %rdi
callq 0x4226
xorl %eax, %eax
addq $0xfb8, %rsp            # imm = 0xFB8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0x80(%rsp), %rdi
callq 0x20e0
jmp 0x3c1f
jmp 0x3c1c
jmp 0x38ec
jmp 0x3c65
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x20e0
jmp 0x3c68
jmp 0x3c65
movq %rax, %rbx
leaq 0x130(%rsp), %rdi
callq 0x20e0
jmp 0x3c41
jmp 0x3c3e
movq %rax, %rbx
jmp 0x3c2c
jmp 0x3da1
movq %rax, %rbx
leaq 0x7e0(%rsp), %rdi
callq 0x3e7e
jmp 0x3dba
jmp 0x3956
movq %rax, %rbx
leaq 0x1f0(%rsp), %rdi
callq 0x20e0
jmp 0x3dc4
movq %rax, %rbx
jmp 0x3dc4
movq %rax, %rbx
jmp 0x3dde
movq %rax, %rbx
pushq $0x18
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x330, %rdi            # imm = 0x330
callq 0x4226
addq $-0x18, %r14
cmpq $-0x18, %r14
jne 0x396d
jmp 0x3deb
movq %rax, %rbx
leaq 0x330(%rsp), %rdi
callq 0x4226
jmp 0x3deb
movq %rax, %rbx
jmp 0x3deb
movq %rax, %rbx
jmp 0x3df8
movq %rax, %rbx
movl $0xa8, %r12d
leaq (%rsp,%r12), %rdi
addq $0x330, %rdi            # imm = 0x330
callq 0x4226
addq $-0x18, %r12
cmpq $-0x18, %r12
jne 0x39ba
movb $0x1, %al
jmp 0x39e9
jmp 0x39e4
jmp 0x39e4
jmp 0x39e4
jmp 0x39e4
jmp 0x39e4
jmp 0x39e4
movq %rax, %rbx
xorl %eax, %eax
cmpq %r15, %r14
sete %cl
testb %al, %al
jne 0x3e02
testb %cl, %cl
jne 0x3e02
addq $-0x18, %r15
movq %r15, %rdi
callq 0x4226
cmpq %r14, %r15
jne 0x39ff
jmp 0x3e02
movq %rax, %rbx
jmp 0x3e02
movq %rax, %rbx
jmp 0x3e0f
movq %rax, %rbx
pushq $0x30
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x330, %rdi            # imm = 0x330
callq 0x4226
addq $-0x18, %r14
cmpq $-0x18, %r14
jne 0x3a2c
jmp 0x3e1c
jmp 0x3a4d
movq %rax, %rbx
addq $-0x18, %r15
movq %r15, %rdi
callq 0x4226
cmpq %r14, %r15
jne 0x3a50
jmp 0x3e1c
movq %rax, %rbx
jmp 0x3e1c
movq %rax, %rbx
jmp 0x3e29
movq %rax, %rbx
jmp 0x3c75
movq %rax, %rbx
jmp 0x3c82
jmp 0x3cea
movq %rax, %rbx
leaq 0x8e8(%rsp), %rdi
jmp 0x3abd
movq %rax, %rbx
leaq 0x930(%rsp), %rdi
jmp 0x3abd
movq %rax, %rbx
leaq 0x978(%rsp), %rdi
jmp 0x3abd
movq %rax, %rbx
leaq 0x9c0(%rsp), %rdi
callq 0x3edc
jmp 0x3ced
movq %rax, %rbx
leaq 0x210(%rsp), %rdi
callq 0x20e0
jmp 0x3ced
jmp 0x3cea
movq %rax, %rbx
leaq 0x230(%rsp), %rdi
callq 0x20e0
jmp 0x3cfa
jmp 0x3c91
movq %rax, %rbx
leaq 0x250(%rsp), %rdi
callq 0x20e0
jmp 0x3d07
jmp 0x3c96
movq %rax, %rbx
leaq 0x270(%rsp), %rdi
callq 0x20e0
jmp 0x3d14
jmp 0x3c9b
movq %rax, %rbx
leaq 0x818(%rsp), %rdi
callq 0x3e7e
jmp 0x3d1e
jmp 0x3c14
movq %rax, %rbx
leaq 0x290(%rsp), %rdi
jmp 0x3c0a
jmp 0x3c14
movq %rax, %rbx
jmp 0x3c4e
jmp 0x3cb9
movq %rax, %rbx
leaq 0xa08(%rsp), %rdi
jmp 0x3b90
movq %rax, %rbx
leaq 0xa50(%rsp), %rdi
jmp 0x3b90
movq %rax, %rbx
leaq 0xa98(%rsp), %rdi
callq 0x3edc
jmp 0x3cbc
movq %rax, %rbx
leaq 0x2b0(%rsp), %rdi
callq 0x20e0
jmp 0x3cbc
jmp 0x3cb9
movq %rax, %rbx
leaq 0x2d0(%rsp), %rdi
callq 0x20e0
jmp 0x3cc9
jmp 0x3ca0
movq %rax, %rbx
leaq 0x2f0(%rsp), %rdi
callq 0x20e0
jmp 0x3cd3
jmp 0x3ca5
movq %rax, %rbx
leaq 0x850(%rsp), %rdi
callq 0x3e7e
jmp 0x3ce0
jmp 0x3c14
movq %rax, %rbx
leaq 0x310(%rsp), %rdi
callq 0x20e0
jmp 0x3d2b
movq %rax, %rbx
jmp 0x3d2b
movq %rax, %rbx
leaq 0xce0(%rsp), %rdi
callq 0x2230
leaq 0x5e0(%rsp), %rdi
callq 0x2230
jmp 0x3dba
movq %rax, %rbx
leaq 0xce0(%rsp), %rdi
callq 0x2230
leaq 0x5e0(%rsp), %rdi
callq 0x2230
jmp 0x3cbc
movq %rax, %rbx
jmp 0x3dd1
movq %rax, %rbx
leaq 0xae0(%rsp), %rdi
callq 0x2230
leaq 0xce0(%rsp), %rdi
callq 0x2230
leaq 0x5e0(%rsp), %rdi
callq 0x2230
jmp 0x3ced
movq %rax, %rbx
jmp 0x3cfa
movq %rax, %rbx
jmp 0x3d07
movq %rax, %rbx
jmp 0x3d14
movq %rax, %rbx
jmp 0x3cc9
movq %rax, %rbx
jmp 0x3cd3
movq %rax, %rbx
jmp 0x3d1e
movq %rax, %rbx
jmp 0x3ce0
jmp 0x3da1
movq %rax, %rbx
leaq 0x80(%rsp), %rdi
callq 0x3edc
leaq 0x30(%rsp), %rdi
callq 0x3edc
leaq 0xae0(%rsp), %rdi
callq 0x3edc
leaq 0xc8(%rsp), %rdi
jmp 0x3d26
movq %rax, %rbx
leaq 0x130(%rsp), %rdi
callq 0x3edc
leaq 0xc8(%rsp), %rdi
callq 0x3edc
leaq 0x80(%rsp), %rdi
callq 0x3edc
leaq 0x30(%rsp), %rdi
callq 0x3edc
leaq 0x178(%rsp), %rdi
callq 0x3e7e
leaq 0x330(%rsp), %rdi
callq 0x4568
jmp 0x3e29
movq %rax, %rbx
leaq 0xee0(%rsp), %rdi
jmp 0x3d80
movq %rax, %rbx
leaq 0x888(%rsp), %rdi
jmp 0x3d92
jmp 0x3daa
movq %rax, %rbx
leaq 0xf28(%rsp), %rdi
jmp 0x3d80
movq %rax, %rbx
leaq 0x8a8(%rsp), %rdi
jmp 0x3d92
jmp 0x3daa
movq %rax, %rbx
leaq 0xf70(%rsp), %rdi
callq 0x3edc
jmp 0x3dad
movq %rax, %rbx
leaq 0x8c8(%rsp), %rdi
callq 0x20e0
jmp 0x3dad
jmp 0x3daa
jmp 0x3daa
jmp 0x3daa
jmp 0x3daa
movq %rax, %rbx
jmp 0x3dba
jmp 0x3daa
jmp 0x3daa
movq %rax, %rbx
leaq 0x5e0(%rsp), %rdi
callq 0x3edc
leaq 0x30(%rsp), %rdi
callq 0x3e7e
leaq 0x330(%rsp), %rdi
callq 0x4568
leaq 0x1b0(%rsp), %rdi
callq 0x4226
leaq 0x110(%rsp), %rdi
callq 0x3f62
leaq 0x1d0(%rsp), %rdi
callq 0x4226
leaq 0x10(%rsp), %rdi
callq 0x3f62
leaq 0x178(%rsp), %rdi
callq 0x4226
leaq 0x130(%rsp), %rdi
callq 0x3f62
leaq 0xc8(%rsp), %rdi
callq 0x4226
movq %rbx, %rdi
callq 0x22c0
nop