// File: millanek[P]evo/process_vcf_vcf_from_sequenom.cpp
// Function: VCFfromSequenomMain(int, char**)
int VCFfromSequenomMain(int argc, char** argv) {
    parseVCFfromSequenomOptions(argc, argv);
    string fileRoot = stripExtension(opt::sequenomFile);
    
    std::cerr << "Using genotype calls in: " << opt::sequenomFile << std::endl;
    std::cerr << "to generate a VCF file."<< std::endl;
    
    // Open connection to read from the vcf file
    std::ifstream* sequenomFile = new std::ifstream(opt::sequenomFile.c_str());
    std::ifstream* sequenomDesignFile = new std::ifstream(opt::sequenomDesignFile.c_str());
    string vcfFileName = fileRoot + opt::runName + ".vcf";
    std::ofstream* pVCF = new std::ofstream(vcfFileName.c_str());
    std::ofstream* pSampleNames = new std::ofstream("sample_names.txt");
    
    
    string line;
    std::map<string, std::vector<string> > varRefAlt;
    while (getline(*sequenomDesignFile, line)) {
        std::vector<std::string> fields = split(line, '\t');
        string variant = fields[0];
        fields = split(fields[1], '[');
        string baseBeforeVar = fields[0].substr(fields[0].length()-1,1);
        fields = split(fields[1], ']');
        fields = split(fields[0], '/');
        string ref = fields[0];
        string alt = fields[1];
        varRefAlt[variant].push_back(ref);
        varRefAlt[variant].push_back(alt);
        varRefAlt[variant].push_back(baseBeforeVar);
    }
    
    
    
    getline(*sequenomFile, line);
    std::string firstLocus;
    std::vector<std::string> samples;
    std::map<string, std::vector<string> > varGenotypes;
    std::vector<string> checkDuplicates;
    while (getline(*sequenomFile, line)) {
        std::vector<std::string> fields = split(line, '\t');
        string var = fields[5]; string gnt = fields[3]; string sample = fields[1];
        if (std::find(checkDuplicates.begin(),checkDuplicates.end(), sample+"\t"+var) != checkDuplicates.end()) {
            continue;
        } else {
            checkDuplicates.push_back(sample+"\t"+var);
        }
        //if (varGenotypes.find(fields[5]) != varGenotypes.end()) {
        string ref = varRefAlt[var][0]; string alt = varRefAlt[var][1]; string bbv = varRefAlt[var][2];
        if (varGenotypes[var].empty()) {
            std::vector<std::string> scafLoc = split(var, '_');
            if (ref == "-")
                varGenotypes[var].push_back(scafLoc[0]+"_"+scafLoc[1]+"\t"+scafLoc[2]+"\t"+"."+"\t"+bbv+"\t"+bbv+alt+"\t.\t.\t.\tGT");
            else if (alt == "-")
                varGenotypes[var].push_back(scafLoc[0]+"_"+scafLoc[1]+"\t"+scafLoc[2]+"\t"+"."+"\t"+bbv+ref+"\t"+bbv+"\t.\t.\t.\tGT");
            else
                varGenotypes[var].push_back(scafLoc[0]+"_"+scafLoc[1]+"\t"+scafLoc[2]+"\t"+"."+"\t"+ref+"\t"+alt+"\t.\t.\t.\tGT");
        }
        if ((gnt.length() == 2 && ref.length() == 1 && alt.length() == 1) || (gnt.find('.') != string::npos))
            varGenotypes[var].push_back("1/0");
        else if (fields[3] == varRefAlt[var][0])
            varGenotypes[var].push_back("0/0");
        else if (fields[3] == varRefAlt[var][1])
            varGenotypes[var].push_back("1/1");
        else if (gnt == "#NAME?" || gnt == "N")
            varGenotypes[var].push_back("./.");
        else
            assert(false); 
        if (firstLocus.empty()) {
            firstLocus = var;
            samples.push_back("#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO\tFORMAT");
            samples.push_back(sample);
        } else if (firstLocus == fields[5]) {
            samples.push_back(sample);
        }
        
        fields = split(var, '_');
        //}
        
    }
    
    *pVCF << VCF_HEADER;
    print_vector(samples, *pVCF);
    for (std::map<string, std::vector<string> >::iterator it = varGenotypes.begin(); it != varGenotypes.end(); it++) {
        print_vector(it->second, *pVCF);
    }
    
    print_vector(samples, *pSampleNames, '\n');
    
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb10, %rsp            # imm = 0xB10
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rsi
callq 0xd7860
leaq 0xc53fb(%rip), %rsi     # 0x19ae20
leaq -0x30(%rbp), %rdi
callq 0x7be70
movq 0xc35bb(%rip), %rdi     # 0x198ff0
leaq 0x71065(%rip), %rsi     # 0x146aa1
callq 0xa5c0
movq %rax, -0x990(%rbp)
jmp 0xd5a4a
movq -0x990(%rbp), %rdi
leaq 0xc53c8(%rip), %rsi     # 0x19ae20
callq 0xa520
movq %rax, -0x998(%rbp)
jmp 0xd5a66
movq -0x998(%rbp), %rdi
movq 0xc3514(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xd5a7b
movq 0xc356e(%rip), %rdi     # 0x198ff0
leaq 0x71032(%rip), %rsi     # 0x146abb
callq 0xa5c0
movq %rax, -0x9a0(%rbp)
jmp 0xd5a97
movq -0x9a0(%rbp), %rdi
movq 0xc34e3(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xd5aac
movl $0x208, %edi            # imm = 0x208
callq 0xa5d0
movq %rax, -0x9a8(%rbp)
jmp 0xd5abf
leaq 0xc535a(%rip), %rdi     # 0x19ae20
callq 0xa220
movq -0x9a8(%rbp), %rdi
movq %rax, %rsi
movl $0x8, %edx
callq 0xab90
jmp 0xd5ae1
movq -0x9a8(%rbp), %rax
movq %rax, -0x48(%rbp)
movl $0x208, %edi            # imm = 0x208
callq 0xa5d0
movq %rax, -0x9b0(%rbp)
jmp 0xd5aff
leaq 0xc533a(%rip), %rdi     # 0x19ae40
callq 0xa220
movq -0x9b0(%rbp), %rdi
movq %rax, %rsi
movl $0x8, %edx
callq 0xab90
jmp 0xd5b21
movq -0x9b0(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0xc532d(%rip), %rdx     # 0x19ae60
leaq -0x90(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x3e290
jmp 0xd5b45
leaq 0x70ca4(%rip), %rdx     # 0x1467f0
leaq -0x70(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x3e020
jmp 0xd5b5e
leaq -0x90(%rbp), %rdi
callq 0xac88
movl $0x200, %edi            # imm = 0x200
callq 0xa5d0
movq %rax, -0x9b8(%rbp)
jmp 0xd5b7d
leaq -0x70(%rbp), %rdi
callq 0xa220
movq -0x9b8(%rbp), %rdi
movq %rax, %rsi
movl $0x10, %edx
callq 0xa650
jmp 0xd5b9c
movq -0x9b8(%rbp), %rax
movq %rax, -0x98(%rbp)
movl $0x200, %edi            # imm = 0x200
callq 0xa5d0
movq %rax, -0x9c0(%rbp)
jmp 0xd5bbd
movq -0x9c0(%rbp), %rdi
leaq 0x70f08(%rip), %rsi     # 0x146ad3
movl $0x10, %edx
callq 0xa650
jmp 0xd5bd7
movq -0x9c0(%rbp), %rax
movq %rax, -0xa0(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0xa820
leaq -0xf0(%rbp), %rdi
callq 0x58920
movq -0x50(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
callq 0xa0d0
movq %rax, -0x9c8(%rbp)
jmp 0xd5c16
movq -0x9c8(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0xa740
movb %al, -0x9c9(%rbp)
jmp 0xd5c34
movb -0x9c9(%rbp), %al
testb $0x1, %al
jne 0xd5c43
jmp 0xd6046
leaq -0x108(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
movl $0x9, %edx
callq 0x7bbe0
jmp 0xd5c5d
xorl %eax, %eax
movl %eax, %esi
leaq -0x108(%rbp), %rdi
callq 0x3d940
movq %rax, %rsi
leaq -0x128(%rbp), %rdi
callq 0xa250
jmp 0xd5c7e
leaq -0x108(%rbp), %rdi
movl $0x1, %esi
callq 0x3d940
movq %rax, %rsi
leaq -0x140(%rbp), %rdi
movl $0x5b, %edx
callq 0x7bbe0
jmp 0xd5ca5
leaq -0x108(%rbp), %rdi
movq %rdi, -0x9e8(%rbp)
leaq -0x140(%rbp), %rsi
movq %rsi, -0x9f0(%rbp)
callq 0x50c30
movq -0x9f0(%rbp), %rdi
callq 0x3dfa0
movq -0x9e8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
movq %rsi, -0x9e0(%rbp)
callq 0x3d940
movq -0x9e8(%rbp), %rdi
movq -0x9e0(%rbp), %rsi
movq %rax, -0x9d8(%rbp)
callq 0x3d940
movq %rax, %rdi
callq 0xa930
movq -0x9d8(%rbp), %rsi
movq %rax, %rdx
decq %rdx
leaq -0x160(%rbp), %rdi
movl $0x1, %ecx
callq 0xa5f0
jmp 0xd5d2b
leaq -0x108(%rbp), %rdi
movl $0x1, %esi
callq 0x3d940
movq %rax, %rsi
leaq -0x178(%rbp), %rdi
movl $0x5d, %edx
callq 0x7bbe0
jmp 0xd5d52
leaq -0x108(%rbp), %rdi
movq %rdi, -0x9f8(%rbp)
leaq -0x178(%rbp), %rsi
movq %rsi, -0xa00(%rbp)
callq 0x50c30
movq -0xa00(%rbp), %rdi
callq 0x3dfa0
movq -0x9f8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3d940
movq %rax, %rsi
leaq -0x190(%rbp), %rdi
movl $0x2f, %edx
callq 0x7bbe0
jmp 0xd5da5
leaq -0x108(%rbp), %rdi
movq %rdi, -0xa08(%rbp)
leaq -0x190(%rbp), %rsi
movq %rsi, -0xa10(%rbp)
callq 0x50c30
movq -0xa10(%rbp), %rdi
callq 0x3dfa0
movq -0xa08(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3d940
movq %rax, %rsi
leaq -0x1b0(%rbp), %rdi
callq 0xa250
jmp 0xd5df3
leaq -0x108(%rbp), %rdi
movl $0x1, %esi
callq 0x3d940
movq %rax, %rsi
leaq -0x1d0(%rbp), %rdi
callq 0xa250
jmp 0xd5e15
leaq -0xf0(%rbp), %rdi
leaq -0x128(%rbp), %rsi
callq 0x6b400
movq %rax, -0xa18(%rbp)
jmp 0xd5e31
movq -0xa18(%rbp), %rdi
leaq -0x1b0(%rbp), %rsi
callq 0x48dc0
jmp 0xd5e46
leaq -0xf0(%rbp), %rdi
leaq -0x128(%rbp), %rsi
callq 0x6b400
movq %rax, -0xa20(%rbp)
jmp 0xd5e62
movq -0xa20(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x48dc0
jmp 0xd5e77
leaq -0xf0(%rbp), %rdi
leaq -0x128(%rbp), %rsi
callq 0x6b400
movq %rax, -0xa28(%rbp)
jmp 0xd5e93
movq -0xa28(%rbp), %rdi
leaq -0x160(%rbp), %rsi
callq 0x48dc0
jmp 0xd5ea8
leaq -0x1d0(%rbp), %rdi
callq 0xac88
leaq -0x1b0(%rbp), %rdi
callq 0xac88
leaq -0x160(%rbp), %rdi
callq 0xac88
leaq -0x128(%rbp), %rdi
callq 0xac88
leaq -0x108(%rbp), %rdi
callq 0x3dfa0
jmp 0xd5bfd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd7842
movq -0x9a8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
movl $0x208, %esi            # imm = 0x208
callq 0xa5e0
jmp 0xd7842
movq -0x9b0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
movl $0x208, %esi            # imm = 0x208
callq 0xa5e0
jmp 0xd7842
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x90(%rbp), %rdi
callq 0xac88
jmp 0xd7842
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd7839
movq -0x9b8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
movl $0x200, %esi            # imm = 0x200
callq 0xa5e0
jmp 0xd7839
movq -0x9c0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
movl $0x200, %esi            # imm = 0x200
callq 0xa5e0
jmp 0xd7839
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd7821
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6035
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6029
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd601d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6011
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x1d0(%rbp), %rdi
callq 0xac88
leaq -0x1b0(%rbp), %rdi
callq 0xac88
leaq -0x160(%rbp), %rdi
callq 0xac88
leaq -0x128(%rbp), %rdi
callq 0xac88
leaq -0x108(%rbp), %rdi
callq 0x3dfa0
jmp 0xd7821
movq -0x48(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
callq 0xa0d0
jmp 0xd6058
leaq -0x1f0(%rbp), %rdi
callq 0xa820
leaq -0x208(%rbp), %rdi
callq 0x48da0
leaq -0x238(%rbp), %rdi
callq 0x58920
leaq -0x250(%rbp), %rdi
callq 0x48da0
movq -0x48(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
callq 0xa0d0
movq %rax, -0xa30(%rbp)
jmp 0xd60a1
movq -0xa30(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0xa740
movb %al, -0xa31(%rbp)
jmp 0xd60bf
movb -0xa31(%rbp), %al
testb $0x1, %al
jne 0xd60ce
jmp 0xd75f3
leaq -0x268(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
movl $0x9, %edx
callq 0x7bbe0
jmp 0xd60e8
leaq -0x268(%rbp), %rdi
movl $0x5, %esi
callq 0x3d940
movq %rax, %rsi
leaq -0x288(%rbp), %rdi
callq 0xa250
jmp 0xd610a
leaq -0x268(%rbp), %rdi
movl $0x3, %esi
callq 0x3d940
movq %rax, %rsi
leaq -0x2a8(%rbp), %rdi
callq 0xa250
jmp 0xd612c
leaq -0x268(%rbp), %rdi
movl $0x1, %esi
callq 0x3d940
movq %rax, %rsi
leaq -0x2c8(%rbp), %rdi
callq 0xa250
jmp 0xd614e
leaq -0x250(%rbp), %rdi
movq %rdi, -0xa40(%rbp)
callq 0x44030
movq -0xa40(%rbp), %rdi
movq %rax, -0x2d8(%rbp)
callq 0x44060
movq %rax, -0x2e0(%rbp)
leaq 0x5fd5c(%rip), %rdx     # 0x135ede
leaq -0x320(%rbp), %rdi
leaq -0x2c8(%rbp), %rsi
callq 0x3da80
jmp 0xd6197
leaq -0x300(%rbp), %rdi
leaq -0x320(%rbp), %rsi
leaq -0x288(%rbp), %rdx
callq 0x3da30
jmp 0xd61b3
movq -0x2d8(%rbp), %rdi
movq -0x2e0(%rbp), %rsi
leaq -0x300(%rbp), %rdx
callq 0x84050
movq %rax, -0xa48(%rbp)
jmp 0xd61d6
movq -0xa48(%rbp), %rax
movq %rax, -0x2d0(%rbp)
leaq -0x250(%rbp), %rdi
callq 0x44060
movq %rax, -0x328(%rbp)
leaq -0x2d0(%rbp), %rdi
leaq -0x328(%rbp), %rsi
callq 0x44190
movb %al, -0xa49(%rbp)
leaq -0x300(%rbp), %rdi
callq 0xac88
leaq -0x320(%rbp), %rdi
callq 0xac88
movb -0xa49(%rbp), %al
testb $0x1, %al
jne 0xd6237
jmp 0xd62d2
movl $0x4, -0x32c(%rbp)
jmp 0xd7554
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd77f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd75e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd75d6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd75ca
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd75be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd62c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x300(%rbp), %rdi
callq 0xac88
leaq -0x320(%rbp), %rdi
callq 0xac88
jmp 0xd75be
leaq 0x5fc05(%rip), %rdx     # 0x135ede
leaq -0x370(%rbp), %rdi
leaq -0x2c8(%rbp), %rsi
callq 0x3da80
jmp 0xd62ee
leaq -0x350(%rbp), %rdi
leaq -0x370(%rbp), %rsi
leaq -0x288(%rbp), %rdx
callq 0x3da30
jmp 0xd630a
leaq -0x250(%rbp), %rdi
leaq -0x350(%rbp), %rsi
callq 0x5f980
jmp 0xd631f
leaq -0x350(%rbp), %rdi
callq 0xac88
leaq -0x370(%rbp), %rdi
callq 0xac88
jmp 0xd6370
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd635f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x350(%rbp), %rdi
callq 0xac88
leaq -0x370(%rbp), %rdi
callq 0xac88
jmp 0xd75be
leaq -0xf0(%rbp), %rdi
leaq -0x288(%rbp), %rsi
callq 0x6b400
movq %rax, -0xa58(%rbp)
jmp 0xd638c
movq -0xa58(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3d940
movq %rax, %rsi
leaq -0x390(%rbp), %rdi
callq 0xa250
jmp 0xd63ad
leaq -0xf0(%rbp), %rdi
leaq -0x288(%rbp), %rsi
callq 0x6b400
movq %rax, -0xa60(%rbp)
jmp 0xd63c9
movq -0xa60(%rbp), %rdi
movl $0x1, %esi
callq 0x3d940
movq %rax, %rsi
leaq -0x3b0(%rbp), %rdi
callq 0xa250
jmp 0xd63eb
leaq -0xf0(%rbp), %rdi
leaq -0x288(%rbp), %rsi
callq 0x6b400
movq %rax, -0xa68(%rbp)
jmp 0xd6407
movq -0xa68(%rbp), %rdi
movl $0x2, %esi
callq 0x3d940
movq %rax, %rsi
leaq -0x3d0(%rbp), %rdi
callq 0xa250
jmp 0xd6429
leaq -0x238(%rbp), %rdi
leaq -0x288(%rbp), %rsi
callq 0x6b400
movq %rax, -0xa70(%rbp)
jmp 0xd6445
movq -0xa70(%rbp), %rdi
callq 0x6b4e0
testb $0x1, %al
jne 0xd645a
jmp 0xd6f89
leaq -0x3e8(%rbp), %rdi
leaq -0x288(%rbp), %rsi
movl $0x5f, %edx
callq 0x7bbe0
jmp 0xd6474
leaq 0x5e695(%rip), %rsi     # 0x134b10
leaq -0x390(%rbp), %rdi
callq 0x2d770
movb %al, -0xa71(%rbp)
jmp 0xd648f
movb -0xa71(%rbp), %al
testb $0x1, %al
jne 0xd649e
jmp 0xd686e
leaq -0x238(%rbp), %rdi
leaq -0x288(%rbp), %rsi
callq 0x6b400
movq %rax, -0xa80(%rbp)
jmp 0xd64ba
xorl %eax, %eax
movl %eax, %esi
leaq -0x3e8(%rbp), %rdi
callq 0x3d940
movq %rax, %rsi
leaq 0x698bc(%rip), %rdx     # 0x13fd90
leaq -0x568(%rbp), %rdi
callq 0x3da80
jmp 0xd64e2
leaq -0x3e8(%rbp), %rdi
movl $0x1, %esi
callq 0x3d940
movq %rax, %rdx
leaq -0x548(%rbp), %rdi
leaq -0x568(%rbp), %rsi
callq 0x3da30
jmp 0xd650b
leaq 0x5f9cc(%rip), %rdx     # 0x135ede
leaq -0x528(%rbp), %rdi
leaq -0x548(%rbp), %rsi
callq 0x3e020
jmp 0xd6527
leaq -0x3e8(%rbp), %rdi
movl $0x2, %esi
callq 0x3d940
movq %rax, %rdx
leaq -0x508(%rbp), %rdi
leaq -0x528(%rbp), %rsi
callq 0x3da30
jmp 0xd6550
leaq 0x5f987(%rip), %rdx     # 0x135ede
leaq -0x4e8(%rbp), %rdi
leaq -0x508(%rbp), %rsi
callq 0x3e020
jmp 0xd656c
leaq 0x6e1b1(%rip), %rdx     # 0x144724
leaq -0x4c8(%rbp), %rdi
leaq -0x4e8(%rbp), %rsi
callq 0x3e020
jmp 0xd6588
leaq 0x5f94f(%rip), %rdx     # 0x135ede
leaq -0x4a8(%rbp), %rdi
leaq -0x4c8(%rbp), %rsi
callq 0x3e020
jmp 0xd65a4
leaq -0x488(%rbp), %rdi
leaq -0x4a8(%rbp), %rsi
leaq -0x3d0(%rbp), %rdx
callq 0x3da30
jmp 0xd65c0
leaq 0x5f917(%rip), %rdx     # 0x135ede
leaq -0x468(%rbp), %rdi
leaq -0x488(%rbp), %rsi
callq 0x3e020
jmp 0xd65dc
leaq -0x448(%rbp), %rdi
leaq -0x468(%rbp), %rsi
leaq -0x3d0(%rbp), %rdx
callq 0x3da30
jmp 0xd65f8
leaq -0x428(%rbp), %rdi
leaq -0x448(%rbp), %rsi
leaq -0x3b0(%rbp), %rdx
callq 0x3da30
jmp 0xd6614
leaq 0x704c9(%rip), %rdx     # 0x146ae4
leaq -0x408(%rbp), %rdi
leaq -0x428(%rbp), %rsi
callq 0x3e020
jmp 0xd6630
movq -0xa80(%rbp), %rdi
leaq -0x408(%rbp), %rsi
callq 0x5f980
jmp 0xd6645
leaq -0x408(%rbp), %rdi
callq 0xac88
leaq -0x428(%rbp), %rdi
callq 0xac88
leaq -0x448(%rbp), %rdi
callq 0xac88
leaq -0x468(%rbp), %rdi
callq 0xac88
leaq -0x488(%rbp), %rdi
callq 0xac88
leaq -0x4a8(%rbp), %rdi
callq 0xac88
leaq -0x4c8(%rbp), %rdi
callq 0xac88
leaq -0x4e8(%rbp), %rdi
callq 0xac88
leaq -0x508(%rbp), %rdi
callq 0xac88
leaq -0x528(%rbp), %rdi
callq 0xac88
leaq -0x548(%rbp), %rdi
callq 0xac88
leaq -0x568(%rbp), %rdi
callq 0xac88
jmp 0xd6f6a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd75b2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd75a6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd759a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6f78
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd685d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6851
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6845
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6839
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd682d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6821
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6815
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6809
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd67fd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd67f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd67e5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x408(%rbp), %rdi
callq 0xac88
leaq -0x428(%rbp), %rdi
callq 0xac88
leaq -0x448(%rbp), %rdi
callq 0xac88
leaq -0x468(%rbp), %rdi
callq 0xac88
leaq -0x488(%rbp), %rdi
callq 0xac88
leaq -0x4a8(%rbp), %rdi
callq 0xac88
leaq -0x4c8(%rbp), %rdi
callq 0xac88
leaq -0x4e8(%rbp), %rdi
callq 0xac88
leaq -0x508(%rbp), %rdi
callq 0xac88
leaq -0x528(%rbp), %rdi
callq 0xac88
leaq -0x548(%rbp), %rdi
callq 0xac88
leaq -0x568(%rbp), %rdi
callq 0xac88
jmp 0xd6f78
leaq 0x5e29b(%rip), %rsi     # 0x134b10
leaq -0x3b0(%rbp), %rdi
callq 0x2d770
movb %al, -0xa81(%rbp)
jmp 0xd6889
movb -0xa81(%rbp), %al
testb $0x1, %al
jne 0xd6898
jmp 0xd6c24
leaq -0x238(%rbp), %rdi
leaq -0x288(%rbp), %rsi
callq 0x6b400
movq %rax, -0xa90(%rbp)
jmp 0xd68b4
xorl %eax, %eax
movl %eax, %esi
leaq -0x3e8(%rbp), %rdi
callq 0x3d940
movq %rax, %rsi
leaq 0x694c2(%rip), %rdx     # 0x13fd90
leaq -0x6e8(%rbp), %rdi
callq 0x3da80
jmp 0xd68dc
leaq -0x3e8(%rbp), %rdi
movl $0x1, %esi
callq 0x3d940
movq %rax, %rdx
leaq -0x6c8(%rbp), %rdi
leaq -0x6e8(%rbp), %rsi
callq 0x3da30
jmp 0xd6905
leaq 0x5f5d2(%rip), %rdx     # 0x135ede
leaq -0x6a8(%rbp), %rdi
leaq -0x6c8(%rbp), %rsi
callq 0x3e020
jmp 0xd6921
leaq -0x3e8(%rbp), %rdi
movl $0x2, %esi
callq 0x3d940
movq %rax, %rdx
leaq -0x688(%rbp), %rdi
leaq -0x6a8(%rbp), %rsi
callq 0x3da30
jmp 0xd694a
leaq 0x5f58d(%rip), %rdx     # 0x135ede
leaq -0x668(%rbp), %rdi
leaq -0x688(%rbp), %rsi
callq 0x3e020
jmp 0xd6966
leaq 0x6ddb7(%rip), %rdx     # 0x144724
leaq -0x648(%rbp), %rdi
leaq -0x668(%rbp), %rsi
callq 0x3e020
jmp 0xd6982
leaq 0x5f555(%rip), %rdx     # 0x135ede
leaq -0x628(%rbp), %rdi
leaq -0x648(%rbp), %rsi
callq 0x3e020
jmp 0xd699e
leaq -0x608(%rbp), %rdi
leaq -0x628(%rbp), %rsi
leaq -0x3d0(%rbp), %rdx
callq 0x3da30
jmp 0xd69ba
leaq -0x5e8(%rbp), %rdi
leaq -0x608(%rbp), %rsi
leaq -0x390(%rbp), %rdx
callq 0x3da30
jmp 0xd69d6
leaq 0x5f501(%rip), %rdx     # 0x135ede
leaq -0x5c8(%rbp), %rdi
leaq -0x5e8(%rbp), %rsi
callq 0x3e020
jmp 0xd69f2
leaq -0x5a8(%rbp), %rdi
leaq -0x5c8(%rbp), %rsi
leaq -0x3d0(%rbp), %rdx
callq 0x3da30
jmp 0xd6a0e
leaq 0x700cf(%rip), %rdx     # 0x146ae4
leaq -0x588(%rbp), %rdi
leaq -0x5a8(%rbp), %rsi
callq 0x3e020
jmp 0xd6a2a
movq -0xa90(%rbp), %rdi
leaq -0x588(%rbp), %rsi
callq 0x5f980
jmp 0xd6a3f
leaq -0x588(%rbp), %rdi
callq 0xac88
leaq -0x5a8(%rbp), %rdi
callq 0xac88
leaq -0x5c8(%rbp), %rdi
callq 0xac88
leaq -0x5e8(%rbp), %rdi
callq 0xac88
leaq -0x608(%rbp), %rdi
callq 0xac88
leaq -0x628(%rbp), %rdi
callq 0xac88
leaq -0x648(%rbp), %rdi
callq 0xac88
leaq -0x668(%rbp), %rdi
callq 0xac88
leaq -0x688(%rbp), %rdi
callq 0xac88
leaq -0x6a8(%rbp), %rdi
callq 0xac88
leaq -0x6c8(%rbp), %rdi
callq 0xac88
leaq -0x6e8(%rbp), %rdi
callq 0xac88
jmp 0xd6f68
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6c13
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6c07
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6bfb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6bef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6be3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6bd7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6bcb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6bbf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6bb3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6ba7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6b9b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x588(%rbp), %rdi
callq 0xac88
leaq -0x5a8(%rbp), %rdi
callq 0xac88
leaq -0x5c8(%rbp), %rdi
callq 0xac88
leaq -0x5e8(%rbp), %rdi
callq 0xac88
leaq -0x608(%rbp), %rdi
callq 0xac88
leaq -0x628(%rbp), %rdi
callq 0xac88
leaq -0x648(%rbp), %rdi
callq 0xac88
leaq -0x668(%rbp), %rdi
callq 0xac88
leaq -0x688(%rbp), %rdi
callq 0xac88
leaq -0x6a8(%rbp), %rdi
callq 0xac88
leaq -0x6c8(%rbp), %rdi
callq 0xac88
leaq -0x6e8(%rbp), %rdi
callq 0xac88
jmp 0xd6f78
leaq -0x238(%rbp), %rdi
leaq -0x288(%rbp), %rsi
callq 0x6b400
movq %rax, -0xa98(%rbp)
jmp 0xd6c40
xorl %eax, %eax
movl %eax, %esi
leaq -0x3e8(%rbp), %rdi
callq 0x3d940
movq %rax, %rsi
leaq 0x69136(%rip), %rdx     # 0x13fd90
leaq -0x848(%rbp), %rdi
callq 0x3da80
jmp 0xd6c68
leaq -0x3e8(%rbp), %rdi
movl $0x1, %esi
callq 0x3d940
movq %rax, %rdx
leaq -0x828(%rbp), %rdi
leaq -0x848(%rbp), %rsi
callq 0x3da30
jmp 0xd6c91
leaq 0x5f246(%rip), %rdx     # 0x135ede
leaq -0x808(%rbp), %rdi
leaq -0x828(%rbp), %rsi
callq 0x3e020
jmp 0xd6cad
leaq -0x3e8(%rbp), %rdi
movl $0x2, %esi
callq 0x3d940
movq %rax, %rdx
leaq -0x7e8(%rbp), %rdi
leaq -0x808(%rbp), %rsi
callq 0x3da30
jmp 0xd6cd6
leaq 0x5f201(%rip), %rdx     # 0x135ede
leaq -0x7c8(%rbp), %rdi
leaq -0x7e8(%rbp), %rsi
callq 0x3e020
jmp 0xd6cf2
leaq 0x6da2b(%rip), %rdx     # 0x144724
leaq -0x7a8(%rbp), %rdi
leaq -0x7c8(%rbp), %rsi
callq 0x3e020
jmp 0xd6d0e
leaq 0x5f1c9(%rip), %rdx     # 0x135ede
leaq -0x788(%rbp), %rdi
leaq -0x7a8(%rbp), %rsi
callq 0x3e020
jmp 0xd6d2a
leaq -0x768(%rbp), %rdi
leaq -0x788(%rbp), %rsi
leaq -0x390(%rbp), %rdx
callq 0x3da30
jmp 0xd6d46
leaq 0x5f191(%rip), %rdx     # 0x135ede
leaq -0x748(%rbp), %rdi
leaq -0x768(%rbp), %rsi
callq 0x3e020
jmp 0xd6d62
leaq -0x728(%rbp), %rdi
leaq -0x748(%rbp), %rsi
leaq -0x3b0(%rbp), %rdx
callq 0x3da30
jmp 0xd6d7e
leaq 0x6fd5f(%rip), %rdx     # 0x146ae4
leaq -0x708(%rbp), %rdi
leaq -0x728(%rbp), %rsi
callq 0x3e020
jmp 0xd6d9a
movq -0xa98(%rbp), %rdi
leaq -0x708(%rbp), %rsi
callq 0x5f980
jmp 0xd6daf
leaq -0x708(%rbp), %rdi
callq 0xac88
leaq -0x728(%rbp), %rdi
callq 0xac88
leaq -0x748(%rbp), %rdi
callq 0xac88
leaq -0x768(%rbp), %rdi
callq 0xac88
leaq -0x788(%rbp), %rdi
callq 0xac88
leaq -0x7a8(%rbp), %rdi
callq 0xac88
leaq -0x7c8(%rbp), %rdi
callq 0xac88
leaq -0x7e8(%rbp), %rdi
callq 0xac88
leaq -0x808(%rbp), %rdi
callq 0xac88
leaq -0x828(%rbp), %rdi
callq 0xac88
leaq -0x848(%rbp), %rdi
callq 0xac88
jmp 0xd6f68
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6f5a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6f4e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6f42
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6f36
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6f2a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6f1e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6f12
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6f06
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6efa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd6eee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x708(%rbp), %rdi
callq 0xac88
leaq -0x728(%rbp), %rdi
callq 0xac88
leaq -0x748(%rbp), %rdi
callq 0xac88
leaq -0x768(%rbp), %rdi
callq 0xac88
leaq -0x788(%rbp), %rdi
callq 0xac88
leaq -0x7a8(%rbp), %rdi
callq 0xac88
leaq -0x7c8(%rbp), %rdi
callq 0xac88
leaq -0x7e8(%rbp), %rdi
callq 0xac88
leaq -0x808(%rbp), %rdi
callq 0xac88
leaq -0x828(%rbp), %rdi
callq 0xac88
leaq -0x848(%rbp), %rdi
callq 0xac88
jmp 0xd6f78
jmp 0xd6f6a
leaq -0x3e8(%rbp), %rdi
callq 0x3dfa0
jmp 0xd6f89
leaq -0x3e8(%rbp), %rdi
callq 0x3dfa0
jmp 0xd759a
leaq -0x2a8(%rbp), %rdi
callq 0xa930
cmpq $0x2, %rax
jne 0xd6fbf
leaq -0x390(%rbp), %rdi
callq 0xa930
cmpq $0x1, %rax
jne 0xd6fbf
leaq -0x3b0(%rbp), %rdi
callq 0xa930
cmpq $0x1, %rax
je 0xd6fde
leaq -0x2a8(%rbp), %rdi
movl $0x2e, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0xa7a0
cmpq $-0x1, %rax
je 0xd7092
leaq -0x238(%rbp), %rdi
leaq -0x288(%rbp), %rsi
callq 0x6b400
movq %rax, -0xaa0(%rbp)
jmp 0xd6ffa
leaq -0x869(%rbp), %rdi
movq %rdi, -0xaa8(%rbp)
callq 0xab60
movq -0xaa8(%rbp), %rdx
leaq 0x63c77(%rip), %rsi     # 0x13ac92
leaq -0x868(%rbp), %rdi
callq 0x2d6c0
jmp 0xd7029
movq -0xaa0(%rbp), %rdi
leaq -0x868(%rbp), %rsi
callq 0x5f980
jmp 0xd703e
leaq -0x868(%rbp), %rdi
callq 0xac88
leaq -0x869(%rbp), %rdi
callq 0xa640
jmp 0xd73da
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd7081
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x868(%rbp), %rdi
callq 0xac88
leaq -0x869(%rbp), %rdi
callq 0xa640
jmp 0xd759a
leaq -0x268(%rbp), %rdi
movl $0x3, %esi
callq 0x3d940
movq %rax, -0xab8(%rbp)
leaq -0xf0(%rbp), %rdi
leaq -0x288(%rbp), %rsi
callq 0x6b400
movq %rax, -0xab0(%rbp)
jmp 0xd70c6
movq -0xab0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3d940
movq -0xab8(%rbp), %rdi
movq %rax, %rsi
callq 0x39210
testb $0x1, %al
jne 0xd70ee
jmp 0xd71a2
leaq -0x238(%rbp), %rdi
leaq -0x288(%rbp), %rsi
callq 0x6b400
movq %rax, -0xac0(%rbp)
jmp 0xd710a
leaq -0x891(%rbp), %rdi
movq %rdi, -0xac8(%rbp)
callq 0xab60
movq -0xac8(%rbp), %rdx
leaq 0x63b5f(%rip), %rsi     # 0x13ac8a
leaq -0x890(%rbp), %rdi
callq 0x2d6c0
jmp 0xd7139
movq -0xac0(%rbp), %rdi
leaq -0x890(%rbp), %rsi
callq 0x5f980
jmp 0xd714e
leaq -0x890(%rbp), %rdi
callq 0xac88
leaq -0x891(%rbp), %rdi
callq 0xa640
jmp 0xd73d8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd7191
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x890(%rbp), %rdi
callq 0xac88
leaq -0x891(%rbp), %rdi
callq 0xa640
jmp 0xd759a
leaq -0x268(%rbp), %rdi
movl $0x3, %esi
callq 0x3d940
movq %rax, -0xad8(%rbp)
leaq -0xf0(%rbp), %rdi
leaq -0x288(%rbp), %rsi
callq 0x6b400
movq %rax, -0xad0(%rbp)
jmp 0xd71d6
movq -0xad0(%rbp), %rdi
movl $0x1, %esi
callq 0x3d940
movq -0xad8(%rbp), %rdi
movq %rax, %rsi
callq 0x39210
testb $0x1, %al
jne 0xd71ff
jmp 0xd72b3
leaq -0x238(%rbp), %rdi
leaq -0x288(%rbp), %rsi
callq 0x6b400
movq %rax, -0xae0(%rbp)
jmp 0xd721b
leaq -0x8b9(%rbp), %rdi
movq %rdi, -0xae8(%rbp)
callq 0xab60
movq -0xae8(%rbp), %rdx
leaq 0x63a52(%rip), %rsi     # 0x13ac8e
leaq -0x8b8(%rbp), %rdi
callq 0x2d6c0
jmp 0xd724a
movq -0xae0(%rbp), %rdi
leaq -0x8b8(%rbp), %rsi
callq 0x5f980
jmp 0xd725f
leaq -0x8b8(%rbp), %rdi
callq 0xac88
leaq -0x8b9(%rbp), %rdi
callq 0xa640
jmp 0xd73d6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd72a2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x8b8(%rbp), %rdi
callq 0xac88
leaq -0x8b9(%rbp), %rdi
callq 0xa640
jmp 0xd759a
leaq 0x6f834(%rip), %rsi     # 0x146aee
leaq -0x2a8(%rbp), %rdi
callq 0x2d770
movb %al, -0xae9(%rbp)
jmp 0xd72ce
movb -0xae9(%rbp), %al
testb $0x1, %al
jne 0xd7304
jmp 0xd72da
leaq 0x722c0(%rip), %rsi     # 0x1495a1
leaq -0x2a8(%rbp), %rdi
callq 0x2d770
movb %al, -0xaea(%rbp)
jmp 0xd72f5
movb -0xaea(%rbp), %al
testb $0x1, %al
jne 0xd7304
jmp 0xd73b5
leaq -0x238(%rbp), %rdi
leaq -0x288(%rbp), %rsi
callq 0x6b400
movq %rax, -0xaf8(%rbp)
jmp 0xd7320
leaq -0x8e1(%rbp), %rdi
movq %rdi, -0xb00(%rbp)
callq 0xab60
movq -0xb00(%rbp), %rdx
leaq 0x63945(%rip), %rsi     # 0x13ac86
leaq -0x8e0(%rbp), %rdi
callq 0x2d6c0
jmp 0xd734f
movq -0xaf8(%rbp), %rdi
leaq -0x8e0(%rbp), %rsi
callq 0x5f980
jmp 0xd7364
leaq -0x8e0(%rbp), %rdi
callq 0xac88
leaq -0x8e1(%rbp), %rdi
callq 0xa640
jmp 0xd73d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd73a4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x8e0(%rbp), %rdi
callq 0xac88
leaq -0x8e1(%rbp), %rdi
callq 0xa640
jmp 0xd759a
leaq 0x62301(%rip), %rdi     # 0x1396bd
leaq 0x6f732(%rip), %rsi     # 0x146af5
movl $0x69, %edx
leaq 0x6f748(%rip), %rcx     # 0x146b17
callq 0xa390
jmp 0xd73d6
jmp 0xd73d8
jmp 0xd73da
leaq -0x1f0(%rbp), %rdi
callq 0xaa70
testb $0x1, %al
jne 0xd73ef
jmp 0xd74ae
leaq -0x1f0(%rbp), %rdi
leaq -0x288(%rbp), %rsi
callq 0xa060
jmp 0xd7404
leaq -0x909(%rbp), %rdi
movq %rdi, -0xb08(%rbp)
callq 0xab60
movq -0xb08(%rbp), %rdx
leaq 0x6f718(%rip), %rsi     # 0x146b3d
leaq -0x908(%rbp), %rdi
callq 0x2d6c0
jmp 0xd7433
leaq -0x208(%rbp), %rdi
leaq -0x908(%rbp), %rsi
callq 0x5f980
jmp 0xd7448
leaq -0x908(%rbp), %rdi
callq 0xac88
leaq -0x909(%rbp), %rdi
callq 0xa640
leaq -0x208(%rbp), %rdi
leaq -0x2c8(%rbp), %rsi
callq 0x48dc0
jmp 0xd7475
jmp 0xd74ed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd749d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x908(%rbp), %rdi
callq 0xac88
leaq -0x909(%rbp), %rdi
callq 0xa640
jmp 0xd759a
leaq -0x268(%rbp), %rdi
movl $0x5, %esi
callq 0x3d940
movq %rax, %rsi
leaq -0x1f0(%rbp), %rdi
callq 0x39210
testb $0x1, %al
jne 0xd74d4
jmp 0xd74eb
leaq -0x208(%rbp), %rdi
leaq -0x2c8(%rbp), %rsi
callq 0x48dc0
jmp 0xd74e9
jmp 0xd74eb
jmp 0xd74ed
leaq -0x928(%rbp), %rdi
leaq -0x288(%rbp), %rsi
movl $0x5f, %edx
callq 0x7bbe0
jmp 0xd7507
leaq -0x268(%rbp), %rdi
leaq -0x928(%rbp), %rsi
callq 0x50c30
leaq -0x928(%rbp), %rdi
callq 0x3dfa0
leaq -0x3d0(%rbp), %rdi
callq 0xac88
leaq -0x3b0(%rbp), %rdi
callq 0xac88
leaq -0x390(%rbp), %rdi
callq 0xac88
movl $0x0, -0x32c(%rbp)
leaq -0x2c8(%rbp), %rdi
callq 0xac88
leaq -0x2a8(%rbp), %rdi
callq 0xac88
leaq -0x288(%rbp), %rdi
callq 0xac88
leaq -0x268(%rbp), %rdi
callq 0x3dfa0
movl -0x32c(%rbp), %eax
testl %eax, %eax
je 0xd7595
jmp 0xd7590
jmp 0xd6088
jmp 0xd6088
leaq -0x3d0(%rbp), %rdi
callq 0xac88
leaq -0x3b0(%rbp), %rdi
callq 0xac88
leaq -0x390(%rbp), %rdi
callq 0xac88
leaq -0x2c8(%rbp), %rdi
callq 0xac88
leaq -0x2a8(%rbp), %rdi
callq 0xac88
leaq -0x288(%rbp), %rdi
callq 0xac88
leaq -0x268(%rbp), %rdi
callq 0x3dfa0
jmp 0xd77f1
movq -0x98(%rbp), %rdi
movq 0xc231f(%rip), %rsi     # 0x199920
callq 0xa5c0
jmp 0xd7608
leaq -0x940(%rbp), %rdi
leaq -0x208(%rbp), %rsi
callq 0x3fee0
jmp 0xd761d
movq -0x98(%rbp), %rsi
leaq -0x940(%rbp), %rdi
movl $0x9, %edx
movl $0x1, %ecx
callq 0x50da0
jmp 0xd763c
leaq -0x940(%rbp), %rdi
callq 0x3dfa0
leaq -0x238(%rbp), %rdi
callq 0x6c3d0
movq %rax, -0x948(%rbp)
leaq -0x238(%rbp), %rdi
callq 0x6c430
movq %rax, -0x950(%rbp)
leaq -0x948(%rbp), %rdi
leaq -0x950(%rbp), %rsi
callq 0x6c400
testb $0x1, %al
jne 0xd768a
jmp 0xd772a
leaq -0x948(%rbp), %rdi
callq 0x6c460
movq %rax, %rsi
addq $0x20, %rsi
leaq -0x968(%rbp), %rdi
callq 0x3fee0
jmp 0xd76ab
movq -0x98(%rbp), %rsi
leaq -0x968(%rbp), %rdi
movl $0x9, %edx
movl $0x1, %ecx
callq 0x50da0
jmp 0xd76ca
leaq -0x968(%rbp), %rdi
callq 0x3dfa0
leaq -0x948(%rbp), %rdi
xorl %esi, %esi
callq 0x6c480
movq %rax, -0x970(%rbp)
jmp 0xd765b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x940(%rbp), %rdi
callq 0x3dfa0
jmp 0xd77f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x968(%rbp), %rdi
callq 0x3dfa0
jmp 0xd77f1
leaq -0x988(%rbp), %rdi
leaq -0x208(%rbp), %rsi
callq 0x3fee0
jmp 0xd773f
movq -0xa0(%rbp), %rsi
leaq -0x988(%rbp), %rdi
movl $0xa, %edx
movl $0x1, %ecx
callq 0x50da0
jmp 0xd775e
leaq -0x988(%rbp), %rdi
callq 0x3dfa0
movl $0x1, -0x32c(%rbp)
leaq -0x250(%rbp), %rdi
callq 0x3dfa0
leaq -0x238(%rbp), %rdi
callq 0x58f00
leaq -0x208(%rbp), %rdi
callq 0x3dfa0
leaq -0x1f0(%rbp), %rdi
callq 0xac88
leaq -0xf0(%rbp), %rdi
callq 0x58f00
leaq -0xc0(%rbp), %rdi
callq 0xac88
leaq -0x70(%rbp), %rdi
callq 0xac88
leaq -0x30(%rbp), %rdi
callq 0xac88
xorl %eax, %eax
addq $0xb10, %rsp            # imm = 0xB10
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x988(%rbp), %rdi
callq 0x3dfa0
leaq -0x250(%rbp), %rdi
callq 0x3dfa0
leaq -0x238(%rbp), %rdi
callq 0x58f00
leaq -0x208(%rbp), %rdi
callq 0x3dfa0
leaq -0x1f0(%rbp), %rdi
callq 0xac88
leaq -0xf0(%rbp), %rdi
callq 0x58f00
leaq -0xc0(%rbp), %rdi
callq 0xac88
leaq -0x70(%rbp), %rdi
callq 0xac88
leaq -0x30(%rbp), %rdi
callq 0xac88
movq -0x38(%rbp), %rdi
callq 0xab50
nopw %cs:(%rax,%rax)