// File: bobverity[P]MavericK/readIn.cpp
// Function: readData(globals&)
void readData(globals &globals) {
    
    cout << "Loading data file...\n";
    writeToFile("Data properties\n", globals.outputLog_on, globals.outputLog_fileStream);
    
    // open file stream
    globals.data_fileStream = safe_ifstream(globals.data_filePath, globals.outputLog_on, globals.outputLog_fileStream);
    
    // read in raw data file as matrix of strings. Skip header line if necessary
    vector< vector<string> > rawEntries;
    vector<string> rawEntries_line;
    string line1;
    int row=0;
    while (safe_getline(globals.data_fileStream, line1))
    {
        if (line1.size()==0)
            continue;
        row++;
        if (row==1 && globals.headerRow_on)
            continue;
        rawEntries_line.clear();
        istringstream ss(line1);
        string line2;
        while (getline(ss, line2, '\t'))
        {
            string line3 = istringstream(line2).str();
            rawEntries_line.push_back(line3);
        }
        rawEntries.push_back(rawEntries_line);
    }
    
    // close file stream
    globals.data_fileStream.close();
    
    // if no data then abort
    if (rawEntries.size()==0) {
        cerrAndLog("\nError: data file appears to be empty\n", globals.outputLog_on, globals.outputLog_fileStream);
        exit(1);
    }
    
    // check same number of values in each row
    int cols = int(rawEntries[0].size());
    for (int i=0; i<int(rawEntries.size()); i++) {
        int row = globals.headerRow_on ? i+2 : i+1;
        if (rawEntries[i].size()!=cols) {
            cerrAndLog("\nError: row "+to_string((long long)row)+string(" in data file does not contain ")+to_string((long long)cols)+string(" entries\n"), globals.outputLog_on, globals.outputLog_fileStream);
            exit(1);
        }
    }
    
    // check that number of columns is compatible with data format options
    int minCols = 2;
    minCols = globals.popCol_on ? minCols+1 : minCols;
    minCols = globals.ploidyCol_on ? minCols+1 : minCols;
    if (cols<minCols) {
        cerrAndLog("\nError: data file must contain at least "+to_string((long long)minCols)+string(" columns under current settings\n"), globals.outputLog_on, globals.outputLog_fileStream);
        exit(1);
    }
    
    // find which columns in data file correspond to special values
    int pop_startRead = -1;
    int ploidy_startRead = -1;
    int data_startRead = 1;
    if (globals.ploidyCol_on) {
        ploidy_startRead = 1;
        data_startRead++;
    }
    if (globals.popCol_on) {
        pop_startRead = 1;
        if (ploidy_startRead!=-1)
            ploidy_startRead++;
        data_startRead++;
    }
    
    // print these to screen and file
    if (globals.headerRow_on)
        coutAndLog("  row 1 = header line\n", globals.outputLog_on, globals.outputLog_fileStream);
    coutAndLog("  column 1 = individual labels\n", globals.outputLog_on, globals.outputLog_fileStream);
    if (pop_startRead!=-1)
        coutAndLog("  column "+to_string((long long)pop_startRead+1)+" = population of origin\n", globals.outputLog_on, globals.outputLog_fileStream);
    if (ploidy_startRead!=-1)
        coutAndLog("  column "+to_string((long long)ploidy_startRead+1)+" = ploidy\n", globals.outputLog_on, globals.outputLog_fileStream);
    
    // split rawData into special columns and data matrix
    vector<string> indLabels_raw, pop_raw, ploidy_raw;
    vector< vector<string> > rawData;
    vector<string> rawData_line;
    for (int i=0; i<int(rawEntries.size()); i++) {
        rawData_line.clear();
        for (int j=0; j<int(rawEntries[i].size()); j++) {
            
            // read in individual labels
            if (j==0)
                indLabels_raw.push_back(rawEntries[i][j]);
            
            // read in population labels
            if (j==pop_startRead)
                pop_raw.push_back(rawEntries[i][j]);
            
            // read in ploidy for each individual
            if (j==ploidy_startRead)
                ploidy_raw.push_back(rawEntries[i][j]);
            
            // read in data
            if (j>=data_startRead)
                rawData_line.push_back(rawEntries[i][j]);
            
        }
        rawData.push_back(rawData_line);
    }
    
    // finally define number of loci
    globals.loci = int(rawData[0].size());
    
    // convert ploidy labels into integer format
    vector<int> ploidy_raw_int(rawEntries.size(),globals.ploidy);
    if (globals.ploidyCol_on) {
        for (int i=0; i<int(ploidy_raw.size()); i++) {
            double param_double=0;
            istringstream(ploidy_raw[i]) >> param_double;
            if (my_round(double(param_double))==param_double && my_round(double(param_double))>=0) {
                ploidy_raw_int[i] = int(param_double);
            } else {
                cerrAndLog("\nError: all ploidy values in data file must be positive integers\n", globals.outputLog_on, globals.outputLog_fileStream);
                exit(1);
            }
        }
    }
    
    // check that ploidy values make sense. Ploidy must be either defined on the first row of an individual (ploidy_format==1), or defined equally for all rows of an individual (ploidy_format==2).
    int thisPloidy=0, countDown=0, ploidy_format=0;
    bool ploidyError = false;
    for (int i=0; i<int(rawEntries.size()); i++) {
        // if new individual
        if (countDown==0) {
            if (ploidy_raw_int[i]!=0) {
                thisPloidy = ploidy_raw_int[i];
                countDown = thisPloidy-1;
            } else {
                ploidyError = true;
            }
        } else {
            if (ploidy_raw_int[i]==0) {
                if (ploidy_format==0 || ploidy_format==1) {
                    ploidy_format = 1;
                    countDown--;
                } else {
                    ploidyError = true;
                }
            } else if (ploidy_raw_int[i]==thisPloidy) {
                if (ploidy_format==0 || ploidy_format==2) {
                    ploidy_format = 2;
                    countDown--;
                } else {
                    ploidyError = true;
                }
            } else {
                ploidyError = true;
            }
        }
        if (ploidyError) {
            cerrAndLog("\nError: when reading ploidy for each individual from file (using the ploidyCol_on=true option) the data file must contain a ploidy value on the first row of each individual, or alternatively the same ploidy value for all rows of an individual\n", globals.outputLog_on, globals.outputLog_fileStream);
            exit(1);
        }
    }
    if (countDown!=0) {
        cerrAndLog("\nError: data file does not contain sufficient rows to account for ploidy values (also check that headerRow_on is specified correctly)\n", globals.outputLog_on, globals.outputLog_fileStream);
        exit(1);
    }
    
    // similarly for pop values. Pop values must be either defined on the first row of an individual (pop_format==1), or defined equally for all rows of an individual (pop_format==2).
    if (globals.popCol_on) {
        countDown=0;
        string thisPop;
        int pop_format=0;
        bool popError = false;
        for (int i=0; i<int(rawEntries.size()); i++) {
            // if new individual
            if (countDown==0) {
                thisPop = pop_raw[i];
                countDown = ploidy_raw_int[i]-1;
            // if not new individual
            } else {
                if (pop_raw[i]=="") {
                    if (pop_format==0 || pop_format==1) {
                        pop_format = 1;
                        countDown--;
                    } else {
                        popError = true;
                    }
                } else if (pop_raw[i]==thisPop) {
                    if (pop_format==0 || pop_format==2) {
                        pop_format = 2;
                        countDown--;
                    } else {
                        popError = true;
                    }
                } else {
                    popError = true;
                }
            }
            if (popError) {
                cerrAndLog("\nError: when reading population of origin for each individual from file (using the popCol_on=true option) the data file must contain a population value on the first row of each individual, or alternatively the same population value for all rows of an individual\n", globals.outputLog_on, globals.outputLog_fileStream);
                exit(1);
            }
        }
    }
    
    // find all unique alleles, and count number of missing values
    globals.J = vector<int>(globals.loci);
    globals.uniqueAlleles = vector< vector<string> >(globals.loci,vector<string>());
    int missingDataCount = 0;
    for (int j=0; j<globals.loci; j++) {
        for (int i=0; i<int(rawData.size()); i++) {
            if (rawData[i][j]==globals.missingData) {
                missingDataCount++;
            } else {
                if (find(globals.uniqueAlleles[j].begin(), globals.uniqueAlleles[j].end(), rawData[i][j]) == globals.uniqueAlleles[j].end()) {
                    globals.uniqueAlleles[j].push_back(rawData[i][j]);
                }
            }
        }
        globals.J[j] = int(globals.uniqueAlleles[j].size());
    }
    
    // reformat data into simple list: data[individual][locus][gene copy]. Recode values to simple list of integers, with 0 meaning missing data. Keep record of missing data elements in data_missing (1=missing, 0=present). Store indLabels_vec, pop_vec, ploidy_vec and missing_vec values.
    countDown=0;
    int ind=-1, gene_copy=0;
    for (int i=0; i<int(rawEntries.size()); i++) {
        // if new individual
        if (countDown==0) {
            ind++;
            globals.indLabels_vec.push_back(indLabels_raw[i]);
            if (globals.popCol_on) {
                globals.pop_vec.push_back(pop_raw[i]);
            } else {
                globals.pop_vec.push_back("NA");
            }
            globals.ploidy_vec.push_back(ploidy_raw_int[i]);
            globals.missing_vec.push_back(0);
            countDown = globals.ploidy_vec[ind]-1;
            gene_copy = 0;
            
            globals.data.push_back(vector< vector<int> >(globals.loci,vector<int>(globals.ploidy_vec[ind])));
            for (int l=0; l<globals.loci; l++) {
                if (rawData[i][l]==globals.missingData) {
                    globals.data[ind][l][gene_copy] = 0;
                    globals.missing_vec[ind]++;
                } else {
                    globals.data[ind][l][gene_copy] = whichFirst(globals.uniqueAlleles[l],rawData[i][l])+1;
                }
            }
        // if not new individual
        } else {
            countDown--;
            gene_copy++;
            for (int l=0; l<globals.loci; l++) {
                if (rawData[i][l]==globals.missingData) {
                    globals.data[ind][l][gene_copy] = 0;
                    globals.missing_vec[ind]++;
                } else {
                    globals.data[ind][l][gene_copy] = whichFirst(globals.uniqueAlleles[l],rawData[i][l])+1;
                }
            }
        }
    }
    
    // finally define number of individuals and gene copies
    globals.n = int(globals.indLabels_vec.size());
    globals.geneCopies = sum(globals.ploidy_vec)*globals.loci;
    
    // check that there is at least one allele at every locus
    for (int l=0; l<globals.loci; l++) {
        bool tmp = true;
        for (int i=0; i<globals.n; i++) {
            for (int p=0; p<globals.ploidy_vec[i]; p++) {
                if (globals.data[i][l][p]!=0)
                    tmp = false;
            }
        }
        if (tmp) {
            coutAndLog("\nError: there must be at least one non-missing observation at every locus\n", globals.outputLog_on, globals.outputLog_fileStream);
            exit(1);
        }
    }
    
    // find number of unique populations and store pop index of each individual
    if (globals.popCol_on) {
        globals.pop_index = vector<int>(globals.n);
        for (int i=0; i<globals.n; i++) {
            if (find(globals.uniquePops.begin(), globals.uniquePops.end(), globals.pop_vec[i]) == globals.uniquePops.end()) {
                globals.uniquePops.push_back(globals.pop_vec[i]);
                globals.pop_index[i] = int(globals.uniquePops.size())-1;
            } else {
                globals.pop_index[i] = int(find(globals.uniquePops.begin(), globals.uniquePops.end(), globals.pop_vec[i]) - globals.uniquePops.begin());
            }
        }
        globals.uniquePop_counts = vector<int>(globals.uniquePops.size());
        for (int i=0; i<globals.n; i++) {
            globals.uniquePop_counts[globals.pop_index[i]]++;
        }
    }
    
    // print basic properties to screen and file
    if (globals.popCol_on)
        coutAndLog("  unique populations = "+to_string((long long)globals.uniquePops.size())+string("\n"), globals.outputLog_on, globals.outputLog_fileStream);
    
    coutAndLog("  individuals = "+to_string((long long)globals.n)+string("\n"), globals.outputLog_on, globals.outputLog_fileStream);
    coutAndLog("  loci = "+to_string((long long)globals.loci)+string("\n"), globals.outputLog_on, globals.outputLog_fileStream);
    
    stringstream alleles;
    alleles << "  alleles per locus = {" << globals.J[0];
    for (int l=1; l<globals.loci; l++) {
        alleles << "," << globals.J[l];
    }
    alleles << "}\n";
    coutAndLog(alleles.str(), globals.outputLog_on, globals.outputLog_fileStream);
    
    coutAndLog("  missing observations = "+to_string((long long)missingDataCount)+string(" of ")+to_string((long long)sum(globals.ploidy_vec)*globals.loci)+string("\n\n"), globals.outputLog_on, globals.outputLog_fileStream);    
    
}

// Assembly:
subq $0x1488, %rsp           # imm = 0x1488
movq %rdi, 0x1480(%rsp)
movq 0x21d12(%rip), %rdi     # 0x6cfb8
leaq 0x12314(%rip), %rsi     # 0x5d5c1
callq 0x4430
leaq 0x145f(%rsp), %rdi
movq %rdi, 0x220(%rsp)
callq 0x4740
movq 0x220(%rsp), %rdx
leaq 0x12301(%rip), %rsi     # 0x5d5d7
leaq 0x1460(%rsp), %rdi
callq 0x4580
jmp 0x4b2e5
movq 0x1480(%rsp), %rax
movq %rax, %rdx
addq $0x970, %rdx            # imm = 0x970
movzbl 0x2c3c(%rax), %esi
andl $0x1, %esi
leaq 0x1460(%rsp), %rdi
callq 0x3a110
jmp 0x4b310
leaq 0x1460(%rsp), %rdi
callq 0x4270
leaq 0x145f(%rsp), %rdi
callq 0x4490
movq 0x1480(%rsp), %rsi
addq $0x2e0, %rsi            # imm = 0x2E0
leaq 0x1220(%rsp), %rdi
movq %rdi, 0x218(%rsp)
callq 0x4180
movq 0x218(%rsp), %rsi
movq 0x1480(%rsp), %rax
movq %rax, %rcx
addq $0x970, %rcx            # imm = 0x970
movzbl 0x2c3c(%rax), %edx
andl $0x1, %edx
leaq 0x1240(%rsp), %rdi
callq 0x3a200
jmp 0x4b381
movq 0x1480(%rsp), %rdi
addq $0x768, %rdi            # imm = 0x768
leaq 0x1240(%rsp), %rsi
callq 0x4660
jmp 0x4b39f
leaq 0x1240(%rsp), %rdi
callq 0x4100
leaq 0x1220(%rsp), %rdi
callq 0x4270
leaq 0x1208(%rsp), %rdi
callq 0x2aef0
leaq 0x11f0(%rsp), %rdi
callq 0x16040
leaq 0x11d0(%rsp), %rdi
callq 0x4590
movl $0x0, 0x11cc(%rsp)
movq 0x1480(%rsp), %rdi
addq $0x768, %rdi            # imm = 0x768
leaq 0x11d0(%rsp), %rsi
callq 0x3a770
movq %rax, 0x210(%rsp)
jmp 0x4b411
movq 0x210(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x4520
movb %al, 0x20f(%rsp)
jmp 0x4b431
movb 0x20f(%rsp), %al
testb $0x1, %al
jne 0x4b441
jmp 0x4b6da
leaq 0x11d0(%rsp), %rdi
callq 0x42e0
cmpq $0x0, %rax
jne 0x4b505
jmp 0x4b3eb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4b491
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0x1460(%rsp), %rdi
callq 0x4270
leaq 0x145f(%rsp), %rdi
callq 0x4490
jmp 0x4eba5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4b4da
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0x1240(%rsp), %rdi
callq 0x4100
leaq 0x1220(%rsp), %rdi
callq 0x4270
jmp 0x4eba5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4eb7e
movl 0x11cc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x11cc(%rsp)
cmpl $0x1, 0x11cc(%rsp)
jne 0x4b536
movq 0x1480(%rsp), %rax
testb $0x1, 0x2ba0(%rax)
je 0x4b536
jmp 0x4b3eb
leaq 0x11f0(%rsp), %rdi
callq 0x500e0
leaq 0x1048(%rsp), %rdi
leaq 0x11d0(%rsp), %rsi
movl $0x8, %edx
callq 0x46a0
jmp 0x4b55f
leaq 0x1028(%rsp), %rdi
callq 0x4590
leaq 0x1048(%rsp), %rdi
leaq 0x1028(%rsp), %rsi
movl $0x9, %edx
callq 0x4780
movq %rax, 0x200(%rsp)
jmp 0x4b590
movq 0x200(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x4520
movb %al, 0x1ff(%rsp)
jmp 0x4b5b0
movb 0x1ff(%rsp), %al
testb $0x1, %al
jne 0x4b5c0
jmp 0x4b685
leaq 0xe88(%rsp), %rdi
leaq 0x1028(%rsp), %rsi
movl $0x8, %edx
callq 0x46a0
jmp 0x4b5dc
leaq 0x1008(%rsp), %rdi
leaq 0xe88(%rsp), %rsi
callq 0x45c0
jmp 0x4b5f3
leaq 0xe88(%rsp), %rdi
callq 0x41c0
leaq 0x11f0(%rsp), %rdi
leaq 0x1008(%rsp), %rsi
callq 0x4fe20
jmp 0x4b617
leaq 0x1008(%rsp), %rdi
callq 0x4270
jmp 0x4b56c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4b6bb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0xe88(%rsp), %rdi
callq 0x41c0
jmp 0x4b6bb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0x1008(%rsp), %rdi
callq 0x4270
jmp 0x4b6bb
leaq 0x1208(%rsp), %rdi
leaq 0x11f0(%rsp), %rsi
callq 0x50100
jmp 0x4b69c
leaq 0x1028(%rsp), %rdi
callq 0x4270
leaq 0x1048(%rsp), %rdi
callq 0x41c0
jmp 0x4b3eb
leaq 0x1028(%rsp), %rdi
callq 0x4270
leaq 0x1048(%rsp), %rdi
callq 0x41c0
jmp 0x4eb7e
movq 0x1480(%rsp), %rdi
addq $0x768, %rdi            # imm = 0x768
callq 0x40c0
jmp 0x4b6f0
leaq 0x1208(%rsp), %rdi
callq 0x50170
cmpq $0x0, %rax
jne 0x4b7d2
leaq 0xe67(%rsp), %rdi
movq %rdi, 0x1f0(%rsp)
callq 0x4740
movq 0x1f0(%rsp), %rdx
leaq 0x11ebd(%rip), %rsi     # 0x5d5e8
leaq 0xe68(%rsp), %rdi
callq 0x4580
jmp 0x4b73a
movq 0x1480(%rsp), %rax
movq %rax, %rdx
addq $0x970, %rdx            # imm = 0x970
movzbl 0x2c3c(%rax), %esi
andl $0x1, %esi
leaq 0xe68(%rsp), %rdi
callq 0x3a1b0
jmp 0x4b765
leaq 0xe68(%rsp), %rdi
callq 0x4270
leaq 0xe67(%rsp), %rdi
callq 0x4490
movl $0x1, %edi
callq 0x44f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4b7c0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0xe68(%rsp), %rdi
callq 0x4270
leaq 0xe67(%rsp), %rdi
callq 0x4490
jmp 0x4eb7e
leaq 0x1208(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x50190
movq %rax, %rdi
callq 0x16bb0
movl %eax, 0xe60(%rsp)
movl $0x0, 0xe5c(%rsp)
movl 0xe5c(%rsp), %eax
movl %eax, 0x1ec(%rsp)
leaq 0x1208(%rsp), %rdi
callq 0x50170
movq %rax, %rcx
movl 0x1ec(%rsp), %eax
cmpl %ecx, %eax
jge 0x4bbba
movq 0x1480(%rsp), %rax
testb $0x1, 0x2ba0(%rax)
je 0x4b84e
movl 0xe5c(%rsp), %eax
addl $0x2, %eax
movl %eax, 0x1e8(%rsp)
jmp 0x4b85f
movl 0xe5c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x1e8(%rsp)
movl 0x1e8(%rsp), %eax
movl %eax, 0xe58(%rsp)
movslq 0xe5c(%rsp), %rsi
leaq 0x1208(%rsp), %rdi
callq 0x50190
movq %rax, %rdi
callq 0x16bb0
movslq 0xe60(%rsp), %rcx
cmpq %rcx, %rax
je 0x4bba2
movslq 0xe58(%rsp), %rsi
leaq 0xdb8(%rsp), %rdi
callq 0xcb30
jmp 0x4b8b2
leaq 0x11d56(%rip), %rsi     # 0x5d60f
leaq 0xdd8(%rsp), %rdi
leaq 0xdb8(%rsp), %rdx
callq 0xcae0
jmp 0x4b8d0
leaq 0xd97(%rsp), %rdi
movq %rdi, 0x1e0(%rsp)
callq 0x4740
movq 0x1e0(%rsp), %rdx
leaq 0x11d28(%rip), %rsi     # 0x5d61c
leaq 0xd98(%rsp), %rdi
callq 0x4580
jmp 0x4b903
leaq 0xdf8(%rsp), %rdi
leaq 0xdd8(%rsp), %rsi
leaq 0xd98(%rsp), %rdx
callq 0xc9f0
jmp 0x4b922
movslq 0xe60(%rsp), %rsi
leaq 0xd70(%rsp), %rdi
callq 0xcb30
jmp 0x4b939
leaq 0xe18(%rsp), %rdi
leaq 0xdf8(%rsp), %rsi
leaq 0xd70(%rsp), %rdx
callq 0xc9f0
jmp 0x4b958
leaq 0xd4f(%rsp), %rdi
movq %rdi, 0x1d8(%rsp)
callq 0x4740
movq 0x1d8(%rsp), %rdx
leaq 0x11cc0(%rip), %rsi     # 0x5d63c
leaq 0xd50(%rsp), %rdi
callq 0x4580
jmp 0x4b98b
leaq 0xe38(%rsp), %rdi
leaq 0xe18(%rsp), %rsi
leaq 0xd50(%rsp), %rdx
callq 0xc9f0
jmp 0x4b9aa
movq 0x1480(%rsp), %rax
movq %rax, %rdx
addq $0x970, %rdx            # imm = 0x970
movzbl 0x2c3c(%rax), %esi
andl $0x1, %esi
leaq 0xe38(%rsp), %rdi
callq 0x3a1b0
jmp 0x4b9d5
leaq 0xe38(%rsp), %rdi
callq 0x4270
leaq 0xd50(%rsp), %rdi
callq 0x4270
leaq 0xd4f(%rsp), %rdi
callq 0x4490
leaq 0xe18(%rsp), %rdi
callq 0x4270
leaq 0xd70(%rsp), %rdi
callq 0x4270
leaq 0xdf8(%rsp), %rdi
callq 0x4270
leaq 0xd98(%rsp), %rdi
callq 0x4270
leaq 0xd97(%rsp), %rdi
callq 0x4490
leaq 0xdd8(%rsp), %rdi
callq 0x4270
leaq 0xdb8(%rsp), %rdi
callq 0x4270
movl $0x1, %edi
callq 0x44f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4bb90
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4bb76
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4bb69
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4bb5c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4bb4f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4bb35
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4bb28
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0xe38(%rsp), %rdi
callq 0x4270
leaq 0xd50(%rsp), %rdi
callq 0x4270
leaq 0xd4f(%rsp), %rdi
callq 0x4490
leaq 0xe18(%rsp), %rdi
callq 0x4270
leaq 0xd70(%rsp), %rdi
callq 0x4270
leaq 0xdf8(%rsp), %rdi
callq 0x4270
leaq 0xd98(%rsp), %rdi
callq 0x4270
leaq 0xd97(%rsp), %rdi
callq 0x4490
leaq 0xdd8(%rsp), %rdi
callq 0x4270
leaq 0xdb8(%rsp), %rdi
callq 0x4270
jmp 0x4eb7e
jmp 0x4bba4
movl 0xe5c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xe5c(%rsp)
jmp 0x4b7fd
movl $0x2, 0xd48(%rsp)
movq 0x1480(%rsp), %rax
testb $0x1, 0x2ba1(%rax)
je 0x4bbe9
movl 0xd48(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x1d4(%rsp)
jmp 0x4bbf7
movl 0xd48(%rsp), %eax
movl %eax, 0x1d4(%rsp)
movl 0x1d4(%rsp), %eax
movl %eax, 0xd48(%rsp)
movq 0x1480(%rsp), %rax
testb $0x1, 0x2ba2(%rax)
je 0x4bc29
movl 0xd48(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x1d0(%rsp)
jmp 0x4bc37
movl 0xd48(%rsp), %eax
movl %eax, 0x1d0(%rsp)
movl 0x1d0(%rsp), %eax
movl %eax, 0xd48(%rsp)
movl 0xe60(%rsp), %eax
cmpl 0xd48(%rsp), %eax
jge 0x4bdf2
movslq 0xd48(%rsp), %rsi
leaq 0xce8(%rsp), %rdi
callq 0xcb30
jmp 0x4bc70
leaq 0x119cf(%rip), %rsi     # 0x5d646
leaq 0xd08(%rsp), %rdi
leaq 0xce8(%rsp), %rdx
callq 0xcae0
jmp 0x4bc8e
leaq 0xcc7(%rsp), %rdi
movq %rdi, 0x1c8(%rsp)
callq 0x4740
movq 0x1c8(%rsp), %rdx
leaq 0x119bd(%rip), %rsi     # 0x5d66f
leaq 0xcc8(%rsp), %rdi
callq 0x4580
jmp 0x4bcc1
leaq 0xd28(%rsp), %rdi
leaq 0xd08(%rsp), %rsi
leaq 0xcc8(%rsp), %rdx
callq 0xc9f0
jmp 0x4bce0
movq 0x1480(%rsp), %rax
movq %rax, %rdx
addq $0x970, %rdx            # imm = 0x970
movzbl 0x2c3c(%rax), %esi
andl $0x1, %esi
leaq 0xd28(%rsp), %rdi
callq 0x3a1b0
jmp 0x4bd0b
leaq 0xd28(%rsp), %rdi
callq 0x4270
leaq 0xcc8(%rsp), %rdi
callq 0x4270
leaq 0xcc7(%rsp), %rdi
callq 0x4490
leaq 0xd08(%rsp), %rdi
callq 0x4270
leaq 0xce8(%rsp), %rdi
callq 0x4270
movl $0x1, %edi
callq 0x44f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4bde0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4bdc6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4bdb9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0xd28(%rsp), %rdi
callq 0x4270
leaq 0xcc8(%rsp), %rdi
callq 0x4270
leaq 0xcc7(%rsp), %rdi
callq 0x4490
leaq 0xd08(%rsp), %rdi
callq 0x4270
leaq 0xce8(%rsp), %rdi
callq 0x4270
jmp 0x4eb7e
movl $0xffffffff, 0xcc0(%rsp) # imm = 0xFFFFFFFF
movl $0xffffffff, 0xcbc(%rsp) # imm = 0xFFFFFFFF
movl $0x1, 0xcb8(%rsp)
movq 0x1480(%rsp), %rax
testb $0x1, 0x2ba2(%rax)
je 0x4be40
movl $0x1, 0xcbc(%rsp)
movl 0xcb8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xcb8(%rsp)
movq 0x1480(%rsp), %rax
testb $0x1, 0x2ba1(%rax)
je 0x4be88
movl $0x1, 0xcc0(%rsp)
cmpl $-0x1, 0xcbc(%rsp)
je 0x4be77
movl 0xcbc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xcbc(%rsp)
movl 0xcb8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xcb8(%rsp)
movq 0x1480(%rsp), %rax
testb $0x1, 0x2ba0(%rax)
je 0x4bf60
leaq 0xc97(%rsp), %rdi
movq %rdi, 0x1c0(%rsp)
callq 0x4740
movq 0x1c0(%rsp), %rdx
leaq 0x117cf(%rip), %rsi     # 0x5d690
leaq 0xc98(%rsp), %rdi
callq 0x4580
jmp 0x4bed0
movq 0x1480(%rsp), %rax
movq %rax, %rdx
addq $0x970, %rdx            # imm = 0x970
movzbl 0x2c3c(%rax), %esi
andl $0x1, %esi
leaq 0xc98(%rsp), %rdi
callq 0x3a160
jmp 0x4befb
leaq 0xc98(%rsp), %rdi
callq 0x4270
leaq 0xc97(%rsp), %rdi
callq 0x4490
jmp 0x4bf60
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4bf4e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0xc98(%rsp), %rdi
callq 0x4270
leaq 0xc97(%rsp), %rdi
callq 0x4490
jmp 0x4eb7e
leaq 0xc6f(%rsp), %rdi
movq %rdi, 0x1b8(%rsp)
callq 0x4740
movq 0x1b8(%rsp), %rdx
leaq 0x11723(%rip), %rsi     # 0x5d6a7
leaq 0xc70(%rsp), %rdi
callq 0x4580
jmp 0x4bf93
movq 0x1480(%rsp), %rax
movq %rax, %rdx
addq $0x970, %rdx            # imm = 0x970
movzbl 0x2c3c(%rax), %esi
andl $0x1, %esi
leaq 0xc70(%rsp), %rdi
callq 0x3a160
jmp 0x4bfbe
leaq 0xc70(%rsp), %rdi
callq 0x4270
leaq 0xc6f(%rsp), %rdi
callq 0x4490
cmpl $-0x1, 0xcc0(%rsp)
je 0x4c148
movslq 0xcc0(%rsp), %rsi
incq %rsi
leaq 0xc08(%rsp), %rdi
callq 0xcb30
jmp 0x4c000
leaq 0x116c0(%rip), %rsi     # 0x5d6c7
leaq 0xc28(%rsp), %rdi
leaq 0xc08(%rsp), %rdx
callq 0xcae0
jmp 0x4c01e
leaq 0x116ac(%rip), %rdx     # 0x5d6d1
leaq 0xc48(%rsp), %rdi
leaq 0xc28(%rsp), %rsi
callq 0x22900
jmp 0x4c03c
movq 0x1480(%rsp), %rax
movq %rax, %rdx
addq $0x970, %rdx            # imm = 0x970
movzbl 0x2c3c(%rax), %esi
andl $0x1, %esi
leaq 0xc48(%rsp), %rdi
callq 0x3a160
jmp 0x4c067
leaq 0xc48(%rsp), %rdi
callq 0x4270
leaq 0xc28(%rsp), %rdi
callq 0x4270
leaq 0xc08(%rsp), %rdi
callq 0x4270
jmp 0x4c148
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4c0ca
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0xc70(%rsp), %rdi
callq 0x4270
leaq 0xc6f(%rsp), %rdi
callq 0x4490
jmp 0x4eb7e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4c136
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4c129
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0xc48(%rsp), %rdi
callq 0x4270
leaq 0xc28(%rsp), %rdi
callq 0x4270
leaq 0xc08(%rsp), %rdi
callq 0x4270
jmp 0x4eb7e
cmpl $-0x1, 0xcbc(%rsp)
je 0x4c26c
movslq 0xcbc(%rsp), %rsi
incq %rsi
leaq 0xba8(%rsp), %rdi
callq 0xcb30
jmp 0x4c170
leaq 0x11550(%rip), %rsi     # 0x5d6c7
leaq 0xbc8(%rsp), %rdi
leaq 0xba8(%rsp), %rdx
callq 0xcae0
jmp 0x4c18e
leaq 0x11555(%rip), %rdx     # 0x5d6ea
leaq 0xbe8(%rsp), %rdi
leaq 0xbc8(%rsp), %rsi
callq 0x22900
jmp 0x4c1ac
movq 0x1480(%rsp), %rax
movq %rax, %rdx
addq $0x970, %rdx            # imm = 0x970
movzbl 0x2c3c(%rax), %esi
andl $0x1, %esi
leaq 0xbe8(%rsp), %rdi
callq 0x3a160
jmp 0x4c1d7
leaq 0xbe8(%rsp), %rdi
callq 0x4270
leaq 0xbc8(%rsp), %rdi
callq 0x4270
leaq 0xba8(%rsp), %rdi
callq 0x4270
jmp 0x4c26c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4c25a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4c24d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0xbe8(%rsp), %rdi
callq 0x4270
leaq 0xbc8(%rsp), %rdi
callq 0x4270
leaq 0xba8(%rsp), %rdi
callq 0x4270
jmp 0x4eb7e
leaq 0xb90(%rsp), %rdi
callq 0x16040
leaq 0xb78(%rsp), %rdi
callq 0x16040
leaq 0xb60(%rsp), %rdi
callq 0x16040
leaq 0xb48(%rsp), %rdi
callq 0x2aef0
leaq 0xb30(%rsp), %rdi
callq 0x16040
movl $0x0, 0xb2c(%rsp)
movl 0xb2c(%rsp), %eax
movl %eax, 0x1b4(%rsp)
leaq 0x1208(%rsp), %rdi
callq 0x50170
movq %rax, %rcx
movl 0x1b4(%rsp), %eax
cmpl %ecx, %eax
jge 0x4c4b8
leaq 0xb30(%rsp), %rdi
callq 0x500e0
movl $0x0, 0xb28(%rsp)
movl 0xb28(%rsp), %eax
movl %eax, 0x1b0(%rsp)
movslq 0xb2c(%rsp), %rsi
leaq 0x1208(%rsp), %rdi
callq 0x50190
movq %rax, %rdi
callq 0x16bb0
movq %rax, %rcx
movl 0x1b0(%rsp), %eax
cmpl %ecx, %eax
jge 0x4c489
cmpl $0x0, 0xb28(%rsp)
jne 0x4c396
movslq 0xb2c(%rsp), %rsi
leaq 0x1208(%rsp), %rdi
callq 0x50190
movq %rax, %rdi
movslq 0xb28(%rsp), %rsi
callq 0x4fe90
movq %rax, %rsi
leaq 0xb90(%rsp), %rdi
callq 0x4fe20
jmp 0x4c37b
jmp 0x4c396
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4eb3d
movl 0xb28(%rsp), %eax
cmpl 0xcc0(%rsp), %eax
jne 0x4c3df
movslq 0xb2c(%rsp), %rsi
leaq 0x1208(%rsp), %rdi
callq 0x50190
movq %rax, %rdi
movslq 0xb28(%rsp), %rsi
callq 0x4fe90
movq %rax, %rsi
leaq 0xb78(%rsp), %rdi
callq 0x4fe20
jmp 0x4c3dd
jmp 0x4c3df
movl 0xb28(%rsp), %eax
cmpl 0xcbc(%rsp), %eax
jne 0x4c428
movslq 0xb2c(%rsp), %rsi
leaq 0x1208(%rsp), %rdi
callq 0x50190
movq %rax, %rdi
movslq 0xb28(%rsp), %rsi
callq 0x4fe90
movq %rax, %rsi
leaq 0xb60(%rsp), %rdi
callq 0x4fe20
jmp 0x4c426
jmp 0x4c428
movl 0xb28(%rsp), %eax
cmpl 0xcb8(%rsp), %eax
jl 0x4c471
movslq 0xb2c(%rsp), %rsi
leaq 0x1208(%rsp), %rdi
callq 0x50190
movq %rax, %rdi
movslq 0xb28(%rsp), %rsi
callq 0x4fe90
movq %rax, %rsi
leaq 0xb30(%rsp), %rdi
callq 0x4fe20
jmp 0x4c46f
jmp 0x4c471
jmp 0x4c473
movl 0xb28(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xb28(%rsp)
jmp 0x4c2fd
leaq 0xb48(%rsp), %rdi
leaq 0xb30(%rsp), %rsi
callq 0x50100
jmp 0x4c4a0
jmp 0x4c4a2
movl 0xb2c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xb2c(%rsp)
jmp 0x4c2b8
xorl %eax, %eax
movl %eax, %esi
leaq 0xb48(%rsp), %rdi
callq 0x50190
movq %rax, %rdi
callq 0x16bb0
movl %eax, %ecx
movq 0x1480(%rsp), %rax
movl %ecx, 0x2d1c(%rax)
leaq 0x1208(%rsp), %rdi
callq 0x50170
movq %rax, 0x198(%rsp)
movq 0x1480(%rsp), %rax
addq $0x2ba4, %rax           # imm = 0x2BA4
movq %rax, 0x1a0(%rsp)
leaq 0xb0f(%rsp), %rdi
movq %rdi, 0x1a8(%rsp)
callq 0xc5e0
movq 0x198(%rsp), %rsi
movq 0x1a0(%rsp), %rdx
movq 0x1a8(%rsp), %rcx
leaq 0xb10(%rsp), %rdi
callq 0xc5f0
jmp 0x4c548
leaq 0xb0f(%rsp), %rdi
callq 0xc670
movq 0x1480(%rsp), %rax
testb $0x1, 0x2ba2(%rax)
je 0x4c7d9
movl $0x0, 0xb08(%rsp)
movl 0xb08(%rsp), %eax
movl %eax, 0x194(%rsp)
leaq 0xb60(%rsp), %rdi
callq 0x16bb0
movq %rax, %rcx
movl 0x194(%rsp), %eax
cmpl %ecx, %eax
jge 0x4c7d7
movq $0x0, 0xb00(%rsp)
movslq 0xb08(%rsp), %rsi
leaq 0xb60(%rsp), %rdi
callq 0x4fe90
movq %rax, %rsi
leaq 0x980(%rsp), %rdi
movl $0x8, %edx
callq 0x46a0
jmp 0x4c5da
leaq 0x980(%rsp), %rdi
leaq 0xb00(%rsp), %rsi
callq 0x36fb0
jmp 0x4c5f1
leaq 0x980(%rsp), %rdi
callq 0x41c0
movsd 0xb00(%rsp), %xmm0
callq 0x33950
movl %eax, 0x190(%rsp)
jmp 0x4c615
movl 0x190(%rsp), %eax
cvtsi2sd %eax, %xmm0
ucomisd 0xb00(%rsp), %xmm0
jne 0x4c6f4
jp 0x4c6f4
movsd 0xb00(%rsp), %xmm0
callq 0x33950
movl %eax, 0x18c(%rsp)
jmp 0x4c64c
movl 0x18c(%rsp), %eax
cmpl $0x0, %eax
jl 0x4c6f4
cvttsd2si 0xb00(%rsp), %eax
movl %eax, 0x188(%rsp)
movslq 0xb08(%rsp), %rsi
leaq 0xb10(%rsp), %rdi
callq 0x8ba0
movl 0x188(%rsp), %ecx
movl %ecx, (%rax)
jmp 0x4c7bf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0xb0f(%rsp), %rdi
callq 0xc670
jmp 0x4eb3d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4eb30
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0x980(%rsp), %rdi
callq 0x41c0
jmp 0x4eb30
leaq 0x95f(%rsp), %rdi
movq %rdi, 0x180(%rsp)
callq 0x4740
movq 0x180(%rsp), %rdx
leaq 0x10fdd(%rip), %rsi     # 0x5d6f5
leaq 0x960(%rsp), %rdi
callq 0x4580
jmp 0x4c727
movq 0x1480(%rsp), %rax
movq %rax, %rdx
addq $0x970, %rdx            # imm = 0x970
movzbl 0x2c3c(%rax), %esi
andl $0x1, %esi
leaq 0x960(%rsp), %rdi
callq 0x3a1b0
jmp 0x4c752
leaq 0x960(%rsp), %rdi
callq 0x4270
leaq 0x95f(%rsp), %rdi
callq 0x4490
movl $0x1, %edi
callq 0x44f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4c7ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0x960(%rsp), %rdi
callq 0x4270
leaq 0x95f(%rsp), %rdi
callq 0x4490
jmp 0x4eb30
jmp 0x4c7c1
movl 0xb08(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xb08(%rsp)
jmp 0x4c575
jmp 0x4c7d9
movl $0x0, 0x958(%rsp)
movl $0x0, 0x954(%rsp)
movl $0x0, 0x950(%rsp)
movb $0x0, 0x94f(%rsp)
movl $0x0, 0x948(%rsp)
movl 0x948(%rsp), %eax
movl %eax, 0x17c(%rsp)
leaq 0x1208(%rsp), %rdi
callq 0x50170
movq %rax, %rcx
movl 0x17c(%rsp), %eax
cmpl %ecx, %eax
jge 0x4ca4b
cmpl $0x0, 0x954(%rsp)
jne 0x4c89c
movslq 0x948(%rsp), %rsi
leaq 0xb10(%rsp), %rdi
callq 0x8ba0
cmpl $0x0, (%rax)
je 0x4c88f
movslq 0x948(%rsp), %rsi
leaq 0xb10(%rsp), %rdi
callq 0x8ba0
movl (%rax), %eax
movl %eax, 0x958(%rsp)
movl 0x958(%rsp), %eax
subl $0x1, %eax
movl %eax, 0x954(%rsp)
jmp 0x4c897
movb $0x1, 0x94f(%rsp)
jmp 0x4c95a
movslq 0x948(%rsp), %rsi
leaq 0xb10(%rsp), %rdi
callq 0x8ba0
cmpl $0x0, (%rax)
jne 0x4c8f2
cmpl $0x0, 0x950(%rsp)
je 0x4c8ca
cmpl $0x1, 0x950(%rsp)
jne 0x4c8e8
movl $0x1, 0x950(%rsp)
movl 0x954(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x954(%rsp)
jmp 0x4c8f0
movb $0x1, 0x94f(%rsp)
jmp 0x4c958
movslq 0x948(%rsp), %rsi
leaq 0xb10(%rsp), %rdi
callq 0x8ba0
movl (%rax), %eax
cmpl 0x958(%rsp), %eax
jne 0x4c94e
cmpl $0x0, 0x950(%rsp)
je 0x4c926
cmpl $0x2, 0x950(%rsp)
jne 0x4c944
movl $0x2, 0x950(%rsp)
movl 0x954(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x954(%rsp)
jmp 0x4c94c
movb $0x1, 0x94f(%rsp)
jmp 0x4c956
movb $0x1, 0x94f(%rsp)
jmp 0x4c958
jmp 0x4c95a
testb $0x1, 0x94f(%rsp)
je 0x4ca33
leaq 0x927(%rsp), %rdi
movq %rdi, 0x170(%rsp)
callq 0x4740
movq 0x170(%rsp), %rdx
leaq 0x10dab(%rip), %rsi     # 0x5d737
leaq 0x928(%rsp), %rdi
callq 0x4580
jmp 0x4c99b
movq 0x1480(%rsp), %rax
movq %rax, %rdx
addq $0x970, %rdx            # imm = 0x970
movzbl 0x2c3c(%rax), %esi
andl $0x1, %esi
leaq 0x928(%rsp), %rdi
callq 0x3a1b0
jmp 0x4c9c6
leaq 0x928(%rsp), %rdi
callq 0x4270
leaq 0x927(%rsp), %rdi
callq 0x4490
movl $0x1, %edi
callq 0x44f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4ca21
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0x928(%rsp), %rdi
callq 0x4270
leaq 0x927(%rsp), %rdi
callq 0x4490
jmp 0x4eb30
jmp 0x4ca35
movl 0x948(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x948(%rsp)
jmp 0x4c80d
cmpl $0x0, 0x954(%rsp)
je 0x4cb24
leaq 0x8ff(%rsp), %rdi
movq %rdi, 0x168(%rsp)
callq 0x4740
movq 0x168(%rsp), %rdx
leaq 0x10dae(%rip), %rsi     # 0x5d82b
leaq 0x900(%rsp), %rdi
callq 0x4580
jmp 0x4ca8c
movq 0x1480(%rsp), %rax
movq %rax, %rdx
addq $0x970, %rdx            # imm = 0x970
movzbl 0x2c3c(%rax), %esi
andl $0x1, %esi
leaq 0x900(%rsp), %rdi
callq 0x3a1b0
jmp 0x4cab7
leaq 0x900(%rsp), %rdi
callq 0x4270
leaq 0x8ff(%rsp), %rdi
callq 0x4490
movl $0x1, %edi
callq 0x44f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4cb12
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0x900(%rsp), %rdi
callq 0x4270
leaq 0x8ff(%rsp), %rdi
callq 0x4490
jmp 0x4eb30
movq 0x1480(%rsp), %rax
testb $0x1, 0x2ba1(%rax)
je 0x4ce04
movl $0x0, 0x954(%rsp)
leaq 0x8d8(%rsp), %rdi
callq 0x4590
movl $0x0, 0x8d4(%rsp)
movb $0x0, 0x8d3(%rsp)
movl $0x0, 0x8cc(%rsp)
movl 0x8cc(%rsp), %eax
movl %eax, 0x164(%rsp)
leaq 0x1208(%rsp), %rdi
callq 0x50170
movq %rax, %rcx
movl 0x164(%rsp), %eax
cmpl %ecx, %eax
jge 0x4cde3
cmpl $0x0, 0x954(%rsp)
jne 0x4cc0c
movslq 0x8cc(%rsp), %rsi
leaq 0xb78(%rsp), %rdi
callq 0x4fe90
movq %rax, %rsi
leaq 0x8d8(%rsp), %rdi
callq 0x4060
jmp 0x4cbcd
movslq 0x8cc(%rsp), %rsi
leaq 0xb10(%rsp), %rdi
callq 0x8ba0
movl (%rax), %eax
subl $0x1, %eax
movl %eax, 0x954(%rsp)
jmp 0x4ccf5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4cdf2
movslq 0x8cc(%rsp), %rsi
leaq 0xb78(%rsp), %rdi
callq 0x4fe90
movq %rax, %rdi
leaq 0xfc68(%rip), %rsi      # 0x5c893
callq 0x36f80
movb %al, 0x163(%rsp)
jmp 0x4cc39
movb 0x163(%rsp), %al
testb $0x1, %al
jne 0x4cc46
jmp 0x4cc82
cmpl $0x0, 0x8d4(%rsp)
je 0x4cc5a
cmpl $0x1, 0x8d4(%rsp)
jne 0x4cc78
movl $0x1, 0x8d4(%rsp)
movl 0x954(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x954(%rsp)
jmp 0x4cc80
movb $0x1, 0x8d3(%rsp)
jmp 0x4ccf3
movslq 0x8cc(%rsp), %rsi
leaq 0xb78(%rsp), %rdi
callq 0x4fe90
movq %rax, %rdi
leaq 0x8d8(%rsp), %rsi
callq 0x4fd80
testb $0x1, %al
jne 0x4ccad
jmp 0x4cce9
cmpl $0x0, 0x8d4(%rsp)
je 0x4ccc1
cmpl $0x2, 0x8d4(%rsp)
jne 0x4ccdf
movl $0x2, 0x8d4(%rsp)
movl 0x954(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x954(%rsp)
jmp 0x4cce7
movb $0x1, 0x8d3(%rsp)
jmp 0x4ccf1
movb $0x1, 0x8d3(%rsp)
jmp 0x4ccf3
jmp 0x4ccf5
testb $0x1, 0x8d3(%rsp)
je 0x4cdcb
leaq 0x8a7(%rsp), %rdi
movq %rdi, 0x158(%rsp)
callq 0x4740
movq 0x158(%rsp), %rdx
leaq 0x10b8b(%rip), %rsi     # 0x5d8b2
leaq 0x8a8(%rsp), %rdi
callq 0x4580
jmp 0x4cd36
movq 0x1480(%rsp), %rax
movq %rax, %rdx
addq $0x970, %rdx            # imm = 0x970
movzbl 0x2c3c(%rax), %esi
andl $0x1, %esi
leaq 0x8a8(%rsp), %rdi
callq 0x3a1b0
jmp 0x4cd61
leaq 0x8a8(%rsp), %rdi
callq 0x4270
leaq 0x8a7(%rsp), %rdi
callq 0x4490
movl $0x1, %edi
callq 0x44f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4cdbc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0x8a8(%rsp), %rdi
callq 0x4270
leaq 0x8a7(%rsp), %rdi
callq 0x4490
jmp 0x4cdf2
jmp 0x4cdcd
movl 0x8cc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x8cc(%rsp)
jmp 0x4cb6f
leaq 0x8d8(%rsp), %rdi
callq 0x4270
jmp 0x4ce04
leaq 0x8d8(%rsp), %rdi
callq 0x4270
jmp 0x4eb30
movq 0x1480(%rsp), %rax
movslq 0x2d1c(%rax), %rax
movq %rax, 0x148(%rsp)
leaq 0x887(%rsp), %rdi
movq %rdi, 0x150(%rsp)
callq 0xc5e0
movq 0x148(%rsp), %rsi
movq 0x150(%rsp), %rdx
leaq 0x888(%rsp), %rdi
callq 0xc7b0
jmp 0x4ce4f
movq 0x1480(%rsp), %rdi
addq $0x2d20, %rdi           # imm = 0x2D20
leaq 0x888(%rsp), %rsi
movq %rsi, 0x128(%rsp)
callq 0xc6a0
movq 0x128(%rsp), %rdi
callq 0xc6e0
leaq 0x887(%rsp), %rdi
callq 0xc670
movq 0x1480(%rsp), %rax
movslq 0x2d1c(%rax), %rax
movq %rax, 0x130(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x850(%rsp)
movq $0x0, 0x860(%rsp)
leaq 0x850(%rsp), %rdi
movq %rdi, 0x138(%rsp)
callq 0x16040
leaq 0x84f(%rsp), %rdi
movq %rdi, 0x140(%rsp)
callq 0x2b5b0
movq 0x130(%rsp), %rsi
movq 0x138(%rsp), %rdx
movq 0x140(%rsp), %rcx
leaq 0x868(%rsp), %rdi
callq 0x501b0
jmp 0x4cf0c
movq 0x1480(%rsp), %rdi
addq $0x2d38, %rdi           # imm = 0x2D38
leaq 0x868(%rsp), %rsi
callq 0x50230
leaq 0x868(%rsp), %rdi
callq 0x2b430
leaq 0x84f(%rsp), %rdi
callq 0x2bae0
leaq 0x850(%rsp), %rdi
callq 0x16bd0
movl $0x0, 0x848(%rsp)
movl $0x0, 0x844(%rsp)
movl 0x844(%rsp), %eax
movq 0x1480(%rsp), %rcx
cmpl 0x2d1c(%rcx), %eax
jge 0x4d23c
movl $0x0, 0x840(%rsp)
movl 0x840(%rsp), %eax
movl %eax, 0x124(%rsp)
leaq 0xb48(%rsp), %rdi
callq 0x50170
movq %rax, %rcx
movl 0x124(%rsp), %eax
cmpl %ecx, %eax
jge 0x4d1d6
movslq 0x840(%rsp), %rsi
leaq 0xb48(%rsp), %rdi
callq 0x50190
movq %rax, %rdi
movslq 0x844(%rsp), %rsi
callq 0x4fe90
movq %rax, %rdi
movq 0x1480(%rsp), %rsi
addq $0x2ba8, %rsi           # imm = 0x2BA8
callq 0x4fd80
testb $0x1, %al
jne 0x4cffa
jmp 0x4d069
movl 0x848(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x848(%rsp)
jmp 0x4d1be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0x887(%rsp), %rdi
callq 0xc670
jmp 0x4eb30
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0x84f(%rsp), %rdi
callq 0x2bae0
leaq 0x850(%rsp), %rdi
callq 0x16bd0
jmp 0x4eb30
movq 0x1480(%rsp), %rdi
addq $0x2d38, %rdi           # imm = 0x2D38
movslq 0x844(%rsp), %rsi
callq 0x50190
movq %rax, %rdi
callq 0x19300
movq %rax, 0x830(%rsp)
movq 0x1480(%rsp), %rdi
addq $0x2d38, %rdi           # imm = 0x2D38
movslq 0x844(%rsp), %rsi
callq 0x50190
movq %rax, %rdi
callq 0x19330
movq %rax, 0x828(%rsp)
movslq 0x840(%rsp), %rsi
leaq 0xb48(%rsp), %rdi
callq 0x50190
movq %rax, %rdi
movslq 0x844(%rsp), %rsi
callq 0x4fe90
movq %rax, %rdx
movq 0x830(%rsp), %rdi
movq 0x828(%rsp), %rsi
callq 0x502b0
movq %rax, 0x118(%rsp)
jmp 0x4d108
movq 0x118(%rsp), %rax
movq %rax, 0x838(%rsp)
movq 0x1480(%rsp), %rdi
addq $0x2d38, %rdi           # imm = 0x2D38
movslq 0x844(%rsp), %rsi
callq 0x50190
movq %rax, %rdi
callq 0x19330
movq %rax, 0x820(%rsp)
leaq 0x838(%rsp), %rdi
leaq 0x820(%rsp), %rsi
callq 0x50270
testb $0x1, %al
jne 0x4d15f
jmp 0x4d1bc
movq 0x1480(%rsp), %rdi
addq $0x2d38, %rdi           # imm = 0x2D38
movslq 0x844(%rsp), %rsi
callq 0x50190
movq %rax, 0x110(%rsp)
movslq 0x840(%rsp), %rsi
leaq 0xb48(%rsp), %rdi
callq 0x50190
movq %rax, %rdi
movslq 0x844(%rsp), %rsi
callq 0x4fe90
movq 0x110(%rsp), %rdi
movq %rax, %rsi
callq 0x4fe20
jmp 0x4d1ba
jmp 0x4d1bc
jmp 0x4d1be
jmp 0x4d1c0
movl 0x840(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x840(%rsp)
jmp 0x4cf8b
movq 0x1480(%rsp), %rdi
addq $0x2d38, %rdi           # imm = 0x2D38
movslq 0x844(%rsp), %rsi
callq 0x50190
movq %rax, %rdi
callq 0x16bb0
movl %eax, 0x10c(%rsp)
movq 0x1480(%rsp), %rdi
addq $0x2d20, %rdi           # imm = 0x2D20
movslq 0x844(%rsp), %rsi
callq 0x8ba0
movl 0x10c(%rsp), %ecx
movl %ecx, (%rax)
movl 0x844(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x844(%rsp)
jmp 0x4cf65
movl $0x0, 0x954(%rsp)
movl $0xffffffff, 0x81c(%rsp) # imm = 0xFFFFFFFF
movl $0x0, 0x818(%rsp)
movl $0x0, 0x814(%rsp)
movl 0x814(%rsp), %eax
movl %eax, 0x108(%rsp)
leaq 0x1208(%rsp), %rdi
callq 0x50170
movq %rax, %rcx
movl 0x108(%rsp), %eax
cmpl %ecx, %eax
jge 0x4daaf
cmpl $0x0, 0x954(%rsp)
jne 0x4d84b
movl 0x81c(%rsp), %eax
incl %eax
movl %eax, 0x81c(%rsp)
movq 0x1480(%rsp), %rax
addq $0x2c58, %rax           # imm = 0x2C58
movq %rax, 0x100(%rsp)
movslq 0x814(%rsp), %rsi
leaq 0xb90(%rsp), %rdi
callq 0x4fe90
movq 0x100(%rsp), %rdi
movq %rax, %rsi
callq 0x4fe20
jmp 0x4d2f0
movq 0x1480(%rsp), %rax
testb $0x1, 0x2ba1(%rax)
je 0x4d343
movq 0x1480(%rsp), %rax
addq $0x2c70, %rax           # imm = 0x2C70
movq %rax, 0xf8(%rsp)
movslq 0x814(%rsp), %rsi
leaq 0xb78(%rsp), %rdi
callq 0x4fe90
movq 0xf8(%rsp), %rdi
movq %rax, %rsi
callq 0x4fe20
jmp 0x4d33e
jmp 0x4d408
movq 0x1480(%rsp), %rax
addq $0x2c70, %rax           # imm = 0x2C70
movq %rax, 0xe8(%rsp)
leaq 0x7ef(%rsp), %rdi
movq %rdi, 0xf0(%rsp)
callq 0x4740
movq 0xf0(%rsp), %rdx
leaq 0x1162e(%rip), %rsi     # 0x5e9ab
leaq 0x7f0(%rsp), %rdi
callq 0x4580
jmp 0x4d38c
movq 0xe8(%rsp), %rdi
leaq 0x7f0(%rsp), %rsi
callq 0x50310
jmp 0x4d3a3
leaq 0x7f0(%rsp), %rdi
callq 0x4270
leaq 0x7ef(%rsp), %rdi
callq 0x4490
jmp 0x4d408
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4d3f6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0x7f0(%rsp), %rdi
callq 0x4270
leaq 0x7ef(%rsp), %rdi
callq 0x4490
jmp 0x4eb30
movq 0x1480(%rsp), %rax
addq $0x2cd0, %rax           # imm = 0x2CD0
movq %rax, 0xe0(%rsp)
movslq 0x814(%rsp), %rsi
leaq 0xb10(%rsp), %rdi
callq 0x8ba0
movq 0xe0(%rsp), %rdi
movq %rax, %rsi
callq 0xc740
jmp 0x4d445
movq 0x1480(%rsp), %rdi
addq $0x2ce8, %rdi           # imm = 0x2CE8
movl $0x0, 0x7e8(%rsp)
leaq 0x7e8(%rsp), %rsi
callq 0x36ed0
jmp 0x4d46e
movq 0x1480(%rsp), %rdi
addq $0x2cd0, %rdi           # imm = 0x2CD0
movslq 0x81c(%rsp), %rsi
callq 0x8ba0
movl (%rax), %eax
decl %eax
movl %eax, 0x954(%rsp)
movl $0x0, 0x818(%rsp)
movq 0x1480(%rsp), %rdi
movq %rdi, %rax
addq $0x2d00, %rax           # imm = 0x2D00
movq %rax, 0xc0(%rsp)
movslq 0x2d1c(%rdi), %rax
movq %rax, 0xc8(%rsp)
addq $0x2cd0, %rdi           # imm = 0x2CD0
movslq 0x81c(%rsp), %rsi
callq 0x8ba0
movslq (%rax), %rax
movq %rax, 0xd0(%rsp)
leaq 0x7b7(%rsp), %rdi
movq %rdi, 0xd8(%rsp)
callq 0xc5e0
movq 0xd0(%rsp), %rsi
movq 0xd8(%rsp), %rdx
leaq 0x7b8(%rsp), %rdi
callq 0xc7b0
jmp 0x4d51b
leaq 0x7b6(%rsp), %rdi
movq %rdi, 0xb8(%rsp)
callq 0x169f0
movq 0xc8(%rsp), %rsi
movq 0xb8(%rsp), %rcx
leaq 0x7d0(%rsp), %rdi
leaq 0x7b8(%rsp), %rdx
callq 0x16b30
jmp 0x4d557
movq 0xc0(%rsp), %rdi
leaq 0x7d0(%rsp), %rsi
callq 0x50340
jmp 0x4d56e
leaq 0x7d0(%rsp), %rdi
callq 0x16ac0
leaq 0x7b6(%rsp), %rdi
callq 0x16b20
leaq 0x7b8(%rsp), %rdi
callq 0xc6e0
leaq 0x7b7(%rsp), %rdi
callq 0xc670
movl $0x0, 0x7b0(%rsp)
movl 0x7b0(%rsp), %eax
movq 0x1480(%rsp), %rcx
cmpl 0x2d1c(%rcx), %eax
jge 0x4d846
movslq 0x814(%rsp), %rsi
leaq 0xb48(%rsp), %rdi
callq 0x50190
movq %rax, %rdi
movslq 0x7b0(%rsp), %rsi
callq 0x4fe90
movq %rax, %rdi
movq 0x1480(%rsp), %rsi
addq $0x2ba8, %rsi           # imm = 0x2BA8
callq 0x4fd80
testb $0x1, %al
jne 0x4d60d
jmp 0x4d6f0
movq 0x1480(%rsp), %rdi
addq $0x2d00, %rdi           # imm = 0x2D00
movslq 0x81c(%rsp), %rsi
callq 0x8c40
movq %rax, %rdi
movslq 0x7b0(%rsp), %rsi
callq 0x8c60
movq %rax, %rdi
movslq 0x818(%rsp), %rsi
callq 0x8ba0
movl $0x0, (%rax)
movq 0x1480(%rsp), %rdi
addq $0x2ce8, %rdi           # imm = 0x2CE8
movslq 0x81c(%rsp), %rsi
callq 0x8ba0
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x4d82e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4d6de
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4d6c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0x7d0(%rsp), %rdi
callq 0x16ac0
leaq 0x7b6(%rsp), %rdi
callq 0x16b20
leaq 0x7b8(%rsp), %rdi
callq 0xc6e0
leaq 0x7b7(%rsp), %rdi
callq 0xc670
jmp 0x4eb30
movq 0x1480(%rsp), %rdi
addq $0x2d38, %rdi           # imm = 0x2D38
movslq 0x7b0(%rsp), %rsi
callq 0x50190
movq %rax, %rsi
leaq 0x798(%rsp), %rdi
callq 0x50400
jmp 0x4d71e
movslq 0x814(%rsp), %rsi
leaq 0xb48(%rsp), %rdi
callq 0x50190
movq %rax, %rdi
movslq 0x7b0(%rsp), %rsi
callq 0x4fe90
movq %rax, %rsi
leaq 0x778(%rsp), %rdi
callq 0x4180
jmp 0x4d755
leaq 0x798(%rsp), %rdi
leaq 0x778(%rsp), %rsi
callq 0x50370
movl %eax, 0xb4(%rsp)
jmp 0x4d773
movl 0xb4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xb0(%rsp)
movq 0x1480(%rsp), %rdi
addq $0x2d00, %rdi           # imm = 0x2D00
movslq 0x81c(%rsp), %rsi
callq 0x8c40
movq %rax, %rdi
movslq 0x7b0(%rsp), %rsi
callq 0x8c60
movq %rax, %rdi
movslq 0x818(%rsp), %rsi
callq 0x8ba0
movl 0xb0(%rsp), %ecx
movl %ecx, (%rax)
leaq 0x778(%rsp), %rdi
callq 0x4270
leaq 0x798(%rsp), %rdi
callq 0x16bd0
jmp 0x4d82e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4d81c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0x778(%rsp), %rdi
callq 0x4270
leaq 0x798(%rsp), %rdi
callq 0x16bd0
jmp 0x4eb30
jmp 0x4d830
movl 0x7b0(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x7b0(%rsp)
jmp 0x4d5ad
jmp 0x4da97
movl 0x954(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x954(%rsp)
movl 0x818(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x818(%rsp)
movl $0x0, 0x774(%rsp)
movl 0x774(%rsp), %eax
movq 0x1480(%rsp), %rcx
cmpl 0x2d1c(%rcx), %eax
jge 0x4da95
movslq 0x814(%rsp), %rsi
leaq 0xb48(%rsp), %rdi
callq 0x50190
movq %rax, %rdi
movslq 0x774(%rsp), %rsi
callq 0x4fe90
movq %rax, %rdi
movq 0x1480(%rsp), %rsi
addq $0x2ba8, %rsi           # imm = 0x2BA8
callq 0x4fd80
testb $0x1, %al
jne 0x4d8d5
jmp 0x4d93f
movq 0x1480(%rsp), %rdi
addq $0x2d00, %rdi           # imm = 0x2D00
movslq 0x81c(%rsp), %rsi
callq 0x8c40
movq %rax, %rdi
movslq 0x774(%rsp), %rsi
callq 0x8c60
movq %rax, %rdi
movslq 0x818(%rsp), %rsi
callq 0x8ba0
movl $0x0, (%rax)
movq 0x1480(%rsp), %rdi
addq $0x2ce8, %rdi           # imm = 0x2CE8
movslq 0x81c(%rsp), %rsi
callq 0x8ba0
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x4da7d
movq 0x1480(%rsp), %rdi
addq $0x2d38, %rdi           # imm = 0x2D38
movslq 0x774(%rsp), %rsi
callq 0x50190
movq %rax, %rsi
leaq 0x758(%rsp), %rdi
callq 0x50400
jmp 0x4d96d
movslq 0x814(%rsp), %rsi
leaq 0xb48(%rsp), %rdi
callq 0x50190
movq %rax, %rdi
movslq 0x774(%rsp), %rsi
callq 0x4fe90
movq %rax, %rsi
leaq 0x738(%rsp), %rdi
callq 0x4180
jmp 0x4d9a4
leaq 0x758(%rsp), %rdi
leaq 0x738(%rsp), %rsi
callq 0x50370
movl %eax, 0xac(%rsp)
jmp 0x4d9c2
movl 0xac(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xa8(%rsp)
movq 0x1480(%rsp), %rdi
addq $0x2d00, %rdi           # imm = 0x2D00
movslq 0x81c(%rsp), %rsi
callq 0x8c40
movq %rax, %rdi
movslq 0x774(%rsp), %rsi
callq 0x8c60
movq %rax, %rdi
movslq 0x818(%rsp), %rsi
callq 0x8ba0
movl 0xa8(%rsp), %ecx
movl %ecx, (%rax)
leaq 0x738(%rsp), %rdi
callq 0x4270
leaq 0x758(%rsp), %rdi
callq 0x16bd0
jmp 0x4da7d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4da6b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0x738(%rsp), %rdi
callq 0x4270
leaq 0x758(%rsp), %rdi
callq 0x16bd0
jmp 0x4eb30
jmp 0x4da7f
movl 0x774(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x774(%rsp)
jmp 0x4d878
jmp 0x4da97
jmp 0x4da99
movl 0x814(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x814(%rsp)
jmp 0x4d268
movq 0x1480(%rsp), %rdi
addq $0x2c58, %rdi           # imm = 0x2C58
callq 0x16bb0
movl %eax, %ecx
movq 0x1480(%rsp), %rax
movl %ecx, 0x2d18(%rax)
movq 0x1480(%rsp), %rdi
addq $0x2cd0, %rdi           # imm = 0x2CD0
callq 0x8c80
movl %eax, 0xa4(%rsp)
jmp 0x4daf0
movl 0xa4(%rsp), %ecx
movq 0x1480(%rsp), %rax
imull 0x2d1c(%rax), %ecx
movq 0x1480(%rsp), %rax
movl %ecx, 0x2d50(%rax)
movl $0x0, 0x734(%rsp)
movl 0x734(%rsp), %eax
movq 0x1480(%rsp), %rcx
cmpl 0x2d1c(%rcx), %eax
jge 0x4dd15
movb $0x1, 0x733(%rsp)
movl $0x0, 0x72c(%rsp)
movl 0x72c(%rsp), %eax
movq 0x1480(%rsp), %rcx
cmpl 0x2d18(%rcx), %eax
jge 0x4dc24
movl $0x0, 0x728(%rsp)
movl 0x728(%rsp), %eax
movl %eax, 0xa0(%rsp)
movq 0x1480(%rsp), %rdi
addq $0x2cd0, %rdi           # imm = 0x2CD0
movslq 0x72c(%rsp), %rsi
callq 0x8ba0
movq %rax, %rcx
movl 0xa0(%rsp), %eax
cmpl (%rcx), %eax
jge 0x4dc0c
movq 0x1480(%rsp), %rdi
addq $0x2d00, %rdi           # imm = 0x2D00
movslq 0x72c(%rsp), %rsi
callq 0x8c40
movq %rax, %rdi
movslq 0x734(%rsp), %rsi
callq 0x8c60
movq %rax, %rdi
movslq 0x728(%rsp), %rsi
callq 0x8ba0
cmpl $0x0, (%rax)
je 0x4dbf4
movb $0x0, 0x733(%rsp)
jmp 0x4dbf6
movl 0x728(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x728(%rsp)
jmp 0x4db73
jmp 0x4dc0e
movl 0x72c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x72c(%rsp)
jmp 0x4db4d
testb $0x1, 0x733(%rsp)
je 0x4dcfd
leaq 0x707(%rsp), %rdi
movq %rdi, 0x98(%rsp)
callq 0x4740
movq 0x98(%rsp), %rdx
leaq 0xfd63(%rip), %rsi      # 0x5d9b9
leaq 0x708(%rsp), %rdi
callq 0x4580
jmp 0x4dc65
movq 0x1480(%rsp), %rax
movq %rax, %rdx
addq $0x970, %rdx            # imm = 0x970
movzbl 0x2c3c(%rax), %esi
andl $0x1, %esi
leaq 0x708(%rsp), %rdi
callq 0x3a160
jmp 0x4dc90
leaq 0x708(%rsp), %rdi
callq 0x4270
leaq 0x707(%rsp), %rdi
callq 0x4490
movl $0x1, %edi
callq 0x44f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4dceb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0x708(%rsp), %rdi
callq 0x4270
leaq 0x707(%rsp), %rdi
callq 0x4490
jmp 0x4eb30
jmp 0x4dcff
movl 0x734(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x734(%rsp)
jmp 0x4db1f
movq 0x1480(%rsp), %rax
testb $0x1, 0x2ba1(%rax)
je 0x4e13b
movq 0x1480(%rsp), %rax
movslq 0x2d18(%rax), %rax
movq %rax, 0x88(%rsp)
leaq 0x6e7(%rsp), %rdi
movq %rdi, 0x90(%rsp)
callq 0xc5e0
movq 0x88(%rsp), %rsi
movq 0x90(%rsp), %rdx
leaq 0x6e8(%rsp), %rdi
callq 0xc7b0
jmp 0x4dd75
movq 0x1480(%rsp), %rdi
addq $0x2cb8, %rdi           # imm = 0x2CB8
leaq 0x6e8(%rsp), %rsi
callq 0xc6a0
leaq 0x6e8(%rsp), %rdi
callq 0xc6e0
leaq 0x6e7(%rsp), %rdi
callq 0xc670
movl $0x0, 0x6e0(%rsp)
movl 0x6e0(%rsp), %eax
movq 0x1480(%rsp), %rcx
cmpl 0x2d18(%rcx), %eax
jge 0x4e021
movq 0x1480(%rsp), %rdi
addq $0x2c88, %rdi           # imm = 0x2C88
callq 0x19300
movq %rax, 0x6d0(%rsp)
movq 0x1480(%rsp), %rdi
addq $0x2c88, %rdi           # imm = 0x2C88
callq 0x19330
movq %rax, 0x6c8(%rsp)
movq 0x1480(%rsp), %rdi
addq $0x2c70, %rdi           # imm = 0x2C70
movslq 0x6e0(%rsp), %rsi
callq 0x4fe90
movq %rax, %rdx
movq 0x6d0(%rsp), %rdi
movq 0x6c8(%rsp), %rsi
callq 0x502b0
movq %rax, 0x80(%rsp)
jmp 0x4de47
movq 0x80(%rsp), %rax
movq %rax, 0x6d8(%rsp)
movq 0x1480(%rsp), %rdi
addq $0x2c88, %rdi           # imm = 0x2C88
callq 0x19330
movq %rax, 0x6c0(%rsp)
leaq 0x6d8(%rsp), %rdi
leaq 0x6c0(%rsp), %rsi
callq 0x50270
testb $0x1, %al
jne 0x4de91
jmp 0x4df32
movq 0x1480(%rsp), %rdi
movq %rdi, %rax
addq $0x2c88, %rax           # imm = 0x2C88
movq %rax, 0x78(%rsp)
addq $0x2c70, %rdi           # imm = 0x2C70
movslq 0x6e0(%rsp), %rsi
callq 0x4fe90
movq 0x78(%rsp), %rdi
movq %rax, %rsi
callq 0x4fe20
jmp 0x4deca
movq 0x1480(%rsp), %rdi
addq $0x2c88, %rdi           # imm = 0x2C88
callq 0x16bb0
subl $0x1, %eax
movl %eax, 0x74(%rsp)
movq 0x1480(%rsp), %rdi
addq $0x2cb8, %rdi           # imm = 0x2CB8
movslq 0x6e0(%rsp), %rsi
callq 0x8ba0
movl 0x74(%rsp), %ecx
movl %ecx, (%rax)
jmp 0x4e009
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0x6e7(%rsp), %rdi
callq 0xc670
jmp 0x4eb30
movq 0x1480(%rsp), %rdi
addq $0x2c88, %rdi           # imm = 0x2C88
callq 0x19300
movq %rax, 0x6b0(%rsp)
movq 0x1480(%rsp), %rdi
addq $0x2c88, %rdi           # imm = 0x2C88
callq 0x19330
movq %rax, 0x6a8(%rsp)
movq 0x1480(%rsp), %rdi
addq $0x2c70, %rdi           # imm = 0x2C70
movslq 0x6e0(%rsp), %rsi
callq 0x4fe90
movq %rax, %rdx
movq 0x6b0(%rsp), %rdi
movq 0x6a8(%rsp), %rsi
callq 0x502b0
movq %rax, 0x68(%rsp)
jmp 0x4dfa5
movq 0x68(%rsp), %rax
movq %rax, 0x6b8(%rsp)
movq 0x1480(%rsp), %rdi
addq $0x2c88, %rdi           # imm = 0x2C88
callq 0x19300
movq %rax, 0x6a0(%rsp)
leaq 0x6b8(%rsp), %rdi
leaq 0x6a0(%rsp), %rsi
callq 0x50500
movl %eax, 0x64(%rsp)
movq 0x1480(%rsp), %rdi
addq $0x2cb8, %rdi           # imm = 0x2CB8
movslq 0x6e0(%rsp), %rsi
callq 0x8ba0
movl 0x64(%rsp), %ecx
movl %ecx, (%rax)
jmp 0x4e00b
movl 0x6e0(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x6e0(%rsp)
jmp 0x4ddb6
movq 0x1480(%rsp), %rdi
addq $0x2c88, %rdi           # imm = 0x2C88
callq 0x16bb0
movq %rax, 0x50(%rsp)
leaq 0x687(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0xc5e0
movq 0x50(%rsp), %rsi
movq 0x58(%rsp), %rdx
leaq 0x688(%rsp), %rdi
callq 0xc7b0
jmp 0x4e065
movq 0x1480(%rsp), %rdi
addq $0x2ca0, %rdi           # imm = 0x2CA0
leaq 0x688(%rsp), %rsi
callq 0xc6a0
leaq 0x688(%rsp), %rdi
callq 0xc6e0
leaq 0x687(%rsp), %rdi
callq 0xc670
movl $0x0, 0x680(%rsp)
movl 0x680(%rsp), %eax
movq 0x1480(%rsp), %rcx
cmpl 0x2d18(%rcx), %eax
jge 0x4e139
movq 0x1480(%rsp), %rax
addq $0x2ca0, %rax           # imm = 0x2CA0
movq %rax, 0x48(%rsp)
movq 0x1480(%rsp), %rdi
addq $0x2cb8, %rdi           # imm = 0x2CB8
movslq 0x680(%rsp), %rsi
callq 0x8ba0
movq 0x48(%rsp), %rdi
movslq (%rax), %rsi
callq 0x8ba0
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
movl 0x680(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x680(%rsp)
jmp 0x4e0a6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0x687(%rsp), %rdi
callq 0xc670
jmp 0x4eb30
jmp 0x4e13b
movq 0x1480(%rsp), %rax
testb $0x1, 0x2ba1(%rax)
je 0x4e2ed
movq 0x1480(%rsp), %rdi
addq $0x2c88, %rdi           # imm = 0x2C88
callq 0x16bb0
movq %rax, %rsi
leaq 0x620(%rsp), %rdi
callq 0xcb30
jmp 0x4e176
leaq 0xf887(%rip), %rsi      # 0x5da04
leaq 0x640(%rsp), %rdi
leaq 0x620(%rsp), %rdx
callq 0xcae0
jmp 0x4e194
leaq 0x5ff(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0x4740
movq 0x40(%rsp), %rdx
leaq 0xe6e0(%rip), %rsi      # 0x5c892
leaq 0x600(%rsp), %rdi
callq 0x4580
jmp 0x4e1c1
leaq 0x660(%rsp), %rdi
leaq 0x640(%rsp), %rsi
leaq 0x600(%rsp), %rdx
callq 0xc9f0
jmp 0x4e1e0
movq 0x1480(%rsp), %rax
movq %rax, %rdx
addq $0x970, %rdx            # imm = 0x970
movzbl 0x2c3c(%rax), %esi
andl $0x1, %esi
leaq 0x660(%rsp), %rdi
callq 0x3a160
jmp 0x4e20b
leaq 0x660(%rsp), %rdi
callq 0x4270
leaq 0x600(%rsp), %rdi
callq 0x4270
leaq 0x5ff(%rsp), %rdi
callq 0x4490
leaq 0x640(%rsp), %rdi
callq 0x4270
leaq 0x620(%rsp), %rdi
callq 0x4270
jmp 0x4e2ed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4e2db
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4e2c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4e2b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0x660(%rsp), %rdi
callq 0x4270
leaq 0x600(%rsp), %rdi
callq 0x4270
leaq 0x5ff(%rsp), %rdi
callq 0x4490
leaq 0x640(%rsp), %rdi
callq 0x4270
leaq 0x620(%rsp), %rdi
callq 0x4270
jmp 0x4eb30
movq 0x1480(%rsp), %rax
movslq 0x2d18(%rax), %rsi
leaq 0x598(%rsp), %rdi
callq 0xcb30
jmp 0x4e30b
leaq 0xf70a(%rip), %rsi      # 0x5da1c
leaq 0x5b8(%rsp), %rdi
leaq 0x598(%rsp), %rdx
callq 0xcae0
jmp 0x4e329
leaq 0x577(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0x4740
movq 0x38(%rsp), %rdx
leaq 0xe54b(%rip), %rsi      # 0x5c892
leaq 0x578(%rsp), %rdi
callq 0x4580
jmp 0x4e356
leaq 0x5d8(%rsp), %rdi
leaq 0x5b8(%rsp), %rsi
leaq 0x578(%rsp), %rdx
callq 0xc9f0
jmp 0x4e375
movq 0x1480(%rsp), %rax
movq %rax, %rdx
addq $0x970, %rdx            # imm = 0x970
movzbl 0x2c3c(%rax), %esi
andl $0x1, %esi
leaq 0x5d8(%rsp), %rdi
callq 0x3a160
jmp 0x4e3a0
leaq 0x5d8(%rsp), %rdi
callq 0x4270
leaq 0x578(%rsp), %rdi
callq 0x4270
leaq 0x577(%rsp), %rdi
callq 0x4490
leaq 0x5b8(%rsp), %rdi
callq 0x4270
leaq 0x598(%rsp), %rdi
callq 0x4270
movq 0x1480(%rsp), %rax
movslq 0x2d1c(%rax), %rsi
leaq 0x510(%rsp), %rdi
callq 0xcb30
jmp 0x4e3ff
leaq 0xf627(%rip), %rsi      # 0x5da2d
leaq 0x530(%rsp), %rdi
leaq 0x510(%rsp), %rdx
callq 0xcae0
jmp 0x4e41d
leaq 0x4ef(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0x4740
movq 0x30(%rsp), %rdx
leaq 0xe457(%rip), %rsi      # 0x5c892
leaq 0x4f0(%rsp), %rdi
callq 0x4580
jmp 0x4e44a
leaq 0x550(%rsp), %rdi
leaq 0x530(%rsp), %rsi
leaq 0x4f0(%rsp), %rdx
callq 0xc9f0
jmp 0x4e469
movq 0x1480(%rsp), %rax
movq %rax, %rdx
addq $0x970, %rdx            # imm = 0x970
movzbl 0x2c3c(%rax), %esi
andl $0x1, %esi
leaq 0x550(%rsp), %rdi
callq 0x3a160
jmp 0x4e494
leaq 0x550(%rsp), %rdi
callq 0x4270
leaq 0x4f0(%rsp), %rdi
callq 0x4270
leaq 0x4ef(%rsp), %rdi
callq 0x4490
leaq 0x530(%rsp), %rdi
callq 0x4270
leaq 0x510(%rsp), %rdi
callq 0x4270
leaq 0x360(%rsp), %rdi
callq 0x42f0
jmp 0x4e4e4
leaq 0x370(%rsp), %rdi
leaq 0xf544(%rip), %rsi      # 0x5da37
callq 0x4430
movq %rax, 0x28(%rsp)
jmp 0x4e4ff
movq 0x1480(%rsp), %rdi
addq $0x2d20, %rdi           # imm = 0x2D20
xorl %eax, %eax
movl %eax, %esi
callq 0x8ba0
movq 0x28(%rsp), %rdi
movl (%rax), %esi
callq 0x4700
jmp 0x4e525
movl $0x1, 0x35c(%rsp)
movl 0x35c(%rsp), %eax
movq 0x1480(%rsp), %rcx
cmpl 0x2d1c(%rcx), %eax
jge 0x4e6f6
leaq 0x370(%rsp), %rdi
leaq 0xdcce(%rip), %rsi      # 0x5c228
callq 0x4430
movq %rax, 0x20(%rsp)
jmp 0x4e566
movq 0x1480(%rsp), %rdi
addq $0x2d20, %rdi           # imm = 0x2D20
movslq 0x35c(%rsp), %rsi
callq 0x8ba0
movq 0x20(%rsp), %rdi
movl (%rax), %esi
callq 0x4700
jmp 0x4e590
jmp 0x4e592
movl 0x35c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x35c(%rsp)
jmp 0x4e530
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4e62f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4e615
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4e608
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0x5d8(%rsp), %rdi
callq 0x4270
leaq 0x578(%rsp), %rdi
callq 0x4270
leaq 0x577(%rsp), %rdi
callq 0x4490
leaq 0x5b8(%rsp), %rdi
callq 0x4270
leaq 0x598(%rsp), %rdi
callq 0x4270
jmp 0x4eb30
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4e6cb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4e6b1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4e6a4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0x550(%rsp), %rdi
callq 0x4270
leaq 0x4f0(%rsp), %rdi
callq 0x4270
leaq 0x4ef(%rsp), %rdi
callq 0x4490
leaq 0x530(%rsp), %rdi
callq 0x4270
leaq 0x510(%rsp), %rdi
callq 0x4270
jmp 0x4eb30
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4eb23
leaq 0x370(%rsp), %rdi
leaq 0xf34a(%rip), %rsi      # 0x5da4f
callq 0x4430
jmp 0x4e70c
leaq 0x338(%rsp), %rdi
leaq 0x360(%rsp), %rsi
callq 0x4420
jmp 0x4e723
movq 0x1480(%rsp), %rax
movq %rax, %rdx
addq $0x970, %rdx            # imm = 0x970
movzbl 0x2c3c(%rax), %esi
andl $0x1, %esi
leaq 0x338(%rsp), %rdi
callq 0x3a160
jmp 0x4e74e
leaq 0x338(%rsp), %rdi
callq 0x4270
movslq 0x848(%rsp), %rsi
leaq 0x298(%rsp), %rdi
callq 0xcb30
jmp 0x4e772
leaq 0xf2d9(%rip), %rsi      # 0x5da52
leaq 0x2b8(%rsp), %rdi
leaq 0x298(%rsp), %rdx
callq 0xcae0
jmp 0x4e790
leaq 0x277(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x4740
movq 0x18(%rsp), %rdx
leaq 0xe35e(%rip), %rsi      # 0x5cb0c
leaq 0x278(%rsp), %rdi
callq 0x4580
jmp 0x4e7bd
leaq 0x2d8(%rsp), %rdi
leaq 0x2b8(%rsp), %rsi
leaq 0x278(%rsp), %rdx
callq 0xc9f0
jmp 0x4e7dc
movq 0x1480(%rsp), %rdi
addq $0x2cd0, %rdi           # imm = 0x2CD0
callq 0x8c80
movl %eax, 0x14(%rsp)
jmp 0x4e7f6
movl 0x14(%rsp), %eax
movslq %eax, %rsi
movq 0x1480(%rsp), %rax
movslq 0x2d1c(%rax), %rax
imulq %rax, %rsi
leaq 0x250(%rsp), %rdi
callq 0xcb30
jmp 0x4e81f
leaq 0x2f8(%rsp), %rdi
leaq 0x2d8(%rsp), %rsi
leaq 0x250(%rsp), %rdx
callq 0xc9f0
jmp 0x4e83e
leaq 0x22f(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x4740
movq 0x8(%rsp), %rdx
leaq 0xe035(%rip), %rsi      # 0x5c891
leaq 0x230(%rsp), %rdi
callq 0x4580
jmp 0x4e86b
leaq 0x318(%rsp), %rdi
leaq 0x2f8(%rsp), %rsi
leaq 0x230(%rsp), %rdx
callq 0xc9f0
jmp 0x4e88a
movq 0x1480(%rsp), %rax
movq %rax, %rdx
addq $0x970, %rdx            # imm = 0x970
movzbl 0x2c3c(%rax), %esi
andl $0x1, %esi
leaq 0x318(%rsp), %rdi
callq 0x3a160
jmp 0x4e8b5
leaq 0x318(%rsp), %rdi
callq 0x4270
leaq 0x230(%rsp), %rdi
callq 0x4270
leaq 0x22f(%rsp), %rdi
callq 0x4490
leaq 0x2f8(%rsp), %rdi
callq 0x4270
leaq 0x250(%rsp), %rdi
callq 0x4270
leaq 0x2d8(%rsp), %rdi
callq 0x4270
leaq 0x278(%rsp), %rdi
callq 0x4270
leaq 0x277(%rsp), %rdi
callq 0x4490
leaq 0x2b8(%rsp), %rdi
callq 0x4270
leaq 0x298(%rsp), %rdi
callq 0x4270
leaq 0x360(%rsp), %rdi
callq 0x4330
leaq 0xb10(%rsp), %rdi
callq 0xc6e0
leaq 0xb30(%rsp), %rdi
callq 0x16bd0
leaq 0xb48(%rsp), %rdi
callq 0x2b430
leaq 0xb60(%rsp), %rdi
callq 0x16bd0
leaq 0xb78(%rsp), %rdi
callq 0x16bd0
leaq 0xb90(%rsp), %rdi
callq 0x16bd0
leaq 0x11d0(%rsp), %rdi
callq 0x4270
leaq 0x11f0(%rsp), %rdi
callq 0x16bd0
leaq 0x1208(%rsp), %rdi
callq 0x2b430
addq $0x1488, %rsp           # imm = 0x1488
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0x338(%rsp), %rdi
callq 0x4270
jmp 0x4eb23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4eb16
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4eafc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4eaef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4eae2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4ead5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4eabb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
jmp 0x4eaae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1450(%rsp)
movl %eax, 0x144c(%rsp)
leaq 0x318(%rsp), %rdi
callq 0x4270
leaq 0x230(%rsp), %rdi
callq 0x4270
leaq 0x22f(%rsp), %rdi
callq 0x4490
leaq 0x2f8(%rsp), %rdi
callq 0x4270
leaq 0x250(%rsp), %rdi
callq 0x4270
leaq 0x2d8(%rsp), %rdi
callq 0x4270
leaq 0x278(%rsp), %rdi
callq 0x4270
leaq 0x277(%rsp), %rdi
callq 0x4490
leaq 0x2b8(%rsp), %rdi
callq 0x4270
leaq 0x298(%rsp), %rdi
callq 0x4270
leaq 0x360(%rsp), %rdi
callq 0x4330
leaq 0xb10(%rsp), %rdi
callq 0xc6e0
leaq 0xb30(%rsp), %rdi
callq 0x16bd0
leaq 0xb48(%rsp), %rdi
callq 0x2b430
leaq 0xb60(%rsp), %rdi
callq 0x16bd0
leaq 0xb78(%rsp), %rdi
callq 0x16bd0
leaq 0xb90(%rsp), %rdi
callq 0x16bd0
leaq 0x11d0(%rsp), %rdi
callq 0x4270
leaq 0x11f0(%rsp), %rdi
callq 0x16bd0
leaq 0x1208(%rsp), %rdi
callq 0x2b430
movq 0x1450(%rsp), %rdi
callq 0x4730
nopw %cs:(%rax,%rax)