// File: millanek[P]Dsuite/D.cpp
// Function: doAbbaBaba()
void doAbbaBaba() {
    string line; // for reading the input files
    
    std::istream* vcfFile = createReader(opt::vcfFile);
    std::ifstream* testTriosFile = new std::ifstream(opt::testTriosFile.c_str());
    if (!testTriosFile->good()) { std::cerr << "The file " << opt::testTriosFile << " could not be opened. Exiting..." << std::endl; exit(EXIT_FAILURE);}
    
    // Get the sample sets
    SetInformation setInfo(opt::setsFile, MIN_SETS, OutgroupRequired);
    
    // Get the test trios
    std::vector<std::ofstream*> outFiles;
    std::vector<std::ofstream*> outFilesGenes;
    std::vector<std::vector<string> > testTrios;
    while (getline(*testTriosFile,line)) {
        line.erase(std::remove(line.begin(), line.end(), '\r'), line.end()); // Deal with any left over \r from files prepared on Windows
        // std::cerr << line << std::endl;
        std::vector<string> threePops = split(line, '\t'); assert(threePops.size() == 3);
        for (int i = 0; i != threePops.size(); i++) { // Check that the test trios are in the sets file
            if (setInfo.popToIDsMap.count(threePops[i]) == 0) {
                std::cerr << threePops[i] << " is present in the " << opt::testTriosFile << " but missing from the " << opt::setsFile << std::endl;
            }
        }
        std::ofstream* outFile = new std::ofstream(threePops[0] + "_" + threePops[1] + "_" + threePops[2]+ "_localFstats_" + opt::runName + "_" + numToString(opt::windowSize) + "_" + numToString(opt::windowStep) + ".txt");
        *outFile << "chr\twindowStart\twindowEnd\tD\tf_d\tf_dM\td_f" << std::endl;
        outFiles.push_back(outFile);
        testTrios.push_back(threePops);
    }
    
    // Create objects to hold the results for each trio
    TestTrioInfo info(opt::windowSize); std::vector<TestTrioInfo> testTrioInfos(testTrios.size(), info);
    
    // Now go through the vcf and calculate D
    int totalVariantNumber = 0;
    int reportProgressEvery = 1000; string chr; string coord;

   // int lastPrint = 0; int lastWindowVariant = 0;
    std::vector<string> sampleNames; std::vector<std::string> fields;
    clock_t start = clock(); // clock_t startGettingCounts; clock_t startCalculation;
    //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());
            setInfo.linkSetsAndVCFpositions(sampleNames);
        } else {
            totalVariantNumber++;
            if (totalVariantNumber % reportProgressEvery == 0) reportProgessVCF(totalVariantNumber, start);
        
            fields = split(line, '\t'); chr = fields[0]; coord = fields[1];
            std::vector<std::string> genotypes(fields.begin()+NUM_NON_GENOTYPE_COLUMNS,fields.end());
            // Only consider biallelic SNPs
            string refAllele = fields[3]; string altAllele = fields[4];
            if (refAllele.length() > 1 || altAllele.length() > 1 || altAllele == "*") {
                refAllele.clear(); refAllele.shrink_to_fit(); altAllele.clear(); altAllele.shrink_to_fit();
                genotypes.clear(); genotypes.shrink_to_fit(); continue;
            }
            
            // startGettingCounts = clock();
            GeneralSetCounts* c = new GeneralSetCounts(setInfo.popToPosMap, (int)genotypes.size());
            try { c->getSetVariantCounts(genotypes, setInfo.posToPopMap); } catch (const std::out_of_range& oor) {
                std::cerr << "Problems getting splitCounts for " << chr << " " << coord << std::endl; }
            if (opt::useGenotypeProbabilities) {
                int likelihoodsOrProbabilitiesTagPosition = c->checkForGenotypeLikelihoodsOrProbabilities(fields);
                if (likelihoodsOrProbabilitiesTagPosition == LikelihoodsProbabilitiesAbsent) {
                    printMissingLikelihoodsWarning(fields[0], fields[1]);
                    opt::useGenotypeProbabilities = false;
                } else c->getAFsFromGenotypeLikelihoodsOrProbabilities(genotypes,setInfo.posToPopMap,likelihoodsOrProbabilitiesTagPosition);
            }
            genotypes.clear(); genotypes.shrink_to_fit();
            // durationGettingCounts = ( clock() - startGettingCounts ) / (double) CLOCKS_PER_SEC;
            
            // startCalculation = clock();
            double p_O; try { p_O = c->setDAFs.at("Outgroup"); } catch (const std::out_of_range& oor) {
                std::cerr << "Counts don't contain derived allele frequency for the Outgroup" << std::endl; }
            if (p_O == -1) { delete c; continue; } // We need to make sure that the outgroup is defined
            
            double p_S1; double p_S2; double p_S3; double ABBA; double BABA; double F_d_denom; double F_dM_denom;
            for (int i = 0; i != testTrios.size(); i++) {
                try {
                    if (!opt::useGenotypeProbabilities) p_S1 = c->setDAFs.at(testTrios[i][0]);
                    else p_S1 = c->setDAFsFromLikelihoods.at(testTrios[i][0]);
                } catch (const std::out_of_range& oor) {
                std::cerr << "Counts don't contain derived allele frequency for " << testTrios[i][0] << std::endl; }
                if (p_S1 == -1) continue;  // If any member of the trio has entirely missing data, just move on to the next trio
                try {
                    if (!opt::useGenotypeProbabilities) p_S2 = c->setDAFs.at(testTrios[i][1]);
                    else p_S2 = c->setDAFsFromLikelihoods.at(testTrios[i][1]);
                } catch (const std::out_of_range& oor) {
                    std::cerr << "Counts don't contain derived allele frequency for " << testTrios[i][1] << std::endl; }
                if (p_S2 == -1) continue;
                try {
                    if (!opt::useGenotypeProbabilities) p_S3 = c->setDAFs.at(testTrios[i][2]);
                    else p_S3 = c->setDAFsFromLikelihoods.at(testTrios[i][2]);
                } catch (const std::out_of_range& oor) {
                    std::cerr << "Counts don't contain derived allele frequency for " << testTrios[i][2] << std::endl; }
                if (p_S3 == -1) continue;
                //if (p_S3 == 0) continue; // XXAA pattern is not informative
                if (p_S1 == 0 && p_S2 == 0 && p_S3 == 0) continue; // Checking if the SNP is variable in the trio
                if (p_S1 == 1 && p_S2 == 1 && p_S3 == 1) continue; // Checking if the SNP is variable in the trio
                //if (p_S1 == 1 && p_S2 == 1) continue; // BBAA pattern is not informative
                //if (p_S1 == 0 && p_S2 == 0) continue; // AABA pattern is not informative
                
                
                ABBA = ((1-p_S1)*p_S2*p_S3*(1-p_O)); testTrioInfos[i].ABBAtotal += ABBA;
                if(ABBA > 0.5) {
                    testTrioInfos[i].ABBAsitePositionsPerChomosome[chr].push_back(atoi(coord.c_str()));
                }
                BABA = (p_S1*(1-p_S2)*p_S3*(1-p_O)); testTrioInfos[i].BABAtotal += BABA;
                if(BABA > 0.5) {
                    testTrioInfos[i].BABAsitePositionsPerChomosome[chr].push_back(atoi(coord.c_str()));
                }
                
                if (p_S2 > p_S3) {
                    F_d_denom = ((1-p_S1)*p_S2*p_S2*(1-p_O)) - (p_S1*(1-p_S2)*p_S2*(1-p_O));
                } else {
                    F_d_denom = ((1-p_S1)*p_S3*p_S3*(1-p_O)) - (p_S1*(1-p_S3)*p_S3*(1-p_O));
                } testTrioInfos[i].F_d_denom += F_d_denom; testTrioInfos[i].interimF_d_denom += F_d_denom;
                
                if (p_S1 <= p_S2) {
                    if (p_S2 > p_S3) {
                        F_dM_denom = ((1-p_S1)*p_S2*p_S2*(1-p_O)) - (p_S1*(1-p_S2)*p_S2*(1-p_O));
                    } else {
                        F_dM_denom = ((1-p_S1)*p_S3*p_S3*(1-p_O)) - (p_S1*(1-p_S3)*p_S3*(1-p_O));
                    }
                } else {
                    if (p_S1 > p_S3) {
                        F_dM_denom = -(((1-p_S1)*p_S2*p_S1*(1-p_O)) - (p_S1*(1-p_S2)*p_S1)*(1-p_O));
                    } else {
                        F_dM_denom = -(((1-p_S3)*p_S2*p_S3*(1-p_O)) - (p_S3*(1-p_S2)*p_S3)*(1-p_O));
                    }
                } testTrioInfos[i].F_dM_denom += F_dM_denom; testTrioInfos[i].interimF_dM_denom += F_dM_denom;
                
                
                // d_f
                double d13 = p_S1 + p_S3 - (2*p_S1*p_S3); double d23 = p_S2 + p_S3 - (2*p_S2*p_S3);
                double dfNum = p_S2 * d13 - p_S1 * d23;
                double dfDenom = p_S2 * d13 + p_S1 * d23;
                
                double ABBAplusBABA = ABBA + BABA;
                if (ABBAplusBABA != 0) {
                    testTrioInfos[i].windowABBAs.push_back(ABBA);  testTrioInfos[i].windowBABAs.push_back(BABA);
                    testTrioInfos[i].windowF_d_denoms.push_back(testTrioInfos[i].interimF_d_denom);
                    testTrioInfos[i].windowF_dM_denoms.push_back(testTrioInfos[i].interimF_dM_denom);
                    testTrioInfos[i].window_d_f_nums.push_back(dfNum); testTrioInfos[i].window_d_f_denoms.push_back(dfDenom);
                    testTrioInfos[i].windowInformativeSitesCords.push_back(atoi(coord.c_str()));
                    testTrioInfos[i].windowABBAs.pop_front(); testTrioInfos[i].windowBABAs.pop_front();
                    testTrioInfos[i].windowF_d_denoms.pop_front(); testTrioInfos[i].windowF_dM_denoms.pop_front();
                    testTrioInfos[i].windowInformativeSitesCords.pop_front();
                    testTrioInfos[i].window_d_f_nums.pop_front(); testTrioInfos[i].window_d_f_denoms.pop_front();
                    testTrioInfos[i].interimF_d_denom = 0; testTrioInfos[i].interimF_dM_denom = 0;
                    testTrioInfos[i].usedVars++;
                
                    if ((testTrioInfos[i].usedVars > opt::windowSize) && (testTrioInfos[i].usedVars % opt::windowStep == 0)) {
                        double windowABBAtotal = vector_sum(testTrioInfos[i].windowABBAs); double windowBABAtotal = vector_sum(testTrioInfos[i].windowBABAs);
                        double windowF_d_denom = vector_sum(testTrioInfos[i].windowF_d_denoms); double windowF_dM_denom = vector_sum(testTrioInfos[i].windowF_dM_denoms);
                        double wDnum = windowABBAtotal - windowBABAtotal; double wDdenom = windowABBAtotal + windowBABAtotal;
                        double w_d_f_num = vector_sum(testTrioInfos[i].window_d_f_nums);
                        double w_d_f_denom = vector_sum(testTrioInfos[i].window_d_f_denoms);
                        if ((atoi(coord.c_str()) - testTrioInfos[i].windowInformativeSitesCords[0]) > 0) {
                            *outFiles[i] << std::fixed << chr << "\t" << testTrioInfos[i].windowInformativeSitesCords[0] << "\t" << coord << "\t" << wDnum/wDdenom << "\t" << wDnum/windowF_d_denom << "\t" << wDnum/windowF_dM_denom << "\t" << w_d_f_num/w_d_f_denom << std::endl;
                        }
                    }
                }
            }
           // durationCalculation = ( clock() - startCalculation ) / (double) CLOCKS_PER_SEC;
            delete c;
        }
    }
    
    for (int i = 0; i != testTrios.size(); i++) {
        testTrioInfos[i].mergeABBA_BABA_SiteCoordsOverChoms(); testTrioInfos[i].testIfSitesUniformlyDistributed();
        
        std::cout << testTrios[i][0] << "\t" << testTrios[i][1] << "\t" << testTrios[i][2] << std::endl;
        std::cout << "D=" << (double)(testTrioInfos[i].ABBAtotal-testTrioInfos[i].BABAtotal)/(testTrioInfos[i].ABBAtotal+testTrioInfos[i].BABAtotal) << std::endl;
        std::cout << "f_d=" << (double)(testTrioInfos[i].ABBAtotal-testTrioInfos[i].BABAtotal)/testTrioInfos[i].F_d_denom << "\t" << (testTrioInfos[i].ABBAtotal-testTrioInfos[i].BABAtotal) << "/" << testTrioInfos[i].F_d_denom << std::endl;
        std::cout << "f_dM=" << (double)(testTrioInfos[i].ABBAtotal-testTrioInfos[i].BABAtotal)/testTrioInfos[i].F_dM_denom << "\t" << (testTrioInfos[i].ABBAtotal-testTrioInfos[i].BABAtotal) << "/" << testTrioInfos[i].F_dM_denom << std::endl;
        std::cout << "ABBA_KSpval = " << testTrioInfos[i].ABBA_KSpval << std::endl;
        std::cout << "BABA_KSpval = " << testTrioInfos[i].BABA_KSpval << std::endl;
        std::cout << std::endl;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1020, %rsp           # imm = 0x1020
leaq -0x20(%rbp), %rdi
callq 0x87d0
leaq 0xa3f85(%rip), %rdi     # 0xbfd00
movl $0x8, %esi
callq 0xffb0
movq %rax, -0xb60(%rbp)
jmp 0x1bd8e
movq -0xb60(%rbp), %rax
movq %rax, -0x28(%rbp)
movl $0x208, %edi            # imm = 0x208
callq 0x85a0
movq %rax, -0xb68(%rbp)
jmp 0x1bdac
leaq 0xa3f8d(%rip), %rdi     # 0xbfd40
callq 0x8230
movq -0xb68(%rbp), %rdi
movq %rax, %rsi
movl $0x8, %edx
callq 0x8ad0
jmp 0x1bdce
movq -0xb68(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x89e0
movb %al, -0xb69(%rbp)
jmp 0x1bdf4
movb -0xb69(%rbp), %al
testb $0x1, %al
jne 0x1beaa
jmp 0x1be04
movq 0xa31e5(%rip), %rdi     # 0xbeff0
leaq 0x6ce27(%rip), %rsi     # 0x88c39
callq 0x8590
movq %rax, -0xb78(%rbp)
jmp 0x1be20
movq -0xb78(%rbp), %rdi
leaq 0xa3f12(%rip), %rsi     # 0xbfd40
callq 0x8520
movq %rax, -0xb80(%rbp)
jmp 0x1be3c
movq -0xb80(%rbp), %rdi
leaq 0x6ca46(%rip), %rsi     # 0x88890
callq 0x8590
movq %rax, -0xb88(%rbp)
jmp 0x1be58
movq -0xb88(%rbp), %rdi
movq 0xa30fa(%rip), %rsi     # 0xbef60
callq 0x85f0
jmp 0x1be6d
movl $0x1, %edi
callq 0x86e0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1eedc
movq -0xb68(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
movl $0x208, %esi            # imm = 0x208
callq 0x85b0
jmp 0x1eedc
leaq 0xa3e6f(%rip), %rsi     # 0xbfd20
leaq -0x118(%rbp), %rdi
movl $0x3, %edx
movl $0x1, %ecx
callq 0x1fbf0
jmp 0x1bec9
leaq -0x130(%rbp), %rdi
callq 0x201d0
leaq -0x148(%rbp), %rdi
callq 0x201d0
leaq -0x160(%rbp), %rdi
callq 0x201f0
movq -0x40(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x80d0
movq %rax, -0xb90(%rbp)
jmp 0x1bf03
movq -0xb90(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x8710
movb %al, -0xb91(%rbp)
jmp 0x1bf21
movb -0xb91(%rbp), %al
testb $0x1, %al
jne 0x1bf30
jmp 0x1c630
leaq -0x20(%rbp), %rdi
movq %rdi, -0xba8(%rbp)
callq 0x84f0
movq -0xba8(%rbp), %rdi
movq %rax, -0x178(%rbp)
callq 0x8330
movq %rax, -0x180(%rbp)
movb $0xd, -0x181(%rbp)
movq -0x178(%rbp), %rdi
movq -0x180(%rbp), %rsi
leaq -0x181(%rbp), %rdx
callq 0x20210
movq %rax, -0xba0(%rbp)
jmp 0x1bf84
movq -0xba0(%rbp), %rax
movq %rax, -0x170(%rbp)
leaq -0x168(%rbp), %rdi
leaq -0x170(%rbp), %rsi
callq 0x20260
leaq -0x20(%rbp), %rdi
movq %rdi, -0xbb8(%rbp)
callq 0x8330
movq %rax, -0x198(%rbp)
leaq -0x190(%rbp), %rdi
leaq -0x198(%rbp), %rsi
callq 0x20260
movq -0xbb8(%rbp), %rdi
movq -0x168(%rbp), %rsi
movq -0x190(%rbp), %rdx
callq 0x80f0
movq %rax, -0xbb0(%rbp)
jmp 0x1bff2
movq -0xbb0(%rbp), %rax
movq %rax, -0x1a0(%rbp)
leaq -0x1b8(%rbp), %rdi
leaq -0x20(%rbp), %rsi
movl $0x9, %edx
callq 0xaef0
jmp 0x1c017
leaq -0x1b8(%rbp), %rdi
callq 0x10740
cmpq $0x3, %rax
jne 0x1c02b
jmp 0x1c05b
leaq 0x6c87f(%rip), %rdi     # 0x888b1
leaq 0x6c88e(%rip), %rsi     # 0x888c7
movl $0x50, %edx
leaq 0x6c888(%rip), %rcx     # 0x888cd
callq 0x83b0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1eeac
movl $0x0, -0x1bc(%rbp)
movslq -0x1bc(%rbp), %rax
movq %rax, -0xbc0(%rbp)
leaq -0x1b8(%rbp), %rdi
callq 0x10740
movq %rax, %rcx
movq -0xbc0(%rbp), %rax
cmpq %rcx, %rax
je 0x1c1b5
leaq -0xd0(%rbp), %rax
movq %rax, -0xbd0(%rbp)
movslq -0x1bc(%rbp), %rsi
leaq -0x1b8(%rbp), %rdi
callq 0x10b10
movq -0xbd0(%rbp), %rdi
movq %rax, %rsi
callq 0x202a0
movq %rax, -0xbc8(%rbp)
jmp 0x1c0cb
movq -0xbc8(%rbp), %rax
cmpq $0x0, %rax
jne 0x1c19f
movslq -0x1bc(%rbp), %rsi
leaq -0x1b8(%rbp), %rdi
callq 0x10b10
movq %rax, %rsi
movq 0xa2ef7(%rip), %rdi     # 0xbeff0
callq 0x8520
movq %rax, -0xbd8(%rbp)
jmp 0x1c107
movq -0xbd8(%rbp), %rdi
leaq 0x6c7ca(%rip), %rsi     # 0x888df
callq 0x8590
movq %rax, -0xbe0(%rbp)
jmp 0x1c123
movq -0xbe0(%rbp), %rdi
leaq 0xa3c0f(%rip), %rsi     # 0xbfd40
callq 0x8520
movq %rax, -0xbe8(%rbp)
jmp 0x1c13f
movq -0xbe8(%rbp), %rdi
leaq 0x6c7a6(%rip), %rsi     # 0x888f3
callq 0x8590
movq %rax, -0xbf0(%rbp)
jmp 0x1c15b
movq -0xbf0(%rbp), %rdi
leaq 0xa3bb7(%rip), %rsi     # 0xbfd20
callq 0x8520
movq %rax, -0xbf8(%rbp)
jmp 0x1c177
movq -0xbf8(%rbp), %rdi
movq 0xa2ddb(%rip), %rsi     # 0xbef60
callq 0x85f0
jmp 0x1c18c
jmp 0x1c19f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1c61f
jmp 0x1c1a1
movl -0x1bc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1bc(%rbp)
jmp 0x1c065
movl $0x200, %edi            # imm = 0x200
callq 0x85a0
movq %rax, -0xc00(%rbp)
jmp 0x1c1c8
movb $0x1, -0x369(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x1b8(%rbp), %rdi
callq 0x10b10
movq %rax, %rsi
leaq 0x6c72d(%rip), %rdx     # 0x88916
leaq -0x328(%rbp), %rdi
callq 0x20470
jmp 0x1c1f7
leaq -0x1b8(%rbp), %rdi
movl $0x1, %esi
callq 0x10b10
movq %rax, %rdx
leaq -0x308(%rbp), %rdi
leaq -0x328(%rbp), %rsi
callq 0x20420
jmp 0x1c220
leaq 0x6c6ef(%rip), %rdx     # 0x88916
leaq -0x2e8(%rbp), %rdi
leaq -0x308(%rbp), %rsi
callq 0x20300
jmp 0x1c23c
leaq -0x1b8(%rbp), %rdi
movl $0x2, %esi
callq 0x10b10
movq %rax, %rdx
leaq -0x2c8(%rbp), %rdi
leaq -0x2e8(%rbp), %rsi
callq 0x20420
jmp 0x1c265
leaq 0x6c69e(%rip), %rdx     # 0x8890a
leaq -0x2a8(%rbp), %rdi
leaq -0x2c8(%rbp), %rsi
callq 0x20300
jmp 0x1c281
leaq 0xa3ad8(%rip), %rdx     # 0xbfd60
leaq -0x288(%rbp), %rdi
leaq -0x2a8(%rbp), %rsi
callq 0x20420
jmp 0x1c29d
leaq 0x6c672(%rip), %rdx     # 0x88916
leaq -0x268(%rbp), %rdi
leaq -0x288(%rbp), %rsi
callq 0x20300
jmp 0x1c2b9
movl 0xa3371(%rip), %esi     # 0xbf630
leaq -0x348(%rbp), %rdi
callq 0x204f0
jmp 0x1c2cd
leaq -0x248(%rbp), %rdi
leaq -0x268(%rbp), %rsi
leaq -0x348(%rbp), %rdx
callq 0x20350
jmp 0x1c2e9
leaq 0x6c626(%rip), %rdx     # 0x88916
leaq -0x228(%rbp), %rdi
leaq -0x248(%rbp), %rsi
callq 0x20300
jmp 0x1c305
movl 0xa3329(%rip), %esi     # 0xbf634
leaq -0x368(%rbp), %rdi
callq 0x204f0
jmp 0x1c319
leaq -0x208(%rbp), %rdi
leaq -0x228(%rbp), %rsi
leaq -0x368(%rbp), %rdx
callq 0x20350
jmp 0x1c335
leaq 0x6e69c(%rip), %rdx     # 0x8a9d8
leaq -0x1e8(%rbp), %rdi
leaq -0x208(%rbp), %rsi
callq 0x20300
jmp 0x1c351
movq -0xc00(%rbp), %rdi
leaq -0x1e8(%rbp), %rsi
movl $0x10, %edx
callq 0x8b70
jmp 0x1c36b
movb $0x0, -0x369(%rbp)
leaq -0x1e8(%rbp), %rdi
callq 0x8c08
leaq -0x208(%rbp), %rdi
callq 0x8c08
leaq -0x368(%rbp), %rdi
callq 0x8c08
leaq -0x228(%rbp), %rdi
callq 0x8c08
leaq -0x248(%rbp), %rdi
callq 0x8c08
leaq -0x348(%rbp), %rdi
callq 0x8c08
leaq -0x268(%rbp), %rdi
callq 0x8c08
leaq -0x288(%rbp), %rdi
callq 0x8c08
leaq -0x2a8(%rbp), %rdi
callq 0x8c08
leaq -0x2c8(%rbp), %rdi
callq 0x8c08
leaq -0x2e8(%rbp), %rdi
callq 0x8c08
leaq -0x308(%rbp), %rdi
callq 0x8c08
leaq -0x328(%rbp), %rdi
callq 0x8c08
movq -0xc00(%rbp), %rax
movq %rax, -0x1c8(%rbp)
movq -0x1c8(%rbp), %rdi
leaq 0x6c4ee(%rip), %rsi     # 0x88918
callq 0x8590
movq %rax, -0xc08(%rbp)
jmp 0x1c438
movq -0xc08(%rbp), %rdi
movq 0xa2b1a(%rip), %rsi     # 0xbef60
callq 0x85f0
jmp 0x1c44d
leaq -0x130(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
callq 0x205f0
jmp 0x1c462
leaq -0x160(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
callq 0x20660
jmp 0x1c477
leaq -0x1b8(%rbp), %rdi
callq 0x10760
jmp 0x1beed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1c601
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1c5f5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1c5e9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1c5dd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1c5d1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1c5c5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1c5b9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1c5ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1c5a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1c595
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1c589
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1c57d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1c571
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x1e8(%rbp), %rdi
callq 0x8c08
leaq -0x208(%rbp), %rdi
callq 0x8c08
leaq -0x368(%rbp), %rdi
callq 0x8c08
leaq -0x228(%rbp), %rdi
callq 0x8c08
leaq -0x248(%rbp), %rdi
callq 0x8c08
leaq -0x348(%rbp), %rdi
callq 0x8c08
leaq -0x268(%rbp), %rdi
callq 0x8c08
leaq -0x288(%rbp), %rdi
callq 0x8c08
leaq -0x2a8(%rbp), %rdi
callq 0x8c08
leaq -0x2c8(%rbp), %rdi
callq 0x8c08
leaq -0x2e8(%rbp), %rdi
callq 0x8c08
leaq -0x308(%rbp), %rdi
callq 0x8c08
leaq -0x328(%rbp), %rdi
callq 0x8c08
testb $0x1, -0x369(%rbp)
jne 0x1c60c
jmp 0x1c61d
movq -0xc00(%rbp), %rdi
movl $0x200, %esi            # imm = 0x200
callq 0x85b0
jmp 0x1c61f
leaq -0x1b8(%rbp), %rdi
callq 0x10760
jmp 0x1eeac
movl 0xa2ffa(%rip), %esi     # 0xbf630
leaq -0x688(%rbp), %rdi
callq 0x206d0
jmp 0x1c644
leaq -0x160(%rbp), %rdi
callq 0x209b0
movq %rax, -0xc18(%rbp)
leaq -0x6a1(%rbp), %rdi
movq %rdi, -0xc10(%rbp)
callq 0x209e0
movq -0xc18(%rbp), %rsi
movq -0xc10(%rbp), %rcx
leaq -0x6a0(%rbp), %rdi
leaq -0x688(%rbp), %rdx
callq 0x20a00
jmp 0x1c68d
leaq -0x6a1(%rbp), %rdi
callq 0x20a80
movl $0x0, -0x6a8(%rbp)
movl $0x3e8, -0x6ac(%rbp)    # imm = 0x3E8
leaq -0x6d0(%rbp), %rdi
callq 0x87d0
leaq -0x6f0(%rbp), %rdi
callq 0x87d0
leaq -0x708(%rbp), %rdi
callq 0x11d80
leaq -0x720(%rbp), %rdi
callq 0x11d80
callq 0x83d0
movq %rax, -0x728(%rbp)
movq -0x28(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x80d0
movq %rax, -0xc20(%rbp)
jmp 0x1c6ff
movq -0xc20(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x8710
movb %al, -0xc21(%rbp)
jmp 0x1c71d
movb -0xc21(%rbp), %al
testb $0x1, %al
jne 0x1c72c
jmp 0x1e76b
leaq -0x20(%rbp), %rdi
movq %rdi, -0xc38(%rbp)
callq 0x84f0
movq -0xc38(%rbp), %rdi
movq %rax, -0x740(%rbp)
callq 0x8330
movq %rax, -0x748(%rbp)
movb $0xd, -0x749(%rbp)
movq -0x740(%rbp), %rdi
movq -0x748(%rbp), %rsi
leaq -0x749(%rbp), %rdx
callq 0x20210
movq %rax, -0xc30(%rbp)
jmp 0x1c780
movq -0xc30(%rbp), %rax
movq %rax, -0x738(%rbp)
leaq -0x730(%rbp), %rdi
leaq -0x738(%rbp), %rsi
callq 0x20260
leaq -0x20(%rbp), %rdi
movq %rdi, -0xc48(%rbp)
callq 0x8330
movq %rax, -0x760(%rbp)
leaq -0x758(%rbp), %rdi
leaq -0x760(%rbp), %rsi
callq 0x20260
movq -0xc48(%rbp), %rdi
movq -0x730(%rbp), %rsi
movq -0x758(%rbp), %rdx
callq 0x80f0
movq %rax, -0xc40(%rbp)
jmp 0x1c7ee
movq -0xc40(%rbp), %rax
movq %rax, -0x768(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x20(%rbp), %rdi
callq 0x8bc0
movq %rax, -0xc50(%rbp)
jmp 0x1c812
movq -0xc50(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x23, %eax
jne 0x1c87a
leaq -0x20(%rbp), %rdi
movl $0x1, %esi
callq 0x8bc0
movq %rax, -0xc58(%rbp)
jmp 0x1c838
movq -0xc58(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x23, %eax
jne 0x1c87a
jmp 0x1c6e9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x6a1(%rbp), %rdi
callq 0x20a80
jmp 0x1eea0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1ee64
xorl %eax, %eax
movl %eax, %esi
leaq -0x20(%rbp), %rdi
callq 0x8bc0
movq %rax, -0xc60(%rbp)
jmp 0x1c890
movq -0xc60(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x23, %eax
jne 0x1c9f1
leaq -0x20(%rbp), %rdi
movl $0x1, %esi
callq 0x8bc0
movq %rax, -0xc68(%rbp)
jmp 0x1c8ba
movq -0xc68(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x43, %eax
jne 0x1c9f1
leaq -0x780(%rbp), %rdi
leaq -0x20(%rbp), %rsi
movl $0x9, %edx
callq 0xaef0
jmp 0x1c8e4
leaq -0x720(%rbp), %rdi
movq %rdi, -0xc78(%rbp)
leaq -0x780(%rbp), %rsi
movq %rsi, -0xc80(%rbp)
callq 0x20aa0
movq -0xc80(%rbp), %rdi
callq 0x10760
movq -0xc78(%rbp), %rdi
callq 0x10640
movq %rax, -0x7a8(%rbp)
leaq -0x7a8(%rbp), %rdi
movl $0x9, %esi
callq 0x20ad0
movq -0xc78(%rbp), %rdi
movq %rax, -0x7a0(%rbp)
callq 0x10670
movq %rax, -0x7b0(%rbp)
leaq -0x7b1(%rbp), %rdi
movq %rdi, -0xc70(%rbp)
callq 0x12540
movq -0xc70(%rbp), %rcx
movq -0x7a0(%rbp), %rsi
movq -0x7b0(%rbp), %rdx
leaq -0x798(%rbp), %rdi
callq 0x20b10
jmp 0x1c985
leaq -0x7b1(%rbp), %rdi
callq 0x1b400
leaq -0x118(%rbp), %rdi
leaq -0x798(%rbp), %rsi
callq 0x7f410
jmp 0x1c9a6
leaq -0x798(%rbp), %rdi
callq 0x10760
jmp 0x1e764
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x7b1(%rbp), %rdi
callq 0x1b400
jmp 0x1ee64
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x798(%rbp), %rdi
callq 0x10760
jmp 0x1ee64
movl -0x6a8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x6a8(%rbp)
movl -0x6a8(%rbp), %eax
cltd
idivl -0x6ac(%rbp)
cmpl $0x0, %edx
jne 0x1ca28
movl -0x6a8(%rbp), %edi
movq -0x728(%rbp), %rsi
callq 0x20b90
jmp 0x1ca26
jmp 0x1ca28
leaq -0x7d0(%rbp), %rdi
leaq -0x20(%rbp), %rsi
movl $0x9, %edx
callq 0xaef0
jmp 0x1ca3f
leaq -0x720(%rbp), %rdi
movq %rdi, -0xc88(%rbp)
leaq -0x7d0(%rbp), %rsi
movq %rsi, -0xc90(%rbp)
callq 0x20aa0
movq -0xc90(%rbp), %rdi
callq 0x10760
movq -0xc88(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x10b10
movq %rax, %rsi
leaq -0x6d0(%rbp), %rdi
callq 0x8070
jmp 0x1ca8d
leaq -0x720(%rbp), %rdi
movl $0x1, %esi
callq 0x10b10
movq %rax, %rsi
leaq -0x6f0(%rbp), %rdi
callq 0x8070
jmp 0x1caaf
leaq -0x720(%rbp), %rdi
movq %rdi, -0xca0(%rbp)
callq 0x10640
movq %rax, -0x7f8(%rbp)
leaq -0x7f8(%rbp), %rdi
movl $0x9, %esi
callq 0x20ad0
movq -0xca0(%rbp), %rdi
movq %rax, -0x7f0(%rbp)
callq 0x10670
movq %rax, -0x800(%rbp)
leaq -0x801(%rbp), %rdi
movq %rdi, -0xc98(%rbp)
callq 0x12540
movq -0xc98(%rbp), %rcx
movq -0x7f0(%rbp), %rsi
movq -0x800(%rbp), %rdx
leaq -0x7e8(%rbp), %rdi
callq 0x20b10
jmp 0x1cb2a
leaq -0x801(%rbp), %rdi
callq 0x1b400
leaq -0x720(%rbp), %rdi
movl $0x3, %esi
callq 0x10b10
movq %rax, %rsi
leaq -0x828(%rbp), %rdi
callq 0x8250
jmp 0x1cb58
leaq -0x720(%rbp), %rdi
movl $0x4, %esi
callq 0x10b10
movq %rax, %rsi
leaq -0x848(%rbp), %rdi
callq 0x8250
jmp 0x1cb7a
leaq -0x828(%rbp), %rdi
callq 0x88b0
cmpq $0x1, %rax
ja 0x1cbc8
leaq -0x848(%rbp), %rdi
callq 0x88b0
cmpq $0x1, %rax
ja 0x1cbc8
leaq 0x6bd9c(%rip), %rsi     # 0x88941
leaq -0x848(%rbp), %rdi
callq 0x9ab0
movb %al, -0xca1(%rbp)
jmp 0x1cbb9
movb -0xca1(%rbp), %al
testb $0x1, %al
jne 0x1cbc8
jmp 0x1cc86
leaq -0x828(%rbp), %rdi
movq %rdi, -0xcc0(%rbp)
callq 0x8760
movq -0xcc0(%rbp), %rdi
callq 0x8ba0
leaq -0x848(%rbp), %rdi
movq %rdi, -0xcb8(%rbp)
callq 0x8760
movq -0xcb8(%rbp), %rdi
callq 0x8ba0
leaq -0x7e8(%rbp), %rdi
movq %rdi, -0xcb0(%rbp)
callq 0x20c20
movq -0xcb0(%rbp), %rdi
callq 0x20c40
jmp 0x1cc27
movl $0x7, -0x84c(%rbp)
jmp 0x1e704
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x801(%rbp), %rdi
callq 0x1b400
jmp 0x1ee64
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1e753
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1e747
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1e73b
movl $0x348, %edi            # imm = 0x348
callq 0x85a0
movq %rax, -0xcc8(%rbp)
jmp 0x1cc99
leaq -0xa0(%rbp), %rax
movq %rax, -0xcd0(%rbp)
leaq -0x7e8(%rbp), %rdi
callq 0x10740
movq -0xcc8(%rbp), %rdi
movq -0xcd0(%rbp), %rsi
movl %eax, %edx
callq 0x20c60
jmp 0x1ccca
movq -0xcc8(%rbp), %rax
movq %rax, -0x858(%rbp)
movq -0x858(%rbp), %rdi
leaq -0x70(%rbp), %rdx
leaq -0x7e8(%rbp), %rsi
callq 0xa250
jmp 0x1ccf1
jmp 0x1cdd2
movq -0xcc8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
movl $0x348, %esi            # imm = 0x348
callq 0x85b0
jmp 0x1e73b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
movl -0x34(%rbp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0x1e73b
movq -0x30(%rbp), %rdi
callq 0x8220
movq %rax, -0x860(%rbp)
movq 0xa22a5(%rip), %rdi     # 0xbeff0
leaq 0x6bbf1(%rip), %rsi     # 0x88943
callq 0x8590
movq %rax, -0xcd8(%rbp)
jmp 0x1cd60
movq -0xcd8(%rbp), %rdi
leaq -0x6d0(%rbp), %rsi
callq 0x8520
movq %rax, -0xce0(%rbp)
jmp 0x1cd7c
movq -0xce0(%rbp), %rdi
leaq 0x6c785(%rip), %rsi     # 0x8950f
callq 0x8590
movq %rax, -0xce8(%rbp)
jmp 0x1cd98
movq -0xce8(%rbp), %rdi
leaq -0x6f0(%rbp), %rsi
callq 0x8520
movq %rax, -0xcf0(%rbp)
jmp 0x1cdb4
movq -0xcf0(%rbp), %rdi
movq 0xa219e(%rip), %rsi     # 0xbef60
callq 0x85f0
jmp 0x1cdc9
callq 0x8950
jmp 0x1cdd0
jmp 0x1cdd2
testb $0x1, 0xa2fa7(%rip)     # 0xbfd80
je 0x1ce93
movq -0x858(%rbp), %rdi
leaq -0x720(%rbp), %rsi
callq 0xabf0
movl %eax, -0xcf4(%rbp)
jmp 0x1cdfa
movl -0xcf4(%rbp), %eax
movl %eax, -0x864(%rbp)
cmpl $0x0, -0x864(%rbp)
jne 0x1ce70
xorl %eax, %eax
movl %eax, %esi
leaq -0x720(%rbp), %rdi
movq %rdi, -0xd08(%rbp)
callq 0x10b10
movq -0xd08(%rbp), %rdi
movq %rax, -0xd00(%rbp)
movl $0x1, %esi
callq 0x10b10
movq -0xd00(%rbp), %rdi
movq %rax, %rsi
callq 0x7feb0
jmp 0x1ce4f
movb $0x0, 0xa2f2a(%rip)     # 0xbfd80
jmp 0x1ce91
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
callq 0x8950
jmp 0x1ce6b
jmp 0x1e73b
movq -0x858(%rbp), %rdi
leaq -0x70(%rbp), %rdx
movl -0x864(%rbp), %ecx
leaq -0x7e8(%rbp), %rsi
callq 0xb770
jmp 0x1ce8f
jmp 0x1ce91
jmp 0x1ce93
leaq -0x7e8(%rbp), %rdi
movq %rdi, -0xd10(%rbp)
callq 0x20c20
movq -0xd10(%rbp), %rdi
callq 0x20c40
jmp 0x1ceb4
movq -0x858(%rbp), %rax
addq $0x220, %rax            # imm = 0x220
movq %rax, -0xd20(%rbp)
leaq -0x891(%rbp), %rdi
movq %rdi, -0xd18(%rbp)
callq 0x8a60
movq -0xd18(%rbp), %rdx
leaq 0x6bbb9(%rip), %rsi     # 0x88aa2
leaq -0x890(%rbp), %rdi
callq 0x9a00
jmp 0x1cef7
movq -0xd20(%rbp), %rdi
leaq -0x890(%rbp), %rsi
callq 0x10db0
movq %rax, -0xd28(%rbp)
jmp 0x1cf13
movq -0xd28(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x870(%rbp)
leaq -0x890(%rbp), %rdi
callq 0x8c08
leaq -0x891(%rbp), %rdi
callq 0x8610
jmp 0x1cfcf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1cf69
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x890(%rbp), %rdi
callq 0x8c08
leaq -0x891(%rbp), %rdi
callq 0x8610
movl -0x34(%rbp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0x1e73b
movq -0x30(%rbp), %rdi
callq 0x8220
movq %rax, -0x8a0(%rbp)
movq 0xa2054(%rip), %rdi     # 0xbeff0
leaq 0x6b9c2(%rip), %rsi     # 0x88965
callq 0x8590
movq %rax, -0xd30(%rbp)
jmp 0x1cfb1
movq -0xd30(%rbp), %rdi
movq 0xa1fa1(%rip), %rsi     # 0xbef60
callq 0x85f0
jmp 0x1cfc6
callq 0x8950
jmp 0x1cfcd
jmp 0x1cfcf
movsd -0x870(%rbp), %xmm0
movsd 0x6b4e9(%rip), %xmm1    # 0x884c8
ucomisd %xmm1, %xmm0
jne 0x1d03f
jp 0x1d03f
movq -0x858(%rbp), %rax
movq %rax, -0xd38(%rbp)
cmpq $0x0, %rax
je 0x1d018
movq -0xd38(%rbp), %rdi
callq 0x21520
movq -0xd38(%rbp), %rdi
movl $0x348, %esi            # imm = 0x348
callq 0x85b0
movl $0x7, -0x84c(%rbp)
jmp 0x1e704
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
callq 0x8950
jmp 0x1d03a
jmp 0x1e73b
movl $0x0, -0x8dc(%rbp)
movslq -0x8dc(%rbp), %rax
movq %rax, -0xd40(%rbp)
leaq -0x160(%rbp), %rdi
callq 0x209b0
movq %rax, %rcx
movq -0xd40(%rbp), %rax
cmpq %rcx, %rax
je 0x1e6c9
testb $0x1, 0xa2d03(%rip)     # 0xbfd80
jne 0x1d1a0
movq -0x858(%rbp), %rax
addq $0x220, %rax            # imm = 0x220
movq %rax, -0xd50(%rbp)
movslq -0x8dc(%rbp), %rsi
leaq -0x160(%rbp), %rdi
callq 0x21650
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x10b10
movq -0xd50(%rbp), %rdi
movq %rax, %rsi
callq 0x10db0
movq %rax, -0xd48(%rbp)
jmp 0x1d0ce
movq -0xd48(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x8a8(%rbp)
jmp 0x1d1fe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
movl -0x34(%rbp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0x1e73b
movq -0x30(%rbp), %rdi
callq 0x8220
movq %rax, -0x8e8(%rbp)
movq 0xa1ed7(%rip), %rdi     # 0xbeff0
leaq 0x6b884(%rip), %rsi     # 0x889a4
callq 0x8590
movq %rax, -0xd58(%rbp)
jmp 0x1d12e
movslq -0x8dc(%rbp), %rsi
leaq -0x160(%rbp), %rdi
callq 0x21650
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x10b10
movq -0xd58(%rbp), %rdi
movq %rax, %rsi
callq 0x8520
movq %rax, -0xd60(%rbp)
jmp 0x1d165
movq -0xd60(%rbp), %rdi
movq 0xa1ded(%rip), %rsi     # 0xbef60
callq 0x85f0
jmp 0x1d17a
callq 0x8950
jmp 0x1d181
jmp 0x1d183
movsd -0x8a8(%rbp), %xmm0
movsd 0x6b335(%rip), %xmm1    # 0x884c8
ucomisd %xmm1, %xmm0
jne 0x1d218
jp 0x1d218
jmp 0x1e6b5
movq -0x858(%rbp), %rax
addq $0x290, %rax            # imm = 0x290
movq %rax, -0xd70(%rbp)
movslq -0x8dc(%rbp), %rsi
leaq -0x160(%rbp), %rdi
callq 0x21650
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x10b10
movq -0xd70(%rbp), %rdi
movq %rax, %rsi
callq 0x10db0
movq %rax, -0xd68(%rbp)
jmp 0x1d1eb
movq -0xd68(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x8a8(%rbp)
jmp 0x1d183
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
callq 0x8950
jmp 0x1d213
jmp 0x1e73b
testb $0x1, 0xa2b61(%rip)     # 0xbfd80
jne 0x1d34c
movq -0x858(%rbp), %rax
addq $0x220, %rax            # imm = 0x220
movq %rax, -0xd80(%rbp)
movslq -0x8dc(%rbp), %rsi
leaq -0x160(%rbp), %rdi
callq 0x21650
movq %rax, %rdi
movl $0x1, %esi
callq 0x10b10
movq -0xd80(%rbp), %rdi
movq %rax, %rsi
callq 0x10db0
movq %rax, -0xd78(%rbp)
jmp 0x1d271
movq -0xd78(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x8b0(%rbp)
jmp 0x1d3ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
movl -0x34(%rbp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0x1e73b
movq -0x30(%rbp), %rdi
callq 0x8220
movq %rax, -0x8f0(%rbp)
movq 0xa1d34(%rip), %rdi     # 0xbeff0
leaq 0x6b6e1(%rip), %rsi     # 0x889a4
callq 0x8590
movq %rax, -0xd88(%rbp)
jmp 0x1d2d1
movslq -0x8dc(%rbp), %rsi
leaq -0x160(%rbp), %rdi
callq 0x21650
movq %rax, %rdi
movl $0x1, %esi
callq 0x10b10
movq -0xd88(%rbp), %rdi
movq %rax, %rsi
callq 0x8520
movq %rax, -0xd90(%rbp)
jmp 0x1d309
movq -0xd90(%rbp), %rdi
movq 0xa1c49(%rip), %rsi     # 0xbef60
callq 0x85f0
jmp 0x1d31e
callq 0x8950
jmp 0x1d325
jmp 0x1d327
movsd -0x8b0(%rbp), %xmm0
movsd 0x6b191(%rip), %xmm1    # 0x884c8
ucomisd %xmm1, %xmm0
jne 0x1d3c8
jp 0x1d3c8
jmp 0x1e6b5
movq -0x858(%rbp), %rax
addq $0x290, %rax            # imm = 0x290
movq %rax, -0xda0(%rbp)
movslq -0x8dc(%rbp), %rsi
leaq -0x160(%rbp), %rdi
callq 0x21650
movq %rax, %rdi
movl $0x1, %esi
callq 0x10b10
movq -0xda0(%rbp), %rdi
movq %rax, %rsi
callq 0x10db0
movq %rax, -0xd98(%rbp)
jmp 0x1d398
movq -0xd98(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x8b0(%rbp)
jmp 0x1d327
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
callq 0x8950
jmp 0x1d3c3
jmp 0x1e73b
testb $0x1, 0xa29b1(%rip)     # 0xbfd80
jne 0x1d4fc
movq -0x858(%rbp), %rax
addq $0x220, %rax            # imm = 0x220
movq %rax, -0xdb0(%rbp)
movslq -0x8dc(%rbp), %rsi
leaq -0x160(%rbp), %rdi
callq 0x21650
movq %rax, %rdi
movl $0x2, %esi
callq 0x10b10
movq -0xdb0(%rbp), %rdi
movq %rax, %rsi
callq 0x10db0
movq %rax, -0xda8(%rbp)
jmp 0x1d421
movq -0xda8(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x8b8(%rbp)
jmp 0x1d55b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
movl -0x34(%rbp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0x1e73b
movq -0x30(%rbp), %rdi
callq 0x8220
movq %rax, -0x8f8(%rbp)
movq 0xa1b84(%rip), %rdi     # 0xbeff0
leaq 0x6b531(%rip), %rsi     # 0x889a4
callq 0x8590
movq %rax, -0xdb8(%rbp)
jmp 0x1d481
movslq -0x8dc(%rbp), %rsi
leaq -0x160(%rbp), %rdi
callq 0x21650
movq %rax, %rdi
movl $0x2, %esi
callq 0x10b10
movq -0xdb8(%rbp), %rdi
movq %rax, %rsi
callq 0x8520
movq %rax, -0xdc0(%rbp)
jmp 0x1d4b9
movq -0xdc0(%rbp), %rdi
movq 0xa1a99(%rip), %rsi     # 0xbef60
callq 0x85f0
jmp 0x1d4ce
callq 0x8950
jmp 0x1d4d5
jmp 0x1d4d7
movsd -0x8b8(%rbp), %xmm0
movsd 0x6afe1(%rip), %xmm1    # 0x884c8
ucomisd %xmm1, %xmm0
jne 0x1d578
jp 0x1d578
jmp 0x1e6b5
movq -0x858(%rbp), %rax
addq $0x290, %rax            # imm = 0x290
movq %rax, -0xdd0(%rbp)
movslq -0x8dc(%rbp), %rsi
leaq -0x160(%rbp), %rdi
callq 0x21650
movq %rax, %rdi
movl $0x2, %esi
callq 0x10b10
movq -0xdd0(%rbp), %rdi
movq %rax, %rsi
callq 0x10db0
movq %rax, -0xdc8(%rbp)
jmp 0x1d548
movq -0xdc8(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x8b8(%rbp)
jmp 0x1d4d7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
callq 0x8950
jmp 0x1d573
jmp 0x1e73b
movsd -0x8a8(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x1d5b6
jp 0x1d5b6
movsd -0x8b0(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x1d5b6
jp 0x1d5b6
movsd -0x8b8(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x1d5b6
jp 0x1d5b6
jmp 0x1e6b5
movsd -0x8a8(%rbp), %xmm0
movsd 0x6aee2(%rip), %xmm1    # 0x884a8
ucomisd %xmm1, %xmm0
jne 0x1d603
jp 0x1d603
movsd -0x8b0(%rbp), %xmm0
movsd 0x6aeca(%rip), %xmm1    # 0x884a8
ucomisd %xmm1, %xmm0
jne 0x1d603
jp 0x1d603
movsd -0x8b8(%rbp), %xmm0
movsd 0x6aeb2(%rip), %xmm1    # 0x884a8
ucomisd %xmm1, %xmm0
jne 0x1d603
jp 0x1d603
jmp 0x1e6b5
movsd 0x6ae9d(%rip), %xmm0    # 0x884a8
subsd -0x8a8(%rbp), %xmm0
mulsd -0x8b0(%rbp), %xmm0
mulsd -0x8b8(%rbp), %xmm0
movsd 0x6ae7d(%rip), %xmm1    # 0x884a8
subsd -0x870(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x8c0(%rbp)
movsd -0x8c0(%rbp), %xmm0
movsd %xmm0, -0xdd8(%rbp)
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movsd -0xdd8(%rbp), %xmm0
addsd 0x2d0(%rax), %xmm0
movsd %xmm0, 0x2d0(%rax)
movsd -0x8c0(%rbp), %xmm0
movsd 0x6ae26(%rip), %xmm1    # 0x884b0
ucomisd %xmm1, %xmm0
jbe 0x1d6ec
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movq %rax, %rdi
leaq -0x6d0(%rbp), %rsi
callq 0x116a0
movq %rax, -0xde0(%rbp)
jmp 0x1d6bb
leaq -0x6f0(%rbp), %rdi
callq 0x8230
movq %rax, %rdi
callq 0x88e0
movq -0xde0(%rbp), %rdi
movl %eax, -0x8fc(%rbp)
leaq -0x8fc(%rbp), %rsi
callq 0x11780
jmp 0x1d6ea
jmp 0x1d6ec
movsd -0x8a8(%rbp), %xmm0
movsd 0x6adac(%rip), %xmm1    # 0x884a8
subsd -0x8b0(%rbp), %xmm1
mulsd %xmm1, %xmm0
mulsd -0x8b8(%rbp), %xmm0
movsd 0x6ad90(%rip), %xmm1    # 0x884a8
subsd -0x870(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x8c8(%rbp)
movsd -0x8c8(%rbp), %xmm0
movsd %xmm0, -0xde8(%rbp)
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movsd -0xde8(%rbp), %xmm0
addsd 0x2d8(%rax), %xmm0
movsd %xmm0, 0x2d8(%rax)
movsd -0x8c8(%rbp), %xmm0
movsd 0x6ad39(%rip), %xmm1    # 0x884b0
ucomisd %xmm1, %xmm0
jbe 0x1d7dd
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movq %rax, %rdi
addq $0x48, %rdi
leaq -0x6d0(%rbp), %rsi
callq 0x116a0
movq %rax, -0xdf0(%rbp)
jmp 0x1d7ac
leaq -0x6f0(%rbp), %rdi
callq 0x8230
movq %rax, %rdi
callq 0x88e0
movq -0xdf0(%rbp), %rdi
movl %eax, -0x900(%rbp)
leaq -0x900(%rbp), %rsi
callq 0x11780
jmp 0x1d7db
jmp 0x1d7dd
movsd -0x8b0(%rbp), %xmm0
ucomisd -0x8b8(%rbp), %xmm0
jbe 0x1d887
movsd 0x6acad(%rip), %xmm0    # 0x884a8
subsd -0x8a8(%rbp), %xmm0
mulsd -0x8b0(%rbp), %xmm0
mulsd -0x8b0(%rbp), %xmm0
movsd 0x6ac8d(%rip), %xmm2    # 0x884a8
subsd -0x870(%rbp), %xmm2
movsd -0x8a8(%rbp), %xmm1
movsd 0x6ac75(%rip), %xmm3    # 0x884a8
subsd -0x8b0(%rbp), %xmm3
mulsd %xmm3, %xmm1
mulsd -0x8b0(%rbp), %xmm1
movsd 0x6ac59(%rip), %xmm3    # 0x884a8
subsd -0x870(%rbp), %xmm3
mulsd %xmm3, %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x8d0(%rbp)
jmp 0x1d916
movsd 0x6ac19(%rip), %xmm0    # 0x884a8
subsd -0x8a8(%rbp), %xmm0
mulsd -0x8b8(%rbp), %xmm0
mulsd -0x8b8(%rbp), %xmm0
movsd 0x6abf9(%rip), %xmm2    # 0x884a8
subsd -0x870(%rbp), %xmm2
movsd -0x8a8(%rbp), %xmm1
movsd 0x6abe1(%rip), %xmm3    # 0x884a8
subsd -0x8b8(%rbp), %xmm3
mulsd %xmm3, %xmm1
mulsd -0x8b8(%rbp), %xmm1
movsd 0x6abc5(%rip), %xmm3    # 0x884a8
subsd -0x870(%rbp), %xmm3
mulsd %xmm3, %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x8d0(%rbp)
movsd -0x8d0(%rbp), %xmm0
movsd %xmm0, -0xe00(%rbp)
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movsd -0xe00(%rbp), %xmm0
addsd 0x2e0(%rax), %xmm0
movsd %xmm0, 0x2e0(%rax)
movsd -0x8d0(%rbp), %xmm0
movsd %xmm0, -0xdf8(%rbp)
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movsd -0xdf8(%rbp), %xmm0
addsd 0x2c0(%rax), %xmm0
movsd %xmm0, 0x2c0(%rax)
movsd -0x8a8(%rbp), %xmm1
movsd -0x8b0(%rbp), %xmm0
ucomisd %xmm1, %xmm0
jb 0x1dae4
movsd -0x8b0(%rbp), %xmm0
ucomisd -0x8b8(%rbp), %xmm0
jbe 0x1da50
movsd 0x6aae4(%rip), %xmm0    # 0x884a8
subsd -0x8a8(%rbp), %xmm0
mulsd -0x8b0(%rbp), %xmm0
mulsd -0x8b0(%rbp), %xmm0
movsd 0x6aac4(%rip), %xmm2    # 0x884a8
subsd -0x870(%rbp), %xmm2
movsd -0x8a8(%rbp), %xmm1
movsd 0x6aaac(%rip), %xmm3    # 0x884a8
subsd -0x8b0(%rbp), %xmm3
mulsd %xmm3, %xmm1
mulsd -0x8b0(%rbp), %xmm1
movsd 0x6aa90(%rip), %xmm3    # 0x884a8
subsd -0x870(%rbp), %xmm3
mulsd %xmm3, %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x8d8(%rbp)
jmp 0x1dadf
movsd 0x6aa50(%rip), %xmm0    # 0x884a8
subsd -0x8a8(%rbp), %xmm0
mulsd -0x8b8(%rbp), %xmm0
mulsd -0x8b8(%rbp), %xmm0
movsd 0x6aa30(%rip), %xmm2    # 0x884a8
subsd -0x870(%rbp), %xmm2
movsd -0x8a8(%rbp), %xmm1
movsd 0x6aa18(%rip), %xmm3    # 0x884a8
subsd -0x8b8(%rbp), %xmm3
mulsd %xmm3, %xmm1
mulsd -0x8b8(%rbp), %xmm1
movsd 0x6a9fc(%rip), %xmm3    # 0x884a8
subsd -0x870(%rbp), %xmm3
mulsd %xmm3, %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x8d8(%rbp)
jmp 0x1dc4d
movsd -0x8a8(%rbp), %xmm0
ucomisd -0x8b8(%rbp), %xmm0
jbe 0x1dba5
movsd 0x6a9a6(%rip), %xmm0    # 0x884a8
subsd -0x8a8(%rbp), %xmm0
mulsd -0x8b0(%rbp), %xmm0
mulsd -0x8a8(%rbp), %xmm0
movsd 0x6a986(%rip), %xmm2    # 0x884a8
subsd -0x870(%rbp), %xmm2
movsd -0x8a8(%rbp), %xmm1
movsd 0x6a96e(%rip), %xmm3    # 0x884a8
subsd -0x8b0(%rbp), %xmm3
mulsd %xmm3, %xmm1
mulsd -0x8a8(%rbp), %xmm1
movsd 0x6a952(%rip), %xmm3    # 0x884a8
subsd -0x870(%rbp), %xmm3
mulsd %xmm3, %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd %xmm0, -0x8d8(%rbp)
jmp 0x1dc4b
movsd 0x6a8fb(%rip), %xmm0    # 0x884a8
subsd -0x8b8(%rbp), %xmm0
mulsd -0x8b0(%rbp), %xmm0
mulsd -0x8b8(%rbp), %xmm0
movsd 0x6a8db(%rip), %xmm2    # 0x884a8
subsd -0x870(%rbp), %xmm2
movsd -0x8b8(%rbp), %xmm1
movsd 0x6a8c3(%rip), %xmm3    # 0x884a8
subsd -0x8b0(%rbp), %xmm3
mulsd %xmm3, %xmm1
mulsd -0x8b8(%rbp), %xmm1
movsd 0x6a8a7(%rip), %xmm3    # 0x884a8
subsd -0x870(%rbp), %xmm3
mulsd %xmm3, %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd %xmm0, -0x8d8(%rbp)
jmp 0x1dc4d
movsd -0x8d8(%rbp), %xmm0
movsd %xmm0, -0xe10(%rbp)
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movsd -0xe10(%rbp), %xmm0
addsd 0x2e8(%rax), %xmm0
movsd %xmm0, 0x2e8(%rax)
movsd -0x8d8(%rbp), %xmm0
movsd %xmm0, -0xe08(%rbp)
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movsd -0xe08(%rbp), %xmm0
addsd 0x2c8(%rax), %xmm0
movsd %xmm0, 0x2c8(%rax)
movsd -0x8a8(%rbp), %xmm1
addsd -0x8b8(%rbp), %xmm1
movsd 0x6a7e5(%rip), %xmm0    # 0x884c0
mulsd -0x8a8(%rbp), %xmm0
movsd -0x8b8(%rbp), %xmm2
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x908(%rbp)
movsd -0x8b0(%rbp), %xmm1
addsd -0x8b8(%rbp), %xmm1
movsd 0x6a796(%rip), %xmm0    # 0x884c0
mulsd -0x8b0(%rbp), %xmm0
movsd -0x8b8(%rbp), %xmm2
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x910(%rbp)
movsd -0x8b0(%rbp), %xmm0
movsd -0x908(%rbp), %xmm2
movsd -0x8a8(%rbp), %xmm1
mulsd -0x910(%rbp), %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x918(%rbp)
movsd -0x8b0(%rbp), %xmm0
movsd -0x908(%rbp), %xmm2
movsd -0x8a8(%rbp), %xmm1
mulsd -0x910(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x920(%rbp)
movsd -0x8c0(%rbp), %xmm0
addsd -0x8c8(%rbp), %xmm0
movsd %xmm0, -0x928(%rbp)
movsd -0x928(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x1de08
jp 0x1de08
jmp 0x1e6b3
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movq %rax, %rdi
addq $0x90, %rdi
leaq -0x8c0(%rbp), %rsi
callq 0x21690
jmp 0x1de33
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movq %rax, %rdi
addq $0xe0, %rdi
leaq -0x8c8(%rbp), %rsi
callq 0x21690
jmp 0x1de5e
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
movq %rdi, -0xe20(%rbp)
callq 0x21670
movq -0xe20(%rbp), %rdi
addq $0x130, %rax            # imm = 0x130
movq %rax, -0xe18(%rbp)
movslq -0x8dc(%rbp), %rsi
callq 0x21670
movq -0xe18(%rbp), %rdi
movq %rax, %rsi
addq $0x2c0, %rsi            # imm = 0x2C0
callq 0x21690
jmp 0x1deb0
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
movq %rdi, -0xe30(%rbp)
callq 0x21670
movq -0xe30(%rbp), %rdi
addq $0x180, %rax            # imm = 0x180
movq %rax, -0xe28(%rbp)
movslq -0x8dc(%rbp), %rsi
callq 0x21670
movq -0xe28(%rbp), %rdi
movq %rax, %rsi
addq $0x2c8, %rsi            # imm = 0x2C8
callq 0x21690
jmp 0x1df02
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movq %rax, %rdi
addq $0x1d0, %rdi            # imm = 0x1D0
leaq -0x918(%rbp), %rsi
callq 0x21690
jmp 0x1df2d
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movq %rax, %rdi
addq $0x220, %rdi            # imm = 0x220
leaq -0x920(%rbp), %rsi
callq 0x21690
jmp 0x1df58
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
addq $0x270, %rax            # imm = 0x270
movq %rax, -0xe38(%rbp)
leaq -0x6f0(%rbp), %rdi
callq 0x8230
movq %rax, %rdi
callq 0x88e0
movq -0xe38(%rbp), %rdi
movl %eax, -0x92c(%rbp)
leaq -0x92c(%rbp), %rsi
callq 0x216f0
jmp 0x1dfa7
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movq %rax, %rdi
addq $0x90, %rdi
callq 0x21720
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movq %rax, %rdi
addq $0xe0, %rdi
callq 0x21720
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movq %rax, %rdi
addq $0x130, %rdi            # imm = 0x130
callq 0x21720
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movq %rax, %rdi
addq $0x180, %rdi            # imm = 0x180
callq 0x21720
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movq %rax, %rdi
addq $0x270, %rdi            # imm = 0x270
callq 0x21790
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movq %rax, %rdi
addq $0x1d0, %rdi            # imm = 0x1D0
callq 0x21720
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movq %rax, %rdi
addq $0x220, %rdi            # imm = 0x220
callq 0x21720
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
xorps %xmm0, %xmm0
movsd %xmm0, 0x2c0(%rax)
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
xorps %xmm0, %xmm0
movsd %xmm0, 0x2c8(%rax)
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movl 0x300(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x300(%rax)
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movl 0x300(%rax), %eax
cmpl 0xa151e(%rip), %eax     # 0xbf630
jle 0x1e6b1
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movl 0x300(%rax), %eax
cltd
idivl 0xa14fc(%rip)           # 0xbf634
cmpl $0x0, %edx
jne 0x1e6b1
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movq %rax, %rsi
addq $0x90, %rsi
leaq -0x988(%rbp), %rdi
callq 0x21870
jmp 0x1e16c
leaq -0x988(%rbp), %rdi
callq 0x21800
movsd %xmm0, -0xe40(%rbp)
jmp 0x1e182
leaq -0x988(%rbp), %rdi
callq 0x21990
movsd -0xe40(%rbp), %xmm0
movsd %xmm0, -0x938(%rbp)
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movq %rax, %rsi
addq $0xe0, %rsi
leaq -0x9e0(%rbp), %rdi
callq 0x21870
jmp 0x1e1c9
leaq -0x9e0(%rbp), %rdi
callq 0x21800
movsd %xmm0, -0xe48(%rbp)
jmp 0x1e1df
leaq -0x9e0(%rbp), %rdi
callq 0x21990
movsd -0xe48(%rbp), %xmm0
movsd %xmm0, -0x990(%rbp)
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movq %rax, %rsi
addq $0x130, %rsi            # imm = 0x130
leaq -0xa38(%rbp), %rdi
callq 0x21870
jmp 0x1e226
leaq -0xa38(%rbp), %rdi
callq 0x21800
movsd %xmm0, -0xe50(%rbp)
jmp 0x1e23c
leaq -0xa38(%rbp), %rdi
callq 0x21990
movsd -0xe50(%rbp), %xmm0
movsd %xmm0, -0x9e8(%rbp)
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movq %rax, %rsi
addq $0x180, %rsi            # imm = 0x180
leaq -0xa90(%rbp), %rdi
callq 0x21870
jmp 0x1e283
leaq -0xa90(%rbp), %rdi
callq 0x21800
movsd %xmm0, -0xe58(%rbp)
jmp 0x1e299
leaq -0xa90(%rbp), %rdi
callq 0x21990
movsd -0xe58(%rbp), %xmm0
movsd %xmm0, -0xa40(%rbp)
movsd -0x938(%rbp), %xmm0
movsd -0x990(%rbp), %xmm1
subsd %xmm1, %xmm0
movsd %xmm0, -0xa98(%rbp)
movsd -0x938(%rbp), %xmm0
movsd -0x990(%rbp), %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0xaa0(%rbp)
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movq %rax, %rsi
addq $0x1d0, %rsi            # imm = 0x1D0
leaq -0xaf8(%rbp), %rdi
callq 0x21870
jmp 0x1e318
leaq -0xaf8(%rbp), %rdi
callq 0x21800
movsd %xmm0, -0xe60(%rbp)
jmp 0x1e32e
leaq -0xaf8(%rbp), %rdi
callq 0x21990
movsd -0xe60(%rbp), %xmm0
movsd %xmm0, -0xaa8(%rbp)
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movq %rax, %rsi
addq $0x220, %rsi            # imm = 0x220
leaq -0xb50(%rbp), %rdi
callq 0x21870
jmp 0x1e375
leaq -0xb50(%rbp), %rdi
callq 0x21800
movsd %xmm0, -0xe68(%rbp)
jmp 0x1e38b
leaq -0xb50(%rbp), %rdi
callq 0x21990
movsd -0xe68(%rbp), %xmm0
movsd %xmm0, -0xb00(%rbp)
leaq -0x6f0(%rbp), %rdi
callq 0x8230
movq %rax, %rdi
callq 0x88e0
movl %eax, -0xe6c(%rbp)
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movq %rax, %rdi
addq $0x270, %rdi            # imm = 0x270
xorl %eax, %eax
movl %eax, %esi
callq 0x219f0
movq %rax, %rcx
movl -0xe6c(%rbp), %eax
subl (%rcx), %eax
cmpl $0x0, %eax
jle 0x1e6af
movslq -0x8dc(%rbp), %rsi
leaq -0x130(%rbp), %rdi
callq 0x21a20
movq (%rax), %rdi
leaq 0x3628(%rip), %rsi      # 0x21a40
callq 0x81d0
movq %rax, -0xe78(%rbp)
jmp 0x1e426
movq -0xe78(%rbp), %rdi
leaq -0x6d0(%rbp), %rsi
callq 0x8520
movq %rax, -0xe80(%rbp)
jmp 0x1e442
movq -0xe80(%rbp), %rdi
leaq 0x6cf18(%rip), %rsi     # 0x8b368
callq 0x8590
movq %rax, -0xe88(%rbp)
jmp 0x1e45e
movslq -0x8dc(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movq %rax, %rdi
addq $0x270, %rdi            # imm = 0x270
xorl %eax, %eax
movl %eax, %esi
callq 0x219f0
movq -0xe88(%rbp), %rdi
movl (%rax), %esi
callq 0x8a10
movq %rax, -0xe90(%rbp)
jmp 0x1e49b
movq -0xe90(%rbp), %rdi
leaq 0x6cebf(%rip), %rsi     # 0x8b368
callq 0x8590
movq %rax, -0xe98(%rbp)
jmp 0x1e4b7
movq -0xe98(%rbp), %rdi
leaq -0x6f0(%rbp), %rsi
callq 0x8520
movq %rax, -0xea0(%rbp)
jmp 0x1e4d3
movq -0xea0(%rbp), %rdi
leaq 0x6ce87(%rip), %rsi     # 0x8b368
callq 0x8590
movq %rax, -0xea8(%rbp)
jmp 0x1e4ef
movq -0xea8(%rbp), %rdi
movsd -0xa98(%rbp), %xmm0
movsd -0xaa0(%rbp), %xmm1
divsd %xmm1, %xmm0
callq 0x8b40
movq %rax, -0xeb0(%rbp)
jmp 0x1e518
movq -0xeb0(%rbp), %rdi
leaq 0x6ce42(%rip), %rsi     # 0x8b368
callq 0x8590
movq %rax, -0xeb8(%rbp)
jmp 0x1e534
movq -0xeb8(%rbp), %rdi
movsd -0xa98(%rbp), %xmm0
movsd -0x9e8(%rbp), %xmm1
divsd %xmm1, %xmm0
callq 0x8b40
movq %rax, -0xec0(%rbp)
jmp 0x1e55d
movq -0xec0(%rbp), %rdi
leaq 0x6cdfd(%rip), %rsi     # 0x8b368
callq 0x8590
movq %rax, -0xec8(%rbp)
jmp 0x1e579
movq -0xec8(%rbp), %rdi
movsd -0xa98(%rbp), %xmm0
movsd -0xa40(%rbp), %xmm1
divsd %xmm1, %xmm0
callq 0x8b40
movq %rax, -0xed0(%rbp)
jmp 0x1e5a2
movq -0xed0(%rbp), %rdi
leaq 0x6cdb8(%rip), %rsi     # 0x8b368
callq 0x8590
movq %rax, -0xed8(%rbp)
jmp 0x1e5be
movq -0xed8(%rbp), %rdi
movsd -0xaa8(%rbp), %xmm0
movsd -0xb00(%rbp), %xmm1
divsd %xmm1, %xmm0
callq 0x8b40
movq %rax, -0xee0(%rbp)
jmp 0x1e5e7
movq -0xee0(%rbp), %rdi
movq 0xa096b(%rip), %rsi     # 0xbef60
callq 0x85f0
jmp 0x1e5fc
jmp 0x1e6af
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x988(%rbp), %rdi
callq 0x21990
jmp 0x1e73b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x9e0(%rbp), %rdi
callq 0x21990
jmp 0x1e73b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xa38(%rbp), %rdi
callq 0x21990
jmp 0x1e73b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xa90(%rbp), %rdi
callq 0x21990
jmp 0x1e73b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xaf8(%rbp), %rdi
callq 0x21990
jmp 0x1e73b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xb50(%rbp), %rdi
callq 0x21990
jmp 0x1e73b
jmp 0x1e6b1
jmp 0x1e6b3
jmp 0x1e6b5
movl -0x8dc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8dc(%rbp)
jmp 0x1d049
movq -0x858(%rbp), %rax
movq %rax, -0xee8(%rbp)
cmpq $0x0, %rax
je 0x1e6fa
movq -0xee8(%rbp), %rdi
callq 0x21520
movq -0xee8(%rbp), %rdi
movl $0x348, %esi            # imm = 0x348
callq 0x85b0
movl $0x0, -0x84c(%rbp)
leaq -0x848(%rbp), %rdi
callq 0x8c08
leaq -0x828(%rbp), %rdi
callq 0x8c08
leaq -0x7e8(%rbp), %rdi
callq 0x10760
movl -0x84c(%rbp), %eax
testl %eax, %eax
je 0x1e739
jmp 0x1e734
jmp 0x1c6e9
jmp 0x1e764
leaq -0x848(%rbp), %rdi
callq 0x8c08
leaq -0x828(%rbp), %rdi
callq 0x8c08
leaq -0x7e8(%rbp), %rdi
callq 0x10760
jmp 0x1ee64
jmp 0x1e766
jmp 0x1c6e9
movl $0x0, -0xb54(%rbp)
movslq -0xb54(%rbp), %rax
movq %rax, -0xef0(%rbp)
leaq -0x160(%rbp), %rdi
callq 0x209b0
movq %rax, %rcx
movq -0xef0(%rbp), %rax
cmpq %rcx, %rax
je 0x1edda
movslq -0xb54(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movq %rax, %rdi
callq 0x1ef00
jmp 0x1e7bf
movslq -0xb54(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movq %rax, %rdi
callq 0x1f220
jmp 0x1e7dc
movslq -0xb54(%rbp), %rsi
leaq -0x160(%rbp), %rdi
callq 0x21650
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x10b10
movq %rax, %rsi
movq 0xa07a3(%rip), %rdi     # 0xbefa8
callq 0x8520
movq %rax, -0xef8(%rbp)
jmp 0x1e813
movq -0xef8(%rbp), %rdi
leaq 0x6cb47(%rip), %rsi     # 0x8b368
callq 0x8590
movq %rax, -0xf00(%rbp)
jmp 0x1e82f
movslq -0xb54(%rbp), %rsi
leaq -0x160(%rbp), %rdi
callq 0x21650
movq %rax, %rdi
movl $0x1, %esi
callq 0x10b10
movq -0xf00(%rbp), %rdi
movq %rax, %rsi
callq 0x8520
movq %rax, -0xf08(%rbp)
jmp 0x1e867
movq -0xf08(%rbp), %rdi
leaq 0x6caf3(%rip), %rsi     # 0x8b368
callq 0x8590
movq %rax, -0xf10(%rbp)
jmp 0x1e883
movslq -0xb54(%rbp), %rsi
leaq -0x160(%rbp), %rdi
callq 0x21650
movq %rax, %rdi
movl $0x2, %esi
callq 0x10b10
movq -0xf10(%rbp), %rdi
movq %rax, %rsi
callq 0x8520
movq %rax, -0xf18(%rbp)
jmp 0x1e8bb
movq -0xf18(%rbp), %rdi
movq 0xa0697(%rip), %rsi     # 0xbef60
callq 0x85f0
jmp 0x1e8d0
movq 0xa06d1(%rip), %rdi     # 0xbefa8
leaq 0x6ee07(%rip), %rsi     # 0x8d6e5
callq 0x8590
movq %rax, -0xf20(%rbp)
jmp 0x1e8ec
movslq -0xb54(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
movq %rdi, -0xf40(%rbp)
callq 0x21670
movq -0xf40(%rbp), %rdi
movsd 0x2d0(%rax), %xmm0
movsd %xmm0, -0xf48(%rbp)
movslq -0xb54(%rbp), %rsi
callq 0x21670
movsd -0xf48(%rbp), %xmm0
movq -0xf40(%rbp), %rdi
movsd 0x2d8(%rax), %xmm1
subsd %xmm1, %xmm0
movsd %xmm0, -0xf30(%rbp)
movslq -0xb54(%rbp), %rsi
callq 0x21670
movq -0xf40(%rbp), %rdi
movsd 0x2d0(%rax), %xmm0
movsd %xmm0, -0xf38(%rbp)
movslq -0xb54(%rbp), %rsi
callq 0x21670
movsd -0xf38(%rbp), %xmm1
movsd -0xf30(%rbp), %xmm0
movq -0xf20(%rbp), %rdi
movsd 0x2d8(%rax), %xmm2
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
callq 0x8b40
movq %rax, -0xf28(%rbp)
jmp 0x1e9b0
movq -0xf28(%rbp), %rdi
movq 0xa05a2(%rip), %rsi     # 0xbef60
callq 0x85f0
jmp 0x1e9c5
movq 0xa05dc(%rip), %rdi     # 0xbefa8
leaq 0x6a004(%rip), %rsi     # 0x889d7
callq 0x8590
movq %rax, -0xf50(%rbp)
jmp 0x1e9e1
movslq -0xb54(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
movq %rdi, -0xf68(%rbp)
callq 0x21670
movq -0xf68(%rbp), %rdi
movsd 0x2d0(%rax), %xmm0
movsd %xmm0, -0xf70(%rbp)
movslq -0xb54(%rbp), %rsi
callq 0x21670
movsd -0xf70(%rbp), %xmm0
movq -0xf68(%rbp), %rdi
movsd 0x2d8(%rax), %xmm1
subsd %xmm1, %xmm0
movsd %xmm0, -0xf60(%rbp)
movslq -0xb54(%rbp), %rsi
callq 0x21670
movsd -0xf60(%rbp), %xmm0
movq -0xf50(%rbp), %rdi
movsd 0x2e0(%rax), %xmm1
divsd %xmm1, %xmm0
callq 0x8b40
movq %rax, -0xf58(%rbp)
jmp 0x1ea76
movq -0xf58(%rbp), %rdi
leaq 0x6c8e4(%rip), %rsi     # 0x8b368
callq 0x8590
movq %rax, -0xf78(%rbp)
jmp 0x1ea92
movslq -0xb54(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
movq %rdi, -0xf90(%rbp)
callq 0x21670
movq -0xf90(%rbp), %rdi
movsd 0x2d0(%rax), %xmm0
movsd %xmm0, -0xf88(%rbp)
movslq -0xb54(%rbp), %rsi
callq 0x21670
movsd -0xf88(%rbp), %xmm0
movq -0xf78(%rbp), %rdi
movsd 0x2d8(%rax), %xmm1
subsd %xmm1, %xmm0
callq 0x8b40
movq %rax, -0xf80(%rbp)
jmp 0x1eaf8
movq -0xf80(%rbp), %rdi
leaq 0x69ed6(%rip), %rsi     # 0x889dc
callq 0x8590
movq %rax, -0xf98(%rbp)
jmp 0x1eb14
movslq -0xb54(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movq -0xf98(%rbp), %rdi
movsd 0x2e0(%rax), %xmm0
callq 0x8b40
movq %rax, -0xfa0(%rbp)
jmp 0x1eb44
movq -0xfa0(%rbp), %rdi
movq 0xa040e(%rip), %rsi     # 0xbef60
callq 0x85f0
jmp 0x1eb59
movq 0xa0448(%rip), %rdi     # 0xbefa8
leaq 0x69e77(%rip), %rsi     # 0x889de
callq 0x8590
movq %rax, -0xfa8(%rbp)
jmp 0x1eb75
movslq -0xb54(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
movq %rdi, -0xfc0(%rbp)
callq 0x21670
movq -0xfc0(%rbp), %rdi
movsd 0x2d0(%rax), %xmm0
movsd %xmm0, -0xfc8(%rbp)
movslq -0xb54(%rbp), %rsi
callq 0x21670
movsd -0xfc8(%rbp), %xmm0
movq -0xfc0(%rbp), %rdi
movsd 0x2d8(%rax), %xmm1
subsd %xmm1, %xmm0
movsd %xmm0, -0xfb8(%rbp)
movslq -0xb54(%rbp), %rsi
callq 0x21670
movsd -0xfb8(%rbp), %xmm0
movq -0xfa8(%rbp), %rdi
movsd 0x2e8(%rax), %xmm1
divsd %xmm1, %xmm0
callq 0x8b40
movq %rax, -0xfb0(%rbp)
jmp 0x1ec0a
movq -0xfb0(%rbp), %rdi
leaq 0x6c750(%rip), %rsi     # 0x8b368
callq 0x8590
movq %rax, -0xfd0(%rbp)
jmp 0x1ec26
movslq -0xb54(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
movq %rdi, -0xfe8(%rbp)
callq 0x21670
movq -0xfe8(%rbp), %rdi
movsd 0x2d0(%rax), %xmm0
movsd %xmm0, -0xfe0(%rbp)
movslq -0xb54(%rbp), %rsi
callq 0x21670
movsd -0xfe0(%rbp), %xmm0
movq -0xfd0(%rbp), %rdi
movsd 0x2d8(%rax), %xmm1
subsd %xmm1, %xmm0
callq 0x8b40
movq %rax, -0xfd8(%rbp)
jmp 0x1ec8c
movq -0xfd8(%rbp), %rdi
leaq 0x69d42(%rip), %rsi     # 0x889dc
callq 0x8590
movq %rax, -0xff0(%rbp)
jmp 0x1eca8
movslq -0xb54(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movq -0xff0(%rbp), %rdi
movsd 0x2e8(%rax), %xmm0
callq 0x8b40
movq %rax, -0xff8(%rbp)
jmp 0x1ecd8
movq -0xff8(%rbp), %rdi
movq 0xa027a(%rip), %rsi     # 0xbef60
callq 0x85f0
jmp 0x1eced
movq 0xa02b4(%rip), %rdi     # 0xbefa8
leaq 0x69ce9(%rip), %rsi     # 0x889e4
callq 0x8590
movq %rax, -0x1000(%rbp)
jmp 0x1ed09
movslq -0xb54(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movq -0x1000(%rbp), %rdi
movsd 0x308(%rax), %xmm0
callq 0x8b40
movq %rax, -0x1008(%rbp)
jmp 0x1ed39
movq -0x1008(%rbp), %rdi
movq 0xa0219(%rip), %rsi     # 0xbef60
callq 0x85f0
jmp 0x1ed4e
movq 0xa0253(%rip), %rdi     # 0xbefa8
leaq 0x69c97(%rip), %rsi     # 0x889f3
callq 0x8590
movq %rax, -0x1010(%rbp)
jmp 0x1ed6a
movslq -0xb54(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x21670
movq -0x1010(%rbp), %rdi
movsd 0x310(%rax), %xmm0
callq 0x8b40
movq %rax, -0x1018(%rbp)
jmp 0x1ed9a
movq -0x1018(%rbp), %rdi
movq 0xa01b8(%rip), %rsi     # 0xbef60
callq 0x85f0
jmp 0x1edaf
movq 0xa01f2(%rip), %rdi     # 0xbefa8
movq 0xa01a3(%rip), %rsi     # 0xbef60
callq 0x85f0
jmp 0x1edc4
jmp 0x1edc6
movl -0xb54(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xb54(%rbp)
jmp 0x1e775
leaq -0x720(%rbp), %rdi
callq 0x10760
leaq -0x708(%rbp), %rdi
callq 0x10760
leaq -0x6f0(%rbp), %rdi
callq 0x8c08
leaq -0x6d0(%rbp), %rdi
callq 0x8c08
leaq -0x6a0(%rbp), %rdi
callq 0x21a70
leaq -0x688(%rbp), %rdi
callq 0x21ad0
leaq -0x160(%rbp), %rdi
callq 0x21b90
leaq -0x148(%rbp), %rdi
callq 0x21bf0
leaq -0x130(%rbp), %rdi
callq 0x21bf0
leaq -0x118(%rbp), %rdi
callq 0x21c50
leaq -0x20(%rbp), %rdi
callq 0x8c08
addq $0x1020, %rsp           # imm = 0x1020
popq %rbp
retq
leaq -0x720(%rbp), %rdi
callq 0x10760
leaq -0x708(%rbp), %rdi
callq 0x10760
leaq -0x6f0(%rbp), %rdi
callq 0x8c08
leaq -0x6d0(%rbp), %rdi
callq 0x8c08
leaq -0x6a0(%rbp), %rdi
callq 0x21a70
leaq -0x688(%rbp), %rdi
callq 0x21ad0
leaq -0x160(%rbp), %rdi
callq 0x21b90
leaq -0x148(%rbp), %rdi
callq 0x21bf0
leaq -0x130(%rbp), %rdi
callq 0x21bf0
leaq -0x118(%rbp), %rdi
callq 0x21c50
leaq -0x20(%rbp), %rdi
callq 0x8c08
movq -0x30(%rbp), %rdi
callq 0x8a50
movq %rax, %rdi
callq 0x9d40
nopw %cs:(%rax,%rax)