// File: millanek[P]evo/evo_Dmin.cpp
// Function: DminMain(int, char**)
int DminMain(int argc, char** argv) {
    parseDminOptions(argc, argv);
    string line; // for reading the input files
    
    std::istream* vcfFile = createReader(opt::vcfFile.c_str());
    std::ifstream* setsFile = new std::ifstream(opt::setsFile.c_str());
    string setsFileRoot = stripExtension(opt::setsFile);
    std::ofstream* outFileBBAA;
    std::ofstream* outFileDmin;
    std::ofstream* outFileCombine;
    std::ofstream* outFileCombineStdErr;
    if (opt::regionStart == -1) {
        outFileBBAA = new std::ofstream(setsFileRoot+ "_" + opt::runName + "_BBAA.txt");
        outFileDmin = new std::ofstream(setsFileRoot+ "_" + opt::runName + "_Dmin.txt");
        outFileCombine = new std::ofstream(setsFileRoot+ "_" + opt::runName + "_combine.txt");
        outFileCombineStdErr = new std::ofstream(setsFileRoot+ "_" + opt::runName + "_combine_stderr.txt");
    } else {
        string fileNameString = setsFileRoot+"_"+opt::runName+"_"+numToString(opt::regionStart)+"_"+numToString(opt::regionStart+opt::regionLength);
        outFileBBAA = new std::ofstream(fileNameString+"_BBAA.txt");
        outFileDmin = new std::ofstream(fileNameString+"_Dmin.txt");
        outFileCombine = new std::ofstream(fileNameString+"_combine.txt");
        outFileCombineStdErr = new std::ofstream(fileNameString+"_combine_stderr.txt");
    }
    
    std::map<string, std::vector<string>> speciesToIDsMap;
    std::map<string, string> IDsToSpeciesMap;
    std::map<string, std::vector<size_t>> speciesToPosMap;
    std::map<size_t, string> posToSpeciesMap;
    
    // Get the sample sets
    bool outgroupSpecified = false;
    while (getline(*setsFile, line)) {
       // std::cerr << line << std::endl;
        std::vector<string> ID_Species = split(line, '\t');
        if (ID_Species[1] == "Outgroup") { outgroupSpecified = true; }
        speciesToIDsMap[ID_Species[1]].push_back(ID_Species[0]);
        IDsToSpeciesMap[ID_Species[0]] = ID_Species[1];
        //std::cerr << ID_Species[1] << "\t" << ID_Species[0] << std::endl;
    }
    if (!outgroupSpecified) { std::cerr << "The file " << opt::setsFile << " needs to specify the \"Outgroup\"" << std::endl; exit(1); }
    
    // Get a vector of set names (usually species)
    std::vector<string> species;
    for(std::map<string,std::vector<string>>::iterator it = speciesToIDsMap.begin(); it != speciesToIDsMap.end(); ++it) {
        if ((it->first) != "Outgroup" && it->first != "xxx") {
            species.push_back(it->first);
            // std::cerr << it->first << std::endl;
        }
    } std::cerr << "There are " << species.size() << " sets (excluding the Outgroup)" << std::endl;
    int nCombinations = nChoosek((int)species.size(),3);
    std::cerr << "Going to calculate " << nCombinations << " Dmin values" << std::endl;
    
    
    // first, get all combinations of three sets (species):
    std::vector<std::vector<string>> trios; trios.resize(nCombinations);
    std::vector<std::vector<int>> triosInt; triosInt.resize(nCombinations);
    std::vector<bool> v(species.size()); std::fill(v.begin(), v.begin() + 3, true); // prepare a selection vector
    int pNum = 0;
    do {
        for (int i = 0; i < v.size(); ++i) {
            if (v[i]) { trios[pNum].push_back(species[i]); triosInt[pNum].push_back(i); }
        } pNum++;
    } while (std::prev_permutation(v.begin(), v.end())); // Getting all permutations of the selection vector - so it selects all combinations
    std::cerr << "Done permutations" << std::endl;
    
    // And need to prepare the vectors to hold the D values:
    std::vector<double> init(3,0.0); // Vector of initial values
    std::vector<std::vector<double>> initDs(3); // vector with three empty (double) vectors
  //  std::vector<std::vector<double>> Dnums; Dnums.assign(nCombinations,init);
  //  std::vector<std::vector<double>> Ddenoms; Ddenoms.assign(nCombinations,init);
   // std::vector<std::vector<double>> localDnums; localDnums.assign(nCombinations,init);
    //std::vector<std::vector<double>> localDdenoms; localDdenoms.assign(nCombinations,init);
    std::vector<std::vector<std::vector<double>>> regionDs; regionDs.assign(nCombinations, initDs);
    std::vector<double> allPs(species.size(),0.0);
    std::vector<double> ABBAtotals(nCombinations,0); std::vector<double> BABAtotals(nCombinations,0);
    std::vector<double> BBAAtotals(nCombinations,0);
    std::vector<double> localABBAtotals(nCombinations,0); std::vector<double> localBABAtotals(nCombinations,0);
    std::vector<double> localBBAAtotals(nCombinations,0);
    std::vector<int> usedVars(nCombinations,0); // Will count the number of used variants for each trio
    int totalVariantNumber = 0;
    std::vector<string> sampleNames; std::vector<std::string> fields;
    // Find out how often to report progress, based on the number of trios
    int reportProgressEvery; if (nCombinations < 1000) reportProgressEvery = 100000;
    else if (nCombinations < 100000) reportProgressEvery = 10000;
    else reportProgressEvery = 1000;
    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++) {
                posToSpeciesMap[i] = IDsToSpeciesMap[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 = speciesToIDsMap.begin(); it != speciesToIDsMap.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());
                }
                speciesToPosMap[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 (opt::regionStart != -1) {
                if (totalVariantNumber < opt::regionStart)
                    continue;
                if (totalVariantNumber > (opt::regionStart+opt::regionLength)) {
                    std::cerr << "DONE" << std::endl; break;
                }
            }
            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');
            std::vector<std::string> genotypes(fields.begin()+NUM_NON_GENOTYPE_COLUMNS,fields.end());
            //std::vector<std::string> info = split(fields[7], ';');
            // Only consider biallelic SNPs
            string refAllele = fields[3]; string altAllele = fields[4];
            if (refAllele.length() > 1 || altAllele.length() > 1) {
                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(speciesToPosMap, (int)genotypes.size());
            c->getSetVariantCounts(genotypes, posToSpeciesMap);
            genotypes.clear(); genotypes.shrink_to_fit();
            durationGettingCounts = ( std::clock() - startGettingCounts ) / (double) CLOCKS_PER_SEC;
           // std::cerr << "Here:" << totalVariantNumber << std::endl;
            
            startCalculation = std::clock();
            double p_O = c->setDAFs.at("Outgroup");
            if (p_O == -1) { delete c; continue; } // We need to make sure that the outgroup is defined
            
            
            //std::vector<double> allPs;
            for (std::vector<std::string>::size_type i = 0; i != species.size(); i++) {
                allPs[i] = c->setDAFs.at(species[i]);
            }
            // durationFirstLoop = ( std::clock() - startCalculation ) / (double) CLOCKS_PER_SEC;
            
            // Now calculate the D stats:
            double p_S1; double p_S2; double p_S3; double ABBA; double BABA; double BBAA;
            for (int i = 0; i != trios.size(); i++) {
                p_S1 = allPs[triosInt[i][0]];  // double pS1test = c->setDAFs.at(trios[i][0]); assert(p_S1 == pS1test);
                if (p_S1 == -1) continue;  // If any member of the trio has entirely missing data, just move on to the next trio
                p_S2 = allPs[triosInt[i][1]];  // double pS2test = c->setDAFs.at(trios[i][1]); assert(p_S2 == pS2test);
                if (p_S2 == -1) continue;
                p_S3 = allPs[triosInt[i][2]];  // double pS3test = c->setDAFs.at(trios[i][2]); assert(p_S3 == pS3test);
                if (p_S3 == -1) continue;
                usedVars[i]++;
                
                ABBA = ((1-p_S1)*p_S2*p_S3*(1-p_O)); ABBAtotals[i] += ABBA; localABBAtotals[i] += ABBA;
                BABA = (p_S1*(1-p_S2)*p_S3*(1-p_O)); BABAtotals[i] += BABA; localBABAtotals[i] += BABA;
                BBAA = ((1-p_S3)*p_S2*p_S1*(1-p_O)); BBAAtotals[i] += BBAA; localBBAAtotals[i] += BBAA;
             //   if (p_O == 0.0) {
               //Dnums[i][0] += ABBA - BABA;
               // Dnums[i][1] += ABBA - BBAA;  // Dnums[i][1] += ((1-p_S1)*p_S3*p_S2*(1-p_O)) - (p_S1*(1-p_S3)*p_S2*(1-p_O));
               // Dnums[i][2] += BBAA - BABA;  // Dnums[i][2] += ((1-p_S3)*p_S2*p_S1*(1-p_O)) - (p_S3*(1-p_S2)*p_S1*(1-p_O));

                //Ddenoms[i][0] += ABBA + BABA;
                //Ddenoms[i][1] += ABBA + BBAA;   // ((1-p_S1)*p_S3*p_S2*(1-p_O)) + (p_S1*(1-p_S3)*p_S2*(1-p_O));
                //Ddenoms[i][2] += BBAA + BABA; // ((1-p_S3)*p_S2*p_S1*(1-p_O)) + (p_S3*(1-p_S2)*p_S1*(1-p_O));
                
                // localDnums[i][0] += ABBA - BABA; localDnums[i][1] += ABBA - BBAA; localDnums[i][2] += BBAA - BABA;
                // localDdenoms[i][0] += ABBA + BABA; localDdenoms[i][1] += ABBA + BBAA; localDdenoms[i][2] += BBAA + BABA;
               if (usedVars[i] % opt::jkWindowSize == 0) {
                    double localDnums1 = localABBAtotals[i] - localBABAtotals[i]; double localDnums2 = localABBAtotals[i] - localBBAAtotals[i]; double localDnums3 = localBBAAtotals[i] - localBABAtotals[i];
                    double localDdenoms1 = localABBAtotals[i] + localBABAtotals[i]; double localDdenoms2 = localABBAtotals[i] + localBBAAtotals[i]; double localDdenoms3 = localBBAAtotals[i] + localBABAtotals[i];
                    double regionD0 = localDnums1/localDdenoms1; double regionD1 = localDnums2/localDdenoms2;
                    double regionD2 = localDnums3/localDdenoms3;
                    regionDs[i][0].push_back(regionD0); regionDs[i][1].push_back(regionD1); regionDs[i][2].push_back(regionD2);
                    //localDnums[i][0] = 0; localDnums[i][1] = 0; localDnums[i][2] = 0;
                    //localDdenoms[i][0] = 0; localDdenoms[i][1] = 0; localDdenoms[i][2] = 0;
                    localABBAtotals[i] = 0; localBABAtotals[i] = 0; localBBAAtotals[i] = 0;
                }
            // }
            }
            durationCalculation = ( std::clock() - startCalculation ) / (double) CLOCKS_PER_SEC;
            delete c;
        }
    }
    
    
    for (int i = 0; i != trios.size(); i++) { //
        // Get the standard error values:
        double D1stdErr = jackknive_std_err(regionDs[i][0]); double D2stdErr = jackknive_std_err(regionDs[i][1]);
        double D3stdErr = jackknive_std_err(regionDs[i][2]);
        // Get the D values
        //Dnums[i][0] = ABBAtotals[i] - BABAtotals[i]; Dnums[i][1] = ABBAtotals[i] - BBAAtotals[i]; Dnums[i][2] = BBAAtotals[i] - BABAtotals[i];
        double Dnum1 = ABBAtotals[i] - BABAtotals[i]; // assert(Dnum1 == Dnums[i][0]);
        double Dnum2 = ABBAtotals[i] - BBAAtotals[i]; // assert(Dnum2 == Dnums[i][1]);
        double Dnum3 = BBAAtotals[i] - BABAtotals[i]; // assert(Dnum3 == Dnums[i][2]);
        // Ddenoms[i][0] = ABBAtotals[i] + BABAtotals[i]; Ddenoms[i][1] = ABBAtotals[i] + BBAAtotals[i]; Ddenoms[i][2] = BBAAtotals[i] + BABAtotals[i];
        double Ddenom1 = ABBAtotals[i] + BABAtotals[i]; // assert(Ddenom1 == Ddenoms[i][0]);
        double Ddenom2 = ABBAtotals[i] + BBAAtotals[i]; // assert(Ddenom2 == Ddenoms[i][1]);
        double Ddenom3 = BBAAtotals[i] + BABAtotals[i]; // assert(Ddenom3 == Ddenoms[i][2]);
        double D1 = Dnum1/Ddenom1; double D2 = Dnum2/Ddenom2; double D3 = Dnum3/Ddenom3;
        // Get the Z-scores
        double D1_Z = fabs(D1)/D1stdErr; double D2_Z = fabs(D2)/D2stdErr;
        double D3_Z = fabs(D3)/D3stdErr;
        
        
        // Find which topology is in agreement with the counts of the BBAA, BABA, and ABBA patterns
        if (BBAAtotals[i] >= BABAtotals[i] && BBAAtotals[i] >= ABBAtotals[i]) {
            if (D1 >= 0)
                *outFileBBAA << trios[i][0] << "\t" << trios[i][1] << "\t" << trios[i][2];
            else
                *outFileBBAA << trios[i][1] << "\t" << trios[i][0] << "\t" << trios[i][2];
            *outFileBBAA << "\t" << fabs(D1) << "\t" << D1_Z << "\t";
            *outFileBBAA << BBAAtotals[i] << "\t" << BABAtotals[i] << "\t" << ABBAtotals[i] << std::endl;
        } else if (BABAtotals[i] >= BBAAtotals[i] && BABAtotals[i] >= ABBAtotals[i]) {
            if (D2 >= 0)
                *outFileBBAA << trios[i][0] << "\t" << trios[i][2] << "\t" << trios[i][1];
            else
                *outFileBBAA << trios[i][2] << "\t" << trios[i][0] << "\t" << trios[i][1];
            *outFileBBAA << "\t" << fabs(D2) << "\t" << D2_Z << "\t";
            *outFileBBAA << BABAtotals[i] << "\t" << BBAAtotals[i] << "\t" << ABBAtotals[i] << std::endl;
        } else if (ABBAtotals[i] >= BBAAtotals[i] && ABBAtotals[i] >= BABAtotals[i]) {
            if (D3 >= 0)
                *outFileBBAA << trios[i][2] << "\t" << trios[i][1] << "\t" << trios[i][0];
            else
                *outFileBBAA << trios[i][1] << "\t" << trios[i][2] << "\t" << trios[i][0];
            *outFileBBAA << "\t" << fabs(D3) << "\t" << D3_Z << "\t";
            *outFileBBAA << ABBAtotals[i] << "\t" << BABAtotals[i] << "\t" << BBAAtotals[i] << std::endl;
        }
        
        // Find Dmin:
        if (fabs(D1) <= fabs(D2) && fabs(D1) <= fabs(D3)) { // (P3 == S3)
            if (D1 >= 0)
                *outFileDmin << trios[i][0] << "\t" << trios[i][1] << "\t" << trios[i][2] << "\t" << D1 << "\t" << D1_Z << "\t" << std::endl;
            else
                *outFileDmin << trios[i][1] << "\t" << trios[i][0] << "\t" << trios[i][2] << "\t" << fabs(D1) << "\t" << D1_Z << "\t"<< std::endl;
           // if (BBAAtotals[i] < BABAtotals[i] || BBAAtotals[i] < ABBAtotals[i])
           //     std::cerr << "\t" << "WARNING: Dmin tree different from DAF tree" << std::endl;
        } else if (fabs(D2) <= fabs(D1) && fabs(D2) <= fabs(D3)) { // (P3 == S2)
            if (D2 >= 0)
                *outFileDmin << trios[i][0] << "\t" << trios[i][2] << "\t" << trios[i][1] << "\t" << D2 << "\t" << D2_Z << "\t"<< std::endl;
            else
                *outFileDmin << trios[i][2] << "\t" << trios[i][0] << "\t" << trios[i][1] << "\t" << fabs(D2) << "\t" << D2_Z << "\t"<< std::endl;
           // if (BABAtotals[i] < BBAAtotals[i] || BABAtotals[i] < ABBAtotals[i])
           //     std::cerr << "\t" << "WARNING: Dmin tree different from DAF tree" << std::endl;
        } else if (fabs(D3) <= fabs(D1) && fabs(D3) <= fabs(D2)) { // (P3 == S1)
            if (D3 >= 0)
                *outFileDmin << trios[i][2] << "\t" << trios[i][1] << "\t" << trios[i][0] << "\t" << D3 << "\t" << D3_Z << "\t"<< std::endl;
            else
                *outFileDmin << trios[i][1] << "\t" << trios[i][2] << "\t" << trios[i][0] << "\t" << fabs(D3) << "\t" << D3_Z << "\t" << std::endl;;
           // if (ABBAtotals[i] < BBAAtotals[i] || ABBAtotals[i] < BABAtotals[i])
           //     std::cerr << "\t" << "WARNING: Dmin tree different from DAF tree" << std::endl;
        }
        
        // Output a simple file that can be used for combining multiple local runs:
        *outFileCombine << trios[i][0] << "\t" << trios[i][1] << "\t" << trios[i][2] << "\t" << BBAAtotals[i] << "\t" << BABAtotals[i] << "\t" << ABBAtotals[i] << std::endl;
        print_vector(regionDs[i][0], *outFileCombineStdErr, ',', false); *outFileCombineStdErr << "\t"; print_vector(regionDs[i][1], *outFileCombineStdErr, ',', false); *outFileCombineStdErr << "\t";
        print_vector(regionDs[i][2], *outFileCombineStdErr, ',',false); *outFileCombineStdErr << std::endl;
        
        //std::cerr << trios[i][0] << "\t" << trios[i][1] << "\t" << trios[i][2] << "\t" << D1 << "\t" << D2 << "\t" << D3 << "\t" << BBAAtotals[i] << "\t" << BABAtotals[i] << "\t" << ABBAtotals[i] << std::endl;
    }
    return 0;
    
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1410, %rsp           # imm = 0x1410
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rsi
callq 0xf5120
leaq -0x30(%rbp), %rdi
callq 0xa820
leaq 0xaac9a(%rip), %rdi     # 0x19b1e8
callq 0xa220
movq %rax, -0xb58(%rbp)
leaq -0x59(%rbp), %rdi
movq %rdi, -0xb50(%rbp)
callq 0xab60
movq -0xb58(%rbp), %rsi
movq -0xb50(%rbp), %rdx
leaq -0x58(%rbp), %rdi
callq 0x2d6c0
jmp 0xf0583
leaq -0x58(%rbp), %rdi
movl $0x8, %esi
callq 0x80e30
movq %rax, -0xb60(%rbp)
jmp 0xf059a
leaq -0x58(%rbp), %rdi
callq 0xac88
leaq -0x59(%rbp), %rdi
callq 0xa640
movq -0xb60(%rbp), %rax
movq %rax, -0x38(%rbp)
movl $0x208, %edi            # imm = 0x208
callq 0xa5d0
movq %rax, -0xb68(%rbp)
jmp 0xf05ca
leaq 0xaac37(%rip), %rdi     # 0x19b208
callq 0xa220
movq -0xb68(%rbp), %rdi
movq %rax, %rsi
movl $0x8, %edx
callq 0xab90
jmp 0xf05ec
movq -0xb68(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq 0xaac0a(%rip), %rsi     # 0x19b208
leaq -0x98(%rbp), %rdi
callq 0x7be70
jmp 0xf060c
cmpl $-0x1, 0xa9389(%rip)    # 0x19999c
jne 0xf0b83
movl $0x200, %edi            # imm = 0x200
callq 0xa5d0
movq %rax, -0xb70(%rbp)
jmp 0xf062c
movb $0x1, -0x119(%rbp)
leaq 0x4f756(%rip), %rdx     # 0x13fd90
leaq -0x118(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x3da80
jmp 0xf064f
leaq 0xaabd2(%rip), %rdx     # 0x19b228
leaq -0xf8(%rbp), %rdi
leaq -0x118(%rbp), %rsi
callq 0x3da30
jmp 0xf066b
leaq 0x5970e(%rip), %rdx     # 0x149d80
leaq -0xd8(%rbp), %rdi
leaq -0xf8(%rbp), %rsi
callq 0x3e020
jmp 0xf0687
movq -0xb70(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
movl $0x10, %edx
callq 0xac00
jmp 0xf06a1
movq -0xb70(%rbp), %rax
movb $0x0, -0x119(%rbp)
movq %rax, -0xa0(%rbp)
leaq -0xd8(%rbp), %rdi
callq 0xac88
leaq -0xf8(%rbp), %rdi
callq 0xac88
leaq -0x118(%rbp), %rdi
callq 0xac88
movl $0x200, %edi            # imm = 0x200
callq 0xa5d0
movq %rax, -0xb78(%rbp)
jmp 0xf06ed
movb $0x1, -0x181(%rbp)
leaq 0x4f695(%rip), %rdx     # 0x13fd90
leaq -0x180(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x3da80
jmp 0xf0710
leaq 0xaab11(%rip), %rdx     # 0x19b228
leaq -0x160(%rbp), %rdi
leaq -0x180(%rbp), %rsi
callq 0x3da30
jmp 0xf072c
leaq 0x59657(%rip), %rdx     # 0x149d8a
leaq -0x140(%rbp), %rdi
leaq -0x160(%rbp), %rsi
callq 0x3e020
jmp 0xf0748
movq -0xb78(%rbp), %rdi
leaq -0x140(%rbp), %rsi
movl $0x10, %edx
callq 0xac00
jmp 0xf0762
movq -0xb78(%rbp), %rax
movb $0x0, -0x181(%rbp)
movq %rax, -0xa8(%rbp)
leaq -0x140(%rbp), %rdi
callq 0xac88
leaq -0x160(%rbp), %rdi
callq 0xac88
leaq -0x180(%rbp), %rdi
callq 0xac88
movl $0x200, %edi            # imm = 0x200
callq 0xa5d0
movq %rax, -0xb80(%rbp)
jmp 0xf07ae
movb $0x1, -0x1e9(%rbp)
leaq 0x4f5d4(%rip), %rdx     # 0x13fd90
leaq -0x1e8(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x3da80
jmp 0xf07d1
leaq 0xaaa50(%rip), %rdx     # 0x19b228
leaq -0x1c8(%rbp), %rdi
leaq -0x1e8(%rbp), %rsi
callq 0x3da30
jmp 0xf07ed
leaq 0x595a0(%rip), %rdx     # 0x149d94
leaq -0x1a8(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
callq 0x3e020
jmp 0xf0809
movq -0xb80(%rbp), %rdi
leaq -0x1a8(%rbp), %rsi
movl $0x10, %edx
callq 0xac00
jmp 0xf0823
movq -0xb80(%rbp), %rax
movb $0x0, -0x1e9(%rbp)
movq %rax, -0xb0(%rbp)
leaq -0x1a8(%rbp), %rdi
callq 0xac88
leaq -0x1c8(%rbp), %rdi
callq 0xac88
leaq -0x1e8(%rbp), %rdi
callq 0xac88
movl $0x200, %edi            # imm = 0x200
callq 0xa5d0
movq %rax, -0xb88(%rbp)
jmp 0xf086f
movb $0x1, -0x251(%rbp)
leaq 0x4f513(%rip), %rdx     # 0x13fd90
leaq -0x250(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x3da80
jmp 0xf0892
leaq 0xaa98f(%rip), %rdx     # 0x19b228
leaq -0x230(%rbp), %rdi
leaq -0x250(%rbp), %rsi
callq 0x3da30
jmp 0xf08ae
leaq 0x594ec(%rip), %rdx     # 0x149da1
leaq -0x210(%rbp), %rdi
leaq -0x230(%rbp), %rsi
callq 0x3e020
jmp 0xf08ca
movq -0xb88(%rbp), %rdi
leaq -0x210(%rbp), %rsi
movl $0x10, %edx
callq 0xac00
jmp 0xf08e4
movq -0xb88(%rbp), %rax
movb $0x0, -0x251(%rbp)
movq %rax, -0xb8(%rbp)
leaq -0x210(%rbp), %rdi
callq 0xac88
leaq -0x230(%rbp), %rdi
callq 0xac88
leaq -0x250(%rbp), %rdi
callq 0xac88
jmp 0xf107b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf0945
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x58(%rbp), %rdi
callq 0xac88
leaq -0x59(%rbp), %rdi
callq 0xa640
jmp 0xf5108
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf5108
movq -0xb68(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
movl $0x208, %esi            # imm = 0x208
callq 0xa5e0
jmp 0xf5108
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf50fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf09f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf09e5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf09d9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xd8(%rbp), %rdi
callq 0xac88
leaq -0xf8(%rbp), %rdi
callq 0xac88
leaq -0x118(%rbp), %rdi
callq 0xac88
testb $0x1, -0x119(%rbp)
jne 0xf09fc
jmp 0xf0a0d
movq -0xb70(%rbp), %rdi
movl $0x200, %esi            # imm = 0x200
callq 0xa5e0
jmp 0xf50fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf0a6c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf0a60
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf0a54
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x140(%rbp), %rdi
callq 0xac88
leaq -0x160(%rbp), %rdi
callq 0xac88
leaq -0x180(%rbp), %rdi
callq 0xac88
testb $0x1, -0x181(%rbp)
jne 0xf0a77
jmp 0xf0a88
movq -0xb78(%rbp), %rdi
movl $0x200, %esi            # imm = 0x200
callq 0xa5e0
jmp 0xf50fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf0ae7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf0adb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf0acf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x1a8(%rbp), %rdi
callq 0xac88
leaq -0x1c8(%rbp), %rdi
callq 0xac88
leaq -0x1e8(%rbp), %rdi
callq 0xac88
testb $0x1, -0x1e9(%rbp)
jne 0xf0af2
jmp 0xf0b03
movq -0xb80(%rbp), %rdi
movl $0x200, %esi            # imm = 0x200
callq 0xa5e0
jmp 0xf50fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf0b62
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf0b56
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf0b4a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x210(%rbp), %rdi
callq 0xac88
leaq -0x230(%rbp), %rdi
callq 0xac88
leaq -0x250(%rbp), %rdi
callq 0xac88
testb $0x1, -0x251(%rbp)
jne 0xf0b6d
jmp 0xf0b7e
movq -0xb88(%rbp), %rdi
movl $0x200, %esi            # imm = 0x200
callq 0xa5e0
jmp 0xf50fc
leaq 0x4f206(%rip), %rdx     # 0x13fd90
leaq -0x318(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x3da80
jmp 0xf0b9f
leaq 0xaa682(%rip), %rdx     # 0x19b228
leaq -0x2f8(%rbp), %rdi
leaq -0x318(%rbp), %rsi
callq 0x3da30
jmp 0xf0bbb
leaq 0x4f1ce(%rip), %rdx     # 0x13fd90
leaq -0x2d8(%rbp), %rdi
leaq -0x2f8(%rbp), %rsi
callq 0x3e020
jmp 0xf0bd7
movl 0xa8dbf(%rip), %esi     # 0x19999c
leaq -0x338(%rbp), %rdi
callq 0x3e190
jmp 0xf0beb
leaq -0x2b8(%rbp), %rdi
leaq -0x2d8(%rbp), %rsi
leaq -0x338(%rbp), %rdx
callq 0x3e070
jmp 0xf0c07
leaq 0x4f182(%rip), %rdx     # 0x13fd90
leaq -0x298(%rbp), %rdi
leaq -0x2b8(%rbp), %rsi
callq 0x3e020
jmp 0xf0c23
movl 0xa8d73(%rip), %esi     # 0x19999c
movl 0xa8d71(%rip), %eax     # 0x1999a0
addl %eax, %esi
leaq -0x358(%rbp), %rdi
callq 0x3e190
jmp 0xf0c3f
leaq -0x278(%rbp), %rdi
leaq -0x298(%rbp), %rsi
leaq -0x358(%rbp), %rdx
callq 0x3e070
jmp 0xf0c5b
leaq -0x358(%rbp), %rdi
callq 0xac88
leaq -0x298(%rbp), %rdi
callq 0xac88
leaq -0x2b8(%rbp), %rdi
callq 0xac88
leaq -0x338(%rbp), %rdi
callq 0xac88
leaq -0x2d8(%rbp), %rdi
callq 0xac88
leaq -0x2f8(%rbp), %rdi
callq 0xac88
leaq -0x318(%rbp), %rdi
callq 0xac88
movl $0x200, %edi            # imm = 0x200
callq 0xa5d0
movq %rax, -0xb90(%rbp)
jmp 0xf0cc2
movb $0x1, -0x379(%rbp)
leaq 0x590b0(%rip), %rdx     # 0x149d80
leaq -0x378(%rbp), %rdi
leaq -0x278(%rbp), %rsi
callq 0x3da80
jmp 0xf0ce5
movq -0xb90(%rbp), %rdi
leaq -0x378(%rbp), %rsi
movl $0x10, %edx
callq 0xac00
jmp 0xf0cff
movq -0xb90(%rbp), %rax
movb $0x0, -0x379(%rbp)
movq %rax, -0xa0(%rbp)
leaq -0x378(%rbp), %rdi
callq 0xac88
movl $0x200, %edi            # imm = 0x200
callq 0xa5d0
movq %rax, -0xb98(%rbp)
jmp 0xf0d33
movb $0x1, -0x3a1(%rbp)
leaq 0x59049(%rip), %rdx     # 0x149d8a
leaq -0x3a0(%rbp), %rdi
leaq -0x278(%rbp), %rsi
callq 0x3da80
jmp 0xf0d56
movq -0xb98(%rbp), %rdi
leaq -0x3a0(%rbp), %rsi
movl $0x10, %edx
callq 0xac00
jmp 0xf0d70
movq -0xb98(%rbp), %rax
movb $0x0, -0x3a1(%rbp)
movq %rax, -0xa8(%rbp)
leaq -0x3a0(%rbp), %rdi
callq 0xac88
movl $0x200, %edi            # imm = 0x200
callq 0xa5d0
movq %rax, -0xba0(%rbp)
jmp 0xf0da4
movb $0x1, -0x3c9(%rbp)
leaq 0x58fe2(%rip), %rdx     # 0x149d94
leaq -0x3c8(%rbp), %rdi
leaq -0x278(%rbp), %rsi
callq 0x3da80
jmp 0xf0dc7
movq -0xba0(%rbp), %rdi
leaq -0x3c8(%rbp), %rsi
movl $0x10, %edx
callq 0xac00
jmp 0xf0de1
movq -0xba0(%rbp), %rax
movb $0x0, -0x3c9(%rbp)
movq %rax, -0xb0(%rbp)
leaq -0x3c8(%rbp), %rdi
callq 0xac88
movl $0x200, %edi            # imm = 0x200
callq 0xa5d0
movq %rax, -0xba8(%rbp)
jmp 0xf0e15
movb $0x1, -0x3f1(%rbp)
leaq 0x58f7e(%rip), %rdx     # 0x149da1
leaq -0x3f0(%rbp), %rdi
leaq -0x278(%rbp), %rsi
callq 0x3da80
jmp 0xf0e38
movq -0xba8(%rbp), %rdi
leaq -0x3f0(%rbp), %rsi
movl $0x10, %edx
callq 0xac00
jmp 0xf0e52
movq -0xba8(%rbp), %rax
movb $0x0, -0x3f1(%rbp)
movq %rax, -0xb8(%rbp)
leaq -0x3f0(%rbp), %rdi
callq 0xac88
leaq -0x278(%rbp), %rdi
callq 0xac88
jmp 0xf107b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf0f32
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf0f26
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf0f1a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf0f0e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf0f02
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf0ef6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x358(%rbp), %rdi
callq 0xac88
leaq -0x298(%rbp), %rdi
callq 0xac88
leaq -0x2b8(%rbp), %rdi
callq 0xac88
leaq -0x338(%rbp), %rdi
callq 0xac88
leaq -0x2d8(%rbp), %rdi
callq 0xac88
leaq -0x2f8(%rbp), %rdi
callq 0xac88
leaq -0x318(%rbp), %rdi
callq 0xac88
jmp 0xf50fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf106a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf0f7a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x378(%rbp), %rdi
callq 0xac88
testb $0x1, -0x379(%rbp)
jne 0xf0f85
jmp 0xf0f96
movq -0xb90(%rbp), %rdi
movl $0x200, %esi            # imm = 0x200
callq 0xa5e0
jmp 0xf106a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf0fc1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x3a0(%rbp), %rdi
callq 0xac88
testb $0x1, -0x3a1(%rbp)
jne 0xf0fcc
jmp 0xf0fdd
movq -0xb98(%rbp), %rdi
movl $0x200, %esi            # imm = 0x200
callq 0xa5e0
jmp 0xf106a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf1008
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x3c8(%rbp), %rdi
callq 0xac88
testb $0x1, -0x3c9(%rbp)
jne 0xf1013
jmp 0xf1024
movq -0xba0(%rbp), %rdi
movl $0x200, %esi            # imm = 0x200
callq 0xa5e0
jmp 0xf106a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf104c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x3f0(%rbp), %rdi
callq 0xac88
testb $0x1, -0x3f1(%rbp)
jne 0xf1057
jmp 0xf1068
movq -0xba8(%rbp), %rdi
movl $0x200, %esi            # imm = 0x200
callq 0xa5e0
jmp 0xf106a
leaq -0x278(%rbp), %rdi
callq 0xac88
jmp 0xf50fc
leaq -0x428(%rbp), %rdi
callq 0x58920
leaq -0x458(%rbp), %rdi
callq 0x584b0
leaq -0x488(%rbp), %rdi
callq 0x951b0
leaq -0x4b8(%rbp), %rdi
callq 0x951d0
movb $0x0, -0x4b9(%rbp)
movq -0x78(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0xa0d0
movq %rax, -0xbb0(%rbp)
jmp 0xf10c8
movq -0xbb0(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0xa740
movb %al, -0xbb1(%rbp)
jmp 0xf10e6
movb -0xbb1(%rbp), %al
testb $0x1, %al
jne 0xf10f5
jmp 0xf122e
leaq -0x4d8(%rbp), %rdi
leaq -0x30(%rbp), %rsi
movl $0x9, %edx
callq 0x7bbe0
jmp 0xf110c
leaq -0x4d8(%rbp), %rdi
movl $0x1, %esi
callq 0x3d940
movq %rax, %rdi
leaq 0x4a133(%rip), %rsi     # 0x13b25a
callq 0x2d770
movb %al, -0xbb2(%rbp)
jmp 0xf1134
movb -0xbb2(%rbp), %al
testb $0x1, %al
jne 0xf1140
jmp 0xf1177
movb $0x1, -0x4b9(%rbp)
jmp 0xf1177
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf50cc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x4d8(%rbp), %rdi
callq 0x3dfa0
jmp 0xf50cc
leaq -0x4d8(%rbp), %rdi
movl $0x1, %esi
callq 0x3d940
movq %rax, %rsi
leaq -0x428(%rbp), %rdi
callq 0x6b400
movq %rax, -0xbc0(%rbp)
jmp 0xf11a0
xorl %eax, %eax
movl %eax, %esi
leaq -0x4d8(%rbp), %rdi
callq 0x3d940
movq -0xbc0(%rbp), %rdi
movq %rax, %rsi
callq 0x48dc0
jmp 0xf11c1
leaq -0x4d8(%rbp), %rdi
movq %rdi, -0xbd8(%rbp)
movl $0x1, %esi
callq 0x3d940
movq -0xbd8(%rbp), %rdi
movq %rax, -0xbd0(%rbp)
xorl %eax, %eax
movl %eax, %esi
callq 0x3d940
movq %rax, %rsi
leaq -0x458(%rbp), %rdi
callq 0x584d0
movq %rax, -0xbc8(%rbp)
jmp 0xf1208
movq -0xbd0(%rbp), %rsi
movq -0xbc8(%rbp), %rdi
callq 0xa060
jmp 0xf121d
leaq -0x4d8(%rbp), %rdi
callq 0x3dfa0
jmp 0xf10b2
testb $0x1, -0x4b9(%rbp)
jne 0xf12aa
movq 0xa7db2(%rip), %rdi     # 0x198ff0
leaq 0x58b70(%rip), %rsi     # 0x149db5
callq 0xa5c0
movq %rax, -0xbe0(%rbp)
jmp 0xf1253
movq -0xbe0(%rbp), %rdi
leaq 0xa9fa7(%rip), %rsi     # 0x19b208
callq 0xa520
movq %rax, -0xbe8(%rbp)
jmp 0xf126f
movq -0xbe8(%rbp), %rdi
leaq 0x58b42(%rip), %rsi     # 0x149dbf
callq 0xa5c0
movq %rax, -0xbf0(%rbp)
jmp 0xf128b
movq -0xbf0(%rbp), %rdi
movq 0xa7cef(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xf12a0
movl $0x1, %edi
callq 0xa700
leaq -0x4f0(%rbp), %rdi
callq 0x48da0
leaq -0x428(%rbp), %rdi
callq 0x6c3d0
movq %rax, -0x4f8(%rbp)
leaq -0x428(%rbp), %rdi
callq 0x6c430
movq %rax, -0x500(%rbp)
leaq -0x4f8(%rbp), %rdi
leaq -0x500(%rbp), %rsi
callq 0x6c400
testb $0x1, %al
jne 0xf12f8
jmp 0xf1399
leaq -0x4f8(%rbp), %rdi
callq 0x6c460
movq %rax, %rdi
leaq 0x49f4c(%rip), %rsi     # 0x13b25a
callq 0x50eb0
movb %al, -0xbf1(%rbp)
jmp 0xf131b
movb -0xbf1(%rbp), %al
testb $0x1, %al
jne 0xf1327
jmp 0xf1386
leaq -0x4f8(%rbp), %rdi
callq 0x6c460
movq %rax, %rdi
leaq 0x4b433(%rip), %rsi     # 0x13c770
callq 0x50eb0
movb %al, -0xbf2(%rbp)
jmp 0xf134a
movb -0xbf2(%rbp), %al
testb $0x1, %al
jne 0xf1356
jmp 0xf1386
leaq -0x4f8(%rbp), %rdi
callq 0x6c460
movq %rax, %rsi
leaq -0x4f0(%rbp), %rdi
callq 0x48dc0
jmp 0xf1373
jmp 0xf1386
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf50c0
jmp 0xf1388
leaq -0x4f8(%rbp), %rdi
callq 0x71fc0
jmp 0xf12c9
movq 0xa7c50(%rip), %rdi     # 0x198ff0
leaq 0x5d656(%rip), %rsi     # 0x14e9fd
callq 0xa5c0
movq %rax, -0xc00(%rbp)
jmp 0xf13b5
leaq -0x4f0(%rbp), %rdi
callq 0x3ffd0
movq -0xc00(%rbp), %rdi
movq %rax, %rsi
callq 0xa140
movq %rax, -0xc08(%rbp)
jmp 0xf13d9
movq -0xc08(%rbp), %rdi
leaq 0x51637(%rip), %rsi     # 0x142a1e
callq 0xa5c0
movq %rax, -0xc10(%rbp)
jmp 0xf13f5
movq -0xc10(%rbp), %rdi
movq 0xa7b85(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xf140a
leaq -0x4f0(%rbp), %rdi
callq 0x3ffd0
movl %eax, %edi
movl $0x3, %esi
callq 0xf55c0
movl %eax, -0xc14(%rbp)
jmp 0xf142a
movl -0xc14(%rbp), %eax
movl %eax, -0x504(%rbp)
movq 0xa7bb3(%rip), %rdi     # 0x198ff0
leaq 0x5899c(%rip), %rsi     # 0x149de0
callq 0xa5c0
movq %rax, -0xc20(%rbp)
jmp 0xf1452
movq -0xc20(%rbp), %rdi
movl -0x504(%rbp), %esi
callq 0xab20
movq %rax, -0xc28(%rbp)
jmp 0xf146d
movq -0xc28(%rbp), %rdi
leaq 0x58979(%rip), %rsi     # 0x149df4
callq 0xa5c0
movq %rax, -0xc30(%rbp)
jmp 0xf1489
movq -0xc30(%rbp), %rdi
movq 0xa7af1(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xf149e
leaq -0x520(%rbp), %rdi
movq %rdi, -0xc38(%rbp)
callq 0x3f5f0
movq -0xc38(%rbp), %rdi
movslq -0x504(%rbp), %rsi
callq 0x6afe0
jmp 0xf14c6
leaq -0x538(%rbp), %rdi
movq %rdi, -0xc40(%rbp)
callq 0x6ccb0
movq -0xc40(%rbp), %rdi
movslq -0x504(%rbp), %rsi
callq 0xe87a0
jmp 0xf14ee
leaq -0x4f0(%rbp), %rdi
callq 0x3ffd0
movq %rax, -0xc50(%rbp)
leaq -0x561(%rbp), %rdi
movq %rdi, -0xc48(%rbp)
callq 0x84110
movq -0xc50(%rbp), %rsi
movq -0xc48(%rbp), %rdx
leaq -0x560(%rbp), %rdi
callq 0xf5650
jmp 0xf1530
leaq -0x561(%rbp), %rdi
callq 0x841a0
leaq -0x560(%rbp), %rdi
movq %rdi, -0xc68(%rbp)
callq 0x47620
movq -0xc68(%rbp), %rdi
movl %edx, -0x580(%rbp)
movq %rax, -0x588(%rbp)
movl -0x580(%rbp), %eax
movl %eax, -0x570(%rbp)
movq -0x588(%rbp), %rax
movq %rax, -0x578(%rbp)
callq 0x47620
movl %edx, -0x5b0(%rbp)
movq %rax, -0x5b8(%rbp)
movl -0x5b0(%rbp), %eax
movl %eax, -0x5a0(%rbp)
movq -0x5b8(%rbp), %rax
movq %rax, -0x5a8(%rbp)
leaq -0x5a8(%rbp), %rdi
movl $0x3, %esi
callq 0x47890
movl %edx, -0xc5c(%rbp)
movq %rax, -0xc58(%rbp)
jmp 0xf15c9
movl -0xc5c(%rbp), %eax
movq -0xc58(%rbp), %rcx
movq %rcx, -0x5c8(%rbp)
movl %eax, -0x5c0(%rbp)
movl -0x5c0(%rbp), %eax
movl %eax, -0x590(%rbp)
movq -0x5c8(%rbp), %rax
movq %rax, -0x598(%rbp)
movb $0x1, -0x5c9(%rbp)
movq -0x578(%rbp), %rdi
movl -0x570(%rbp), %esi
movq -0x598(%rbp), %rdx
movl -0x590(%rbp), %ecx
leaq -0x5c9(%rbp), %r8
callq 0x8a100
jmp 0xf162c
movl $0x0, -0x5d0(%rbp)
movl $0x0, -0x5d4(%rbp)
movslq -0x5d4(%rbp), %rax
movq %rax, -0xc70(%rbp)
leaq -0x560(%rbp), %rdi
callq 0x472e0
movq %rax, %rcx
movq -0xc70(%rbp), %rax
cmpq %rcx, %rax
jae 0xf178b
movslq -0x5d4(%rbp), %rsi
leaq -0x560(%rbp), %rdi
callq 0x83940
movq %rdx, -0xc80(%rbp)
movq %rax, -0xc78(%rbp)
jmp 0xf1690
movq -0xc80(%rbp), %rax
movq -0xc78(%rbp), %rcx
movq %rcx, -0x5e8(%rbp)
movq %rax, -0x5e0(%rbp)
leaq -0x5e8(%rbp), %rdi
callq 0x481b0
testb $0x1, %al
jne 0xf16c1
jmp 0xf1775
movslq -0x5d0(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, -0xc88(%rbp)
movslq -0x5d4(%rbp), %rsi
leaq -0x4f0(%rbp), %rdi
callq 0x3d940
movq -0xc88(%rbp), %rdi
movq %rax, %rsi
callq 0x48dc0
jmp 0xf16ff
movslq -0x5d0(%rbp), %rsi
leaq -0x538(%rbp), %rdi
callq 0x705d0
movq %rax, %rdi
leaq -0x5d4(%rbp), %rsi
callq 0x6b600
jmp 0xf1723
jmp 0xf1775
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf50b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf50a8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x561(%rbp), %rdi
callq 0x841a0
jmp 0xf50a8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf509c
jmp 0xf1777
movl -0x5d4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x5d4(%rbp)
jmp 0xf1640
movl -0x5d0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x5d0(%rbp)
leaq -0x560(%rbp), %rdi
movq %rdi, -0xc98(%rbp)
callq 0x47620
movq -0xc98(%rbp), %rdi
movl %edx, -0x600(%rbp)
movq %rax, -0x608(%rbp)
movl -0x600(%rbp), %eax
movl %eax, -0x5f0(%rbp)
movq -0x608(%rbp), %rax
movq %rax, -0x5f8(%rbp)
callq 0x89b30
movl %edx, -0x620(%rbp)
movq %rax, -0x628(%rbp)
movl -0x620(%rbp), %eax
movl %eax, -0x610(%rbp)
movq -0x628(%rbp), %rax
movq %rax, -0x618(%rbp)
movq -0x5f8(%rbp), %rdi
movl -0x5f0(%rbp), %esi
movq -0x618(%rbp), %rdx
movl -0x610(%rbp), %ecx
callq 0xf5690
movb %al, -0xc89(%rbp)
jmp 0xf182e
movb -0xc89(%rbp), %al
testb $0x1, %al
jne 0xf1636
jmp 0xf183e
movq 0xa77ab(%rip), %rdi     # 0x198ff0
leaq 0x585b5(%rip), %rsi     # 0x149e01
callq 0xa5c0
movq %rax, -0xca0(%rbp)
jmp 0xf185a
movq -0xca0(%rbp), %rdi
movq 0xa7720(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xf186f
movq $0x0, -0x648(%rbp)
leaq -0x649(%rbp), %rdi
movq %rdi, -0xca8(%rbp)
callq 0x484d0
movq -0xca8(%rbp), %rcx
leaq -0x640(%rbp), %rdi
movl $0x3, %esi
leaq -0x648(%rbp), %rdx
callq 0x83450
jmp 0xf18ae
leaq -0x649(%rbp), %rdi
callq 0x4a130
leaq -0x669(%rbp), %rdi
movq %rdi, -0xcb0(%rbp)
callq 0x667a0
movq -0xcb0(%rbp), %rdx
leaq -0x668(%rbp), %rdi
movl $0x3, %esi
callq 0xf56f0
jmp 0xf18e7
leaq -0x669(%rbp), %rdi
callq 0x669e0
leaq -0x688(%rbp), %rdi
movq %rdi, -0xcb8(%rbp)
callq 0xf5760
movq -0xcb8(%rbp), %rdi
movslq -0x504(%rbp), %rsi
leaq -0x668(%rbp), %rdx
callq 0xf5780
jmp 0xf1922
leaq -0x4f0(%rbp), %rdi
callq 0x3ffd0
movq %rax, -0xcc8(%rbp)
movq $0x0, -0x6a8(%rbp)
leaq -0x6a9(%rbp), %rdi
movq %rdi, -0xcc0(%rbp)
callq 0x484d0
movq -0xcc8(%rbp), %rsi
movq -0xcc0(%rbp), %rcx
leaq -0x6a0(%rbp), %rdi
leaq -0x6a8(%rbp), %rdx
callq 0x83450
jmp 0xf1976
leaq -0x6a9(%rbp), %rdi
callq 0x4a130
movslq -0x504(%rbp), %rax
movq %rax, -0xcd8(%rbp)
movq $0x0, -0x6d0(%rbp)
leaq -0x6d1(%rbp), %rdi
movq %rdi, -0xcd0(%rbp)
callq 0x484d0
movq -0xcd8(%rbp), %rsi
movq -0xcd0(%rbp), %rcx
leaq -0x6c8(%rbp), %rdi
leaq -0x6d0(%rbp), %rdx
callq 0x83450
jmp 0xf19d1
leaq -0x6d1(%rbp), %rdi
callq 0x4a130
movslq -0x504(%rbp), %rax
movq %rax, -0xce8(%rbp)
movq $0x0, -0x6f8(%rbp)
leaq -0x6f9(%rbp), %rdi
movq %rdi, -0xce0(%rbp)
callq 0x484d0
movq -0xce8(%rbp), %rsi
movq -0xce0(%rbp), %rcx
leaq -0x6f0(%rbp), %rdi
leaq -0x6f8(%rbp), %rdx
callq 0x83450
jmp 0xf1a2c
leaq -0x6f9(%rbp), %rdi
callq 0x4a130
movslq -0x504(%rbp), %rax
movq %rax, -0xcf8(%rbp)
movq $0x0, -0x720(%rbp)
leaq -0x721(%rbp), %rdi
movq %rdi, -0xcf0(%rbp)
callq 0x484d0
movq -0xcf8(%rbp), %rsi
movq -0xcf0(%rbp), %rcx
leaq -0x718(%rbp), %rdi
leaq -0x720(%rbp), %rdx
callq 0x83450
jmp 0xf1a87
leaq -0x721(%rbp), %rdi
callq 0x4a130
movslq -0x504(%rbp), %rax
movq %rax, -0xd08(%rbp)
movq $0x0, -0x748(%rbp)
leaq -0x749(%rbp), %rdi
movq %rdi, -0xd00(%rbp)
callq 0x484d0
movq -0xd08(%rbp), %rsi
movq -0xd00(%rbp), %rcx
leaq -0x740(%rbp), %rdi
leaq -0x748(%rbp), %rdx
callq 0x83450
jmp 0xf1ae2
leaq -0x749(%rbp), %rdi
callq 0x4a130
movslq -0x504(%rbp), %rax
movq %rax, -0xd18(%rbp)
movq $0x0, -0x770(%rbp)
leaq -0x771(%rbp), %rdi
movq %rdi, -0xd10(%rbp)
callq 0x484d0
movq -0xd18(%rbp), %rsi
movq -0xd10(%rbp), %rcx
leaq -0x768(%rbp), %rdi
leaq -0x770(%rbp), %rdx
callq 0x83450
jmp 0xf1b3d
leaq -0x771(%rbp), %rdi
callq 0x4a130
movslq -0x504(%rbp), %rax
movq %rax, -0xd28(%rbp)
movq $0x0, -0x798(%rbp)
leaq -0x799(%rbp), %rdi
movq %rdi, -0xd20(%rbp)
callq 0x484d0
movq -0xd28(%rbp), %rsi
movq -0xd20(%rbp), %rcx
leaq -0x790(%rbp), %rdi
leaq -0x798(%rbp), %rdx
callq 0x83450
jmp 0xf1b98
leaq -0x799(%rbp), %rdi
callq 0x4a130
movslq -0x504(%rbp), %rax
movq %rax, -0xd38(%rbp)
movl $0x0, -0x7bc(%rbp)
leaq -0x7bd(%rbp), %rdi
movq %rdi, -0xd30(%rbp)
callq 0x46300
movq -0xd38(%rbp), %rsi
movq -0xd30(%rbp), %rcx
leaq -0x7b8(%rbp), %rdi
leaq -0x7bc(%rbp), %rdx
callq 0x83540
jmp 0xf1bf2
leaq -0x7bd(%rbp), %rdi
callq 0x483e0
movl $0x0, -0x7c4(%rbp)
leaq -0x7e0(%rbp), %rdi
callq 0x48da0
leaq -0x7f8(%rbp), %rdi
callq 0x48da0
cmpl $0x3e8, -0x504(%rbp)    # imm = 0x3E8
jge 0xf1d72
movl $0x186a0, -0x7fc(%rbp)  # imm = 0x186A0
jmp 0xf1d96
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x649(%rbp), %rdi
callq 0x4a130
jmp 0xf509c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x669(%rbp), %rdi
callq 0x669e0
jmp 0xf5090
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf5078
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x6a9(%rbp), %rdi
callq 0x4a130
jmp 0xf5078
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x6d1(%rbp), %rdi
callq 0x4a130
jmp 0xf506c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x6f9(%rbp), %rdi
callq 0x4a130
jmp 0xf5060
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x721(%rbp), %rdi
callq 0x4a130
jmp 0xf5054
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x749(%rbp), %rdi
callq 0x4a130
jmp 0xf5048
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x771(%rbp), %rdi
callq 0x4a130
jmp 0xf503c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x799(%rbp), %rdi
callq 0x4a130
jmp 0xf5030
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x7bd(%rbp), %rdi
callq 0x483e0
jmp 0xf5024
cmpl $0x186a0, -0x504(%rbp)  # imm = 0x186A0
jge 0xf1d8a
movl $0x2710, -0x7fc(%rbp)   # imm = 0x2710
jmp 0xf1d94
movl $0x3e8, -0x7fc(%rbp)    # imm = 0x3E8
jmp 0xf1d96
jmp 0xf1d98
movq -0x38(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0xa0d0
movq %rax, -0xd40(%rbp)
jmp 0xf1dae
movq -0xd40(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0xa740
movb %al, -0xd41(%rbp)
jmp 0xf1dcc
movb -0xd41(%rbp), %al
testb $0x1, %al
jne 0xf1ddb
jmp 0xf3141
leaq -0x30(%rbp), %rdi
movq %rdi, -0xd58(%rbp)
callq 0xa4f0
movq -0xd58(%rbp), %rdi
movq %rax, -0x848(%rbp)
callq 0xa330
movq %rax, -0x850(%rbp)
movb $0xd, -0x851(%rbp)
movq -0x848(%rbp), %rdi
movq -0x850(%rbp), %rsi
leaq -0x851(%rbp), %rdx
callq 0xc6570
movq %rax, -0xd50(%rbp)
jmp 0xf1e2f
movq -0xd50(%rbp), %rax
movq %rax, -0x840(%rbp)
leaq -0x838(%rbp), %rdi
leaq -0x840(%rbp), %rsi
callq 0xc65c0
leaq -0x30(%rbp), %rdi
movq %rdi, -0xd68(%rbp)
callq 0xa330
movq %rax, -0x868(%rbp)
leaq -0x860(%rbp), %rdi
leaq -0x868(%rbp), %rsi
callq 0xc65c0
movq -0xd68(%rbp), %rdi
movq -0x838(%rbp), %rsi
movq -0x860(%rbp), %rdx
callq 0xa120
movq %rax, -0xd60(%rbp)
jmp 0xf1e9d
movq -0xd60(%rbp), %rax
movq %rax, -0x870(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x30(%rbp), %rdi
callq 0xac60
movq %rax, -0xd70(%rbp)
jmp 0xf1ec1
movq -0xd70(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x23, %eax
jne 0xf1f0c
leaq -0x30(%rbp), %rdi
movl $0x1, %esi
callq 0xac60
movq %rax, -0xd78(%rbp)
jmp 0xf1ee7
movq -0xd78(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x23, %eax
jne 0xf1f0c
jmp 0xf1d98
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf5000
xorl %eax, %eax
movl %eax, %esi
leaq -0x30(%rbp), %rdi
callq 0xac60
movq %rax, -0xd80(%rbp)
jmp 0xf1f22
movq -0xd80(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x23, %eax
jne 0xf2339
leaq -0x30(%rbp), %rdi
movl $0x1, %esi
callq 0xac60
movq %rax, -0xd88(%rbp)
jmp 0xf1f4c
movq -0xd88(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x43, %eax
jne 0xf2339
leaq -0x888(%rbp), %rdi
leaq -0x30(%rbp), %rsi
movl $0x9, %edx
callq 0x7bbe0
jmp 0xf1f76
leaq -0x7f8(%rbp), %rdi
movq %rdi, -0xd98(%rbp)
leaq -0x888(%rbp), %rsi
movq %rsi, -0xda0(%rbp)
callq 0x50c30
movq -0xda0(%rbp), %rdi
callq 0x3dfa0
movq -0xd98(%rbp), %rdi
callq 0x44030
movq %rax, -0x8b0(%rbp)
leaq -0x8b0(%rbp), %rdi
movl $0x9, %esi
callq 0x44390
movq -0xd98(%rbp), %rdi
movq %rax, -0x8a8(%rbp)
callq 0x44060
movq %rax, -0x8b8(%rbp)
leaq -0x8b9(%rbp), %rdi
movq %rdi, -0xd90(%rbp)
callq 0x48e80
movq -0xd90(%rbp), %rcx
movq -0x8a8(%rbp), %rsi
movq -0x8b8(%rbp), %rdx
leaq -0x8a0(%rbp), %rdi
callq 0xc6600
jmp 0xf2017
leaq -0x8b9(%rbp), %rdi
callq 0x40090
movq $0x0, -0x8c8(%rbp)
movq -0x8c8(%rbp), %rax
movq %rax, -0xda8(%rbp)
leaq -0x8a0(%rbp), %rdi
callq 0x3ffd0
movq %rax, %rcx
movq -0xda8(%rbp), %rax
cmpq %rcx, %rax
je 0xf20fe
movq -0x8c8(%rbp), %rsi
leaq -0x8a0(%rbp), %rdi
callq 0x3d940
movq %rax, %rsi
leaq -0x458(%rbp), %rdi
callq 0x584d0
movq %rax, -0xdb0(%rbp)
jmp 0xf2086
leaq -0x4b8(%rbp), %rdi
leaq -0x8c8(%rbp), %rsi
callq 0x95260
movq %rax, -0xdb8(%rbp)
jmp 0xf20a2
movq -0xdb0(%rbp), %rsi
movq -0xdb8(%rbp), %rdi
callq 0xa060
jmp 0xf20b7
jmp 0xf20b9
movq -0x8c8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x8c8(%rbp)
jmp 0xf202e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x8b9(%rbp), %rdi
callq 0x40090
jmp 0xf5000
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf2328
leaq -0x428(%rbp), %rdi
callq 0x6c3d0
movq %rax, -0x8d0(%rbp)
leaq -0x428(%rbp), %rdi
callq 0x6c430
movq %rax, -0x8d8(%rbp)
leaq -0x8d0(%rbp), %rdi
leaq -0x8d8(%rbp), %rsi
callq 0x6c400
testb $0x1, %al
jne 0xf2140
jmp 0xf230b
leaq -0x8d0(%rbp), %rdi
callq 0x6c460
movq %rax, %rsi
leaq -0x8f8(%rbp), %rdi
callq 0xa250
jmp 0xf215d
leaq -0x8d0(%rbp), %rdi
callq 0x6c460
movq %rax, %rsi
addq $0x20, %rsi
leaq -0x910(%rbp), %rdi
callq 0x3fee0
jmp 0xf217e
leaq -0x928(%rbp), %rdi
leaq -0x8a0(%rbp), %rsi
leaq -0x910(%rbp), %rdx
callq 0x81250
jmp 0xf219a
leaq -0x928(%rbp), %rdi
callq 0x95340
testb $0x1, %al
jne 0xf21af
jmp 0xf228b
movq 0xa6e3a(%rip), %rdi     # 0x198ff0
leaq 0x4a71e(%rip), %rsi     # 0x13c8db
callq 0xa5c0
movq %rax, -0xdc0(%rbp)
jmp 0xf21cb
movq -0xdc0(%rbp), %rdi
leaq -0x8f8(%rbp), %rsi
callq 0xa520
movq %rax, -0xdc8(%rbp)
jmp 0xf21e7
movq -0xdc8(%rbp), %rdi
leaq 0x4921a(%rip), %rsi     # 0x13b40f
callq 0xa5c0
movq %rax, -0xdd0(%rbp)
jmp 0xf2203
movq -0xdd0(%rbp), %rdi
movq 0xa6d77(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xf2218
leaq -0x928(%rbp), %rdi
callq 0x95340
xorb $-0x1, %al
testb $0x1, %al
jne 0xf222c
jmp 0xf222e
jmp 0xf2289
leaq 0x4a6d0(%rip), %rdi     # 0x13c905
leaq 0x57bd7(%rip), %rsi     # 0x149e13
movl $0xb2, %edx
leaq 0x57bd8(%rip), %rcx     # 0x149e20
callq 0xa390
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf22fd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf22f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x928(%rbp), %rdi
callq 0x50d40
jmp 0xf22f1
jmp 0xf228b
leaq -0x488(%rbp), %rdi
leaq -0x8f8(%rbp), %rsi
callq 0x95380
movq %rax, -0xdd8(%rbp)
jmp 0xf22a7
movq -0xdd8(%rbp), %rdi
leaq -0x928(%rbp), %rsi
callq 0x95460
jmp 0xf22bc
leaq -0x928(%rbp), %rdi
callq 0x50d40
leaq -0x910(%rbp), %rdi
callq 0x3dfa0
leaq -0x8f8(%rbp), %rdi
callq 0xac88
leaq -0x8d0(%rbp), %rdi
callq 0x71fc0
jmp 0xf2111
leaq -0x910(%rbp), %rdi
callq 0x3dfa0
leaq -0x8f8(%rbp), %rdi
callq 0xac88
jmp 0xf2328
callq 0xa3a0
movq %rax, -0x808(%rbp)
leaq -0x8a0(%rbp), %rdi
callq 0x3dfa0
jmp 0xf313a
leaq -0x8a0(%rbp), %rdi
callq 0x3dfa0
jmp 0xf5000
movl -0x7c4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x7c4(%rbp)
cmpl $-0x1, 0xa764d(%rip)    # 0x19999c
je 0xf23b2
movl -0x7c4(%rbp), %eax
cmpl 0xa763f(%rip), %eax     # 0x19999c
jge 0xf2364
jmp 0xf1d98
movl -0x7c4(%rbp), %eax
movl 0xa762c(%rip), %ecx     # 0x19999c
addl 0xa762a(%rip), %ecx     # 0x1999a0
cmpl %ecx, %eax
jle 0xf23b0
movq 0xa6c6f(%rip), %rdi     # 0x198ff0
leaq 0x57ab3(%rip), %rsi     # 0x149e3b
callq 0xa5c0
movq %rax, -0xde0(%rbp)
jmp 0xf2396
movq -0xde0(%rbp), %rdi
movq 0xa6be4(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xf23ab
jmp 0xf3141
jmp 0xf23b2
movl -0x7c4(%rbp), %eax
cltd
idivl -0x7fc(%rbp)
cmpl $0x0, %edx
jne 0xf2536
callq 0xa3a0
movq -0x808(%rbp), %rcx
subq %rcx, %rax
cvtsi2sd %rax, %xmm0
movsd 0x47044(%rip), %xmm1    # 0x139428
divsd %xmm1, %xmm0
movsd %xmm0, -0x820(%rbp)
movq 0xa6bf9(%rip), %rdi     # 0x198ff0
leaq 0x4a548(%rip), %rsi     # 0x13c946
callq 0xa5c0
movq %rax, -0xde8(%rbp)
jmp 0xf240c
movq -0xde8(%rbp), %rdi
movl -0x7c4(%rbp), %esi
callq 0xab20
movq %rax, -0xdf0(%rbp)
jmp 0xf2427
movq -0xdf0(%rbp), %rdi
leaq 0x4d74d(%rip), %rsi     # 0x13fb82
callq 0xa5c0
movq %rax, -0xdf8(%rbp)
jmp 0xf2443
movq -0xdf8(%rbp), %rdi
movsd -0x820(%rbp), %xmm0
callq 0xabd0
movq %rax, -0xe00(%rbp)
jmp 0xf2460
movq -0xe00(%rbp), %rdi
leaq 0x5067a(%rip), %rsi     # 0x142ae8
callq 0xa5c0
movq %rax, -0xe08(%rbp)
jmp 0xf247c
movq -0xe08(%rbp), %rdi
movq 0xa6afe(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xf2491
movq 0xa6b58(%rip), %rdi     # 0x198ff0
leaq 0x579a1(%rip), %rsi     # 0x149e40
callq 0xa5c0
movq %rax, -0xe10(%rbp)
jmp 0xf24ad
movq -0xe10(%rbp), %rdi
movsd -0x828(%rbp), %xmm0
callq 0xabd0
movq %rax, -0xe18(%rbp)
jmp 0xf24ca
movq -0xe18(%rbp), %rdi
leaq 0x57977(%rip), %rsi     # 0x149e4f
callq 0xa5c0
movq %rax, -0xe20(%rbp)
jmp 0xf24e6
movq -0xe20(%rbp), %rdi
movsd -0x830(%rbp), %xmm0
callq 0xabd0
movq %rax, -0xe28(%rbp)
jmp 0xf2503
movq -0xe28(%rbp), %rdi
leaq 0x505d7(%rip), %rsi     # 0x142ae8
callq 0xa5c0
movq %rax, -0xe30(%rbp)
jmp 0xf251f
movq -0xe30(%rbp), %rdi
movq 0xa6a5b(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xf2534
jmp 0xf2536
leaq -0x940(%rbp), %rdi
leaq -0x30(%rbp), %rsi
movl $0x9, %edx
callq 0x7bbe0
jmp 0xf254d
leaq -0x7f8(%rbp), %rdi
movq %rdi, -0xe40(%rbp)
leaq -0x940(%rbp), %rsi
movq %rsi, -0xe48(%rbp)
callq 0x50c30
movq -0xe48(%rbp), %rdi
callq 0x3dfa0
movq -0xe40(%rbp), %rdi
callq 0x44030
movq %rax, -0x968(%rbp)
leaq -0x968(%rbp), %rdi
movl $0x9, %esi
callq 0x44390
movq -0xe40(%rbp), %rdi
movq %rax, -0x960(%rbp)
callq 0x44060
movq %rax, -0x970(%rbp)
leaq -0x971(%rbp), %rdi
movq %rdi, -0xe38(%rbp)
callq 0x48e80
movq -0xe38(%rbp), %rcx
movq -0x960(%rbp), %rsi
movq -0x970(%rbp), %rdx
leaq -0x958(%rbp), %rdi
callq 0xc6600
jmp 0xf25ee
leaq -0x971(%rbp), %rdi
callq 0x40090
leaq -0x7f8(%rbp), %rdi
movl $0x3, %esi
callq 0x3d940
movq %rax, %rsi
leaq -0x998(%rbp), %rdi
callq 0xa250
jmp 0xf261c
leaq -0x7f8(%rbp), %rdi
movl $0x4, %esi
callq 0x3d940
movq %rax, %rsi
leaq -0x9b8(%rbp), %rdi
callq 0xa250
jmp 0xf263e
leaq -0x998(%rbp), %rdi
callq 0xa930
cmpq $0x1, %rax
ja 0xf2666
leaq -0x9b8(%rbp), %rdi
callq 0xa930
cmpq $0x1, %rax
jbe 0xf2724
leaq -0x998(%rbp), %rdi
movq %rdi, -0xe60(%rbp)
callq 0xa7b0
movq -0xe60(%rbp), %rdi
callq 0xac30
leaq -0x9b8(%rbp), %rdi
movq %rdi, -0xe58(%rbp)
callq 0xa7b0
movq -0xe58(%rbp), %rdi
callq 0xac30
leaq -0x958(%rbp), %rdi
movq %rdi, -0xe50(%rbp)
callq 0x591f0
movq -0xe50(%rbp), %rdi
callq 0xc6680
jmp 0xf26c5
movl $0xc, -0x9bc(%rbp)
jmp 0xf30da
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x971(%rbp), %rdi
callq 0x40090
jmp 0xf5000
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf3129
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf311d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf3111
callq 0xa3a0
movq %rax, -0x810(%rbp)
movl $0x240, %edi            # imm = 0x240
callq 0xa5d0
movq %rax, -0xe68(%rbp)
jmp 0xf2743
leaq -0x958(%rbp), %rdi
callq 0x3ffd0
movq -0xe68(%rbp), %rdi
movl %eax, %edx
leaq -0x488(%rbp), %rsi
callq 0xc66a0
jmp 0xf2766
movq -0xe68(%rbp), %rax
movq %rax, -0x9c8(%rbp)
movq -0x9c8(%rbp), %rdi
leaq -0x958(%rbp), %rsi
leaq -0x4b8(%rbp), %rdx
callq 0x7acd0
jmp 0xf2790
leaq -0x958(%rbp), %rdi
movq %rdi, -0xe70(%rbp)
callq 0x591f0
movq -0xe70(%rbp), %rdi
callq 0xc6680
jmp 0xf27b1
callq 0xa3a0
movq -0x810(%rbp), %rcx
subq %rcx, %rax
cvtsi2sd %rax, %xmm0
movsd 0x46c5b(%rip), %xmm1    # 0x139428
divsd %xmm1, %xmm0
movsd %xmm0, -0x828(%rbp)
callq 0xa3a0
movq %rax, -0x818(%rbp)
movq -0x9c8(%rbp), %rax
addq $0x118, %rax            # imm = 0x118
movq %rax, -0xe80(%rbp)
leaq -0x9f1(%rbp), %rdi
movq %rdi, -0xe78(%rbp)
callq 0xab60
movq -0xe78(%rbp), %rdx
leaq 0x48a40(%rip), %rsi     # 0x13b25a
leaq -0x9f0(%rbp), %rdi
callq 0x2d6c0
jmp 0xf2828
movq -0xe80(%rbp), %rdi
leaq -0x9f0(%rbp), %rsi
callq 0x847c0
movq %rax, -0xe88(%rbp)
jmp 0xf2844
movq -0xe88(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0xe90(%rbp)
leaq -0x9f0(%rbp), %rdi
callq 0xac88
leaq -0x9f1(%rbp), %rdi
callq 0xa640
movsd -0xe90(%rbp), %xmm0
movsd %xmm0, -0x9d0(%rbp)
movsd -0x9d0(%rbp), %xmm0
movsd 0x40e31(%rip), %xmm1    # 0x1336c0
ucomisd %xmm1, %xmm0
jne 0xf2938
jp 0xf2938
movq -0x9c8(%rbp), %rax
movq %rax, -0xe98(%rbp)
cmpq $0x0, %rax
je 0xf28d0
movq -0xe98(%rbp), %rdi
callq 0xc6bd0
movq -0xe98(%rbp), %rdi
movl $0x240, %esi            # imm = 0x240
callq 0xa5e0
movl $0xc, -0x9bc(%rbp)
jmp 0xf30da
movq -0xe68(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
movl $0x240, %esi            # imm = 0x240
callq 0xa5e0
jmp 0xf3111
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xf2927
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x9f0(%rbp), %rdi
callq 0xac88
leaq -0x9f1(%rbp), %rdi
callq 0xa640
jmp 0xf3111
movq $0x0, -0xa00(%rbp)
movq -0xa00(%rbp), %rax
movq %rax, -0xea0(%rbp)
leaq -0x4f0(%rbp), %rdi
callq 0x3ffd0
movq %rax, %rcx
movq -0xea0(%rbp), %rax
cmpq %rcx, %rax
je 0xf29f8
movq -0x9c8(%rbp), %rax
addq $0x118, %rax            # imm = 0x118
movq %rax, -0xeb0(%rbp)
movq -0xa00(%rbp), %rsi
leaq -0x4f0(%rbp), %rdi
callq 0x3d940
movq -0xeb0(%rbp), %rdi
movq %rax, %rsi
callq 0x847c0
movq %rax, -0xea8(%rbp)
jmp 0xf29af
movq -0xea8(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0xeb8(%rbp)
movq -0xa00(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x3ec30
movsd -0xeb8(%rbp), %xmm0
movsd %xmm0, (%rax)
movq -0xa00(%rbp), %rax
addq $0x1, %rax
movq %rax, -0xa00(%rbp)
jmp 0xf2943
movl $0x0, -0xa34(%rbp)
movslq -0xa34(%rbp), %rax
movq %rax, -0xec0(%rbp)
leaq -0x520(%rbp), %rdi
callq 0x409f0
movq %rax, %rcx
movq -0xec0(%rbp), %rax
cmpq %rcx, %rax
je 0xf307a
movslq -0xa34(%rbp), %rsi
leaq -0x538(%rbp), %rdi
callq 0x705d0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x4d100
movslq (%rax), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x3ec30
movsd (%rax), %xmm0
movsd %xmm0, -0xa08(%rbp)
movsd -0xa08(%rbp), %xmm0
movsd 0x40c47(%rip), %xmm1    # 0x1336c0
ucomisd %xmm1, %xmm0
jne 0xf2a86
jp 0xf2a86
jmp 0xf3066
movslq -0xa34(%rbp), %rsi
leaq -0x538(%rbp), %rdi
callq 0x705d0
movq %rax, %rdi
movl $0x1, %esi
callq 0x4d100
movslq (%rax), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x3ec30
movsd (%rax), %xmm0
movsd %xmm0, -0xa10(%rbp)
movsd -0xa10(%rbp), %xmm0
movsd 0x40bef(%rip), %xmm1    # 0x1336c0
ucomisd %xmm1, %xmm0
jne 0xf2ade
jp 0xf2ade
jmp 0xf3066
movslq -0xa34(%rbp), %rsi
leaq -0x538(%rbp), %rdi
callq 0x705d0
movq %rax, %rdi
movl $0x2, %esi
callq 0x4d100
movslq (%rax), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x3ec30
movsd (%rax), %xmm0
movsd %xmm0, -0xa18(%rbp)
movsd -0xa18(%rbp), %xmm0
movsd 0x40b97(%rip), %xmm1    # 0x1336c0
ucomisd %xmm1, %xmm0
jne 0xf2b36
jp 0xf2b36
jmp 0xf3066
movslq -0xa34(%rbp), %rsi
leaq -0x7b8(%rbp), %rdi
callq 0x4d100
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
movsd 0x3f760(%rip), %xmm0    # 0x1322b8
subsd -0xa08(%rbp), %xmm0
mulsd -0xa10(%rbp), %xmm0
mulsd -0xa18(%rbp), %xmm0
movsd 0x3f740(%rip), %xmm1    # 0x1322b8
subsd -0x9d0(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0xa20(%rbp)
movsd -0xa20(%rbp), %xmm0
movsd %xmm0, -0xef0(%rbp)
movslq -0xa34(%rbp), %rsi
leaq -0x6c8(%rbp), %rdi
callq 0x3ec30
movsd -0xef0(%rbp), %xmm0
addsd (%rax), %xmm0
movsd %xmm0, (%rax)
movsd -0xa20(%rbp), %xmm0
movsd %xmm0, -0xee8(%rbp)
movslq -0xa34(%rbp), %rsi
leaq -0x740(%rbp), %rdi
callq 0x3ec30
movsd -0xee8(%rbp), %xmm0
addsd (%rax), %xmm0
movsd %xmm0, (%rax)
movsd -0xa08(%rbp), %xmm0
movsd 0x3f6b6(%rip), %xmm1    # 0x1322b8
subsd -0xa10(%rbp), %xmm1
mulsd %xmm1, %xmm0
mulsd -0xa18(%rbp), %xmm0
movsd 0x3f69a(%rip), %xmm1    # 0x1322b8
subsd -0x9d0(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0xa28(%rbp)
movsd -0xa28(%rbp), %xmm0
movsd %xmm0, -0xee0(%rbp)
movslq -0xa34(%rbp), %rsi
leaq -0x6f0(%rbp), %rdi
callq 0x3ec30
movsd -0xee0(%rbp), %xmm0
addsd (%rax), %xmm0
movsd %xmm0, (%rax)
movsd -0xa28(%rbp), %xmm0
movsd %xmm0, -0xed8(%rbp)
movslq -0xa34(%rbp), %rsi
leaq -0x768(%rbp), %rdi
callq 0x3ec30
movsd -0xed8(%rbp), %xmm0
addsd (%rax), %xmm0
movsd %xmm0, (%rax)
movsd 0x3f618(%rip), %xmm0    # 0x1322b8
subsd -0xa18(%rbp), %xmm0
mulsd -0xa10(%rbp), %xmm0
mulsd -0xa08(%rbp), %xmm0
movsd 0x3f5f8(%rip), %xmm1    # 0x1322b8
subsd -0x9d0(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0xa30(%rbp)
movsd -0xa30(%rbp), %xmm0
movsd %xmm0, -0xed0(%rbp)
movslq -0xa34(%rbp), %rsi
leaq -0x718(%rbp), %rdi
callq 0x3ec30
movsd -0xed0(%rbp), %xmm0
addsd (%rax), %xmm0
movsd %xmm0, (%rax)
movsd -0xa30(%rbp), %xmm0
movsd %xmm0, -0xec8(%rbp)
movslq -0xa34(%rbp), %rsi
leaq -0x790(%rbp), %rdi
callq 0x3ec30
movsd -0xec8(%rbp), %xmm0
addsd (%rax), %xmm0
movsd %xmm0, (%rax)
movslq -0xa34(%rbp), %rsi
leaq -0x7b8(%rbp), %rdi
callq 0x4d100
movl (%rax), %eax
cltd
idivl 0xa6c42(%rip)           # 0x199998
cmpl $0x0, %edx
jne 0xf3064
movslq -0xa34(%rbp), %rsi
leaq -0x740(%rbp), %rdi
movq %rdi, -0xf18(%rbp)
callq 0x3ec30
movsd (%rax), %xmm0
movsd %xmm0, -0xf38(%rbp)
movslq -0xa34(%rbp), %rsi
leaq -0x768(%rbp), %rdi
movq %rdi, -0xf00(%rbp)
callq 0x3ec30
movsd -0xf38(%rbp), %xmm0
movq -0xf18(%rbp), %rdi
movsd (%rax), %xmm1
subsd %xmm1, %xmm0
movsd %xmm0, -0xa40(%rbp)
movslq -0xa34(%rbp), %rsi
callq 0x3ec30
movsd (%rax), %xmm0
movsd %xmm0, -0xf30(%rbp)
movslq -0xa34(%rbp), %rsi
leaq -0x790(%rbp), %rdi
movq %rdi, -0xf08(%rbp)
callq 0x3ec30
movsd -0xf30(%rbp), %xmm0
movq -0xf08(%rbp), %rdi
movsd (%rax), %xmm1
subsd %xmm1, %xmm0
movsd %xmm0, -0xa48(%rbp)
movslq -0xa34(%rbp), %rsi
callq 0x3ec30
movq -0xf00(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0xf28(%rbp)
movslq -0xa34(%rbp), %rsi
callq 0x3ec30
movsd -0xf28(%rbp), %xmm0
movq -0xf18(%rbp), %rdi
movsd (%rax), %xmm1
subsd %xmm1, %xmm0
movsd %xmm0, -0xa50(%rbp)
movslq -0xa34(%rbp), %rsi
callq 0x3ec30
movq -0xf00(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0xf20(%rbp)
movslq -0xa34(%rbp), %rsi
callq 0x3ec30
movsd -0xf20(%rbp), %xmm0
movq -0xf18(%rbp), %rdi
movsd (%rax), %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0xa58(%rbp)
movslq -0xa34(%rbp), %rsi
callq 0x3ec30
movq -0xf08(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0xf10(%rbp)
movslq -0xa34(%rbp), %rsi
callq 0x3ec30
movsd -0xf10(%rbp), %xmm0
movq -0xf08(%rbp), %rdi
movsd (%rax), %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0xa60(%rbp)
movslq -0xa34(%rbp), %rsi
callq 0x3ec30
movq -0xf00(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0xef8(%rbp)
movslq -0xa34(%rbp), %rsi
callq 0x3ec30
movsd -0xef8(%rbp), %xmm0
movsd (%rax), %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0xa68(%rbp)
movsd -0xa40(%rbp), %xmm0
movsd -0xa58(%rbp), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0xa70(%rbp)
movsd -0xa48(%rbp), %xmm0
movsd -0xa60(%rbp), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0xa78(%rbp)
movsd -0xa50(%rbp), %xmm0
movsd -0xa68(%rbp), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0xa80(%rbp)
movslq -0xa34(%rbp), %rsi
leaq -0x688(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x651e0
movq %rax, %rdi
leaq -0xa70(%rbp), %rsi
callq 0xb77b0
jmp 0xf2fb4
movslq -0xa34(%rbp), %rsi
leaq -0x688(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x1, %esi
callq 0x651e0
movq %rax, %rdi
leaq -0xa78(%rbp), %rsi
callq 0xb77b0
jmp 0xf2fe5
movslq -0xa34(%rbp), %rsi
leaq -0x688(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x2, %esi
callq 0x651e0
movq %rax, %rdi
leaq -0xa80(%rbp), %rsi
callq 0xb77b0
jmp 0xf3016
movslq -0xa34(%rbp), %rsi
leaq -0x740(%rbp), %rdi
callq 0x3ec30
xorps %xmm0, %xmm0
movsd %xmm0, (%rax)
movslq -0xa34(%rbp), %rsi
leaq -0x768(%rbp), %rdi
callq 0x3ec30
xorps %xmm0, %xmm0
movsd %xmm0, (%rax)
movslq -0xa34(%rbp), %rsi
leaq -0x790(%rbp), %rdi
callq 0x3ec30
xorps %xmm0, %xmm0
movsd %xmm0, (%rax)
jmp 0xf3066
movl -0xa34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xa34(%rbp)
jmp 0xf2a02
callq 0xa3a0
subq -0x818(%rbp), %rax
cvtsi2sd %rax, %xmm0
movsd 0x46395(%rip), %xmm1    # 0x139428
divsd %xmm1, %xmm0
movsd %xmm0, -0x830(%rbp)
movq -0x9c8(%rbp), %rax
movq %rax, -0xf40(%rbp)
cmpq $0x0, %rax
je 0xf30d0
movq -0xf40(%rbp), %rdi
callq 0xc6bd0
movq -0xf40(%rbp), %rdi
movl $0x240, %esi            # imm = 0x240
callq 0xa5e0
movl $0x0, -0x9bc(%rbp)
leaq -0x9b8(%rbp), %rdi
callq 0xac88
leaq -0x998(%rbp), %rdi
callq 0xac88
leaq -0x958(%rbp), %rdi
callq 0x3dfa0
movl -0x9bc(%rbp), %eax
testl %eax, %eax
je 0xf310f
jmp 0xf310a
jmp 0xf1d98
jmp 0xf313a
leaq -0x9b8(%rbp), %rdi
callq 0xac88
leaq -0x998(%rbp), %rdi
callq 0xac88
leaq -0x958(%rbp), %rdi
callq 0x3dfa0
jmp 0xf5000
jmp 0xf313c
jmp 0xf1d98
movl $0x0, -0xa84(%rbp)
movslq -0xa84(%rbp), %rax
movq %rax, -0xf48(%rbp)
leaq -0x520(%rbp), %rdi
callq 0x409f0
movq %rax, %rcx
movq -0xf48(%rbp), %rax
cmpq %rcx, %rax
je 0xf4eda
movslq -0xa84(%rbp), %rsi
leaq -0x688(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x651e0
movq %rax, %rdi
callq 0x52290
movsd %xmm0, -0xf50(%rbp)
jmp 0xf31a9
movsd -0xf50(%rbp), %xmm0
movsd %xmm0, -0xa90(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x688(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x1, %esi
callq 0x651e0
movq %rax, %rdi
callq 0x52290
movsd %xmm0, -0xf58(%rbp)
jmp 0xf31eb
movsd -0xf58(%rbp), %xmm0
movsd %xmm0, -0xa98(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x688(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x2, %esi
callq 0x651e0
movq %rax, %rdi
callq 0x52290
movsd %xmm0, -0xf60(%rbp)
jmp 0xf322d
movsd -0xf60(%rbp), %xmm0
movsd %xmm0, -0xaa0(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x6c8(%rbp), %rdi
callq 0x3ec30
movsd (%rax), %xmm0
movsd %xmm0, -0xf98(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x6f0(%rbp), %rdi
callq 0x3ec30
movsd -0xf98(%rbp), %xmm0
subsd (%rax), %xmm0
movsd %xmm0, -0xaa8(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x6c8(%rbp), %rdi
callq 0x3ec30
movsd (%rax), %xmm0
movsd %xmm0, -0xf90(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x718(%rbp), %rdi
callq 0x3ec30
movsd -0xf90(%rbp), %xmm0
subsd (%rax), %xmm0
movsd %xmm0, -0xab0(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x718(%rbp), %rdi
callq 0x3ec30
movsd (%rax), %xmm0
movsd %xmm0, -0xf88(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x6f0(%rbp), %rdi
callq 0x3ec30
movsd -0xf88(%rbp), %xmm0
subsd (%rax), %xmm0
movsd %xmm0, -0xab8(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x6c8(%rbp), %rdi
callq 0x3ec30
movsd (%rax), %xmm0
movsd %xmm0, -0xf80(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x6f0(%rbp), %rdi
callq 0x3ec30
movsd -0xf80(%rbp), %xmm0
addsd (%rax), %xmm0
movsd %xmm0, -0xac0(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x6c8(%rbp), %rdi
callq 0x3ec30
movsd (%rax), %xmm0
movsd %xmm0, -0xf78(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x718(%rbp), %rdi
callq 0x3ec30
movsd -0xf78(%rbp), %xmm0
addsd (%rax), %xmm0
movsd %xmm0, -0xac8(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x718(%rbp), %rdi
callq 0x3ec30
movsd (%rax), %xmm0
movsd %xmm0, -0xf70(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x6f0(%rbp), %rdi
callq 0x3ec30
movsd -0xf70(%rbp), %xmm0
addsd (%rax), %xmm0
movsd %xmm0, -0xad0(%rbp)
movsd -0xaa8(%rbp), %xmm0
divsd -0xac0(%rbp), %xmm0
movsd %xmm0, -0xad8(%rbp)
movsd -0xab0(%rbp), %xmm0
divsd -0xac8(%rbp), %xmm0
movsd %xmm0, -0xae0(%rbp)
movsd -0xab8(%rbp), %xmm0
divsd -0xad0(%rbp), %xmm0
movsd %xmm0, -0xae8(%rbp)
movsd -0xad8(%rbp), %xmm0
movaps 0x56938(%rip), %xmm1    # 0x149d70
pand %xmm1, %xmm0
divsd -0xa90(%rbp), %xmm0
movsd %xmm0, -0xaf0(%rbp)
movsd -0xae0(%rbp), %xmm0
movaps 0x56915(%rip), %xmm1    # 0x149d70
pand %xmm1, %xmm0
divsd -0xa98(%rbp), %xmm0
movsd %xmm0, -0xaf8(%rbp)
movsd -0xae8(%rbp), %xmm0
movaps 0x568f2(%rip), %xmm1    # 0x149d70
pand %xmm1, %xmm0
divsd -0xaa0(%rbp), %xmm0
movsd %xmm0, -0xb00(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x718(%rbp), %rdi
callq 0x3ec30
movsd (%rax), %xmm0
movsd %xmm0, -0xf68(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x6f0(%rbp), %rdi
callq 0x3ec30
movsd -0xf68(%rbp), %xmm0
ucomisd (%rax), %xmm0
jb 0xf3878
movslq -0xa84(%rbp), %rsi
leaq -0x718(%rbp), %rdi
callq 0x3ec30
movsd (%rax), %xmm0
movsd %xmm0, -0xfa0(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x6c8(%rbp), %rdi
callq 0x3ec30
movsd -0xfa0(%rbp), %xmm0
ucomisd (%rax), %xmm0
jb 0xf3878
movsd -0xad8(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0xf361a
movq -0xa0(%rbp), %rax
movq %rax, -0xfb0(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3d940
movq -0xfb0(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0xfa8(%rbp)
jmp 0xf3574
movq -0xfa8(%rbp), %rdi
leaq 0x4295c(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0xfb8(%rbp)
jmp 0xf3590
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x1, %esi
callq 0x3d940
movq -0xfb8(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0xfc0(%rbp)
jmp 0xf35c8
movq -0xfc0(%rbp), %rdi
leaq 0x42908(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0xfc8(%rbp)
jmp 0xf35e4
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x2, %esi
callq 0x3d940
movq -0xfc8(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
jmp 0xf3615
jmp 0xf3702
movq -0xa0(%rbp), %rax
movq %rax, -0xfd8(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x1, %esi
callq 0x3d940
movq -0xfd8(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0xfd0(%rbp)
jmp 0xf3660
movq -0xfd0(%rbp), %rdi
leaq 0x42870(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0xfe0(%rbp)
jmp 0xf367c
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3d940
movq -0xfe0(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0xfe8(%rbp)
jmp 0xf36b3
movq -0xfe8(%rbp), %rdi
leaq 0x4281d(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0xff0(%rbp)
jmp 0xf36cf
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x2, %esi
callq 0x3d940
movq -0xff0(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
jmp 0xf3700
jmp 0xf3702
movq -0xa0(%rbp), %rdi
leaq 0x427ce(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0xff8(%rbp)
jmp 0xf371e
movq -0xff8(%rbp), %rdi
movaps 0x56644(%rip), %xmm1    # 0x149d70
movsd -0xad8(%rbp), %xmm0
pand %xmm1, %xmm0
callq 0xabd0
movq %rax, -0x1000(%rbp)
jmp 0xf3746
movq -0x1000(%rbp), %rdi
leaq 0x4278a(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1008(%rbp)
jmp 0xf3762
movq -0x1008(%rbp), %rdi
movsd -0xaf0(%rbp), %xmm0
callq 0xabd0
movq %rax, -0x1010(%rbp)
jmp 0xf377f
movq -0x1010(%rbp), %rdi
leaq 0x42751(%rip), %rsi     # 0x135ede
callq 0xa5c0
jmp 0xf3794
movq -0xa0(%rbp), %rax
movq %rax, -0x1020(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x718(%rbp), %rdi
callq 0x3ec30
movq -0x1020(%rbp), %rdi
movsd (%rax), %xmm0
callq 0xabd0
movq %rax, -0x1018(%rbp)
jmp 0xf37ce
movq -0x1018(%rbp), %rdi
leaq 0x42702(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1028(%rbp)
jmp 0xf37ea
movslq -0xa84(%rbp), %rsi
leaq -0x6f0(%rbp), %rdi
callq 0x3ec30
movq -0x1028(%rbp), %rdi
movsd (%rax), %xmm0
callq 0xabd0
movq %rax, -0x1030(%rbp)
jmp 0xf3816
movq -0x1030(%rbp), %rdi
leaq 0x426ba(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1038(%rbp)
jmp 0xf3832
movslq -0xa84(%rbp), %rsi
leaq -0x6c8(%rbp), %rdi
callq 0x3ec30
movq -0x1038(%rbp), %rdi
movsd (%rax), %xmm0
callq 0xabd0
movq %rax, -0x1040(%rbp)
jmp 0xf385e
movq -0x1040(%rbp), %rdi
movq 0xa571c(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xf3873
jmp 0xf4045
movslq -0xa84(%rbp), %rsi
leaq -0x6f0(%rbp), %rdi
callq 0x3ec30
movsd (%rax), %xmm0
movsd %xmm0, -0x1048(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x718(%rbp), %rdi
callq 0x3ec30
movsd -0x1048(%rbp), %xmm0
ucomisd (%rax), %xmm0
jb 0xf3c5e
movslq -0xa84(%rbp), %rsi
leaq -0x6f0(%rbp), %rdi
callq 0x3ec30
movsd (%rax), %xmm0
movsd %xmm0, -0x1050(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x6c8(%rbp), %rdi
callq 0x3ec30
movsd -0x1050(%rbp), %xmm0
ucomisd (%rax), %xmm0
jb 0xf3c5e
movsd -0xae0(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0xf3a00
movq -0xa0(%rbp), %rax
movq %rax, -0x1060(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3d940
movq -0x1060(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1058(%rbp)
jmp 0xf395a
movq -0x1058(%rbp), %rdi
leaq 0x42576(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1068(%rbp)
jmp 0xf3976
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x2, %esi
callq 0x3d940
movq -0x1068(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1070(%rbp)
jmp 0xf39ae
movq -0x1070(%rbp), %rdi
leaq 0x42522(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1078(%rbp)
jmp 0xf39ca
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x1, %esi
callq 0x3d940
movq -0x1078(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
jmp 0xf39fb
jmp 0xf3ae8
movq -0xa0(%rbp), %rax
movq %rax, -0x1088(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x2, %esi
callq 0x3d940
movq -0x1088(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1080(%rbp)
jmp 0xf3a46
movq -0x1080(%rbp), %rdi
leaq 0x4248a(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1090(%rbp)
jmp 0xf3a62
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3d940
movq -0x1090(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1098(%rbp)
jmp 0xf3a99
movq -0x1098(%rbp), %rdi
leaq 0x42437(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x10a0(%rbp)
jmp 0xf3ab5
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x1, %esi
callq 0x3d940
movq -0x10a0(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
jmp 0xf3ae6
jmp 0xf3ae8
movq -0xa0(%rbp), %rdi
leaq 0x423e8(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x10a8(%rbp)
jmp 0xf3b04
movq -0x10a8(%rbp), %rdi
movaps 0x5625e(%rip), %xmm1    # 0x149d70
movsd -0xae0(%rbp), %xmm0
pand %xmm1, %xmm0
callq 0xabd0
movq %rax, -0x10b0(%rbp)
jmp 0xf3b2c
movq -0x10b0(%rbp), %rdi
leaq 0x423a4(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x10b8(%rbp)
jmp 0xf3b48
movq -0x10b8(%rbp), %rdi
movsd -0xaf8(%rbp), %xmm0
callq 0xabd0
movq %rax, -0x10c0(%rbp)
jmp 0xf3b65
movq -0x10c0(%rbp), %rdi
leaq 0x4236b(%rip), %rsi     # 0x135ede
callq 0xa5c0
jmp 0xf3b7a
movq -0xa0(%rbp), %rax
movq %rax, -0x10d0(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x6f0(%rbp), %rdi
callq 0x3ec30
movq -0x10d0(%rbp), %rdi
movsd (%rax), %xmm0
callq 0xabd0
movq %rax, -0x10c8(%rbp)
jmp 0xf3bb4
movq -0x10c8(%rbp), %rdi
leaq 0x4231c(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x10d8(%rbp)
jmp 0xf3bd0
movslq -0xa84(%rbp), %rsi
leaq -0x718(%rbp), %rdi
callq 0x3ec30
movq -0x10d8(%rbp), %rdi
movsd (%rax), %xmm0
callq 0xabd0
movq %rax, -0x10e0(%rbp)
jmp 0xf3bfc
movq -0x10e0(%rbp), %rdi
leaq 0x422d4(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x10e8(%rbp)
jmp 0xf3c18
movslq -0xa84(%rbp), %rsi
leaq -0x6c8(%rbp), %rdi
callq 0x3ec30
movq -0x10e8(%rbp), %rdi
movsd (%rax), %xmm0
callq 0xabd0
movq %rax, -0x10f0(%rbp)
jmp 0xf3c44
movq -0x10f0(%rbp), %rdi
movq 0xa5336(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xf3c59
jmp 0xf4043
movslq -0xa84(%rbp), %rsi
leaq -0x6c8(%rbp), %rdi
callq 0x3ec30
movsd (%rax), %xmm0
movsd %xmm0, -0x10f8(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x718(%rbp), %rdi
callq 0x3ec30
movsd -0x10f8(%rbp), %xmm0
ucomisd (%rax), %xmm0
jb 0xf4041
movslq -0xa84(%rbp), %rsi
leaq -0x6c8(%rbp), %rdi
callq 0x3ec30
movsd (%rax), %xmm0
movsd %xmm0, -0x1100(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x6f0(%rbp), %rdi
callq 0x3ec30
movsd -0x1100(%rbp), %xmm0
ucomisd (%rax), %xmm0
jb 0xf4041
movsd -0xae8(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0xf3de6
movq -0xa0(%rbp), %rax
movq %rax, -0x1110(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x2, %esi
callq 0x3d940
movq -0x1110(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1108(%rbp)
jmp 0xf3d41
movq -0x1108(%rbp), %rdi
leaq 0x4218f(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1118(%rbp)
jmp 0xf3d5d
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x1, %esi
callq 0x3d940
movq -0x1118(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1120(%rbp)
jmp 0xf3d95
movq -0x1120(%rbp), %rdi
leaq 0x4213b(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1128(%rbp)
jmp 0xf3db1
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3d940
movq -0x1128(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
jmp 0xf3de1
jmp 0xf3ece
movq -0xa0(%rbp), %rax
movq %rax, -0x1138(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x1, %esi
callq 0x3d940
movq -0x1138(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1130(%rbp)
jmp 0xf3e2c
movq -0x1130(%rbp), %rdi
leaq 0x420a4(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1140(%rbp)
jmp 0xf3e48
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x2, %esi
callq 0x3d940
movq -0x1140(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1148(%rbp)
jmp 0xf3e80
movq -0x1148(%rbp), %rdi
leaq 0x42050(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1150(%rbp)
jmp 0xf3e9c
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3d940
movq -0x1150(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
jmp 0xf3ecc
jmp 0xf3ece
movq -0xa0(%rbp), %rdi
leaq 0x42002(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1158(%rbp)
jmp 0xf3eea
movq -0x1158(%rbp), %rdi
movaps 0x55e78(%rip), %xmm1    # 0x149d70
movsd -0xae8(%rbp), %xmm0
pand %xmm1, %xmm0
callq 0xabd0
movq %rax, -0x1160(%rbp)
jmp 0xf3f12
movq -0x1160(%rbp), %rdi
leaq 0x41fbe(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1168(%rbp)
jmp 0xf3f2e
movq -0x1168(%rbp), %rdi
movsd -0xb00(%rbp), %xmm0
callq 0xabd0
movq %rax, -0x1170(%rbp)
jmp 0xf3f4b
movq -0x1170(%rbp), %rdi
leaq 0x41f85(%rip), %rsi     # 0x135ede
callq 0xa5c0
jmp 0xf3f60
movq -0xa0(%rbp), %rax
movq %rax, -0x1180(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x6c8(%rbp), %rdi
callq 0x3ec30
movq -0x1180(%rbp), %rdi
movsd (%rax), %xmm0
callq 0xabd0
movq %rax, -0x1178(%rbp)
jmp 0xf3f9a
movq -0x1178(%rbp), %rdi
leaq 0x41f36(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1188(%rbp)
jmp 0xf3fb6
movslq -0xa84(%rbp), %rsi
leaq -0x6f0(%rbp), %rdi
callq 0x3ec30
movq -0x1188(%rbp), %rdi
movsd (%rax), %xmm0
callq 0xabd0
movq %rax, -0x1190(%rbp)
jmp 0xf3fe2
movq -0x1190(%rbp), %rdi
leaq 0x41eee(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1198(%rbp)
jmp 0xf3ffe
movslq -0xa84(%rbp), %rsi
leaq -0x718(%rbp), %rdi
callq 0x3ec30
movq -0x1198(%rbp), %rdi
movsd (%rax), %xmm0
callq 0xabd0
movq %rax, -0x11a0(%rbp)
jmp 0xf402a
movq -0x11a0(%rbp), %rdi
movq 0xa4f50(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xf403f
jmp 0xf4041
jmp 0xf4043
jmp 0xf4045
movsd -0xad8(%rbp), %xmm1
movaps 0x55d1c(%rip), %xmm0    # 0x149d70
pand %xmm0, %xmm1
movsd -0xae0(%rbp), %xmm0
movaps 0x55d09(%rip), %xmm2    # 0x149d70
pand %xmm2, %xmm0
ucomisd %xmm1, %xmm0
jb 0xf43f1
movsd -0xad8(%rbp), %xmm1
movaps 0x55cec(%rip), %xmm0    # 0x149d70
pand %xmm0, %xmm1
movsd -0xae8(%rbp), %xmm0
movaps 0x55cd9(%rip), %xmm2    # 0x149d70
pand %xmm2, %xmm0
ucomisd %xmm1, %xmm0
jb 0xf43f1
movsd -0xad8(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0xf424f
movq -0xa8(%rbp), %rax
movq %rax, -0x11b0(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3d940
movq -0x11b0(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x11a8(%rbp)
jmp 0xf40ff
movq -0x11a8(%rbp), %rdi
leaq 0x41dd1(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x11b8(%rbp)
jmp 0xf411b
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x1, %esi
callq 0x3d940
movq -0x11b8(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x11c0(%rbp)
jmp 0xf4153
movq -0x11c0(%rbp), %rdi
leaq 0x41d7d(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x11c8(%rbp)
jmp 0xf416f
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x2, %esi
callq 0x3d940
movq -0x11c8(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x11d0(%rbp)
jmp 0xf41a7
movq -0x11d0(%rbp), %rdi
leaq 0x41d29(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x11d8(%rbp)
jmp 0xf41c3
movq -0x11d8(%rbp), %rdi
movsd -0xad8(%rbp), %xmm0
callq 0xabd0
movq %rax, -0x11e0(%rbp)
jmp 0xf41e0
movq -0x11e0(%rbp), %rdi
leaq 0x41cf0(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x11e8(%rbp)
jmp 0xf41fc
movq -0x11e8(%rbp), %rdi
movsd -0xaf0(%rbp), %xmm0
callq 0xabd0
movq %rax, -0x11f0(%rbp)
jmp 0xf4219
movq -0x11f0(%rbp), %rdi
leaq 0x41cb7(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x11f8(%rbp)
jmp 0xf4235
movq -0x11f8(%rbp), %rdi
movq 0xa4d45(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xf424a
jmp 0xf43ec
movq -0xa8(%rbp), %rax
movq %rax, -0x1208(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x1, %esi
callq 0x3d940
movq -0x1208(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1200(%rbp)
jmp 0xf4295
movq -0x1200(%rbp), %rdi
leaq 0x41c3b(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1210(%rbp)
jmp 0xf42b1
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3d940
movq -0x1210(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1218(%rbp)
jmp 0xf42e8
movq -0x1218(%rbp), %rdi
leaq 0x41be8(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1220(%rbp)
jmp 0xf4304
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x2, %esi
callq 0x3d940
movq -0x1220(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1228(%rbp)
jmp 0xf433c
movq -0x1228(%rbp), %rdi
leaq 0x41b94(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1230(%rbp)
jmp 0xf4358
movq -0x1230(%rbp), %rdi
movaps 0x55a0a(%rip), %xmm1    # 0x149d70
movsd -0xad8(%rbp), %xmm0
pand %xmm1, %xmm0
callq 0xabd0
movq %rax, -0x1238(%rbp)
jmp 0xf4380
movq -0x1238(%rbp), %rdi
leaq 0x41b50(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1240(%rbp)
jmp 0xf439c
movq -0x1240(%rbp), %rdi
movsd -0xaf0(%rbp), %xmm0
callq 0xabd0
movq %rax, -0x1248(%rbp)
jmp 0xf43b9
movq -0x1248(%rbp), %rdi
leaq 0x41b17(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1250(%rbp)
jmp 0xf43d5
movq -0x1250(%rbp), %rdi
movq 0xa4ba5(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xf43ea
jmp 0xf43ec
jmp 0xf4b4a
movsd -0xae0(%rbp), %xmm1
movaps 0x55970(%rip), %xmm0    # 0x149d70
pand %xmm0, %xmm1
movsd -0xad8(%rbp), %xmm0
movaps 0x5595d(%rip), %xmm2    # 0x149d70
pand %xmm2, %xmm0
ucomisd %xmm1, %xmm0
jb 0xf479d
movsd -0xae0(%rbp), %xmm1
movaps 0x55940(%rip), %xmm0    # 0x149d70
pand %xmm0, %xmm1
movsd -0xae8(%rbp), %xmm0
movaps 0x5592d(%rip), %xmm2    # 0x149d70
pand %xmm2, %xmm0
ucomisd %xmm1, %xmm0
jb 0xf479d
movsd -0xae0(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0xf45fb
movq -0xa8(%rbp), %rax
movq %rax, -0x1260(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3d940
movq -0x1260(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1258(%rbp)
jmp 0xf44ab
movq -0x1258(%rbp), %rdi
leaq 0x41a25(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1268(%rbp)
jmp 0xf44c7
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x2, %esi
callq 0x3d940
movq -0x1268(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1270(%rbp)
jmp 0xf44ff
movq -0x1270(%rbp), %rdi
leaq 0x419d1(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1278(%rbp)
jmp 0xf451b
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x1, %esi
callq 0x3d940
movq -0x1278(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1280(%rbp)
jmp 0xf4553
movq -0x1280(%rbp), %rdi
leaq 0x4197d(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1288(%rbp)
jmp 0xf456f
movq -0x1288(%rbp), %rdi
movsd -0xae0(%rbp), %xmm0
callq 0xabd0
movq %rax, -0x1290(%rbp)
jmp 0xf458c
movq -0x1290(%rbp), %rdi
leaq 0x41944(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1298(%rbp)
jmp 0xf45a8
movq -0x1298(%rbp), %rdi
movsd -0xaf8(%rbp), %xmm0
callq 0xabd0
movq %rax, -0x12a0(%rbp)
jmp 0xf45c5
movq -0x12a0(%rbp), %rdi
leaq 0x4190b(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x12a8(%rbp)
jmp 0xf45e1
movq -0x12a8(%rbp), %rdi
movq 0xa4999(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xf45f6
jmp 0xf4798
movq -0xa8(%rbp), %rax
movq %rax, -0x12b8(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x2, %esi
callq 0x3d940
movq -0x12b8(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x12b0(%rbp)
jmp 0xf4641
movq -0x12b0(%rbp), %rdi
leaq 0x4188f(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x12c0(%rbp)
jmp 0xf465d
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3d940
movq -0x12c0(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x12c8(%rbp)
jmp 0xf4694
movq -0x12c8(%rbp), %rdi
leaq 0x4183c(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x12d0(%rbp)
jmp 0xf46b0
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x1, %esi
callq 0x3d940
movq -0x12d0(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x12d8(%rbp)
jmp 0xf46e8
movq -0x12d8(%rbp), %rdi
leaq 0x417e8(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x12e0(%rbp)
jmp 0xf4704
movq -0x12e0(%rbp), %rdi
movaps 0x5565e(%rip), %xmm1    # 0x149d70
movsd -0xae0(%rbp), %xmm0
pand %xmm1, %xmm0
callq 0xabd0
movq %rax, -0x12e8(%rbp)
jmp 0xf472c
movq -0x12e8(%rbp), %rdi
leaq 0x417a4(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x12f0(%rbp)
jmp 0xf4748
movq -0x12f0(%rbp), %rdi
movsd -0xaf8(%rbp), %xmm0
callq 0xabd0
movq %rax, -0x12f8(%rbp)
jmp 0xf4765
movq -0x12f8(%rbp), %rdi
leaq 0x4176b(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1300(%rbp)
jmp 0xf4781
movq -0x1300(%rbp), %rdi
movq 0xa47f9(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xf4796
jmp 0xf4798
jmp 0xf4b48
movsd -0xae8(%rbp), %xmm1
movaps 0x555c4(%rip), %xmm0    # 0x149d70
pand %xmm0, %xmm1
movsd -0xad8(%rbp), %xmm0
movaps 0x555b1(%rip), %xmm2    # 0x149d70
pand %xmm2, %xmm0
ucomisd %xmm1, %xmm0
jb 0xf4b46
movsd -0xae8(%rbp), %xmm1
movaps 0x55594(%rip), %xmm0    # 0x149d70
pand %xmm0, %xmm1
movsd -0xae0(%rbp), %xmm0
movaps 0x55581(%rip), %xmm2    # 0x149d70
pand %xmm2, %xmm0
ucomisd %xmm1, %xmm0
jb 0xf4b46
movsd -0xae8(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0xf49a7
movq -0xa8(%rbp), %rax
movq %rax, -0x1310(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x2, %esi
callq 0x3d940
movq -0x1310(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1308(%rbp)
jmp 0xf4858
movq -0x1308(%rbp), %rdi
leaq 0x41678(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1318(%rbp)
jmp 0xf4874
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x1, %esi
callq 0x3d940
movq -0x1318(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1320(%rbp)
jmp 0xf48ac
movq -0x1320(%rbp), %rdi
leaq 0x41624(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1328(%rbp)
jmp 0xf48c8
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3d940
movq -0x1328(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1330(%rbp)
jmp 0xf48ff
movq -0x1330(%rbp), %rdi
leaq 0x415d1(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1338(%rbp)
jmp 0xf491b
movq -0x1338(%rbp), %rdi
movsd -0xae8(%rbp), %xmm0
callq 0xabd0
movq %rax, -0x1340(%rbp)
jmp 0xf4938
movq -0x1340(%rbp), %rdi
leaq 0x41598(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1348(%rbp)
jmp 0xf4954
movq -0x1348(%rbp), %rdi
movsd -0xb00(%rbp), %xmm0
callq 0xabd0
movq %rax, -0x1350(%rbp)
jmp 0xf4971
movq -0x1350(%rbp), %rdi
leaq 0x4155f(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1358(%rbp)
jmp 0xf498d
movq -0x1358(%rbp), %rdi
movq 0xa45ed(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xf49a2
jmp 0xf4b44
movq -0xa8(%rbp), %rax
movq %rax, -0x1368(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x1, %esi
callq 0x3d940
movq -0x1368(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1360(%rbp)
jmp 0xf49ed
movq -0x1360(%rbp), %rdi
leaq 0x414e3(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1370(%rbp)
jmp 0xf4a09
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x2, %esi
callq 0x3d940
movq -0x1370(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1378(%rbp)
jmp 0xf4a41
movq -0x1378(%rbp), %rdi
leaq 0x4148f(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1380(%rbp)
jmp 0xf4a5d
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3d940
movq -0x1380(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x1388(%rbp)
jmp 0xf4a94
movq -0x1388(%rbp), %rdi
leaq 0x4143c(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1390(%rbp)
jmp 0xf4ab0
movq -0x1390(%rbp), %rdi
movaps 0x552b2(%rip), %xmm1    # 0x149d70
movsd -0xae8(%rbp), %xmm0
pand %xmm1, %xmm0
callq 0xabd0
movq %rax, -0x1398(%rbp)
jmp 0xf4ad8
movq -0x1398(%rbp), %rdi
leaq 0x413f8(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x13a0(%rbp)
jmp 0xf4af4
movq -0x13a0(%rbp), %rdi
movsd -0xb00(%rbp), %xmm0
callq 0xabd0
movq %rax, -0x13a8(%rbp)
jmp 0xf4b11
movq -0x13a8(%rbp), %rdi
leaq 0x413bf(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x13b0(%rbp)
jmp 0xf4b2d
movq -0x13b0(%rbp), %rdi
movq 0xa444d(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xf4b42
jmp 0xf4b44
jmp 0xf4b46
jmp 0xf4b48
jmp 0xf4b4a
movq -0xb0(%rbp), %rax
movq %rax, -0x13c0(%rbp)
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3d940
movq -0x13c0(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x13b8(%rbp)
jmp 0xf4b8f
movq -0x13b8(%rbp), %rdi
leaq 0x41341(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x13c8(%rbp)
jmp 0xf4bab
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x1, %esi
callq 0x3d940
movq -0x13c8(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x13d0(%rbp)
jmp 0xf4be3
movq -0x13d0(%rbp), %rdi
leaq 0x412ed(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x13d8(%rbp)
jmp 0xf4bff
movslq -0xa84(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x3ec10
movq %rax, %rdi
movl $0x2, %esi
callq 0x3d940
movq -0x13d8(%rbp), %rdi
movq %rax, %rsi
callq 0xa520
movq %rax, -0x13e0(%rbp)
jmp 0xf4c37
movq -0x13e0(%rbp), %rdi
leaq 0x41299(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x13e8(%rbp)
jmp 0xf4c53
movslq -0xa84(%rbp), %rsi
leaq -0x718(%rbp), %rdi
callq 0x3ec30
movq -0x13e8(%rbp), %rdi
movsd (%rax), %xmm0
callq 0xabd0
movq %rax, -0x13f0(%rbp)
jmp 0xf4c7f
movq -0x13f0(%rbp), %rdi
leaq 0x41251(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x13f8(%rbp)
jmp 0xf4c9b
movslq -0xa84(%rbp), %rsi
leaq -0x6f0(%rbp), %rdi
callq 0x3ec30
movq -0x13f8(%rbp), %rdi
movsd (%rax), %xmm0
callq 0xabd0
movq %rax, -0x1400(%rbp)
jmp 0xf4cc7
movq -0x1400(%rbp), %rdi
leaq 0x41209(%rip), %rsi     # 0x135ede
callq 0xa5c0
movq %rax, -0x1408(%rbp)
jmp 0xf4ce3
movslq -0xa84(%rbp), %rsi
leaq -0x6c8(%rbp), %rdi
callq 0x3ec30
movq -0x1408(%rbp), %rdi
movsd (%rax), %xmm0
callq 0xabd0
movq %rax, -0x1410(%rbp)
jmp 0xf4d0f
movq -0x1410(%rbp), %rdi
movq 0xa426b(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xf4d24
movslq -0xa84(%rbp), %rsi
leaq -0x688(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x651e0
movq %rax, %rsi
leaq -0xb18(%rbp), %rdi
callq 0x53120
jmp 0xf4d54
movq -0xb8(%rbp), %rsi
leaq -0xb18(%rbp), %rdi
movl $0x2c, %edx
xorl %ecx, %ecx
callq 0x92580
jmp 0xf4d70
leaq -0xb18(%rbp), %rdi
callq 0x3ecb0
movq -0xb8(%rbp), %rdi
leaq 0x41154(%rip), %rsi     # 0x135ede
callq 0xa5c0
jmp 0xf4d91
movslq -0xa84(%rbp), %rsi
leaq -0x688(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x1, %esi
callq 0x651e0
movq %rax, %rsi
leaq -0xb30(%rbp), %rdi
callq 0x53120
jmp 0xf4dc2
movq -0xb8(%rbp), %rsi
leaq -0xb30(%rbp), %rdi
movl $0x2c, %edx
xorl %ecx, %ecx
callq 0x92580
jmp 0xf4dde
leaq -0xb30(%rbp), %rdi
callq 0x3ecb0
movq -0xb8(%rbp), %rdi
leaq 0x410e6(%rip), %rsi     # 0x135ede
callq 0xa5c0
jmp 0xf4dff
movslq -0xa84(%rbp), %rsi
leaq -0x688(%rbp), %rdi
callq 0xf57b0
movq %rax, %rdi
movl $0x2, %esi
callq 0x651e0
movq %rax, %rsi
leaq -0xb48(%rbp), %rdi
callq 0x53120
jmp 0xf4e30
movq -0xb8(%rbp), %rsi
leaq -0xb48(%rbp), %rdi
movl $0x2c, %edx
xorl %ecx, %ecx
callq 0x92580
jmp 0xf4e4c
leaq -0xb48(%rbp), %rdi
callq 0x3ecb0
movq -0xb8(%rbp), %rdi
movq 0xa4122(%rip), %rsi     # 0x198f88
callq 0xa610
jmp 0xf4e6d
jmp 0xf4e6f
movl -0xa84(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xa84(%rbp)
jmp 0xf314b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xb18(%rbp), %rdi
callq 0x3ecb0
jmp 0xf5000
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xb30(%rbp), %rdi
callq 0x3ecb0
jmp 0xf5000
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xb48(%rbp), %rdi
callq 0x3ecb0
jmp 0xf5000
movl $0x1, -0x9bc(%rbp)
leaq -0x7f8(%rbp), %rdi
callq 0x3dfa0
leaq -0x7e0(%rbp), %rdi
callq 0x3dfa0
leaq -0x7b8(%rbp), %rdi
callq 0x48290
leaq -0x790(%rbp), %rdi
callq 0x3ecb0
leaq -0x768(%rbp), %rdi
callq 0x3ecb0
leaq -0x740(%rbp), %rdi
callq 0x3ecb0
leaq -0x718(%rbp), %rdi
callq 0x3ecb0
leaq -0x6f0(%rbp), %rdi
callq 0x3ecb0
leaq -0x6c8(%rbp), %rdi
callq 0x3ecb0
leaq -0x6a0(%rbp), %rdi
callq 0x3ecb0
leaq -0x688(%rbp), %rdi
callq 0xf57d0
leaq -0x668(%rbp), %rdi
callq 0x65200
leaq -0x640(%rbp), %rdi
callq 0x3ecb0
leaq -0x560(%rbp), %rdi
callq 0x48270
leaq -0x538(%rbp), %rdi
callq 0x6d0b0
leaq -0x520(%rbp), %rdi
callq 0x3ec50
leaq -0x4f0(%rbp), %rdi
callq 0x3dfa0
leaq -0x4b8(%rbp), %rdi
callq 0x95b50
leaq -0x488(%rbp), %rdi
callq 0x95b70
leaq -0x458(%rbp), %rdi
callq 0x58620
leaq -0x428(%rbp), %rdi
callq 0x58f00
leaq -0x98(%rbp), %rdi
callq 0xac88
leaq -0x30(%rbp), %rdi
callq 0xac88
xorl %eax, %eax
addq $0x1410, %rsp           # imm = 0x1410
popq %rbp
retq
leaq -0x7f8(%rbp), %rdi
callq 0x3dfa0
leaq -0x7e0(%rbp), %rdi
callq 0x3dfa0
leaq -0x7b8(%rbp), %rdi
callq 0x48290
leaq -0x790(%rbp), %rdi
callq 0x3ecb0
leaq -0x768(%rbp), %rdi
callq 0x3ecb0
leaq -0x740(%rbp), %rdi
callq 0x3ecb0
leaq -0x718(%rbp), %rdi
callq 0x3ecb0
leaq -0x6f0(%rbp), %rdi
callq 0x3ecb0
leaq -0x6c8(%rbp), %rdi
callq 0x3ecb0
leaq -0x6a0(%rbp), %rdi
callq 0x3ecb0
leaq -0x688(%rbp), %rdi
callq 0xf57d0
leaq -0x668(%rbp), %rdi
callq 0x65200
leaq -0x640(%rbp), %rdi
callq 0x3ecb0
leaq -0x560(%rbp), %rdi
callq 0x48270
leaq -0x538(%rbp), %rdi
callq 0x6d0b0
leaq -0x520(%rbp), %rdi
callq 0x3ec50
leaq -0x4f0(%rbp), %rdi
callq 0x3dfa0
leaq -0x4b8(%rbp), %rdi
callq 0x95b50
leaq -0x488(%rbp), %rdi
callq 0x95b70
leaq -0x458(%rbp), %rdi
callq 0x58620
leaq -0x428(%rbp), %rdi
callq 0x58f00
leaq -0x98(%rbp), %rdi
callq 0xac88
leaq -0x30(%rbp), %rdi
callq 0xac88
movq -0x68(%rbp), %rdi
callq 0xab50
nopw (%rax,%rax)