// File: /workspace/github_cpp_makefile_star2_O1/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 $0xaf8, %rsp            # imm = 0xAF8
movq %rsi, %rbx
movl %edi, %ebp
leaq 0xf8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5a05(%rip), %rdx      # 0x27b9a
leaq 0xe8(%rsp), %rdi
movq %rdx, %rsi
callq 0x7592
cmpl $0x1, %ebp
jne 0x23442
movq 0x12dfb(%rip), %rbx     # 0x34fb0
leaq 0x5b4a(%rip), %rsi      # 0x27d06
movl $0x11, %edx
movq %rbx, %rdi
callq 0x5490
movq 0x12e08(%rip), %rdi     # 0x34fd8
leaq 0xe8(%rsp), %rsi
callq 0x5510
leaq 0x8f8(%rsp), %rdi
callq 0x5670
leaq 0x480(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0xe8(%rsp), %rsi
movq 0xf0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x470(%rsp), %rdi
callq 0x7622
leaq 0x188(%rsp), %rdi
leaq 0x470(%rsp), %rsi
callq 0x1224b
movq 0x470(%rsp), %rdi
cmpq %r14, %rdi
je 0x22248
movq 0x480(%rsp), %rsi
incq %rsi
callq 0x53e0
xorps %xmm0, %xmm0
movaps %xmm0, 0x150(%rsp)
movq $0x0, 0x160(%rsp)
leaq 0xb0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5928(%rip), %rdx      # 0x27b9a
leaq 0xa0(%rsp), %rdi
movq %rdx, %rsi
callq 0x7592
leaq 0x460(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0xe8(%rsp), %rsi
movq 0xf0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x450(%rsp), %rdi
callq 0x7622
leaq 0x130(%rsp), %rdi
leaq 0x450(%rsp), %rsi
callq 0x11f60
movq 0x450(%rsp), %rdi
cmpq %r14, %rdi
je 0x222e0
movq 0x460(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x5a31(%rip), %rsi      # 0x27d18
leaq 0x6f8(%rsp), %rdi
leaq 0x130(%rsp), %rdx
callq 0x215bd
leaq 0x490(%rsp), %rdi
leaq 0x6f8(%rsp), %rsi
movl $0x2, %edx
callq 0x258f2
leaq 0x490(%rsp), %rdi
callq 0x51b0
leaq 0x490(%rsp), %rdi
callq 0x25996
leaq 0x708(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x22351
movq 0x708(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x188(%rsp), %rcx
movq 0x190(%rsp), %rax
movq %rax, 0x2c8(%rsp)
cmpq %rax, %rcx
je 0x233af
leaq 0x30(%rsp), %r14
movq 0x12c0a(%rip), %rax     # 0x34f88
movq (%rax), %rdx
movq %rdx, 0x2c0(%rsp)
movq 0x18(%rax), %rax
movq %rax, 0x2b8(%rsp)
leaq 0x80(%rsp), %r12
movq 0x12c34(%rip), %r15     # 0x34fd8
leaq 0x70(%rsp), %rax
movq %rax, 0x60(%rsp)
movq (%rcx), %rsi
movq %rcx, 0x108(%rsp)
movq 0x8(%rcx), %rdx
addq %rsi, %rdx
leaq 0x60(%rsp), %rdi
callq 0x7622
leaq 0x290(%rsp), %rax
movq %rax, 0x280(%rsp)
movq 0x60(%rsp), %rsi
movq 0x68(%rsp), %rdx
addq %rsi, %rdx
leaq 0x280(%rsp), %r13
movq %r13, %rdi
callq 0x7622
leaq 0x170(%rsp), %rdi
movq %r13, %rsi
callq 0x125de
movq 0x280(%rsp), %rdi
leaq 0x290(%rsp), %rax
cmpq %rax, %rdi
je 0x2242c
movq 0x290(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x170(%rsp), %rax
leaq 0x10(%rsp), %rcx
movq %rcx, (%rsp)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0x7622
movq 0x170(%rsp), %rsi
leaq 0x170(%rsp), %rdi
callq 0x259ce
movl $0xe, %edx
movq %rbx, %rdi
leaq 0x58b3(%rip), %rsi      # 0x27d26
callq 0x5490
movq 0x60(%rsp), %rsi
movq 0x68(%rsp), %rdx
movq %rbx, %rdi
callq 0x5490
movq %rax, %r13
movl $0x5, %edx
movq %rax, %rdi
leaq 0x5899(%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 0x5863(%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 0x90(%rsp), %rax
movq %rax, 0x80(%rsp)
movq %r12, %rdi
leaq 0x4e79(%rip), %rsi      # 0x27397
leaq 0x4e73(%rip), %rdx      # 0x27398
callq 0x7592
movl $0x1c, %edx
movq %rbx, %rdi
leaq 0x5827(%rip), %rsi      # 0x27d60
callq 0x5490
movq %r15, %rdi
movq %r12, %rsi
callq 0x5510
movq %r12, %rdi
leaq 0x4f48(%rip), %rsi      # 0x2749b
callq 0x5120
testl %eax, %eax
je 0x2256f
movq %r12, %rdi
leaq 0x4e31(%rip), %rsi      # 0x27397
callq 0x5120
testl %eax, %eax
jne 0x2252a
movq %r12, %rdi
leaq 0x4e1e(%rip), %rsi      # 0x27397
callq 0x5120
testl %eax, %eax
jne 0x2332c
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 0x57be(%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 0x50(%rsp), %rax
movq %rax, 0x40(%rsp)
leaq 0x40(%rsp), %rdi
leaq 0x4d95(%rip), %rsi      # 0x27397
leaq 0x4d8f(%rip), %rdx      # 0x27398
callq 0x7592
leaq 0x40(%rsp), %r13
movl $0x1c, %edx
movq %rbx, %rdi
leaq 0x573e(%rip), %rsi      # 0x27d60
callq 0x5490
movq %r15, %rdi
movq %r13, %rsi
callq 0x5510
movq %r13, %rdi
leaq 0x4e5f(%rip), %rsi      # 0x2749b
callq 0x5120
testl %eax, %eax
je 0x22658
movq %r13, %rdi
leaq 0x4d48(%rip), %rsi      # 0x27397
callq 0x5120
testl %eax, %eax
jne 0x22613
leaq 0x8f8(%rsp), %rdi
leaq 0x5744(%rip), %rsi      # 0x27dab
movl $0x10, %edx
callq 0x5070
leaq 0x150(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x10944
leaq 0x40(%rsp), %rdi
leaq 0x4d08(%rip), %rsi      # 0x27397
callq 0x5120
testl %eax, %eax
je 0x227c1
movl $0x28, %edx
movq %rbx, %rdi
leaq 0x588c(%rip), %rsi      # 0x27f37
callq 0x5490
movq %r14, 0x20(%rsp)
leaq 0x20(%rsp), %r13
movq %r13, %rdi
leaq 0x54d6(%rip), %rdx      # 0x27b9a
movq %rdx, %rsi
callq 0x7592
movq %r15, %rdi
movq %r13, %rsi
callq 0x5510
leaq 0x490(%rsp), %rdi
movq %r13, %rsi
movl $0x4, %edx
callq 0x5620
leaq 0x6f8(%rsp), %rdi
leaq 0x56b0(%rip), %rsi      # 0x27dab
movl $0x4, %edx
callq 0x5440
movq 0x490(%rsp), %rax
movq -0x18(%rax), %rax
movq 0x578(%rsp,%rax), %rdi
testq %rdi, %rdi
je 0x22744
movq 0x6f8(%rsp), %rax
movq -0x18(%rax), %rax
movq 0x7e0(%rsp,%rax), %rsi
testq %rsi, %rsi
je 0x22744
leaq 0xc0(%rsp), %rdx
callq 0x50b0
leaq 0x490(%rsp), %rdi
callq 0x50c0
leaq 0x6f8(%rsp), %rdi
callq 0x5590
movq 0x2c0(%rsp), %rax
movq %rax, 0x6f8(%rsp)
movq -0x18(%rax), %rax
movq 0x2b8(%rsp), %rcx
movq %rcx, 0x6f8(%rsp,%rax)
leaq 0x700(%rsp), %rdi
callq 0x5340
leaq 0x7f0(%rsp), %rdi
callq 0x5150
leaq 0x490(%rsp), %rdi
callq 0x50d0
movq 0x20(%rsp), %rdi
cmpq %r14, %rdi
je 0x22cf4
movq 0x30(%rsp), %rsi
jmp 0x22cec
movq 0x170(%rsp), %r14
movq 0x178(%rsp), %rbp
cmpq %rbp, %r14
je 0x229b9
leaq 0x4a0(%rsp), %rax
movq %rax, 0x490(%rsp)
movq (%r14), %rsi
movq 0x8(%r14), %rdx
addq %rsi, %rdx
leaq 0x490(%rsp), %rdi
callq 0x7622
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 0x5581(%rip), %rsi      # 0x27dbb
callq 0x5490
movq 0x490(%rsp), %rsi
movq 0x498(%rsp), %rdx
movq %r13, %rdi
callq 0x5490
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
leaq 0x53bd(%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 0x5555(%rip), %rsi      # 0x27dfa
callq 0x5490
movq %r15, %rdi
leaq 0xa0(%rsp), %rsi
callq 0x5510
movq 0x178(%rsp), %rsi
addq $-0x20, %rsi
leaq 0x490(%rsp), %rdi
callq 0x5050
movq 0x490(%rsp), %rsi
movq 0x498(%rsp), %rdx
testl %eax, %eax
je 0x2294f
leaq 0x8f8(%rsp), %rdi
callq 0x5490
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
leaq 0x4216(%rip), %rsi      # 0x26b1c
callq 0x5490
movq 0xa0(%rsp), %rsi
movq 0xa8(%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 0x2298b
leaq 0x8f8(%rsp), %rdi
callq 0x5490
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
leaq 0x41ae(%rip), %rsi      # 0x26b1c
callq 0x5490
movq 0xa0(%rsp), %rsi
movq 0xa8(%rsp), %rdx
movq %r13, %rdi
callq 0x5490
movq 0x490(%rsp), %rdi
leaq 0x4a0(%rsp), %rax
cmpq %rax, %rdi
je 0x229b0
movq 0x4a0(%rsp), %rsi
incq %rsi
callq 0x53e0
addq $0x20, %r14
jmp 0x227d1
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x53b0
leaq 0x30(%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 0x5445(%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 0x4a0(%rsp), %rax
movq %rax, 0x490(%rsp)
leaq 0x490(%rsp), %rdi
leaq 0x4954(%rip), %rsi      # 0x27397
leaq 0x494e(%rip), %rdx      # 0x27398
callq 0x7592
leaq 0x490(%rsp), %r13
movl $0x1c, %edx
movq %rbx, %rdi
leaq 0x52fa(%rip), %rsi      # 0x27d60
callq 0x5490
movq %r15, %rdi
movq %r13, %rsi
callq 0x5510
movq %r13, %rdi
leaq 0x4a1b(%rip), %rsi      # 0x2749b
callq 0x5120
testl %eax, %eax
je 0x22a9c
movq %r13, %rdi
leaq 0x4904(%rip), %rsi      # 0x27397
callq 0x5120
testl %eax, %eax
jne 0x22a57
movq %r13, %rdi
leaq 0x49f5(%rip), %rsi      # 0x2749b
callq 0x5120
testl %eax, %eax
jne 0x22ba1
movq 0x8f8(%rsp), %rax
movq -0x18(%rax), %rdi
leaq 0x8f8(%rsp), %rax
addq %rax, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
leaq 0x8f8(%rsp), %rdi
callq 0x5040
movq %rax, %rdi
callq 0x52d0
movl $0xc, %edx
movq %rax, %rdi
leaq 0x5373(%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 0x5342(%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 0x534f(%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 0x708(%rsp), %rax
movq %rax, 0x6f8(%rsp)
leaq 0x6f8(%rsp), %rdi
leaq 0x4fda(%rip), %rdx      # 0x27b9a
movq %rdx, %rsi
callq 0x7592
leaq 0x490(%rsp), %rdi
leaq 0x48c4(%rip), %rsi      # 0x2749b
callq 0x5120
testl %eax, %eax
jne 0x22c9d
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 0x52d7(%rip), %rsi      # 0x27ef1
callq 0x5490
movq %r15, %rdi
leaq 0x6f8(%rsp), %rsi
callq 0x5510
leaq 0x6f8(%rsp), %rdi
leaq 0x52f4(%rip), %rsi      # 0x27f32
callq 0x5120
testl %eax, %eax
je 0x22c9d
movq 0x8f8(%rsp), %rax
movq -0x18(%rax), %rdi
leaq 0x8f8(%rsp), %rax
addq %rax, %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
leaq 0x8f8(%rsp), %rdi
callq 0x5040
movq %rax, %rdi
callq 0x52d0
movq 0x6f8(%rsp), %rsi
movq 0x700(%rsp), %rdx
movq %rax, %rdi
callq 0x5490
jmp 0x22bc8
leaq 0x8f8(%rsp), %rdi
callq 0x5590
movq 0x6f8(%rsp), %rdi
leaq 0x708(%rsp), %rax
cmpq %rax, %rdi
je 0x22ccf
movq 0x708(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x490(%rsp), %rdi
leaq 0x4a0(%rsp), %rax
cmpq %rax, %rdi
je 0x22cf4
movq 0x4a0(%rsp), %rsi
incq %rsi
callq 0x53e0
movl $0x2f, %edx
movq %rbx, %rdi
leaq 0x525d(%rip), %rsi      # 0x27f60
callq 0x5490
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %rbx, %rdi
callq 0x5490
movl $0x3, %edx
movq %rax, %rdi
leaq 0x5110(%rip), %rsi      # 0x27e38
callq 0x5490
movl $0x0, 0xe4(%rsp)
movq %r15, %rdi
leaq 0xe4(%rsp), %rsi
callq 0x5260
movslq 0xe4(%rsp), %r13
testq %r13, %r13
jle 0x24bca
movq 0x178(%rsp), %rax
subq 0x170(%rsp), %rax
sarq $0x5, %rax
cmpq %r13, %rax
jb 0x24bca
leaq 0x210(%rsp), %rax
movq %rax, 0x200(%rsp)
leaq 0x200(%rsp), %rdi
leaq 0x5016(%rip), %rsi      # 0x27dab
leaq 0x501e(%rip), %rdx      # 0x27dba
callq 0x7592
leaq 0x270(%rsp), %rax
movq %rax, 0x260(%rsp)
leaq 0x260(%rsp), %rbp
movq %rbp, %rdi
leaq 0x522d(%rip), %rsi      # 0x27ff0
leaq 0x5239(%rip), %rdx      # 0x28003
callq 0x7592
movl %r13d, %edi
leaq 0x200(%rsp), %rsi
movq %rbp, %rdx
callq 0x21b64
movq 0x260(%rsp), %rdi
leaq 0x270(%rsp), %rax
cmpq %rax, %rdi
je 0x22e07
movq 0x270(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x200(%rsp), %rdi
leaq 0x210(%rsp), %rax
cmpq %rax, %rdi
je 0x22e2c
movq 0x210(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x490(%rsp), %r13
movq %r13, %rdi
callq 0x5480
movq %r13, %rdi
leaq 0x51aa(%rip), %rsi      # 0x27ff0
movl $0x8, %edx
callq 0x5290
xorps %xmm0, %xmm0
movaps %xmm0, 0x2a0(%rsp)
movq $0x0, 0x2b0(%rsp)
leaq 0x708(%rsp), %rax
movq %rax, 0x6f8(%rsp)
leaq 0x6f8(%rsp), %rdi
leaq 0x4d14(%rip), %r13      # 0x27b9a
movq %r13, %rsi
movq %r13, %rdx
callq 0x7592
movq %r14, 0x20(%rsp)
leaq 0x20(%rsp), %rdi
movq %r13, %rsi
movq %r13, %rdx
callq 0x7592
movl $0xe, %edx
movq %rbx, %rdi
leaq 0x514f(%rip), %rsi      # 0x28004
callq 0x5490
movq 0x60(%rsp), %rsi
movq 0x68(%rsp), %rdx
movq %rbx, %rdi
callq 0x5490
movq %rax, %r13
movl $0x5, %edx
movq %rax, %rdi
leaq 0x4e57(%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 0x50f9(%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 0x5100(%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 0x490(%rsp), %rax
movq -0x18(%rax), %rax
testb $0x2, 0x4b0(%rsp,%rax)
jne 0x23040
leaq (%rsp,%rax), %rdi
addq $0x490, %rdi            # imm = 0x490
movl $0xa, %esi
callq 0x53b0
movsbl %al, %edx
leaq 0x490(%rsp), %rdi
leaq 0x6f8(%rsp), %rsi
callq 0x56f0
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %rbx, %rdi
callq 0x5490
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
leaq 0x4c2d(%rip), %rsi      # 0x27c18
callq 0x5490
movq 0x6f8(%rsp), %rsi
movq 0x700(%rsp), %rdx
movq %r13, %rdi
callq 0x5490
movl $0x3, %edx
movq %rax, %rdi
leaq 0x5083(%rip), %rsi      # 0x2809a
callq 0x5490
movq %r15, %rdi
leaq 0x20(%rsp), %rsi
callq 0x5510
leaq 0x2a0(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x10944
jmp 0x22f81
leaq 0x6e0(%rsp), %rdi
leaq 0x2a0(%rsp), %rsi
callq 0x183be
leaq 0x1f0(%rsp), %rax
movq %rax, 0x1e0(%rsp)
leaq 0x1e0(%rsp), %rdi
leaq 0x4f7c(%rip), %rsi      # 0x27ff0
leaq 0x4f88(%rip), %rdx      # 0x28003
callq 0x7592
leaq 0x1a0(%rsp), %r13
movq %r13, %rdi
leaq 0x4c86(%rip), %rsi      # 0x27d18
leaq 0x130(%rsp), %rdx
callq 0x215bd
movq %r13, %rdi
leaq 0x4acd(%rip), %rsi      # 0x27b76
callq 0x5730
leaq 0x120(%rsp), %rsi
movq %rsi, 0x110(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x230e2
movq %rdx, 0x110(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x120(%rsp)
jmp 0x230e8
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)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x110(%rsp), %rdi
callq 0x5130
leaq 0xd0(%rsp), %rsi
movq %rsi, 0xc0(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x2314d
movq %rdx, 0xc0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xd0(%rsp)
jmp 0x23153
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0xc8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xc0(%rsp), %rdi
leaq 0x49bb(%rip), %rsi      # 0x27b38
callq 0x5730
leaq 0x1d0(%rsp), %rsi
movq %rsi, 0x1c0(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x231b6
movq %rdx, 0x1c0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1d0(%rsp)
jmp 0x231bc
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x1c8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x6e0(%rsp), %rdi
leaq 0x1e0(%rsp), %rsi
leaq 0x1c0(%rsp), %rdx
callq 0x2172f
movq 0x1c0(%rsp), %rdi
leaq 0x1d0(%rsp), %rax
cmpq %rax, %rdi
je 0x23219
movq 0x1d0(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0xc0(%rsp), %rdi
leaq 0xd0(%rsp), %rax
cmpq %rax, %rdi
je 0x2323e
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x110(%rsp), %rdi
leaq 0x120(%rsp), %rax
cmpq %rax, %rdi
je 0x23263
movq 0x120(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x1a0(%rsp), %rdi
leaq 0x1b0(%rsp), %rax
cmpq %rax, %rdi
je 0x23288
movq 0x1b0(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x1e0(%rsp), %rdi
leaq 0x1f0(%rsp), %rax
cmpq %rax, %rdi
je 0x232ad
movq 0x1f0(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x6e0(%rsp), %rdi
callq 0x10982
movq 0x20(%rsp), %rdi
cmpq %r14, %rdi
je 0x232d1
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x6f8(%rsp), %rdi
leaq 0x708(%rsp), %rax
cmpq %rax, %rdi
je 0x232f6
movq 0x708(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x2a0(%rsp), %rdi
callq 0x10982
leaq 0x490(%rsp), %rdi
callq 0x50d0
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x2332c
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x80(%rsp), %rdi
leaq 0x90(%rsp), %rax
cmpq %rax, %rdi
je 0x23351
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x53e0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x2336c
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x170(%rsp), %rdi
callq 0x10982
movq 0x60(%rsp), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x23395
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x108(%rsp), %rcx
addq $0x20, %rcx
cmpq 0x2c8(%rsp), %rcx
jne 0x223a4
leaq 0x440(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0xe8(%rsp), %rsi
movq 0xf0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x430(%rsp), %rdi
callq 0x7622
leaq 0x4936(%rip), %rsi      # 0x27d18
leaq 0x490(%rsp), %rdi
leaq 0x130(%rsp), %rdx
callq 0x215bd
leaq 0x4778(%rip), %rsi      # 0x27b76
leaq 0x490(%rsp), %rdi
callq 0x5730
leaq 0x250(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x23b4c
movq %rdx, 0x240(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x250(%rsp)
jmp 0x23b53
leaq 0x708(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x4745(%rip), %rdx      # 0x27b9a
leaq 0x6f8(%rsp), %rdi
movq %rdx, %rsi
callq 0x7592
movq 0x8(%rbx), %r14
leaq 0x6f8(%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 0xe8(%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 0x400(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0xe8(%rsp), %rsi
movq 0xf0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x3f0(%rsp), %rdi
callq 0x7622
leaq 0x1a0(%rsp), %rdi
leaq 0x3f0(%rsp), %rsi
callq 0x1224b
movq 0x3f0(%rsp), %rdi
cmpq %r14, %rdi
je 0x23519
movq 0x400(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0xb0(%rsp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
movq 0x18(%rbx), %rsi
leaq 0x490(%rsp), %rdi
leaq 0x60(%rsp), %rdx
callq 0x258b4
movq 0x490(%rsp), %r12
callq 0x5060
movq %rax, %r14
movl (%rax), %ebp
movl $0x0, (%rax)
leaq 0x8f8(%rsp), %r13
movq %r12, %rdi
movq %r13, %rsi
movl $0xa, %edx
callq 0x5570
cmpq %r12, (%r13)
je 0x24be9
movq %rax, %r15
movslq %r15d, %rax
cmpq %r15, %rax
jne 0x24bf5
movl (%r14), %eax
cmpl $0x22, %eax
je 0x24bf5
testl %eax, %eax
jne 0x235a2
movl %ebp, (%r14)
testl %r15d, %r15d
jle 0x23644
movq 0x18(%rbx), %rsi
leaq 0x130(%rsp), %rdi
leaq 0x170(%rsp), %rdx
callq 0x258b4
movq 0x130(%rsp), %r12
movl (%r14), %ebp
movl $0x0, (%r14)
leaq 0x8f8(%rsp), %r13
movq %r12, %rdi
movq %r13, %rsi
movl $0xa, %edx
callq 0x5570
cmpq %r12, (%r13)
je 0x24c38
leaq -0x80000000(%rax), %rcx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
cmpq %rdx, %rcx
jb 0x24c44
movl (%r14), %ecx
cmpl $0x22, %ecx
je 0x24c44
testl %ecx, %ecx
jne 0x23625
movl %ebp, (%r14)
movq 0x1a8(%rsp), %rcx
subq 0x1a0(%rsp), %rcx
cltq
sarq $0x5, %rcx
cmpq %rax, %rcx
setae %bpl
jmp 0x23646
xorl %ebp, %ebp
testl %r15d, %r15d
jle 0x2366c
leaq 0x140(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2366c
movq 0x140(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x4a0(%rsp), %r13
movq -0x10(%r13), %rdi
cmpq %r13, %rdi
je 0x2368d
movq 0x4a0(%rsp), %rsi
incq %rsi
callq 0x53e0
testb %bpl, %bpl
je 0x24c01
movq 0x18(%rbx), %rsi
leaq 0x490(%rsp), %rdi
leaq 0x60(%rsp), %rdx
callq 0x258b4
movq 0x490(%rsp), %r15
movl (%r14), %ebp
movl $0x0, (%r14)
leaq 0x8f8(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
movl $0xa, %edx
callq 0x5570
cmpq %r15, (%r12)
je 0x24c20
leaq -0x80000000(%rax), %rcx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
cmpq %rdx, %rcx
jb 0x24c2c
movl (%r14), %ecx
cmpl $0x22, %ecx
je 0x24c2c
testl %ecx, %ecx
jne 0x2370d
movl %ebp, (%r14)
shlq $0x20, %rax
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
addq %rcx, %rax
sarq $0x1b, %rax
addq 0x1a0(%rsp), %rax
leaq 0xa0(%rsp), %rdi
movq %rax, %rsi
callq 0x5210
movq 0x490(%rsp), %rdi
cmpq %r13, %rdi
je 0x23757
movq 0x4a0(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x3e0(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0xe8(%rsp), %rsi
movq 0xf0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x3d0(%rsp), %rdi
callq 0x7622
leaq 0x60(%rsp), %rdi
leaq 0x3d0(%rsp), %rsi
callq 0x11f60
movq 0x3d0(%rsp), %rdi
cmpq %r15, %rdi
je 0x237b2
movq 0x3e0(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x49ae(%rip), %rsi      # 0x28167
leaq 0x6f8(%rsp), %rdi
callq 0x5120
testl %eax, %eax
je 0x238b4
leaq 0x49e1(%rip), %rsi      # 0x281b6
leaq 0x6f8(%rsp), %rdi
callq 0x5120
testl %eax, %eax
je 0x23e99
leaq 0x4a0b(%rip), %rsi      # 0x281fc
leaq 0x6f8(%rsp), %rdi
callq 0x5120
testl %eax, %eax
jne 0x24b1f
xorps %xmm0, %xmm0
movq %rsp, %rdi
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
leaq 0xa0(%rsp), %rsi
callq 0x10944
leaq 0x320(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0xe8(%rsp), %rsi
movq 0xf0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x310(%rsp), %rdi
callq 0x7622
leaq 0x44c1(%rip), %rsi      # 0x27d18
leaq 0x490(%rsp), %rdi
leaq 0x60(%rsp), %rdx
callq 0x215bd
leaq 0x4306(%rip), %rsi      # 0x27b76
leaq 0x490(%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 0x248ac
movq %rdx, 0x220(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x230(%rsp)
jmp 0x248b3
leaq 0x10(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x42d6(%rip), %rdx      # 0x27b9a
movq %rsp, %rdi
movq %rdx, %rsi
callq 0x7592
leaq 0x4442(%rip), %rsi      # 0x27d18
leaq 0x8f8(%rsp), %rdi
leaq 0x60(%rsp), %rdx
callq 0x215bd
leaq 0x490(%rsp), %rdi
leaq 0x8f8(%rsp), %rsi
movl $0x2, %edx
callq 0x258f2
leaq 0x490(%rsp), %rdi
callq 0x51b0
leaq 0x490(%rsp), %rdi
callq 0x25996
leaq 0x908(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2393d
movq 0x908(%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 0x490(%rsp), %rdi
movq %rsp, %rsi
movl $0x4, %edx
callq 0x5620
leaq 0x442b(%rip), %rsi      # 0x27dab
leaq 0x8f8(%rsp), %rdi
movl $0x4, %edx
callq 0x5440
movq 0x490(%rsp), %rax
movq -0x18(%rax), %rax
movq 0x578(%rsp,%rax), %rdi
testq %rdi, %rdi
je 0x239d1
movq 0x8f8(%rsp), %rax
movq -0x18(%rax), %rax
movq 0x9e0(%rsp,%rax), %rsi
testq %rsi, %rsi
je 0x239d1
leaq 0x80(%rsp), %rdx
callq 0x50b0
leaq 0x490(%rsp), %rdi
callq 0x50c0
leaq 0x8f8(%rsp), %rdi
callq 0x5590
movq 0x28(%rbx), %rsi
leaq 0x80(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x258b4
movq 0x80(%rsp), %r12
movl (%r14), %ebp
movl $0x0, (%r14)
leaq 0x40(%rsp), %r13
movq %r12, %rdi
movq %r13, %rsi
movl $0xa, %edx
callq 0x5570
cmpq %r12, (%r13)
je 0x24c50
movq %rax, %r15
addq $-0x80000000, %rax      # imm = 0x80000000
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rax
jb 0x24c5c
movl (%r14), %eax
cmpl $0x22, %eax
je 0x24c5c
testl %eax, %eax
jne 0x23a64
movl %ebp, (%r14)
testl %r15d, %r15d
jle 0x24201
movq 0x28(%rbx), %rsi
leaq 0x40(%rsp), %rdi
leaq 0x110(%rsp), %rdx
callq 0x258b4
movq 0x40(%rsp), %r13
movl (%r14), %eax
movl %eax, 0x108(%rsp)
movl $0x0, (%r14)
leaq 0x20(%rsp), %rbp
movq %r13, %rdi
movq %rbp, %rsi
movl $0xa, %edx
callq 0x5570
cmpq %r13, (%rbp)
je 0x24c9f
movq %rax, %r12
addq $-0x80000000, %rax      # imm = 0x80000000
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rax
jb 0x24cab
movl (%r14), %eax
cmpl $0x22, %eax
je 0x24cab
testl %eax, %eax
jne 0x23aee
movl 0x108(%rsp), %eax
movl %eax, (%r14)
leaq 0x3c0(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0xa0(%rsp), %rsi
movq 0xa8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x3b0(%rsp), %rdi
callq 0x7622
leaq 0x20(%rsp), %rdi
leaq 0x3b0(%rsp), %rsi
callq 0x125de
movslq %r12d, %rax
movq 0x28(%rsp), %rcx
subq 0x20(%rsp), %rcx
sarq $0x5, %rcx
decq %rcx
cmpq %rax, %rcx
setae %bpl
jmp 0x24203
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x248(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x420(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0x130(%rsp), %rsi
movq 0x138(%rsp), %rdx
addq %rsi, %rdx
leaq 0x410(%rsp), %rdi
callq 0x7622
leaq 0x6c8(%rsp), %rdi
leaq 0x150(%rsp), %rsi
callq 0x183be
leaq 0x430(%rsp), %rdi
leaq 0x240(%rsp), %rsi
leaq 0x410(%rsp), %rdx
leaq 0x6c8(%rsp), %rcx
callq 0x20e34
leaq 0x6c8(%rsp), %rdi
callq 0x10982
movq 0x410(%rsp), %rdi
cmpq %r12, %rdi
je 0x23bff
movq 0x420(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x240(%rsp), %rdi
cmpq %r15, %rdi
je 0x23c1c
movq 0x250(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x4a0(%rsp), %r15
movq -0x10(%r15), %rdi
cmpq %r15, %rdi
je 0x23c3d
movq 0x4a0(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x430(%rsp), %rdi
cmpq %r14, %rdi
je 0x23c5a
movq 0x440(%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 0x11338(%rip), %rdi     # 0x34fb0
callq 0x5040
movq %rax, %rdi
callq 0x52d0
movq %rax, %rbx
leaq 0x440f(%rip), %rsi      # 0x2809e
leaq 0x6f8(%rsp), %rdi
leaq 0x130(%rsp), %rdx
callq 0x215bd
leaq 0x3ecb(%rip), %rsi      # 0x27b76
leaq 0x6f8(%rsp), %rdi
callq 0x5730
movq %r15, 0x490(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x23ce4
movq %rdx, 0x490(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x4a0(%rsp)
jmp 0x23ceb
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x498(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x490(%rsp), %rsi
movq 0x498(%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 0x490(%rsp), %rdi
cmpq %r15, %rdi
je 0x23d65
movq 0x4a0(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x6f8(%rsp), %rdi
leaq 0x708(%rsp), %rax
cmpq %rax, %rdi
je 0x23d8a
movq 0x708(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x1121f(%rip), %rdi     # 0x34fb0
leaq 0x433f(%rip), %rsi      # 0x280d7
movl $0x2f, %edx
callq 0x5490
movq 0x130(%rsp), %rsi
movq 0x138(%rsp), %rdx
movq 0x111f7(%rip), %rdi     # 0x34fb0
callq 0x5490
movq %rax, %rbx
leaq 0x433f(%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 0x140(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x23e1d
movq 0x140(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x23e42
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x150(%rsp), %rdi
callq 0x10982
leaq 0x188(%rsp), %rdi
callq 0x10982
movq 0x11125(%rip), %rax     # 0x34f88
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq 0x900(%rsp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, 0x8f8(%rsp,%rcx)
callq 0x5340
leaq 0x9f0(%rsp), %rdi
callq 0x5150
jmp 0x24b91
leaq 0x360(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0xa0(%rsp), %rsi
movq 0xa8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x350(%rsp), %rdi
callq 0x7622
leaq 0x188(%rsp), %rdi
leaq 0x350(%rsp), %rsi
callq 0x125de
movq 0x350(%rsp), %rdi
cmpq %r14, %rdi
je 0x23ef7
movq 0x360(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x188(%rsp), %rax
leaq 0x908(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
leaq 0x8f8(%rsp), %rdi
callq 0x7622
leaq 0x490(%rsp), %rdi
callq 0x5480
movq 0x20(%rbx), %rsi
leaq 0x490(%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 0x3c2e(%rip), %rdx      # 0x27b9a
movq %rsp, %rdi
movq %rdx, %rsi
callq 0x7592
leaq 0x90(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3c10(%rip), %rdx      # 0x27b9a
leaq 0x80(%rsp), %rdi
movq %rdx, %rsi
callq 0x7592
movq 0x1100f(%rip), %rdi     # 0x34fb0
leaq 0x405c(%rip), %rsi      # 0x28004
movl $0xe, %edx
callq 0x5490
movq 0xa0(%rsp), %rsi
movq 0xa8(%rsp), %rdx
movq 0x10fe7(%rip), %rdi     # 0x34fb0
callq 0x5490
movq %rax, %rbx
leaq 0x3d5d(%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 0x10f9d(%rip), %rbx     # 0x34fb0
leaq 0x3ff9(%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 0x10f6b(%rip), %rdi     # 0x34fb0
callq 0x5040
movq %rax, %rdi
callq 0x52d0
movq 0x10f57(%rip), %rbx     # 0x34fb0
leaq 0x3ff5(%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 0x10f25(%rip), %rdi     # 0x34fb0
callq 0x5040
movq %rax, %rdi
callq 0x52d0
leaq 0x3b79(%rip), %r12      # 0x27c18
leaq 0x3ff4(%rip), %r13      # 0x2809a
movq 0x10f2b(%rip), %rbp     # 0x34fd8
leaq 0x80(%rsp), %rbx
leaq 0x150(%rsp), %r14
movq 0x490(%rsp), %rax
movq -0x18(%rax), %rax
testb $0x2, 0x4b0(%rsp,%rax)
jne 0x2416a
leaq (%rsp,%rax), %rdi
addq $0x490, %rdi            # imm = 0x490
movl $0xa, %esi
callq 0x53b0
movsbl %al, %edx
leaq 0x490(%rsp), %rdi
movq %rsp, %rsi
callq 0x56f0
movq 0x8f8(%rsp), %rsi
movq 0x900(%rsp), %rdx
movq 0x10e9a(%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 0x10944
jmp 0x240bd
leaq 0x6b0(%rsp), %rdi
leaq 0x150(%rsp), %rsi
callq 0x183be
leaq 0x340(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x3e5e(%rip), %rsi      # 0x27ff0
leaq 0x3e6a(%rip), %rdx      # 0x28003
leaq 0x330(%rsp), %rdi
callq 0x7592
leaq 0x3b6b(%rip), %rsi      # 0x27d18
leaq 0xc0(%rsp), %rdi
leaq 0x60(%rsp), %rdx
callq 0x215bd
leaq 0x39b0(%rip), %rsi      # 0x27b76
leaq 0xc0(%rsp), %rdi
callq 0x5730
leaq 0x30(%rsp), %r14
movq %r14, -0x10(%r14)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x2448b
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x24492
xorl %ebp, %ebp
testl %r15d, %r15d
jle 0x2424e
leaq 0x20(%rsp), %rdi
callq 0x10982
leaq 0x3c0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x24233
movq 0x3c0(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x50(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2424e
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x90(%rsp), %r13
movq -0x10(%r13), %rdi
cmpq %r13, %rdi
je 0x2426f
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x53e0
testb %bpl, %bpl
je 0x24c68
movq 0x28(%rbx), %rsi
leaq 0x80(%rsp), %rdi
leaq 0x188(%rsp), %rdx
callq 0x258b4
movq 0x80(%rsp), %r15
movl (%r14), %ebp
movl $0x0, (%r14)
leaq 0xc0(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
movl $0xa, %edx
callq 0x5570
cmpq %r15, (%r12)
je 0x24c87
movq %rax, %rbx
addq $-0x80000000, %rax      # imm = 0x80000000
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rax
jb 0x24c93
movl (%r14), %eax
cmpl $0x22, %eax
je 0x24c93
testl %eax, %eax
jne 0x242f4
movl %ebp, (%r14)
leaq 0x3a0(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x3aa4(%rip), %rsi      # 0x27dab
leaq 0x3aac(%rip), %rdx      # 0x27dba
leaq 0x390(%rsp), %rdi
callq 0x7592
leaq 0x380(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x3cc2(%rip), %rsi      # 0x27ff0
leaq 0x3cce(%rip), %rdx      # 0x28003
leaq 0x370(%rsp), %rdi
callq 0x7592
leaq 0x390(%rsp), %rsi
leaq 0x370(%rsp), %rdx
movl %ebx, %edi
callq 0x21b64
movq 0x370(%rsp), %rdi
cmpq %r15, %rdi
je 0x24376
movq 0x380(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x390(%rsp), %rdi
cmpq %r14, %rdi
je 0x24393
movq 0x3a0(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x80(%rsp), %rdi
cmpq %r13, %rdi
je 0x243b0
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x10bf9(%rip), %rdi     # 0x34fb0
leaq 0x3dac(%rip), %rsi      # 0x2816a
movl $0x15, %edx
callq 0x5490
movq 0xa0(%rsp), %rsi
movq 0xa8(%rsp), %rdx
movq 0x10bd1(%rip), %rdi     # 0x34fb0
callq 0x5490
movq %rax, %rbx
leaq 0x3d92(%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 0x10b5f(%rip), %rax     # 0x34f88
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq 0x900(%rsp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, 0x8f8(%rsp,%rcx)
callq 0x5340
leaq 0x9f0(%rsp), %rdi
callq 0x5150
leaq 0x490(%rsp), %rdi
callq 0x50d0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x24b1f
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x24b1f
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
leaq 0x20(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x8f8(%rsp), %rsi
movq 0x900(%rsp), %rdx
callq 0x5130
leaq 0x50(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x244ea
movq %rdx, 0x40(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x50(%rsp)
jmp 0x244f1
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x40(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x3624(%rip), %rsi      # 0x27b38
callq 0x5730
leaq 0x2e0(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x2454a
movq %rdx, 0x2d0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x2e0(%rsp)
jmp 0x24552
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rsi
leaq 0x2d0(%rsp), %rdx
movq %rsi, 0x8(%rdx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x6b0(%rsp), %rdi
leaq 0x330(%rsp), %rsi
callq 0x2172f
movq 0x2d0(%rsp), %rdi
cmpq %r12, %rdi
je 0x245a3
movq 0x2e0(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x40(%rsp), %rdi
cmpq %r15, %rdi
je 0x245ba
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x20(%rsp), %rdi
cmpq %r14, %rdi
je 0x245d1
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0xd0(%rsp), %r12
movq -0x10(%r12), %rdi
cmpq %r12, %rdi
je 0x245f3
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x330(%rsp), %rdi
cmpq %r13, %rdi
je 0x24610
movq 0x340(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x6b0(%rsp), %rdi
callq 0x10982
movq 0x1098c(%rip), %rdi     # 0x34fb0
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0xa, %esi
callq 0x53b0
movsbl %al, %esi
movq 0x10971(%rip), %rdi     # 0x34fb0
callq 0x5040
movq %rax, %rdi
callq 0x52d0
movq %rax, %rbx
leaq 0x3b63(%rip), %rsi      # 0x281b9
leaq 0x110(%rsp), %rdi
leaq 0x60(%rsp), %rdx
callq 0x215bd
leaq 0x3507(%rip), %rsi      # 0x27b76
leaq 0x110(%rsp), %rdi
callq 0x5730
movq %r12, 0xc0(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x246a8
movq %rdx, 0xc0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xd0(%rsp)
jmp 0x246b0
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0xc0(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x8f8(%rsp), %rsi
movq 0x900(%rsp), %rdx
callq 0x5130
movq %r14, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x24707
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x2470e
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
leaq 0x20(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x3407(%rip), %rsi      # 0x27b38
callq 0x5730
movq %r15, 0x40(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x24759
movq %rdx, 0x40(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x50(%rsp)
jmp 0x24760
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x48(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x40(%rsp), %rsi
movq 0x48(%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 0x40(%rsp), %rdi
cmpq %r15, %rdi
je 0x247cb
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x20(%rsp), %rdi
cmpq %r14, %rdi
je 0x247e2
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0xc0(%rsp), %rdi
cmpq %r12, %rdi
je 0x247ff
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x120(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x24820
movq 0x120(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x80(%rsp), %rdi
leaq 0x90(%rsp), %rax
cmpq %rax, %rdi
je 0x24845
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x53e0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x24860
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x150(%rsp), %rdi
callq 0x10982
leaq 0x490(%rsp), %rdi
callq 0x50d0
movq 0x8f8(%rsp), %rdi
leaq 0x908(%rsp), %rax
cmpq %rax, %rdi
je 0x2489f
movq 0x908(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x188(%rsp), %rdi
jmp 0x24b1a
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 0x300(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0x60(%rsp), %rsi
movq 0x68(%rsp), %rdx
addq %rsi, %rdx
leaq 0x2f0(%rsp), %rdi
callq 0x7622
leaq 0x698(%rsp), %rdi
movq %rsp, %rsi
callq 0x183be
leaq 0x310(%rsp), %rdi
leaq 0x220(%rsp), %rsi
leaq 0x2f0(%rsp), %rdx
leaq 0x698(%rsp), %rcx
callq 0x20e34
leaq 0x698(%rsp), %rdi
callq 0x10982
movq 0x2f0(%rsp), %rdi
cmpq %r12, %rdi
je 0x24954
movq 0x300(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x220(%rsp), %rdi
cmpq %r15, %rdi
je 0x24971
movq 0x230(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x490(%rsp), %rdi
cmpq %r13, %rdi
je 0x2498e
movq 0x4a0(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x310(%rsp), %rdi
cmpq %r14, %rdi
je 0x249ab
movq 0x320(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x384d(%rip), %rsi      # 0x281ff
leaq 0x8f8(%rsp), %rdi
leaq 0x60(%rsp), %rdx
callq 0x215bd
leaq 0x31ab(%rip), %rsi      # 0x27b76
leaq 0x8f8(%rsp), %rdi
callq 0x5730
movq %r13, 0x490(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x24a04
movq %rdx, 0x490(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x4a0(%rsp)
jmp 0x24a0c
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x498(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x490(%rsp), %rsi
movq 0x498(%rsp), %rdx
movq 0x10572(%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 0x490(%rsp), %rdi
cmpq %r13, %rdi
je 0x24a8a
movq 0x4a0(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x908(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x24aab
movq 0x908(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x104fe(%rip), %rdi     # 0x34fb0
leaq 0x361e(%rip), %rsi      # 0x280d7
movl $0x2f, %edx
callq 0x5490
movq 0x60(%rsp), %rsi
movq 0x68(%rsp), %rdx
movq 0x104dc(%rip), %rdi     # 0x34fb0
callq 0x5490
movq %rax, %rbx
leaq 0x3624(%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 0x10982
leaq 0x70(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x24b3a
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
leaq 0x708(%rsp), %rbx
je 0x24b67
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x1a0(%rsp), %rdi
callq 0x10982
movq 0x6f8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x24b91
movq 0x708(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x24bb6
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x53e0
xorl %eax, %eax
addq $0xaf8, %rsp            # imm = 0xAF8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x33bf(%rip), %rdi      # 0x27f90
leaq 0x33ec(%rip), %rsi      # 0x27fc4
leaq 0x33fa(%rip), %rcx      # 0x27fd9
movl $0xb4, %edx
callq 0x52c0
leaq 0x1f2e(%rip), %rdi      # 0x26b1e
callq 0x5250
leaq 0x1f22(%rip), %rdi      # 0x26b1e
callq 0x55b0
leaq 0x3525(%rip), %rdi      # 0x2812d
leaq 0x33b5(%rip), %rsi      # 0x27fc4
leaq 0x33c3(%rip), %rcx      # 0x27fd9
movl $0xeb, %edx
callq 0x52c0
leaq 0x1ef7(%rip), %rdi      # 0x26b1e
callq 0x5250
leaq 0x1eeb(%rip), %rdi      # 0x26b1e
callq 0x55b0
leaq 0x1edf(%rip), %rdi      # 0x26b1e
callq 0x5250
leaq 0x1ed3(%rip), %rdi      # 0x26b1e
callq 0x55b0
leaq 0x1ec7(%rip), %rdi      # 0x26b1e
callq 0x5250
leaq 0x1ebb(%rip), %rdi      # 0x26b1e
callq 0x55b0
leaq 0x3321(%rip), %rdi      # 0x27f90
leaq 0x334e(%rip), %rsi      # 0x27fc4
leaq 0x335c(%rip), %rcx      # 0x27fd9
movl $0x10b, %edx            # imm = 0x10B
callq 0x52c0
leaq 0x1e90(%rip), %rdi      # 0x26b1e
callq 0x5250
leaq 0x1e84(%rip), %rdi      # 0x26b1e
callq 0x55b0
leaq 0x1e78(%rip), %rdi      # 0x26b1e
callq 0x5250
leaq 0x1e6c(%rip), %rdi      # 0x26b1e
callq 0x55b0
movq %rax, %rbx
jmp 0x24fc4
jmp 0x2526b
movq %rax, %rbx
leaq 0x698(%rsp), %rdi
callq 0x10982
jmp 0x24cd9
movq %rax, %rbx
movq 0x2f0(%rsp), %rdi
cmpq %r12, %rdi
je 0x24cfb
movq 0x300(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x24cfb
movq %rax, %rbx
movq 0x220(%rsp), %rdi
cmpq %r15, %rdi
je 0x24d1d
movq 0x230(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x24d1d
movq %rax, %rbx
movq 0x490(%rsp), %rdi
cmpq %r13, %rdi
je 0x24d3f
movq 0x4a0(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x24d3f
movq %rax, %rbx
movq 0x310(%rsp), %rdi
cmpq %r14, %rdi
je 0x2526e
movq 0x320(%rsp), %rsi
jmp 0x24fe1
movq %rax, %rbx
jmp 0x25064
movq %rax, %rbx
jmp 0x2507b
movq %rax, %rbx
jmp 0x25098
jmp 0x255bf
movq %rax, %rbx
movq 0x2d0(%rsp), %rdi
cmpq %r12, %rdi
je 0x24d9f
movq 0x2e0(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x24d9f
movq %rax, %rbx
movq 0x40(%rsp), %rdi
cmpq %r15, %rdi
je 0x24dbb
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x24dbb
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %r14, %rdi
je 0x24dd7
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x24dd7
movq %rax, %rbx
leaq 0xd0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x24dfd
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x24dfd
movq %rax, %rbx
movq 0x330(%rsp), %rdi
cmpq %r13, %rdi
je 0x24e1f
movq 0x340(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x24e1f
movq %rax, %rbx
leaq 0x6b0(%rsp), %rdi
callq 0x10982
jmp 0x255c2
movq %rax, %rbx
movq 0x3b0(%rsp), %rdi
cmpq %r13, %rdi
je 0x24f83
movq 0x3c0(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x24f83
movq %rax, %rbx
jmp 0x24f83
movq %rax, %rbx
jmp 0x25020
movq %rax, %rbx
jmp 0x255e7
movq %rax, %rbx
jmp 0x25602
movq %rax, %rbx
jmp 0x2560f
movq %rax, %rbx
jmp 0x2561c
movq %rax, %rbx
jmp 0x25641
movq %rax, %rbx
movq 0x350(%rsp), %rdi
cmpq %r14, %rdi
je 0x2564e
movq 0x360(%rsp), %rsi
jmp 0x25335
jmp 0x24f68
movq %rax, %rbx
movq 0x370(%rsp), %rdi
cmpq %r15, %rdi
je 0x24edd
movq 0x380(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x24edd
movq %rax, %rbx
movq 0x390(%rsp), %rdi
cmpq %r14, %rdi
je 0x25002
movq 0x3a0(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x25002
movq %rax, %rbx
jmp 0x25002
jmp 0x25301
jmp 0x25301
movq %rax, %rbx
jmp 0x25311
jmp 0x24f60
jmp 0x24f60
movq %rax, %rbx
leaq 0x490(%rsp), %rdi
callq 0x25996
jmp 0x24f36
movq %rax, %rbx
leaq 0x908(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2531e
movq 0x908(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x2531e
movq %rax, %rbx
jmp 0x2531e
movq %rax, %rbx
jmp 0x2564e
movq %rax, %rbx
cmpl $0x0, (%r14)
jne 0x24f83
movl 0x108(%rsp), %eax
movl %eax, (%r14)
leaq 0x50(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x25020
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x25020
movq %rax, %rbx
movq 0x490(%rsp), %rdi
cmpq %r13, %rdi
je 0x24fc4
movq 0x4a0(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x908(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2526e
movq 0x908(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x2526e
movq %rax, %rbx
jmp 0x252cf
movq %rax, %rbx
cmpl $0x0, (%r14)
jne 0x25002
movl %ebp, (%r14)
movq 0x80(%rsp), %rdi
cmpq %r13, %rdi
jne 0x25035
jmp 0x25304
movq %rax, %rbx
cmpl $0x0, (%r14)
jne 0x25020
movl %ebp, (%r14)
leaq 0x90(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x25304
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x25304
movq %rax, %rbx
movq 0x40(%rsp), %rdi
cmpq %r15, %rdi
je 0x25064
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x20(%rsp), %rdi
cmpq %r14, %rdi
je 0x2507b
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0xc0(%rsp), %rdi
cmpq %r12, %rdi
je 0x25098
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x120(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x255c2
movq 0x120(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x255c2
jmp 0x25301
movq %rax, %rbx
jmp 0x25371
jmp 0x25562
movq %rax, %rbx
leaq 0x6c8(%rsp), %rdi
callq 0x10982
jmp 0x250e9
movq %rax, %rbx
movq 0x410(%rsp), %rdi
cmpq %r12, %rdi
je 0x2510b
movq 0x420(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x2510b
movq %rax, %rbx
movq 0x240(%rsp), %rdi
cmpq %r15, %rdi
je 0x2512d
movq 0x250(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x2512d
movq %rax, %rbx
leaq 0x4a0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x25153
movq 0x4a0(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x25153
movq %rax, %rbx
movq 0x430(%rsp), %rdi
cmpq %r14, %rdi
je 0x25819
movq 0x440(%rsp), %rsi
jmp 0x25811
movq %rax, %rbx
movq 0x3d0(%rsp), %rdi
cmpq %r15, %rdi
je 0x25669
movq 0x3e0(%rsp), %rsi
jmp 0x25661
jmp 0x251f2
movq %rax, %rbx
jmp 0x252b1
jmp 0x251f2
movq %rax, %rbx
leaq 0x490(%rsp), %rdi
callq 0x25996
jmp 0x251b3
movq %rax, %rbx
leaq 0x708(%rsp), %rax
movq -0x10(%rax), %rdi
jmp 0x25381
jmp 0x25562
movq %rax, %rbx
movq 0x450(%rsp), %rdi
cmpq %r14, %rdi
je 0x2583a
movq 0x460(%rsp), %rsi
jmp 0x25832
movq %rax, %rbx
jmp 0x2583a
movq %rax, %rbx
jmp 0x25669
movq %rax, %rbx
jmp 0x2585f
movq %rax, %rbx
movq 0x3f0(%rsp), %rdi
cmpq %r14, %rdi
je 0x2569b
movq 0x400(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x2569b
movq %rax, %rbx
movq 0x470(%rsp), %rdi
cmpq %r14, %rdi
je 0x25879
movq 0x480(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x25879
jmp 0x252f1
movq %rax, %rbx
jmp 0x25879
jmp 0x252f9
jmp 0x252f9
movq %rax, %rbx
movq %rsp, %rdi
jmp 0x25649
movq %rax, %rbx
cmpl $0x0, (%r14)
jne 0x25282
movl %ebp, (%r14)
leaq 0x140(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x252cf
movq 0x140(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x252cf
movq %rax, %rbx
cmpl $0x0, (%r14)
jne 0x252b1
movl %ebp, (%r14)
movq 0x490(%rsp), %rdi
cmpq %r13, %rdi
jne 0x252e4
jmp 0x25669
movq %rax, %rbx
cmpl $0x0, (%r14)
jne 0x252cf
movl %ebp, (%r14)
leaq 0x4a0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x25669
movq 0x4a0(%rsp), %rsi
jmp 0x25661
movq %rax, %rbx
jmp 0x2569b
movq %rax, %rbx
jmp 0x25886
movq %rax, %rbx
leaq 0x8f8(%rsp), %rdi
callq 0x55d0
leaq 0x490(%rsp), %rdi
callq 0x50d0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x2564e
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x2564e
jmp 0x256df
jmp 0x25711
jmp 0x256d7
movq %rax, %rbx
movq 0x490(%rsp), %rdi
cmpq %r15, %rdi
je 0x25371
movq 0x4a0(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x6f8(%rsp), %rdi
leaq 0x708(%rsp), %rax
cmpq %rax, %rdi
je 0x25819
movq 0x708(%rsp), %rsi
jmp 0x25811
jmp 0x255bf
jmp 0x256d7
movq %rax, %rbx
jmp 0x25533
jmp 0x253ab
movq %rax, %rbx
jmp 0x25540
movq %rax, %rbx
movq 0x1c0(%rsp), %rdi
leaq 0x1d0(%rsp), %rax
cmpq %rax, %rdi
je 0x253e8
movq 0x1d0(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x253e8
movq %rax, %rbx
jmp 0x25466
movq %rax, %rbx
movq 0xc0(%rsp), %rdi
leaq 0xd0(%rsp), %rax
cmpq %rax, %rdi
je 0x25417
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x25417
movq %rax, %rbx
jmp 0x2548b
movq %rax, %rbx
movq 0x110(%rsp), %rdi
leaq 0x120(%rsp), %rax
cmpq %rax, %rdi
je 0x25441
movq 0x120(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x25441
movq %rax, %rbx
movq 0x1a0(%rsp), %rdi
leaq 0x1b0(%rsp), %rax
cmpq %rax, %rdi
je 0x25466
movq 0x1b0(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x1e0(%rsp), %rdi
leaq 0x1f0(%rsp), %rax
cmpq %rax, %rdi
je 0x2548b
movq 0x1f0(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x6e0(%rsp), %rdi
callq 0x10982
leaq 0x30(%rsp), %r14
jmp 0x2573e
movq %rax, %rbx
movq 0x260(%rsp), %rdi
leaq 0x270(%rsp), %rax
cmpq %rax, %rdi
je 0x254d7
movq 0x270(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x254d7
movq %rax, %rbx
jmp 0x2577a
movq %rax, %rbx
movq 0x200(%rsp), %rdi
leaq 0x210(%rsp), %rax
cmpq %rax, %rdi
je 0x25794
movq 0x210(%rsp), %rsi
jmp 0x25731
movq %rax, %rbx
jmp 0x25787
jmp 0x256d7
jmp 0x256d7
jmp 0x256d7
movq %rax, %rbx
jmp 0x25755
jmp 0x25709
jmp 0x25562
movq %rax, %rbx
leaq 0x6f8(%rsp), %rdi
callq 0x55d0
leaq 0x490(%rsp), %rdi
callq 0x50d0
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x25794
movq 0x30(%rsp), %rsi
jmp 0x25731
jmp 0x25711
movq %rax, %rbx
jmp 0x25819
movq %rax, %rbx
jmp 0x257fd
movq %rax, %rbx
movq 0x280(%rsp), %rdi
leaq 0x290(%rsp), %rax
cmpq %rax, %rdi
je 0x257fd
movq 0x290(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x257fd
movq %rax, %rbx
jmp 0x257f0
jmp 0x256cf
jmp 0x256cf
jmp 0x25709
jmp 0x256d7
movq %rax, %rbx
movq 0x80(%rsp), %rdi
leaq 0x90(%rsp), %rax
cmpq %rax, %rdi
je 0x255e7
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x53e0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x25602
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x150(%rsp), %rdi
callq 0x10982
leaq 0x490(%rsp), %rdi
callq 0x50d0
movq 0x8f8(%rsp), %rdi
leaq 0x908(%rsp), %rax
cmpq %rax, %rdi
je 0x25641
movq 0x908(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x188(%rsp), %rdi
callq 0x10982
leaq 0x70(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x25669
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x2568e
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x1a0(%rsp), %rdi
callq 0x10982
movq 0x6f8(%rsp), %rdi
leaq 0x708(%rsp), %rax
cmpq %rax, %rdi
je 0x25886
movq 0x708(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x25886
jmp 0x256d7
jmp 0x25711
jmp 0x2573b
movq %rax, %rbx
jmp 0x257d5
movq %rax, %rbx
jmp 0x25794
movq %rax, %rbx
movq 0x6f8(%rsp), %rdi
leaq 0x708(%rsp), %rax
cmpq %rax, %rdi
je 0x25714
movq 0x708(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x25714
movq %rax, %rbx
jmp 0x257b0
movq %rax, %rbx
movq 0x490(%rsp), %rdi
leaq 0x4a0(%rsp), %rax
cmpq %rax, %rdi
je 0x25794
movq 0x4a0(%rsp), %rsi
incq %rsi
callq 0x53e0
jmp 0x25794
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %r14, %rdi
je 0x25755
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x6f8(%rsp), %rdi
leaq 0x708(%rsp), %rax
cmpq %rax, %rdi
je 0x2577a
movq 0x708(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x2a0(%rsp), %rdi
callq 0x10982
leaq 0x490(%rsp), %rdi
callq 0x50d0
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x257b0
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0x80(%rsp), %rdi
leaq 0x90(%rsp), %rax
cmpq %rax, %rdi
je 0x257d5
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x53e0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x257f0
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x170(%rsp), %rdi
callq 0x10982
movq 0x60(%rsp), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x25819
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x140(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2583a
movq 0x140(%rsp), %rsi
incq %rsi
callq 0x53e0
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x2585f
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x53e0
leaq 0x150(%rsp), %rdi
callq 0x10982
leaq 0x188(%rsp), %rdi
callq 0x10982
leaq 0x8f8(%rsp), %rdi
callq 0x55d0
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x258ab
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x53e0
movq %rbx, %rdi
callq 0x56a0
nop