// File: millanek[P]evo/evo_PBS.cpp
// Function: PBSmain(int, char**)
int PBSmain(int argc, char** argv) {
    parsePBSoptions(argc, argv);
    string line; // for reading the input files
    
    // Load up the annotation file
    Annotation wgAnnotation; std::ifstream* annotFile;
    if (!opt::annotFile.empty()) {
        annotFile = new std::ifstream(opt::annotFile.c_str());
        Annotation Annot(annotFile, false); // Does not use transcripts annotated as 5' or 3' partial
        wgAnnotation = Annot;
    }
    
    std::istream* vcfFile = createReader(opt::vcfFile.c_str());
    std::ifstream* setsFile = new std::ifstream(opt::setsFile.c_str());
    std::ifstream* PBStriosFile = new std::ifstream(opt::PBStriosFile.c_str());
    
    std::map<string, std::vector<string>> popToIDsMap;
    std::map<string, string> IDsToPopMap;
    std::map<string, std::vector<size_t>> popToPosMap;
    std::map<size_t, string> posToPopMap;
    
    // Get the sample sets
    while (getline(*setsFile, line)) {
        // std::cerr << line << std::endl;
        std::vector<string> ID_Pop = split(line, '\t');
        popToIDsMap[ID_Pop[1]].push_back(ID_Pop[0]);
        IDsToPopMap[ID_Pop[0]] = ID_Pop[1];
        //std::cerr << ID_Species[1] << "\t" << ID_Species[0] << std::endl;
    }
    // Get a vector of set names (usually populations/species)
    std::vector<string> populations;
    for(std::map<string,std::vector<string>>::iterator it = popToIDsMap.begin(); it != popToIDsMap.end(); ++it) {
        populations.push_back(it->first);
        // std::cerr << it->first << std::endl;
    } std::cerr << "There are " << populations.size() << " populations " << std::endl;
    
    // Get the PBS trios
    std::vector<std::ofstream*> outFiles;
    std::vector<std::ofstream*> outFilesFixedWindow;
    std::vector<std::ofstream*> outFilesGenes;
    std::vector<std::vector<string> > PBStrios;
    while (getline(*PBStriosFile,line)) {
        // std::cerr << line << std::endl;
        std::vector<string> threePops = split(line, '\t'); assert(threePops.size() == 3);
        std::ofstream* outFile = new std::ofstream(threePops[0] + "_" + threePops[1] + "_" + threePops[2]+ "_PBS_" + opt::runName + "_" + numToString(opt::windowSize) + "_" + numToString(opt::windowStep) + ".txt");
        std::ofstream* outFileFixedWindow = new std::ofstream(threePops[0] + "_" + threePops[1] + "_" + threePops[2]+ "_PBS_" + opt::runName + "_FW" + numToString(opt::fixedWindowSize) + ".txt");
        *outFile << "chr\twStart\twEnd\t" << threePops[0] << "\t" << threePops[1] << "\t" << threePops[2] << std::endl;
        *outFileFixedWindow << "chr\twStart\twEnd\t" << threePops[0] << "\t" << threePops[1] << "\t" << threePops[2] << "\t" << "nFwSNPs1" << "\t" << "nFwSNPs2" << "\t" << "nFwSNPs3" << std::endl;
        //outFile->setf(std::ios_base::fixed); // Avoid scientific notation in the coordinates
        outFiles.push_back(outFile); outFilesFixedWindow.push_back(outFileFixedWindow);
        if (!opt::annotFile.empty()) {
            std::ofstream* outFileGenes = new std::ofstream(threePops[0] + "_" + threePops[1] + "_" + threePops[2]+ "_PBSGenes_" + opt::runName + "_" + numToString(opt::windowSize) + "_" + numToString(opt::windowStep) + ".txt");
           // *outFileGenes << "gene\t" << "numSNPsExons\t" << "numSNPsWithIntrons\t" << "numSNPsWith3kbUpstr\t" << threePops[0] << "_exons\t" << threePops[1] << "_exons\t" << threePops[2] << "_exons\t" << threePops[0] << "_wIntrons\t" << threePops[1] << "_wIntrons\t" << threePops[2] << "_wIntrons\t" << threePops[0] << "_w3kbUpstr\t" << threePops[1] << "_w3kbUpstr\t" << threePops[2] << "_w3kbUpstr" << std::endl;
            *outFileGenes << "gene\t" << "numSNPsExons\tnumSNPsIntrons\tnumSNPs3kbPromoter\t" << threePops[0] << "_exons\t" << threePops[1] << "_exons\t" << threePops[2] << "_exons\t" << threePops[0] << "_wIntrons\t" << threePops[1] << "_wIntrons\t" << threePops[2] << "_wIntrons\t" << threePops[0] << "_promoter\t" << threePops[1] << "_promoter\t" << threePops[2] << "_promoter" << std::endl;
            outFilesGenes.push_back(outFileGenes);
        }
        PBStrios.push_back(threePops);
    }
    
    // And need to prepare the vectors to hold the PBS values and the coordinates:
    std::deque<double> initDeq(opt::windowSize,0.0); // deque to initialise per-site PBS values
    std::vector<std::deque<double>> initThreeDeques(4,initDeq); // vector of three per-site PBS deques - for each population in the trio, and the fourth is for the coordinates
    std::vector<std::vector<std::deque<double>>> PBSresults(PBStrios.size(),initThreeDeques);
    // Fixed window size vectors:
    std::vector<std::vector<double>> initVectorFixed(3);
    std::vector<std::vector<std::vector<double>>> PBSfixedWindowResults(PBStrios.size(),initVectorFixed);
    int currentWindowStart = 0; int currentWindowEnd = currentWindowStart + opt::fixedWindowSize;
    
    // if (!opt::annotFile.empty()) {
    std::vector<std::vector<double>> initGeneVectors(9); // For the nine PBS columns in the _PBSGenes_ files
    std::vector<std::vector<std::vector<double>>> PBSgeneResults(PBStrios.size(),initGeneVectors);
    std::string currentGene = ""; std::string previousGene = "";
    //}
    //std::deque<std::vector<double>> regionPBSnums; regionPBSnums.assign(opt::windowSize,init);
    //std::deque<std::vector<double>> regionPBSdenoms; regionPBSdenoms.assign(opt::windowSize,init);
    //std::vector<double> allPs(populations.size(),0.0);
    int totalVariantNumber = 0;
    std::vector<int> usedVars(PBStrios.size(),0); // Will count the number of used variants for each trio
    std::vector<string> sampleNames; std::vector<std::string> fields;
    int reportProgressEvery = 1000; string chr; string coord; double coordDouble;
    std::clock_t start; std::clock_t startGettingCounts; std::clock_t startCalculation;
    double durationOverall; double durationGettingCounts; double durationCalculation;
    
    while (getline(*vcfFile, line)) {
        line.erase(std::remove(line.begin(), line.end(), '\r'), line.end()); // Deal with any left over \r from files prepared on Windows
        if (line[0] == '#' && line[1] == '#')
            continue;
        else if (line[0] == '#' && line[1] == 'C') {
            fields = split(line, '\t');
            std::vector<std::string> sampleNames(fields.begin()+NUM_NON_GENOTYPE_COLUMNS,fields.end());
            // print_vector_stream(sampleNames, std::cerr);
            for (std::vector<std::string>::size_type i = 0; i != sampleNames.size(); i++) {
                posToPopMap[i] = IDsToPopMap[sampleNames[i]];
            }
            // Iterate over all the keys in the map to find the samples in the VCF:
            // Give an error if no sample is found for a species:
            for(std::map<string, std::vector<string>>::iterator it = popToIDsMap.begin(); it != popToIDsMap.end(); ++it) {
                string sp =  it->first;
                //std::cerr << "sp " << sp << std::endl;
                std::vector<string> IDs = it->second;
                std::vector<size_t> spPos = locateSet(sampleNames, IDs);
                if (spPos.empty()) {
                    std::cerr << "Did not find any samples in the VCF for \"" << sp << "\"" << std::endl;
                    assert(!spPos.empty());
                }
                popToPosMap[sp] = spPos;
            }
            start = std::clock();
            //  std::cerr << " " << std::endl;
            //  std::cerr << "Outgroup at pos: "; print_vector_stream(speciesToPosMap["Outgroup"], std::cerr);
            //  std::cerr << "telvit at pos: "; print_vector_stream(speciesToPosMap["telvit"], std::cerr);
        } else {
            totalVariantNumber++;
            if (totalVariantNumber % reportProgressEvery == 0) {
                durationOverall = ( std::clock() - start ) / (double) CLOCKS_PER_SEC;
                std::cerr << "Processed " << totalVariantNumber << " variants in " << durationOverall << "secs" << std::endl;
                std::cerr << "GettingCounts " << durationGettingCounts << " calculation " << durationCalculation << "secs" << std::endl;
            }
            fields = split(line, '\t'); chr = fields[0]; coord = fields[1]; coordDouble = stringToDouble(coord);
            std::vector<std::string> genotypes(fields.begin()+NUM_NON_GENOTYPE_COLUMNS,fields.end());
            
            // Only consider biallelic SNPs
            string refAllele = fields[3]; string altAllele = fields[4]; bool ignoreSite = false;
            if (altAllele == "*") ignoreSite = true;
            if (!opt::allowIndels) {
                if (refAllele.length() > 1 || altAllele.length() > 1) ignoreSite = true;
            }
            if (ignoreSite) {
                refAllele.clear(); refAllele.shrink_to_fit(); altAllele.clear(); altAllele.shrink_to_fit();
                genotypes.clear(); genotypes.shrink_to_fit(); continue;
            }
            
            startGettingCounts = std::clock();
            GeneralSetCounts* c = new GeneralSetCounts(popToPosMap, (int)genotypes.size());
            c->getSetVariantCountsSimple(genotypes, posToPopMap);
            genotypes.clear(); genotypes.shrink_to_fit();
            durationGettingCounts = ( std::clock() - startGettingCounts ) / (double) CLOCKS_PER_SEC;
            // std::cerr << "Here:" << totalVariantNumber << std::endl;
            if (opt::af) {
                std::ofstream* outFileAF = new std::ofstream(stripExtension(opt::setsFile) + "_AF" + ".txt");
                *outFileAF << chr << "\t" << coord << "\t" << refAllele << "\t" << altAllele;
                for(std::map<string,double>::iterator iter =  c->setAAFs.begin(); iter != c->setAAFs.end(); ++iter) {
                    *outFileAF << "\t" << iter->second;
                }
                *outFileAF << "\n";
            }
            
            startCalculation = std::clock();
            
            
           // for (std::vector<std::string>::size_type i = 0; i != populations.size(); i++) {
           //     allPs[i] = c->setAAFs.at(populations[i]);
           // }
            // durationFirstLoop = ( std::clock() - startCalculation ) / (double) CLOCKS_PER_SEC;
            
            // find if we are in a gene:
            std::vector<string> SNPgeneDetails = wgAnnotation.getSNPgeneDetails(chr, atoi(coord.c_str()));
            if (SNPgeneDetails[0] != "") {
                currentGene = SNPgeneDetails[0];
                if (previousGene == "") previousGene = currentGene;
            }
            
            // Check if we are still in the same physical window...
            if (coordDouble > currentWindowEnd || coordDouble < currentWindowStart) {
                for (int i = 0; i != PBStrios.size(); i++) {
                    int nFwSNPs1 = (int)PBSfixedWindowResults[i][0].size(); int nFwSNPs2 = (int)PBSfixedWindowResults[i][1].size(); int nFwSNPs3 = (int)PBSfixedWindowResults[i][2].size();
                    double PBSfw1 = 0; if (nFwSNPs1 > 0) { PBSfw1 = vector_average(PBSfixedWindowResults[i][0]); }
                    double PBSfw2 = 0; if (nFwSNPs2 > 0) { PBSfw2 = vector_average(PBSfixedWindowResults[i][1]); }
                    double PBSfw3 = 0; if (nFwSNPs3 > 0) { PBSfw3 = vector_average(PBSfixedWindowResults[i][2]); }
                    *outFilesFixedWindow[i] << chr << "\t" << currentWindowStart << "\t" << currentWindowEnd << "\t" << PBSfw1 << "\t" << PBSfw2 << "\t" << PBSfw3 << "\t" << nFwSNPs1 << "\t" << nFwSNPs2 << "\t" << nFwSNPs3 << std::endl;
                    PBSfixedWindowResults[i][0].clear(); PBSfixedWindowResults[i][1].clear(); PBSfixedWindowResults[i][2].clear();
                }
                if (coordDouble > currentWindowEnd) {
                    currentWindowStart = currentWindowStart + opt::fixedWindowSize; currentWindowEnd = currentWindowEnd + opt::fixedWindowSize;
                } else if (coordDouble < currentWindowStart) {
                    currentWindowStart = 0; currentWindowEnd = 0 + opt::fixedWindowSize;
                }
            }
            
            // std::cerr << coord << "\t";
            // print_vector_stream(SNPgeneDetails, std::cerr);
            // Now calculate the PBS stats:
            double p1; double p2; double p3;
            for (int i = 0; i != PBStrios.size(); i++) {
                p1 = c->setAAFs.at(PBStrios[i][0]); //assert(p_S1 == pS1test);
                if (p1 == -1) continue;  // If any member of the trio has entirely missing data, just move on to the next trio
                p2 = c->setAAFs.at(PBStrios[i][1]); //assert(p_S2 == pS2test);
                if (p2 == -1) continue;
                p3 = c->setAAFs.at(PBStrios[i][2]); // assert(p_S3 == pS3test);
                if (p3 == -1) continue;
                
                if (p1 == 0 && p2 == 0 && p3 == 0) { continue; }
                if (p1 == 1 && p2 == 1 && p3 == 1) { continue; }
                usedVars[i]++;
                
                std::vector<double> thisSNP_PBS = calculatePBSfromAFs(p1,p2,p3,
                                                                      c->setAlleleCounts.at(PBStrios[i][0]),
                                                                      c->setAlleleCounts.at(PBStrios[i][1]),
                                                                      c->setAlleleCounts.at(PBStrios[i][2]));
                
                PBSresults[i][0].push_back(thisSNP_PBS[0]); PBSresults[i][1].push_back(thisSNP_PBS[1]); PBSresults[i][2].push_back(thisSNP_PBS[2]);
                PBSresults[i][3].push_back(stringToDouble(coord));
                PBSresults[i][0].pop_front(); PBSresults[i][1].pop_front(); PBSresults[i][2].pop_front(); PBSresults[i][3].pop_front();
                
                
                PBSfixedWindowResults[i][0].push_back(thisSNP_PBS[0]); PBSfixedWindowResults[i][1].push_back(thisSNP_PBS[1]); PBSfixedWindowResults[i][2].push_back(thisSNP_PBS[2]);
                
                if (!opt::annotFile.empty()) { if (SNPgeneDetails[0] != "") {
                    if (SNPgeneDetails[1] == "exon") {
                        PBSgeneResults[i][0].push_back(thisSNP_PBS[0]); PBSgeneResults[i][1].push_back(thisSNP_PBS[1]); PBSgeneResults[i][2].push_back(thisSNP_PBS[2]);
                    } else if (SNPgeneDetails[1] == "intron") {
                        PBSgeneResults[i][3].push_back(thisSNP_PBS[0]); PBSgeneResults[i][4].push_back(thisSNP_PBS[1]); PBSgeneResults[i][5].push_back(thisSNP_PBS[2]);
                    } else if (SNPgeneDetails[1] == "promoter") {
                        PBSgeneResults[i][6].push_back(thisSNP_PBS[0]); PBSgeneResults[i][7].push_back(thisSNP_PBS[1]); PBSgeneResults[i][8].push_back(thisSNP_PBS[2]);
                    }
                }}
                if (usedVars[i] > opt::windowSize && (usedVars[i] % opt::windowStep == 0)) {
                    // std::cerr << PBSresults[i][0][0] << std::endl;
                    *outFiles[i] << chr << "\t" << (int)PBSresults[i][3][0] << "\t" << coord << "\t" << vector_average(PBSresults[i][0]) << "\t" << vector_average(PBSresults[i][1]) << "\t" << vector_average(PBSresults[i][2]) << std::endl;
                }
                // }
            }
            if (!opt::annotFile.empty()) { if (previousGene != "" && currentGene != previousGene) {
                for (int i = 0; i != PBStrios.size(); i++) {
                    int nExonSNPs = (int)PBSgeneResults[i][0].size(); int nIntronSNPs = (int)PBSgeneResults[i][3].size(); int nPromoterSNPs = (int)PBSgeneResults[i][6].size();
                    double ExonPBS1 = 0; double ExonPBS2 = 0; double ExonPBS3 = 0;
                    if (nExonSNPs > 0) { ExonPBS1 = vector_average(PBSgeneResults[i][0]); ExonPBS2 = vector_average(PBSgeneResults[i][1]); ExonPBS3 = vector_average(PBSgeneResults[i][2]);}
                    double IntronPBS1 = 0; double IntronPBS2 = 0; double IntronPBS3 = 0;
                    if (nIntronSNPs > 0) { IntronPBS1 = vector_average(PBSgeneResults[i][3]); IntronPBS2 = vector_average(PBSgeneResults[i][4]); IntronPBS3 = vector_average(PBSgeneResults[i][5]);}
                    double PromoterPBS1 = 0; double PromoterPBS2 = 0; double PromoterPBS3 = 0;
                    if (nPromoterSNPs > 0) { PromoterPBS1 = vector_average(PBSgeneResults[i][6]); PromoterPBS2 = vector_average(PBSgeneResults[i][7]); PromoterPBS3 = vector_average(PBSgeneResults[i][8]);}
                    *outFilesGenes[i] << previousGene << "\t" << nExonSNPs << "\t" << nIntronSNPs << "\t" << nPromoterSNPs << "\t" << ExonPBS1 << "\t" << ExonPBS2 << "\t" << ExonPBS3 << "\t" << IntronPBS1 << "\t" << IntronPBS2 << "\t" << IntronPBS3 << "\t" << PromoterPBS1 << "\t" << PromoterPBS2 << "\t" << PromoterPBS3 << std::endl;
                    for (int j = 0; j <= 8; j++) { PBSgeneResults[i][j].clear(); }
                }
                previousGene = currentGene;
            }}
            
            
            durationCalculation = ( std::clock() - startCalculation ) / (double) CLOCKS_PER_SEC;
            delete c;
        }
    }
    
    return 0;
    
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1760, %rsp           # imm = 0x1760
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rsi
callq 0xff5b0
leaq -0x30(%rbp), %rdi
callq 0xa820
leaq -0xf0(%rbp), %rdi
callq 0xe2ed0
jmp 0xfa935
leaq 0xa09b4(%rip), %rdi     # 0x19b2f0
callq 0xaa70
testb $0x1, %al
jne 0xfaa3f
movl $0x208, %edi            # imm = 0x208
callq 0xa5d0
movq %rax, -0xfc8(%rbp)
jmp 0xfa95c
leaq 0xa098d(%rip), %rdi     # 0x19b2f0
callq 0xa220
movq -0xfc8(%rbp), %rdi
movq %rax, %rsi
movl $0x8, %edx
callq 0xab90
jmp 0xfa97e
movq -0xfc8(%rbp), %rax
movq %rax, -0x108(%rbp)
leaq -0x1c8(%rbp), %rdi
leaq -0x108(%rbp), %rsi
xorl %edx, %edx
callq 0x58390
jmp 0xfa9a3
leaq -0xf0(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
callq 0xe2f20
jmp 0xfa9b8
leaq -0x1c8(%rbp), %rdi
callq 0x588b0
jmp 0xfaa3f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xff597
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xff58b
movq -0xfc8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
movl $0x208, %esi            # imm = 0x208
callq 0xa5e0
jmp 0xff58b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x1c8(%rbp), %rdi
callq 0x588b0
jmp 0xff58b
leaq 0xa084a(%rip), %rdi     # 0x19b290
callq 0xa220
movq %rax, -0xfd8(%rbp)
leaq -0x1f1(%rbp), %rdi
movq %rdi, -0xfd0(%rbp)
callq 0xab60
movq -0xfd8(%rbp), %rsi
movq -0xfd0(%rbp), %rdx
leaq -0x1f0(%rbp), %rdi
callq 0x2d6c0
jmp 0xfaa81
leaq -0x1f0(%rbp), %rdi
movl $0x8, %esi
callq 0x80e30
movq %rax, -0xfe0(%rbp)
jmp 0xfaa9b
leaq -0x1f0(%rbp), %rdi
callq 0xac88
leaq -0x1f1(%rbp), %rdi
callq 0xa640
movq -0xfe0(%rbp), %rax
movq %rax, -0x1d0(%rbp)
movl $0x208, %edi            # imm = 0x208
callq 0xa5d0
movq %rax, -0xfe8(%rbp)
jmp 0xfaad4
leaq 0xa07d5(%rip), %rdi     # 0x19b2b0
callq 0xa220
movq -0xfe8(%rbp), %rdi
movq %rax, %rsi
movl $0x8, %edx
callq 0xab90
jmp 0xfaaf6
movq -0xfe8(%rbp), %rax
movq %rax, -0x200(%rbp)
movl $0x208, %edi            # imm = 0x208
callq 0xa5d0
movq %rax, -0xff0(%rbp)
jmp 0xfab17
leaq 0xa07b2(%rip), %rdi     # 0x19b2d0
callq 0xa220
movq -0xff0(%rbp), %rdi
movq %rax, %rsi
movl $0x8, %edx
callq 0xab90
jmp 0xfab39
movq -0xff0(%rbp), %rax
movq %rax, -0x208(%rbp)
leaq -0x238(%rbp), %rdi
callq 0x58920
leaq -0x268(%rbp), %rdi
callq 0x584b0
leaq -0x298(%rbp), %rdi
callq 0x951b0
leaq -0x2c8(%rbp), %rdi
callq 0x951d0
movq -0x200(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0xa0d0
movq %rax, -0xff8(%rbp)
jmp 0xfab90
movq -0xff8(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0xa740
movb %al, -0xff9(%rbp)
jmp 0xfabae
movb -0xff9(%rbp), %al
testb $0x1, %al
jne 0xfabbd
jmp 0xfad58
leaq -0x2e0(%rbp), %rdi
leaq -0x30(%rbp), %rsi
movl $0x9, %edx
callq 0x7bbe0
jmp 0xfabd4
leaq -0x2e0(%rbp), %rdi
movl $0x1, %esi
callq 0x3d940
movq %rax, %rsi
leaq -0x238(%rbp), %rdi
callq 0x6b400
movq %rax, -0x1008(%rbp)
jmp 0xfabfd
xorl %eax, %eax
movl %eax, %esi
leaq -0x2e0(%rbp), %rdi
callq 0x3d940
movq -0x1008(%rbp), %rdi
movq %rax, %rsi
callq 0x48dc0
jmp 0xfac1e
leaq -0x2e0(%rbp), %rdi
movq %rdi, -0x1020(%rbp)
movl $0x1, %esi
callq 0x3d940
movq -0x1020(%rbp), %rdi
movq %rax, -0x1018(%rbp)
xorl %eax, %eax
movl %eax, %esi
callq 0x3d940
movq %rax, %rsi
leaq -0x268(%rbp), %rdi
callq 0x584d0
movq %rax, -0x1010(%rbp)
jmp 0xfac65
movq -0x1018(%rbp), %rsi
movq -0x1010(%rbp), %rdi
callq 0xa060
jmp 0xfac7a
leaq -0x2e0(%rbp), %rdi
callq 0x3dfa0
jmp 0xfab77
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfacbd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x1f0(%rbp), %rdi
callq 0xac88
leaq -0x1f1(%rbp), %rdi
callq 0xa640
jmp 0xff58b
movq -0xfe8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
movl $0x208, %esi            # imm = 0x208
callq 0xa5e0
jmp 0xff58b
movq -0xff0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
movl $0x208, %esi            # imm = 0x208
callq 0xa5e0
jmp 0xff58b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xff55b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x2e0(%rbp), %rdi
callq 0x3dfa0
jmp 0xff55b
leaq -0x2f8(%rbp), %rdi
callq 0x48da0
leaq -0x238(%rbp), %rdi
callq 0x6c3d0
movq %rax, -0x300(%rbp)
leaq -0x238(%rbp), %rdi
callq 0x6c430
movq %rax, -0x308(%rbp)
leaq -0x300(%rbp), %rdi
leaq -0x308(%rbp), %rsi
callq 0x6c400
testb $0x1, %al
jne 0xfada3
jmp 0xfade7
leaq -0x300(%rbp), %rdi
callq 0x6c460
movq %rax, %rsi
leaq -0x2f8(%rbp), %rdi
callq 0x48dc0
jmp 0xfadc0
jmp 0xfadc2
leaq -0x300(%rbp), %rdi
callq 0x71fc0
jmp 0xfad77
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xff54f
movq 0x9e202(%rip), %rdi     # 0x198ff0
leaq 0x53c08(%rip), %rsi     # 0x14e9fd
callq 0xa5c0
movq %rax, -0x1028(%rbp)
jmp 0xfae03
leaq -0x2f8(%rbp), %rdi
callq 0x3ffd0
movq -0x1028(%rbp), %rdi
movq %rax, %rsi
callq 0xa140
movq %rax, -0x1030(%rbp)
jmp 0xfae27
movq -0x1030(%rbp), %rdi
leaq 0x4193f(%rip), %rsi     # 0x13c774
callq 0xa5c0
movq %rax, -0x1038(%rbp)
jmp 0xfae43
movq -0x1038(%rbp), %rdi
movq 0x9e137(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xfae58
leaq -0x320(%rbp), %rdi
callq 0xffa70
leaq -0x338(%rbp), %rdi
callq 0xffa70
leaq -0x350(%rbp), %rdi
callq 0xffa70
leaq -0x368(%rbp), %rdi
callq 0x3f5f0
movq -0x208(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0xa0d0
movq %rax, -0x1040(%rbp)
jmp 0xfaea1
movq -0x1040(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0xa740
movb %al, -0x1041(%rbp)
jmp 0xfaebf
movb -0x1041(%rbp), %al
testb $0x1, %al
jne 0xfaece
jmp 0xfc11d
leaq -0x380(%rbp), %rdi
leaq -0x30(%rbp), %rsi
movl $0x9, %edx
callq 0x7bbe0
jmp 0xfaee5
leaq -0x380(%rbp), %rdi
callq 0x3ffd0
cmpq $0x3, %rax
jne 0xfaef9
jmp 0xfaf2f
leaq 0x50c80(%rip), %rdi     # 0x14bb80
leaq 0x50c8f(%rip), %rsi     # 0x14bb96
movl $0xa9, %edx
leaq 0x50c8f(%rip), %rcx     # 0x14bba2
callq 0xa390
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xff51f
movl $0x200, %edi            # imm = 0x200
callq 0xa5d0
movq %rax, -0x1050(%rbp)
jmp 0xfaf42
movb $0x1, -0x529(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x380(%rbp), %rdi
callq 0x3d940
movq %rax, %rsi
leaq 0x44e2d(%rip), %rdx     # 0x13fd90
leaq -0x4e8(%rbp), %rdi
callq 0x3da80
jmp 0xfaf71
leaq -0x380(%rbp), %rdi
movl $0x1, %esi
callq 0x3d940
movq %rax, %rdx
leaq -0x4c8(%rbp), %rdi
leaq -0x4e8(%rbp), %rsi
callq 0x3da30
jmp 0xfaf9a
leaq 0x44def(%rip), %rdx     # 0x13fd90
leaq -0x4a8(%rbp), %rdi
leaq -0x4c8(%rbp), %rsi
callq 0x3e020
jmp 0xfafb6
leaq -0x380(%rbp), %rdi
movl $0x2, %esi
callq 0x3d940
movq %rax, %rdx
leaq -0x488(%rbp), %rdi
leaq -0x4a8(%rbp), %rsi
callq 0x3da30
jmp 0xfafdf
leaq 0x50bd6(%rip), %rdx     # 0x14bbbc
leaq -0x468(%rbp), %rdi
leaq -0x488(%rbp), %rsi
callq 0x3e020
jmp 0xfaffb
leaq 0xa030e(%rip), %rdx     # 0x19b310
leaq -0x448(%rbp), %rdi
leaq -0x468(%rbp), %rsi
callq 0x3da30
jmp 0xfb017
leaq 0x44d72(%rip), %rdx     # 0x13fd90
leaq -0x428(%rbp), %rdi
leaq -0x448(%rbp), %rsi
callq 0x3e020
jmp 0xfb033
movl 0x9e99f(%rip), %esi     # 0x1999d8
leaq -0x508(%rbp), %rdi
callq 0x3e190
jmp 0xfb047
leaq -0x408(%rbp), %rdi
leaq -0x428(%rbp), %rsi
leaq -0x508(%rbp), %rdx
callq 0x3e070
jmp 0xfb063
leaq 0x44d26(%rip), %rdx     # 0x13fd90
leaq -0x3e8(%rbp), %rdi
leaq -0x408(%rbp), %rsi
callq 0x3e020
jmp 0xfb07f
movl 0x9e957(%rip), %esi     # 0x1999dc
leaq -0x528(%rbp), %rdi
callq 0x3e190
jmp 0xfb093
leaq -0x3c8(%rbp), %rdi
leaq -0x3e8(%rbp), %rsi
leaq -0x528(%rbp), %rdx
callq 0x3e070
jmp 0xfb0af
leaq 0x4e4f1(%rip), %rdx     # 0x1495a7
leaq -0x3a8(%rbp), %rdi
leaq -0x3c8(%rbp), %rsi
callq 0x3e020
jmp 0xfb0cb
movq -0x1050(%rbp), %rdi
leaq -0x3a8(%rbp), %rsi
movl $0x10, %edx
callq 0xac00
jmp 0xfb0e5
movb $0x0, -0x529(%rbp)
leaq -0x3a8(%rbp), %rdi
callq 0xac88
leaq -0x3c8(%rbp), %rdi
callq 0xac88
leaq -0x528(%rbp), %rdi
callq 0xac88
leaq -0x3e8(%rbp), %rdi
callq 0xac88
leaq -0x408(%rbp), %rdi
callq 0xac88
leaq -0x508(%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
movq -0x1050(%rbp), %rax
movq %rax, -0x388(%rbp)
movl $0x200, %edi            # imm = 0x200
callq 0xa5d0
movq %rax, -0x1058(%rbp)
jmp 0xfb1a9
movb $0x1, -0x679(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x380(%rbp), %rdi
callq 0x3d940
movq %rax, %rsi
leaq 0x44bc6(%rip), %rdx     # 0x13fd90
leaq -0x658(%rbp), %rdi
callq 0x3da80
jmp 0xfb1d8
leaq -0x380(%rbp), %rdi
movl $0x1, %esi
callq 0x3d940
movq %rax, %rdx
leaq -0x638(%rbp), %rdi
leaq -0x658(%rbp), %rsi
callq 0x3da30
jmp 0xfb201
leaq 0x44b88(%rip), %rdx     # 0x13fd90
leaq -0x618(%rbp), %rdi
leaq -0x638(%rbp), %rsi
callq 0x3e020
jmp 0xfb21d
leaq -0x380(%rbp), %rdi
movl $0x2, %esi
callq 0x3d940
movq %rax, %rdx
leaq -0x5f8(%rbp), %rdi
leaq -0x618(%rbp), %rsi
callq 0x3da30
jmp 0xfb246
leaq 0x5096f(%rip), %rdx     # 0x14bbbc
leaq -0x5d8(%rbp), %rdi
leaq -0x5f8(%rbp), %rsi
callq 0x3e020
jmp 0xfb262
leaq 0xa00a7(%rip), %rdx     # 0x19b310
leaq -0x5b8(%rbp), %rdi
leaq -0x5d8(%rbp), %rsi
callq 0x3da30
jmp 0xfb27e
leaq 0x510f0(%rip), %rdx     # 0x14c375
leaq -0x598(%rbp), %rdi
leaq -0x5b8(%rbp), %rsi
callq 0x3e020
jmp 0xfb29a
movl 0x9e740(%rip), %esi     # 0x1999e0
leaq -0x678(%rbp), %rdi
callq 0x3e190
jmp 0xfb2ae
leaq -0x578(%rbp), %rdi
leaq -0x598(%rbp), %rsi
leaq -0x678(%rbp), %rdx
callq 0x3e070
jmp 0xfb2ca
leaq 0x4e2d6(%rip), %rdx     # 0x1495a7
leaq -0x558(%rbp), %rdi
leaq -0x578(%rbp), %rsi
callq 0x3e020
jmp 0xfb2e6
movq -0x1058(%rbp), %rdi
leaq -0x558(%rbp), %rsi
movl $0x10, %edx
callq 0xac00
jmp 0xfb300
movb $0x0, -0x679(%rbp)
leaq -0x558(%rbp), %rdi
callq 0xac88
leaq -0x578(%rbp), %rdi
callq 0xac88
leaq -0x678(%rbp), %rdi
callq 0xac88
leaq -0x598(%rbp), %rdi
callq 0xac88
leaq -0x5b8(%rbp), %rdi
callq 0xac88
leaq -0x5d8(%rbp), %rdi
callq 0xac88
leaq -0x5f8(%rbp), %rdi
callq 0xac88
leaq -0x618(%rbp), %rdi
callq 0xac88
leaq -0x638(%rbp), %rdi
callq 0xac88
leaq -0x658(%rbp), %rdi
callq 0xac88
movq -0x1058(%rbp), %rax
movq %rax, -0x538(%rbp)
movq -0x388(%rbp), %rdi
leaq 0x50827(%rip), %rsi     # 0x14bbc2
callq 0xa5c0
movq %rax, -0x1060(%rbp)
jmp 0xfb3a9
xorl %eax, %eax
movl %eax, %esi
leaq -0x380(%rbp), %rdi
callq 0x3d940
movq -0x1060(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1068(%rbp)
jmp 0xfb3d1
movq -0x1068(%rbp), %rdi
leaq 0x3aaff(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1070(%rbp)
jmp 0xfb3ed
leaq -0x380(%rbp), %rdi
movl $0x1, %esi
callq 0x3d940
movq -0x1070(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1078(%rbp)
jmp 0xfb416
movq -0x1078(%rbp), %rdi
leaq 0x3aaba(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1080(%rbp)
jmp 0xfb432
leaq -0x380(%rbp), %rdi
movl $0x2, %esi
callq 0x3d940
movq -0x1080(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1088(%rbp)
jmp 0xfb45b
movq -0x1088(%rbp), %rdi
movq 0x9db1f(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xfb470
movq -0x538(%rbp), %rdi
leaq 0x50744(%rip), %rsi     # 0x14bbc2
callq 0xa5c0
movq %rax, -0x1090(%rbp)
jmp 0xfb48c
xorl %eax, %eax
movl %eax, %esi
leaq -0x380(%rbp), %rdi
callq 0x3d940
movq -0x1090(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1098(%rbp)
jmp 0xfb4b4
movq -0x1098(%rbp), %rdi
leaq 0x3aa1c(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x10a0(%rbp)
jmp 0xfb4d0
leaq -0x380(%rbp), %rdi
movl $0x1, %esi
callq 0x3d940
movq -0x10a0(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x10a8(%rbp)
jmp 0xfb4f9
movq -0x10a8(%rbp), %rdi
leaq 0x3a9d7(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x10b0(%rbp)
jmp 0xfb515
leaq -0x380(%rbp), %rdi
movl $0x2, %esi
callq 0x3d940
movq -0x10b0(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x10b8(%rbp)
jmp 0xfb53e
movq -0x10b8(%rbp), %rdi
leaq 0x3a992(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x10c0(%rbp)
jmp 0xfb55a
movq -0x10c0(%rbp), %rdi
leaq 0x5066b(%rip), %rsi     # 0x14bbd3
callq 0xa5c0
movq %rax, -0x10c8(%rbp)
jmp 0xfb576
movq -0x10c8(%rbp), %rdi
leaq 0x3a95a(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x10d0(%rbp)
jmp 0xfb592
movq -0x10d0(%rbp), %rdi
leaq 0x5063c(%rip), %rsi     # 0x14bbdc
callq 0xa5c0
movq %rax, -0x10d8(%rbp)
jmp 0xfb5ae
movq -0x10d8(%rbp), %rdi
leaq 0x3a922(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x10e0(%rbp)
jmp 0xfb5ca
movq -0x10e0(%rbp), %rdi
leaq 0x5060d(%rip), %rsi     # 0x14bbe5
callq 0xa5c0
movq %rax, -0x10e8(%rbp)
jmp 0xfb5e6
movq -0x10e8(%rbp), %rdi
movq 0x9d994(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xfb5fb
leaq -0x320(%rbp), %rdi
leaq -0x388(%rbp), %rsi
callq 0xffa90
jmp 0xfb610
leaq -0x338(%rbp), %rdi
leaq -0x538(%rbp), %rsi
callq 0xffa90
jmp 0xfb625
leaq 0x9fcc4(%rip), %rdi     # 0x19b2f0
callq 0xaa70
testb $0x1, %al
jne 0xfc0e6
movl $0x200, %edi            # imm = 0x200
callq 0xa5d0
movq %rax, -0x10f0(%rbp)
jmp 0xfb64c
movb $0x1, -0x829(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x380(%rbp), %rdi
callq 0x3d940
movq %rax, %rsi
leaq 0x44723(%rip), %rdx     # 0x13fd90
leaq -0x7e8(%rbp), %rdi
callq 0x3da80
jmp 0xfb67b
leaq -0x380(%rbp), %rdi
movl $0x1, %esi
callq 0x3d940
movq %rax, %rdx
leaq -0x7c8(%rbp), %rdi
leaq -0x7e8(%rbp), %rsi
callq 0x3da30
jmp 0xfb6a4
leaq 0x446e5(%rip), %rdx     # 0x13fd90
leaq -0x7a8(%rbp), %rdi
leaq -0x7c8(%rbp), %rsi
callq 0x3e020
jmp 0xfb6c0
leaq -0x380(%rbp), %rdi
movl $0x2, %esi
callq 0x3d940
movq %rax, %rdx
leaq -0x788(%rbp), %rdi
leaq -0x7a8(%rbp), %rsi
callq 0x3da30
jmp 0xfb6e9
leaq 0x504fe(%rip), %rdx     # 0x14bbee
leaq -0x768(%rbp), %rdi
leaq -0x788(%rbp), %rsi
callq 0x3e020
jmp 0xfb705
leaq 0x9fc04(%rip), %rdx     # 0x19b310
leaq -0x748(%rbp), %rdi
leaq -0x768(%rbp), %rsi
callq 0x3da30
jmp 0xfb721
leaq 0x44668(%rip), %rdx     # 0x13fd90
leaq -0x728(%rbp), %rdi
leaq -0x748(%rbp), %rsi
callq 0x3e020
jmp 0xfb73d
movl 0x9e295(%rip), %esi     # 0x1999d8
leaq -0x808(%rbp), %rdi
callq 0x3e190
jmp 0xfb751
leaq -0x708(%rbp), %rdi
leaq -0x728(%rbp), %rsi
leaq -0x808(%rbp), %rdx
callq 0x3e070
jmp 0xfb76d
leaq 0x4461c(%rip), %rdx     # 0x13fd90
leaq -0x6e8(%rbp), %rdi
leaq -0x708(%rbp), %rsi
callq 0x3e020
jmp 0xfb789
movl 0x9e24d(%rip), %esi     # 0x1999dc
leaq -0x828(%rbp), %rdi
callq 0x3e190
jmp 0xfb79d
leaq -0x6c8(%rbp), %rdi
leaq -0x6e8(%rbp), %rsi
leaq -0x828(%rbp), %rdx
callq 0x3e070
jmp 0xfb7b9
leaq 0x4dde7(%rip), %rdx     # 0x1495a7
leaq -0x6a8(%rbp), %rdi
leaq -0x6c8(%rbp), %rsi
callq 0x3e020
jmp 0xfb7d5
movq -0x10f0(%rbp), %rdi
leaq -0x6a8(%rbp), %rsi
movl $0x10, %edx
callq 0xac00
jmp 0xfb7ef
movb $0x0, -0x829(%rbp)
leaq -0x6a8(%rbp), %rdi
callq 0xac88
leaq -0x6c8(%rbp), %rdi
callq 0xac88
leaq -0x828(%rbp), %rdi
callq 0xac88
leaq -0x6e8(%rbp), %rdi
callq 0xac88
leaq -0x708(%rbp), %rdi
callq 0xac88
leaq -0x808(%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
movq -0x10f0(%rbp), %rax
movq %rax, -0x688(%rbp)
movq -0x688(%rbp), %rdi
leaq 0x5034b(%rip), %rsi     # 0x14bbf9
callq 0xa5c0
movq %rax, -0x10f8(%rbp)
jmp 0xfb8bc
movq -0x10f8(%rbp), %rdi
leaq 0x50335(%rip), %rsi     # 0x14bbff
callq 0xa5c0
movq %rax, -0x1100(%rbp)
jmp 0xfb8d8
xorl %eax, %eax
movl %eax, %esi
leaq -0x380(%rbp), %rdi
callq 0x3d940
movq -0x1100(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1108(%rbp)
jmp 0xfb900
movq -0x1108(%rbp), %rdi
leaq 0x50321(%rip), %rsi     # 0x14bc2f
callq 0xa5c0
movq %rax, -0x1110(%rbp)
jmp 0xfb91c
leaq -0x380(%rbp), %rdi
movl $0x1, %esi
callq 0x3d940
movq -0x1110(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1118(%rbp)
jmp 0xfb945
movq -0x1118(%rbp), %rdi
leaq 0x502dc(%rip), %rsi     # 0x14bc2f
callq 0xa5c0
movq %rax, -0x1120(%rbp)
jmp 0xfb961
leaq -0x380(%rbp), %rdi
movl $0x2, %esi
callq 0x3d940
movq -0x1120(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1128(%rbp)
jmp 0xfb98a
movq -0x1128(%rbp), %rdi
leaq 0x50297(%rip), %rsi     # 0x14bc2f
callq 0xa5c0
movq %rax, -0x1130(%rbp)
jmp 0xfb9a6
xorl %eax, %eax
movl %eax, %esi
leaq -0x380(%rbp), %rdi
callq 0x3d940
movq -0x1130(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1138(%rbp)
jmp 0xfb9ce
movq -0x1138(%rbp), %rdi
leaq 0x5025b(%rip), %rsi     # 0x14bc37
callq 0xa5c0
movq %rax, -0x1140(%rbp)
jmp 0xfb9ea
leaq -0x380(%rbp), %rdi
movl $0x1, %esi
callq 0x3d940
movq -0x1140(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1148(%rbp)
jmp 0xfba13
movq -0x1148(%rbp), %rdi
leaq 0x50216(%rip), %rsi     # 0x14bc37
callq 0xa5c0
movq %rax, -0x1150(%rbp)
jmp 0xfba2f
leaq -0x380(%rbp), %rdi
movl $0x2, %esi
callq 0x3d940
movq -0x1150(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1158(%rbp)
jmp 0xfba58
movq -0x1158(%rbp), %rdi
leaq 0x501d1(%rip), %rsi     # 0x14bc37
callq 0xa5c0
movq %rax, -0x1160(%rbp)
jmp 0xfba74
xorl %eax, %eax
movl %eax, %esi
leaq -0x380(%rbp), %rdi
callq 0x3d940
movq -0x1160(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1168(%rbp)
jmp 0xfba9c
movq -0x1168(%rbp), %rdi
leaq 0x50198(%rip), %rsi     # 0x14bc42
callq 0xa5c0
movq %rax, -0x1170(%rbp)
jmp 0xfbab8
leaq -0x380(%rbp), %rdi
movl $0x1, %esi
callq 0x3d940
movq -0x1170(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1178(%rbp)
jmp 0xfbae1
movq -0x1178(%rbp), %rdi
leaq 0x50153(%rip), %rsi     # 0x14bc42
callq 0xa5c0
movq %rax, -0x1180(%rbp)
jmp 0xfbafd
leaq -0x380(%rbp), %rdi
movl $0x2, %esi
callq 0x3d940
movq -0x1180(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1188(%rbp)
jmp 0xfbb26
movq -0x1188(%rbp), %rdi
leaq 0x50119(%rip), %rsi     # 0x14bc4d
callq 0xa5c0
movq %rax, -0x1190(%rbp)
jmp 0xfbb42
movq -0x1190(%rbp), %rdi
movq 0x9d438(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xfbb57
leaq -0x350(%rbp), %rdi
leaq -0x688(%rbp), %rsi
callq 0xffa90
jmp 0xfbb6c
jmp 0xfc0e6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfc10c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfbd55
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfbd49
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfbd3d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfbd31
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfbd25
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfbd19
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfbd0d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfbd01
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfbcf5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfbce9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfbcdd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfbcd1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfbcc5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x3a8(%rbp), %rdi
callq 0xac88
leaq -0x3c8(%rbp), %rdi
callq 0xac88
leaq -0x528(%rbp), %rdi
callq 0xac88
leaq -0x3e8(%rbp), %rdi
callq 0xac88
leaq -0x408(%rbp), %rdi
callq 0xac88
leaq -0x508(%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
testb $0x1, -0x529(%rbp)
jne 0xfbd60
jmp 0xfbd71
movq -0x1050(%rbp), %rdi
movl $0x200, %esi            # imm = 0x200
callq 0xa5e0
jmp 0xfc10c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfbeda
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfbece
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfbec2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfbeb6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfbeaa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfbe9e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfbe92
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfbe86
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfbe7a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfbe6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x558(%rbp), %rdi
callq 0xac88
leaq -0x578(%rbp), %rdi
callq 0xac88
leaq -0x678(%rbp), %rdi
callq 0xac88
leaq -0x598(%rbp), %rdi
callq 0xac88
leaq -0x5b8(%rbp), %rdi
callq 0xac88
leaq -0x5d8(%rbp), %rdi
callq 0xac88
leaq -0x5f8(%rbp), %rdi
callq 0xac88
leaq -0x618(%rbp), %rdi
callq 0xac88
leaq -0x638(%rbp), %rdi
callq 0xac88
leaq -0x658(%rbp), %rdi
callq 0xac88
testb $0x1, -0x679(%rbp)
jne 0xfbee5
jmp 0xfbef6
movq -0x1058(%rbp), %rdi
movl $0x200, %esi            # imm = 0x200
callq 0xa5e0
jmp 0xfc10c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfc0c8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfc0bc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfc0b0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfc0a4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfc098
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfc08c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfc080
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfc074
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfc068
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfc05c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfc050
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfc044
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfc038
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x6a8(%rbp), %rdi
callq 0xac88
leaq -0x6c8(%rbp), %rdi
callq 0xac88
leaq -0x828(%rbp), %rdi
callq 0xac88
leaq -0x6e8(%rbp), %rdi
callq 0xac88
leaq -0x708(%rbp), %rdi
callq 0xac88
leaq -0x808(%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
testb $0x1, -0x829(%rbp)
jne 0xfc0d3
jmp 0xfc0e4
movq -0x10f0(%rbp), %rdi
movl $0x200, %esi            # imm = 0x200
callq 0xa5e0
jmp 0xfc10c
leaq -0x368(%rbp), %rdi
leaq -0x380(%rbp), %rsi
callq 0x3f610
jmp 0xfc0fb
leaq -0x380(%rbp), %rdi
callq 0x3dfa0
jmp 0xfae88
leaq -0x380(%rbp), %rdi
callq 0x3dfa0
jmp 0xff51f
movslq 0x9d8b4(%rip), %rax     # 0x1999d8
movq %rax, -0x11a0(%rbp)
movq $0x0, -0x888(%rbp)
leaq -0x889(%rbp), %rdi
movq %rdi, -0x1198(%rbp)
callq 0x484d0
movq -0x11a0(%rbp), %rsi
movq -0x1198(%rbp), %rcx
leaq -0x880(%rbp), %rdi
leaq -0x888(%rbp), %rdx
callq 0xffb00
jmp 0xfc16c
leaq -0x889(%rbp), %rdi
callq 0x4a130
leaq -0x8a9(%rbp), %rdi
movq %rdi, -0x11a8(%rbp)
callq 0xffb80
movq -0x11a8(%rbp), %rcx
leaq -0x8a8(%rbp), %rdi
movl $0x4, %esi
leaq -0x880(%rbp), %rdx
callq 0xffba0
jmp 0xfc1ac
leaq -0x8a9(%rbp), %rdi
callq 0xffc20
leaq -0x368(%rbp), %rdi
callq 0x409f0
movq %rax, -0x11b8(%rbp)
leaq -0x8c9(%rbp), %rdi
movq %rdi, -0x11b0(%rbp)
callq 0xffc40
movq -0x11b8(%rbp), %rsi
movq -0x11b0(%rbp), %rcx
leaq -0x8c8(%rbp), %rdi
leaq -0x8a8(%rbp), %rdx
callq 0xffc60
jmp 0xfc201
leaq -0x8c9(%rbp), %rdi
callq 0xffce0
leaq -0x8e9(%rbp), %rdi
movq %rdi, -0x11c0(%rbp)
callq 0x667a0
movq -0x11c0(%rbp), %rdx
leaq -0x8e8(%rbp), %rdi
movl $0x3, %esi
callq 0xf56f0
jmp 0xfc23a
leaq -0x8e9(%rbp), %rdi
callq 0x669e0
leaq -0x368(%rbp), %rdi
callq 0x409f0
movq %rax, -0x11d0(%rbp)
leaq -0x909(%rbp), %rdi
movq %rdi, -0x11c8(%rbp)
callq 0xf5880
movq -0x11d0(%rbp), %rsi
movq -0x11c8(%rbp), %rcx
leaq -0x908(%rbp), %rdi
leaq -0x8e8(%rbp), %rdx
callq 0xf6350
jmp 0xfc28f
leaq -0x909(%rbp), %rdi
callq 0xf6790
movl $0x0, -0x910(%rbp)
movl -0x910(%rbp), %eax
movl 0x9d72f(%rip), %ecx     # 0x1999e0
addl %ecx, %eax
movl %eax, -0x914(%rbp)
leaq -0x931(%rbp), %rdi
movq %rdi, -0x11d8(%rbp)
callq 0x667a0
movq -0x11d8(%rbp), %rdx
leaq -0x930(%rbp), %rdi
movl $0x9, %esi
callq 0xf56f0
jmp 0xfc2e6
leaq -0x931(%rbp), %rdi
callq 0x669e0
leaq -0x368(%rbp), %rdi
callq 0x409f0
movq %rax, -0x11e8(%rbp)
leaq -0x951(%rbp), %rdi
movq %rdi, -0x11e0(%rbp)
callq 0xf5880
movq -0x11e8(%rbp), %rsi
movq -0x11e0(%rbp), %rcx
leaq -0x950(%rbp), %rdi
leaq -0x930(%rbp), %rdx
callq 0xf6350
jmp 0xfc33b
leaq -0x951(%rbp), %rdi
callq 0xf6790
leaq -0x979(%rbp), %rdi
movq %rdi, -0x11f0(%rbp)
callq 0xab60
movq -0x11f0(%rbp), %rdx
leaq 0x39b77(%rip), %rsi     # 0x135edf
leaq -0x978(%rbp), %rdi
callq 0x2d6c0
jmp 0xfc376
leaq -0x979(%rbp), %rdi
callq 0xa640
leaq -0x9a1(%rbp), %rdi
movq %rdi, -0x11f8(%rbp)
callq 0xab60
movq -0x11f8(%rbp), %rdx
leaq 0x39b3c(%rip), %rsi     # 0x135edf
leaq -0x9a0(%rbp), %rdi
callq 0x2d6c0
jmp 0xfc3b1
leaq -0x9a1(%rbp), %rdi
callq 0xa640
movl $0x0, -0x9a8(%rbp)
leaq -0x368(%rbp), %rdi
callq 0x409f0
movq %rax, -0x1208(%rbp)
movl $0x0, -0x9c4(%rbp)
leaq -0x9c5(%rbp), %rdi
movq %rdi, -0x1200(%rbp)
callq 0x46300
movq -0x1208(%rbp), %rsi
movq -0x1200(%rbp), %rcx
leaq -0x9c0(%rbp), %rdi
leaq -0x9c4(%rbp), %rdx
callq 0x83540
jmp 0xfc41a
leaq -0x9c5(%rbp), %rdi
callq 0x483e0
leaq -0x9e0(%rbp), %rdi
callq 0x48da0
leaq -0x9f8(%rbp), %rdi
callq 0x48da0
movl $0x3e8, -0x9fc(%rbp)    # imm = 0x3E8
leaq -0xa20(%rbp), %rdi
callq 0xa820
leaq -0xa40(%rbp), %rdi
callq 0xa820
movq -0x1d0(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0xa0d0
movq %rax, -0x1210(%rbp)
jmp 0xfc479
movq -0x1210(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0xa740
movb %al, -0x1211(%rbp)
jmp 0xfc497
movb -0x1211(%rbp), %al
testb $0x1, %al
jne 0xfc4a6
jmp 0xff339
leaq -0x30(%rbp), %rdi
movq %rdi, -0x1228(%rbp)
callq 0xa4f0
movq -0x1228(%rbp), %rdi
movq %rax, -0xa90(%rbp)
callq 0xa330
movq %rax, -0xa98(%rbp)
movb $0xd, -0xa99(%rbp)
movq -0xa90(%rbp), %rdi
movq -0xa98(%rbp), %rsi
leaq -0xa99(%rbp), %rdx
callq 0xc6570
movq %rax, -0x1220(%rbp)
jmp 0xfc4fa
movq -0x1220(%rbp), %rax
movq %rax, -0xa88(%rbp)
leaq -0xa80(%rbp), %rdi
leaq -0xa88(%rbp), %rsi
callq 0xc65c0
leaq -0x30(%rbp), %rdi
movq %rdi, -0x1238(%rbp)
callq 0xa330
movq %rax, -0xab0(%rbp)
leaq -0xaa8(%rbp), %rdi
leaq -0xab0(%rbp), %rsi
callq 0xc65c0
movq -0x1238(%rbp), %rdi
movq -0xa80(%rbp), %rsi
movq -0xaa8(%rbp), %rdx
callq 0xa120
movq %rax, -0x1230(%rbp)
jmp 0xfc568
movq -0x1230(%rbp), %rax
movq %rax, -0xab8(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x30(%rbp), %rdi
callq 0xac60
movq %rax, -0x1240(%rbp)
jmp 0xfc58c
movq -0x1240(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x23, %eax
jne 0xfc743
leaq -0x30(%rbp), %rdi
movl $0x1, %esi
callq 0xac60
movq %rax, -0x1248(%rbp)
jmp 0xfc5b6
movq -0x1248(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x23, %eax
jne 0xfc743
jmp 0xfc460
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x889(%rbp), %rdi
callq 0x4a130
jmp 0xff51f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x8a9(%rbp), %rdi
callq 0xffc20
jmp 0xff513
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x8c9(%rbp), %rdi
callq 0xffce0
jmp 0xff507
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x8e9(%rbp), %rdi
callq 0x669e0
jmp 0xff4fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x909(%rbp), %rdi
callq 0xf6790
jmp 0xff4ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x931(%rbp), %rdi
callq 0x669e0
jmp 0xff4e3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x951(%rbp), %rdi
callq 0xf6790
jmp 0xff4d7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x979(%rbp), %rdi
callq 0xa640
jmp 0xff4cb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x9a1(%rbp), %rdi
callq 0xa640
jmp 0xff4bf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x9c5(%rbp), %rdi
callq 0x483e0
jmp 0xff4b3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xff477
xorl %eax, %eax
movl %eax, %esi
leaq -0x30(%rbp), %rdi
callq 0xac60
movq %rax, -0x1250(%rbp)
jmp 0xfc759
movq -0x1250(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x23, %eax
jne 0xfcb8e
leaq -0x30(%rbp), %rdi
movl $0x1, %esi
callq 0xac60
movq %rax, -0x1258(%rbp)
jmp 0xfc783
movq -0x1258(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x43, %eax
jne 0xfcb8e
leaq -0xad0(%rbp), %rdi
leaq -0x30(%rbp), %rsi
movl $0x9, %edx
callq 0x7bbe0
jmp 0xfc7ad
leaq -0x9f8(%rbp), %rdi
movq %rdi, -0x1268(%rbp)
leaq -0xad0(%rbp), %rsi
movq %rsi, -0x1270(%rbp)
callq 0x50c30
movq -0x1270(%rbp), %rdi
callq 0x3dfa0
movq -0x1268(%rbp), %rdi
callq 0x44030
movq %rax, -0xaf8(%rbp)
leaq -0xaf8(%rbp), %rdi
movl $0x9, %esi
callq 0x44390
movq -0x1268(%rbp), %rdi
movq %rax, -0xaf0(%rbp)
callq 0x44060
movq %rax, -0xb00(%rbp)
leaq -0xb01(%rbp), %rdi
movq %rdi, -0x1260(%rbp)
callq 0x48e80
movq -0x1260(%rbp), %rcx
movq -0xaf0(%rbp), %rsi
movq -0xb00(%rbp), %rdx
leaq -0xae8(%rbp), %rdi
callq 0xc6600
jmp 0xfc84e
leaq -0xb01(%rbp), %rdi
callq 0x40090
movq $0x0, -0xb10(%rbp)
movq -0xb10(%rbp), %rax
movq %rax, -0x1278(%rbp)
leaq -0xae8(%rbp), %rdi
callq 0x3ffd0
movq %rax, %rcx
movq -0x1278(%rbp), %rax
cmpq %rcx, %rax
je 0xfc941
movq -0xb10(%rbp), %rsi
leaq -0xae8(%rbp), %rdi
callq 0x3d940
movq %rax, %rsi
leaq -0x268(%rbp), %rdi
callq 0x584d0
movq %rax, -0x1280(%rbp)
jmp 0xfc8bd
leaq -0x2c8(%rbp), %rdi
leaq -0xb10(%rbp), %rsi
callq 0x95260
movq %rax, -0x1288(%rbp)
jmp 0xfc8d9
movq -0x1280(%rbp), %rsi
movq -0x1288(%rbp), %rdi
callq 0xa060
jmp 0xfc8ee
jmp 0xfc8f0
movq -0xb10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0xb10(%rbp)
jmp 0xfc865
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0xb01(%rbp), %rdi
callq 0x40090
jmp 0xff477
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfcb7d
leaq -0x238(%rbp), %rdi
callq 0x6c3d0
movq %rax, -0xb18(%rbp)
leaq -0x238(%rbp), %rdi
callq 0x6c430
movq %rax, -0xb20(%rbp)
leaq -0xb18(%rbp), %rdi
leaq -0xb20(%rbp), %rsi
callq 0x6c400
testb $0x1, %al
jne 0xfc983
jmp 0xfcb60
leaq -0xb18(%rbp), %rdi
callq 0x6c460
movq %rax, %rsi
leaq -0xb40(%rbp), %rdi
callq 0xa250
jmp 0xfc9a0
leaq -0xb18(%rbp), %rdi
callq 0x6c460
movq %rax, %rsi
addq $0x20, %rsi
leaq -0xb58(%rbp), %rdi
callq 0x3fee0
jmp 0xfc9c1
leaq -0xb70(%rbp), %rdi
leaq -0xae8(%rbp), %rsi
leaq -0xb58(%rbp), %rdx
callq 0x81250
jmp 0xfc9dd
leaq -0xb70(%rbp), %rdi
callq 0x95340
testb $0x1, %al
jne 0xfc9f2
jmp 0xfcae0
movq 0x9c5f7(%rip), %rdi     # 0x198ff0
leaq 0x3fedb(%rip), %rsi     # 0x13c8db
callq 0xa5c0
movq %rax, -0x1290(%rbp)
jmp 0xfca0e
movq -0x1290(%rbp), %rdi
leaq -0xb40(%rbp), %rsi
callq 0xa520
movq %rax, -0x1298(%rbp)
jmp 0xfca2a
movq -0x1298(%rbp), %rdi
leaq 0x3e9d7(%rip), %rsi     # 0x13b40f
callq 0xa5c0
movq %rax, -0x12a0(%rbp)
jmp 0xfca46
movq -0x12a0(%rbp), %rdi
movq 0x9c534(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xfca5b
leaq -0xb70(%rbp), %rdi
callq 0x95340
xorb $-0x1, %al
testb $0x1, %al
jne 0xfca6f
jmp 0xfca71
jmp 0xfcade
leaq 0x3fe8d(%rip), %rdi     # 0x13c905
leaq 0x4f117(%rip), %rsi     # 0x14bb96
movl $0xe5, %edx
leaq 0x4f117(%rip), %rcx     # 0x14bba2
callq 0xa390
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfcb52
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfcb46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0xb70(%rbp), %rdi
callq 0x50d40
jmp 0xfcb46
jmp 0xfcae0
leaq -0x298(%rbp), %rdi
leaq -0xb40(%rbp), %rsi
callq 0x95380
movq %rax, -0x12a8(%rbp)
jmp 0xfcafc
movq -0x12a8(%rbp), %rdi
leaq -0xb70(%rbp), %rsi
callq 0x95460
jmp 0xfcb11
leaq -0xb70(%rbp), %rdi
callq 0x50d40
leaq -0xb58(%rbp), %rdi
callq 0x3dfa0
leaq -0xb40(%rbp), %rdi
callq 0xac88
leaq -0xb18(%rbp), %rdi
callq 0x71fc0
jmp 0xfc954
leaq -0xb58(%rbp), %rdi
callq 0x3dfa0
leaq -0xb40(%rbp), %rdi
callq 0xac88
jmp 0xfcb7d
callq 0xa3a0
movq %rax, -0xa50(%rbp)
leaq -0xae8(%rbp), %rdi
callq 0x3dfa0
jmp 0xff332
leaq -0xae8(%rbp), %rdi
callq 0x3dfa0
jmp 0xff477
movl -0x9a8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x9a8(%rbp)
movl -0x9a8(%rbp), %eax
cltd
idivl -0x9fc(%rbp)
cmpl $0x0, %edx
jne 0xfcd21
callq 0xa3a0
movq -0xa50(%rbp), %rcx
subq %rcx, %rax
cvtsi2sd %rax, %xmm0
movsd 0x3c859(%rip), %xmm1    # 0x139428
divsd %xmm1, %xmm0
movsd %xmm0, -0xa68(%rbp)
movq 0x9c40e(%rip), %rdi     # 0x198ff0
leaq 0x3fd5d(%rip), %rsi     # 0x13c946
callq 0xa5c0
movq %rax, -0x12b0(%rbp)
jmp 0xfcbf7
movq -0x12b0(%rbp), %rdi
movl -0x9a8(%rbp), %esi
callq 0xab20
movq %rax, -0x12b8(%rbp)
jmp 0xfcc12
movq -0x12b8(%rbp), %rdi
leaq 0x42f62(%rip), %rsi     # 0x13fb82
callq 0xa5c0
movq %rax, -0x12c0(%rbp)
jmp 0xfcc2e
movq -0x12c0(%rbp), %rdi
movsd -0xa68(%rbp), %xmm0
callq 0xabd0
movq %rax, -0x12c8(%rbp)
jmp 0xfcc4b
movq -0x12c8(%rbp), %rdi
leaq 0x45e8f(%rip), %rsi     # 0x142ae8
callq 0xa5c0
movq %rax, -0x12d0(%rbp)
jmp 0xfcc67
movq -0x12d0(%rbp), %rdi
movq 0x9c313(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xfcc7c
movq 0x9c36d(%rip), %rdi     # 0x198ff0
leaq 0x4d1b6(%rip), %rsi     # 0x149e40
callq 0xa5c0
movq %rax, -0x12d8(%rbp)
jmp 0xfcc98
movq -0x12d8(%rbp), %rdi
movsd -0xa70(%rbp), %xmm0
callq 0xabd0
movq %rax, -0x12e0(%rbp)
jmp 0xfccb5
movq -0x12e0(%rbp), %rdi
leaq 0x4d18c(%rip), %rsi     # 0x149e4f
callq 0xa5c0
movq %rax, -0x12e8(%rbp)
jmp 0xfccd1
movq -0x12e8(%rbp), %rdi
movsd -0xa78(%rbp), %xmm0
callq 0xabd0
movq %rax, -0x12f0(%rbp)
jmp 0xfccee
movq -0x12f0(%rbp), %rdi
leaq 0x45dec(%rip), %rsi     # 0x142ae8
callq 0xa5c0
movq %rax, -0x12f8(%rbp)
jmp 0xfcd0a
movq -0x12f8(%rbp), %rdi
movq 0x9c270(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xfcd1f
jmp 0xfcd21
leaq -0xb88(%rbp), %rdi
leaq -0x30(%rbp), %rsi
movl $0x9, %edx
callq 0x7bbe0
jmp 0xfcd38
leaq -0x9f8(%rbp), %rdi
movq %rdi, -0x1300(%rbp)
leaq -0xb88(%rbp), %rsi
movq %rsi, -0x1308(%rbp)
callq 0x50c30
movq -0x1308(%rbp), %rdi
callq 0x3dfa0
movq -0x1300(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3d940
movq %rax, %rsi
leaq -0xa20(%rbp), %rdi
callq 0xa060
jmp 0xfcd86
leaq -0x9f8(%rbp), %rdi
movl $0x1, %esi
callq 0x3d940
movq %rax, %rsi
leaq -0xa40(%rbp), %rdi
callq 0xa060
jmp 0xfcda8
leaq -0xba8(%rbp), %rdi
leaq -0xa40(%rbp), %rsi
callq 0xa250
jmp 0xfcdbd
leaq -0xba8(%rbp), %rdi
callq 0x7bab0
movsd %xmm0, -0x1310(%rbp)
jmp 0xfcdd3
movsd -0x1310(%rbp), %xmm0
movsd %xmm0, -0xa48(%rbp)
leaq -0xba8(%rbp), %rdi
callq 0xac88
leaq -0x9f8(%rbp), %rdi
movq %rdi, -0x1320(%rbp)
callq 0x44030
movq %rax, -0xbd0(%rbp)
leaq -0xbd0(%rbp), %rdi
movl $0x9, %esi
callq 0x44390
movq -0x1320(%rbp), %rdi
movq %rax, -0xbc8(%rbp)
callq 0x44060
movq %rax, -0xbd8(%rbp)
leaq -0xbd9(%rbp), %rdi
movq %rdi, -0x1318(%rbp)
callq 0x48e80
movq -0x1318(%rbp), %rcx
movq -0xbc8(%rbp), %rsi
movq -0xbd8(%rbp), %rdx
leaq -0xbc0(%rbp), %rdi
callq 0xc6600
jmp 0xfce6a
leaq -0xbd9(%rbp), %rdi
callq 0x40090
leaq -0x9f8(%rbp), %rdi
movl $0x3, %esi
callq 0x3d940
movq %rax, %rsi
leaq -0xc00(%rbp), %rdi
callq 0xa250
jmp 0xfce98
leaq -0x9f8(%rbp), %rdi
movl $0x4, %esi
callq 0x3d940
movq %rax, %rsi
leaq -0xc20(%rbp), %rdi
callq 0xa250
jmp 0xfceba
movb $0x0, -0xc21(%rbp)
leaq 0x5131a(%rip), %rsi     # 0x14e1e2
leaq -0xc20(%rbp), %rdi
callq 0x2d770
movb %al, -0x1321(%rbp)
jmp 0xfcedc
movb -0x1321(%rbp), %al
testb $0x1, %al
jne 0xfceeb
jmp 0xfcf82
movb $0x1, -0xc21(%rbp)
jmp 0xfcf82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0xba8(%rbp), %rdi
callq 0xac88
jmp 0xff477
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0xbd9(%rbp), %rdi
callq 0x40090
jmp 0xff477
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xff321
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xff315
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xff309
testb $0x1, 0x9e3a7(%rip)     # 0x19b330
jne 0xfcfb8
leaq -0xc00(%rbp), %rdi
callq 0xa930
cmpq $0x1, %rax
ja 0xfcfaf
leaq -0xc20(%rbp), %rdi
callq 0xa930
cmpq $0x1, %rax
jbe 0xfcfb6
movb $0x1, -0xc21(%rbp)
jmp 0xfcfb8
testb $0x1, -0xc21(%rbp)
je 0xfd02f
leaq -0xc00(%rbp), %rdi
movq %rdi, -0x1340(%rbp)
callq 0xa7b0
movq -0x1340(%rbp), %rdi
callq 0xac30
leaq -0xc20(%rbp), %rdi
movq %rdi, -0x1338(%rbp)
callq 0xa7b0
movq -0x1338(%rbp), %rdi
callq 0xac30
leaq -0xbc0(%rbp), %rdi
movq %rdi, -0x1330(%rbp)
callq 0x591f0
movq -0x1330(%rbp), %rdi
callq 0xc6680
jmp 0xfd020
movl $0x9, -0xc28(%rbp)
jmp 0xff2c6
callq 0xa3a0
movq %rax, -0xa58(%rbp)
movl $0x240, %edi            # imm = 0x240
callq 0xa5d0
movq %rax, -0x1348(%rbp)
jmp 0xfd04e
leaq -0xbc0(%rbp), %rdi
callq 0x3ffd0
movq -0x1348(%rbp), %rdi
movl %eax, %edx
leaq -0x298(%rbp), %rsi
callq 0xc66a0
jmp 0xfd071
movq -0x1348(%rbp), %rax
movq %rax, -0xc30(%rbp)
movq -0xc30(%rbp), %rdi
leaq -0xbc0(%rbp), %rsi
leaq -0x2c8(%rbp), %rdx
callq 0x7b530
jmp 0xfd09b
leaq -0xbc0(%rbp), %rdi
movq %rdi, -0x1350(%rbp)
callq 0x591f0
movq -0x1350(%rbp), %rdi
callq 0xc6680
jmp 0xfd0bc
callq 0xa3a0
subq -0xa58(%rbp), %rax
cvtsi2sd %rax, %xmm0
movsd 0x3c353(%rip), %xmm1    # 0x139428
divsd %xmm1, %xmm0
movsd %xmm0, -0xa70(%rbp)
testb $0x1, 0x9e249(%rip)     # 0x19b331
je 0xfd3d5
movl $0x200, %edi            # imm = 0x200
callq 0xa5d0
movq %rax, -0x1358(%rbp)
jmp 0xfd101
movb $0x1, -0xc99(%rbp)
leaq 0x9e1a1(%rip), %rsi     # 0x19b2b0
leaq -0xc98(%rbp), %rdi
callq 0x7be70
jmp 0xfd11d
leaq 0x4eb33(%rip), %rdx     # 0x14bc57
leaq -0xc78(%rbp), %rdi
leaq -0xc98(%rbp), %rsi
callq 0x3e020
jmp 0xfd139
leaq 0x4c467(%rip), %rdx     # 0x1495a7
leaq -0xc58(%rbp), %rdi
leaq -0xc78(%rbp), %rsi
callq 0x3e020
jmp 0xfd155
movq -0x1358(%rbp), %rdi
leaq -0xc58(%rbp), %rsi
movl $0x10, %edx
callq 0xac00
jmp 0xfd16f
movb $0x0, -0xc99(%rbp)
leaq -0xc58(%rbp), %rdi
callq 0xac88
leaq -0xc78(%rbp), %rdi
callq 0xac88
leaq -0xc98(%rbp), %rdi
callq 0xac88
movq -0x1358(%rbp), %rax
movq %rax, -0xc38(%rbp)
movq -0xc38(%rbp), %rdi
leaq -0xa20(%rbp), %rsi
callq 0xa520
movq %rax, -0x1360(%rbp)
jmp 0xfd1c4
movq -0x1360(%rbp), %rdi
leaq 0x38d0c(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1368(%rbp)
jmp 0xfd1e0
movq -0x1368(%rbp), %rdi
leaq -0xa40(%rbp), %rsi
callq 0xa520
movq %rax, -0x1370(%rbp)
jmp 0xfd1fc
movq -0x1370(%rbp), %rdi
leaq 0x38cd4(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1378(%rbp)
jmp 0xfd218
movq -0x1378(%rbp), %rdi
leaq -0xc00(%rbp), %rsi
callq 0xa520
movq %rax, -0x1380(%rbp)
jmp 0xfd234
movq -0x1380(%rbp), %rdi
leaq 0x38c9c(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1388(%rbp)
jmp 0xfd250
movq -0x1388(%rbp), %rdi
leaq -0xc20(%rbp), %rsi
callq 0xa520
jmp 0xfd265
movq -0xc30(%rbp), %rdi
addq $0xe0, %rdi
callq 0x84460
movq %rax, -0xca8(%rbp)
movq -0xc30(%rbp), %rdi
addq $0xe0, %rdi
callq 0x844c0
movq %rax, -0xcb0(%rbp)
leaq -0xca8(%rbp), %rdi
leaq -0xcb0(%rbp), %rsi
callq 0x84490
testb $0x1, %al
jne 0xfd2b5
jmp 0xfd3be
movq -0xc38(%rbp), %rdi
leaq 0x38c1b(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1390(%rbp)
jmp 0xfd2d1
leaq -0xca8(%rbp), %rdi
callq 0x844f0
movq -0x1390(%rbp), %rdi
movsd 0x20(%rax), %xmm0
callq 0xabd0
jmp 0xfd2f0
jmp 0xfd2f2
leaq -0xca8(%rbp), %rdi
callq 0x84510
jmp 0xfd27f
movq -0x1348(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
movl $0x240, %esi            # imm = 0x240
callq 0xa5e0
jmp 0xff309
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfd39d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfd391
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfd385
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0xc58(%rbp), %rdi
callq 0xac88
leaq -0xc78(%rbp), %rdi
callq 0xac88
leaq -0xc98(%rbp), %rdi
callq 0xac88
testb $0x1, -0xc99(%rbp)
jne 0xfd3a8
jmp 0xfd3b9
movq -0x1358(%rbp), %rdi
movl $0x200, %esi            # imm = 0x200
callq 0xa5e0
jmp 0xff309
movq -0xc38(%rbp), %rdi
leaq 0x324c1(%rip), %rsi     # 0x12f88d
callq 0xa5c0
jmp 0xfd3d3
jmp 0xfd3d5
callq 0xa3a0
movq %rax, -0xa60(%rbp)
leaq -0xa40(%rbp), %rdi
callq 0xa220
movq %rax, %rdi
callq 0xa970
movl %eax, %ecx
leaq -0xcc8(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
leaq -0xa20(%rbp), %rdx
callq 0x8f3e0
jmp 0xfd413
xorl %eax, %eax
movl %eax, %esi
leaq -0xcc8(%rbp), %rdi
callq 0x3d940
movq %rax, %rdi
leaq 0x38ab2(%rip), %rsi     # 0x135edf
callq 0x50eb0
movb %al, -0x1391(%rbp)
jmp 0xfd43a
movb -0x1391(%rbp), %al
testb $0x1, %al
jne 0xfd446
jmp 0xfd4be
xorl %eax, %eax
movl %eax, %esi
leaq -0xcc8(%rbp), %rdi
callq 0x3d940
movq %rax, %rsi
leaq -0x978(%rbp), %rdi
callq 0xa060
jmp 0xfd467
leaq 0x38a71(%rip), %rsi     # 0x135edf
leaq -0x9a0(%rbp), %rdi
callq 0x2d770
movb %al, -0x1392(%rbp)
jmp 0xfd482
movb -0x1392(%rbp), %al
testb $0x1, %al
jne 0xfd48e
jmp 0xfd4bc
leaq -0x9a0(%rbp), %rdi
leaq -0x978(%rbp), %rsi
callq 0xa060
jmp 0xfd4a3
jmp 0xfd4bc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xff2fd
jmp 0xfd4be
movsd -0xa48(%rbp), %xmm0
cvtsi2sdl -0x914(%rbp), %xmm1
ucomisd %xmm1, %xmm0
ja 0xfd4ee
movsd -0xa48(%rbp), %xmm1
cvtsi2sdl -0x910(%rbp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0xfda85
movl $0x0, -0xccc(%rbp)
movslq -0xccc(%rbp), %rax
movq %rax, -0x13a0(%rbp)
leaq -0x368(%rbp), %rdi
callq 0x409f0
movq %rax, %rcx
movq -0x13a0(%rbp), %rax
cmpq %rcx, %rax
je 0xfda16
movslq -0xccc(%rbp), %rsi
leaq -0x908(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x651e0
movq %rax, %rdi
callq 0x3ebf0
movl %eax, -0xcd0(%rbp)
movslq -0xccc(%rbp), %rsi
leaq -0x908(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x1, %esi
callq 0x651e0
movq %rax, %rdi
callq 0x3ebf0
movl %eax, -0xcd4(%rbp)
movslq -0xccc(%rbp), %rsi
leaq -0x908(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x2, %esi
callq 0x651e0
movq %rax, %rdi
callq 0x3ebf0
movl %eax, -0xcd8(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0xce0(%rbp)
cmpl $0x0, -0xcd0(%rbp)
jle 0xfd64d
movslq -0xccc(%rbp), %rsi
leaq -0x908(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x651e0
movq %rax, %rsi
leaq -0xcf8(%rbp), %rdi
callq 0x53120
jmp 0xfd5f6
leaq -0xcf8(%rbp), %rdi
callq 0x53060
movsd %xmm0, -0x13a8(%rbp)
jmp 0xfd60c
movsd -0x13a8(%rbp), %xmm0
movsd %xmm0, -0xce0(%rbp)
leaq -0xcf8(%rbp), %rdi
callq 0x3ecb0
jmp 0xfd64d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0xcf8(%rbp), %rdi
callq 0x3ecb0
jmp 0xff2fd
xorps %xmm0, %xmm0
movsd %xmm0, -0xd00(%rbp)
cmpl $0x0, -0xcd4(%rbp)
jle 0xfd6ed
movslq -0xccc(%rbp), %rsi
leaq -0x908(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x1, %esi
callq 0x651e0
movq %rax, %rsi
leaq -0xd18(%rbp), %rdi
callq 0x53120
jmp 0xfd696
leaq -0xd18(%rbp), %rdi
callq 0x53060
movsd %xmm0, -0x13b0(%rbp)
jmp 0xfd6ac
movsd -0x13b0(%rbp), %xmm0
movsd %xmm0, -0xd00(%rbp)
leaq -0xd18(%rbp), %rdi
callq 0x3ecb0
jmp 0xfd6ed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0xd18(%rbp), %rdi
callq 0x3ecb0
jmp 0xff2fd
xorps %xmm0, %xmm0
movsd %xmm0, -0xd20(%rbp)
cmpl $0x0, -0xcd8(%rbp)
jle 0xfd78d
movslq -0xccc(%rbp), %rsi
leaq -0x908(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x2, %esi
callq 0x651e0
movq %rax, %rsi
leaq -0xd38(%rbp), %rdi
callq 0x53120
jmp 0xfd736
leaq -0xd38(%rbp), %rdi
callq 0x53060
movsd %xmm0, -0x13b8(%rbp)
jmp 0xfd74c
movsd -0x13b8(%rbp), %xmm0
movsd %xmm0, -0xd20(%rbp)
leaq -0xd38(%rbp), %rdi
callq 0x3ecb0
jmp 0xfd78d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0xd38(%rbp), %rdi
callq 0x3ecb0
jmp 0xff2fd
movslq -0xccc(%rbp), %rsi
leaq -0x338(%rbp), %rdi
callq 0xffd00
movq (%rax), %rdi
leaq -0xa20(%rbp), %rsi
callq 0xa520
movq %rax, -0x13c0(%rbp)
jmp 0xfd7b8
movq -0x13c0(%rbp), %rdi
leaq 0x38718(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x13c8(%rbp)
jmp 0xfd7d4
movq -0x13c8(%rbp), %rdi
movl -0x910(%rbp), %esi
callq 0xab20
movq %rax, -0x13d0(%rbp)
jmp 0xfd7ef
movq -0x13d0(%rbp), %rdi
leaq 0x386e1(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x13d8(%rbp)
jmp 0xfd80b
movq -0x13d8(%rbp), %rdi
movl -0x914(%rbp), %esi
callq 0xab20
movq %rax, -0x13e0(%rbp)
jmp 0xfd826
movq -0x13e0(%rbp), %rdi
leaq 0x386aa(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x13e8(%rbp)
jmp 0xfd842
movq -0x13e8(%rbp), %rdi
movsd -0xce0(%rbp), %xmm0
callq 0xabd0
movq %rax, -0x13f0(%rbp)
jmp 0xfd85f
movq -0x13f0(%rbp), %rdi
leaq 0x38671(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x13f8(%rbp)
jmp 0xfd87b
movq -0x13f8(%rbp), %rdi
movsd -0xd00(%rbp), %xmm0
callq 0xabd0
movq %rax, -0x1400(%rbp)
jmp 0xfd898
movq -0x1400(%rbp), %rdi
leaq 0x38638(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1408(%rbp)
jmp 0xfd8b4
movq -0x1408(%rbp), %rdi
movsd -0xd20(%rbp), %xmm0
callq 0xabd0
movq %rax, -0x1410(%rbp)
jmp 0xfd8d1
movq -0x1410(%rbp), %rdi
leaq 0x385ff(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1418(%rbp)
jmp 0xfd8ed
movq -0x1418(%rbp), %rdi
movl -0xcd0(%rbp), %esi
callq 0xab20
movq %rax, -0x1420(%rbp)
jmp 0xfd908
movq -0x1420(%rbp), %rdi
leaq 0x385c8(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1428(%rbp)
jmp 0xfd924
movq -0x1428(%rbp), %rdi
movl -0xcd4(%rbp), %esi
callq 0xab20
movq %rax, -0x1430(%rbp)
jmp 0xfd93f
movq -0x1430(%rbp), %rdi
leaq 0x38591(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1438(%rbp)
jmp 0xfd95b
movq -0x1438(%rbp), %rdi
movl -0xcd8(%rbp), %esi
callq 0xab20
movq %rax, -0x1440(%rbp)
jmp 0xfd976
movq -0x1440(%rbp), %rdi
movq 0x9b604(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xfd98b
movslq -0xccc(%rbp), %rsi
leaq -0x908(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x651e0
movq %rax, %rdi
callq 0x53210
movslq -0xccc(%rbp), %rsi
leaq -0x908(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x1, %esi
callq 0x651e0
movq %rax, %rdi
callq 0x53210
movslq -0xccc(%rbp), %rsi
leaq -0x908(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x2, %esi
callq 0x651e0
movq %rax, %rdi
callq 0x53210
movl -0xccc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xccc(%rbp)
jmp 0xfd4f8
movsd -0xa48(%rbp), %xmm0
cvtsi2sdl -0x914(%rbp), %xmm1
ucomisd %xmm1, %xmm0
jbe 0xfda52
movl -0x910(%rbp), %eax
addl 0x9bfa8(%rip), %eax     # 0x1999e0
movl %eax, -0x910(%rbp)
movl -0x914(%rbp), %eax
addl 0x9bf96(%rip), %eax     # 0x1999e0
movl %eax, -0x914(%rbp)
jmp 0xfda83
movsd -0xa48(%rbp), %xmm1
cvtsi2sdl -0x910(%rbp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0xfda81
movl $0x0, -0x910(%rbp)
movl 0x9bf68(%rip), %eax     # 0x1999e0
addl $0x0, %eax
movl %eax, -0x914(%rbp)
jmp 0xfda83
jmp 0xfda85
movl $0x0, -0xd54(%rbp)
movslq -0xd54(%rbp), %rax
movq %rax, -0x1448(%rbp)
leaq -0x368(%rbp), %rdi
callq 0x409f0
movq %rax, %rcx
movq -0x1448(%rbp), %rax
cmpq %rcx, %rax
je 0xfe898
movq -0xc30(%rbp), %rax
addq $0xe0, %rax
movq %rax, -0x1458(%rbp)
movslq -0xd54(%rbp), %rsi
leaq -0x368(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3d940
movq -0x1458(%rbp), %rdi
movq %rax, %rsi
callq 0x847c0
movq %rax, -0x1450(%rbp)
jmp 0xfdb07
movq -0x1450(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0xd40(%rbp)
movsd -0xd40(%rbp), %xmm0
movsd 0x35b96(%rip), %xmm1    # 0x1336c0
ucomisd %xmm1, %xmm0
jne 0xfdb37
jp 0xfdb37
jmp 0xfe873
movq -0xc30(%rbp), %rax
addq $0xe0, %rax
movq %rax, -0x1468(%rbp)
movslq -0xd54(%rbp), %rsi
leaq -0x368(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x1, %esi
callq 0x3d940
movq -0x1468(%rbp), %rdi
movq %rax, %rsi
callq 0x847c0
movq %rax, -0x1460(%rbp)
jmp 0xfdb83
movq -0x1460(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0xd48(%rbp)
movsd -0xd48(%rbp), %xmm0
movsd 0x35b1a(%rip), %xmm1    # 0x1336c0
ucomisd %xmm1, %xmm0
jne 0xfdbb3
jp 0xfdbb3
jmp 0xfe873
movq -0xc30(%rbp), %rax
addq $0xe0, %rax
movq %rax, -0x1478(%rbp)
movslq -0xd54(%rbp), %rsi
leaq -0x368(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x2, %esi
callq 0x3d940
movq -0x1478(%rbp), %rdi
movq %rax, %rsi
callq 0x847c0
movq %rax, -0x1470(%rbp)
jmp 0xfdbff
movq -0x1470(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0xd50(%rbp)
movsd -0xd50(%rbp), %xmm0
movsd 0x35a9e(%rip), %xmm1    # 0x1336c0
ucomisd %xmm1, %xmm0
jne 0xfdc2f
jp 0xfdc2f
jmp 0xfe873
movsd -0xd40(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xfdc6d
jp 0xfdc6d
movsd -0xd48(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xfdc6d
jp 0xfdc6d
movsd -0xd50(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xfdc6d
jp 0xfdc6d
jmp 0xfe873
movsd -0xd40(%rbp), %xmm0
movsd 0x3463b(%rip), %xmm1    # 0x1322b8
ucomisd %xmm1, %xmm0
jne 0xfdcba
jp 0xfdcba
movsd -0xd48(%rbp), %xmm0
movsd 0x34623(%rip), %xmm1    # 0x1322b8
ucomisd %xmm1, %xmm0
jne 0xfdcba
jp 0xfdcba
movsd -0xd50(%rbp), %xmm0
movsd 0x3460b(%rip), %xmm1    # 0x1322b8
ucomisd %xmm1, %xmm0
jne 0xfdcba
jp 0xfdcba
jmp 0xfe873
movslq -0xd54(%rbp), %rsi
leaq -0x9c0(%rbp), %rdi
callq 0x4d100
movl (%rax), %ecx
incl %ecx
movl %ecx, (%rax)
movsd -0xd40(%rbp), %xmm0
movsd %xmm0, -0x14a0(%rbp)
movsd -0xd48(%rbp), %xmm0
movsd %xmm0, -0x1498(%rbp)
movsd -0xd50(%rbp), %xmm0
movsd %xmm0, -0x1490(%rbp)
movq -0xc30(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x1488(%rbp)
movslq -0xd54(%rbp), %rsi
leaq -0x368(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3d940
movq -0x1488(%rbp), %rdi
movq %rax, %rsi
callq 0x83190
movq %rax, -0x1480(%rbp)
jmp 0xfdd4c
movq -0x1480(%rbp), %rax
cvtsi2sdl (%rax), %xmm0
movsd %xmm0, -0x14b8(%rbp)
movq -0xc30(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x14b0(%rbp)
movslq -0xd54(%rbp), %rsi
leaq -0x368(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x1, %esi
callq 0x3d940
movq -0x14b0(%rbp), %rdi
movq %rax, %rsi
callq 0x83190
movq %rax, -0x14a8(%rbp)
jmp 0xfdda9
movq -0x14a8(%rbp), %rax
cvtsi2sdl (%rax), %xmm0
movsd %xmm0, -0x14d0(%rbp)
movq -0xc30(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x14c8(%rbp)
movslq -0xd54(%rbp), %rsi
leaq -0x368(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x2, %esi
callq 0x3d940
movq -0x14c8(%rbp), %rdi
movq %rax, %rsi
callq 0x83190
movq %rax, -0x14c0(%rbp)
jmp 0xfde06
movsd -0x14d0(%rbp), %xmm4
movsd -0x14b8(%rbp), %xmm3
movsd -0x1490(%rbp), %xmm2
movsd -0x1498(%rbp), %xmm1
movsd -0x14a0(%rbp), %xmm0
movq -0x14c0(%rbp), %rax
cvtsi2sdl (%rax), %xmm5
leaq -0xd70(%rbp), %rdi
callq 0xffd20
jmp 0xfde47
movslq -0xd54(%rbp), %rsi
leaq -0x8c8(%rbp), %rdi
callq 0x100340
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
movq %rsi, -0x14e0(%rbp)
callq 0x100360
movq -0x14e0(%rbp), %rsi
movq %rax, -0x14d8(%rbp)
leaq -0xd70(%rbp), %rdi
callq 0x3ec30
movq -0x14d8(%rbp), %rdi
movq %rax, %rsi
callq 0x100380
jmp 0xfde98
movslq -0xd54(%rbp), %rsi
leaq -0x8c8(%rbp), %rdi
callq 0x100340
movq %rax, %rdi
movl $0x1, %esi
movq %rsi, -0x14f0(%rbp)
callq 0x100360
movq -0x14f0(%rbp), %rsi
movq %rax, -0x14e8(%rbp)
leaq -0xd70(%rbp), %rdi
callq 0x3ec30
movq -0x14e8(%rbp), %rdi
movq %rax, %rsi
callq 0x100380
jmp 0xfdeea
movslq -0xd54(%rbp), %rsi
leaq -0x8c8(%rbp), %rdi
callq 0x100340
movq %rax, %rdi
movl $0x2, %esi
movq %rsi, -0x1500(%rbp)
callq 0x100360
movq -0x1500(%rbp), %rsi
movq %rax, -0x14f8(%rbp)
leaq -0xd70(%rbp), %rdi
callq 0x3ec30
movq -0x14f8(%rbp), %rdi
movq %rax, %rsi
callq 0x100380
jmp 0xfdf3c
movslq -0xd54(%rbp), %rsi
leaq -0x8c8(%rbp), %rdi
callq 0x100340
movq %rax, %rdi
movl $0x3, %esi
callq 0x100360
movq %rax, -0x1508(%rbp)
leaq -0xd98(%rbp), %rdi
leaq -0xa40(%rbp), %rsi
callq 0xa250
jmp 0xfdf78
leaq -0xd98(%rbp), %rdi
callq 0x7bab0
movsd %xmm0, -0x1510(%rbp)
jmp 0xfdf8e
movq -0x1508(%rbp), %rdi
movsd -0x1510(%rbp), %xmm0
movsd %xmm0, -0xd78(%rbp)
leaq -0xd78(%rbp), %rsi
callq 0x1003e0
jmp 0xfdfb3
leaq -0xd98(%rbp), %rdi
callq 0xac88
movslq -0xd54(%rbp), %rsi
leaq -0x8c8(%rbp), %rdi
movq %rdi, -0x1528(%rbp)
callq 0x100340
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
movq %rsi, -0x1520(%rbp)
callq 0x100360
movq %rax, %rdi
callq 0x100410
movq -0x1528(%rbp), %rdi
movslq -0xd54(%rbp), %rsi
callq 0x100340
movq %rax, %rdi
movl $0x1, %esi
callq 0x100360
movq %rax, %rdi
callq 0x100410
movq -0x1528(%rbp), %rdi
movslq -0xd54(%rbp), %rsi
callq 0x100340
movq %rax, %rdi
movl $0x2, %esi
callq 0x100360
movq %rax, %rdi
callq 0x100410
movq -0x1528(%rbp), %rdi
movslq -0xd54(%rbp), %rsi
callq 0x100340
movq %rax, %rdi
movl $0x3, %esi
callq 0x100360
movq %rax, %rdi
callq 0x100410
movslq -0xd54(%rbp), %rsi
leaq -0x908(%rbp), %rdi
callq 0xf57b0
movq -0x1520(%rbp), %rsi
movq %rax, %rdi
callq 0x651e0
movq -0x1520(%rbp), %rsi
movq %rax, -0x1518(%rbp)
leaq -0xd70(%rbp), %rdi
callq 0x3ec30
movq -0x1518(%rbp), %rdi
movq %rax, %rsi
callq 0xb77b0
jmp 0xfe0b9
movslq -0xd54(%rbp), %rsi
leaq -0x908(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x1, %esi
movq %rsi, -0x1538(%rbp)
callq 0x651e0
movq -0x1538(%rbp), %rsi
movq %rax, -0x1530(%rbp)
leaq -0xd70(%rbp), %rdi
callq 0x3ec30
movq -0x1530(%rbp), %rdi
movq %rax, %rsi
callq 0xb77b0
jmp 0xfe10b
movslq -0xd54(%rbp), %rsi
leaq -0x908(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x2, %esi
movq %rsi, -0x1548(%rbp)
callq 0x651e0
movq -0x1548(%rbp), %rsi
movq %rax, -0x1540(%rbp)
leaq -0xd70(%rbp), %rdi
callq 0x3ec30
movq -0x1540(%rbp), %rdi
movq %rax, %rsi
callq 0xb77b0
jmp 0xfe15d
leaq 0x9d18c(%rip), %rdi     # 0x19b2f0
callq 0xaa70
testb $0x1, %al
jne 0xfe543
xorl %eax, %eax
movl %eax, %esi
leaq -0xcc8(%rbp), %rdi
callq 0x3d940
movq %rax, %rdi
leaq 0x37d54(%rip), %rsi     # 0x135edf
callq 0x50eb0
movb %al, -0x1549(%rbp)
jmp 0xfe198
movb -0x1549(%rbp), %al
testb $0x1, %al
jne 0xfe1a7
jmp 0xfe541
leaq -0xcc8(%rbp), %rdi
movl $0x1, %esi
callq 0x3d940
movq %rax, %rdi
leaq 0x3df97(%rip), %rsi     # 0x13c159
callq 0x2d770
movb %al, -0x154a(%rbp)
jmp 0xfe1cf
movb -0x154a(%rbp), %al
testb $0x1, %al
jne 0xfe1de
jmp 0xfe312
movslq -0xd54(%rbp), %rsi
leaq -0x950(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
movq %rsi, -0x1560(%rbp)
callq 0x651e0
movq -0x1560(%rbp), %rsi
movq %rax, -0x1558(%rbp)
leaq -0xd70(%rbp), %rdi
callq 0x3ec30
movq -0x1558(%rbp), %rdi
movq %rax, %rsi
callq 0xb77b0
jmp 0xfe22f
movslq -0xd54(%rbp), %rsi
leaq -0x950(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x1, %esi
movq %rsi, -0x1570(%rbp)
callq 0x651e0
movq -0x1570(%rbp), %rsi
movq %rax, -0x1568(%rbp)
leaq -0xd70(%rbp), %rdi
callq 0x3ec30
movq -0x1568(%rbp), %rdi
movq %rax, %rsi
callq 0xb77b0
jmp 0xfe281
movslq -0xd54(%rbp), %rsi
leaq -0x950(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x2, %esi
movq %rsi, -0x1580(%rbp)
callq 0x651e0
movq -0x1580(%rbp), %rsi
movq %rax, -0x1578(%rbp)
leaq -0xd70(%rbp), %rdi
callq 0x3ec30
movq -0x1578(%rbp), %rdi
movq %rax, %rsi
callq 0xb77b0
jmp 0xfe2d3
jmp 0xfe53f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfe887
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0xd98(%rbp), %rdi
callq 0xac88
jmp 0xfe887
leaq -0xcc8(%rbp), %rdi
movl $0x1, %esi
callq 0x3d940
movq %rax, %rdi
leaq 0x367ee(%rip), %rsi     # 0x134b1b
callq 0x2d770
movb %al, -0x1581(%rbp)
jmp 0xfe33a
movb -0x1581(%rbp), %al
testb $0x1, %al
jne 0xfe349
jmp 0xfe428
movslq -0xd54(%rbp), %rsi
leaq -0x950(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x3, %esi
callq 0x651e0
movq %rax, -0x1590(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0xd70(%rbp), %rdi
callq 0x3ec30
movq -0x1590(%rbp), %rdi
movq %rax, %rsi
callq 0xb77b0
jmp 0xfe391
movslq -0xd54(%rbp), %rsi
leaq -0x950(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x4, %esi
callq 0x651e0
movq %rax, -0x1598(%rbp)
leaq -0xd70(%rbp), %rdi
movl $0x1, %esi
callq 0x3ec30
movq -0x1598(%rbp), %rdi
movq %rax, %rsi
callq 0xb77b0
jmp 0xfe3da
movslq -0xd54(%rbp), %rsi
leaq -0x950(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x5, %esi
callq 0x651e0
movq %rax, -0x15a0(%rbp)
leaq -0xd70(%rbp), %rdi
movl $0x2, %esi
callq 0x3ec30
movq -0x15a0(%rbp), %rdi
movq %rax, %rsi
callq 0xb77b0
jmp 0xfe423
jmp 0xfe53d
leaq -0xcc8(%rbp), %rdi
movl $0x1, %esi
callq 0x3d940
movq %rax, %rdi
leaq 0x4d80b(%rip), %rsi     # 0x14bc4e
callq 0x2d770
movb %al, -0x15a1(%rbp)
jmp 0xfe450
movb -0x15a1(%rbp), %al
testb $0x1, %al
jne 0xfe45f
jmp 0xfe53b
movslq -0xd54(%rbp), %rsi
leaq -0x950(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x6, %esi
callq 0x651e0
movq %rax, -0x15b0(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0xd70(%rbp), %rdi
callq 0x3ec30
movq -0x15b0(%rbp), %rdi
movq %rax, %rsi
callq 0xb77b0
jmp 0xfe4a7
movslq -0xd54(%rbp), %rsi
leaq -0x950(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x7, %esi
callq 0x651e0
movq %rax, -0x15b8(%rbp)
leaq -0xd70(%rbp), %rdi
movl $0x1, %esi
callq 0x3ec30
movq -0x15b8(%rbp), %rdi
movq %rax, %rsi
callq 0xb77b0
jmp 0xfe4f0
movslq -0xd54(%rbp), %rsi
leaq -0x950(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x8, %esi
callq 0x651e0
movq %rax, -0x15c0(%rbp)
leaq -0xd70(%rbp), %rdi
movl $0x2, %esi
callq 0x3ec30
movq -0x15c0(%rbp), %rdi
movq %rax, %rsi
callq 0xb77b0
jmp 0xfe539
jmp 0xfe53b
jmp 0xfe53d
jmp 0xfe53f
jmp 0xfe541
jmp 0xfe543
movslq -0xd54(%rbp), %rsi
leaq -0x9c0(%rbp), %rdi
callq 0x4d100
movl (%rax), %eax
cmpl 0x9b47a(%rip), %eax     # 0x1999d8
jle 0xfe867
movslq -0xd54(%rbp), %rsi
leaq -0x9c0(%rbp), %rdi
callq 0x4d100
movl (%rax), %eax
cltd
idivl 0x9b45c(%rip)           # 0x1999dc
cmpl $0x0, %edx
jne 0xfe867
movslq -0xd54(%rbp), %rsi
leaq -0x320(%rbp), %rdi
callq 0xffd00
movq (%rax), %rdi
leaq -0xa20(%rbp), %rsi
callq 0xa520
movq %rax, -0x15c8(%rbp)
jmp 0xfe5b4
movq -0x15c8(%rbp), %rdi
leaq 0x3791c(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x15d0(%rbp)
jmp 0xfe5d0
movslq -0xd54(%rbp), %rsi
leaq -0x8c8(%rbp), %rdi
callq 0x100340
movq %rax, %rdi
movl $0x3, %esi
callq 0x100360
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x100480
movq -0x15d0(%rbp), %rdi
cvttsd2si (%rax), %esi
callq 0xab20
movq %rax, -0x15d8(%rbp)
jmp 0xfe615
movq -0x15d8(%rbp), %rdi
leaq 0x378bb(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x15e0(%rbp)
jmp 0xfe631
movq -0x15e0(%rbp), %rdi
leaq -0xa40(%rbp), %rsi
callq 0xa520
movq %rax, -0x15e8(%rbp)
jmp 0xfe64d
movq -0x15e8(%rbp), %rdi
leaq 0x37883(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x15f0(%rbp)
jmp 0xfe669
movslq -0xd54(%rbp), %rsi
leaq -0x8c8(%rbp), %rdi
callq 0x100340
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x100360
movq %rax, %rsi
leaq -0xde8(%rbp), %rdi
callq 0x100570
jmp 0xfe699
leaq -0xde8(%rbp), %rdi
callq 0x1004b0
movsd %xmm0, -0x15f8(%rbp)
jmp 0xfe6af
movsd -0x15f8(%rbp), %xmm0
movq -0x15f0(%rbp), %rdi
callq 0xabd0
movq %rax, -0x1600(%rbp)
jmp 0xfe6cc
movq -0x1600(%rbp), %rdi
leaq 0x37804(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1608(%rbp)
jmp 0xfe6e8
movslq -0xd54(%rbp), %rsi
leaq -0x8c8(%rbp), %rdi
callq 0x100340
movq %rax, %rdi
movl $0x1, %esi
callq 0x100360
movq %rax, %rsi
leaq -0xe38(%rbp), %rdi
callq 0x100570
jmp 0xfe719
leaq -0xe38(%rbp), %rdi
callq 0x1004b0
movsd %xmm0, -0x1610(%rbp)
jmp 0xfe72f
movsd -0x1610(%rbp), %xmm0
movq -0x1608(%rbp), %rdi
callq 0xabd0
movq %rax, -0x1618(%rbp)
jmp 0xfe74c
movq -0x1618(%rbp), %rdi
leaq 0x37784(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1620(%rbp)
jmp 0xfe768
movslq -0xd54(%rbp), %rsi
leaq -0x8c8(%rbp), %rdi
callq 0x100340
movq %rax, %rdi
movl $0x2, %esi
callq 0x100360
movq %rax, %rsi
leaq -0xe88(%rbp), %rdi
callq 0x100570
jmp 0xfe799
leaq -0xe88(%rbp), %rdi
callq 0x1004b0
movsd %xmm0, -0x1628(%rbp)
jmp 0xfe7af
movsd -0x1628(%rbp), %xmm0
movq -0x1620(%rbp), %rdi
callq 0xabd0
movq %rax, -0x1630(%rbp)
jmp 0xfe7cc
movq -0x1630(%rbp), %rdi
movq 0x9a7ae(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xfe7e1
leaq -0xe88(%rbp), %rdi
callq 0x100690
leaq -0xe38(%rbp), %rdi
callq 0x100690
leaq -0xde8(%rbp), %rdi
callq 0x100690
jmp 0xfe867
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfe859
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xfe84d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0xe88(%rbp), %rdi
callq 0x100690
leaq -0xe38(%rbp), %rdi
callq 0x100690
leaq -0xde8(%rbp), %rdi
callq 0x100690
jmp 0xfe887
leaq -0xd70(%rbp), %rdi
callq 0x3ecb0
movl -0xd54(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xd54(%rbp)
jmp 0xfda8f
leaq -0xd70(%rbp), %rdi
callq 0x3ecb0
jmp 0xff2fd
leaq 0x9ca51(%rip), %rdi     # 0x19b2f0
callq 0xaa70
testb $0x1, %al
jne 0xff25a
leaq 0x3762c(%rip), %rsi     # 0x135edf
leaq -0x9a0(%rbp), %rdi
callq 0x50eb0
movb %al, -0x1631(%rbp)
jmp 0xfe8c7
movb -0x1631(%rbp), %al
testb $0x1, %al
jne 0xfe8d6
jmp 0xff258
leaq -0x978(%rbp), %rdi
leaq -0x9a0(%rbp), %rsi
callq 0x56980
testb $0x1, %al
jne 0xfe8f2
jmp 0xff258
movl $0x0, -0xe8c(%rbp)
movslq -0xe8c(%rbp), %rax
movq %rax, -0x1640(%rbp)
leaq -0x368(%rbp), %rdi
callq 0x409f0
movq %rax, %rcx
movq -0x1640(%rbp), %rax
cmpq %rcx, %rax
je 0xff241
movslq -0xe8c(%rbp), %rsi
leaq -0x950(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x651e0
movq %rax, %rdi
callq 0x3ebf0
movl %eax, -0xe90(%rbp)
movslq -0xe8c(%rbp), %rsi
leaq -0x950(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x3, %esi
callq 0x651e0
movq %rax, %rdi
callq 0x3ebf0
movl %eax, -0xe94(%rbp)
movslq -0xe8c(%rbp), %rsi
leaq -0x950(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x6, %esi
callq 0x651e0
movq %rax, %rdi
callq 0x3ebf0
movl %eax, -0xe98(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0xea0(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0xea8(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0xeb0(%rbp)
cmpl $0x0, -0xe90(%rbp)
jle 0xfeb73
movslq -0xe8c(%rbp), %rsi
leaq -0x950(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x651e0
movq %rax, %rsi
leaq -0xec8(%rbp), %rdi
callq 0x53120
jmp 0xfea10
leaq -0xec8(%rbp), %rdi
callq 0x53060
movsd %xmm0, -0x1648(%rbp)
jmp 0xfea26
movsd -0x1648(%rbp), %xmm0
movsd %xmm0, -0xea0(%rbp)
leaq -0xec8(%rbp), %rdi
callq 0x3ecb0
movslq -0xe8c(%rbp), %rsi
leaq -0x950(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x1, %esi
callq 0x651e0
movq %rax, %rsi
leaq -0xee0(%rbp), %rdi
callq 0x53120
jmp 0xfea73
leaq -0xee0(%rbp), %rdi
callq 0x53060
movsd %xmm0, -0x1650(%rbp)
jmp 0xfea89
movsd -0x1650(%rbp), %xmm0
movsd %xmm0, -0xea8(%rbp)
leaq -0xee0(%rbp), %rdi
callq 0x3ecb0
movslq -0xe8c(%rbp), %rsi
leaq -0x950(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x2, %esi
callq 0x651e0
movq %rax, %rsi
leaq -0xef8(%rbp), %rdi
callq 0x53120
jmp 0xfead6
leaq -0xef8(%rbp), %rdi
callq 0x53060
movsd %xmm0, -0x1658(%rbp)
jmp 0xfeaec
movsd -0x1658(%rbp), %xmm0
movsd %xmm0, -0xeb0(%rbp)
leaq -0xef8(%rbp), %rdi
callq 0x3ecb0
jmp 0xfeb73
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0xec8(%rbp), %rdi
callq 0x3ecb0
jmp 0xff2fd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0xee0(%rbp), %rdi
callq 0x3ecb0
jmp 0xff2fd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0xef8(%rbp), %rdi
callq 0x3ecb0
jmp 0xff2fd
xorps %xmm0, %xmm0
movsd %xmm0, -0xf00(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0xf08(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0xf10(%rbp)
cmpl $0x0, -0xe94(%rbp)
jle 0xfed35
movslq -0xe8c(%rbp), %rsi
leaq -0x950(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x3, %esi
callq 0x651e0
movq %rax, %rsi
leaq -0xf28(%rbp), %rdi
callq 0x53120
jmp 0xfebd2
leaq -0xf28(%rbp), %rdi
callq 0x53060
movsd %xmm0, -0x1660(%rbp)
jmp 0xfebe8
movsd -0x1660(%rbp), %xmm0
movsd %xmm0, -0xf00(%rbp)
leaq -0xf28(%rbp), %rdi
callq 0x3ecb0
movslq -0xe8c(%rbp), %rsi
leaq -0x950(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x4, %esi
callq 0x651e0
movq %rax, %rsi
leaq -0xf40(%rbp), %rdi
callq 0x53120
jmp 0xfec35
leaq -0xf40(%rbp), %rdi
callq 0x53060
movsd %xmm0, -0x1668(%rbp)
jmp 0xfec4b
movsd -0x1668(%rbp), %xmm0
movsd %xmm0, -0xf08(%rbp)
leaq -0xf40(%rbp), %rdi
callq 0x3ecb0
movslq -0xe8c(%rbp), %rsi
leaq -0x950(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x5, %esi
callq 0x651e0
movq %rax, %rsi
leaq -0xf58(%rbp), %rdi
callq 0x53120
jmp 0xfec98
leaq -0xf58(%rbp), %rdi
callq 0x53060
movsd %xmm0, -0x1670(%rbp)
jmp 0xfecae
movsd -0x1670(%rbp), %xmm0
movsd %xmm0, -0xf10(%rbp)
leaq -0xf58(%rbp), %rdi
callq 0x3ecb0
jmp 0xfed35
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0xf28(%rbp), %rdi
callq 0x3ecb0
jmp 0xff2fd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0xf40(%rbp), %rdi
callq 0x3ecb0
jmp 0xff2fd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0xf58(%rbp), %rdi
callq 0x3ecb0
jmp 0xff2fd
xorps %xmm0, %xmm0
movsd %xmm0, -0xf60(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0xf68(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0xf70(%rbp)
cmpl $0x0, -0xe98(%rbp)
jle 0xfeef7
movslq -0xe8c(%rbp), %rsi
leaq -0x950(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x6, %esi
callq 0x651e0
movq %rax, %rsi
leaq -0xf88(%rbp), %rdi
callq 0x53120
jmp 0xfed94
leaq -0xf88(%rbp), %rdi
callq 0x53060
movsd %xmm0, -0x1678(%rbp)
jmp 0xfedaa
movsd -0x1678(%rbp), %xmm0
movsd %xmm0, -0xf60(%rbp)
leaq -0xf88(%rbp), %rdi
callq 0x3ecb0
movslq -0xe8c(%rbp), %rsi
leaq -0x950(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x7, %esi
callq 0x651e0
movq %rax, %rsi
leaq -0xfa0(%rbp), %rdi
callq 0x53120
jmp 0xfedf7
leaq -0xfa0(%rbp), %rdi
callq 0x53060
movsd %xmm0, -0x1680(%rbp)
jmp 0xfee0d
movsd -0x1680(%rbp), %xmm0
movsd %xmm0, -0xf68(%rbp)
leaq -0xfa0(%rbp), %rdi
callq 0x3ecb0
movslq -0xe8c(%rbp), %rsi
leaq -0x950(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x8, %esi
callq 0x651e0
movq %rax, %rsi
leaq -0xfb8(%rbp), %rdi
callq 0x53120
jmp 0xfee5a
leaq -0xfb8(%rbp), %rdi
callq 0x53060
movsd %xmm0, -0x1688(%rbp)
jmp 0xfee70
movsd -0x1688(%rbp), %xmm0
movsd %xmm0, -0xf70(%rbp)
leaq -0xfb8(%rbp), %rdi
callq 0x3ecb0
jmp 0xfeef7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0xf88(%rbp), %rdi
callq 0x3ecb0
jmp 0xff2fd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0xfa0(%rbp), %rdi
callq 0x3ecb0
jmp 0xff2fd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0xfb8(%rbp), %rdi
callq 0x3ecb0
jmp 0xff2fd
movslq -0xe8c(%rbp), %rsi
leaq -0x350(%rbp), %rdi
callq 0xffd00
movq (%rax), %rdi
leaq -0x9a0(%rbp), %rsi
callq 0xa520
movq %rax, -0x1690(%rbp)
jmp 0xfef22
movq -0x1690(%rbp), %rdi
leaq 0x36fae(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1698(%rbp)
jmp 0xfef3e
movq -0x1698(%rbp), %rdi
movl -0xe90(%rbp), %esi
callq 0xab20
movq %rax, -0x16a0(%rbp)
jmp 0xfef59
movq -0x16a0(%rbp), %rdi
leaq 0x36f77(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x16a8(%rbp)
jmp 0xfef75
movq -0x16a8(%rbp), %rdi
movl -0xe94(%rbp), %esi
callq 0xab20
movq %rax, -0x16b0(%rbp)
jmp 0xfef90
movq -0x16b0(%rbp), %rdi
leaq 0x36f40(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x16b8(%rbp)
jmp 0xfefac
movq -0x16b8(%rbp), %rdi
movl -0xe98(%rbp), %esi
callq 0xab20
movq %rax, -0x16c0(%rbp)
jmp 0xfefc7
movq -0x16c0(%rbp), %rdi
leaq 0x36f09(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x16c8(%rbp)
jmp 0xfefe3
movq -0x16c8(%rbp), %rdi
movsd -0xea0(%rbp), %xmm0
callq 0xabd0
movq %rax, -0x16d0(%rbp)
jmp 0xff000
movq -0x16d0(%rbp), %rdi
leaq 0x36ed0(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x16d8(%rbp)
jmp 0xff01c
movq -0x16d8(%rbp), %rdi
movsd -0xea8(%rbp), %xmm0
callq 0xabd0
movq %rax, -0x16e0(%rbp)
jmp 0xff039
movq -0x16e0(%rbp), %rdi
leaq 0x36e97(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x16e8(%rbp)
jmp 0xff055
movq -0x16e8(%rbp), %rdi
movsd -0xeb0(%rbp), %xmm0
callq 0xabd0
movq %rax, -0x16f0(%rbp)
jmp 0xff072
movq -0x16f0(%rbp), %rdi
leaq 0x36e5e(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x16f8(%rbp)
jmp 0xff08e
movq -0x16f8(%rbp), %rdi
movsd -0xf00(%rbp), %xmm0
callq 0xabd0
movq %rax, -0x1700(%rbp)
jmp 0xff0ab
movq -0x1700(%rbp), %rdi
leaq 0x36e25(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1708(%rbp)
jmp 0xff0c7
movq -0x1708(%rbp), %rdi
movsd -0xf08(%rbp), %xmm0
callq 0xabd0
movq %rax, -0x1710(%rbp)
jmp 0xff0e4
movq -0x1710(%rbp), %rdi
leaq 0x36dec(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1718(%rbp)
jmp 0xff100
movq -0x1718(%rbp), %rdi
movsd -0xf10(%rbp), %xmm0
callq 0xabd0
movq %rax, -0x1720(%rbp)
jmp 0xff11d
movq -0x1720(%rbp), %rdi
leaq 0x36db3(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1728(%rbp)
jmp 0xff139
movq -0x1728(%rbp), %rdi
movsd -0xf60(%rbp), %xmm0
callq 0xabd0
movq %rax, -0x1730(%rbp)
jmp 0xff156
movq -0x1730(%rbp), %rdi
leaq 0x36d7a(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1738(%rbp)
jmp 0xff172
movq -0x1738(%rbp), %rdi
movsd -0xf68(%rbp), %xmm0
callq 0xabd0
movq %rax, -0x1740(%rbp)
jmp 0xff18f
movq -0x1740(%rbp), %rdi
leaq 0x36d41(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1748(%rbp)
jmp 0xff1ab
movq -0x1748(%rbp), %rdi
movsd -0xf70(%rbp), %xmm0
callq 0xabd0
movq %rax, -0x1750(%rbp)
jmp 0xff1c8
movq -0x1750(%rbp), %rdi
movq 0x99db2(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xff1dd
movl $0x0, -0xfbc(%rbp)
cmpl $0x8, -0xfbc(%rbp)
jg 0xff22b
movslq -0xe8c(%rbp), %rsi
leaq -0x950(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movslq -0xfbc(%rbp), %rsi
callq 0x651e0
movq %rax, %rdi
callq 0x53210
movl -0xfbc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xfbc(%rbp)
jmp 0xff1e7
jmp 0xff22d
movl -0xe8c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe8c(%rbp)
jmp 0xfe8fc
leaq -0x9a0(%rbp), %rdi
leaq -0x978(%rbp), %rsi
callq 0xa060
jmp 0xff256
jmp 0xff258
jmp 0xff25a
callq 0xa3a0
subq -0xa60(%rbp), %rax
cvtsi2sd %rax, %xmm0
movsd 0x3a1b5(%rip), %xmm1    # 0x139428
divsd %xmm1, %xmm0
movsd %xmm0, -0xa78(%rbp)
movq -0xc30(%rbp), %rax
movq %rax, -0x1758(%rbp)
cmpq $0x0, %rax
je 0xff2b0
movq -0x1758(%rbp), %rdi
callq 0xc6bd0
movq -0x1758(%rbp), %rdi
movl $0x240, %esi            # imm = 0x240
callq 0xa5e0
leaq -0xcc8(%rbp), %rdi
callq 0x3dfa0
movl $0x0, -0xc28(%rbp)
leaq -0xc20(%rbp), %rdi
callq 0xac88
leaq -0xc00(%rbp), %rdi
callq 0xac88
leaq -0xbc0(%rbp), %rdi
callq 0x3dfa0
movl -0xc28(%rbp), %eax
testl %eax, %eax
je 0xff2fb
jmp 0xff2f6
jmp 0xfc460
jmp 0xff332
leaq -0xcc8(%rbp), %rdi
callq 0x3dfa0
leaq -0xc20(%rbp), %rdi
callq 0xac88
leaq -0xc00(%rbp), %rdi
callq 0xac88
leaq -0xbc0(%rbp), %rdi
callq 0x3dfa0
jmp 0xff477
jmp 0xff334
jmp 0xfc460
movl $0x1, -0xc28(%rbp)
leaq -0xa40(%rbp), %rdi
callq 0xac88
leaq -0xa20(%rbp), %rdi
callq 0xac88
leaq -0x9f8(%rbp), %rdi
callq 0x3dfa0
leaq -0x9e0(%rbp), %rdi
callq 0x3dfa0
leaq -0x9c0(%rbp), %rdi
callq 0x48290
leaq -0x9a0(%rbp), %rdi
callq 0xac88
leaq -0x978(%rbp), %rdi
callq 0xac88
leaq -0x950(%rbp), %rdi
callq 0xf57d0
leaq -0x930(%rbp), %rdi
callq 0x65200
leaq -0x908(%rbp), %rdi
callq 0xf57d0
leaq -0x8e8(%rbp), %rdi
callq 0x65200
leaq -0x8c8(%rbp), %rdi
callq 0x100700
leaq -0x8a8(%rbp), %rdi
callq 0x100760
leaq -0x880(%rbp), %rdi
callq 0x100690
leaq -0x368(%rbp), %rdi
callq 0x3ec50
leaq -0x350(%rbp), %rdi
callq 0x1007c0
leaq -0x338(%rbp), %rdi
callq 0x1007c0
leaq -0x320(%rbp), %rdi
callq 0x1007c0
leaq -0x2f8(%rbp), %rdi
callq 0x3dfa0
leaq -0x2c8(%rbp), %rdi
callq 0x95b50
leaq -0x298(%rbp), %rdi
callq 0x95b70
leaq -0x268(%rbp), %rdi
callq 0x58620
leaq -0x238(%rbp), %rdi
callq 0x58f00
leaq -0xf0(%rbp), %rdi
callq 0x588b0
leaq -0x30(%rbp), %rdi
callq 0xac88
xorl %eax, %eax
addq $0x1760, %rsp           # imm = 0x1760
popq %rbp
retq
leaq -0xa40(%rbp), %rdi
callq 0xac88
leaq -0xa20(%rbp), %rdi
callq 0xac88
leaq -0x9f8(%rbp), %rdi
callq 0x3dfa0
leaq -0x9e0(%rbp), %rdi
callq 0x3dfa0
leaq -0x9c0(%rbp), %rdi
callq 0x48290
leaq -0x9a0(%rbp), %rdi
callq 0xac88
leaq -0x978(%rbp), %rdi
callq 0xac88
leaq -0x950(%rbp), %rdi
callq 0xf57d0
leaq -0x930(%rbp), %rdi
callq 0x65200
leaq -0x908(%rbp), %rdi
callq 0xf57d0
leaq -0x8e8(%rbp), %rdi
callq 0x65200
leaq -0x8c8(%rbp), %rdi
callq 0x100700
leaq -0x8a8(%rbp), %rdi
callq 0x100760
leaq -0x880(%rbp), %rdi
callq 0x100690
leaq -0x368(%rbp), %rdi
callq 0x3ec50
leaq -0x350(%rbp), %rdi
callq 0x1007c0
leaq -0x338(%rbp), %rdi
callq 0x1007c0
leaq -0x320(%rbp), %rdi
callq 0x1007c0
leaq -0x2f8(%rbp), %rdi
callq 0x3dfa0
leaq -0x2c8(%rbp), %rdi
callq 0x95b50
leaq -0x298(%rbp), %rdi
callq 0x95b70
leaq -0x268(%rbp), %rdi
callq 0x58620
leaq -0x238(%rbp), %rdi
callq 0x58f00
leaq -0xf0(%rbp), %rdi
callq 0x588b0
leaq -0x30(%rbp), %rdi
callq 0xac88
movq -0xf8(%rbp), %rdi
callq 0xab50
nopl (%rax)