// File: /workspace/github_cpp_makefile_star2_O2/WeichenZhou[P]PALMER/./scp/tube.cpp
// Function: tube(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
int tube(string working_dir, string input_bam, string chr, int start, int end, string type, int ref_n, string direc, string ref_fa, int tsd, int L_len, int cus_seq_len, string mode){
    
    //std::ios::sync_with_stdio(false);
    //std::cin.tie(0);
    
//building working directory
    int start1, end1;
    start1= start;
    end1 = end;
    stringstream ss1, ss2;
    ss1 << start1;
    string s_start =ss1.str();
    ss2 << end1;
    string s_end =ss2.str();
    
    string WD_tube=working_dir+chr+"_"+s_start+"_"+s_end+"/";
    
    string sys_mkdir="mkdir "+WD_tube;
    
    cout<<"Working in the direcotry "<<sys_mkdir<<"."<<endl;
    
    char *syst_mkdir =new char[sys_mkdir.length()+1];
    strcpy(syst_mkdir, sys_mkdir.c_str());
    system(syst_mkdir);
 
//1. samtools view
    
    samtools(WD_tube, input_bam, chr, s_start, s_end ,ref_fa);
    cout<<"Samtools Step for region "+chr+"_"+s_start+"_"+s_end+" now completed."<<endl;
    
//Repeat region output
    /*
    ofstream file1;
    
    string sys_RMloc = WD_tube+"RM.loc";
    char *syst_RMloc = new char[sys_RMloc.length()+1];
    strcpy(syst_RMloc, sys_RMloc.c_str());
    /*
    string chr_fix;
    chr_fix=chr;
    if(ref_n==37){
        chr_fix="chr"+chr;
    }
    
    file1.open(syst_RMloc);
    file1<<chr<<'\t'<<(start-100000)<<'\t'<<(end+100000)<<endl;
    */

//2. Repeat region selector
    
    //RMSelector(working_dir, WD_tube, sys_region);
    //cout<<"2. RMSelector Step for region "+chr+"_"+s_start+"_"+s_end+" is now completed."<<endl;
    
//3. Read masker
    
    ReadMasker(WD_tube, mode);
    //cout<<"3. Read Masker Step for region "+chr+"_"+s_start+"_"+s_end+" is now completed."<<endl;
    cout<<"Pre-masking step for "+chr+"_"+s_start+"_"+s_end+" completed."<<endl;
 
//4. Blastn
    
    blastn(WD_tube, type, direc);
    //cout<<"4. Blastn Step for region "+chr+"_"+s_start+"_"+s_end+" is now completed."<<endl;
    cout<<"Blastn Step for region "+chr+"_"+s_start+"_"+s_end+" completed."<<endl;
    
//5. Blastn caller
    
    BlastnCaller(WD_tube, chr, type, L_len, cus_seq_len);
    //cout<<"5. Blastn Caller Step for region "+chr+"_"+s_start+"_"+s_end+" is now completed."<<endl;
 
    cout<<"Single read calling step for "+chr+"_"+s_start+"_"+s_end+" completed."<<endl;

//6. TSD module
    
    tsd_module(WD_tube, type, tsd);
    if(tsd==1){
        cout<<"TSD_module step for "+chr+"_"+s_start+"_"+s_end+" completed."<<endl;
    }
    else if(tsd==0){
        cout<<"Skipped TSD_module step for "+chr+"_"+s_start+"_"+s_end+"."<<endl;
    }
    //getchar();

//7. Flase postive exclusion module
    
    fp_ex(WD_tube, ref_fa, chr, type, tsd);
    if(tsd==1){
        cout<<"False positive exclusion step for "+chr+"_"+s_start+"_"+s_end+" completed."<<endl;
    }
    else if(tsd==0){
        cout<<"Skipped false positive exclusion step for "+chr+"_"+s_start+"_"+s_end+"."<<endl;
    }
    
    //getchar();
    
//8. Calling module
    
    calling(WD_tube, type, tsd);
    cout<<"Calling step for "+chr+"_"+s_start+"_"+s_end+" completed."<<endl;
    
    return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x718, %rsp            # imm = 0x718
movq %r9, %r14
movl %r8d, %ebp
movl %ecx, %r13d
movq %rdx, %rbx
movq %rsi, %r15
movq %rdi, %r12
leaq 0x590(%rsp), %rdi
callq 0x21b0
leaq 0x408(%rsp), %rdi
callq 0x21b0
leaq 0x5a0(%rsp), %rdi
movl %r13d, %esi
callq 0x23b0
leaq 0x5a8(%rsp), %rsi
leaq 0xe8(%rsp), %rdi
callq 0x2370
leaq 0x418(%rsp), %rdi
movl %ebp, %esi
callq 0x23b0
leaq 0x420(%rsp), %rsi
leaq 0xc8(%rsp), %rdi
callq 0x2370
leaq 0x8(%rsp), %rdi
movq %r12, %rsi
movq %rbx, %rdx
callq 0x23c40
leaq 0x5e37(%rip), %rdx      # 0x250db
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x23ab7
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rsi
leaq 0xe8(%rsp), %rdx
callq 0x23ad6
leaq 0x5e0a(%rip), %rdx      # 0x250db
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x23ab7
leaq 0x128(%rsp), %rdi
leaq 0x68(%rsp), %rsi
leaq 0xc8(%rsp), %rdx
callq 0x23ad6
leaq 0x73bb(%rip), %rdx      # 0x266bc
leaq 0x108(%rsp), %rdi
leaq 0x128(%rsp), %rsi
callq 0x23ab7
leaq 0x128(%rsp), %rdi
callq 0x2130
leaq 0x68(%rsp), %rdi
callq 0x2130
leaq 0x48(%rsp), %rdi
callq 0x2130
leaq 0x28(%rsp), %rdi
callq 0x2130
leaq 0x8(%rsp), %rdi
callq 0x2130
leaq 0x63a8(%rip), %rsi      # 0x256fa
leaq 0x128(%rsp), %rdi
leaq 0x108(%rsp), %rdx
callq 0x23af5
movq 0xdc62(%rip), %rdi      # 0x2cfd0
leaq 0x638c(%rip), %rsi      # 0x25701
callq 0x2230
leaq 0x128(%rsp), %rsi
movq %rax, %rdi
callq 0x2200
leaq 0x6615(%rip), %rsi      # 0x259a6
movq %rax, %rdi
callq 0x2230
movq %rax, %rdi
callq 0x2150
movq 0x130(%rsp), %rdi
incq %rdi
callq 0x2030
movq %rax, %r12
movq 0x128(%rsp), %rsi
movq %rax, %rdi
callq 0x2210
movq %r12, %rdi
callq 0x21e0
leaq 0x3e8(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0x22e0
leaq 0x3c8(%rsp), %rdi
movq %r15, %rsi
callq 0x22e0
leaq 0x3a8(%rsp), %rdi
movq %rbx, %rsi
callq 0x22e0
leaq 0x388(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
callq 0x22e0
leaq 0x368(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
callq 0x22e0
movq 0x760(%rsp), %r15
leaq 0x348(%rsp), %rdi
movq %r15, %rsi
callq 0x22e0
leaq 0x3e8(%rsp), %rdi
leaq 0x3c8(%rsp), %rsi
leaq 0x3a8(%rsp), %rdx
leaq 0x388(%rsp), %rcx
leaq 0x368(%rsp), %r8
leaq 0x348(%rsp), %r9
callq 0x252c
leaq 0x348(%rsp), %rdi
callq 0x2130
leaq 0x368(%rsp), %rdi
callq 0x2130
leaq 0x388(%rsp), %rdi
callq 0x2130
leaq 0x3a8(%rsp), %rdi
callq 0x2130
leaq 0x3c8(%rsp), %rdi
callq 0x2130
leaq 0x3e8(%rsp), %rdi
callq 0x2130
leaq 0x624e(%rip), %rsi      # 0x2571b
leaq 0x88(%rsp), %rdi
movq %rbx, %rdx
callq 0x23af5
leaq 0x5bf7(%rip), %rdx      # 0x250db
leaq 0xa8(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x23ab7
leaq 0x8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0xe8(%rsp), %rdx
callq 0x23ad6
leaq 0x5bc1(%rip), %rdx      # 0x250db
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x23ab7
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rsi
leaq 0xc8(%rsp), %rdx
callq 0x23ad6
leaq 0x61ee(%rip), %rdx      # 0x25735
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x23ab7
movq 0xda73(%rip), %rdi      # 0x2cfd0
leaq 0x68(%rsp), %rsi
callq 0x2200
movq %rax, %rdi
callq 0x2150
leaq 0x68(%rsp), %rdi
callq 0x2130
leaq 0x48(%rsp), %rdi
callq 0x2130
leaq 0x28(%rsp), %rdi
callq 0x2130
leaq 0x8(%rsp), %rdi
callq 0x2130
leaq 0xa8(%rsp), %rdi
callq 0x2130
leaq 0x88(%rsp), %rdi
callq 0x2130
leaq 0x328(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0x22e0
movq 0x780(%rsp), %rsi
leaq 0x308(%rsp), %rdi
callq 0x22e0
leaq 0x328(%rsp), %rdi
leaq 0x308(%rsp), %rsi
callq 0x2835
leaq 0x308(%rsp), %rdi
callq 0x2130
leaq 0x328(%rsp), %rdi
callq 0x2130
leaq 0x6134(%rip), %rsi      # 0x25745
leaq 0x88(%rsp), %rdi
movq %rbx, %rdx
callq 0x23af5
leaq 0x5ab3(%rip), %rdx      # 0x250db
leaq 0xa8(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x23ab7
leaq 0x8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0xe8(%rsp), %rdx
callq 0x23ad6
leaq 0x5a7d(%rip), %rdx      # 0x250db
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x23ab7
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rsi
leaq 0xc8(%rsp), %rdx
callq 0x23ad6
leaq 0x7447(%rip), %rdx      # 0x26ad2
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x23ab7
movq 0xd92f(%rip), %rdi      # 0x2cfd0
leaq 0x68(%rsp), %rsi
callq 0x2200
movq %rax, %rdi
callq 0x2150
leaq 0x68(%rsp), %rdi
callq 0x2130
leaq 0x48(%rsp), %rdi
callq 0x2130
leaq 0x28(%rsp), %rdi
callq 0x2130
leaq 0x8(%rsp), %rdi
callq 0x2130
leaq 0xa8(%rsp), %rdi
callq 0x2130
leaq 0x88(%rsp), %rdi
callq 0x2130
leaq 0x2e8(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0x22e0
leaq 0x2c8(%rsp), %rdi
movq %r14, %rsi
callq 0x22e0
movq 0x758(%rsp), %rsi
leaq 0x2a8(%rsp), %rdi
callq 0x22e0
leaq 0x2e8(%rsp), %rdi
leaq 0x2c8(%rsp), %rsi
leaq 0x2a8(%rsp), %rdx
callq 0x31cf
leaq 0x2a8(%rsp), %rdi
callq 0x2130
leaq 0x2c8(%rsp), %rdi
callq 0x2130
leaq 0x2e8(%rsp), %rdi
callq 0x2130
leaq 0x5fe1(%rip), %rsi      # 0x2575b
leaq 0x88(%rsp), %rdi
movq %rbx, %rdx
callq 0x23af5
leaq 0x594a(%rip), %rdx      # 0x250db
leaq 0xa8(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x23ab7
leaq 0x8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0xe8(%rsp), %rdx
callq 0x23ad6
leaq 0x5914(%rip), %rdx      # 0x250db
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x23ab7
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rsi
leaq 0xc8(%rsp), %rdx
callq 0x23ad6
leaq 0x72de(%rip), %rdx      # 0x26ad2
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x23ab7
movq 0xd7c6(%rip), %rdi      # 0x2cfd0
leaq 0x68(%rsp), %rsi
callq 0x2200
movq %rax, %rdi
callq 0x2150
leaq 0x68(%rsp), %rdi
callq 0x2130
leaq 0x48(%rsp), %rdi
callq 0x2130
leaq 0x28(%rsp), %rdi
callq 0x2130
leaq 0x8(%rsp), %rdi
callq 0x2130
leaq 0xa8(%rsp), %rdi
callq 0x2130
leaq 0x88(%rsp), %rdi
callq 0x2130
leaq 0x288(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0x22e0
leaq 0x268(%rsp), %rdi
movq %rbx, %rsi
callq 0x22e0
leaq 0x248(%rsp), %rdi
movq %r14, %rsi
callq 0x22e0
movl 0x778(%rsp), %r8d
movl 0x770(%rsp), %ecx
leaq 0x288(%rsp), %rdi
leaq 0x268(%rsp), %rsi
leaq 0x248(%rsp), %rdx
callq 0x36e3
leaq 0x248(%rsp), %rdi
callq 0x2130
leaq 0x268(%rsp), %rdi
callq 0x2130
leaq 0x288(%rsp), %rdi
callq 0x2130
leaq 0x5e86(%rip), %rsi      # 0x25773
leaq 0x88(%rsp), %rdi
movq %rbx, %rdx
callq 0x23af5
leaq 0x57d7(%rip), %rdx      # 0x250db
leaq 0xa8(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x23ab7
leaq 0x8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0xe8(%rsp), %rdx
callq 0x23ad6
leaq 0x57a1(%rip), %rdx      # 0x250db
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x23ab7
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rsi
leaq 0xc8(%rsp), %rdx
callq 0x23ad6
leaq 0x716b(%rip), %rdx      # 0x26ad2
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x23ab7
movq 0xd653(%rip), %rdi      # 0x2cfd0
leaq 0x68(%rsp), %rsi
callq 0x2200
movq %rax, %rdi
callq 0x2150
leaq 0x68(%rsp), %rdi
callq 0x2130
leaq 0x48(%rsp), %rdi
callq 0x2130
leaq 0x28(%rsp), %rdi
callq 0x2130
leaq 0x8(%rsp), %rdi
callq 0x2130
leaq 0xa8(%rsp), %rdi
callq 0x2130
leaq 0x88(%rsp), %rdi
callq 0x2130
leaq 0x228(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0x22e0
leaq 0x208(%rsp), %rdi
movq %r14, %rsi
callq 0x22e0
movl 0x768(%rsp), %ebp
leaq 0x228(%rsp), %rdi
leaq 0x208(%rsp), %rsi
movl %ebp, %edx
callq 0x68ce
leaq 0x208(%rsp), %rdi
callq 0x2130
leaq 0x228(%rsp), %rdi
callq 0x2130
cmpl $0x1, %ebp
jne 0x1fae5
leaq 0x5d5b(%rip), %rsi      # 0x25799
leaq 0x88(%rsp), %rdi
movq %rbx, %rdx
callq 0x23af5
leaq 0x5686(%rip), %rdx      # 0x250db
leaq 0xa8(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x23ab7
leaq 0x8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0xe8(%rsp), %rdx
callq 0x23ad6
leaq 0x5650(%rip), %rdx      # 0x250db
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x23ab7
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rsi
leaq 0xc8(%rsp), %rdx
callq 0x23ad6
leaq 0x701a(%rip), %rdx      # 0x26ad2
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x23ab7
movq 0xd502(%rip), %rdi      # 0x2cfd0
leaq 0x68(%rsp), %rsi
callq 0x2200
movq %rax, %rdi
callq 0x2150
jmp 0x1fb96
testl %ebp, %ebp
jne 0x1fbd8
leaq 0x5c9d(%rip), %rsi      # 0x25791
leaq 0x88(%rsp), %rdi
movq %rbx, %rdx
callq 0x23af5
leaq 0x55d0(%rip), %rdx      # 0x250db
leaq 0xa8(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x23ab7
leaq 0x8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0xe8(%rsp), %rdx
callq 0x23ad6
leaq 0x559a(%rip), %rdx      # 0x250db
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x23ab7
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rsi
leaq 0xc8(%rsp), %rdx
callq 0x23ad6
leaq 0x5e38(%rip), %rdx      # 0x259a6
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x23ab7
movq 0xd44c(%rip), %rdi      # 0x2cfd0
leaq 0x68(%rsp), %rsi
callq 0x2200
movq %rax, %rdi
callq 0x2150
leaq 0x68(%rsp), %rdi
callq 0x2130
leaq 0x48(%rsp), %rdi
callq 0x2130
leaq 0x28(%rsp), %rdi
callq 0x2130
leaq 0x8(%rsp), %rdi
callq 0x2130
leaq 0xa8(%rsp), %rdi
callq 0x2130
leaq 0x88(%rsp), %rdi
callq 0x2130
leaq 0x1e8(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0x22e0
leaq 0x1c8(%rsp), %rdi
movq %r15, %rsi
callq 0x22e0
leaq 0x1a8(%rsp), %rdi
movq %rbx, %rsi
callq 0x22e0
leaq 0x188(%rsp), %rdi
movq %r14, %rsi
callq 0x22e0
leaq 0x1e8(%rsp), %rdi
leaq 0x1c8(%rsp), %rsi
leaq 0x1a8(%rsp), %rdx
leaq 0x188(%rsp), %rcx
movl %ebp, %r8d
callq 0xa8af
leaq 0x188(%rsp), %rdi
callq 0x2130
leaq 0x1a8(%rsp), %rdi
callq 0x2130
leaq 0x1c8(%rsp), %rdi
callq 0x2130
leaq 0x1e8(%rsp), %rdi
callq 0x2130
cmpl $0x1, %ebp
jne 0x1fd30
leaq 0x5b25(%rip), %rsi      # 0x257ae
leaq 0x88(%rsp), %rdi
movq %rbx, %rdx
callq 0x23af5
leaq 0x543b(%rip), %rdx      # 0x250db
leaq 0xa8(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x23ab7
leaq 0x8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0xe8(%rsp), %rdx
callq 0x23ad6
leaq 0x5405(%rip), %rdx      # 0x250db
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x23ab7
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rsi
leaq 0xc8(%rsp), %rdx
callq 0x23ad6
leaq 0x6dcf(%rip), %rdx      # 0x26ad2
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x23ab7
movq 0xd2b7(%rip), %rdi      # 0x2cfd0
leaq 0x68(%rsp), %rsi
callq 0x2200
movq %rax, %rdi
callq 0x2150
jmp 0x1fde1
testl %ebp, %ebp
jne 0x1fe23
leaq 0x5a92(%rip), %rsi      # 0x257d1
leaq 0x88(%rsp), %rdi
movq %rbx, %rdx
callq 0x23af5
leaq 0x5385(%rip), %rdx      # 0x250db
leaq 0xa8(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x23ab7
leaq 0x8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0xe8(%rsp), %rdx
callq 0x23ad6
leaq 0x534f(%rip), %rdx      # 0x250db
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x23ab7
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rsi
leaq 0xc8(%rsp), %rdx
callq 0x23ad6
leaq 0x5bed(%rip), %rdx      # 0x259a6
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x23ab7
movq 0xd201(%rip), %rdi      # 0x2cfd0
leaq 0x68(%rsp), %rsi
callq 0x2200
movq %rax, %rdi
callq 0x2150
leaq 0x68(%rsp), %rdi
callq 0x2130
leaq 0x48(%rsp), %rdi
callq 0x2130
leaq 0x28(%rsp), %rdi
callq 0x2130
leaq 0x8(%rsp), %rdi
callq 0x2130
leaq 0xa8(%rsp), %rdi
callq 0x2130
leaq 0x88(%rsp), %rdi
callq 0x2130
leaq 0x168(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0x22e0
leaq 0x148(%rsp), %rdi
movq %r14, %rsi
callq 0x22e0
leaq 0x168(%rsp), %rdi
leaq 0x148(%rsp), %rsi
movl %ebp, %edx
callq 0xeb9a
leaq 0x148(%rsp), %rdi
callq 0x2130
leaq 0x168(%rsp), %rdi
callq 0x2130
leaq 0x597c(%rip), %rsi      # 0x257fc
leaq 0x88(%rsp), %rdi
movq %rbx, %rdx
callq 0x23af5
leaq 0x5244(%rip), %rdx      # 0x250db
leaq 0xa8(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x23ab7
leaq 0x8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0xe8(%rsp), %rdx
callq 0x23ad6
leaq 0x520e(%rip), %rdx      # 0x250db
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x23ab7
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rsi
leaq 0xc8(%rsp), %rdx
callq 0x23ad6
leaq 0x6bd8(%rip), %rdx      # 0x26ad2
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x23ab7
movq 0xd0c0(%rip), %rdi      # 0x2cfd0
leaq 0x68(%rsp), %rsi
callq 0x2200
movq %rax, %rdi
callq 0x2150
leaq 0x68(%rsp), %rdi
callq 0x2130
leaq 0x48(%rsp), %rdi
callq 0x2130
leaq 0x28(%rsp), %rdi
callq 0x2130
leaq 0x8(%rsp), %rdi
callq 0x2130
leaq 0xa8(%rsp), %rdi
callq 0x2130
leaq 0x88(%rsp), %rdi
callq 0x2130
leaq 0x128(%rsp), %rdi
callq 0x2130
leaq 0x108(%rsp), %rdi
callq 0x2130
leaq 0xc8(%rsp), %rdi
callq 0x2130
leaq 0xe8(%rsp), %rdi
callq 0x2130
leaq 0x408(%rsp), %rdi
callq 0x21c0
leaq 0x590(%rsp), %rdi
callq 0x21c0
xorl %eax, %eax
addq $0x718, %rsp            # imm = 0x718
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x201cc
jmp 0x201d4
jmp 0x201dc
jmp 0x201e4
jmp 0x201ec
jmp 0x2032c
jmp 0x201cc
jmp 0x201d4
jmp 0x201dc
jmp 0x201e4
jmp 0x201ec
jmp 0x2032c
jmp 0x202e3
jmp 0x202e3
jmp 0x201cc
jmp 0x201d4
jmp 0x201dc
jmp 0x201e4
jmp 0x201ec
jmp 0x2032c
jmp 0x201cc
jmp 0x201d4
jmp 0x201dc
jmp 0x201e4
jmp 0x201ec
jmp 0x2032c
jmp 0x201cc
jmp 0x201d4
jmp 0x201dc
jmp 0x201e4
jmp 0x201ec
jmp 0x2032c
movq %rax, %rbx
leaq 0x148(%rsp), %rdi
callq 0x2130
jmp 0x20080
jmp 0x202e3
movq %rax, %rbx
leaq 0x168(%rsp), %rdi
jmp 0x20323
movq %rax, %rbx
leaq 0x188(%rsp), %rdi
callq 0x2130
jmp 0x200a2
movq %rax, %rbx
leaq 0x1a8(%rsp), %rdi
callq 0x2130
jmp 0x200b4
movq %rax, %rbx
leaq 0x1c8(%rsp), %rdi
callq 0x2130
jmp 0x200c6
movq %rax, %rbx
leaq 0x1e8(%rsp), %rdi
jmp 0x20323
jmp 0x202e3
movq %rax, %rbx
leaq 0x208(%rsp), %rdi
callq 0x2130
jmp 0x200ed
movq %rax, %rbx
leaq 0x228(%rsp), %rdi
jmp 0x20323
jmp 0x201cc
jmp 0x201d4
jmp 0x201dc
jmp 0x201e4
jmp 0x201ec
jmp 0x2032c
movq %rax, %rbx
leaq 0x248(%rsp), %rdi
callq 0x2130
jmp 0x2012d
movq %rax, %rbx
leaq 0x268(%rsp), %rdi
callq 0x2130
jmp 0x2013f
movq %rax, %rbx
leaq 0x288(%rsp), %rdi
jmp 0x20323
jmp 0x201cc
jmp 0x201d4
jmp 0x201dc
jmp 0x201e4
jmp 0x201ec
jmp 0x2032c
movq %rax, %rbx
leaq 0x2a8(%rsp), %rdi
callq 0x2130
jmp 0x2017c
movq %rax, %rbx
leaq 0x2c8(%rsp), %rdi
callq 0x2130
jmp 0x2018e
movq %rax, %rbx
leaq 0x2e8(%rsp), %rdi
jmp 0x20323
jmp 0x201cc
jmp 0x201d4
jmp 0x201dc
jmp 0x201e4
jmp 0x201ec
jmp 0x2032c
movq %rax, %rbx
leaq 0x308(%rsp), %rdi
callq 0x2130
jmp 0x201bf
movq %rax, %rbx
leaq 0x328(%rsp), %rdi
jmp 0x20323
movq %rax, %rbx
jmp 0x202f0
movq %rax, %rbx
jmp 0x202fa
movq %rax, %rbx
jmp 0x20304
movq %rax, %rbx
jmp 0x2030e
movq %rax, %rbx
jmp 0x2031b
jmp 0x2032c
movq %rax, %rbx
leaq 0x348(%rsp), %rdi
callq 0x2130
jmp 0x2020e
movq %rax, %rbx
leaq 0x368(%rsp), %rdi
callq 0x2130
jmp 0x20220
movq %rax, %rbx
leaq 0x388(%rsp), %rdi
callq 0x2130
jmp 0x20232
movq %rax, %rbx
leaq 0x3a8(%rsp), %rdi
callq 0x2130
jmp 0x20244
movq %rax, %rbx
leaq 0x3c8(%rsp), %rdi
callq 0x2130
leaq 0x3e8(%rsp), %rdi
jmp 0x20323
movq %rax, %rbx
jmp 0x20251
movq %rax, %rbx
jmp 0x2033c
movq %rax, %rbx
leaq 0x128(%rsp), %rdi
callq 0x2130
jmp 0x20280
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0x2130
jmp 0x2028f
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x2130
jmp 0x2029e
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x2130
jmp 0x202ad
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
jmp 0x20344
movq %rax, %rbx
jmp 0x20349
jmp 0x202c1
movq %rax, %rbx
jmp 0x20356
jmp 0x202cb
movq %rax, %rbx
jmp 0x20363
movq %rax, %rbx
jmp 0x20370
jmp 0x202e3
jmp 0x202e3
jmp 0x202e3
jmp 0x202e3
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0x2130
leaq 0x48(%rsp), %rdi
callq 0x2130
leaq 0x28(%rsp), %rdi
callq 0x2130
leaq 0x8(%rsp), %rdi
callq 0x2130
leaq 0xa8(%rsp), %rdi
callq 0x2130
leaq 0x88(%rsp), %rdi
callq 0x2130
jmp 0x2032f
jmp 0x2032c
movq %rax, %rbx
leaq 0x128(%rsp), %rdi
callq 0x2130
leaq 0x108(%rsp), %rdi
callq 0x2130
leaq 0xc8(%rsp), %rdi
callq 0x2130
leaq 0xe8(%rsp), %rdi
callq 0x2130
leaq 0x408(%rsp), %rdi
callq 0x21c0
leaq 0x590(%rsp), %rdi
callq 0x21c0
movq %rbx, %rdi
callq 0x23c0