// File: /workspace/github_cpp_makefile_star2_O1/cimtools[P]yaaclc/src/Analizer_ACL.cpp
// Function: Analizer_ACL::lexer()
void Analizer_ACL::lexer(){
    int line_count, iterations;

    line_count =0;
    iterations = 0;
    token_iterator=token_vector.begin();

    do{
        #ifdef DEBUGGING
        cout << "\n\nPosicaoao do iterador no comeco da analise  "<<std::distance(token_vector.begin(), token_iterator) << endl;
        cout<< "Start decoding token:    "<< (**token_iterator).content << " ------- " << (**token_iterator).type <<endl;
        #endif
        if ( eat_tokens_if_match({"WHITE SPACE"}) ){
            //Ignore.
        }
        else if( eat_tokens_if_match({"NEW LINE"}) ){

            ++line_count;

        }
        else if( eat_tokens_if_match({"_dimg","WHITE SPACE","WORD","INDEX", "NEW LINE"})){
            string map_key, index;
            int number_of_indexes;

            ++line_count;

            map_key = "var_" +  get_relative_token_content(-3) +"[";
            index =  get_relative_token_content(-2);
            index.erase(0,1); // remove '[' from index (first char)
            index.pop_back(); // remove ']' from index (last char)
            number_of_indexes = atoi(index.c_str());

            for(int i =0; i <= number_of_indexes; ++i ){
                #ifdef DEBUGGING
                cout << "\nDeclaring global variable named   " << map_key + to_string(i) + "]" << endl;
                #endif
                (**scopes.begin())[ map_key + to_string(i) + "]" ] = "";
            }

        }
        else if( eat_tokens_if_match({"_if", "WHITE SPACE"})){//Run the if block until an else, or jump until the correspondent else.
            string first_key, first_value, second_key, second_value, used_operator;
            bool condition;

            if( eat_tokens_if_match({"WORD","INDEX","WHITE SPACE"}) ){
                first_key = "var_" +  get_relative_token_content(-3) +  get_relative_token_content(-2);
            }else if( eat_tokens_if_match({"WORD", "WHITE SPACE"}) ){
                first_key = "var_" +  get_relative_token_content(-2);
            }else{
                cout << "\n!Expecting variable. Sintax error." << line_count << endl;
            }
            #ifdef DEBUGGING
            cout << "First key is  " << first_key << endl;
            #endif
            first_value = search_scopes( first_key );
            
            if( eat_tokens_if_match({"_<", "WHITE SPACE", "_>", "WHITE SPACE" })){
                used_operator = "< >";
            }else if( eat_tokens_if_match({ "OPERATOR", "WHITE SPACE" }) ){
                used_operator =  get_relative_token_content(-2);
            }else{
                cout << "\n!!Expecting operator. Sintax error." << line_count << endl;
            }

            if( eat_tokens_if_match({ "WORD", "INDEX", "NEW LINE" }) ){
                second_key = "var_" +  get_relative_token_content(-3) +  get_relative_token_content(-2);
                second_value = search_scopes( second_key );
            }else if( eat_tokens_if_match({ "WORD", "NEW LINE" }) ){
                second_key = "var_" +  get_relative_token_content(-2);
                second_value = search_scopes( second_key );
            }else if( eat_tokens_if_match({ "NUMBER", "NEW LINE" }) ){
                second_value =  get_relative_token_content(-2);
            }else{
                cout << "\n!Expecting variable. Sintax error." << line_count << endl;
            }

            ++line_count;
            #ifdef DEBUGGING
            cout << "The first value is " << first_value << "  the second value is " << second_value << endl;
            #endif
            if( used_operator == "=" ){
                condition = first_value == second_value;
            }else if( used_operator == "<"){
                condition = atoi(first_value.c_str()) < atoi(second_value.c_str()); 
            }else if( used_operator == ">"){
                condition = atoi(first_value.c_str()) > atoi(second_value.c_str());
            }else if( used_operator == "<=" ){
                condition = atoi(first_value.c_str()) <= atoi(second_value.c_str());
            }else if( used_operator == ">="){
                condition = atoi(first_value.c_str()) >= atoi(second_value.c_str());
            }else if( used_operator == "< >"){
                condition = atoi(first_value.c_str()) != atoi(second_value.c_str());
            }else{
                cout << "Error identifying the operator for comparison." << endl;
            }
            #ifdef DEBUGGING
            cout << "\nif condition is " << condition << endl;
            #endif
            if( condition ){
                //Enter if scope.
                scopes.push_back( new map<string,string> );
                ++scope_iterator;
            }else{
                //If case the condition wasent met, skip (the if block) until find endif or else. If get END token it is a ERROR!!
                skip_block();
            }
                
        }
        else if( eat_tokens_if_match({"_else"}) ){//If is reading else at this point is because it was inside an if, so the else block must be skipped.
            do{
                ++token_iterator;
                if((*token_iterator)->type == "END"){
                    cout << "coudn`t find the end of if block\n";
                    break;
                }
            }while( (*token_iterator)->content != "endif");
            ++token_iterator;//Skip the token that sinalizes the end of the block;

            --scope_iterator;
            scopes.pop_back();
        }
        else if( eat_tokens_if_match({ "_println", "WHITE SPACE", "STRING" })){ 
            string message, temp_read;

            message = get_relative_token_content(-1);
            message.erase(0,1); // erase the first char (")
            message.pop_back(); // erase the last char (")

            while( eat_tokens_if_match({ "WHITE SPACE", "STRING" })){
                temp_read = get_relative_token_content(-1);
                temp_read.erase(0,1);
                temp_read.pop_back();
                message += temp_read;
            }

            if( ! eat_tokens_if_match({ "NEW LINE" }) ){
                cout << "ERROR: EXPECTING NEW LINE TOKEN!!!!!!!" << endl;
            }
            #ifdef DEBUGGING
            cout << "_println case: Printing message   " << message << endl;
            #endif
            cout << message << endl;
        }
        else if( eat_tokens_if_match({ "_print", "WHITE SPACE", "STRING" })){ 
            string message, temp_read;

            message = get_relative_token_content(-1);
            message.erase(0,1); // erase the first char (")
            message.pop_back(); // erase the last char (")

            while( eat_tokens_if_match({ "WHITE SPACE", "STRING" })){
                temp_read = get_relative_token_content(-1);
                temp_read.erase(0,1);
                temp_read.pop_back();
                message += temp_read;
            }

            if( ! eat_tokens_if_match({ "NEW LINE" }) ){
                cout << "ERROR: EXPECTING NEW LINE TOKEN!!!!!!!" << endl;
            }else{
                ++line_count;
            }

            cout << message ;
        }
        else if( eat_tokens_if_match({ "_endif" }) ){    
            //If it hit an endif here it is geting out of a scope, then pop the scope
            --scope_iterator;
            scopes.pop_back();

        }
        else if( eat_tokens_if_match({ "_set", "WHITE SPACE", "WORD" }) ){
            string key, value;

            if( eat_tokens_if_match({ "INDEX", "WHITE SPACE", "_=", "WHITE SPACE", "NUMBER" }) ){
                key = "var_" + (*(token_iterator-6))->content + (*(token_iterator-5))->content;
                value = (*(token_iterator-1))->content;
            }else if( eat_tokens_if_match({ "WHITE SPACE", "_=", "WHITE SPACE", "NUMBER" }) ){
                key = "var_" + (*(token_iterator-5))->content;
                value = (*(token_iterator-1))->content;
            }

            (**scope_iterator)[key]= value;
            #ifdef DEBUGGING
            cout << "new value is " << key << " = " << (**scope_iterator)[key] << endl;
            #endif
        }   
        else if(eat_tokens_if_match({ "_delay", "WHITE SPACE", "NUMBER", "NEW LINE"})){
            
            string time_delay = get_relative_token_content(-2);
            int time_delay_converted = atoi(time_delay.c_str()) * 10000;
            cout<<"o valor de time delay eh  "<<time_delay<<endl;
            usleep(time_delay_converted);
            cout<<"testando delay"<<endl;
        }
        // else if( eat_tokens_if_match( { "FIRST TOKEN TYPE", "_token content" } )){
        //      Do something;
        // }
        else if((*token_iterator)->type == "END"){
            break;
        }

        ++iterations;

    }while( iterations < 200);

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x4e8, %rsp            # imm = 0x4E8
movq 0x20(%rdi), %rax
movq %rdi, -0x30(%rbp)
movq %rax, 0x38(%rdi)
leaq -0xb8(%rbp), %rax
movq %rax, -0x190(%rbp)
movl $0x80, %edx
leaq -0xd8(%rbp), %rax
leaq (%rax,%rdx), %rcx
movq %rcx, -0x208(%rbp)
leaq 0x90(%rax), %rcx
movq %rcx, -0x1f8(%rbp)
leaq -0xb8(%rbp), %rcx
movq %rcx, -0x278(%rbp)
addq %rax, %rdx
movq %rdx, -0x200(%rbp)
leaq -0xb8(%rbp), %rax
movq %rax, -0x1e0(%rbp)
movq %rax, -0x1d8(%rbp)
movq %rax, -0x1d0(%rbp)
movq %rax, -0x1c0(%rbp)
movq %rax, -0x188(%rbp)
movq %rax, -0x1b8(%rbp)
movq %rax, -0x280(%rbp)
movq %rax, -0x288(%rbp)
movq %rax, -0x1f0(%rbp)
movq %rax, -0x270(%rbp)
movq %rax, -0x1c8(%rbp)
movq %rax, -0x268(%rbp)
movq %rax, -0x1e8(%rbp)
movq %rax, -0x260(%rbp)
movq %rax, -0x258(%rbp)
leaq -0x160(%rbp), %r13
movl %eax, -0x11c(%rbp)
xorl %eax, %eax
movl $0x0, -0x120(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xc8(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq -0xd8(%rbp), %rbx
movq %rbx, %rdi
leaq 0x5323(%rip), %rsi      # 0x9165
leaq 0x5327(%rip), %rdx      # 0x9170
callq 0x2baa
movl $0x1, %edx
leaq -0x510(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
leaq -0x118(%rbp), %rcx
callq 0x7a8e
movq -0x30(%rbp), %rdi
movq %r14, %rsi
callq 0x387e
movl %eax, %ebx
movq %r14, %rdi
callq 0x7ad6
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x3ea4
movq -0xc8(%rbp), %rsi
incq %rsi
callq 0x21d0
testb %bl, %bl
jne 0x6477
leaq -0xc8(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq -0xd8(%rbp), %rbx
movq %rbx, %rdi
leaq 0x5291(%rip), %rsi      # 0x915c
leaq 0x5292(%rip), %rdx      # 0x9164
callq 0x2baa
movl $0x1, %edx
leaq -0x4f8(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
leaq -0x118(%rbp), %rcx
callq 0x7a8e
movq -0x30(%rbp), %rdi
movq %r14, %rsi
callq 0x387e
movl %eax, %ebx
movq %r14, %rdi
callq 0x7ad6
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x3f2d
movq -0xc8(%rbp), %rsi
incq %rsi
callq 0x21d0
testb %bl, %bl
jne 0x6471
leaq -0xc8(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq -0xd8(%rbp), %rdi
leaq 0x5252(%rip), %rsi      # 0x91a3
leaq 0x5250(%rip), %rdx      # 0x91a8
callq 0x2baa
leaq -0xa8(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq -0xb8(%rbp), %rdi
leaq 0x51ec(%rip), %rsi      # 0x9165
leaq 0x51f0(%rip), %rdx      # 0x9170
callq 0x2baa
leaq -0x88(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq -0x98(%rbp), %rdi
leaq 0x516b(%rip), %rsi      # 0x910c
leaq 0x5168(%rip), %rdx      # 0x9110
callq 0x2baa
leaq -0x4e0(%rbp), %rbx
leaq -0x68(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq -0x78(%rbp), %rdi
leaq 0x518f(%rip), %rsi      # 0x9156
leaq 0x518d(%rip), %rdx      # 0x915b
callq 0x2baa
movq -0x1f8(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x208(%rbp), %rdi
leaq 0x5170(%rip), %rsi      # 0x915c
leaq 0x5171(%rip), %rdx      # 0x9164
callq 0x2baa
movl $0x5, %edx
movq %rbx, %rdi
leaq -0xd8(%rbp), %rsi
leaq -0x118(%rbp), %rcx
callq 0x7a8e
movq -0x30(%rbp), %rdi
movq %rbx, %rsi
callq 0x387e
movq %rbx, %rdi
movl %eax, %ebx
callq 0x7ad6
movq $-0xa0, %r14
movq -0x1f8(%rbp), %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x404b
movq (%r15), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
addq $0x20, %r14
jne 0x4037
leaq -0xc8(%rbp), %rax
testb %bl, %bl
je 0x4104
movq %rax, -0xd8(%rbp)
xorl %eax, %eax
movq %rax, -0xd0(%rbp)
movb %al, -0xc8(%rbp)
leaq -0x108(%rbp), %rcx
movq %rcx, -0x118(%rbp)
movq %rax, -0x110(%rbp)
movb %al, -0x108(%rbp)
leaq -0x180(%rbp), %r14
movq %r14, %rdi
movq -0x30(%rbp), %rsi
movl $0xfffffffd, %edx       # imm = 0xFFFFFFFD
callq 0x3b8a
leaq -0xe8(%rbp), %rbx
movl $0x4, %r8d
movq %r14, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x50e1(%rip), %rcx      # 0x91a9
callq 0x2200
leaq -0x150(%rbp), %rsi
movq %rsi, -0x160(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4476
movq %rdx, -0x160(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x150(%rbp)
jmp 0x447c
movq %rax, -0xd8(%rbp)
leaq -0xd8(%rbp), %rdi
leaq 0x5099(%rip), %rsi      # 0x91b2
leaq 0x5095(%rip), %rdx      # 0x91b5
callq 0x2baa
leaq -0xa8(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq -0xb8(%rbp), %rdi
leaq 0x5024(%rip), %rsi      # 0x9165
leaq 0x5028(%rip), %rdx      # 0x9170
callq 0x2baa
leaq -0x4c8(%rbp), %rbx
movl $0x2, %edx
movq %rbx, %rdi
leaq -0xd8(%rbp), %rsi
leaq -0x118(%rbp), %rcx
callq 0x7a8e
movq -0x30(%rbp), %rdi
movq %rbx, %rsi
callq 0x387e
movq %rbx, %rdi
movl %eax, %ebx
callq 0x7ad6
movq $-0x40, %r14
leaq -0xa8(%rbp), %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x41a7
movq (%r15), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
addq $0x20, %r14
jne 0x4193
testb %bl, %bl
je 0x43a2
leaq -0x108(%rbp), %rax
movq %rax, -0x118(%rbp)
xorl %ecx, %ecx
movq %rcx, -0x110(%rbp)
movb %cl, -0x108(%rbp)
leaq -0xe8(%rbp), %rax
movq %rax, -0xf8(%rbp)
movq %rcx, -0xf0(%rbp)
movb %cl, -0xe8(%rbp)
leaq -0x150(%rbp), %rax
movq %rax, -0x160(%rbp)
movq %rcx, -0x158(%rbp)
movb %cl, -0x150(%rbp)
leaq -0x170(%rbp), %rax
movq %rax, -0x180(%rbp)
movq %rcx, -0x178(%rbp)
movb %cl, -0x170(%rbp)
leaq -0x240(%rbp), %rax
movq %rax, -0x250(%rbp)
movq %rcx, -0x248(%rbp)
movb %cl, -0x240(%rbp)
leaq -0xc8(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq -0xd8(%rbp), %rdi
leaq 0x4eae(%rip), %rsi      # 0x910c
leaq 0x4eab(%rip), %rdx      # 0x9110
callq 0x2baa
leaq -0x140(%rbp), %r14
leaq -0xa8(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq -0xb8(%rbp), %rdi
leaq 0x4ec9(%rip), %rsi      # 0x9156
leaq 0x4ec7(%rip), %rdx      # 0x915b
callq 0x2baa
leaq -0x4b0(%rbp), %rbx
leaq -0x88(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq -0x98(%rbp), %rdi
leaq 0x4ea9(%rip), %rsi      # 0x9165
leaq 0x4ead(%rip), %rdx      # 0x9170
callq 0x2baa
movl $0x3, %edx
movq %rbx, %rdi
leaq -0xd8(%rbp), %rsi
movq %r14, %rcx
callq 0x7a8e
movq -0x30(%rbp), %rdi
movq %rbx, %rsi
callq 0x387e
movq %rbx, %rdi
movl %eax, %ebx
callq 0x7ad6
movq $-0x60, %r14
leaq -0x88(%rbp), %r15
leaq -0x228(%rbp), %rax
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x4325
movq (%r15), %rsi
incq %rsi
callq 0x21d0
leaq -0x228(%rbp), %rax
addq $-0x20, %r15
addq $0x20, %r14
jne 0x430a
testb %bl, %bl
je 0x4aeb
movq %rax, %rdi
movq -0x30(%rbp), %rsi
movl $0xfffffffd, %edx       # imm = 0xFFFFFFFD
movq %rax, %r15
callq 0x3b8a
leaq -0x130(%rbp), %rbx
leaq -0x140(%rbp), %r14
movl $0x4, %r8d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x4e3c(%rip), %rcx      # 0x91a9
callq 0x2200
movq %rbx, -0x140(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x50dd
movq %rdx, -0x140(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x130(%rbp)
jmp 0x50e3
leaq -0xc8(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq -0xd8(%rbp), %rbx
movq %rbx, %rdi
leaq 0x4e7d(%rip), %rsi      # 0x923e
leaq 0x4e7b(%rip), %rdx      # 0x9243
callq 0x2baa
movl $0x1, %edx
leaq -0x408(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
leaq -0x118(%rbp), %rcx
callq 0x7a8e
movq -0x30(%rbp), %rdi
movq %r14, %rsi
callq 0x387e
movl %eax, %ebx
movq %r14, %rdi
callq 0x7ad6
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x4423
movq -0xc8(%rbp), %rsi
incq %rsi
callq 0x21d0
testb %bl, %bl
je 0x4822
movq -0x30(%rbp), %r14
leaq 0x4c90(%rip), %rbx      # 0x90c6
movq 0x38(%r14), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x38(%r14)
movq 0x8(%rax), %rdi
addq $0x20, %rdi
movq %rbx, %rsi
callq 0x20b0
testl %eax, %eax
je 0x4c19
movq 0x38(%r14), %rax
movq (%rax), %rdi
leaq 0x4e14(%rip), %rsi      # 0x927c
callq 0x20b0
testl %eax, %eax
jne 0x4436
jmp 0x4c31
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x158(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r13, %rdi
leaq 0x4d0e(%rip), %rsi      # 0x91ae
callq 0x2380
movq %rbx, -0xf8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x44ce
movq %rdx, -0xf8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xe8(%rbp)
jmp 0x44d4
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, -0xf0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0xd8(%rbp), %rdi
leaq -0xf8(%rbp), %rsi
callq 0x2250
movq -0xf8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x451c
movq -0xe8(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x160(%rbp), %rdi
leaq -0x150(%rbp), %rax
cmpq %rax, %rdi
je 0x453e
movq -0x150(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x4560
movq -0x170(%rbp), %rsi
incq %rsi
callq 0x21d0
leaq -0xf8(%rbp), %r14
movq %r14, %rdi
movq -0x30(%rbp), %rsi
movl $0xfffffffe, %edx       # imm = 0xFFFFFFFE
callq 0x3b8a
leaq -0x118(%rbp), %rdi
movq %r14, %rsi
callq 0x2250
movq -0xf8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x45a2
movq -0xe8(%rbp), %rsi
incq %rsi
callq 0x21d0
movl $0x1, %edx
leaq -0x118(%rbp), %rbx
movq %rbx, %rdi
xorl %esi, %esi
callq 0x2080
movq %rbx, %rdi
callq 0x2240
movq -0x118(%rbp), %rdi
callq 0x22c0
movl %eax, -0x22c(%rbp)
testl %eax, %eax
js 0x47dd
xorl %r12d, %r12d
movl $0x1, %r15d
cmpl $0xa, %r12d
jb 0x4630
movl $0x4, %r15d
movl %r12d, %eax
movl $0xd1b71759, %edx       # imm = 0xD1B71759
cmpl $0x63, %eax
jbe 0x4627
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x462d
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x4630
movl %eax, %ecx
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x45f7
addl $-0x3, %r15d
jmp 0x4630
addl $-0x2, %r15d
jmp 0x4630
decl %r15d
movq %r13, %rbx
movq -0x30(%rbp), %rax
movq (%rax), %rax
movq 0x10(%rax), %r14
movl %r15d, %esi
leaq -0x170(%rbp), %rax
movq %rax, -0x180(%rbp)
leaq -0x180(%rbp), %r13
movq %r13, %rdi
movl $0x2d, %edx
callq 0x2220
movq -0x180(%rbp), %rdi
movl %r15d, %esi
movl %r12d, %edx
callq 0x7c51
movq -0xd8(%rbp), %rcx
movq -0xd0(%rbp), %r8
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x2200
leaq -0x150(%rbp), %rsi
movq %rsi, -0x160(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq -0xe8(%rbp), %r15
movq %rbx, %r13
je 0x46c9
movq %rdx, -0x160(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x150(%rbp)
jmp 0x46cf
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x158(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r13, %rdi
leaq 0x4abd(%rip), %rsi      # 0x91b0
callq 0x2380
movq %r15, -0xf8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4721
movq %rdx, -0xf8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xe8(%rbp)
jmp 0x4728
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, -0xf0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r14, %rdi
leaq -0xf8(%rbp), %rsi
callq 0x7b40
movq 0x8(%rax), %rdx
movq %rax, %rdi
xorl %esi, %esi
leaq 0x49e7(%rip), %rcx      # 0x9148
xorl %r8d, %r8d
callq 0x22b0
movq -0xf8(%rbp), %rdi
cmpq %r15, %rdi
je 0x4784
movq -0xe8(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x160(%rbp), %rdi
leaq -0x150(%rbp), %rax
cmpq %rax, %rdi
je 0x47a6
movq -0x150(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x47c8
movq -0x170(%rbp), %rsi
incq %rsi
callq 0x21d0
leal 0x1(%r12), %eax
cmpl -0x22c(%rbp), %r12d
movl %eax, %r12d
jne 0x45dd
movq -0x118(%rbp), %rdi
leaq -0x108(%rbp), %r12
cmpq %r12, %rdi
je 0x47ff
movq -0x108(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x6471
movq -0xc8(%rbp), %rsi
jmp 0x6469
leaq -0xc8(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq -0xd8(%rbp), %rdi
leaq 0x4a06(%rip), %rsi      # 0x9244
leaq 0x4a07(%rip), %rdx      # 0x924c
callq 0x2baa
leaq -0xa8(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq -0xb8(%rbp), %rdi
leaq 0x48ff(%rip), %rsi      # 0x9165
leaq 0x4903(%rip), %rdx      # 0x9170
callq 0x2baa
leaq -0x3f0(%rbp), %rbx
leaq -0x88(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq -0x98(%rbp), %rdi
leaq 0x48ba(%rip), %rsi      # 0x914f
leaq 0x48b9(%rip), %rdx      # 0x9155
callq 0x2baa
movl $0x3, %edx
movq %rbx, %rdi
leaq -0xd8(%rbp), %rsi
leaq -0x118(%rbp), %rcx
callq 0x7a8e
movq -0x30(%rbp), %rdi
movq %rbx, %rsi
callq 0x387e
movq %rbx, %rdi
movl %eax, %ebx
callq 0x7ad6
movq $-0x60, %r14
leaq -0x88(%rbp), %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x48f4
movq (%r15), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
addq $0x20, %r14
jne 0x48e0
testb %bl, %bl
je 0x4c5f
leaq -0x108(%rbp), %rax
movq %rax, -0x118(%rbp)
xorl %eax, %eax
movq %rax, -0x110(%rbp)
movb %al, -0x108(%rbp)
leaq -0xe8(%rbp), %r15
movq %r15, -0xf8(%rbp)
movq %rax, -0xf0(%rbp)
movb %al, -0xe8(%rbp)
leaq -0xd8(%rbp), %rbx
movq %rbx, %rdi
movq -0x30(%rbp), %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x3b8a
leaq -0x118(%rbp), %rdi
movq %rbx, %rsi
callq 0x2250
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x4987
movq -0xc8(%rbp), %rsi
incq %rsi
callq 0x21d0
movl $0x1, %edx
leaq -0x118(%rbp), %rdi
xorl %esi, %esi
callq 0x2080
leaq -0x118(%rbp), %rdi
callq 0x2240
leaq -0xc8(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq -0xd8(%rbp), %rdi
leaq 0x47a3(%rip), %rsi      # 0x9165
leaq 0x47a7(%rip), %rdx      # 0x9170
callq 0x2baa
leaq -0xa8(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq -0xb8(%rbp), %rdi
leaq 0x4765(%rip), %rsi      # 0x914f
leaq 0x4764(%rip), %rdx      # 0x9155
callq 0x2baa
movl $0x2, %edx
leaq -0x3d8(%rbp), %r14
movq %r14, %rdi
leaq -0xd8(%rbp), %rsi
movq %r13, %rcx
callq 0x7a8e
movq -0x30(%rbp), %rdi
movq %r14, %rsi
callq 0x387e
movl %eax, %ebx
movq %r14, %rdi
callq 0x7ad6
movq $-0x40, %r14
leaq -0xa8(%rbp), %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x4a4c
movq (%r15), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
addq $0x20, %r14
jne 0x4a38
testb %bl, %bl
je 0x4f81
leaq -0xd8(%rbp), %rbx
movq %rbx, %rdi
movq -0x30(%rbp), %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
leaq -0xe8(%rbp), %r15
callq 0x3b8a
leaq -0xf8(%rbp), %rdi
movq %rbx, %rsi
callq 0x2250
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x4aae
movq -0xc8(%rbp), %rsi
incq %rsi
callq 0x21d0
movl $0x1, %edx
leaq -0xf8(%rbp), %rbx
movq %rbx, %rdi
xorl %esi, %esi
callq 0x2080
movq %rbx, %rdi
callq 0x2240
movq -0xf8(%rbp), %rsi
movq -0xf0(%rbp), %rdx
leaq -0x118(%rbp), %rdi
callq 0x20c0
jmp 0x49a6
leaq -0xc8(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq -0xd8(%rbp), %rdi
leaq 0x4605(%rip), %rsi      # 0x910c
leaq 0x4602(%rip), %rdx      # 0x9110
callq 0x2baa
leaq -0x140(%rbp), %rbx
leaq -0xa8(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq -0xb8(%rbp), %rdi
leaq 0x462f(%rip), %rsi      # 0x9165
leaq 0x4633(%rip), %rdx      # 0x9170
callq 0x2baa
movl $0x2, %edx
leaq -0x498(%rbp), %r14
movq %r14, %rdi
leaq -0xd8(%rbp), %rsi
movq %rbx, %rcx
callq 0x7a8e
movq -0x30(%rbp), %rdi
movq %r14, %rsi
callq 0x387e
movl %eax, %ebx
movq %r14, %rdi
callq 0x7ad6
movq $-0x40, %r14
leaq -0xa8(%rbp), %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x4b98
movq (%r15), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
addq $0x20, %r14
jne 0x4b84
testb %bl, %bl
je 0x4f21
leaq -0x140(%rbp), %rbx
movq %rbx, %rdi
movq -0x30(%rbp), %rsi
movl $0xfffffffe, %edx       # imm = 0xFFFFFFFE
callq 0x3b8a
leaq -0x130(%rbp), %r15
movl $0x4, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x45cc(%rip), %rcx      # 0x91a9
callq 0x2200
leaq -0xc8(%rbp), %rbx
movq %rbx, -0xd8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x53af
movq %rdx, -0xd8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xc8(%rbp)
jmp 0x53b5
movl $0x21, %edx
movq 0x73b3(%rip), %rdi      # 0xbfd8
leaq 0x44b6(%rip), %rsi      # 0x90e2
callq 0x2210
addq $0x8, 0x38(%r14)
movq 0x8(%r14), %rbx
movq 0x18(%r14), %rax
movq 0x8(%rax), %rax
movq %rax, 0x18(%r14)
decq 0x10(%r14)
movq %rbx, %rdi
callq 0x2300
movl $0x18, %esi
movq %rbx, %rdi
jmp 0x50d3
leaq -0xc8(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq -0xd8(%rbp), %rdi
leaq 0x45f9(%rip), %rsi      # 0x9274
leaq 0x45f8(%rip), %rdx      # 0x927a
callq 0x2baa
leaq -0xa8(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq -0xb8(%rbp), %rdi
leaq 0x44c2(%rip), %rsi      # 0x9165
leaq 0x44c6(%rip), %rdx      # 0x9170
callq 0x2baa
leaq -0x3a8(%rbp), %rbx
leaq -0x88(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq -0x98(%rbp), %rdi
leaq 0x447d(%rip), %rsi      # 0x914f
leaq 0x447c(%rip), %rdx      # 0x9155
callq 0x2baa
movl $0x3, %edx
movq %rbx, %rdi
leaq -0xd8(%rbp), %rsi
leaq -0x118(%rbp), %rcx
callq 0x7a8e
movq -0x30(%rbp), %rdi
movq %rbx, %rsi
callq 0x387e
movq %rbx, %rdi
movl %eax, %ebx
callq 0x7ad6
movq $-0x60, %r14
leaq -0x88(%rbp), %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x4d31
movq (%r15), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
addq $0x20, %r14
jne 0x4d1d
testb %bl, %bl
je 0x5272
leaq -0x108(%rbp), %rax
movq %rax, -0x118(%rbp)
xorl %ecx, %ecx
movq %rcx, -0x110(%rbp)
movb %cl, -0x108(%rbp)
leaq -0xe8(%rbp), %rax
movq %rax, -0xf8(%rbp)
movq %rcx, -0xf0(%rbp)
movb %cl, -0xe8(%rbp)
leaq -0xd8(%rbp), %rbx
movq %rbx, %rdi
movq -0x30(%rbp), %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x3b8a
leaq -0x118(%rbp), %rdi
movq %rbx, %rsi
callq 0x2250
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x4dc4
movq -0xc8(%rbp), %rsi
incq %rsi
callq 0x21d0
movl $0x1, %edx
leaq -0x118(%rbp), %rdi
xorl %esi, %esi
callq 0x2080
leaq -0x118(%rbp), %rdi
callq 0x2240
leaq -0xc8(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq -0xd8(%rbp), %rdi
leaq 0x4366(%rip), %rsi      # 0x9165
leaq 0x436a(%rip), %rdx      # 0x9170
callq 0x2baa
leaq -0xa8(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq -0xb8(%rbp), %rdi
leaq 0x4328(%rip), %rsi      # 0x914f
leaq 0x4327(%rip), %rdx      # 0x9155
callq 0x2baa
movl $0x2, %edx
leaq -0x390(%rbp), %r14
movq %r14, %rdi
leaq -0xd8(%rbp), %rsi
movq %r13, %rcx
callq 0x7a8e
movq -0x30(%rbp), %rdi
movq %r14, %rsi
callq 0x387e
movl %eax, %ebx
movq %r14, %rdi
callq 0x7ad6
movq $-0x40, %r14
leaq -0xa8(%rbp), %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x4e89
movq (%r15), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
addq $0x20, %r14
jne 0x4e75
testb %bl, %bl
je 0x5318
leaq -0xd8(%rbp), %rbx
movq %rbx, %rdi
movq -0x30(%rbp), %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x3b8a
leaq -0xf8(%rbp), %rdi
movq %rbx, %rsi
callq 0x2250
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x4ee4
movq -0xc8(%rbp), %rsi
incq %rsi
callq 0x21d0
movl $0x1, %edx
leaq -0xf8(%rbp), %rbx
movq %rbx, %rdi
xorl %esi, %esi
callq 0x2080
movq %rbx, %rdi
callq 0x2240
movq -0xf8(%rbp), %rsi
movq -0xf0(%rbp), %rdx
leaq -0x118(%rbp), %rdi
callq 0x20c0
jmp 0x4de3
movl $0x23, %edx
movq 0x70ab(%rip), %rdi      # 0xbfd8
leaq 0x4282(%rip), %rsi      # 0x91b6
callq 0x2210
leaq -0x140(%rbp), %r14
movq 0x7091(%rip), %rdi      # 0xbfd8
movl -0x120(%rbp), %esi
callq 0x2330
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
jmp 0x541f
leaq -0xc8(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq -0xd8(%rbp), %rbx
movq %rbx, %rdi
leaq 0x41bc(%rip), %rsi      # 0x915c
leaq 0x41bd(%rip), %rdx      # 0x9164
leaq -0xe8(%rbp), %r15
callq 0x2baa
movl $0x1, %edx
leaq -0x3c0(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
movq %r13, %rcx
callq 0x7a8e
movq -0x30(%rbp), %rdi
movq %r14, %rsi
callq 0x387e
movl %eax, %ebx
movq %r14, %rdi
callq 0x7ad6
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x5005
movq -0xc8(%rbp), %rsi
incq %rsi
callq 0x21d0
testb %bl, %bl
jne 0x5053
movl $0x26, %edx
movq 0x6fc3(%rip), %rdi      # 0xbfd8
leaq 0x4231(%rip), %rsi      # 0x924d
callq 0x2210
movq 0x6fb0(%rip), %rcx      # 0xbfd8
movq (%rcx), %rax
movq -0x18(%rax), %rdi
addq %rcx, %rdi
movl $0xa, %esi
callq 0x21b0
movsbl %al, %esi
movq 0x6f92(%rip), %rdi      # 0xbfd8
callq 0x2030
movq %rax, %rdi
callq 0x2140
movq -0x118(%rbp), %rsi
movq -0x110(%rbp), %rdx
movq 0x6f70(%rip), %rdi      # 0xbfd8
callq 0x2210
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
movq -0xf8(%rbp), %rdi
cmpq %r15, %rdi
je 0x50b2
movq -0xe8(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x118(%rbp), %rdi
leaq -0x108(%rbp), %rax
cmpq %rax, %rdi
je 0x6477
movq -0x108(%rbp), %rsi
incq %rsi
callq 0x21d0
jmp 0x6477
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, -0x138(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x1b0(%rbp), %rdi
movq -0x30(%rbp), %rsi
movl $0xfffffffe, %edx       # imm = 0xFFFFFFFE
callq 0x3b8a
movq -0x140(%rbp), %rcx
movl $0xf, %esi
cmpq %rbx, %rcx
je 0x512a
movq -0x130(%rbp), %rsi
movq -0x138(%rbp), %r8
movq -0x1a8(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x5162
movl $0xf, %esi
leaq -0x1a0(%rbp), %rdi
cmpq %rdi, -0x1b0(%rbp)
je 0x515d
movq -0x1a0(%rbp), %rsi
cmpq %rsi, %rax
jbe 0x5173
movq -0x1b0(%rbp), %rsi
movq %r14, %rdi
callq 0x20c0
jmp 0x5183
leaq -0x1b0(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x2200
leaq -0xc8(%rbp), %rsi
movq %rsi, -0xd8(%rbp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x51b0
movq %rdx, -0xd8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xc8(%rbp)
jmp 0x51b6
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0xd0(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq -0x118(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
callq 0x2250
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x520a
movq -0xc8(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x1b0(%rbp), %rdi
leaq -0x1a0(%rbp), %rax
cmpq %rax, %rdi
je 0x522c
movq -0x1a0(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x140(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5247
movq -0x130(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x228(%rbp), %rdi
leaq -0x218(%rbp), %rax
cmpq %rax, %rdi
je 0x541f
movq -0x218(%rbp), %rsi
incq %rsi
callq 0x21d0
jmp 0x541f
leaq -0xc8(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq -0xd8(%rbp), %rbx
movq %rbx, %rdi
leaq 0x3fea(%rip), %rsi      # 0x927b
leaq 0x3fe9(%rip), %rdx      # 0x9281
callq 0x2baa
movl $0x1, %edx
leaq -0x360(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
leaq -0x118(%rbp), %rcx
callq 0x7a8e
movq -0x30(%rbp), %rdi
movq %r14, %rsi
callq 0x387e
movl %eax, %ebx
movq %r14, %rdi
callq 0x7ad6
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x52f3
movq -0xc8(%rbp), %rsi
incq %rsi
callq 0x21d0
testb %bl, %bl
je 0x5ff5
movq -0x30(%rbp), %rcx
movq 0x8(%rcx), %rbx
movq 0x18(%rcx), %rax
movq 0x8(%rax), %rax
movq %rax, 0x18(%rcx)
decq 0x10(%rcx)
jmp 0x4c4a
leaq -0xc8(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq -0xd8(%rbp), %rbx
movq %rbx, %rdi
leaq 0x3e25(%rip), %rsi      # 0x915c
leaq 0x3e26(%rip), %rdx      # 0x9164
leaq -0xe8(%rbp), %r14
callq 0x2baa
movl $0x1, %edx
leaq -0x378(%rbp), %r15
movq %r15, %rdi
movq %rbx, %rsi
movq %r13, %rcx
callq 0x7a8e
movq -0x30(%rbp), %rdi
movq %r15, %rsi
callq 0x387e
movl %eax, %ebx
movq %r15, %rdi
callq 0x7ad6
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x539c
movq -0xc8(%rbp), %rsi
incq %rsi
callq 0x21d0
testb %bl, %bl
je 0x62a5
incl -0x120(%rbp)
jmp 0x62ef
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, -0xd0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x118(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
callq 0x2250
movq -0xd8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x53fd
movq -0xc8(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x140(%rbp), %rdi
cmpq %r15, %rdi
je 0x5418
movq -0x130(%rbp), %rsi
incq %rsi
callq 0x21d0
leaq -0x140(%rbp), %r14
leaq -0x2d8(%rbp), %rax
movq %rax, -0x2e8(%rbp)
movq -0x118(%rbp), %rsi
movq -0x110(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2e8(%rbp), %r15
movq %r15, %rdi
callq 0x2f22
leaq -0xd8(%rbp), %rbx
movq %rbx, %rdi
movq -0x30(%rbp), %rsi
movq %r15, %rdx
callq 0x39ea
leaq -0xf8(%rbp), %rdi
movq %rbx, %rsi
callq 0x2250
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x5494
movq -0xc8(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x2e8(%rbp), %rdi
leaq -0x2d8(%rbp), %rax
cmpq %rax, %rdi
leaq -0x480(%rbp), %rbx
je 0x54bd
movq -0x2d8(%rbp), %rsi
incq %rsi
callq 0x21d0
leaq -0xc8(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq -0xd8(%rbp), %rdi
leaq 0x3d01(%rip), %rsi      # 0x91da
leaq 0x3cfc(%rip), %rdx      # 0x91dc
callq 0x2baa
leaq -0xa8(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq -0xb8(%rbp), %rdi
leaq 0x3c64(%rip), %rsi      # 0x9165
leaq 0x3c68(%rip), %rdx      # 0x9170
callq 0x2baa
leaq -0x88(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq -0x98(%rbp), %rdi
leaq 0x3cb4(%rip), %rsi      # 0x91dd
leaq 0x3caf(%rip), %rdx      # 0x91df
callq 0x2baa
leaq -0x68(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq -0x78(%rbp), %rdi
leaq 0x3c1d(%rip), %rsi      # 0x9165
leaq 0x3c21(%rip), %rdx      # 0x9170
callq 0x2baa
movl $0x4, %edx
movq %rbx, %rdi
leaq -0xd8(%rbp), %rsi
movq %r14, %rcx
callq 0x7a8e
movq -0x30(%rbp), %rdi
movq %rbx, %rsi
callq 0x387e
movq %rbx, %rdi
movl %eax, %ebx
callq 0x7ad6
movq $-0x80, %r14
leaq -0x68(%rbp), %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x55a0
movq (%r15), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
addq $0x20, %r14
jne 0x558c
testb %bl, %bl
je 0x55dc
movq -0x248(%rbp), %rdx
movl $0x3, %r8d
leaq -0x250(%rbp), %rdi
xorl %esi, %esi
leaq 0x3c15(%rip), %rcx      # 0x91e0
callq 0x22b0
leaq -0x140(%rbp), %r14
jmp 0x5744
leaq -0xc8(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq -0xd8(%rbp), %rdi
leaq 0x3b20(%rip), %rsi      # 0x9118
leaq 0x3b21(%rip), %rdx      # 0x9120
callq 0x2baa
leaq -0x140(%rbp), %rbx
leaq -0xa8(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq -0xb8(%rbp), %rdi
leaq 0x3b3e(%rip), %rsi      # 0x9165
leaq 0x3b42(%rip), %rdx      # 0x9170
callq 0x2baa
movl $0x2, %edx
leaq -0x468(%rbp), %r14
movq %r14, %rdi
leaq -0xd8(%rbp), %rsi
movq %rbx, %rcx
callq 0x7a8e
movq -0x30(%rbp), %rdi
movq %r14, %rsi
callq 0x387e
movl %eax, %ebx
movq %r14, %rdi
callq 0x7ad6
movq $-0x40, %r14
leaq -0xa8(%rbp), %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x5689
movq (%r15), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
addq $0x20, %r14
jne 0x5675
testb %bl, %bl
je 0x56e9
leaq -0xd8(%rbp), %rbx
movq %rbx, %rdi
movq -0x30(%rbp), %rsi
movl $0xfffffffe, %edx       # imm = 0xFFFFFFFE
callq 0x3b8a
leaq -0x140(%rbp), %r14
leaq -0x250(%rbp), %rdi
movq %rbx, %rsi
callq 0x2250
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x5744
movq -0xc8(%rbp), %rsi
incq %rsi
callq 0x21d0
jmp 0x5744
movl $0x24, %edx
movq 0x68e3(%rip), %rdi      # 0xbfd8
leaq 0x3ae8(%rip), %rsi      # 0x91e4
callq 0x2210
leaq -0x140(%rbp), %r14
movq 0x68c9(%rip), %rdi      # 0xbfd8
movl -0x120(%rbp), %esi
callq 0x2330
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
leaq -0xc8(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq -0xd8(%rbp), %rdi
leaq 0x39ac(%rip), %rsi      # 0x910c
leaq 0x39a9(%rip), %rdx      # 0x9110
callq 0x2baa
leaq -0xa8(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq -0xb8(%rbp), %rdi
leaq 0x39ce(%rip), %rsi      # 0x9156
leaq 0x39cc(%rip), %rdx      # 0x915b
callq 0x2baa
leaq -0x88(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq -0x98(%rbp), %rdi
leaq 0x39ac(%rip), %rsi      # 0x915c
leaq 0x39ad(%rip), %rdx      # 0x9164
callq 0x2baa
movl $0x3, %edx
leaq -0x450(%rbp), %r15
movq %r15, %rdi
leaq -0xd8(%rbp), %rsi
movq %r14, %rcx
callq 0x7a8e
movq -0x30(%rbp), %rdi
movq %r15, %rsi
callq 0x387e
movl %eax, %ebx
movq %r15, %rdi
callq 0x7ad6
movq $-0x60, %r14
leaq -0x88(%rbp), %r15
leaq -0x228(%rbp), %rax
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x5820
movq (%r15), %rsi
incq %rsi
callq 0x21d0
leaq -0x228(%rbp), %rax
addq $-0x20, %r15
addq $0x20, %r14
jne 0x5805
testb %bl, %bl
je 0x58a0
movq %rax, %rdi
movq -0x30(%rbp), %rsi
movl $0xfffffffd, %edx       # imm = 0xFFFFFFFD
leaq -0xe8(%rbp), %r14
movq %rax, %r12
callq 0x3b8a
leaq -0x130(%rbp), %rbx
leaq -0x140(%rbp), %r15
movl $0x4, %r8d
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x393e(%rip), %rcx      # 0x91a9
callq 0x2200
movq %rbx, -0x140(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x5ae1
movq %rdx, -0x140(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x130(%rbp)
jmp 0x5ae7
leaq -0xc8(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq -0xd8(%rbp), %rdi
leaq 0x3850(%rip), %rsi      # 0x910c
leaq 0x384d(%rip), %rdx      # 0x9110
callq 0x2baa
leaq -0x140(%rbp), %rbx
leaq -0xa8(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq -0xb8(%rbp), %rdi
leaq 0x3871(%rip), %rsi      # 0x915c
leaq 0x3872(%rip), %rdx      # 0x9164
callq 0x2baa
movl $0x2, %edx
leaq -0x438(%rbp), %r14
movq %r14, %rdi
leaq -0xd8(%rbp), %rsi
movq %rbx, %rcx
callq 0x7a8e
movq -0x30(%rbp), %rdi
movq %r14, %rsi
callq 0x387e
movl %eax, %ebx
movq %r14, %rdi
callq 0x7ad6
movq $-0x40, %r14
leaq -0xa8(%rbp), %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x594d
movq (%r15), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
addq $0x20, %r14
jne 0x5939
testb %bl, %bl
je 0x59d1
leaq -0x140(%rbp), %rbx
movq %rbx, %rdi
movq -0x30(%rbp), %rsi
movl $0xfffffffe, %edx       # imm = 0xFFFFFFFE
leaq -0xe8(%rbp), %r14
callq 0x3b8a
leaq -0x130(%rbp), %r15
movl $0x4, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x3814(%rip), %rcx      # 0x91a9
callq 0x2200
leaq -0xc8(%rbp), %rbx
movq %rbx, -0xd8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x5d61
movq %rdx, -0xd8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xc8(%rbp)
jmp 0x5d67
leaq -0xc8(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq -0xd8(%rbp), %rdi
leaq 0x3724(%rip), %rsi      # 0x9111
leaq 0x3723(%rip), %rdx      # 0x9117
callq 0x2baa
leaq -0x140(%rbp), %rbx
leaq -0xa8(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq -0xb8(%rbp), %rdi
leaq 0x3740(%rip), %rsi      # 0x915c
leaq 0x3741(%rip), %rdx      # 0x9164
callq 0x2baa
movl $0x2, %edx
leaq -0x420(%rbp), %r14
movq %r14, %rdi
leaq -0xd8(%rbp), %rsi
movq %rbx, %rcx
callq 0x7a8e
movq -0x30(%rbp), %rdi
movq %r14, %rsi
callq 0x387e
movl %eax, %ebx
movq %r14, %rdi
callq 0x7ad6
movq $-0x40, %r14
leaq -0xa8(%rbp), %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x5a7e
movq (%r15), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
addq $0x20, %r14
jne 0x5a6a
testb %bl, %bl
je 0x5d01
leaq -0xd8(%rbp), %rbx
movq %rbx, %rdi
movq -0x30(%rbp), %rsi
movl $0xfffffffe, %edx       # imm = 0xFFFFFFFE
leaq -0xe8(%rbp), %r14
callq 0x3b8a
leaq -0x180(%rbp), %rdi
movq %rbx, %rsi
callq 0x2250
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x5e5d
movq -0xc8(%rbp), %rsi
jmp 0x5e55
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, -0x138(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x1b0(%rbp), %rdi
movq -0x30(%rbp), %rsi
movl $0xfffffffe, %edx       # imm = 0xFFFFFFFE
callq 0x3b8a
movq -0x140(%rbp), %rcx
movl $0xf, %esi
cmpq %rbx, %rcx
je 0x5b2e
movq -0x130(%rbp), %rsi
movq -0x138(%rbp), %r8
movq -0x1a8(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x5b66
movl $0xf, %esi
leaq -0x1a0(%rbp), %rdi
cmpq %rdi, -0x1b0(%rbp)
je 0x5b61
movq -0x1a0(%rbp), %rsi
cmpq %rsi, %rax
jbe 0x5b77
movq -0x1b0(%rbp), %rsi
movq %r15, %rdi
callq 0x20c0
jmp 0x5b87
leaq -0x1b0(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x2200
leaq -0xc8(%rbp), %rsi
movq %rsi, -0xd8(%rbp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x5bb4
movq %rdx, -0xd8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xc8(%rbp)
jmp 0x5bba
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0xd0(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq %r13, %rdi
leaq -0xd8(%rbp), %rsi
callq 0x2250
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x5c0a
movq -0xc8(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x1b0(%rbp), %rdi
leaq -0x1a0(%rbp), %rax
cmpq %rax, %rdi
je 0x5c2c
movq -0x1a0(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x140(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5c47
movq -0x130(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x228(%rbp), %rdi
leaq -0x218(%rbp), %rax
cmpq %rax, %rdi
leaq -0x2c8(%rbp), %rbx
je 0x5c70
movq -0x218(%rbp), %rsi
incq %rsi
callq 0x21d0
leaq -0x2b8(%rbp), %rax
movq %rax, -0x2c8(%rbp)
movq -0x160(%rbp), %rsi
movq -0x158(%rbp), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0x2f22
movq %rbx, %rdx
leaq -0xd8(%rbp), %rbx
movq %rbx, %rdi
movq -0x30(%rbp), %rsi
callq 0x39ea
leaq -0x180(%rbp), %rdi
movq %rbx, %rsi
callq 0x2250
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x5cde
movq -0xc8(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x2c8(%rbp), %rdi
leaq -0x2b8(%rbp), %rax
cmpq %rax, %rdi
je 0x5e5d
movq -0x2b8(%rbp), %rsi
jmp 0x5e55
movl $0x23, %edx
movq 0x62cb(%rip), %rdi      # 0xbfd8
leaq 0x34a2(%rip), %rsi      # 0x91b6
leaq -0xe8(%rbp), %r14
callq 0x2210
movq 0x62b1(%rip), %rdi      # 0xbfd8
movl -0x120(%rbp), %esi
callq 0x2330
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
jmp 0x5e5d
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, -0xd0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r13, %rdi
leaq -0xd8(%rbp), %rsi
callq 0x2250
movq -0xd8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5dab
movq -0xc8(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x140(%rbp), %rdi
cmpq %r15, %rdi
leaq -0x2a8(%rbp), %rbx
je 0x5dcd
movq -0x130(%rbp), %rsi
incq %rsi
callq 0x21d0
leaq -0x298(%rbp), %rax
movq %rax, -0x2a8(%rbp)
movq -0x160(%rbp), %rsi
movq -0x158(%rbp), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0x2f22
movq %rbx, %rdx
leaq -0xd8(%rbp), %rbx
movq %rbx, %rdi
movq -0x30(%rbp), %rsi
callq 0x39ea
leaq -0x180(%rbp), %rdi
movq %rbx, %rsi
callq 0x2250
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x5e3b
movq -0xc8(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x2a8(%rbp), %rdi
leaq -0x298(%rbp), %rax
cmpq %rax, %rdi
je 0x5e5d
movq -0x298(%rbp), %rsi
incq %rsi
callq 0x21d0
leaq -0x250(%rbp), %rbx
movq %rbx, %rdi
leaq 0x339c(%rip), %rsi      # 0x920a
callq 0x20b0
testl %eax, %eax
je 0x5f3d
movq %rbx, %rdi
leaq 0x3356(%rip), %rsi      # 0x91db
callq 0x20b0
testl %eax, %eax
je 0x5f73
movq %rbx, %rdi
leaq 0x3346(%rip), %rsi      # 0x91e2
callq 0x20b0
testl %eax, %eax
je 0x5fa6
movq %rbx, %rdi
leaq 0x3356(%rip), %rsi      # 0x9209
callq 0x20b0
testl %eax, %eax
je 0x5fca
movq %rbx, %rdi
leaq 0x3342(%rip), %rsi      # 0x920c
callq 0x20b0
testl %eax, %eax
je 0x631e
movq %rbx, %rdi
leaq 0x32ff(%rip), %rsi      # 0x91e0
callq 0x20b0
testl %eax, %eax
je 0x633f
movl $0x2e, %edx
movq 0x60de(%rip), %rdi      # 0xbfd8
leaq 0x330e(%rip), %rsi      # 0x920f
callq 0x2210
movq 0x60cb(%rip), %rcx      # 0xbfd8
movq (%rcx), %rax
movq -0x18(%rax), %rdi
addq %rcx, %rdi
movl $0xa, %esi
callq 0x21b0
movsbl %al, %esi
movq 0x60ad(%rip), %rdi      # 0xbfd8
callq 0x2030
movq %rax, %rdi
callq 0x2140
jmp 0x6364
movq -0xf0(%rbp), %rdx
cmpq -0x178(%rbp), %rdx
jne 0x5f97
testq %rdx, %rdx
je 0x5fee
movq -0x180(%rbp), %rsi
movq -0xf8(%rbp), %rdi
callq 0x21e0
testl %eax, %eax
sete %al
jmp 0x635e
movq -0xf8(%rbp), %rdi
callq 0x22c0
movl %eax, %ebx
movq -0x180(%rbp), %rdi
callq 0x22c0
cmpl %eax, %ebx
setl %al
jmp 0x635e
movl $0x0, -0x11c(%rbp)
jmp 0x6364
movq -0xf8(%rbp), %rdi
callq 0x22c0
movl %eax, %ebx
movq -0x180(%rbp), %rdi
callq 0x22c0
cmpl %eax, %ebx
setg %al
jmp 0x635e
movq -0xf8(%rbp), %rdi
callq 0x22c0
movl %eax, %ebx
movq -0x180(%rbp), %rdi
callq 0x22c0
cmpl %eax, %ebx
setle %al
jmp 0x635e
movb $0x1, %al
jmp 0x635e
leaq -0xc8(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq -0xd8(%rbp), %rdi
leaq 0x3271(%rip), %rsi      # 0x9282
leaq 0x326e(%rip), %rdx      # 0x9286
callq 0x2baa
leaq -0xa8(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq -0xb8(%rbp), %rdi
leaq 0x312c(%rip), %rsi      # 0x9165
leaq 0x3130(%rip), %rdx      # 0x9170
callq 0x2baa
leaq -0x348(%rbp), %rbx
leaq -0x88(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq -0x98(%rbp), %rdi
leaq 0x30a4(%rip), %rsi      # 0x910c
leaq 0x30a1(%rip), %rdx      # 0x9110
callq 0x2baa
movl $0x3, %edx
movq %rbx, %rdi
leaq -0xd8(%rbp), %rsi
leaq -0x118(%rbp), %rcx
callq 0x7a8e
movq -0x30(%rbp), %rdi
movq %rbx, %rsi
callq 0x387e
movq %rbx, %rdi
movl %eax, %ebx
callq 0x7ad6
movq $-0x60, %r14
leaq -0x88(%rbp), %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x60c7
movq (%r15), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
addq $0x20, %r14
jne 0x60b3
testb %bl, %bl
je 0x648c
leaq -0x108(%rbp), %rax
movq %rax, -0x118(%rbp)
xorl %ecx, %ecx
movq %rcx, -0x110(%rbp)
movb %cl, -0x108(%rbp)
leaq -0xe8(%rbp), %rax
movq %rax, -0xf8(%rbp)
movq %rcx, -0xf0(%rbp)
movb %cl, -0xe8(%rbp)
leaq -0xc8(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq -0xd8(%rbp), %rdi
leaq 0x3029(%rip), %rsi      # 0x9156
leaq 0x3027(%rip), %rdx      # 0x915b
callq 0x2baa
leaq -0x330(%rbp), %rbx
leaq -0xa8(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq -0xb8(%rbp), %rdi
leaq 0x3009(%rip), %rsi      # 0x9165
leaq 0x300d(%rip), %rdx      # 0x9170
callq 0x2baa
leaq -0x88(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq -0x98(%rbp), %rdi
leaq 0x3103(%rip), %rsi      # 0x9287
leaq 0x30fe(%rip), %rdx      # 0x9289
callq 0x2baa
leaq -0x68(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq -0x78(%rbp), %rdi
leaq 0x2fc2(%rip), %rsi      # 0x9165
leaq 0x2fc6(%rip), %rdx      # 0x9170
callq 0x2baa
movq -0x1f8(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x200(%rbp), %rdi
leaq 0x2f49(%rip), %rsi      # 0x9111
leaq 0x2f48(%rip), %rdx      # 0x9117
callq 0x2baa
movl $0x5, %edx
movq %rbx, %rdi
leaq -0xd8(%rbp), %rsi
movq %r13, %rcx
callq 0x7a8e
movq -0x30(%rbp), %rdi
movq %rbx, %rsi
callq 0x387e
movq %rbx, %rdi
movl %eax, %ebx
callq 0x7ad6
movq $-0xa0, %r14
movq -0x1f8(%rbp), %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x6223
movq (%r15), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
addq $0x20, %r14
jne 0x620f
testb %bl, %bl
je 0x66ae
movq -0x30(%rbp), %r14
movq 0x38(%r14), %rax
movq -0x30(%rax), %rdx
movq %r13, %rdi
leaq 0x2f5e(%rip), %rsi      # 0x91a9
leaq -0xe8(%rbp), %rbx
callq 0x7bbf
movq 0x38(%r14), %rax
movq -0x28(%rax), %rax
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %r13, %rdi
callq 0x20c0
leaq -0xc8(%rbp), %r14
movq %r14, -0xd8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6821
movq %rdx, -0xd8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xc8(%rbp)
jmp 0x6828
movl $0x26, %edx
movq 0x5d27(%rip), %rdi      # 0xbfd8
leaq 0x2f95(%rip), %rsi      # 0x924d
callq 0x2210
movq 0x5d14(%rip), %rcx      # 0xbfd8
movq (%rcx), %rax
movq -0x18(%rax), %rdi
addq %rcx, %rdi
movl $0xa, %esi
callq 0x21b0
movsbl %al, %esi
movq 0x5cf6(%rip), %rdi      # 0xbfd8
callq 0x2030
movq %rax, %rdi
callq 0x2140
movq -0x118(%rbp), %rsi
movq -0x110(%rbp), %rdx
movq 0x5cd4(%rip), %rdi      # 0xbfd8
callq 0x2210
movq -0xf8(%rbp), %rdi
cmpq %r14, %rdi
jne 0x50a3
jmp 0x50b2
movq -0xf8(%rbp), %rdi
callq 0x22c0
movl %eax, %ebx
movq -0x180(%rbp), %rdi
callq 0x22c0
cmpl %eax, %ebx
setge %al
jmp 0x635e
movq -0xf8(%rbp), %rdi
callq 0x22c0
movl %eax, %ebx
movq -0x180(%rbp), %rdi
callq 0x22c0
cmpl %eax, %ebx
setne %al
movl %eax, -0x11c(%rbp)
testb $0x1, -0x11c(%rbp)
je 0x63c5
movl $0x30, %edi
callq 0x21c0
movq %rax, %rbx
addq $0x8, %rax
movl $0x0, 0x8(%rbx)
xorl %ecx, %ecx
movq %rcx, 0x10(%rbx)
movq %rax, 0x18(%rbx)
movq %rax, 0x20(%rbx)
movq %rcx, 0x28(%rbx)
movl $0x18, %edi
callq 0x21c0
movq %rbx, 0x10(%rax)
movq %rax, %rdi
movq -0x30(%rbp), %rbx
movq %rbx, %rsi
callq 0x2050
incq 0x10(%rbx)
movq 0x18(%rbx), %rax
movq (%rax), %rax
movq %rax, 0x18(%rbx)
jmp 0x63ce
movq -0x30(%rbp), %rdi
callq 0x3c46
movq -0x250(%rbp), %rdi
leaq -0x240(%rbp), %rax
cmpq %rax, %rdi
je 0x63f0
movq -0x240(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x6412
movq -0x170(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x160(%rbp), %rdi
leaq -0x150(%rbp), %rax
cmpq %rax, %rdi
je 0x6434
movq -0x150(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0xf8(%rbp), %rdi
cmpq %r14, %rdi
je 0x644f
movq -0xe8(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x118(%rbp), %rdi
leaq -0x108(%rbp), %rax
cmpq %rax, %rdi
je 0x6471
movq -0x108(%rbp), %rsi
incq %rsi
callq 0x21d0
incl -0x120(%rbp)
movl -0x34(%rbp), %eax
incl %eax
cmpl $0xc8, %eax
jne 0x3e20
jmp 0x68e2
leaq -0xc8(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq -0xd8(%rbp), %rdi
leaq 0x2de2(%rip), %rsi      # 0x928a
leaq 0x2de1(%rip), %rdx      # 0x9290
callq 0x2baa
leaq -0xa8(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq -0xb8(%rbp), %rdi
leaq 0x2c95(%rip), %rsi      # 0x9165
leaq 0x2c99(%rip), %rdx      # 0x9170
callq 0x2baa
leaq -0x300(%rbp), %rbx
leaq -0x88(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq -0x98(%rbp), %rdi
leaq 0x2c12(%rip), %rsi      # 0x9111
leaq 0x2c11(%rip), %rdx      # 0x9117
callq 0x2baa
leaq -0x68(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq -0x78(%rbp), %rdi
leaq 0x2c3e(%rip), %rsi      # 0x915c
leaq 0x2c3f(%rip), %rdx      # 0x9164
callq 0x2baa
movl $0x4, %edx
movq %rbx, %rdi
leaq -0xd8(%rbp), %rsi
leaq -0x118(%rbp), %rcx
callq 0x7a8e
movq -0x30(%rbp), %rdi
movq %rbx, %rsi
callq 0x387e
movq %rbx, %rdi
movl %eax, %ebx
callq 0x7ad6
movq $-0x80, %r14
leaq -0x68(%rbp), %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x657a
movq (%r15), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
addq $0x20, %r14
jne 0x6566
testb %bl, %bl
je 0x6683
leaq -0xd8(%rbp), %rdi
movq -0x30(%rbp), %rsi
movl $0xfffffffe, %edx       # imm = 0xFFFFFFFE
callq 0x3b8a
movq -0xd8(%rbp), %rdi
callq 0x22c0
movl %eax, %ebx
movl $0x1a, %edx
movq 0x5a1d(%rip), %rdi      # 0xbfd8
leaq 0x2ccf(%rip), %rsi      # 0x9291
callq 0x2210
movq -0xd8(%rbp), %rsi
movq -0xd0(%rbp), %rdx
movq 0x59fc(%rip), %rdi      # 0xbfd8
callq 0x2210
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21b0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
imull $0x2710, %ebx, %edi     # imm = 0x2710
callq 0x2270
movl $0xe, %edx
movq 0x59b6(%rip), %rdi      # 0xbfd8
leaq 0x2c83(%rip), %rsi      # 0x92ac
callq 0x2210
movq 0x59a3(%rip), %rcx      # 0xbfd8
movq (%rcx), %rax
movq -0x18(%rax), %rdi
addq %rcx, %rdi
movl $0xa, %esi
callq 0x21b0
movsbl %al, %esi
movq 0x5985(%rip), %rdi      # 0xbfd8
callq 0x2030
movq %rax, %rdi
callq 0x2140
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x6477
movq -0xc8(%rbp), %rsi
jmp 0x50d0
movq -0x30(%rbp), %rax
movq 0x38(%rax), %rax
movq (%rax), %rdi
addq $0x20, %rdi
leaq 0x2a2d(%rip), %rsi      # 0x90c6
callq 0x20b0
testl %eax, %eax
movl -0x34(%rbp), %eax
jne 0x647a
jmp 0x68e2
leaq -0xc8(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq -0xd8(%rbp), %rdi
leaq 0x2a9b(%rip), %rsi      # 0x9165
leaq 0x2a9f(%rip), %rdx      # 0x9170
callq 0x2baa
leaq -0xa8(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq -0xb8(%rbp), %rdi
leaq 0x2b95(%rip), %rsi      # 0x9287
leaq 0x2b90(%rip), %rdx      # 0x9289
callq 0x2baa
leaq -0x318(%rbp), %rbx
leaq -0x88(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq -0x98(%rbp), %rdi
leaq 0x2a44(%rip), %rsi      # 0x9165
leaq 0x2a48(%rip), %rdx      # 0x9170
callq 0x2baa
leaq -0x68(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq -0x78(%rbp), %rdi
leaq 0x29d1(%rip), %rsi      # 0x9111
leaq 0x29d0(%rip), %rdx      # 0x9117
callq 0x2baa
movl $0x4, %edx
movq %rbx, %rdi
leaq -0xd8(%rbp), %rsi
movq %r13, %rcx
callq 0x7a8e
movq -0x30(%rbp), %rdi
movq %rbx, %rsi
callq 0x387e
movq %rbx, %rdi
movl %eax, %ebx
callq 0x7ad6
movq $-0x80, %r14
leaq -0x68(%rbp), %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x6798
movq (%r15), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
addq $0x20, %r14
jne 0x6784
testb %bl, %bl
leaq -0xe8(%rbp), %rbx
movq -0x30(%rbp), %r14
je 0x68aa
movq 0x38(%r14), %rax
movq -0x28(%rax), %rdx
leaq -0xd8(%rbp), %r14
movq %r14, %rdi
leaq 0x29db(%rip), %rsi      # 0x91a9
callq 0x7bbf
leaq -0x118(%rbp), %rdi
movq %r14, %rsi
callq 0x2250
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x6804
movq -0xc8(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x30(%rbp), %r14
movq 0x38(%r14), %rax
movq -0x8(%rax), %rsi
leaq -0xf8(%rbp), %rdi
callq 0x2120
jmp 0x68aa
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
movq %rdx, -0xd0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x118(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
callq 0x2250
movq -0xd8(%rbp), %rdi
cmpq %r14, %rdi
je 0x6870
movq -0xc8(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x160(%rbp), %rdi
leaq -0x150(%rbp), %rax
cmpq %rax, %rdi
je 0x6892
movq -0x150(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x30(%rbp), %r14
movq 0x38(%r14), %rax
movq -0x8(%rax), %rsi
leaq -0xf8(%rbp), %rdi
callq 0x2120
movq 0x18(%r14), %rax
movq 0x10(%rax), %rdi
leaq -0x118(%rbp), %rsi
callq 0x7a0e
movq %rax, %rdi
leaq -0xf8(%rbp), %rsi
callq 0x2120
movq -0xf8(%rbp), %rdi
cmpq %rbx, %rdi
jne 0x50a3
jmp 0x50b2
addq $0x4e8, %rsp            # imm = 0x4E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x77f1
jmp 0x77f1
movq %rax, %r14
jmp 0x6914
movq %rax, %r14
leaq -0xd8(%rbp), %rax
movq %rax, -0x1b8(%rbp)
xorl %eax, %eax
jmp 0x698a
jmp 0x77f1
movq %rax, %r14
leaq -0x318(%rbp), %rdi
callq 0x7ad6
jmp 0x6939
movq %rax, %r14
jmp 0x77c8
movq %rax, %r14
leaq -0x68(%rbp), %rbx
xorl %r15d, %r15d
movq -0x78(%rbp,%r15), %rdi
leaq (%rbx,%r15), %rax
cmpq %rdi, %rax
je 0x6959
movq (%rax), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
cmpq $-0x80, %r15
jne 0x6940
movb $0x1, %al
jmp 0x6971
jmp 0x77f1
movq %rax, %r14
xorl %eax, %eax
leaq -0x78(%rbp), %rcx
jmp 0x6983
movq %rax, %r14
xorl %eax, %eax
leaq -0x98(%rbp), %rcx
movq %rcx, -0x1b8(%rbp)
leaq -0xd8(%rbp), %rbx
movq -0x1b8(%rbp), %r15
cmpq %r15, %rbx
sete %cl
orb %al, %cl
jne 0x77f4
addq $-0x10, %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x69be
movq (%r15), %rsi
incq %rsi
callq 0x21d0
leaq -0x20(%r15), %rax
addq $-0x10, %r15
cmpq %rbx, %r15
movq %rax, %r15
jne 0x69aa
jmp 0x77f4
movq %rax, %r14
leaq -0x300(%rbp), %rdi
callq 0x7ad6
jmp 0x6a15
movq %rax, %r14
xorl %eax, %eax
leaq -0x98(%rbp), %rcx
jmp 0x6b20
movq %rax, %r14
jmp 0x6a0b
movq %rax, %r14
leaq -0xd8(%rbp), %rax
movq %rax, -0x188(%rbp)
xorl %eax, %eax
jmp 0x6b27
movq %rax, %r14
leaq -0x68(%rbp), %rbx
xorl %r15d, %r15d
movq -0x78(%rbp,%r15), %rdi
leaq (%rbx,%r15), %rax
cmpq %rdi, %rax
je 0x6a35
movq (%rax), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
cmpq $-0x80, %r15
jne 0x6a1c
movb $0x1, %al
jmp 0x6a48
movq %rax, %r14
xorl %eax, %eax
leaq -0x78(%rbp), %rcx
jmp 0x6a5a
movq %rax, %r14
xorl %eax, %eax
leaq -0x98(%rbp), %rcx
movq %rcx, -0x1c0(%rbp)
jmp 0x6a8c
movq %rax, %r14
jmp 0x6a8a
movq %rax, %r14
leaq -0x330(%rbp), %rdi
callq 0x7ad6
jmp 0x6ad8
movq %rax, %r14
leaq -0xd8(%rbp), %rax
movq %rax, -0x1c0(%rbp)
xorl %eax, %eax
leaq -0xd8(%rbp), %rbx
movq -0x1c0(%rbp), %r15
cmpq %r15, %rbx
sete %cl
orb %al, %cl
jne 0x7a05
addq $-0x10, %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x6ac0
movq (%r15), %rsi
incq %rsi
callq 0x21d0
leaq -0x20(%r15), %rax
addq $-0x10, %r15
cmpq %rbx, %r15
movq %rax, %r15
jne 0x6aac
jmp 0x7a05
movq %rax, %r14
leaq -0x48(%rbp), %rbx
xorl %r15d, %r15d
movq -0x58(%rbp,%r15), %rdi
leaq (%rbx,%r15), %rax
cmpq %rdi, %rax
je 0x6af8
movq (%rax), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
cmpq $-0xa0, %r15
jne 0x6adf
movb $0x1, %al
jmp 0x6b0e
movq %rax, %r14
xorl %eax, %eax
movq -0x200(%rbp), %rcx
jmp 0x6b20
movq %rax, %r14
xorl %eax, %eax
leaq -0x78(%rbp), %rcx
movq %rcx, -0x188(%rbp)
leaq -0xd8(%rbp), %rbx
movq -0x188(%rbp), %r15
cmpq %r15, %rbx
sete %cl
orb %al, %cl
jne 0x77f4
addq $-0x10, %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x6b5b
movq (%r15), %rsi
incq %rsi
callq 0x21d0
leaq -0x20(%r15), %rax
addq $-0x10, %r15
cmpq %rbx, %r15
movq %rax, %r15
jne 0x6b47
jmp 0x77f4
jmp 0x77f1
movq %rax, %r14
jmp 0x6b89
movq %rax, %r14
leaq -0x348(%rbp), %rdi
callq 0x7ad6
leaq -0x88(%rbp), %rbx
xorl %r15d, %r15d
movq -0x98(%rbp,%r15), %rdi
leaq (%rbx,%r15), %rax
cmpq %rdi, %rax
je 0x6baf
movq (%rax), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
cmpq $-0x60, %r15
jne 0x6b93
movb $0x1, %al
jmp 0x6bc2
movq %rax, %r14
xorl %eax, %eax
leaq -0x98(%rbp), %rcx
movq %rcx, -0x1d0(%rbp)
jmp 0x6bea
movq %rax, %r14
jmp 0x6be8
movq %rax, %r14
leaq -0xd8(%rbp), %rax
movq %rax, -0x1d0(%rbp)
xorl %eax, %eax
leaq -0xd8(%rbp), %rbx
movq -0x1d0(%rbp), %r15
cmpq %r15, %rbx
sete %cl
orb %al, %cl
jne 0x7a05
addq $-0x10, %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x6c1e
movq (%r15), %rsi
incq %rsi
callq 0x21d0
leaq -0x20(%r15), %rax
addq $-0x10, %r15
cmpq %rbx, %r15
movq %rax, %r15
jne 0x6c0a
jmp 0x7a05
jmp 0x7781
movq %rax, %r14
leaq -0x360(%rbp), %rdi
jmp 0x7921
movq %rax, %r14
leaq -0x378(%rbp), %rdi
callq 0x7ad6
jmp 0x6c6a
jmp 0x77f1
jmp 0x790f
jmp 0x77f1
movq %rax, %r14
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x77f4
movq -0xc8(%rbp), %rsi
jmp 0x77e2
jmp 0x790a
jmp 0x790a
movq %rax, %r14
jmp 0x6cc3
jmp 0x7781
movq %rax, %r14
leaq -0x3a8(%rbp), %rdi
callq 0x7ad6
jmp 0x6ccd
movq %rax, %r14
leaq -0xd8(%rbp), %rax
movq %rax, -0x258(%rbp)
xorl %eax, %eax
jmp 0x6e62
movq %rax, %r14
leaq -0x88(%rbp), %rbx
xorl %r15d, %r15d
movq -0x98(%rbp,%r15), %rdi
leaq (%rbx,%r15), %rax
cmpq %rdi, %rax
je 0x6cf3
movq (%rax), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
cmpq $-0x60, %r15
jne 0x6cd7
movb $0x1, %al
jmp 0x6d06
movq %rax, %r14
xorl %eax, %eax
leaq -0x98(%rbp), %rcx
movq %rcx, -0x1d8(%rbp)
jmp 0x6d9e
movq %rax, %r14
leaq -0x3c0(%rbp), %rdi
callq 0x7ad6
jmp 0x6d58
movq %rax, %r14
jmp 0x6d9c
movq %rax, %r14
movq -0x2a8(%rbp), %rdi
leaq -0x298(%rbp), %rax
cmpq %rax, %rdi
je 0x7784
movq -0x298(%rbp), %rsi
jmp 0x72aa
movq %rax, %r14
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x78d9
movq -0xc8(%rbp), %rsi
incq %rsi
callq 0x21d0
jmp 0x78d9
movq %rax, %r14
jmp 0x78d9
movq %rax, %r14
leaq -0xd8(%rbp), %rax
movq %rax, -0x1d8(%rbp)
xorl %eax, %eax
leaq -0xd8(%rbp), %rbx
movq -0x1d8(%rbp), %r15
cmpq %r15, %rbx
sete %cl
orb %al, %cl
jne 0x7a05
addq $-0x10, %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x6dd2
movq (%r15), %rsi
incq %rsi
callq 0x21d0
leaq -0x20(%r15), %rax
addq $-0x10, %r15
cmpq %rbx, %r15
movq %rax, %r15
jne 0x6dbe
jmp 0x7a05
jmp 0x7781
jmp 0x78f2
jmp 0x6df3
movq %rax, %r14
movq -0x140(%rbp), %rdi
cmpq %r15, %rdi
je 0x7784
movq -0x130(%rbp), %rsi
jmp 0x72aa
movq %rax, %r14
leaq -0x420(%rbp), %rdi
callq 0x7ad6
jmp 0x6e30
jmp 0x7781
jmp 0x7781
movq %rax, %r14
leaq -0xa8(%rbp), %rbx
xorl %r15d, %r15d
movq -0xb8(%rbp,%r15), %rdi
leaq (%rbx,%r15), %rax
cmpq %rdi, %rax
je 0x6e56
movq (%rax), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
cmpq $-0x40, %r15
jne 0x6e3a
movb $0x1, %al
leaq -0xd8(%rbp), %rbx
movq -0x258(%rbp), %r15
cmpq %r15, %rbx
sete %cl
orb %al, %cl
jne 0x7784
addq $-0x10, %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x6e96
movq (%r15), %rsi
incq %rsi
callq 0x21d0
leaq -0x20(%r15), %rax
addq $-0x10, %r15
cmpq %rbx, %r15
movq %rax, %r15
jne 0x6e82
jmp 0x7784
movq %rax, %r14
jmp 0x700d
jmp 0x6eda
jmp 0x77f1
movq %rax, %r14
leaq -0x468(%rbp), %rdi
callq 0x7ad6
jmp 0x6eea
movq %rax, %r14
jmp 0x6f32
movq %rax, %r14
jmp 0x6f4a
jmp 0x7781
movq %rax, %r14
jmp 0x6fb8
jmp 0x6f93
movq %rax, %r14
leaq -0xa8(%rbp), %rbx
xorl %r15d, %r15d
movq -0xb8(%rbp,%r15), %rdi
leaq (%rbx,%r15), %rax
cmpq %rdi, %rax
je 0x6f10
movq (%rax), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
cmpq $-0x40, %r15
jne 0x6ef4
movb $0x1, %al
jmp 0x7139
movq %rax, %r14
leaq -0xd8(%rbp), %rax
movq %rax, -0x270(%rbp)
xorl %eax, %eax
jmp 0x70dd
movq %rax, %r14
leaq -0xd8(%rbp), %rax
movq %rax, -0x260(%rbp)
xorl %eax, %eax
jmp 0x7049
movq %rax, %r14
jmp 0x7137
movq %rax, %r14
leaq -0x3f0(%rbp), %rdi
callq 0x7ad6
jmp 0x71ab
movq %rax, %r14
movq -0x2c8(%rbp), %rdi
leaq -0x2b8(%rbp), %rax
cmpq %rax, %rdi
je 0x7784
movq -0x2b8(%rbp), %rsi
jmp 0x72aa
movq %rax, %r14
movq -0x1b0(%rbp), %rdi
leaq -0x1a0(%rbp), %rax
cmpq %rax, %rdi
je 0x6fb8
movq -0x1a0(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x140(%rbp), %rdi
leaq -0x130(%rbp), %rax
cmpq %rax, %rdi
je 0x7185
movq -0x130(%rbp), %rsi
incq %rsi
callq 0x21d0
jmp 0x7185
movq %rax, %r14
jmp 0x70ab
movq %rax, %r14
leaq -0x438(%rbp), %rdi
callq 0x7ad6
jmp 0x7017
movq %rax, %r14
leaq -0xd8(%rbp), %rax
movq %rax, -0x1e0(%rbp)
xorl %eax, %eax
jmp 0x71f7
movq %rax, %r14
leaq -0xa8(%rbp), %rbx
xorl %r15d, %r15d
movq -0xb8(%rbp,%r15), %rdi
leaq (%rbx,%r15), %rax
cmpq %rdi, %rax
je 0x703d
movq (%rax), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
cmpq $-0x40, %r15
jne 0x7021
movb $0x1, %al
leaq -0xd8(%rbp), %rbx
movq -0x260(%rbp), %r15
cmpq %r15, %rbx
sete %cl
orb %al, %cl
jne 0x7784
addq $-0x10, %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x707d
movq (%r15), %rsi
incq %rsi
callq 0x21d0
leaq -0x20(%r15), %rax
addq $-0x10, %r15
cmpq %rbx, %r15
movq %rax, %r15
jne 0x7069
jmp 0x7784
jmp 0x7182
jmp 0x7781
movq %rax, %r14
leaq -0x498(%rbp), %rdi
callq 0x7ad6
leaq -0xa8(%rbp), %rbx
xorl %r15d, %r15d
movq -0xb8(%rbp,%r15), %rdi
leaq (%rbx,%r15), %rax
cmpq %rdi, %rax
je 0x70d1
movq (%rax), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
cmpq $-0x40, %r15
jne 0x70b5
movb $0x1, %al
leaq -0xd8(%rbp), %rbx
movq -0x270(%rbp), %r15
cmpq %r15, %rbx
sete %cl
orb %al, %cl
jne 0x7784
addq $-0x10, %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x7111
movq (%r15), %rsi
incq %rsi
callq 0x21d0
leaq -0x20(%r15), %rax
addq $-0x10, %r15
cmpq %rbx, %r15
movq %rax, %r15
jne 0x70fd
jmp 0x7784
movq %rax, %r14
leaq -0xd8(%rbp), %rax
movq %rax, -0x268(%rbp)
xorl %eax, %eax
leaq -0xd8(%rbp), %rbx
movq -0x268(%rbp), %r15
cmpq %r15, %rbx
sete %cl
orb %al, %cl
jne 0x7784
addq $-0x10, %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x716d
movq (%r15), %rsi
incq %rsi
callq 0x21d0
leaq -0x20(%r15), %rax
addq $-0x10, %r15
cmpq %rbx, %r15
movq %rax, %r15
jne 0x7159
jmp 0x7784
movq %rax, %r14
movq -0x228(%rbp), %rdi
leaq -0x218(%rbp), %rax
cmpq %rax, %rdi
je 0x7784
movq -0x218(%rbp), %rsi
jmp 0x72aa
movq %rax, %r14
leaq -0x88(%rbp), %rbx
xorl %r15d, %r15d
movq -0x98(%rbp,%r15), %rdi
leaq (%rbx,%r15), %rax
cmpq %rdi, %rax
je 0x71d1
movq (%rax), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
cmpq $-0x60, %r15
jne 0x71b5
movb $0x1, %al
jmp 0x71e9
jmp 0x7781
movq %rax, %r14
xorl %eax, %eax
leaq -0x98(%rbp), %rcx
movq %rcx, -0x1e0(%rbp)
leaq -0xd8(%rbp), %rbx
movq -0x1e0(%rbp), %r15
cmpq %r15, %rbx
sete %cl
orb %al, %cl
jne 0x7a05
addq $-0x10, %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x722b
movq (%r15), %rsi
incq %rsi
callq 0x21d0
leaq -0x20(%r15), %rax
addq $-0x10, %r15
cmpq %rbx, %r15
movq %rax, %r15
jne 0x7217
jmp 0x7a05
movq %rax, %r14
xorl %eax, %eax
leaq -0x98(%rbp), %rcx
jmp 0x749b
jmp 0x7781
movq %rax, %r14
leaq -0x450(%rbp), %rdi
callq 0x7ad6
jmp 0x72ce
movq %rax, %r14
xorl %eax, %eax
jmp 0x7300
movq %rax, %r14
jmp 0x7322
movq %rax, %r14
jmp 0x7367
movq %rax, %r14
jmp 0x73eb
movq %rax, %r14
movq -0x2e8(%rbp), %rdi
leaq -0x2d8(%rbp), %rax
cmpq %rax, %rdi
je 0x7784
movq -0x2d8(%rbp), %rsi
incq %rsi
callq 0x21d0
jmp 0x7784
movq %rax, %r14
leaq -0x408(%rbp), %rdi
jmp 0x7921
jmp 0x790a
movq %rax, %r14
leaq -0x88(%rbp), %rbx
xorl %r15d, %r15d
movq -0x98(%rbp,%r15), %rdi
leaq (%rbx,%r15), %rax
cmpq %rdi, %rax
je 0x72f4
movq (%rax), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
cmpq $-0x60, %r15
jne 0x72d8
movb $0x1, %al
leaq -0x98(%rbp), %rcx
movq %rcx, -0x1e8(%rbp)
jmp 0x7449
movq %rax, %r14
leaq -0x480(%rbp), %rdi
callq 0x7ad6
leaq -0x68(%rbp), %rbx
xorl %r15d, %r15d
movq -0x78(%rbp,%r15), %rdi
leaq (%rbx,%r15), %rax
cmpq %rdi, %rax
je 0x7342
movq (%rax), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
cmpq $-0x80, %r15
jne 0x7329
movb $0x1, %al
jmp 0x7497
jmp 0x7781
movq %rax, %r14
leaq -0x4b0(%rbp), %rdi
callq 0x7ad6
leaq -0x88(%rbp), %rbx
xorl %r15d, %r15d
movq -0x98(%rbp,%r15), %rdi
leaq (%rbx,%r15), %rax
cmpq %rdi, %rax
je 0x738d
movq (%rax), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
cmpq $-0x60, %r15
jne 0x7371
movb $0x1, %al
jmp 0x73a0
movq %rax, %r14
xorl %eax, %eax
leaq -0x98(%rbp), %rcx
movq %rcx, -0x1f0(%rbp)
jmp 0x73ed
movq %rax, %r14
jmp 0x7447
jmp 0x790f
movq %rax, %r14
jmp 0x73d3
movq %rax, %r14
leaq -0xd8(%rbp), %rax
movq %rax, -0x1c8(%rbp)
xorl %eax, %eax
jmp 0x74a2
movq %rax, %r14
leaq -0xd8(%rbp), %rax
movq %rax, -0x1f0(%rbp)
xorl %eax, %eax
leaq -0xd8(%rbp), %rbx
movq -0x1f0(%rbp), %r15
cmpq %r15, %rbx
sete %cl
orb %al, %cl
jne 0x7784
addq $-0x10, %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x7421
movq (%r15), %rsi
incq %rsi
callq 0x21d0
leaq -0x20(%r15), %rax
addq $-0x10, %r15
cmpq %rbx, %r15
movq %rax, %r15
jne 0x740d
jmp 0x7784
movq %rax, %r14
leaq -0xd8(%rbp), %rax
movq %rax, -0x1e8(%rbp)
xorl %eax, %eax
leaq -0xd8(%rbp), %rbx
movq -0x1e8(%rbp), %r15
cmpq %r15, %rbx
sete %cl
orb %al, %cl
jne 0x7784
addq $-0x10, %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x747d
movq (%r15), %rsi
incq %rsi
callq 0x21d0
leaq -0x20(%r15), %rax
addq $-0x10, %r15
cmpq %rbx, %r15
movq %rax, %r15
jne 0x7469
jmp 0x7784
movq %rax, %r14
xorl %eax, %eax
leaq -0x78(%rbp), %rcx
movq %rcx, -0x1c8(%rbp)
leaq -0xd8(%rbp), %rbx
movq -0x1c8(%rbp), %r15
cmpq %r15, %rbx
sete %cl
orb %al, %cl
jne 0x7784
addq $-0x10, %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x74d6
movq (%r15), %rsi
incq %rsi
callq 0x21d0
leaq -0x20(%r15), %rax
addq $-0x10, %r15
cmpq %rbx, %r15
movq %rax, %r15
jne 0x74c2
jmp 0x7784
jmp 0x78f2
jmp 0x7942
movq %rax, %r14
movq -0x160(%rbp), %rdi
leaq -0x150(%rbp), %rax
cmpq %rax, %rdi
je 0x753e
movq -0x150(%rbp), %rsi
incq %rsi
callq 0x21d0
jmp 0x753e
movq %rax, %r14
jmp 0x757d
movq %rax, %r14
jmp 0x7537
movq %rax, %r14
leaq -0xd8(%rbp), %rax
movq %rax, -0x278(%rbp)
xorl %eax, %eax
jmp 0x75af
movq %rax, %r14
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x7945
movq -0x170(%rbp), %rsi
incq %rsi
callq 0x21d0
jmp 0x7945
jmp 0x7942
movq %rax, %r14
leaq -0x4c8(%rbp), %rdi
callq 0x7ad6
leaq -0xa8(%rbp), %rbx
xorl %r15d, %r15d
movq -0xb8(%rbp,%r15), %rdi
leaq (%rbx,%r15), %rax
cmpq %rdi, %rax
je 0x75a3
movq (%rax), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
cmpq $-0x40, %r15
jne 0x7587
movb $0x1, %al
leaq -0xd8(%rbp), %rbx
movq -0x278(%rbp), %r15
cmpq %r15, %rbx
sete %cl
orb %al, %cl
jne 0x7a05
addq $-0x10, %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x75e3
movq (%r15), %rsi
incq %rsi
callq 0x21d0
leaq -0x20(%r15), %rax
addq $-0x10, %r15
cmpq %rbx, %r15
movq %rax, %r15
jne 0x75cf
jmp 0x7a05
jmp 0x7942
jmp 0x77f1
movq %rax, %r14
jmp 0x7616
movq %rax, %r14
leaq -0x390(%rbp), %rdi
callq 0x7ad6
leaq -0xa8(%rbp), %rbx
xorl %r15d, %r15d
movq -0xb8(%rbp,%r15), %rdi
leaq (%rbx,%r15), %rax
cmpq %rdi, %rax
je 0x763c
movq (%rax), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
cmpq $-0x40, %r15
jne 0x7620
movb $0x1, %al
jmp 0x7662
movq %rax, %r14
jmp 0x7660
movq %rax, %r14
leaq -0xd8(%rbp), %rax
movq %rax, -0x280(%rbp)
xorl %eax, %eax
leaq -0xd8(%rbp), %rbx
movq -0x280(%rbp), %r15
cmpq %r15, %rbx
sete %cl
orb %al, %cl
jne 0x77f4
addq $-0x10, %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x7696
movq (%r15), %rsi
incq %rsi
callq 0x21d0
leaq -0x20(%r15), %rax
addq $-0x10, %r15
cmpq %rbx, %r15
movq %rax, %r15
jne 0x7682
jmp 0x77f4
movq %rax, %r14
xorl %eax, %eax
leaq -0x78(%rbp), %rcx
jmp 0x772a
movq %rax, %r14
xorl %eax, %eax
leaq -0x98(%rbp), %rcx
jmp 0x772a
movq %rax, %r14
xorl %eax, %eax
jmp 0x7731
movq %rax, %r14
xorl %eax, %eax
leaq -0xd8(%rbp), %rcx
jmp 0x772a
movq %rax, %r14
xorl %eax, %eax
jmp 0x7723
movq %rax, %r14
leaq -0x4e0(%rbp), %rdi
callq 0x7ad6
jmp 0x76f4
movq %rax, %r14
leaq -0x48(%rbp), %rbx
xorl %r15d, %r15d
movq -0x58(%rbp,%r15), %rdi
leaq (%rbx,%r15), %rax
cmpq %rdi, %rax
je 0x7714
movq (%rax), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
cmpq $-0xa0, %r15
jne 0x76fb
movb $0x1, %al
movq -0x208(%rbp), %rcx
movq %rcx, -0x190(%rbp)
leaq -0xd8(%rbp), %rcx
movq -0x190(%rbp), %r15
cmpq %r15, %rcx
sete %cl
orb %al, %cl
jne 0x7a05
addq $-0x10, %r15
leaq -0xd8(%rbp), %rbx
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x776c
movq (%r15), %rsi
incq %rsi
callq 0x21d0
leaq -0x20(%r15), %rax
addq $-0x10, %r15
cmpq %rbx, %r15
movq %rax, %r15
jne 0x7758
jmp 0x7a05
movq %rax, %r14
movq -0x250(%rbp), %rdi
leaq -0x240(%rbp), %rax
cmpq %rax, %rdi
je 0x77a6
movq -0x240(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x77c8
movq -0x170(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x160(%rbp), %rdi
leaq -0x150(%rbp), %rax
cmpq %rax, %rdi
je 0x77f4
movq -0x150(%rbp), %rsi
incq %rsi
callq 0x21d0
jmp 0x77f4
jmp 0x78f2
movq %rax, %r14
movq -0xf8(%rbp), %rdi
leaq -0xe8(%rbp), %rax
cmpq %rax, %rdi
je 0x7816
movq -0xe8(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x118(%rbp), %rdi
leaq -0x108(%rbp), %rax
cmpq %rax, %rdi
je 0x7a05
movq -0x108(%rbp), %rsi
jmp 0x79fd
movq %rax, %r14
jmp 0x7852
movq %rax, %r14
jmp 0x7897
movq %rax, %r14
leaq -0x3d8(%rbp), %rdi
callq 0x7ad6
leaq -0xa8(%rbp), %rbx
xorl %r15d, %r15d
movq -0xb8(%rbp,%r15), %rdi
leaq (%rbx,%r15), %rax
cmpq %rdi, %rax
je 0x7878
movq (%rax), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
cmpq $-0x40, %r15
jne 0x785c
movb $0x1, %al
jmp 0x7899
movq %rax, %r14
leaq -0xd8(%rbp), %rax
movq %rax, -0x288(%rbp)
xorl %eax, %eax
leaq -0xd8(%rbp), %rbx
movq -0x288(%rbp), %r15
cmpq %r15, %rbx
sete %cl
orb %al, %cl
jne 0x78d9
addq $-0x10, %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x78c9
movq (%r15), %rsi
incq %rsi
callq 0x21d0
leaq -0x20(%r15), %rax
addq $-0x10, %r15
cmpq %rbx, %r15
movq %rax, %r15
jne 0x78b5
leaq -0xe8(%rbp), %r15
jmp 0x78f5
movq %rax, %r14
leaq -0x4f8(%rbp), %rdi
jmp 0x7921
jmp 0x790f
jmp 0x790a
movq %rax, %r14
movq -0xf8(%rbp), %rdi
cmpq %r15, %rdi
jne 0x7807
jmp 0x7816
movq %rax, %r14
jmp 0x7926
movq %rax, %r14
jmp 0x7a05
movq %rax, %r14
leaq -0x510(%rbp), %rdi
callq 0x7ad6
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
jne 0x79f6
jmp 0x7a05
movq %rax, %r14
leaq -0xc8(%rbp), %rbx
jmp 0x79c8
movq %rax, %r14
jmp 0x797d
movq %rax, %r14
leaq -0xc8(%rbp), %rbx
jmp 0x79a6
movq %rax, %r14
movq -0xf8(%rbp), %rdi
cmpq %r15, %rdi
je 0x797d
movq -0xe8(%rbp), %rsi
incq %rsi
callq 0x21d0
leaq -0x150(%rbp), %rax
leaq -0xc8(%rbp), %rbx
movq -0x160(%rbp), %rdi
cmpq %rax, %rdi
je 0x79a6
movq -0x150(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x79c8
movq -0x170(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x118(%rbp), %rdi
leaq -0x108(%rbp), %rax
cmpq %rax, %rdi
je 0x79ea
movq -0x108(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0xd8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x7a05
movq -0xc8(%rbp), %rsi
incq %rsi
callq 0x21d0
movq %r14, %rdi
callq 0x2340
nop