// File: /workspace/github_cpp_makefile_star2_O3/WShabti-Team[P]WShabtiPict/main/WShabtiPict.cpp
// Function: main
int main(int argc, char** argv)
{
    bool is_interactive = true;
    string source_code_path = "";

    if(argc != 1)   {  is_interactive = false; }
//----------------------------------------------------------------------------------------------------------------------------------------------------

    if(is_interactive)
    {
        //TAKE SOURCECODE PATH
        cout << "SourceCode Path: ";
        cin >> source_code_path;
    

    //TAKE PROTOTYPE FORM SOURCECODE
    ofstream parameter_file;
    vector<string> prototypes = get_prototypes(source_code_path);
    vector<string> prototypes_tested;
    string possible_values_of_parameter = "";

    //TAKE CLASS NAME FORM PROTOTYPE
    string class_name = get_class_name(source_code_path);

    //CREATE DIRECTORY FOR CONTAINING FINAL FILES (.java class and .csv files)
    filesystem::create_directory("./JUnitTests/"+class_name);

//----------------------------------------------------------------------------------------------------------------------------------------------------

    //CREATE ALL TEST 
    for(auto prototype : prototypes)
    {
        //GET ALL POSSIBILE VALUES FOR PARAMETERS

        vector<string> method_and_values = get_method_and_values_name(prototype);
        string method_name = method_and_values[0];
        method_and_values.erase(method_and_values.begin()); //method name is saved in the variable so we can erase it from the vector and leave only parameters

        cout<<"\n-----METHOD: "<<prototype<<"-----"<<endl;
        cout<<"#Do you want skip this method? (y/n)"<<endl;
        string skip_choice = "n";
        do
        {

            cout<<"Please specify your choice: ";
            cin>>skip_choice;

        } while (skip_choice.compare("y") != 0 && skip_choice.compare("n")!= 0);

        //IF METHOD ISN'T SKIPPED
        if(skip_choice.compare("n")==0)
        {

            cout<<endl<<"#Do you want specify input file source? (y/n)"<<endl;
            string input_source = "n";
            do
            {

                cout<<"Please specify your choice: ";
                cin>>input_source;

            } while (input_source.compare("y") != 0 && input_source.compare("n")!= 0);

            parameter_file.open(PARAMETER_FILE, ios_base::out);
            prototypes_tested.push_back(prototype); //Method is added to the prototypes to test because it wasn't skipped

            //IF TERMINAL INPUT MODE IS CHOSEN
            if(input_source.compare("n") == 0)
            {
                for(auto parameter : method_and_values)
                {
                    cout<<endl<<"Please specify, separated by a comma, all possible values of \""<<parameter<<"\""<<endl ;
                    cout<<"For a range of numbers you can use the syntax \"start:stop:step\": ";
                    cin>>possible_values_of_parameter;

                    //IF LAST LINE
                    if(parameter.compare(method_and_values.back()) != 0)
                    {
                        parameter_file<<parameter<<":"<<possible_values_of_parameter<<endl;
                    }  
                    else
                    {
                        parameter_file<<parameter<<":"<<possible_values_of_parameter;
                    }
                }

                cout<<endl<<"#Do you want specify Exclusive Constraints? (y/n)"<<endl;
                string constraints_choice = "n";
                do
                {
                    cout<<"Please specify your choice: ";
                    cin>>constraints_choice;
                } while (constraints_choice.compare("y") != 0 && constraints_choice.compare("n")!= 0);
                
                //IF CONSTRAINTS ARE DESIRED
                if(constraints_choice.compare("y") == 0)   
                {  
                    parameter_file<<endl<<"#CONSTRAINTS";
                    cout<<endl<<"To specify a combination to exclude, use the syntax \"value1,value2,...\"."<<endl;
                    cout<<"Use \"*\" if you don't care about a parameter."<<endl;
                }

                string input_constraint = "";
                
                while(constraints_choice.compare("y") == 0)
                {
                    
                    cout<<endl<<"Please specify a combination to exclude or \"stop\" to terminate: ";
                    cin>>input_constraint;
                    //IF STRING "stop" is NOT used DURING CONSTRAINT SPECIFICATION
                    if(input_constraint.compare("stop") != 0)
                    {
                        parameter_file << endl << input_constraint;
                    }
                    else
                    {
                        break; //exit from while if word "stop" is used
                    }
                }
                parameter_file.close();
            }
            //IF FILE INPUT MODE IS CHOSEN
            else
            {
                cout<<"Please specify the parameter file path: ";
                string parameter_input_file_path = "";
                cin>>parameter_input_file_path;
                //---------COPY INPUT FILE IN THE OUTPUT DIRECTORY---------// 
                ifstream source(parameter_input_file_path, ios::binary);
                ofstream dest(PARAMETER_FILE, ios::binary);

                istreambuf_iterator<char> begin_source(source);
                istreambuf_iterator<char> end_source;
                ostreambuf_iterator<char> begin_dest(dest);

                copy(begin_source, end_source, begin_dest);

                source.close();
                dest.close();
                //---------COPY INPUT FILE IN THE OUTPUT DIRECTORY---------// 
            }

//----------------------------------------------------------------------------------------------------------------------------------------------------
            
            //GENERATE TEST CASES
            cout<<"\nPlease specify the order of combinations for \""<<method_name<<"\": ";
            int k_degree = 0;
            cin>>k_degree;

            bool is_k_degree_out_of_bound = ((k_degree) > 0) && ((k_degree) <= method_and_values.size());
            assert(("K_DEGREE IS INCORRECT!",is_k_degree_out_of_bound));

            test_generator(k_degree, PARAMETER_FILE, TEST_CASE_FILE);

//----------------------------------------------------------------------------------------------------------------------------------------------------

            //GET ALL POSSIBILE ORACLES
            ifstream test_case_input_file;
            test_case_input_file.open(TEST_CASE_FILE, std::ios_base::in);
            vector<string> oracle;
            string test_case = "";
            string test_case_oracle = "";

            cout<<"\n-----ORACLE: "<<prototype<<"-----"<<endl;
            cout<<"Please specify the oracle for the following possible combinations"<<endl;
            cout<<"For a range of numbers you can use the syntax \"expected_value:delta\""<<endl;

            while(!test_case_input_file.eof())
            {
                getline(test_case_input_file, test_case);
                cout<<method_name<<"("<<test_case<<"): ";
                cin>>test_case_oracle;
                oracle.push_back(test_case_oracle);
            }

            append_oracle_to_csv(oracle, TEST_CASE_FILE,"./JUnitTests/"+class_name+"/"+method_name+"_test.csv");
        }
    }

//----------------------------------------------------------------------------------------------------------------------------------------------------
    
    //CREATE JAVA TEST CLASS
    test_source_code_generate(source_code_path, "./JUnitTests/"+class_name+"/", class_name, prototypes_tested);

//----------------------------------------------------------------------------------------------------------------------------------------------------

    //CONCLUSION
    cout<<endl<<"Your tests have been generated, please check JUnitTests/"+class_name+"/"<<endl;
    cout<<"WARNING: Default constructor is used for class "<<class_name<<". If needed, complete it in the code."<<endl;

//----------------------------------------------------------------------------------------------------------------------------------------------------
    }

    else
    {
        string mode = "";

        mode = MODE;
        source_code_path = SOURCE;

        //TAKE PROTOTYPE FORM SOURCECODE
        vector<string> all_prototypes = get_prototypes(source_code_path);
        string prototype;

        bool is_out_of_bound = ((stoi(PARAMETER)) > 0) && ((stoi(PARAMETER)) <= all_prototypes.size());
        assert(("INDEX OF METHOD TO TEST IS INCORRECT!",is_out_of_bound));

        //TAKE THE METHOD TO TEST
        prototype = all_prototypes[stoi(PARAMETER)-1];

        //GET CLASS NAME
        string class_name = get_class_name(source_code_path);

        if(mode.compare(TEST_CASE_MODE) == 0)
        {
            string parameter_input_file_path = "";

            //CREATE DIRECTORY FOR CONTAINING FINAL FILES (.java class and .csv files)
            filesystem::create_directory("./JUnitTests/"+class_name);
 
            parameter_input_file_path = INPUT_FILE;

            //---------COPY INPUT FILE IN THE OUTPUT DIRECTORY---------// 
                ifstream source(parameter_input_file_path, ios::binary);
                ofstream dest(PARAMETER_FILE, ios::binary);

                istreambuf_iterator<char> begin_source(source);
                istreambuf_iterator<char> end_source;
                ostreambuf_iterator<char> begin_dest(dest);

                copy(begin_source, end_source, begin_dest);

                source.close();
                dest.close();
            //---------COPY INPUT FILE IN THE OUTPUT DIRECTORY---------//

            bool is_k_degree_out_of_bound = (stoi(K_DEGREE) > 0) && (stoi(K_DEGREE) <= (get_method_and_values_name(prototype).size()-1));
            assert(("K_DEGREE IS INCORRECT!",is_k_degree_out_of_bound));

            test_generator(stoi(K_DEGREE), PARAMETER_FILE, TEST_CASE_FILE);
            cout<<"Your test cases for \""<<prototype<<"\" have been generated, please check tmp/test_case.csv"<<endl;
        }
        
        else if(mode.compare(ORACLE_GENERATION_MODE) == 0)
        {
            vector<string> method_and_values = get_method_and_values_name(prototype);
            string method_name = method_and_values[0];
        
            //GET ALL POSSIBILE ORACLES
            ifstream test_case_input_file;
            
            test_case_input_file.open(INPUT_FILE, std::ios_base::in);
            vector<string> oracle;
            string test_case = "";
            string test_case_oracle = "";

            cout<<"\n-----ORACLE: "<<prototype<<"-----"<<endl;
            cout<<"Please specify the oracle for the following possible combinations"<<endl;
            cout<<"For a range of numbers you can use the syntax \"expected_value:delta\""<<endl;

            while(!test_case_input_file.eof())
            {
                getline(test_case_input_file, test_case);
                cout<<method_name<<"("<<test_case<<"): ";
                cin>>test_case_oracle;
                oracle.push_back(test_case_oracle);
            }

            append_oracle_to_csv(oracle, TEST_CASE_FILE,"./JUnitTests/"+class_name+"/"+method_name+"_test.csv");
            cout<<endl<<"Your CSV with Oracles has been generated, please check JUnitTests/"+class_name+"/"+method_name+"_test.csv"<<endl;
        }
    
        else if(mode.compare(JUNIT_TEST_CLASS_GENERATION_MODE) == 0)
        {
            vector<string> prototype_tested;
            prototype_tested.push_back(prototype);
            test_source_code_generate(source_code_path, "./JUnitTests/"+class_name+"/", class_name, prototype_tested);
            cout<<"Your test has been generated, please check JUnitTests/"+class_name+"/"<<endl;
            cout<<"WARNING: Default constructor is used for class "<<class_name<<". If needed, complete it in the code."<<endl;
        }
    }
    
    return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xb08, %rsp            # imm = 0xB08
movq %rsi, %rbx
movl %edi, %ebp
leaq 0x100(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5c05(%rip), %rdx      # 0x27b9a
leaq 0xf0(%rsp), %rdi
movq %rdx, %rsi
callq 0x74e8
cmpl $0x1, %ebp
jne 0x23246
movq 0x12ffb(%rip), %rbx     # 0x34fb0
leaq 0x5d4a(%rip), %rsi      # 0x27d06
movl $0x11, %edx
movq %rbx, %rdi
callq 0x5490
movq 0x13008(%rip), %rdi     # 0x34fd8
leaq 0xf0(%rsp), %rsi
callq 0x5510
leaq 0x908(%rsp), %rdi
callq 0x5670
leaq 0x490(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0xf0(%rsp), %rsi
movq 0xf8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x480(%rsp), %rdi
callq 0x757e
leaq 0x150(%rsp), %rdi
leaq 0x480(%rsp), %rsi
callq 0x12008
movq 0x480(%rsp), %rdi
cmpq %r14, %rdi
je 0x22048
movq 0x490(%rsp), %rsi
incq %rsi
callq 0x53e0
xorps %xmm0, %xmm0
movaps %xmm0, 0x2a0(%rsp)
movq $0x0, 0x2b0(%rsp)
leaq 0xb8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5b28(%rip), %rdx      # 0x27b9a
leaq 0xa8(%rsp), %rdi
movq %rdx, %rsi
callq 0x74e8
leaq 0x470(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0xf0(%rsp), %rsi
movq 0xf8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x460(%rsp), %rdi
callq 0x757e
leaq 0xc8(%rsp), %rdi
leaq 0x460(%rsp), %rsi
callq 0x11d20
movq 0x460(%rsp), %rdi
cmpq %r14, %rdi
je 0x220e0
movq 0x470(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x5c31(%rip), %rsi      # 0x27d18
leaq 0x708(%rsp), %rdi
leaq 0xc8(%rsp), %rdx
callq 0x213d3
leaq 0x4a0(%rsp), %rdi
leaq 0x708(%rsp), %rsi
movl $0x2, %edx
callq 0x256bc
leaq 0x4a0(%rsp), %rdi
callq 0x51b0
leaq 0x4a0(%rsp), %rdi
callq 0x25760
leaq 0x718(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x22151
movq 0x718(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x150(%rsp), %rcx
movq 0x158(%rsp), %rax
movq %rax, 0x2d0(%rsp)
cmpq %rax, %rcx
je 0x231b3
leaq 0x78(%rsp), %r14
movq 0x12e0a(%rip), %rax     # 0x34f88
movq (%rax), %rdx
movq %rdx, 0x2c8(%rsp)
movq 0x18(%rax), %rax
movq %rax, 0x2c0(%rsp)
leaq 0x48(%rsp), %r12
movq 0x12e37(%rip), %r15     # 0x34fd8
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq (%rcx), %rsi
movq %rcx, 0x2d8(%rsp)
movq 0x8(%rcx), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0x757e
leaq 0x270(%rsp), %rax
movq %rax, 0x260(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x260(%rsp), %r13
movq %r13, %rdi
callq 0x757e
leaq 0x168(%rsp), %rdi
movq %r13, %rsi
callq 0x1239b
movq 0x260(%rsp), %rdi
leaq 0x270(%rsp), %rax
cmpq %rax, %rdi
je 0x22225
movq 0x270(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x168(%rsp), %rax
leaq 0x38(%rsp), %rcx
movq %rcx, 0x28(%rsp)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
leaq 0x28(%rsp), %rdi
callq 0x757e
movq 0x168(%rsp), %rsi
leaq 0x168(%rsp), %rdi
callq 0x25798
movl $0xe, %edx
movq %rbx, %rdi
leaq 0x5ab7(%rip), %rsi      # 0x27d26
callq 0x5490
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %rbx, %rdi
callq 0x5490
movq %rax, %r13
movl $0x5, %edx
movq %rax, %rdi
leaq 0x5a9e(%rip), %rsi      # 0x27d35
callq 0x5490
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
movq %r13, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x52d0
movl $0x24, %edx
movq %rbx, %rdi
leaq 0x5a68(%rip), %rsi      # 0x27d3b
callq 0x5490
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x52d0
leaq 0x58(%rsp), %rax
movq %rax, 0x48(%rsp)
movq %r12, %rdi
leaq 0x5084(%rip), %rsi      # 0x27397
leaq 0x507e(%rip), %rdx      # 0x27398
callq 0x74e8
movl $0x1c, %edx
movq %rbx, %rdi
leaq 0x5a32(%rip), %rsi      # 0x27d60
callq 0x5490
movq %r15, %rdi
movq %r12, %rsi
callq 0x5510
movq %r12, %rdi
leaq 0x5153(%rip), %rsi      # 0x2749b
callq 0x5120
testl %eax, %eax
je 0x22364
movq %r12, %rdi
leaq 0x503c(%rip), %rsi      # 0x27397
callq 0x5120
testl %eax, %eax
jne 0x2231f
movq %r12, %rdi
leaq 0x5029(%rip), %rsi      # 0x27397
callq 0x5120
testl %eax, %eax
jne 0x23139
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x52d0
movq %rax, %r13
movl $0x2d, %edx
movq %rax, %rdi
leaq 0x59c9(%rip), %rsi      # 0x27d7d
callq 0x5490
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
movq %r13, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x52d0
leaq 0x98(%rsp), %rax
movq %rax, 0x88(%rsp)
leaq 0x88(%rsp), %rdi
leaq 0x4f97(%rip), %rsi      # 0x27397
leaq 0x4f91(%rip), %rdx      # 0x27398
callq 0x74e8
leaq 0x88(%rsp), %r13
movl $0x1c, %edx
movq %rbx, %rdi
leaq 0x593d(%rip), %rsi      # 0x27d60
callq 0x5490
movq %r15, %rdi
movq %r13, %rsi
callq 0x5510
movq %r13, %rdi
leaq 0x505e(%rip), %rsi      # 0x2749b
callq 0x5120
testl %eax, %eax
je 0x22459
movq %r13, %rdi
leaq 0x4f47(%rip), %rsi      # 0x27397
callq 0x5120
testl %eax, %eax
jne 0x22414
leaq 0x908(%rsp), %rdi
leaq 0x5943(%rip), %rsi      # 0x27dab
movl $0x10, %edx
callq 0x5070
leaq 0x2a0(%rsp), %rdi
movq %rsp, %rsi
callq 0x10764
leaq 0x88(%rsp), %rdi
leaq 0x4f06(%rip), %rsi      # 0x27397
callq 0x5120
testl %eax, %eax
je 0x225c3
movl $0x28, %edx
movq %rbx, %rdi
leaq 0x5a8a(%rip), %rsi      # 0x27f37
callq 0x5490
movq %r14, 0x68(%rsp)
leaq 0x68(%rsp), %r13
movq %r13, %rdi
leaq 0x56d4(%rip), %rdx      # 0x27b9a
movq %rdx, %rsi
callq 0x74e8
movq %r15, %rdi
movq %r13, %rsi
callq 0x5510
leaq 0x4a0(%rsp), %rdi
movq %r13, %rsi
movl $0x4, %edx
callq 0x5620
leaq 0x708(%rsp), %rdi
leaq 0x58ae(%rip), %rsi      # 0x27dab
movl $0x4, %edx
callq 0x5440
movq 0x4a0(%rsp), %rax
movq -0x18(%rax), %rax
movq 0x588(%rsp,%rax), %rdi
testq %rdi, %rdi
je 0x22546
movq 0x708(%rsp), %rax
movq -0x18(%rax), %rax
movq 0x7f0(%rsp,%rax), %rsi
testq %rsi, %rsi
je 0x22546
leaq 0x110(%rsp), %rdx
callq 0x50b0
leaq 0x4a0(%rsp), %rdi
callq 0x50c0
leaq 0x708(%rsp), %rdi
callq 0x5590
movq 0x2c8(%rsp), %rax
movq %rax, 0x708(%rsp)
movq -0x18(%rax), %rax
movq 0x2c0(%rsp), %rcx
movq %rcx, 0x708(%rsp,%rax)
leaq 0x710(%rsp), %rdi
callq 0x5340
leaq 0x800(%rsp), %rdi
callq 0x5150
leaq 0x4a0(%rsp), %rdi
callq 0x50d0
movq 0x68(%rsp), %rdi
cmpq %r14, %rdi
je 0x22af6
movq 0x78(%rsp), %rsi
jmp 0x22aee
movq 0x168(%rsp), %r14
movq 0x170(%rsp), %rbp
cmpq %rbp, %r14
je 0x227bb
leaq 0x4b0(%rsp), %rax
movq %rax, 0x4a0(%rsp)
movq (%r14), %rsi
movq 0x8(%r14), %rdx
addq %rsi, %rdx
leaq 0x4a0(%rsp), %rdi
callq 0x757e
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x52d0
movq %rax, %r13
movl $0x3e, %edx
movq %rax, %rdi
leaq 0x577f(%rip), %rsi      # 0x27dbb
callq 0x5490
movq 0x4a0(%rsp), %rsi
movq 0x4a8(%rsp), %rdx
movq %r13, %rdi
callq 0x5490
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
leaq 0x55bb(%rip), %rsi      # 0x27c26
callq 0x5490
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
movq %r13, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x52d0
movl $0x41, %edx
movq %rbx, %rdi
leaq 0x5753(%rip), %rsi      # 0x27dfa
callq 0x5490
movq %r15, %rdi
leaq 0xa8(%rsp), %rsi
callq 0x5510
movq 0x170(%rsp), %rsi
addq $-0x20, %rsi
leaq 0x4a0(%rsp), %rdi
callq 0x5050
movq 0x4a0(%rsp), %rsi
movq 0x4a8(%rsp), %rdx
testl %eax, %eax
je 0x22751
leaq 0x908(%rsp), %rdi
callq 0x5490
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
leaq 0x4414(%rip), %rsi      # 0x26b1c
callq 0x5490
movq 0xa8(%rsp), %rsi
movq 0xb0(%rsp), %rdx
movq %r13, %rdi
callq 0x5490
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
movq %r13, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x52d0
jmp 0x2278d
leaq 0x908(%rsp), %rdi
callq 0x5490
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
leaq 0x43ac(%rip), %rsi      # 0x26b1c
callq 0x5490
movq 0xa8(%rsp), %rsi
movq 0xb0(%rsp), %rdx
movq %r13, %rdi
callq 0x5490
movq 0x4a0(%rsp), %rdi
leaq 0x4b0(%rsp), %rax
cmpq %rax, %rdi
je 0x227b2
movq 0x4b0(%rsp), %rsi
incq %rsi
callq 0x53e0
addq $0x20, %r14
jmp 0x225d3
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x53b0
leaq 0x78(%rsp), %r14
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x52d0
movq %rax, %r13
movl $0x31, %edx
movq %rax, %rdi
leaq 0x5643(%rip), %rsi      # 0x27e3c
callq 0x5490
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
movq %r13, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x52d0
leaq 0x4b0(%rsp), %rax
movq %rax, 0x4a0(%rsp)
leaq 0x4a0(%rsp), %rdi
leaq 0x4b52(%rip), %rsi      # 0x27397
leaq 0x4b4c(%rip), %rdx      # 0x27398
callq 0x74e8
leaq 0x4a0(%rsp), %r13
movl $0x1c, %edx
movq %rbx, %rdi
leaq 0x54f8(%rip), %rsi      # 0x27d60
callq 0x5490
movq %r15, %rdi
movq %r13, %rsi
callq 0x5510
movq %r13, %rdi
leaq 0x4c19(%rip), %rsi      # 0x2749b
callq 0x5120
testl %eax, %eax
je 0x2289e
movq %r13, %rdi
leaq 0x4b02(%rip), %rsi      # 0x27397
callq 0x5120
testl %eax, %eax
jne 0x22859
movq %r13, %rdi
leaq 0x4bf3(%rip), %rsi      # 0x2749b
callq 0x5120
testl %eax, %eax
jne 0x229a3
movq 0x908(%rsp), %rax
movq -0x18(%rax), %rdi
leaq 0x908(%rsp), %rax
addq %rax, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
leaq 0x908(%rsp), %rdi
callq 0x5040
movq %rax, %rdi
callq 0x52d0
movl $0xc, %edx
movq %rax, %rdi
leaq 0x5571(%rip), %rsi      # 0x27e6e
callq 0x5490
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x52d0
movq %rax, %r13
movl $0x48, %edx
movq %rax, %rdi
leaq 0x5540(%rip), %rsi      # 0x27e7b
callq 0x5490
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
movq %r13, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x52d0
movl $0x2c, %edx
movq %rbx, %rdi
leaq 0x554d(%rip), %rsi      # 0x27ec4
callq 0x5490
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x52d0
leaq 0x718(%rsp), %rax
movq %rax, 0x708(%rsp)
leaq 0x708(%rsp), %rdi
leaq 0x51d8(%rip), %rdx      # 0x27b9a
movq %rdx, %rsi
callq 0x74e8
leaq 0x4a0(%rsp), %rdi
leaq 0x4ac2(%rip), %rsi      # 0x2749b
callq 0x5120
testl %eax, %eax
jne 0x22a9f
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x52d0
movl $0x40, %edx
movq %rax, %rdi
leaq 0x54d5(%rip), %rsi      # 0x27ef1
callq 0x5490
movq %r15, %rdi
leaq 0x708(%rsp), %rsi
callq 0x5510
leaq 0x708(%rsp), %rdi
leaq 0x54f2(%rip), %rsi      # 0x27f32
callq 0x5120
testl %eax, %eax
je 0x22a9f
movq 0x908(%rsp), %rax
movq -0x18(%rax), %rdi
leaq 0x908(%rsp), %rax
addq %rax, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
leaq 0x908(%rsp), %rdi
callq 0x5040
movq %rax, %rdi
callq 0x52d0
movq 0x708(%rsp), %rsi
movq 0x710(%rsp), %rdx
movq %rax, %rdi
callq 0x5490
jmp 0x229ca
leaq 0x908(%rsp), %rdi
callq 0x5590
movq 0x708(%rsp), %rdi
leaq 0x718(%rsp), %rax
cmpq %rax, %rdi
je 0x22ad1
movq 0x718(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x4a0(%rsp), %rdi
leaq 0x4b0(%rsp), %rax
cmpq %rax, %rdi
je 0x22af6
movq 0x4b0(%rsp), %rsi
incq %rsi
callq 0x53e0
movl $0x2f, %edx
movq %rbx, %rdi
leaq 0x545b(%rip), %rsi      # 0x27f60
callq 0x5490
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
movq %rbx, %rdi
callq 0x5490
movl $0x3, %edx
movq %rax, %rdi
leaq 0x530d(%rip), %rsi      # 0x27e38
callq 0x5490
movl $0x0, 0xec(%rsp)
movq %r15, %rdi
leaq 0xec(%rsp), %rsi
callq 0x5260
movslq 0xec(%rsp), %r13
testq %r13, %r13
jle 0x249a7
movq 0x170(%rsp), %rax
subq 0x168(%rsp), %rax
sarq $0x5, %rax
cmpq %r13, %rax
jb 0x249a7
leaq 0x1f0(%rsp), %rax
movq %rax, 0x1e0(%rsp)
leaq 0x1e0(%rsp), %rdi
leaq 0x5213(%rip), %rsi      # 0x27dab
leaq 0x521b(%rip), %rdx      # 0x27dba
callq 0x74e8
leaq 0x250(%rsp), %rax
movq %rax, 0x240(%rsp)
leaq 0x240(%rsp), %rbp
movq %rbp, %rdi
leaq 0x542a(%rip), %rsi      # 0x27ff0
leaq 0x5436(%rip), %rdx      # 0x28003
callq 0x74e8
movl %r13d, %edi
leaq 0x1e0(%rsp), %rsi
movq %rbp, %rdx
callq 0x21974
movq 0x240(%rsp), %rdi
leaq 0x250(%rsp), %rax
cmpq %rax, %rdi
je 0x22c0a
movq 0x250(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x1e0(%rsp), %rdi
leaq 0x1f0(%rsp), %rax
cmpq %rax, %rdi
je 0x22c2f
movq 0x1f0(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x4a0(%rsp), %r13
movq %r13, %rdi
callq 0x5480
movq %r13, %rdi
leaq 0x53a7(%rip), %rsi      # 0x27ff0
movl $0x8, %edx
callq 0x5290
xorps %xmm0, %xmm0
movaps %xmm0, 0x280(%rsp)
movq $0x0, 0x290(%rsp)
leaq 0x718(%rsp), %rax
movq %rax, 0x708(%rsp)
leaq 0x708(%rsp), %rdi
leaq 0x4f11(%rip), %r13      # 0x27b9a
movq %r13, %rsi
movq %r13, %rdx
callq 0x74e8
movq %r14, 0x68(%rsp)
leaq 0x68(%rsp), %rdi
movq %r13, %rsi
movq %r13, %rdx
callq 0x74e8
movl $0xe, %edx
movq %rbx, %rdi
leaq 0x534c(%rip), %rsi      # 0x28004
callq 0x5490
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %rbx, %rdi
callq 0x5490
movq %rax, %r13
movl $0x5, %edx
movq %rax, %rdi
leaq 0x5055(%rip), %rsi      # 0x27d35
callq 0x5490
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
movq %r13, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x52d0
movl $0x41, %edx
movq %rbx, %rdi
leaq 0x52f7(%rip), %rsi      # 0x28013
callq 0x5490
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x52d0
movl $0x44, %edx
movq %rbx, %rdi
leaq 0x52fe(%rip), %rsi      # 0x28055
callq 0x5490
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x52d0
movq 0x4a0(%rsp), %rax
movq -0x18(%rax), %rax
testb $0x2, 0x4c0(%rsp,%rax)
jne 0x22e43
leaq (%rsp,%rax), %rdi
addq $0x4a0, %rdi            # imm = 0x4A0
movl $0xa, %esi
callq 0x53b0
movsbl %al, %edx
leaq 0x4a0(%rsp), %rdi
leaq 0x708(%rsp), %rsi
callq 0x56f0
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
movq %rbx, %rdi
callq 0x5490
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
leaq 0x4e2a(%rip), %rsi      # 0x27c18
callq 0x5490
movq 0x708(%rsp), %rsi
movq 0x710(%rsp), %rdx
movq %r13, %rdi
callq 0x5490
movl $0x3, %edx
movq %rax, %rdi
leaq 0x5280(%rip), %rsi      # 0x2809a
callq 0x5490
movq %r15, %rdi
leaq 0x68(%rsp), %rsi
callq 0x5510
leaq 0x280(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x10764
jmp 0x22d83
leaq 0x6f0(%rsp), %rdi
leaq 0x280(%rsp), %rsi
callq 0x18134
leaq 0x1d0(%rsp), %rax
movq %rax, 0x1c0(%rsp)
leaq 0x1c0(%rsp), %rdi
leaq 0x5179(%rip), %rsi      # 0x27ff0
leaq 0x5185(%rip), %rdx      # 0x28003
callq 0x74e8
leaq 0x1a0(%rsp), %r13
movq %r13, %rdi
leaq 0x4e83(%rip), %rsi      # 0x27d18
leaq 0xc8(%rsp), %rdx
callq 0x213d3
movq %r13, %rdi
leaq 0x4cca(%rip), %rsi      # 0x27b76
callq 0x5730
leaq 0x140(%rsp), %rsi
movq %rsi, 0x130(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x22ee5
movq %rdx, 0x130(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x140(%rsp)
jmp 0x22eeb
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x138(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
leaq 0x130(%rsp), %rdi
callq 0x5130
leaq 0x120(%rsp), %rsi
movq %rsi, 0x110(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x22f51
movq %rdx, 0x110(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x120(%rsp)
jmp 0x22f57
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x118(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x110(%rsp), %rdi
leaq 0x4bb7(%rip), %rsi      # 0x27b38
callq 0x5730
leaq 0x190(%rsp), %rsi
movq %rsi, 0x180(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x22fba
movq %rdx, 0x180(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x190(%rsp)
jmp 0x22fc0
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x188(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x6f0(%rsp), %rdi
leaq 0x1c0(%rsp), %rsi
leaq 0x180(%rsp), %rdx
callq 0x21548
movq 0x180(%rsp), %rdi
leaq 0x190(%rsp), %rax
cmpq %rax, %rdi
je 0x2301d
movq 0x190(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x110(%rsp), %rdi
leaq 0x120(%rsp), %rax
cmpq %rax, %rdi
je 0x23042
movq 0x120(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x130(%rsp), %rdi
leaq 0x140(%rsp), %rax
cmpq %rax, %rdi
je 0x23067
movq 0x140(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x1a0(%rsp), %rdi
leaq 0x1b0(%rsp), %rax
cmpq %rax, %rdi
je 0x2308c
movq 0x1b0(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x1c0(%rsp), %rdi
leaq 0x1d0(%rsp), %rax
cmpq %rax, %rdi
je 0x230b1
movq 0x1d0(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x6f0(%rsp), %rdi
callq 0x107a2
movq 0x68(%rsp), %rdi
cmpq %r14, %rdi
je 0x230d5
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x708(%rsp), %rdi
leaq 0x718(%rsp), %rax
cmpq %rax, %rdi
je 0x230fa
movq 0x718(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x280(%rsp), %rdi
callq 0x107a2
leaq 0x4a0(%rsp), %rdi
callq 0x50d0
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x23139
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x23155
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x23171
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x168(%rsp), %rdi
callq 0x107a2
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x23199
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x2d8(%rsp), %rcx
addq $0x20, %rcx
cmpq 0x2d0(%rsp), %rcx
jne 0x221a1
leaq 0x450(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0xf0(%rsp), %rsi
movq 0xf8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x440(%rsp), %rdi
callq 0x757e
leaq 0x4b32(%rip), %rsi      # 0x27d18
leaq 0x4a0(%rsp), %rdi
leaq 0xc8(%rsp), %rdx
callq 0x213d3
leaq 0x4974(%rip), %rsi      # 0x27b76
leaq 0x4a0(%rsp), %rdi
callq 0x5730
leaq 0x230(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x23979
movq %rdx, 0x220(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x230(%rsp)
jmp 0x23980
leaq 0x718(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x4941(%rip), %rdx      # 0x27b9a
leaq 0x708(%rsp), %rdi
movq %rdx, %rsi
callq 0x74e8
movq 0x8(%rbx), %r14
leaq 0x708(%rsp), %r15
movq 0x8(%r15), %r12
movq %r14, %rdi
callq 0x51c0
movq %r15, %rdi
xorl %esi, %esi
movq %r12, %rdx
movq %r14, %rcx
movq %rax, %r8
callq 0x5600
movq 0x10(%rbx), %r14
leaq 0xf0(%rsp), %r15
movq 0x8(%r15), %r12
movq %r14, %rdi
callq 0x51c0
movq %r15, %rdi
xorl %esi, %esi
movq %r12, %rdx
movq %r14, %rcx
movq %rax, %r8
callq 0x5600
leaq 0x410(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0xf0(%rsp), %rsi
movq 0xf8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x400(%rsp), %rdi
callq 0x757e
leaq 0x130(%rsp), %rdi
leaq 0x400(%rsp), %rsi
callq 0x12008
movq 0x400(%rsp), %rdi
cmpq %r14, %rdi
je 0x2331d
movq 0x410(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0xb8(%rsp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
movq 0x18(%rbx), %rsi
leaq 0x4a0(%rsp), %rdi
movq %rsp, %rdx
callq 0x2567e
movq 0x4a0(%rsp), %r15
callq 0x5060
movq %rax, %r14
movl (%rax), %ebp
movl $0x0, (%rax)
leaq 0x908(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
movl $0xa, %edx
callq 0x5570
cmpq %r15, (%r12)
je 0x249c6
movslq %eax, %rcx
cmpq %rax, %rcx
jne 0x249d2
movl (%r14), %ecx
cmpl $0x22, %ecx
je 0x249d2
testl %ecx, %ecx
jne 0x233a1
movl %ebp, (%r14)
testl %eax, %eax
jle 0x2345e
movq 0x18(%rbx), %rsi
leaq 0x908(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x2567e
movq 0x908(%rsp), %r15
movl (%r14), %r13d
movl $0x0, (%r14)
leaq 0xc8(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
movl $0xa, %edx
callq 0x5570
cmpq %r15, (%r12)
je 0x24a15
leaq -0x80000000(%rax), %rcx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
cmpq %rdx, %rcx
jb 0x24a21
movl (%r14), %ecx
cmpl $0x22, %ecx
je 0x24a21
testl %ecx, %ecx
jne 0x23420
movl %r13d, (%r14)
movq 0x138(%rsp), %rcx
subq 0x130(%rsp), %rcx
sarq $0x5, %rcx
cmpq %rax, %rcx
setae %bpl
leaq 0x918(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x23460
movq 0x918(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x23460
xorl %ebp, %ebp
leaq 0x4b0(%rsp), %r13
movq -0x10(%r13), %rdi
cmpq %r13, %rdi
je 0x23481
movq 0x4b0(%rsp), %rsi
incq %rsi
callq 0x53e0
testb %bpl, %bpl
je 0x249de
movq 0x18(%rbx), %rsi
leaq 0x4a0(%rsp), %rdi
leaq 0xc8(%rsp), %rdx
callq 0x2567e
movq 0x4a0(%rsp), %r15
movl (%r14), %ebp
movl $0x0, (%r14)
leaq 0x908(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
movl $0xa, %edx
callq 0x5570
cmpq %r15, (%r12)
je 0x249fd
leaq -0x80000000(%rax), %rcx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
cmpq %rdx, %rcx
jb 0x24a09
movl (%r14), %ecx
cmpl $0x22, %ecx
je 0x24a09
testl %ecx, %ecx
jne 0x23504
movl %ebp, (%r14)
shlq $0x20, %rax
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
addq %rcx, %rax
sarq $0x1b, %rax
addq 0x130(%rsp), %rax
leaq 0xa8(%rsp), %rdi
movq %rax, %rsi
callq 0x5210
movq 0x4a0(%rsp), %rdi
cmpq %r13, %rdi
je 0x2354e
movq 0x4b0(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x3f0(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0xf0(%rsp), %rsi
movq 0xf8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x3e0(%rsp), %rdi
callq 0x757e
leaq 0xc8(%rsp), %rdi
leaq 0x3e0(%rsp), %rsi
callq 0x11d20
movq 0x3e0(%rsp), %rdi
cmpq %r15, %rdi
je 0x235ac
movq 0x3f0(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x4bb4(%rip), %rsi      # 0x28167
leaq 0x708(%rsp), %rdi
callq 0x5120
testl %eax, %eax
je 0x236b1
leaq 0x4be7(%rip), %rsi      # 0x281b6
leaq 0x708(%rsp), %rdi
callq 0x5120
testl %eax, %eax
je 0x23cc6
leaq 0x4c11(%rip), %rsi      # 0x281fc
leaq 0x708(%rsp), %rdi
callq 0x5120
testl %eax, %eax
jne 0x248f6
xorps %xmm0, %xmm0
movq %rsp, %rdi
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
leaq 0xa8(%rsp), %rsi
callq 0x10764
leaq 0x330(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0xf0(%rsp), %rsi
movq 0xf8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x320(%rsp), %rdi
callq 0x757e
leaq 0x46c7(%rip), %rsi      # 0x27d18
leaq 0x4a0(%rsp), %rdi
leaq 0xc8(%rsp), %rdx
callq 0x213d3
leaq 0x4509(%rip), %rsi      # 0x27b76
leaq 0x4a0(%rsp), %rdi
callq 0x5730
leaq 0x210(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x24674
movq %rdx, 0x200(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x210(%rsp)
jmp 0x2467b
leaq 0x10(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x44d9(%rip), %rdx      # 0x27b9a
movq %rsp, %rdi
movq %rdx, %rsi
callq 0x74e8
leaq 0x4645(%rip), %rsi      # 0x27d18
leaq 0x908(%rsp), %rdi
leaq 0xc8(%rsp), %rdx
callq 0x213d3
leaq 0x4a0(%rsp), %rdi
leaq 0x908(%rsp), %rsi
movl $0x2, %edx
callq 0x256bc
leaq 0x4a0(%rsp), %rdi
callq 0x51b0
leaq 0x4a0(%rsp), %rdi
callq 0x25760
leaq 0x918(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2373d
movq 0x918(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x20(%rbx), %r15
movq %rsp, %r12
movq 0x8(%r12), %r13
movq %r15, %rdi
callq 0x51c0
movq %r12, %rdi
xorl %esi, %esi
movq %r13, %rdx
movq %r15, %rcx
movq %rax, %r8
callq 0x5600
leaq 0x4a0(%rsp), %rdi
movq %rsp, %rsi
movl $0x4, %edx
callq 0x5620
leaq 0x462b(%rip), %rsi      # 0x27dab
leaq 0x908(%rsp), %rdi
movl $0x4, %edx
callq 0x5440
movq 0x4a0(%rsp), %rax
movq -0x18(%rax), %rax
movq 0x588(%rsp,%rax), %rdi
testq %rdi, %rdi
je 0x237ce
movq 0x908(%rsp), %rax
movq -0x18(%rax), %rax
movq 0x9f0(%rsp,%rax), %rsi
testq %rsi, %rsi
je 0x237ce
leaq 0x28(%rsp), %rdx
callq 0x50b0
leaq 0x4a0(%rsp), %rdi
callq 0x50c0
leaq 0x908(%rsp), %rdi
callq 0x5590
movq 0x28(%rbx), %rsi
leaq 0x28(%rsp), %rdi
leaq 0x68(%rsp), %rdx
callq 0x2567e
movq 0x28(%rsp), %r15
movl (%r14), %r13d
movl $0x0, (%r14)
leaq 0x48(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
movl $0xa, %edx
callq 0x5570
cmpq %r15, (%r12)
je 0x24a2d
leaq -0x80000000(%rax), %rcx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
cmpq %rdx, %rcx
jb 0x24a39
movl (%r14), %ecx
cmpl $0x22, %ecx
je 0x24a39
testl %ecx, %ecx
jne 0x23856
movl %r13d, (%r14)
testl %eax, %eax
jle 0x2402b
movq 0x28(%rbx), %rsi
leaq 0x48(%rsp), %rdi
leaq 0x110(%rsp), %rdx
callq 0x2567e
movq 0x48(%rsp), %r12
movl (%r14), %ebp
movl $0x0, (%r14)
leaq 0x88(%rsp), %r13
movq %r12, %rdi
movq %r13, %rsi
movl $0xa, %edx
callq 0x5570
cmpq %r12, (%r13)
je 0x24a7c
movq %rax, %r15
addq $-0x80000000, %rax      # imm = 0x80000000
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rax
jb 0x24a88
movl (%r14), %eax
cmpl $0x22, %eax
je 0x24a88
testl %eax, %eax
jne 0x238d4
movl %ebp, (%r14)
leaq 0x3d0(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0xa8(%rsp), %rsi
movq 0xb0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x3c0(%rsp), %rdi
callq 0x757e
leaq 0x88(%rsp), %rdi
leaq 0x3c0(%rsp), %rsi
callq 0x1239b
leaq 0x88(%rsp), %rdi
movq 0x8(%rdi), %rax
subq (%rdi), %rax
sarq $0x5, %rax
decq %rax
cmpq %r15, %rax
setae %r15b
callq 0x107a2
movq 0x3c0(%rsp), %rdi
cmpq %r12, %rdi
je 0x23955
movq 0x3d0(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2402e
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x2402e
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x228(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x430(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0xc8(%rsp), %rsi
movq 0xd0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x420(%rsp), %rdi
callq 0x757e
leaq 0x6d8(%rsp), %rdi
leaq 0x2a0(%rsp), %rsi
callq 0x18134
leaq 0x440(%rsp), %rdi
leaq 0x220(%rsp), %rsi
leaq 0x420(%rsp), %rdx
leaq 0x6d8(%rsp), %rcx
callq 0x20c4a
leaq 0x6d8(%rsp), %rdi
callq 0x107a2
movq 0x420(%rsp), %rdi
cmpq %r12, %rdi
je 0x23a2c
movq 0x430(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x220(%rsp), %rdi
cmpq %r15, %rdi
je 0x23a49
movq 0x230(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x4b0(%rsp), %r15
movq -0x10(%r15), %rdi
cmpq %r15, %rdi
je 0x23a6a
movq 0x4b0(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x440(%rsp), %rdi
cmpq %r14, %rdi
je 0x23a87
movq 0x450(%rsp), %rsi
incq %rsi
callq 0x53e0
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
movq 0x1150b(%rip), %rdi     # 0x34fb0
callq 0x5040
movq %rax, %rdi
callq 0x52d0
movq %rax, %rbx
leaq 0x45e2(%rip), %rsi      # 0x2809e
leaq 0x708(%rsp), %rdi
leaq 0xc8(%rsp), %rdx
callq 0x213d3
leaq 0x409e(%rip), %rsi      # 0x27b76
leaq 0x708(%rsp), %rdi
callq 0x5730
movq %r15, 0x4a0(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x23b11
movq %rdx, 0x4a0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x4b0(%rsp)
jmp 0x23b18
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x4a8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x4a0(%rsp), %rsi
movq 0x4a8(%rsp), %rdx
movq %rbx, %rdi
callq 0x5490
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x52d0
movq 0x4a0(%rsp), %rdi
cmpq %r15, %rdi
je 0x23b92
movq 0x4b0(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x708(%rsp), %rdi
leaq 0x718(%rsp), %rax
cmpq %rax, %rdi
je 0x23bb7
movq 0x718(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x113f2(%rip), %rdi     # 0x34fb0
leaq 0x4512(%rip), %rsi      # 0x280d7
movl $0x2f, %edx
callq 0x5490
movq 0xc8(%rsp), %rsi
movq 0xd0(%rsp), %rdx
movq 0x113ca(%rip), %rdi     # 0x34fb0
callq 0x5490
movq %rax, %rbx
leaq 0x4512(%rip), %rsi      # 0x28107
movl $0x25, %edx
movq %rax, %rdi
callq 0x5490
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x52d0
leaq 0xd8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x23c4a
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x23c6f
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x2a0(%rsp), %rdi
callq 0x107a2
leaq 0x150(%rsp), %rdi
callq 0x107a2
movq 0x112f8(%rip), %rax     # 0x34f88
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq 0x910(%rsp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, 0x908(%rsp,%rcx)
callq 0x5340
leaq 0xa00(%rsp), %rdi
callq 0x5150
jmp 0x2496e
leaq 0x370(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0xa8(%rsp), %rsi
movq 0xb0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x360(%rsp), %rdi
callq 0x757e
leaq 0x1a0(%rsp), %rdi
leaq 0x360(%rsp), %rsi
callq 0x1239b
movq 0x360(%rsp), %rdi
cmpq %r14, %rdi
je 0x23d24
movq 0x370(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x1a0(%rsp), %rax
leaq 0x918(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
leaq 0x908(%rsp), %rdi
callq 0x757e
leaq 0x4a0(%rsp), %rdi
callq 0x5480
movq 0x20(%rbx), %rsi
leaq 0x4a0(%rsp), %rdi
movl $0x8, %edx
callq 0x5290
xorps %xmm0, %xmm0
movaps %xmm0, 0x150(%rsp)
movq $0x0, 0x160(%rsp)
leaq 0x10(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3e01(%rip), %rdx      # 0x27b9a
movq %rsp, %rdi
movq %rdx, %rsi
callq 0x74e8
leaq 0x38(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3de6(%rip), %rdx      # 0x27b9a
leaq 0x28(%rsp), %rdi
movq %rdx, %rsi
callq 0x74e8
movq 0x111e8(%rip), %rdi     # 0x34fb0
leaq 0x4235(%rip), %rsi      # 0x28004
movl $0xe, %edx
callq 0x5490
movq 0xa8(%rsp), %rsi
movq 0xb0(%rsp), %rdx
movq 0x111c0(%rip), %rdi     # 0x34fb0
callq 0x5490
movq %rax, %rbx
leaq 0x3f36(%rip), %rsi      # 0x27d35
movl $0x5, %edx
movq %rax, %rdi
callq 0x5490
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x52d0
movq 0x11176(%rip), %rbx     # 0x34fb0
leaq 0x41d2(%rip), %rsi      # 0x28013
movl $0x41, %edx
movq %rbx, %rdi
callq 0x5490
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
movq 0x11144(%rip), %rdi     # 0x34fb0
callq 0x5040
movq %rax, %rdi
callq 0x52d0
movq 0x11130(%rip), %rbx     # 0x34fb0
leaq 0x41ce(%rip), %rsi      # 0x28055
movl $0x44, %edx
movq %rbx, %rdi
callq 0x5490
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
movq 0x110fe(%rip), %rdi     # 0x34fb0
callq 0x5040
movq %rax, %rdi
callq 0x52d0
leaq 0x3d52(%rip), %r12      # 0x27c18
leaq 0x41cd(%rip), %r13      # 0x2809a
movq 0x11104(%rip), %rbp     # 0x34fd8
leaq 0x28(%rsp), %rbx
leaq 0x150(%rsp), %r14
movq 0x4a0(%rsp), %rax
movq -0x18(%rax), %rax
testb $0x2, 0x4c0(%rsp,%rax)
jne 0x23f8e
leaq (%rsp,%rax), %rdi
addq $0x4a0, %rdi            # imm = 0x4A0
movl $0xa, %esi
callq 0x53b0
movsbl %al, %edx
leaq 0x4a0(%rsp), %rdi
movq %rsp, %rsi
callq 0x56f0
movq 0x908(%rsp), %rsi
movq 0x910(%rsp), %rdx
movq 0x11076(%rip), %rdi     # 0x34fb0
callq 0x5490
movq %rax, %r15
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x5490
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %r15, %rdi
callq 0x5490
movl $0x3, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x5490
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x5510
movq %r14, %rdi
movq %rbx, %rsi
callq 0x10764
jmp 0x23ee1
leaq 0x6c0(%rsp), %rdi
leaq 0x150(%rsp), %rsi
callq 0x18134
leaq 0x350(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x403a(%rip), %rsi      # 0x27ff0
leaq 0x4046(%rip), %rdx      # 0x28003
leaq 0x340(%rsp), %rdi
callq 0x74e8
leaq 0x3d47(%rip), %rsi      # 0x27d18
leaq 0x68(%rsp), %rdi
leaq 0xc8(%rsp), %rdx
callq 0x213d3
leaq 0x3b8c(%rip), %rsi      # 0x27b76
leaq 0x68(%rsp), %rdi
callq 0x5730
leaq 0x98(%rsp), %r14
movq %r14, -0x10(%r14)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x24256
movq %rdx, 0x88(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x98(%rsp)
jmp 0x2425d
xorl %r15d, %r15d
leaq 0x38(%rsp), %r13
movq -0x10(%r13), %rdi
cmpq %r13, %rdi
je 0x24049
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x53e0
testb %r15b, %r15b
je 0x24a45
movq 0x28(%rbx), %rsi
leaq 0x28(%rsp), %rdi
leaq 0x88(%rsp), %rdx
callq 0x2567e
movq 0x28(%rsp), %r15
movl (%r14), %ebp
movl $0x0, (%r14)
leaq 0x48(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
movl $0xa, %edx
callq 0x5570
cmpq %r15, (%r12)
je 0x24a64
movq %rax, %rbx
addq $-0x80000000, %rax      # imm = 0x80000000
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rax
jb 0x24a70
movl (%r14), %eax
cmpl $0x22, %eax
je 0x24a70
testl %eax, %eax
jne 0x240c5
movl %ebp, (%r14)
leaq 0x3b0(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x3cd3(%rip), %rsi      # 0x27dab
leaq 0x3cdb(%rip), %rdx      # 0x27dba
leaq 0x3a0(%rsp), %rdi
callq 0x74e8
leaq 0x390(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x3ef1(%rip), %rsi      # 0x27ff0
leaq 0x3efd(%rip), %rdx      # 0x28003
leaq 0x380(%rsp), %rdi
callq 0x74e8
leaq 0x3a0(%rsp), %rsi
leaq 0x380(%rsp), %rdx
movl %ebx, %edi
callq 0x21974
movq 0x380(%rsp), %rdi
cmpq %r15, %rdi
je 0x24147
movq 0x390(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x3a0(%rsp), %rdi
cmpq %r14, %rdi
je 0x24164
movq 0x3b0(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x2417b
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x10e2e(%rip), %rdi     # 0x34fb0
leaq 0x3fe1(%rip), %rsi      # 0x2816a
movl $0x15, %edx
callq 0x5490
movq 0xa8(%rsp), %rsi
movq 0xb0(%rsp), %rdx
movq 0x10e06(%rip), %rdi     # 0x34fb0
callq 0x5490
movq %rax, %rbx
leaq 0x3fc7(%rip), %rsi      # 0x28180
movl $0x35, %edx
movq %rax, %rdi
callq 0x5490
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x52d0
movq 0x10d94(%rip), %rax     # 0x34f88
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq 0x910(%rsp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, 0x908(%rsp,%rcx)
callq 0x5340
leaq 0xa00(%rsp), %rdi
callq 0x5150
leaq 0x4a0(%rsp), %rdi
callq 0x50d0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x248f6
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x248f6
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
leaq 0x88(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x908(%rsp), %rsi
movq 0x910(%rsp), %rdx
callq 0x5130
leaq 0x58(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x242b8
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x242bf
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x48(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x3856(%rip), %rsi      # 0x27b38
callq 0x5730
leaq 0x2f0(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x24318
movq %rdx, 0x2e0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x2f0(%rsp)
jmp 0x24320
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rsi
leaq 0x2e0(%rsp), %rdx
movq %rsi, 0x8(%rdx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x6c0(%rsp), %rdi
leaq 0x340(%rsp), %rsi
callq 0x21548
movq 0x2e0(%rsp), %rdi
cmpq %r12, %rdi
je 0x24371
movq 0x2f0(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x48(%rsp), %rdi
cmpq %r15, %rdi
je 0x24388
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x88(%rsp), %rdi
cmpq %r14, %rdi
je 0x243a5
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x78(%rsp), %r12
movq -0x10(%r12), %rdi
cmpq %r12, %rdi
je 0x243c1
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x340(%rsp), %rdi
cmpq %r13, %rdi
je 0x243de
movq 0x350(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x6c0(%rsp), %rdi
callq 0x107a2
movq 0x10bbe(%rip), %rdi     # 0x34fb0
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
movq 0x10ba3(%rip), %rdi     # 0x34fb0
callq 0x5040
movq %rax, %rdi
callq 0x52d0
movq %rax, %rbx
leaq 0x3d95(%rip), %rsi      # 0x281b9
leaq 0x110(%rsp), %rdi
leaq 0xc8(%rsp), %rdx
callq 0x213d3
leaq 0x3736(%rip), %rsi      # 0x27b76
leaq 0x110(%rsp), %rdi
callq 0x5730
movq %r12, 0x68(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x24470
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0x24478
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x68(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x908(%rsp), %rsi
movq 0x910(%rsp), %rdx
callq 0x5130
movq %r14, 0x88(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x244d5
movq %rdx, 0x88(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x98(%rsp)
jmp 0x244dc
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
leaq 0x88(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x3636(%rip), %rsi      # 0x27b38
callq 0x5730
movq %r15, 0x48(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x2452a
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x24531
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x50(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
movq %rbx, %rdi
callq 0x5490
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x52d0
movq 0x48(%rsp), %rdi
cmpq %r15, %rdi
je 0x2459c
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x88(%rsp), %rdi
cmpq %r14, %rdi
je 0x245b9
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x68(%rsp), %rdi
cmpq %r12, %rdi
je 0x245d0
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x120(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x245f1
movq 0x120(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x2460d
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x53e0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x24628
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x150(%rsp), %rdi
callq 0x107a2
leaq 0x4a0(%rsp), %rdi
callq 0x50d0
movq 0x908(%rsp), %rdi
leaq 0x918(%rsp), %rax
cmpq %rax, %rdi
je 0x24667
movq 0x918(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x1a0(%rsp), %rdi
jmp 0x248f1
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x208(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x310(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0xc8(%rsp), %rsi
movq 0xd0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x300(%rsp), %rdi
callq 0x757e
leaq 0x6a8(%rsp), %rdi
movq %rsp, %rsi
callq 0x18134
leaq 0x320(%rsp), %rdi
leaq 0x200(%rsp), %rsi
leaq 0x300(%rsp), %rdx
leaq 0x6a8(%rsp), %rcx
callq 0x20c4a
leaq 0x6a8(%rsp), %rdi
callq 0x107a2
movq 0x300(%rsp), %rdi
cmpq %r12, %rdi
je 0x24722
movq 0x310(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x200(%rsp), %rdi
cmpq %r15, %rdi
je 0x2473f
movq 0x210(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x4a0(%rsp), %rdi
cmpq %r13, %rdi
je 0x2475c
movq 0x4b0(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x320(%rsp), %rdi
cmpq %r14, %rdi
je 0x24779
movq 0x330(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x3a7f(%rip), %rsi      # 0x281ff
leaq 0x908(%rsp), %rdi
leaq 0xc8(%rsp), %rdx
callq 0x213d3
leaq 0x33da(%rip), %rsi      # 0x27b76
leaq 0x908(%rsp), %rdi
callq 0x5730
movq %r13, 0x4a0(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x247d5
movq %rdx, 0x4a0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x4b0(%rsp)
jmp 0x247dd
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x4a8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x4a0(%rsp), %rsi
movq 0x4a8(%rsp), %rdx
movq 0x107a1(%rip), %rdi     # 0x34fb0
callq 0x5490
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x52d0
movq 0x4a0(%rsp), %rdi
cmpq %r13, %rdi
je 0x2485b
movq 0x4b0(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x918(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2487c
movq 0x918(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x1072d(%rip), %rdi     # 0x34fb0
leaq 0x384d(%rip), %rsi      # 0x280d7
movl $0x2f, %edx
callq 0x5490
movq 0xc8(%rsp), %rsi
movq 0xd0(%rsp), %rdx
movq 0x10705(%rip), %rdi     # 0x34fb0
callq 0x5490
movq %rax, %rbx
leaq 0x384d(%rip), %rsi      # 0x28107
movl $0x25, %edx
movq %rax, %rdi
callq 0x5490
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x52d0
movq %rsp, %rdi
callq 0x107a2
leaq 0xd8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x24917
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
leaq 0x718(%rsp), %rbx
je 0x24944
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x130(%rsp), %rdi
callq 0x107a2
movq 0x708(%rsp), %rdi
cmpq %rbx, %rdi
je 0x2496e
movq 0x718(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
je 0x24993
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x53e0
xorl %eax, %eax
addq $0xb08, %rsp            # imm = 0xB08
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x35e2(%rip), %rdi      # 0x27f90
leaq 0x360f(%rip), %rsi      # 0x27fc4
leaq 0x361d(%rip), %rcx      # 0x27fd9
movl $0xb4, %edx
callq 0x52c0
leaq 0x2151(%rip), %rdi      # 0x26b1e
callq 0x5250
leaq 0x2145(%rip), %rdi      # 0x26b1e
callq 0x55b0
leaq 0x3748(%rip), %rdi      # 0x2812d
leaq 0x35d8(%rip), %rsi      # 0x27fc4
leaq 0x35e6(%rip), %rcx      # 0x27fd9
movl $0xeb, %edx
callq 0x52c0
leaq 0x211a(%rip), %rdi      # 0x26b1e
callq 0x5250
leaq 0x210e(%rip), %rdi      # 0x26b1e
callq 0x55b0
leaq 0x2102(%rip), %rdi      # 0x26b1e
callq 0x5250
leaq 0x20f6(%rip), %rdi      # 0x26b1e
callq 0x55b0
leaq 0x20ea(%rip), %rdi      # 0x26b1e
callq 0x5250
leaq 0x20de(%rip), %rdi      # 0x26b1e
callq 0x55b0
leaq 0x3544(%rip), %rdi      # 0x27f90
leaq 0x3571(%rip), %rsi      # 0x27fc4
leaq 0x357f(%rip), %rcx      # 0x27fd9
movl $0x10b, %edx            # imm = 0x10B
callq 0x52c0
leaq 0x20b3(%rip), %rdi      # 0x26b1e
callq 0x5250
leaq 0x20a7(%rip), %rdi      # 0x26b1e
callq 0x55b0
leaq 0x209b(%rip), %rdi      # 0x26b1e
callq 0x5250
leaq 0x208f(%rip), %rdi      # 0x26b1e
callq 0x55b0
movq %rax, %rbx
jmp 0x24d9a
jmp 0x25038
movq %rax, %rbx
leaq 0x6a8(%rsp), %rdi
callq 0x107a2
jmp 0x24ab6
movq %rax, %rbx
movq 0x300(%rsp), %rdi
cmpq %r12, %rdi
je 0x24ad8
movq 0x310(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x24ad8
movq %rax, %rbx
movq 0x200(%rsp), %rdi
cmpq %r15, %rdi
je 0x24afa
movq 0x210(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x24afa
movq %rax, %rbx
movq 0x4a0(%rsp), %rdi
cmpq %r13, %rdi
je 0x24b1c
movq 0x4b0(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x24b1c
movq %rax, %rbx
movq 0x320(%rsp), %rdi
cmpq %r14, %rdi
je 0x2503b
movq 0x330(%rsp), %rsi
jmp 0x24db7
movq %rax, %rbx
jmp 0x24e31
movq %rax, %rbx
jmp 0x24e4e
movq %rax, %rbx
jmp 0x24e65
jmp 0x2538c
movq %rax, %rbx
movq 0x2e0(%rsp), %rdi
cmpq %r12, %rdi
je 0x24b7c
movq 0x2f0(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x24b7c
movq %rax, %rbx
movq 0x48(%rsp), %rdi
cmpq %r15, %rdi
je 0x24b98
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x24b98
movq %rax, %rbx
movq 0x88(%rsp), %rdi
cmpq %r14, %rdi
je 0x24bba
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x24bba
movq %rax, %rbx
leaq 0x78(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x24bda
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x24bda
movq %rax, %rbx
movq 0x340(%rsp), %rdi
cmpq %r13, %rdi
je 0x24bfc
movq 0x350(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x24bfc
movq %rax, %rbx
leaq 0x6c0(%rsp), %rdi
callq 0x107a2
jmp 0x2538f
movq %rax, %rbx
movq 0x3c0(%rsp), %rdi
cmpq %r12, %rdi
je 0x24d59
movq 0x3d0(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x24d59
movq %rax, %rbx
jmp 0x24d59
movq %rax, %rbx
jmp 0x24df3
movq %rax, %rbx
jmp 0x253ab
movq %rax, %rbx
jmp 0x253c6
movq %rax, %rbx
jmp 0x253d3
movq %rax, %rbx
jmp 0x253e0
movq %rax, %rbx
jmp 0x25405
movq %rax, %rbx
movq 0x360(%rsp), %rdi
cmpq %r14, %rdi
je 0x25412
movq 0x370(%rsp), %rsi
jmp 0x25102
jmp 0x24d45
movq %rax, %rbx
movq 0x380(%rsp), %rdi
cmpq %r15, %rdi
je 0x24cba
movq 0x390(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x24cba
movq %rax, %rbx
movq 0x3a0(%rsp), %rdi
cmpq %r14, %rdi
je 0x24dd8
movq 0x3b0(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x24dd8
movq %rax, %rbx
jmp 0x24dd8
jmp 0x250ce
jmp 0x250ce
movq %rax, %rbx
jmp 0x250de
jmp 0x24d3d
jmp 0x24d3d
movq %rax, %rbx
leaq 0x4a0(%rsp), %rdi
callq 0x25760
jmp 0x24d13
movq %rax, %rbx
leaq 0x918(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x250eb
movq 0x918(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x250eb
movq %rax, %rbx
jmp 0x250eb
movq %rax, %rbx
jmp 0x25412
movq %rax, %rbx
cmpl $0x0, (%r14)
jne 0x24d59
movl %ebp, (%r14)
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x24df3
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x24df3
movq %rax, %rbx
movq 0x4a0(%rsp), %rdi
cmpq %r13, %rdi
je 0x24d9a
movq 0x4b0(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x918(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2503b
movq 0x918(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x2503b
movq %rax, %rbx
jmp 0x2509c
movq %rax, %rbx
cmpl $0x0, (%r14)
jne 0x24dd8
movl %ebp, (%r14)
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
jne 0x24e05
jmp 0x250d1
movq %rax, %rbx
cmpl $0x0, (%r14)
jne 0x24df3
movl %r13d, (%r14)
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x250d1
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x250d1
movq %rax, %rbx
movq 0x48(%rsp), %rdi
cmpq %r15, %rdi
je 0x24e31
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x88(%rsp), %rdi
cmpq %r14, %rdi
je 0x24e4e
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x68(%rsp), %rdi
cmpq %r12, %rdi
je 0x24e65
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x120(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2538f
movq 0x120(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x2538f
jmp 0x250ce
movq %rax, %rbx
jmp 0x2513e
jmp 0x2532f
movq %rax, %rbx
leaq 0x6d8(%rsp), %rdi
callq 0x107a2
jmp 0x24eb6
movq %rax, %rbx
movq 0x420(%rsp), %rdi
cmpq %r12, %rdi
je 0x24ed8
movq 0x430(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x24ed8
movq %rax, %rbx
movq 0x220(%rsp), %rdi
cmpq %r15, %rdi
je 0x24efa
movq 0x230(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x24efa
movq %rax, %rbx
leaq 0x4b0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x24f20
movq 0x4b0(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x24f20
movq %rax, %rbx
movq 0x440(%rsp), %rdi
cmpq %r14, %rdi
je 0x255e3
movq 0x450(%rsp), %rsi
jmp 0x255db
movq %rax, %rbx
movq 0x3e0(%rsp), %rdi
cmpq %r15, %rdi
je 0x25433
movq 0x3f0(%rsp), %rsi
jmp 0x2542b
jmp 0x24fbf
movq %rax, %rbx
jmp 0x2507e
jmp 0x24fbf
movq %rax, %rbx
leaq 0x4a0(%rsp), %rdi
callq 0x25760
jmp 0x24f80
movq %rax, %rbx
leaq 0x718(%rsp), %rax
movq -0x10(%rax), %rdi
jmp 0x2514e
jmp 0x2532f
movq %rax, %rbx
movq 0x460(%rsp), %rdi
cmpq %r14, %rdi
je 0x25604
movq 0x470(%rsp), %rsi
jmp 0x255fc
movq %rax, %rbx
jmp 0x25604
movq %rax, %rbx
jmp 0x25433
movq %rax, %rbx
jmp 0x25629
movq %rax, %rbx
movq 0x400(%rsp), %rdi
cmpq %r14, %rdi
je 0x25465
movq 0x410(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x25465
movq %rax, %rbx
movq 0x480(%rsp), %rdi
cmpq %r14, %rdi
je 0x25643
movq 0x490(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x25643
jmp 0x250be
movq %rax, %rbx
jmp 0x25643
jmp 0x250c6
jmp 0x250c6
movq %rax, %rbx
movq %rsp, %rdi
jmp 0x2540d
movq %rax, %rbx
cmpl $0x0, (%r14)
jne 0x2504f
movl %r13d, (%r14)
leaq 0x918(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2509c
movq 0x918(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x2509c
movq %rax, %rbx
cmpl $0x0, (%r14)
jne 0x2507e
movl %ebp, (%r14)
movq 0x4a0(%rsp), %rdi
cmpq %r13, %rdi
jne 0x250b1
jmp 0x25433
movq %rax, %rbx
cmpl $0x0, (%r14)
jne 0x2509c
movl %ebp, (%r14)
leaq 0x4b0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x25433
movq 0x4b0(%rsp), %rsi
jmp 0x2542b
movq %rax, %rbx
jmp 0x25465
movq %rax, %rbx
jmp 0x25650
movq %rax, %rbx
leaq 0x908(%rsp), %rdi
callq 0x55d0
leaq 0x4a0(%rsp), %rdi
callq 0x50d0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x25412
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x25412
jmp 0x254a9
jmp 0x254db
jmp 0x254a1
movq %rax, %rbx
movq 0x4a0(%rsp), %rdi
cmpq %r15, %rdi
je 0x2513e
movq 0x4b0(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x708(%rsp), %rdi
leaq 0x718(%rsp), %rax
cmpq %rax, %rdi
je 0x255e3
movq 0x718(%rsp), %rsi
jmp 0x255db
jmp 0x2538c
jmp 0x254a1
movq %rax, %rbx
jmp 0x25300
jmp 0x25178
movq %rax, %rbx
jmp 0x2530d
movq %rax, %rbx
movq 0x180(%rsp), %rdi
leaq 0x190(%rsp), %rax
cmpq %rax, %rdi
je 0x251b5
movq 0x190(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x251b5
movq %rax, %rbx
jmp 0x25233
movq %rax, %rbx
movq 0x110(%rsp), %rdi
leaq 0x120(%rsp), %rax
cmpq %rax, %rdi
je 0x251e4
movq 0x120(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x251e4
movq %rax, %rbx
jmp 0x25258
movq %rax, %rbx
movq 0x130(%rsp), %rdi
leaq 0x140(%rsp), %rax
cmpq %rax, %rdi
je 0x2520e
movq 0x140(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x2520e
movq %rax, %rbx
movq 0x1a0(%rsp), %rdi
leaq 0x1b0(%rsp), %rax
cmpq %rax, %rdi
je 0x25233
movq 0x1b0(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x1c0(%rsp), %rdi
leaq 0x1d0(%rsp), %rax
cmpq %rax, %rdi
je 0x25258
movq 0x1d0(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x6f0(%rsp), %rdi
callq 0x107a2
leaq 0x78(%rsp), %r14
jmp 0x25508
movq %rax, %rbx
movq 0x240(%rsp), %rdi
leaq 0x250(%rsp), %rax
cmpq %rax, %rdi
je 0x252a4
movq 0x250(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x252a4
movq %rax, %rbx
jmp 0x25544
movq %rax, %rbx
movq 0x1e0(%rsp), %rdi
leaq 0x1f0(%rsp), %rax
cmpq %rax, %rdi
je 0x2555e
movq 0x1f0(%rsp), %rsi
jmp 0x254fb
movq %rax, %rbx
jmp 0x25551
jmp 0x254a1
jmp 0x254a1
jmp 0x254a1
movq %rax, %rbx
jmp 0x2551f
jmp 0x254d3
jmp 0x2532f
movq %rax, %rbx
leaq 0x708(%rsp), %rdi
callq 0x55d0
leaq 0x4a0(%rsp), %rdi
callq 0x50d0
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x2555e
movq 0x78(%rsp), %rsi
jmp 0x254fb
jmp 0x254db
movq %rax, %rbx
jmp 0x255e3
movq %rax, %rbx
jmp 0x255c8
movq %rax, %rbx
movq 0x260(%rsp), %rdi
leaq 0x270(%rsp), %rax
cmpq %rax, %rdi
je 0x255c8
movq 0x270(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x255c8
movq %rax, %rbx
jmp 0x255bb
jmp 0x25499
jmp 0x25499
jmp 0x254d3
jmp 0x254a1
movq %rax, %rbx
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x253ab
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x53e0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x253c6
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x150(%rsp), %rdi
callq 0x107a2
leaq 0x4a0(%rsp), %rdi
callq 0x50d0
movq 0x908(%rsp), %rdi
leaq 0x918(%rsp), %rax
cmpq %rax, %rdi
je 0x25405
movq 0x918(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x1a0(%rsp), %rdi
callq 0x107a2
leaq 0xd8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x25433
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x25458
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x130(%rsp), %rdi
callq 0x107a2
movq 0x708(%rsp), %rdi
leaq 0x718(%rsp), %rax
cmpq %rax, %rdi
je 0x25650
movq 0x718(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x25650
jmp 0x254a1
jmp 0x254db
jmp 0x25505
movq %rax, %rbx
jmp 0x2559f
movq %rax, %rbx
jmp 0x2555e
movq %rax, %rbx
movq 0x708(%rsp), %rdi
leaq 0x718(%rsp), %rax
cmpq %rax, %rdi
je 0x254de
movq 0x718(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x254de
movq %rax, %rbx
jmp 0x25583
movq %rax, %rbx
movq 0x4a0(%rsp), %rdi
leaq 0x4b0(%rsp), %rax
cmpq %rax, %rdi
je 0x2555e
movq 0x4b0(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x2555e
movq %rax, %rbx
movq 0x68(%rsp), %rdi
cmpq %r14, %rdi
je 0x2551f
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x708(%rsp), %rdi
leaq 0x718(%rsp), %rax
cmpq %rax, %rdi
je 0x25544
movq 0x718(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x280(%rsp), %rdi
callq 0x107a2
leaq 0x4a0(%rsp), %rdi
callq 0x50d0
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x25583
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x2559f
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x255bb
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x168(%rsp), %rdi
callq 0x107a2
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x255e3
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0xd8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x25604
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x25629
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x2a0(%rsp), %rdi
callq 0x107a2
leaq 0x150(%rsp), %rdi
callq 0x107a2
leaq 0x908(%rsp), %rdi
callq 0x55d0
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
je 0x25675
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x53e0
movq %rbx, %rdi
callq 0x56a0
nop