// File: girdhari9[P]TEXPLORER/cmd_main.cpp
// Function: cmd_main(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void cmd_main(string current_path){
    mode = 0;
    re_init_setting();
    screen_point(cmd_mod_screen_start+3,0,0);
    cmd_arr_decl();
    while(1){    
        // clear_scr(cmd_mod_screen_start+3);
        cout<<">";
        fflush(stdout);
        fflush(stdin);
        string s;
        getline(cin, s);
        tokenized(s);
        if(v[0] == "help"){
            clear_cmd_scr();
            cout<<"You can perform operation using following commands:\n";
            cout<<"\nAll commands are case sensitive.\n";
            for(int i=0;i<=15;i++){
                cout<<cmd_name[i]<<cmd_work[i]<<"\n";
            }
            cout<<"Press ENTER to go back\n";
            getchar();
            screen_point(0,0,1);
            list_print(current_path,1,0);
            screen_point(cmd_mod_screen_start+3,0,0);
        }
        else if(v[0] == "about"){
            cout<<"TEXPLORER: Developed in 2018.\n";
            cout<<"Developer: Giridhari Lal Gupta\n";
            cout<<"Student @ IIITH : 2018201019\n";
        }
        else if(v[0] == "quit"){
            list_print(current_path,1,0);
            clear_scr(cmd_mod_screen_start+3);
            mode = 1;
            screen_point(0,0,0);
            fflush(stdout);
            pointer_move();
        }
        else if(v[0] == "clear"){
            list_print(current_path,1,0);
            clear_cmd_scr();
        }
        else if(v[0] == "copy"){
            int path = 0;
            for(unsigned int i = 1; i < v.size()-1; i++){
                path = set_path(current_path,i);
                if(path)
                    copy_file(source_path,dest_path);
            }
            if(path){ 
                list_print(current_path,1,0);
                screen_point(cmd_mod_screen_start+3,0,0);
                cout<<"File copied successfully!\n";
            }
            else
                cout<<v[0]<<": command syntax is not correct 'help' - to find correct syntax.\n";
        }
        else if(v[0] == "move"){
            int path = 0;
            for(unsigned int i = 1; i < v.size()-1; i++){
                path = set_path(current_path,i);
                if(path)
                    move_file(source_path,dest_path);
            }
            if(path){
                list_print(current_path,1,0);
                screen_point(cmd_mod_screen_start+3,0,0);
                cout<<"File moved successfully!\n";
            }
            else
                cout<<v[0]<<": command syntax is not correct 'help' - to find correct syntax.\n";
        }
        else if(v[0] == "copy_dir"){
            int path = 0;
            for(unsigned int i = 1; i < v.size()-1; i++){   
                path = set_path(current_path,i);
                if(path){
                    mkdir(dest_path.c_str(), S_IRUSR|S_IWUSR|S_IXUSR);
                    copy_dir(source_path,dest_path);
                }
            }
            if(path){
                list_print(current_path,1,0);
                screen_point(cmd_mod_screen_start+3,0,0);
                cout<<"Dirctory copied successfully!\n";
            }
            else
                cout<<v[0]<<": command syntax is not correct 'help' - to find correct syntax.\n";
        }
        else if(v[0] == "move_dir"){
            int path = 0;
            for(unsigned int i = 1; i < v.size()-1; i++){   
                //To set destination & source path
                path = set_path(current_path,i); 
                //To create directory
                if(path){
                    mkdir(dest_path.c_str(), S_IRUSR|S_IWUSR|S_IXUSR);
                    copy_dir(source_path,dest_path);
                    delete_dir(source_path);
                    rmdir(source_path.c_str());
                }
            }
            if(path){
                list_print(current_path,1,0);
                screen_point(cmd_mod_screen_start+3,0,0);
                cout<<"Directory moved successfully!\n";
            }
            else
                cout<<v[0]<<": command syntax is not correct 'help' - to find correct syntax.\n";
        }
        else if(v[0] == "rename"){
            string dest_path, source_path; 
                if(v[1][0] == '~') {
                    size_t found = v[1].find_last_of("/\\");
                    dest_path = home_path + "/" + v[1].substr(2,found-1) + v[2];
                    source_path = home_path + "/" + v[1].substr(2);
                }
                else {
                    size_t found = v[1].find_last_of("/\\");
                    if(found != string::npos)
                    dest_path = current_path + "/" + v[1].substr(0,found) + "/" + v[2];
                    else dest_path = current_path + "/" + v[2];
                    source_path = current_path + "/" + v[1];
                }
            rename(source_path.c_str(),dest_path.c_str());
            list_print(current_path,1,0);
            screen_point(cmd_mod_screen_start+3,0,0);
            cout<<"Renamed successfully!\n";
        }
        else if(v[0] == "delete_file"){
            string file_path,copy_file_path; 
            int status;
            if(v[1][0] == '~') file_path = home_path + "/" + v[1].substr(2);
            else file_path = current_path + "/" + v[1];

            if(v[1][0] == '~') {
                size_t found = v[1].find_last_of("/\\");
                copy_file_path = home_path + "/Trash" + v[1].substr(found);
            }
            else {
                size_t found = v[1].find_last_of("/\\");
                copy_file_path = home_path + "/Trash" + v[1].substr(found);
            }
            if(current_path == home_path + "/Trash"){
                status = unlink(file_path.c_str());
                if(!status)
                    cout<<"File deleted successfully!\n";
                else cout<<"Error: 'help' - to find correct syntax.\n";
            }
            else{
                size_t found = copy_file_path.find_last_of("/\\");
                trace_map[copy_file_path.substr(found+1)] = file_path;
                rename(file_path.c_str(),copy_file_path.c_str());
                list_print(current_path,1,0);
                screen_point(cmd_mod_screen_start+3,0,0);
                cout<<"Moved to trace!\n";
            }
            
        } 
        else if(v[0] == "restore"){
            string src_path = home_path + "/Trash/" + v[1];
            string file_path = trace_map[v[1]];
            move_file(src_path,file_path);
            list_print(current_path,1,0);
            screen_point(cmd_mod_screen_start+3,0,0);
            cout<<"File restored!\n";
        } 
        else if(v[0] == "delete_dir"){
            string directory_path; 
            if(v[1][0] == '~') directory_path = home_path + "/" + v[1].substr(2);
            else directory_path = current_path + "/" + v[1];
            delete_dir(directory_path);
            rmdir(directory_path.c_str());
            list_print(current_path,1,0);
            screen_point(cmd_mod_screen_start+3,0,0);
            cout<<"Dirctory deleted successfully!\n";
        }        
        else if(v[0] == "create_file"){
            string file_name;
            if(v[1][0] == '~'){
                cout<<v[0]<<": command syntax is not correct 'help' - to find correct syntax.\n";
            }
            else if(v[2][0] == '~') file_name = home_path + "/" + v[2].substr(2) + "/" + v[1];
            else file_name = current_path + "/" + v[2] + "/" + v[1];
            open(file_name.c_str(), O_WRONLY|O_CREAT, S_IRUSR|S_IWUSR);
            list_print(current_path,1,0);
            screen_point(cmd_mod_screen_start+3,0,0);
            cout<<"file created successfully!\n";
        }
        /*Give first agrument as directory name which wants to create
        second arguments as where wants to create. Give '.' is wants to create 
        directory in current directory.*/
        else if(v[0] == "create_dir"){
            string file_name;
            if(v[1][0] == '~'){
                cout<<v[0]<<": command syntax is not correct 'help' - to find correct syntax.\n";
            }
            if(v[2][0] == '~'){
                file_name = home_path + "/" + v[2].substr(2) + "/" + v[1];
                mkdir(file_name.c_str(), S_IRUSR|S_IWUSR|S_IXUSR);
                cout<<"Directory created successfully!\n";
            }
            else{
                file_name = current_path + "/" + v[2] + "/" + v[1];
                mkdir(file_name.c_str(), S_IRUSR|S_IWUSR|S_IXUSR);
                cout<<"Directory created successfully!\n"; 
            }
        }  
        else if(v[0] == "goto"){
            string path_name;
            if(v[1][0] == '~')
                path_name = home_path + "/" + v[1].substr(2);
            else path_name = home_path + "/" + v[1];
            up = 0;
            screen_point(0,0,0);
            list_print(path_name,1,0);
            pointer_move();
        } 
        else if(v[0] == "search"){
            // search_v.push_back(current_path);
            search_file(current_path,v[1]);
            if(search_v.size()){
                print_search_file(search_v,v[1]);
                screen_point(search_v.size()-1,0,0);
                cmd_pointer_move(current_path,v[1]);
            }
            else{
                clear_cmd_scr();
                cout<<"No result found!\n";
            }
        } 
        else if(v[0] == "snapshot"){
            string path_name;
            if(v[1][0] == '~')
                path_name = home_path + v[1].substr(1);
            else path_name = current_path + "/" + v[1];
            FILE *file_pointer = fopen(v[2].c_str(),"w+");
            snapshot(path_name,file_pointer);
            fclose(file_pointer);
            cout<<"Snapshot Done! "<<v[2]<< " created in current Directory.\n";
        }
        else{   
            cout<<v[0]<<": command not found 'help' - to find correct command name.\n";
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1020, %rsp           # imm = 0x1020
movq %rdi, -0xe40(%rbp)
movq %rdi, -0x8(%rbp)
leaq 0xec4b(%rip), %rax      # 0x182f8
movl $0x0, (%rax)
callq 0x74d0
leaq 0xf07d(%rip), %rax      # 0x1873c
movl (%rax), %edi
addl $0x3, %edi
xorl %edx, %edx
movl %edx, %esi
callq 0x4020
callq 0xc780
movq 0xe8f7(%rip), %rdi      # 0x17fd0
leaq 0x80f7(%rip), %rsi      # 0x117d7
callq 0x32d0
movq 0xe8b4(%rip), %rax      # 0x17fa0
movq (%rax), %rdi
callq 0x33b0
movq 0xe8c5(%rip), %rax      # 0x17fc0
movq (%rax), %rdi
callq 0x33b0
leaq -0x28(%rbp), %rdi
movq %rdi, -0xe48(%rbp)
callq 0x3460
movq -0xe48(%rbp), %rsi
movq 0xe8bf(%rip), %rdi      # 0x17fe0
callq 0x3090
jmp 0x9728
leaq -0x58(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x3130
jmp 0x9737
leaq -0x58(%rbp), %rdi
callq 0xcab0
jmp 0x9742
leaq -0x58(%rbp), %rdi
callq 0x35c8
leaq 0xf1a6(%rip), %rdi      # 0x188f8
xorl %eax, %eax
movl %eax, %esi
callq 0x8e80
movq %rax, %rdi
leaq 0x79af(%rip), %rsi      # 0x11114
callq 0x52b0
movb %al, -0xe49(%rbp)
jmp 0x9772
movb -0xe49(%rbp), %al
testb $0x1, %al
jne 0x9781
jmp 0x98ed
callq 0xcd40
jmp 0x9788
movq 0xe841(%rip), %rdi      # 0x17fd0
leaq 0x7983(%rip), %rsi      # 0x11119
callq 0x32d0
jmp 0x979d
movq 0xe82c(%rip), %rdi      # 0x17fd0
leaq 0x79a3(%rip), %rsi      # 0x1114e
callq 0x32d0
jmp 0x97b2
movl $0x0, -0x5c(%rbp)
cmpl $0xf, -0x5c(%rbp)
jg 0x985e
movslq -0x5c(%rbp), %rax
shlq $0x5, %rax
leaq 0xf16e(%rip), %rsi      # 0x18940
addq %rax, %rsi
movq 0xe7f4(%rip), %rdi      # 0x17fd0
callq 0x3290
movq %rax, -0xe58(%rbp)
jmp 0x97ea
movq -0xe58(%rbp), %rdi
movslq -0x5c(%rbp), %rax
shlq $0x5, %rax
leaq 0xf340(%rip), %rsi      # 0x18b40
addq %rax, %rsi
callq 0x3290
movq %rax, -0xe60(%rbp)
jmp 0x9811
movq -0xe60(%rbp), %rdi
leaq 0x78cf(%rip), %rsi      # 0x110ee
callq 0x32d0
jmp 0x9826
jmp 0x9828
movl -0x5c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x5c(%rbp)
jmp 0x97b9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xc762
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x35c8
jmp 0xc762
movq 0xe76b(%rip), %rdi      # 0x17fd0
leaq 0x7905(%rip), %rsi      # 0x11171
callq 0x32d0
jmp 0x9873
callq 0x3470
jmp 0x987a
xorl %esi, %esi
movl $0x1, %edx
movl %esi, %edi
callq 0x4020
jmp 0x988a
movq -0xe40(%rbp), %rsi
leaq -0x80(%rbp), %rdi
callq 0x3130
jmp 0x989c
leaq -0x80(%rbp), %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x4360
jmp 0x98ae
leaq -0x80(%rbp), %rdi
callq 0x35c8
leaq 0xee7e(%rip), %rax      # 0x1873c
movl (%rax), %edi
addl $0x3, %edi
xorl %edx, %edx
movl %edx, %esi
callq 0x4020
jmp 0x98ce
jmp 0xc754
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x35c8
jmp 0xc762
leaq 0xf004(%rip), %rdi      # 0x188f8
xorl %eax, %eax
movl %eax, %esi
callq 0x8e80
movq %rax, %rdi
leaq 0x7882(%rip), %rsi      # 0x11189
callq 0x52b0
movb %al, -0xe61(%rbp)
jmp 0x9914
movb -0xe61(%rbp), %al
testb $0x1, %al
jne 0x9920
jmp 0x9964
movq 0xe6a9(%rip), %rdi      # 0x17fd0
leaq 0x7861(%rip), %rsi      # 0x1118f
callq 0x32d0
jmp 0x9935
movq 0xe694(%rip), %rdi      # 0x17fd0
leaq 0x786b(%rip), %rsi      # 0x111ae
callq 0x32d0
jmp 0x994a
movq 0xe67f(%rip), %rdi      # 0x17fd0
leaq 0x7876(%rip), %rsi      # 0x111ce
callq 0x32d0
jmp 0x995f
jmp 0xc752
leaq 0xef8d(%rip), %rdi      # 0x188f8
xorl %eax, %eax
movl %eax, %esi
callq 0x8e80
movq %rax, %rdi
leaq 0x786e(%rip), %rsi      # 0x111ec
callq 0x52b0
movb %al, -0xe62(%rbp)
jmp 0x998b
movb -0xe62(%rbp), %al
testb $0x1, %al
jne 0x999a
jmp 0x9a37
movq -0xe40(%rbp), %rsi
leaq -0xa0(%rbp), %rdi
callq 0x3130
jmp 0x99af
leaq -0xa0(%rbp), %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x4360
jmp 0x99c4
leaq -0xa0(%rbp), %rdi
callq 0x35c8
leaq 0xed65(%rip), %rax      # 0x1873c
movl (%rax), %edi
addl $0x3, %edi
callq 0x4260
jmp 0x99e3
leaq 0xe90e(%rip), %rax      # 0x182f8
movl $0x1, (%rax)
xorl %edx, %edx
movl %edx, %edi
movl %edx, %esi
callq 0x4020
jmp 0x99fd
movq 0xe59c(%rip), %rax      # 0x17fa0
movq (%rax), %rdi
callq 0x33b0
jmp 0x9a0e
callq 0x6bc0
jmp 0x9a15
jmp 0xc750
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x35c8
jmp 0xc762
leaq 0xeeba(%rip), %rdi      # 0x188f8
xorl %eax, %eax
movl %eax, %esi
callq 0x8e80
movq %rax, %rdi
leaq 0x77a0(%rip), %rsi      # 0x111f1
callq 0x52b0
movb %al, -0xe63(%rbp)
jmp 0x9a5e
movb -0xe63(%rbp), %al
testb $0x1, %al
jne 0x9a6a
jmp 0x9ac9
movq -0xe40(%rbp), %rsi
leaq -0xc0(%rbp), %rdi
callq 0x3130
jmp 0x9a7f
leaq -0xc0(%rbp), %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x4360
jmp 0x9a94
leaq -0xc0(%rbp), %rdi
callq 0x35c8
callq 0xcd40
jmp 0x9aa7
jmp 0xc74e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x35c8
jmp 0xc762
leaq 0xee28(%rip), %rdi      # 0x188f8
xorl %eax, %eax
movl %eax, %esi
callq 0x8e80
movq %rax, %rdi
leaq 0x7714(%rip), %rsi      # 0x111f7
callq 0x52b0
movb %al, -0xe64(%rbp)
jmp 0x9af0
movb -0xe64(%rbp), %al
testb $0x1, %al
jne 0x9aff
jmp 0x9d2c
movl $0x0, -0xc4(%rbp)
movl $0x1, -0xc8(%rbp)
movl -0xc8(%rbp), %eax
movq %rax, -0xe70(%rbp)
leaq 0xedd1(%rip), %rdi      # 0x188f8
callq 0x8e60
movq %rax, %rcx
movq -0xe70(%rbp), %rax
subq $0x1, %rcx
cmpq %rcx, %rax
jae 0x9c5a
movq -0xe40(%rbp), %rsi
leaq -0xe8(%rbp), %rdi
callq 0x3130
jmp 0x9b58
movl -0xc8(%rbp), %esi
leaq -0xe8(%rbp), %rdi
callq 0xcd80
movl %eax, -0xe74(%rbp)
jmp 0x9b72
movl -0xe74(%rbp), %eax
movl %eax, -0xc4(%rbp)
leaq -0xe8(%rbp), %rdi
callq 0x35c8
cmpl $0x0, -0xc4(%rbp)
je 0x9c44
leaq 0xf1c2(%rip), %rsi      # 0x18d60
leaq -0x108(%rbp), %rdi
callq 0x3130
jmp 0x9bac
leaq 0xf18d(%rip), %rsi      # 0x18d40
leaq -0x128(%rbp), %rdi
callq 0x3130
jmp 0x9bc1
leaq -0x108(%rbp), %rdi
leaq -0x128(%rbp), %rsi
callq 0x7f50
jmp 0x9bd6
leaq -0x128(%rbp), %rdi
callq 0x35c8
leaq -0x108(%rbp), %rdi
callq 0x35c8
jmp 0x9c44
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xe8(%rbp), %rdi
callq 0x35c8
jmp 0xc762
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x9c33
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x128(%rbp), %rdi
callq 0x35c8
leaq -0x108(%rbp), %rdi
callq 0x35c8
jmp 0xc762
jmp 0x9c46
movl -0xc8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc8(%rbp)
jmp 0x9b13
cmpl $0x0, -0xc4(%rbp)
je 0x9ce8
movq -0xe40(%rbp), %rsi
leaq -0x148(%rbp), %rdi
callq 0x3130
jmp 0x9c7c
leaq -0x148(%rbp), %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x4360
jmp 0x9c91
leaq -0x148(%rbp), %rdi
callq 0x35c8
leaq 0xea98(%rip), %rax      # 0x1873c
movl (%rax), %edi
addl $0x3, %edi
xorl %edx, %edx
movl %edx, %esi
callq 0x4020
jmp 0x9cb4
movq 0xe315(%rip), %rdi      # 0x17fd0
leaq 0x753a(%rip), %rsi      # 0x111fc
callq 0x32d0
jmp 0x9cc9
jmp 0x9d27
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x148(%rbp), %rdi
callq 0x35c8
jmp 0xc762
leaq 0xec09(%rip), %rdi      # 0x188f8
xorl %eax, %eax
movl %eax, %esi
callq 0x8e80
movq %rax, %rsi
movq 0xe2ce(%rip), %rdi      # 0x17fd0
callq 0x3290
movq %rax, -0xe80(%rbp)
jmp 0x9d10
movq -0xe80(%rbp), %rdi
leaq 0x74f9(%rip), %rsi      # 0x11217
callq 0x32d0
jmp 0x9d25
jmp 0x9d27
jmp 0xc74c
leaq 0xebc5(%rip), %rdi      # 0x188f8
xorl %eax, %eax
movl %eax, %esi
callq 0x8e80
movq %rax, %rdi
leaq 0x7513(%rip), %rsi      # 0x11259
callq 0x52b0
movb %al, -0xe81(%rbp)
jmp 0x9d53
movb -0xe81(%rbp), %al
testb $0x1, %al
jne 0x9d62
jmp 0x9f8f
movl $0x0, -0x14c(%rbp)
movl $0x1, -0x150(%rbp)
movl -0x150(%rbp), %eax
movq %rax, -0xe90(%rbp)
leaq 0xeb6e(%rip), %rdi      # 0x188f8
callq 0x8e60
movq %rax, %rcx
movq -0xe90(%rbp), %rax
subq $0x1, %rcx
cmpq %rcx, %rax
jae 0x9ebd
movq -0xe40(%rbp), %rsi
leaq -0x170(%rbp), %rdi
callq 0x3130
jmp 0x9dbb
movl -0x150(%rbp), %esi
leaq -0x170(%rbp), %rdi
callq 0xcd80
movl %eax, -0xe94(%rbp)
jmp 0x9dd5
movl -0xe94(%rbp), %eax
movl %eax, -0x14c(%rbp)
leaq -0x170(%rbp), %rdi
callq 0x35c8
cmpl $0x0, -0x14c(%rbp)
je 0x9ea7
leaq 0xef5f(%rip), %rsi      # 0x18d60
leaq -0x190(%rbp), %rdi
callq 0x3130
jmp 0x9e0f
leaq 0xef2a(%rip), %rsi      # 0x18d40
leaq -0x1b0(%rbp), %rdi
callq 0x3130
jmp 0x9e24
leaq -0x190(%rbp), %rdi
leaq -0x1b0(%rbp), %rsi
callq 0x7fe0
jmp 0x9e39
leaq -0x1b0(%rbp), %rdi
callq 0x35c8
leaq -0x190(%rbp), %rdi
callq 0x35c8
jmp 0x9ea7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x170(%rbp), %rdi
callq 0x35c8
jmp 0xc762
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x9e96
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x1b0(%rbp), %rdi
callq 0x35c8
leaq -0x190(%rbp), %rdi
callq 0x35c8
jmp 0xc762
jmp 0x9ea9
movl -0x150(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x150(%rbp)
jmp 0x9d76
cmpl $0x0, -0x14c(%rbp)
je 0x9f4b
movq -0xe40(%rbp), %rsi
leaq -0x1d0(%rbp), %rdi
callq 0x3130
jmp 0x9edf
leaq -0x1d0(%rbp), %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x4360
jmp 0x9ef4
leaq -0x1d0(%rbp), %rdi
callq 0x35c8
leaq 0xe835(%rip), %rax      # 0x1873c
movl (%rax), %edi
addl $0x3, %edi
xorl %edx, %edx
movl %edx, %esi
callq 0x4020
jmp 0x9f17
movq 0xe0b2(%rip), %rdi      # 0x17fd0
leaq 0x7339(%rip), %rsi      # 0x1125e
callq 0x32d0
jmp 0x9f2c
jmp 0x9f8a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x1d0(%rbp), %rdi
callq 0x35c8
jmp 0xc762
leaq 0xe9a6(%rip), %rdi      # 0x188f8
xorl %eax, %eax
movl %eax, %esi
callq 0x8e80
movq %rax, %rsi
movq 0xe06b(%rip), %rdi      # 0x17fd0
callq 0x3290
movq %rax, -0xea0(%rbp)
jmp 0x9f73
movq -0xea0(%rbp), %rdi
leaq 0x7296(%rip), %rsi      # 0x11217
callq 0x32d0
jmp 0x9f88
jmp 0x9f8a
jmp 0xc74a
leaq 0xe962(%rip), %rdi      # 0x188f8
xorl %eax, %eax
movl %eax, %esi
callq 0x8e80
movq %rax, %rdi
leaq 0x72cf(%rip), %rsi      # 0x11278
callq 0x52b0
movb %al, -0xea1(%rbp)
jmp 0x9fb6
movb -0xea1(%rbp), %al
testb $0x1, %al
jne 0x9fc5
jmp 0xa20b
movl $0x0, -0x1d4(%rbp)
movl $0x1, -0x1d8(%rbp)
movl -0x1d8(%rbp), %eax
movq %rax, -0xeb0(%rbp)
leaq 0xe90b(%rip), %rdi      # 0x188f8
callq 0x8e60
movq %rax, %rcx
movq -0xeb0(%rbp), %rax
subq $0x1, %rcx
cmpq %rcx, %rax
jae 0xa139
movq -0xe40(%rbp), %rsi
leaq -0x1f8(%rbp), %rdi
callq 0x3130
jmp 0xa01e
movl -0x1d8(%rbp), %esi
leaq -0x1f8(%rbp), %rdi
callq 0xcd80
movl %eax, -0xeb4(%rbp)
jmp 0xa038
movl -0xeb4(%rbp), %eax
movl %eax, -0x1d4(%rbp)
leaq -0x1f8(%rbp), %rdi
callq 0x35c8
cmpl $0x0, -0x1d4(%rbp)
je 0xa123
leaq 0xecdc(%rip), %rdi      # 0x18d40
callq 0x3110
movq %rax, %rdi
movl $0x1c0, %esi            # imm = 0x1C0
callq 0x3160
leaq 0xece3(%rip), %rsi      # 0x18d60
leaq -0x218(%rbp), %rdi
callq 0x3130
jmp 0xa08b
leaq 0xecae(%rip), %rsi      # 0x18d40
leaq -0x238(%rbp), %rdi
callq 0x3130
jmp 0xa0a0
leaq -0x218(%rbp), %rdi
leaq -0x238(%rbp), %rsi
callq 0x8090
jmp 0xa0b5
leaq -0x238(%rbp), %rdi
callq 0x35c8
leaq -0x218(%rbp), %rdi
callq 0x35c8
jmp 0xa123
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x1f8(%rbp), %rdi
callq 0x35c8
jmp 0xc762
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xa112
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x238(%rbp), %rdi
callq 0x35c8
leaq -0x218(%rbp), %rdi
callq 0x35c8
jmp 0xc762
jmp 0xa125
movl -0x1d8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1d8(%rbp)
jmp 0x9fd9
cmpl $0x0, -0x1d4(%rbp)
je 0xa1c7
movq -0xe40(%rbp), %rsi
leaq -0x258(%rbp), %rdi
callq 0x3130
jmp 0xa15b
leaq -0x258(%rbp), %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x4360
jmp 0xa170
leaq -0x258(%rbp), %rdi
callq 0x35c8
leaq 0xe5b9(%rip), %rax      # 0x1873c
movl (%rax), %edi
addl $0x3, %edi
xorl %edx, %edx
movl %edx, %esi
callq 0x4020
jmp 0xa193
movq 0xde36(%rip), %rdi      # 0x17fd0
leaq 0x70e0(%rip), %rsi      # 0x11281
callq 0x32d0
jmp 0xa1a8
jmp 0xa206
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x258(%rbp), %rdi
callq 0x35c8
jmp 0xc762
leaq 0xe72a(%rip), %rdi      # 0x188f8
xorl %eax, %eax
movl %eax, %esi
callq 0x8e80
movq %rax, %rsi
movq 0xddef(%rip), %rdi      # 0x17fd0
callq 0x3290
movq %rax, -0xec0(%rbp)
jmp 0xa1ef
movq -0xec0(%rbp), %rdi
leaq 0x701a(%rip), %rsi      # 0x11217
callq 0x32d0
jmp 0xa204
jmp 0xa206
jmp 0xc748
leaq 0xe6e6(%rip), %rdi      # 0x188f8
xorl %eax, %eax
movl %eax, %esi
callq 0x8e80
movq %rax, %rdi
leaq 0x707b(%rip), %rsi      # 0x112a0
callq 0x52b0
movb %al, -0xec1(%rbp)
jmp 0xa232
movb -0xec1(%rbp), %al
testb $0x1, %al
jne 0xa241
jmp 0xa4e7
movl $0x0, -0x25c(%rbp)
movl $0x1, -0x260(%rbp)
movl -0x260(%rbp), %eax
movq %rax, -0xed0(%rbp)
leaq 0xe68f(%rip), %rdi      # 0x188f8
callq 0x8e60
movq %rax, %rcx
movq -0xed0(%rbp), %rax
subq $0x1, %rcx
cmpq %rcx, %rax
jae 0xa415
movq -0xe40(%rbp), %rsi
leaq -0x280(%rbp), %rdi
callq 0x3130
jmp 0xa29a
movl -0x260(%rbp), %esi
leaq -0x280(%rbp), %rdi
callq 0xcd80
movl %eax, -0xed4(%rbp)
jmp 0xa2b4
movl -0xed4(%rbp), %eax
movl %eax, -0x25c(%rbp)
leaq -0x280(%rbp), %rdi
callq 0x35c8
cmpl $0x0, -0x25c(%rbp)
je 0xa3ff
leaq 0xea60(%rip), %rdi      # 0x18d40
callq 0x3110
movq %rax, %rdi
movl $0x1c0, %esi            # imm = 0x1C0
callq 0x3160
leaq 0xea67(%rip), %rsi      # 0x18d60
leaq -0x2a0(%rbp), %rdi
callq 0x3130
jmp 0xa307
leaq 0xea32(%rip), %rsi      # 0x18d40
leaq -0x2c0(%rbp), %rdi
callq 0x3130
jmp 0xa31c
leaq -0x2a0(%rbp), %rdi
leaq -0x2c0(%rbp), %rsi
callq 0x8090
jmp 0xa331
leaq -0x2c0(%rbp), %rdi
callq 0x35c8
leaq -0x2a0(%rbp), %rdi
callq 0x35c8
leaq 0xea10(%rip), %rsi      # 0x18d60
leaq -0x2e0(%rbp), %rdi
callq 0x3130
jmp 0xa35e
leaq -0x2e0(%rbp), %rdi
callq 0x8560
jmp 0xa36c
leaq -0x2e0(%rbp), %rdi
callq 0x35c8
leaq 0xe9e1(%rip), %rdi      # 0x18d60
callq 0x3110
movq %rax, %rdi
callq 0x3120
jmp 0xa3ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x280(%rbp), %rdi
callq 0x35c8
jmp 0xc762
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xa3d1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x2c0(%rbp), %rdi
callq 0x35c8
leaq -0x2a0(%rbp), %rdi
callq 0x35c8
jmp 0xc762
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x2e0(%rbp), %rdi
callq 0x35c8
jmp 0xc762
jmp 0xa401
movl -0x260(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x260(%rbp)
jmp 0xa255
cmpl $0x0, -0x25c(%rbp)
je 0xa4a3
movq -0xe40(%rbp), %rsi
leaq -0x300(%rbp), %rdi
callq 0x3130
jmp 0xa437
leaq -0x300(%rbp), %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x4360
jmp 0xa44c
leaq -0x300(%rbp), %rdi
callq 0x35c8
leaq 0xe2dd(%rip), %rax      # 0x1873c
movl (%rax), %edi
addl $0x3, %edi
xorl %edx, %edx
movl %edx, %esi
callq 0x4020
jmp 0xa46f
movq 0xdb5a(%rip), %rdi      # 0x17fd0
leaq 0x6e2c(%rip), %rsi      # 0x112a9
callq 0x32d0
jmp 0xa484
jmp 0xa4e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x300(%rbp), %rdi
callq 0x35c8
jmp 0xc762
leaq 0xe44e(%rip), %rdi      # 0x188f8
xorl %eax, %eax
movl %eax, %esi
callq 0x8e80
movq %rax, %rsi
movq 0xdb13(%rip), %rdi      # 0x17fd0
callq 0x3290
movq %rax, -0xee0(%rbp)
jmp 0xa4cb
movq -0xee0(%rbp), %rdi
leaq 0x6d3e(%rip), %rsi      # 0x11217
callq 0x32d0
jmp 0xa4e0
jmp 0xa4e2
jmp 0xc746
leaq 0xe40a(%rip), %rdi      # 0x188f8
xorl %eax, %eax
movl %eax, %esi
callq 0x8e80
movq %rax, %rdi
leaq 0x6dc7(%rip), %rsi      # 0x112c8
callq 0x52b0
movb %al, -0xee1(%rbp)
jmp 0xa50e
movb -0xee1(%rbp), %al
testb $0x1, %al
jne 0xa51d
jmp 0xab58
leaq -0x320(%rbp), %rdi
callq 0x3460
leaq -0x340(%rbp), %rdi
callq 0x3460
leaq 0xe3bc(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x35b0
movq %rax, -0xef0(%rbp)
jmp 0xa55b
movq -0xef0(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x7e, %eax
jne 0xa7b3
leaq 0xe383(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rdi
leaq 0x6ac9(%rip), %rsi      # 0x11052
movq $-0x1, %rdx
callq 0x32b0
movq %rax, -0x348(%rbp)
leaq 0xe175(%rip), %rsi      # 0x18718
leaq 0x6b37(%rip), %rdx      # 0x110e1
leaq -0x3a8(%rbp), %rdi
callq 0x5490
jmp 0xa5b8
leaq 0xe339(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rsi
movq -0x348(%rbp), %rcx
decq %rcx
leaq -0x3c8(%rbp), %rdi
movl $0x2, %edx
callq 0x3310
jmp 0xa5e9
leaq -0x388(%rbp), %rdi
leaq -0x3a8(%rbp), %rsi
leaq -0x3c8(%rbp), %rdx
callq 0xddf0
jmp 0xa605
leaq 0xe2ec(%rip), %rdi      # 0x188f8
movl $0x2, %esi
callq 0x8e80
movq %rax, %rdx
leaq -0x368(%rbp), %rdi
leaq -0x388(%rbp), %rsi
callq 0x5370
jmp 0xa62e
leaq -0x320(%rbp), %rdi
leaq -0x368(%rbp), %rsi
movq %rsi, -0xef8(%rbp)
callq 0x33e0
movq -0xef8(%rbp), %rdi
callq 0x35c8
leaq -0x388(%rbp), %rdi
callq 0x35c8
leaq -0x3c8(%rbp), %rdi
callq 0x35c8
leaq -0x3a8(%rbp), %rdi
callq 0x35c8
leaq 0xe099(%rip), %rsi      # 0x18718
leaq 0x6a5b(%rip), %rdx      # 0x110e1
leaq -0x408(%rbp), %rdi
callq 0x5490
jmp 0xa694
leaq 0xe25d(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rsi
leaq -0x428(%rbp), %rdi
movl $0x2, %edx
movq $-0x1, %rcx
callq 0x3310
jmp 0xa6c2
leaq -0x3e8(%rbp), %rdi
leaq -0x408(%rbp), %rsi
leaq -0x428(%rbp), %rdx
callq 0xddf0
jmp 0xa6de
leaq -0x340(%rbp), %rdi
leaq -0x3e8(%rbp), %rsi
callq 0x33e0
leaq -0x3e8(%rbp), %rdi
callq 0x35c8
leaq -0x428(%rbp), %rdi
callq 0x35c8
leaq -0x408(%rbp), %rdi
callq 0x35c8
jmp 0xaa76
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xab3b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xa76b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xa75f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x388(%rbp), %rdi
callq 0x35c8
leaq -0x3c8(%rbp), %rdi
callq 0x35c8
leaq -0x3a8(%rbp), %rdi
callq 0x35c8
jmp 0xab3b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xa7a2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x428(%rbp), %rdi
callq 0x35c8
leaq -0x408(%rbp), %rdi
callq 0x35c8
jmp 0xab3b
leaq 0xe13e(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rdi
leaq 0x6884(%rip), %rsi      # 0x11052
movq $-0x1, %rdx
callq 0x32b0
movq %rax, -0x430(%rbp)
cmpq $-0x1, -0x430(%rbp)
je 0xa958
movq -0xe40(%rbp), %rsi
leaq 0x68e4(%rip), %rdx      # 0x110e1
leaq -0x4b0(%rbp), %rdi
callq 0x5490
jmp 0xa80b
leaq 0xe0e6(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rsi
movq -0x430(%rbp), %rcx
xorl %eax, %eax
movl %eax, %edx
leaq -0x4d0(%rbp), %rdi
callq 0x3310
jmp 0xa838
leaq -0x490(%rbp), %rdi
leaq -0x4b0(%rbp), %rsi
leaq -0x4d0(%rbp), %rdx
callq 0xddf0
jmp 0xa854
leaq 0x6886(%rip), %rdx      # 0x110e1
leaq -0x470(%rbp), %rdi
leaq -0x490(%rbp), %rsi
callq 0x5440
jmp 0xa870
leaq 0xe081(%rip), %rdi      # 0x188f8
movl $0x2, %esi
callq 0x8e80
movq %rax, %rdx
leaq -0x450(%rbp), %rdi
leaq -0x470(%rbp), %rsi
callq 0x5370
jmp 0xa899
leaq -0x320(%rbp), %rdi
leaq -0x450(%rbp), %rsi
callq 0x33e0
leaq -0x450(%rbp), %rdi
callq 0x35c8
leaq -0x470(%rbp), %rdi
callq 0x35c8
leaq -0x490(%rbp), %rdi
callq 0x35c8
leaq -0x4d0(%rbp), %rdi
callq 0x35c8
leaq -0x4b0(%rbp), %rdi
callq 0x35c8
jmp 0xa9e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xa947
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xa93b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xa92f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x470(%rbp), %rdi
callq 0x35c8
leaq -0x490(%rbp), %rdi
callq 0x35c8
leaq -0x4d0(%rbp), %rdi
callq 0x35c8
leaq -0x4b0(%rbp), %rdi
callq 0x35c8
jmp 0xab3b
movq -0xe40(%rbp), %rsi
leaq 0x677b(%rip), %rdx      # 0x110e1
leaq -0x510(%rbp), %rdi
callq 0x5490
jmp 0xa974
leaq 0xdf7d(%rip), %rdi      # 0x188f8
movl $0x2, %esi
callq 0x8e80
movq %rax, %rdx
leaq -0x4f0(%rbp), %rdi
leaq -0x510(%rbp), %rsi
callq 0x5370
jmp 0xa99d
leaq -0x320(%rbp), %rdi
leaq -0x4f0(%rbp), %rsi
callq 0x33e0
leaq -0x4f0(%rbp), %rdi
callq 0x35c8
leaq -0x510(%rbp), %rdi
callq 0x35c8
jmp 0xa9e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x510(%rbp), %rdi
callq 0x35c8
jmp 0xab3b
movq -0xe40(%rbp), %rsi
leaq 0x66ec(%rip), %rdx      # 0x110e1
leaq -0x550(%rbp), %rdi
callq 0x5490
jmp 0xaa03
leaq 0xdeee(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rdx
leaq -0x530(%rbp), %rdi
leaq -0x550(%rbp), %rsi
callq 0x5370
jmp 0xaa2c
leaq -0x340(%rbp), %rdi
leaq -0x530(%rbp), %rsi
callq 0x33e0
leaq -0x530(%rbp), %rdi
callq 0x35c8
leaq -0x550(%rbp), %rdi
callq 0x35c8
jmp 0xaa76
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x550(%rbp), %rdi
callq 0x35c8
jmp 0xab3b
leaq -0x340(%rbp), %rdi
callq 0x3110
movq %rax, -0xf00(%rbp)
leaq -0x320(%rbp), %rdi
callq 0x3110
movq -0xf00(%rbp), %rdi
movq %rax, %rsi
callq 0x31d0
movq -0xe40(%rbp), %rsi
leaq -0x570(%rbp), %rdi
callq 0x3130
jmp 0xaab9
leaq -0x570(%rbp), %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x4360
jmp 0xaace
leaq -0x570(%rbp), %rdi
callq 0x35c8
leaq 0xdc5b(%rip), %rax      # 0x1873c
movl (%rax), %edi
addl $0x3, %edi
xorl %edx, %edx
movl %edx, %esi
callq 0x4020
jmp 0xaaf1
movq 0xd4d8(%rip), %rdi      # 0x17fd0
leaq 0x67d0(%rip), %rsi      # 0x112cf
callq 0x32d0
jmp 0xab06
leaq -0x340(%rbp), %rdi
callq 0x35c8
leaq -0x320(%rbp), %rdi
callq 0x35c8
jmp 0xc744
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x570(%rbp), %rdi
callq 0x35c8
leaq -0x340(%rbp), %rdi
callq 0x35c8
leaq -0x320(%rbp), %rdi
callq 0x35c8
jmp 0xc762
leaq 0xdd99(%rip), %rdi      # 0x188f8
xorl %eax, %eax
movl %eax, %esi
callq 0x8e80
movq %rax, %rdi
leaq 0x6774(%rip), %rsi      # 0x112e6
callq 0x52b0
movb %al, -0xf01(%rbp)
jmp 0xab7f
movb -0xf01(%rbp), %al
testb $0x1, %al
jne 0xab8e
jmp 0xb1d5
leaq -0x590(%rbp), %rdi
callq 0x3460
leaq -0x5b0(%rbp), %rdi
callq 0x3460
leaq 0xdd4b(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x35b0
movq %rax, -0xf10(%rbp)
jmp 0xabcc
movq -0xf10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x7e, %eax
jne 0xacc9
leaq 0xdb32(%rip), %rsi      # 0x18718
leaq 0x64f4(%rip), %rdx      # 0x110e1
leaq -0x5f8(%rbp), %rdi
callq 0x5490
jmp 0xabfb
leaq 0xdcf6(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rsi
leaq -0x618(%rbp), %rdi
movl $0x2, %edx
movq $-0x1, %rcx
callq 0x3310
jmp 0xac29
leaq -0x5d8(%rbp), %rdi
leaq -0x5f8(%rbp), %rsi
leaq -0x618(%rbp), %rdx
callq 0xddf0
jmp 0xac45
leaq -0x590(%rbp), %rdi
leaq -0x5d8(%rbp), %rsi
callq 0x33e0
leaq -0x5d8(%rbp), %rdi
callq 0x35c8
leaq -0x618(%rbp), %rdi
callq 0x35c8
leaq -0x5f8(%rbp), %rdi
callq 0x35c8
jmp 0xad58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xb1b8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xacb8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x618(%rbp), %rdi
callq 0x35c8
leaq -0x5f8(%rbp), %rdi
callq 0x35c8
jmp 0xb1b8
movq -0xe40(%rbp), %rsi
leaq 0x640a(%rip), %rdx      # 0x110e1
leaq -0x658(%rbp), %rdi
callq 0x5490
jmp 0xace5
leaq 0xdc0c(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rdx
leaq -0x638(%rbp), %rdi
leaq -0x658(%rbp), %rsi
callq 0x5370
jmp 0xad0e
leaq -0x590(%rbp), %rdi
leaq -0x638(%rbp), %rsi
callq 0x33e0
leaq -0x638(%rbp), %rdi
callq 0x35c8
leaq -0x658(%rbp), %rdi
callq 0x35c8
jmp 0xad58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x658(%rbp), %rdi
callq 0x35c8
jmp 0xb1b8
leaq 0xdb99(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x35b0
movq %rax, -0xf18(%rbp)
jmp 0xad7e
movq -0xf18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x7e, %eax
jne 0xae9a
leaq 0xdb60(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rdi
leaq 0x62a6(%rip), %rsi      # 0x11052
movq $-0x1, %rdx
callq 0x32b0
movq %rax, -0x660(%rbp)
leaq 0xd952(%rip), %rsi      # 0x18718
leaq 0x6525(%rip), %rdx      # 0x112f2
leaq -0x6a0(%rbp), %rdi
callq 0x5490
jmp 0xaddb
leaq 0xdb16(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rsi
movq -0x660(%rbp), %rdx
leaq -0x6c0(%rbp), %rdi
movq $-0x1, %rcx
callq 0x3310
jmp 0xae0b
leaq -0x680(%rbp), %rdi
leaq -0x6a0(%rbp), %rsi
leaq -0x6c0(%rbp), %rdx
callq 0xddf0
jmp 0xae27
leaq -0x5b0(%rbp), %rdi
leaq -0x680(%rbp), %rsi
callq 0x33e0
leaq -0x680(%rbp), %rdi
callq 0x35c8
leaq -0x6c0(%rbp), %rdi
callq 0x35c8
leaq -0x6a0(%rbp), %rdi
callq 0x35c8
jmp 0xafa0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xae89
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x6c0(%rbp), %rdi
callq 0x35c8
leaq -0x6a0(%rbp), %rdi
callq 0x35c8
jmp 0xb1b8
leaq 0xda57(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rdi
leaq 0x619d(%rip), %rsi      # 0x11052
movq $-0x1, %rdx
callq 0x32b0
movq %rax, -0x6c8(%rbp)
leaq 0xd849(%rip), %rsi      # 0x18718
leaq 0x641c(%rip), %rdx      # 0x112f2
leaq -0x708(%rbp), %rdi
callq 0x5490
jmp 0xaee4
leaq 0xda0d(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rsi
movq -0x6c8(%rbp), %rdx
leaq -0x728(%rbp), %rdi
movq $-0x1, %rcx
callq 0x3310
jmp 0xaf14
leaq -0x6e8(%rbp), %rdi
leaq -0x708(%rbp), %rsi
leaq -0x728(%rbp), %rdx
callq 0xddf0
jmp 0xaf30
leaq -0x5b0(%rbp), %rdi
leaq -0x6e8(%rbp), %rsi
callq 0x33e0
leaq -0x6e8(%rbp), %rdi
callq 0x35c8
leaq -0x728(%rbp), %rdi
callq 0x35c8
leaq -0x708(%rbp), %rdi
callq 0x35c8
jmp 0xafa0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xaf8f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x728(%rbp), %rdi
callq 0x35c8
leaq -0x708(%rbp), %rdi
callq 0x35c8
jmp 0xb1b8
leaq 0xd771(%rip), %rsi      # 0x18718
leaq 0x6344(%rip), %rdx      # 0x112f2
leaq -0x748(%rbp), %rdi
callq 0x5490
jmp 0xafbc
movq -0xe40(%rbp), %rdi
leaq -0x748(%rbp), %rsi
callq 0x52e0
movb %al, -0xf19(%rbp)
leaq -0x748(%rbp), %rdi
callq 0x35c8
movb -0xf19(%rbp), %al
testb $0x1, %al
jne 0xafed
jmp 0xb043
leaq -0x590(%rbp), %rdi
callq 0x3110
movq %rax, %rdi
callq 0x3170
movl %eax, -0x5b4(%rbp)
cmpl $0x0, -0x5b4(%rbp)
jne 0xb027
movq 0xcfb9(%rip), %rdi      # 0x17fd0
leaq 0x62db(%rip), %rsi      # 0x112f9
callq 0x32d0
jmp 0xb025
jmp 0xb03e
movq 0xcfa2(%rip), %rdi      # 0x17fd0
leaq 0x62e0(%rip), %rsi      # 0x11315
callq 0x32d0
jmp 0xb03c
jmp 0xb03e
jmp 0xb19b
leaq 0x6008(%rip), %rsi      # 0x11052
leaq -0x5b0(%rbp), %rdi
movq %rdi, -0xf30(%rbp)
movq $-0x1, %rdx
movq %rdx, -0xf28(%rbp)
callq 0x32b0
movq -0xf30(%rbp), %rsi
movq -0xf28(%rbp), %rcx
movq %rax, -0x750(%rbp)
movq -0x750(%rbp), %rdx
incq %rdx
leaq -0x770(%rbp), %rdi
callq 0x3310
jmp 0xb098
leaq 0xd871(%rip), %rdi      # 0x18910
leaq -0x770(%rbp), %rsi
callq 0xdec0
movq %rax, -0xf38(%rbp)
jmp 0xb0b4
movq -0xf38(%rbp), %rdi
leaq -0x590(%rbp), %rsi
callq 0x3050
jmp 0xb0c9
leaq -0x770(%rbp), %rdi
callq 0x35c8
leaq -0x590(%rbp), %rdi
callq 0x3110
movq %rax, -0xf40(%rbp)
leaq -0x5b0(%rbp), %rdi
callq 0x3110
movq -0xf40(%rbp), %rdi
movq %rax, %rsi
callq 0x31d0
movq -0xe40(%rbp), %rsi
leaq -0x790(%rbp), %rdi
callq 0x3130
jmp 0xb118
leaq -0x790(%rbp), %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x4360
jmp 0xb12d
leaq -0x790(%rbp), %rdi
callq 0x35c8
leaq 0xd5fc(%rip), %rax      # 0x1873c
movl (%rax), %edi
addl $0x3, %edi
xorl %edx, %edx
movl %edx, %esi
callq 0x4020
jmp 0xb150
movq 0xce79(%rip), %rdi      # 0x17fd0
leaq 0x61e0(%rip), %rsi      # 0x1133e
callq 0x32d0
jmp 0xb165
jmp 0xb19b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x770(%rbp), %rdi
callq 0x35c8
jmp 0xb1b8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x790(%rbp), %rdi
callq 0x35c8
jmp 0xb1b8
leaq -0x5b0(%rbp), %rdi
callq 0x35c8
leaq -0x590(%rbp), %rdi
callq 0x35c8
jmp 0xc742
leaq -0x5b0(%rbp), %rdi
callq 0x35c8
leaq -0x590(%rbp), %rdi
callq 0x35c8
jmp 0xc762
leaq 0xd71c(%rip), %rdi      # 0x188f8
xorl %eax, %eax
movl %eax, %esi
callq 0x8e80
movq %rax, %rdi
leaq 0x6160(%rip), %rsi      # 0x1134f
callq 0x52b0
movb %al, -0xf41(%rbp)
jmp 0xb1fc
movb -0xf41(%rbp), %al
testb $0x1, %al
jne 0xb20b
jmp 0xb412
leaq 0xd506(%rip), %rsi      # 0x18718
leaq 0x5ec2(%rip), %rdx      # 0x110db
leaq -0x7d0(%rbp), %rdi
callq 0x5490
jmp 0xb227
leaq 0xd6ca(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rdx
leaq -0x7b0(%rbp), %rdi
leaq -0x7d0(%rbp), %rsi
callq 0x5370
jmp 0xb250
leaq -0x7d0(%rbp), %rdi
callq 0x35c8
leaq 0xd695(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rsi
leaq 0xd699(%rip), %rdi      # 0x18910
callq 0xdfa0
movq %rax, -0xf50(%rbp)
jmp 0xb285
movq -0xf50(%rbp), %rsi
leaq -0x7f0(%rbp), %rdi
callq 0x3130
jmp 0xb29a
leaq -0x810(%rbp), %rdi
leaq -0x7b0(%rbp), %rsi
callq 0x3130
jmp 0xb2af
leaq -0x830(%rbp), %rdi
leaq -0x7f0(%rbp), %rsi
callq 0x3130
jmp 0xb2c4
leaq -0x810(%rbp), %rdi
leaq -0x830(%rbp), %rsi
callq 0x7fe0
jmp 0xb2d9
leaq -0x830(%rbp), %rdi
callq 0x35c8
leaq -0x810(%rbp), %rdi
callq 0x35c8
movq -0xe40(%rbp), %rsi
leaq -0x850(%rbp), %rdi
callq 0x3130
jmp 0xb306
leaq -0x850(%rbp), %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x4360
jmp 0xb31b
leaq -0x850(%rbp), %rdi
callq 0x35c8
leaq 0xd40e(%rip), %rax      # 0x1873c
movl (%rax), %edi
addl $0x3, %edi
xorl %edx, %edx
movl %edx, %esi
callq 0x4020
jmp 0xb33e
movq 0xcc8b(%rip), %rdi      # 0x17fd0
leaq 0x600b(%rip), %rsi      # 0x11357
callq 0x32d0
jmp 0xb353
leaq -0x7f0(%rbp), %rdi
callq 0x35c8
leaq -0x7b0(%rbp), %rdi
callq 0x35c8
jmp 0xc740
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x7d0(%rbp), %rdi
callq 0x35c8
jmp 0xc762
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xb401
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xb3f5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xb3cf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x830(%rbp), %rdi
callq 0x35c8
leaq -0x810(%rbp), %rdi
callq 0x35c8
jmp 0xb3f5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x850(%rbp), %rdi
callq 0x35c8
leaq -0x7f0(%rbp), %rdi
callq 0x35c8
leaq -0x7b0(%rbp), %rdi
callq 0x35c8
jmp 0xc762
leaq 0xd4df(%rip), %rdi      # 0x188f8
xorl %eax, %eax
movl %eax, %esi
callq 0x8e80
movq %rax, %rdi
leaq 0x5f3b(%rip), %rsi      # 0x11367
callq 0x52b0
movb %al, -0xf51(%rbp)
jmp 0xb439
movb -0xf51(%rbp), %al
testb $0x1, %al
jne 0xb448
jmp 0xb6ff
leaq -0x870(%rbp), %rdi
callq 0x3460
leaq 0xd49d(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x35b0
movq %rax, -0xf60(%rbp)
jmp 0xb47a
movq -0xf60(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x7e, %eax
jne 0xb577
leaq 0xd284(%rip), %rsi      # 0x18718
leaq 0x5c46(%rip), %rdx      # 0x110e1
leaq -0x8b0(%rbp), %rdi
callq 0x5490
jmp 0xb4a9
leaq 0xd448(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rsi
leaq -0x8d0(%rbp), %rdi
movl $0x2, %edx
movq $-0x1, %rcx
callq 0x3310
jmp 0xb4d7
leaq -0x890(%rbp), %rdi
leaq -0x8b0(%rbp), %rsi
leaq -0x8d0(%rbp), %rdx
callq 0xddf0
jmp 0xb4f3
leaq -0x870(%rbp), %rdi
leaq -0x890(%rbp), %rsi
callq 0x33e0
leaq -0x890(%rbp), %rdi
callq 0x35c8
leaq -0x8d0(%rbp), %rdi
callq 0x35c8
leaq -0x8b0(%rbp), %rdi
callq 0x35c8
jmp 0xb606
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xb6ee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xb566
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x8d0(%rbp), %rdi
callq 0x35c8
leaq -0x8b0(%rbp), %rdi
callq 0x35c8
jmp 0xb6ee
movq -0xe40(%rbp), %rsi
leaq 0x5b5c(%rip), %rdx      # 0x110e1
leaq -0x910(%rbp), %rdi
callq 0x5490
jmp 0xb593
leaq 0xd35e(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rdx
leaq -0x8f0(%rbp), %rdi
leaq -0x910(%rbp), %rsi
callq 0x5370
jmp 0xb5bc
leaq -0x870(%rbp), %rdi
leaq -0x8f0(%rbp), %rsi
callq 0x33e0
leaq -0x8f0(%rbp), %rdi
callq 0x35c8
leaq -0x910(%rbp), %rdi
callq 0x35c8
jmp 0xb606
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x910(%rbp), %rdi
callq 0x35c8
jmp 0xb6ee
leaq -0x930(%rbp), %rdi
leaq -0x870(%rbp), %rsi
callq 0x3130
jmp 0xb61b
leaq -0x930(%rbp), %rdi
callq 0x8560
jmp 0xb629
leaq -0x930(%rbp), %rdi
callq 0x35c8
leaq -0x870(%rbp), %rdi
callq 0x3110
movq %rax, %rdi
callq 0x3120
movq -0xe40(%rbp), %rsi
leaq -0x950(%rbp), %rdi
callq 0x3130
jmp 0xb65e
leaq -0x950(%rbp), %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x4360
jmp 0xb673
leaq -0x950(%rbp), %rdi
callq 0x35c8
leaq 0xd0b6(%rip), %rax      # 0x1873c
movl (%rax), %edi
addl $0x3, %edi
xorl %edx, %edx
movl %edx, %esi
callq 0x4020
jmp 0xb696
movq 0xc933(%rip), %rdi      # 0x17fd0
leaq 0x5cce(%rip), %rsi      # 0x11372
callq 0x32d0
jmp 0xb6ab
leaq -0x870(%rbp), %rdi
callq 0x35c8
jmp 0xc73e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x930(%rbp), %rdi
callq 0x35c8
jmp 0xb6ee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x950(%rbp), %rdi
callq 0x35c8
leaq -0x870(%rbp), %rdi
callq 0x35c8
jmp 0xc762
leaq 0xd1f2(%rip), %rdi      # 0x188f8
xorl %eax, %eax
movl %eax, %esi
callq 0x8e80
movq %rax, %rdi
leaq 0x5c79(%rip), %rsi      # 0x11392
callq 0x52b0
movb %al, -0xf61(%rbp)
jmp 0xb726
movb -0xf61(%rbp), %al
testb $0x1, %al
jne 0xb735
jmp 0xbb55
leaq -0x970(%rbp), %rdi
callq 0x3460
leaq 0xd1b0(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x35b0
movq %rax, -0xf70(%rbp)
jmp 0xb767
movq -0xf70(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x7e, %eax
jne 0xb7c9
leaq 0xd17b(%rip), %rdi      # 0x188f8
xorl %eax, %eax
movl %eax, %esi
callq 0x8e80
movq %rax, %rsi
movq 0xc840(%rip), %rdi      # 0x17fd0
callq 0x3290
movq %rax, -0xf78(%rbp)
jmp 0xb79e
movq -0xf78(%rbp), %rdi
leaq 0x5a6b(%rip), %rsi      # 0x11217
callq 0x32d0
jmp 0xb7b3
jmp 0xba97
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xbb44
leaq 0xd128(%rip), %rdi      # 0x188f8
movl $0x2, %esi
callq 0x8e80
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x35b0
movq %rax, -0xf80(%rbp)
jmp 0xb7ef
movq -0xf80(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x7e, %eax
jne 0xb975
leaq 0xcf0f(%rip), %rsi      # 0x18718
leaq 0x58d1(%rip), %rdx      # 0x110e1
leaq -0x9f0(%rbp), %rdi
callq 0x5490
jmp 0xb81e
leaq 0xd0d3(%rip), %rdi      # 0x188f8
movl $0x2, %esi
movq %rsi, -0xf88(%rbp)
callq 0x8e80
movq -0xf88(%rbp), %rdx
movq %rax, %rsi
leaq -0xa10(%rbp), %rdi
movq $-0x1, %rcx
callq 0x3310
jmp 0xb855
leaq -0x9d0(%rbp), %rdi
leaq -0x9f0(%rbp), %rsi
leaq -0xa10(%rbp), %rdx
callq 0xddf0
jmp 0xb871
leaq 0x5869(%rip), %rdx      # 0x110e1
leaq -0x9b0(%rbp), %rdi
leaq -0x9d0(%rbp), %rsi
callq 0x5440
jmp 0xb88d
leaq 0xd064(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rdx
leaq -0x990(%rbp), %rdi
leaq -0x9b0(%rbp), %rsi
callq 0x5370
jmp 0xb8b6
leaq -0x970(%rbp), %rdi
leaq -0x990(%rbp), %rsi
callq 0x33e0
leaq -0x990(%rbp), %rdi
callq 0x35c8
leaq -0x9b0(%rbp), %rdi
callq 0x35c8
leaq -0x9d0(%rbp), %rdi
callq 0x35c8
leaq -0xa10(%rbp), %rdi
callq 0x35c8
leaq -0x9f0(%rbp), %rdi
callq 0x35c8
jmp 0xba95
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xb964
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xb958
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xb94c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x9b0(%rbp), %rdi
callq 0x35c8
leaq -0x9d0(%rbp), %rdi
callq 0x35c8
leaq -0xa10(%rbp), %rdi
callq 0x35c8
leaq -0x9f0(%rbp), %rdi
callq 0x35c8
jmp 0xbb44
movq -0xe40(%rbp), %rsi
leaq 0x575e(%rip), %rdx      # 0x110e1
leaq -0xa90(%rbp), %rdi
callq 0x5490
jmp 0xb991
leaq 0xcf60(%rip), %rdi      # 0x188f8
movl $0x2, %esi
callq 0x8e80
movq %rax, %rdx
leaq -0xa70(%rbp), %rdi
leaq -0xa90(%rbp), %rsi
callq 0x5370
jmp 0xb9ba
leaq 0x5720(%rip), %rdx      # 0x110e1
leaq -0xa50(%rbp), %rdi
leaq -0xa70(%rbp), %rsi
callq 0x5440
jmp 0xb9d6
leaq 0xcf1b(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rdx
leaq -0xa30(%rbp), %rdi
leaq -0xa50(%rbp), %rsi
callq 0x5370
jmp 0xb9ff
leaq -0x970(%rbp), %rdi
leaq -0xa30(%rbp), %rsi
callq 0x33e0
leaq -0xa30(%rbp), %rdi
callq 0x35c8
leaq -0xa50(%rbp), %rdi
callq 0x35c8
leaq -0xa70(%rbp), %rdi
callq 0x35c8
leaq -0xa90(%rbp), %rdi
callq 0x35c8
jmp 0xba95
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xba84
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xba78
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xa50(%rbp), %rdi
callq 0x35c8
leaq -0xa70(%rbp), %rdi
callq 0x35c8
leaq -0xa90(%rbp), %rdi
callq 0x35c8
jmp 0xbb44
jmp 0xba97
leaq -0x970(%rbp), %rdi
callq 0x3110
movq %rax, %rdi
xorl %eax, %eax
movl $0x41, %esi
movl $0x180, %edx            # imm = 0x180
callq 0x3230
jmp 0xbab9
movq -0xe40(%rbp), %rsi
leaq -0xab0(%rbp), %rdi
callq 0x3130
jmp 0xbace
leaq -0xab0(%rbp), %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x4360
jmp 0xbae3
leaq -0xab0(%rbp), %rdi
callq 0x35c8
leaq 0xcc46(%rip), %rax      # 0x1873c
movl (%rax), %edi
addl $0x3, %edi
xorl %edx, %edx
movl %edx, %esi
callq 0x4020
jmp 0xbb06
movq 0xc4c3(%rip), %rdi      # 0x17fd0
leaq 0x588a(%rip), %rsi      # 0x1139e
callq 0x32d0
jmp 0xbb1b
leaq -0x970(%rbp), %rdi
callq 0x35c8
jmp 0xc73c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xab0(%rbp), %rdi
callq 0x35c8
leaq -0x970(%rbp), %rdi
callq 0x35c8
jmp 0xc762
leaq 0xcd9c(%rip), %rdi      # 0x188f8
xorl %eax, %eax
movl %eax, %esi
callq 0x8e80
movq %rax, %rdi
leaq 0x584b(%rip), %rsi      # 0x113ba
callq 0x52b0
movb %al, -0xf89(%rbp)
jmp 0xbb7c
movb -0xf89(%rbp), %al
testb $0x1, %al
jne 0xbb8b
jmp 0xbf7f
leaq -0xad0(%rbp), %rdi
callq 0x3460
leaq 0xcd5a(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x35b0
movq %rax, -0xf98(%rbp)
jmp 0xbbbd
movq -0xf98(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x7e, %eax
jne 0xbc1c
leaq 0xcd25(%rip), %rdi      # 0x188f8
xorl %eax, %eax
movl %eax, %esi
callq 0x8e80
movq %rax, %rsi
movq 0xc3ea(%rip), %rdi      # 0x17fd0
callq 0x3290
movq %rax, -0xfa0(%rbp)
jmp 0xbbf4
movq -0xfa0(%rbp), %rdi
leaq 0x5615(%rip), %rsi      # 0x11217
callq 0x32d0
jmp 0xbc09
jmp 0xbc1c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xbf6e
leaq 0xccd5(%rip), %rdi      # 0x188f8
movl $0x2, %esi
callq 0x8e80
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x35b0
movq %rax, -0xfa8(%rbp)
jmp 0xbc42
movq -0xfa8(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x7e, %eax
jne 0xbe04
leaq 0xcabc(%rip), %rsi      # 0x18718
leaq 0x547e(%rip), %rdx      # 0x110e1
leaq -0xb50(%rbp), %rdi
callq 0x5490
jmp 0xbc71
leaq 0xcc80(%rip), %rdi      # 0x188f8
movl $0x2, %esi
movq %rsi, -0xfb0(%rbp)
callq 0x8e80
movq -0xfb0(%rbp), %rdx
movq %rax, %rsi
leaq -0xb70(%rbp), %rdi
movq $-0x1, %rcx
callq 0x3310
jmp 0xbca8
leaq -0xb30(%rbp), %rdi
leaq -0xb50(%rbp), %rsi
leaq -0xb70(%rbp), %rdx
callq 0xddf0
jmp 0xbcc4
leaq 0x5416(%rip), %rdx      # 0x110e1
leaq -0xb10(%rbp), %rdi
leaq -0xb30(%rbp), %rsi
callq 0x5440
jmp 0xbce0
leaq 0xcc11(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rdx
leaq -0xaf0(%rbp), %rdi
leaq -0xb10(%rbp), %rsi
callq 0x5370
jmp 0xbd09
leaq -0xad0(%rbp), %rdi
movq %rdi, -0xfb8(%rbp)
leaq -0xaf0(%rbp), %rsi
movq %rsi, -0xfc0(%rbp)
callq 0x33e0
movq -0xfc0(%rbp), %rdi
callq 0x35c8
leaq -0xb10(%rbp), %rdi
callq 0x35c8
leaq -0xb30(%rbp), %rdi
callq 0x35c8
leaq -0xb70(%rbp), %rdi
callq 0x35c8
leaq -0xb50(%rbp), %rdi
callq 0x35c8
movq -0xfb8(%rbp), %rdi
callq 0x3110
movq %rax, %rdi
movl $0x1c0, %esi            # imm = 0x1C0
callq 0x3160
movq 0xc24a(%rip), %rdi      # 0x17fd0
leaq 0x5638(%rip), %rsi      # 0x113c5
callq 0x32d0
jmp 0xbd94
jmp 0xbf5d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xbdf3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xbde7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xbddb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xb10(%rbp), %rdi
callq 0x35c8
leaq -0xb30(%rbp), %rdi
callq 0x35c8
leaq -0xb70(%rbp), %rdi
callq 0x35c8
leaq -0xb50(%rbp), %rdi
callq 0x35c8
jmp 0xbf6e
movq -0xe40(%rbp), %rsi
leaq 0x52cf(%rip), %rdx      # 0x110e1
leaq -0xbf0(%rbp), %rdi
callq 0x5490
jmp 0xbe20
leaq 0xcad1(%rip), %rdi      # 0x188f8
movl $0x2, %esi
callq 0x8e80
movq %rax, %rdx
leaq -0xbd0(%rbp), %rdi
leaq -0xbf0(%rbp), %rsi
callq 0x5370
jmp 0xbe49
leaq 0x5291(%rip), %rdx      # 0x110e1
leaq -0xbb0(%rbp), %rdi
leaq -0xbd0(%rbp), %rsi
callq 0x5440
jmp 0xbe65
leaq 0xca8c(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rdx
leaq -0xb90(%rbp), %rdi
leaq -0xbb0(%rbp), %rsi
callq 0x5370
jmp 0xbe8e
leaq -0xad0(%rbp), %rdi
movq %rdi, -0xfc8(%rbp)
leaq -0xb90(%rbp), %rsi
movq %rsi, -0xfd0(%rbp)
callq 0x33e0
movq -0xfd0(%rbp), %rdi
callq 0x35c8
leaq -0xbb0(%rbp), %rdi
callq 0x35c8
leaq -0xbd0(%rbp), %rdi
callq 0x35c8
leaq -0xbf0(%rbp), %rdi
callq 0x35c8
movq -0xfc8(%rbp), %rdi
callq 0x3110
movq %rax, %rdi
movl $0x1c0, %esi            # imm = 0x1C0
callq 0x3160
movq 0xc0d1(%rip), %rdi      # 0x17fd0
leaq 0x54bf(%rip), %rsi      # 0x113c5
callq 0x32d0
jmp 0xbf0d
jmp 0xbf5d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xbf4f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xbf43
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xbb0(%rbp), %rdi
callq 0x35c8
leaq -0xbd0(%rbp), %rdi
callq 0x35c8
leaq -0xbf0(%rbp), %rdi
callq 0x35c8
jmp 0xbf6e
leaq -0xad0(%rbp), %rdi
callq 0x35c8
jmp 0xc73a
leaq -0xad0(%rbp), %rdi
callq 0x35c8
jmp 0xc762
leaq 0xc972(%rip), %rdi      # 0x188f8
xorl %eax, %eax
movl %eax, %esi
callq 0x8e80
movq %rax, %rdi
leaq 0x544d(%rip), %rsi      # 0x113e6
callq 0x52b0
movb %al, -0xfd1(%rbp)
jmp 0xbfa6
movb -0xfd1(%rbp), %al
testb $0x1, %al
jne 0xbfb5
jmp 0xc204
leaq -0xc10(%rbp), %rdi
callq 0x3460
leaq 0xc930(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x35b0
movq %rax, -0xfe0(%rbp)
jmp 0xbfe7
movq -0xfe0(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x7e, %eax
jne 0xc0e4
leaq 0xc717(%rip), %rsi      # 0x18718
leaq 0x50d9(%rip), %rdx      # 0x110e1
leaq -0xc50(%rbp), %rdi
callq 0x5490
jmp 0xc016
leaq 0xc8db(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rsi
leaq -0xc70(%rbp), %rdi
movl $0x2, %edx
movq $-0x1, %rcx
callq 0x3310
jmp 0xc044
leaq -0xc30(%rbp), %rdi
leaq -0xc50(%rbp), %rsi
leaq -0xc70(%rbp), %rdx
callq 0xddf0
jmp 0xc060
leaq -0xc10(%rbp), %rdi
leaq -0xc30(%rbp), %rsi
callq 0x33e0
leaq -0xc30(%rbp), %rdi
callq 0x35c8
leaq -0xc70(%rbp), %rdi
callq 0x35c8
leaq -0xc50(%rbp), %rdi
callq 0x35c8
jmp 0xc173
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xc1f3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xc0d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xc70(%rbp), %rdi
callq 0x35c8
leaq -0xc50(%rbp), %rdi
callq 0x35c8
jmp 0xc1f3
leaq 0xc62d(%rip), %rsi      # 0x18718
leaq 0x4fef(%rip), %rdx      # 0x110e1
leaq -0xcb0(%rbp), %rdi
callq 0x5490
jmp 0xc100
leaq 0xc7f1(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rdx
leaq -0xc90(%rbp), %rdi
leaq -0xcb0(%rbp), %rsi
callq 0x5370
jmp 0xc129
leaq -0xc10(%rbp), %rdi
leaq -0xc90(%rbp), %rsi
callq 0x33e0
leaq -0xc90(%rbp), %rdi
callq 0x35c8
leaq -0xcb0(%rbp), %rdi
callq 0x35c8
jmp 0xc173
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xcb0(%rbp), %rdi
callq 0x35c8
jmp 0xc1f3
leaq 0xc6a6(%rip), %rax      # 0x18820
movl $0x0, (%rax)
xorl %edx, %edx
movl %edx, %edi
movl %edx, %esi
callq 0x4020
jmp 0xc18d
leaq -0xcd0(%rbp), %rdi
leaq -0xc10(%rbp), %rsi
callq 0x3130
jmp 0xc1a2
leaq -0xcd0(%rbp), %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x4360
jmp 0xc1b7
leaq -0xcd0(%rbp), %rdi
callq 0x35c8
callq 0x6bc0
jmp 0xc1ca
leaq -0xc10(%rbp), %rdi
callq 0x35c8
jmp 0xc738
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xcd0(%rbp), %rdi
callq 0x35c8
leaq -0xc10(%rbp), %rdi
callq 0x35c8
jmp 0xc762
leaq 0xc6ed(%rip), %rdi      # 0x188f8
xorl %eax, %eax
movl %eax, %esi
callq 0x8e80
movq %rax, %rdi
leaq 0x51cd(%rip), %rsi      # 0x113eb
callq 0x52b0
movb %al, -0xfe1(%rbp)
jmp 0xc22b
movb -0xfe1(%rbp), %al
testb $0x1, %al
jne 0xc23a
jmp 0xc429
movq -0xe40(%rbp), %rsi
leaq -0xcf0(%rbp), %rdi
callq 0x3130
jmp 0xc24f
leaq 0xc6a2(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rsi
leaq -0xd10(%rbp), %rdi
callq 0x3130
jmp 0xc271
leaq -0xcf0(%rbp), %rdi
leaq -0xd10(%rbp), %rsi
callq 0x8780
jmp 0xc286
leaq -0xd10(%rbp), %rdi
callq 0x35c8
leaq -0xcf0(%rbp), %rdi
callq 0x35c8
leaq 0xc613(%rip), %rdi      # 0x188b8
callq 0x8e60
cmpq $0x0, %rax
je 0xc406
leaq 0xc63d(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rsi
leaq -0xd30(%rbp), %rdi
callq 0x3130
jmp 0xc2d6
leaq 0xc5db(%rip), %rdi      # 0x188b8
leaq -0xd30(%rbp), %rsi
callq 0x8b40
jmp 0xc2eb
leaq -0xd30(%rbp), %rdi
callq 0x35c8
leaq 0xc5ba(%rip), %rdi      # 0x188b8
callq 0x8e60
movl %eax, %edi
decl %edi
xorl %edx, %edx
movl %edx, %esi
callq 0x4020
jmp 0xc312
movq -0xe40(%rbp), %rsi
leaq -0xd50(%rbp), %rdi
callq 0x3130
jmp 0xc327
leaq 0xc5ca(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rsi
leaq -0xd70(%rbp), %rdi
callq 0x3130
jmp 0xc349
leaq -0xd50(%rbp), %rdi
leaq -0xd70(%rbp), %rsi
callq 0xda40
jmp 0xc35e
leaq -0xd70(%rbp), %rdi
callq 0x35c8
leaq -0xd50(%rbp), %rdi
callq 0x35c8
jmp 0xc424
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xc3a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xd10(%rbp), %rdi
callq 0x35c8
leaq -0xcf0(%rbp), %rdi
callq 0x35c8
jmp 0xc762
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xd30(%rbp), %rdi
callq 0x35c8
jmp 0xc762
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xc3f5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xd70(%rbp), %rdi
callq 0x35c8
leaq -0xd50(%rbp), %rdi
callq 0x35c8
jmp 0xc762
callq 0xcd40
jmp 0xc40d
movq 0xbbbc(%rip), %rdi      # 0x17fd0
leaq 0x4fd7(%rip), %rsi      # 0x113f2
callq 0x32d0
jmp 0xc422
jmp 0xc424
jmp 0xc736
leaq 0xc4c8(%rip), %rdi      # 0x188f8
xorl %eax, %eax
movl %eax, %esi
callq 0x8e80
movq %rax, %rdi
leaq 0x4fc1(%rip), %rsi      # 0x11404
callq 0x52b0
movb %al, -0xfe2(%rbp)
jmp 0xc450
movb -0xfe2(%rbp), %al
testb $0x1, %al
jne 0xc45f
jmp 0xc6f5
leaq -0xd90(%rbp), %rdi
callq 0x3460
leaq 0xc486(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x35b0
movq %rax, -0xff0(%rbp)
jmp 0xc491
movq -0xff0(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x7e, %eax
jne 0xc555
leaq 0xc44d(%rip), %rdi      # 0x188f8
movl $0x1, %esi
movq %rsi, -0xff8(%rbp)
callq 0x8e80
movq -0xff8(%rbp), %rdx
movq %rax, %rsi
leaq -0xdd0(%rbp), %rdi
movq $-0x1, %rcx
callq 0x3310
jmp 0xc4db
leaq 0xc236(%rip), %rsi      # 0x18718
leaq -0xdb0(%rbp), %rdi
leaq -0xdd0(%rbp), %rdx
callq 0xe080
jmp 0xc4f7
leaq -0xd90(%rbp), %rdi
leaq -0xdb0(%rbp), %rsi
callq 0x33e0
leaq -0xdb0(%rbp), %rdi
callq 0x35c8
leaq -0xdd0(%rbp), %rdi
callq 0x35c8
jmp 0xc5e4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xc6e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xdd0(%rbp), %rdi
callq 0x35c8
jmp 0xc6e7
movq -0xe40(%rbp), %rsi
leaq 0x4b7e(%rip), %rdx      # 0x110e1
leaq -0xe10(%rbp), %rdi
callq 0x5490
jmp 0xc571
leaq 0xc380(%rip), %rdi      # 0x188f8
movl $0x1, %esi
callq 0x8e80
movq %rax, %rdx
leaq -0xdf0(%rbp), %rdi
leaq -0xe10(%rbp), %rsi
callq 0x5370
jmp 0xc59a
leaq -0xd90(%rbp), %rdi
leaq -0xdf0(%rbp), %rsi
callq 0x33e0
leaq -0xdf0(%rbp), %rdi
callq 0x35c8
leaq -0xe10(%rbp), %rdi
callq 0x35c8
jmp 0xc5e4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xe10(%rbp), %rdi
callq 0x35c8
jmp 0xc6e7
leaq 0xc30d(%rip), %rdi      # 0x188f8
movl $0x2, %esi
callq 0x8e80
movq %rax, %rdi
callq 0x3110
movq %rax, %rdi
leaq 0x4e06(%rip), %rsi      # 0x1140d
callq 0x33c0
movq %rax, -0x1000(%rbp)
jmp 0xc615
movq -0x1000(%rbp), %rax
movq %rax, -0xe18(%rbp)
leaq -0xe38(%rbp), %rdi
leaq -0xd90(%rbp), %rsi
callq 0x3130
jmp 0xc638
movq -0xe18(%rbp), %rsi
leaq -0xe38(%rbp), %rdi
callq 0x8960
jmp 0xc64d
leaq -0xe38(%rbp), %rdi
callq 0x35c8
movq -0xe18(%rbp), %rdi
callq 0x32e0
jmp 0xc667
movq 0xb962(%rip), %rdi      # 0x17fd0
leaq 0x4d9b(%rip), %rsi      # 0x11410
callq 0x32d0
movq %rax, -0x1008(%rbp)
jmp 0xc683
leaq 0xc26e(%rip), %rdi      # 0x188f8
movl $0x2, %esi
callq 0x8e80
movq -0x1008(%rbp), %rdi
movq %rax, %rsi
callq 0x3290
movq %rax, -0x1010(%rbp)
jmp 0xc6ac
movq -0x1010(%rbp), %rdi
leaq 0x4d66(%rip), %rsi      # 0x11420
callq 0x32d0
jmp 0xc6c1
leaq -0xd90(%rbp), %rdi
callq 0x35c8
jmp 0xc734
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xe38(%rbp), %rdi
callq 0x35c8
leaq -0xd90(%rbp), %rdi
callq 0x35c8
jmp 0xc762
leaq 0xc1fc(%rip), %rdi      # 0x188f8
xorl %eax, %eax
movl %eax, %esi
callq 0x8e80
movq %rax, %rsi
movq 0xb8c1(%rip), %rdi      # 0x17fd0
callq 0x3290
movq %rax, -0x1018(%rbp)
jmp 0xc71d
movq -0x1018(%rbp), %rdi
leaq 0x4d15(%rip), %rsi      # 0x11440
callq 0x32d0
jmp 0xc732
jmp 0xc734
jmp 0xc736
jmp 0xc738
jmp 0xc73a
jmp 0xc73c
jmp 0xc73e
jmp 0xc740
jmp 0xc742
jmp 0xc744
jmp 0xc746
jmp 0xc748
jmp 0xc74a
jmp 0xc74c
jmp 0xc74e
jmp 0xc750
jmp 0xc752
jmp 0xc754
leaq -0x28(%rbp), %rdi
callq 0x35c8
jmp 0x96d2
leaq -0x28(%rbp), %rdi
callq 0x35c8
movq -0x30(%rbp), %rdi
callq 0x3530
nopw %cs:(%rax,%rax)