// File: /workspace/github_cpp_makefile_star2_O1/bobverity[P]MavericK/readIn.cpp
// Function: readParameters(globals&)
void readParameters(globals &globals) {
    
    cout << "Loading parameters...\n";
    
    // open file stream
    globals.parameters_fileStream = safe_ifstream(globals.parameters_filePath, false, globals.outputLog_fileStream);
    
    // read in parameters file as strings
    vector<string> params;
    string line1;
    while (safe_getline(globals.parameters_fileStream, line1)) {
        istringstream ss(line1);
        string line2;
        while (getline(ss, line2, '\t')) {
            if (line2.size()>0) {
                string line3 = istringstream(line2).str();
                params.push_back(line3);
            }
        }
    }
    
    // close file stream
    globals.parameters_fileStream.close();
    
    // extract paths from file
    for (int i=1; i<int(params.size()); i++) {
        
        if (params[i]=="outputRoot" && i+1<int(params.size()))
            globals.outputRoot_fileName = params[i+1];
        
        if (params[i]=="data" && i+1<int(params.size()))
            globals.data_fileName = params[i+1];
        
        if (params[i]=="outputLog" && i+1<int(params.size()))
            globals.outputLog_fileName = params[i+1];
        
        if (params[i]=="outputLikelihood" && i+1<int(params.size()))
            globals.outputLikelihood_fileName = params[i+1];
        
        if (params[i]=="outputQmatrix_ind" && i+1<int(params.size()))
            globals.outputQmatrix_ind_fileName = params[i+1];
        
        if (params[i]=="outputQmatrix_pop" && i+1<int(params.size()))
            globals.outputQmatrix_pop_fileName = params[i+1];
        
        if (params[i]=="outputQmatrix_gene" && i+1<int(params.size()))
            globals.outputQmatrix_gene_fileName = params[i+1];
        
        if (params[i]=="outputQmatrixError_ind" && i+1<int(params.size()))
            globals.outputQmatrixError_ind_fileName = params[i+1];
        
        if (params[i]=="outputQmatrixError_pop" && i+1<int(params.size()))
            globals.outputQmatrixError_pop_fileName = params[i+1];
        
        if (params[i]=="outputQmatrixError_gene" && i+1<int(params.size()))
            globals.outputQmatrixError_gene_fileName = params[i+1];
        
        if (params[i]=="outputEvidence" && i+1<int(params.size()))
            globals.outputEvidence_fileName = params[i+1];
        
        if (params[i]=="outputEvidenceNormalised" && i+1<int(params.size()))
            globals.outputEvidenceNormalised_fileName = params[i+1];
        
        if (params[i]=="outputEvidenceDetails" && i+1<int(params.size()))
            globals.outputEvidenceDetails_fileName = params[i+1];
        
        if (params[i]=="outputPosteriorGrouping" && i+1<int(params.size()))
            globals.outputPosteriorGrouping_fileName = params[i+1];
        
        if (params[i]=="outputComparisonStatistics" && i+1<int(params.size()))
            globals.outputComparisonStatistics_fileName = params[i+1];
        
        if (params[i]=="outputEvanno" && i+1<int(params.size()))
            globals.outputEvanno_fileName = params[i+1];
        
        if (params[i]=="outputMaxLike_alleleFreqs" && i+1<int(params.size()))
            globals.outputMaxLike_alleleFreqs_fileName = params[i+1];
        
        if (params[i]=="outputMaxLike_admixFreqs" && i+1<int(params.size()))
            globals.outputMaxLike_admixFreqs_fileName = params[i+1];
        
    }
    
    // extract parameter values (as strings) from file
    for (int i=1; i<int(params.size()); i++) {
        
        if (params[i]=="headerRow_on" && i+1<int(params.size()))
            globals.parameterStrings["headerRow_on"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="popCol_on" && i+1<int(params.size()))
            globals.parameterStrings["popCol_on"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="ploidyCol_on" && i+1<int(params.size()))
            globals.parameterStrings["ploidyCol_on"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="ploidy" && i+1<int(params.size()))
            globals.parameterStrings["ploidy"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="missingData" && i+1<int(params.size()))
            globals.parameterStrings["missingData"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="Kmin" && i+1<int(params.size()))
            globals.parameterStrings["Kmin"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="Kmax" && i+1<int(params.size()))
            globals.parameterStrings["Kmax"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="admix_on" && i+1<int(params.size()))
            globals.parameterStrings["admix_on"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="fixAlpha_on" && i+1<int(params.size()))
            globals.parameterStrings["fixAlpha_on"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="alpha" && i+1<int(params.size()))
            globals.parameterStrings["alpha"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="alphaPropSD" && i+1<int(params.size()))
            globals.parameterStrings["alphaPropSD"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="exhaustive_on" && i+1<int(params.size()))
            globals.parameterStrings["exhaustive_on"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="mainRepeats" && i+1<int(params.size()))
            globals.parameterStrings["mainRepeats"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="mainBurnin" && i+1<int(params.size()))
            globals.parameterStrings["mainBurnin"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="mainSamples" && i+1<int(params.size()))
            globals.parameterStrings["mainSamples"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="mainThinning" && i+1<int(params.size()))
            globals.parameterStrings["mainThinning"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="thermodynamic_on" && i+1<int(params.size()))
            globals.parameterStrings["thermodynamic_on"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="thermodynamicRungs" && i+1<int(params.size()))
            globals.parameterStrings["thermodynamicRungs"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="thermodynamicBurnin" && i+1<int(params.size()))
            globals.parameterStrings["thermodynamicBurnin"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="thermodynamicSamples" && i+1<int(params.size()))
            globals.parameterStrings["thermodynamicSamples"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="thermodynamicThinning" && i+1<int(params.size()))
            globals.parameterStrings["thermodynamicThinning"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="EMalgorithm_on" && i+1<int(params.size()))
            globals.parameterStrings["EMalgorithm_on"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="EMrepeats" && i+1<int(params.size()))
            globals.parameterStrings["EMrepeats"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="EMiterations" && i+1<int(params.size()))
            globals.parameterStrings["EMiterations"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="outputLog_on" && i+1<int(params.size()))
            globals.parameterStrings["outputLog_on"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="outputLikelihood_on" && i+1<int(params.size()))
            globals.parameterStrings["outputLikelihood_on"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="outputQmatrix_ind_on" && i+1<int(params.size()))
            globals.parameterStrings["outputQmatrix_ind_on"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="outputQmatrix_pop_on" && i+1<int(params.size()))
            globals.parameterStrings["outputQmatrix_pop_on"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="outputQmatrix_gene_on" && i+1<int(params.size()))
            globals.parameterStrings["outputQmatrix_gene_on"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="outputQmatrixError_ind_on" && i+1<int(params.size()))
            globals.parameterStrings["outputQmatrixError_ind_on"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="outputQmatrixError_pop_on" && i+1<int(params.size()))
            globals.parameterStrings["outputQmatrixError_pop_on"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="outputQmatrixError_gene_on" && i+1<int(params.size()))
            globals.parameterStrings["outputQmatrixError_gene_on"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="outputEvidence_on" && i+1<int(params.size()))
            globals.parameterStrings["outputEvidence_on"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="outputEvidenceNormalised_on" && i+1<int(params.size()))
            globals.parameterStrings["outputEvidenceNormalised_on"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="outputEvidenceDetails_on" && i+1<int(params.size()))
            globals.parameterStrings["outputEvidenceDetails_on"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="outputPosteriorGrouping_on" && i+1<int(params.size()))
            globals.parameterStrings["outputPosteriorGrouping_on"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="outputComparisonStatistics_on" && i+1<int(params.size()))
            globals.parameterStrings["outputComparisonStatistics_on"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="outputEvanno_on" && i+1<int(params.size()))
            globals.parameterStrings["outputEvanno_on"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="outputMaxLike_alleleFreqs_on" && i+1<int(params.size()))
            globals.parameterStrings["outputMaxLike_alleleFreqs_on"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="outputMaxLike_admixFreqs_on" && i+1<int(params.size()))
            globals.parameterStrings["outputMaxLike_admixFreqs_on"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="outputQmatrix_structureFormat_on" && i+1<int(params.size()))
            globals.parameterStrings["outputQmatrix_structureFormat_on"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="suppressWarning1_on" && i+1<int(params.size()))
            globals.parameterStrings["suppressWarning1_on"] = pair<string,int>(params[i+1],1);
        
        if (params[i]=="fixLabels_on" && i+1<int(params.size()))
            globals.parameterStrings["fixLabels_on"] = pair<string,int>(params[i+1],1);
        
    }
    
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x4b8, %rsp            # imm = 0x4B8
movq %rdi, %r15
movq 0x23dcc(%rip), %rdi     # 0x41fb8
leaq 0x19d95(%rip), %rsi     # 0x37f88
movl $0x16, %edx
callq 0x3390
leaq 0x4a8(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x300(%r15), %rsi
movq 0x308(%r15), %rdx
addq %rsi, %rdx
leaq 0x498(%rsp), %rbx
movq %rbx, %rdi
callq 0xbe10
leaq 0x970(%r15), %rcx
leaq 0x1a8(%rsp), %rdi
movq %rbx, %rsi
xorl %edx, %edx
callq 0x1db9f
leaq 0x560(%r15), %rdi
leaq 0x1a8(%rsp), %rsi
movq %rdi, 0x1a0(%rsp)
callq 0x34c0
movq %r15, 0x18(%rsp)
leaq 0x1a8(%rsp), %rdi
callq 0x30b0
movq 0x498(%rsp), %rdi
cmpq %r14, %rdi
je 0x1e283
callq 0x3310
xorl %eax, %eax
movq %rsp, %rcx
movq %rax, 0x10(%rcx)
xorps %xmm0, %xmm0
movaps %xmm0, (%rcx)
leaq 0x468(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb $0x0, (%rcx)
leaq 0x98(%rsp), %r13
leaq 0x1a8(%rsp), %rbx
leaq 0x3b0(%rsp), %rbp
leaq 0x20(%rsp), %r15
leaq 0x478(%rsp), %r14
movq 0x23cd7(%rip), %r12     # 0x41fa8
movq 0x1a0(%rsp), %rdi
leaq 0x458(%rsp), %rsi
callq 0x1df65
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x1e3e8
movq %rbx, %rdi
leaq 0x458(%rsp), %rsi
movl $0x8, %edx
callq 0x34f0
leaq 0x3c0(%rsp), %rax
movq %rax, 0x3b0(%rsp)
movq $0x0, 0x3b8(%rsp)
movb $0x0, 0x3c0(%rsp)
movq %rbx, %rdi
movq %rbp, %rsi
movl $0x9, %edx
callq 0x35c0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x1e3b1
cmpq $0x0, 0x3b8(%rsp)
je 0x1e331
movq %r15, %rdi
movq %rbp, %rsi
movl $0x8, %edx
callq 0x34f0
movq %r14, %rdi
leaq 0x30(%rsp), %rsi
callq 0x3490
movq %r15, %rdi
movq %r12, %rsi
callq 0x3420
movq %r13, %rdi
callq 0x30f0
movq %rsp, %rdi
movq %r14, %rsi
callq 0x2e630
movq 0x478(%rsp), %rdi
leaq 0x488(%rsp), %rax
cmpq %rax, %rdi
je 0x1e331
callq 0x3310
jmp 0x1e331
movq 0x3b0(%rsp), %rdi
leaq 0x3c0(%rsp), %rax
cmpq %rax, %rdi
je 0x1e3cb
callq 0x3310
movq %rbx, %rdi
movq %r12, %rsi
callq 0x3420
leaq 0x220(%rsp), %rdi
callq 0x30f0
jmp 0x1e2d1
movq 0x1a0(%rsp), %rdi
callq 0x3090
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
cmpl $0x2, %ecx
jl 0x1ea0b
movq 0x18(%rsp), %rcx
leaq 0x40(%rcx), %rdx
movq %rdx, 0x1a0(%rsp)
leaq 0x60(%rcx), %rdx
movq %rdx, 0x450(%rsp)
leaq 0xa0(%rcx), %rdx
movq %rdx, 0x448(%rsp)
leaq 0xc0(%rcx), %rdx
movq %rdx, 0x440(%rsp)
leaq 0xe0(%rcx), %rdx
movq %rdx, 0x438(%rsp)
leaq 0x100(%rcx), %rdx
movq %rdx, 0x430(%rsp)
leaq 0x120(%rcx), %rdx
movq %rdx, 0x428(%rsp)
leaq 0x140(%rcx), %rdx
movq %rdx, 0x420(%rsp)
leaq 0x160(%rcx), %rdx
movq %rdx, 0x418(%rsp)
leaq 0x180(%rcx), %rdx
movq %rdx, 0x410(%rsp)
leaq 0x1a0(%rcx), %rdx
movq %rdx, 0x408(%rsp)
leaq 0x1c0(%rcx), %rdx
movq %rdx, 0x400(%rsp)
leaq 0x1e0(%rcx), %rdx
movq %rdx, 0x3f8(%rsp)
leaq 0x200(%rcx), %rdx
movq %rdx, 0x3f0(%rsp)
leaq 0x220(%rcx), %rdx
movq %rdx, 0x3e8(%rsp)
leaq 0x240(%rcx), %rdx
movq %rdx, 0x3e0(%rsp)
leaq 0x260(%rcx), %rdx
movq %rdx, 0x3d8(%rsp)
addq $0x280, %rcx            # imm = 0x280
movq %rcx, 0x3d0(%rsp)
movl $0x40, %ebx
movl $0x2, %r14d
leaq 0x19b81(%rip), %r15     # 0x380ae
leaq 0x19b96(%rip), %r12     # 0x380ca
leaq 0x19b9d(%rip), %r13     # 0x380d8
leaq 0x19bb1(%rip), %rbp     # 0x380f3
leaq (%rax,%rbx), %rdi
addq $-0x20, %rdi
leaq 0x19a51(%rip), %rsi     # 0x37fa2
callq 0x30d0
testl %eax, %eax
jne 0x1e581
movq (%rsp), %rsi
movq 0x8(%rsp), %rax
subq %rsi, %rax
shrq $0x5, %rax
cltq
cmpq %rax, %r14
jge 0x1e581
addq %rbx, %rsi
movq 0x1a0(%rsp), %rdi
callq 0x31c0
movq (%rsp), %rax
leaq (%rax,%rbx), %rdi
addq $-0x20, %rdi
leaq 0x19a1a(%rip), %rsi     # 0x37fae
callq 0x30d0
testl %eax, %eax
jne 0x1e5c4
movq (%rsp), %rsi
movq 0x8(%rsp), %rax
subq %rsi, %rax
shrq $0x5, %rax
cltq
cmpq %rax, %r14
jge 0x1e5c4
addq %rbx, %rsi
movq 0x450(%rsp), %rdi
callq 0x31c0
movq (%rsp), %rax
leaq (%rax,%rbx), %rdi
addq $-0x20, %rdi
leaq 0x199dd(%rip), %rsi     # 0x37fb4
callq 0x30d0
testl %eax, %eax
jne 0x1e607
movq (%rsp), %rsi
movq 0x8(%rsp), %rax
subq %rsi, %rax
shrq $0x5, %rax
cltq
cmpq %rax, %r14
jge 0x1e607
addq %rbx, %rsi
movq 0x448(%rsp), %rdi
callq 0x31c0
movq (%rsp), %rax
leaq (%rax,%rbx), %rdi
addq $-0x20, %rdi
leaq 0x199a5(%rip), %rsi     # 0x37fbf
callq 0x30d0
testl %eax, %eax
jne 0x1e64a
movq (%rsp), %rsi
movq 0x8(%rsp), %rax
subq %rsi, %rax
shrq $0x5, %rax
cltq
cmpq %rax, %r14
jge 0x1e64a
addq %rbx, %rsi
movq 0x440(%rsp), %rdi
callq 0x31c0
movq (%rsp), %rax
leaq (%rax,%rbx), %rdi
addq $-0x20, %rdi
leaq 0x19974(%rip), %rsi     # 0x37fd1
callq 0x30d0
testl %eax, %eax
jne 0x1e68d
movq (%rsp), %rsi
movq 0x8(%rsp), %rax
subq %rsi, %rax
shrq $0x5, %rax
cltq
cmpq %rax, %r14
jge 0x1e68d
addq %rbx, %rsi
movq 0x438(%rsp), %rdi
callq 0x31c0
movq (%rsp), %rax
leaq (%rax,%rbx), %rdi
addq $-0x20, %rdi
leaq 0x19944(%rip), %rsi     # 0x37fe4
callq 0x30d0
testl %eax, %eax
jne 0x1e6d0
movq (%rsp), %rsi
movq 0x8(%rsp), %rax
subq %rsi, %rax
shrq $0x5, %rax
cltq
cmpq %rax, %r14
jge 0x1e6d0
addq %rbx, %rsi
movq 0x430(%rsp), %rdi
callq 0x31c0
movq (%rsp), %rax
leaq (%rax,%rbx), %rdi
addq $-0x20, %rdi
leaq 0x19914(%rip), %rsi     # 0x37ff7
callq 0x30d0
testl %eax, %eax
jne 0x1e713
movq (%rsp), %rsi
movq 0x8(%rsp), %rax
subq %rsi, %rax
shrq $0x5, %rax
cltq
cmpq %rax, %r14
jge 0x1e713
addq %rbx, %rsi
movq 0x428(%rsp), %rdi
callq 0x31c0
movq (%rsp), %rax
leaq (%rax,%rbx), %rdi
addq $-0x20, %rdi
leaq 0x198e5(%rip), %rsi     # 0x3800b
callq 0x30d0
testl %eax, %eax
jne 0x1e756
movq (%rsp), %rsi
movq 0x8(%rsp), %rax
subq %rsi, %rax
shrq $0x5, %rax
cltq
cmpq %rax, %r14
jge 0x1e756
addq %rbx, %rsi
movq 0x420(%rsp), %rdi
callq 0x31c0
movq (%rsp), %rax
leaq (%rax,%rbx), %rdi
addq $-0x20, %rdi
leaq 0x198ba(%rip), %rsi     # 0x38023
callq 0x30d0
testl %eax, %eax
jne 0x1e799
movq (%rsp), %rsi
movq 0x8(%rsp), %rax
subq %rsi, %rax
shrq $0x5, %rax
cltq
cmpq %rax, %r14
jge 0x1e799
addq %rbx, %rsi
movq 0x418(%rsp), %rdi
callq 0x31c0
movq (%rsp), %rax
leaq (%rax,%rbx), %rdi
addq $-0x20, %rdi
leaq 0x1988f(%rip), %rsi     # 0x3803b
callq 0x30d0
testl %eax, %eax
jne 0x1e7dc
movq (%rsp), %rsi
movq 0x8(%rsp), %rax
subq %rsi, %rax
shrq $0x5, %rax
cltq
cmpq %rax, %r14
jge 0x1e7dc
addq %rbx, %rsi
movq 0x410(%rsp), %rdi
callq 0x31c0
movq (%rsp), %rax
leaq (%rax,%rbx), %rdi
addq $-0x20, %rdi
leaq 0x19865(%rip), %rsi     # 0x38054
callq 0x30d0
testl %eax, %eax
jne 0x1e81f
movq (%rsp), %rsi
movq 0x8(%rsp), %rax
subq %rsi, %rax
shrq $0x5, %rax
cltq
cmpq %rax, %r14
jge 0x1e81f
addq %rbx, %rsi
movq 0x408(%rsp), %rdi
callq 0x31c0
movq (%rsp), %rax
leaq (%rax,%rbx), %rdi
addq $-0x20, %rdi
leaq 0x19832(%rip), %rsi     # 0x38064
callq 0x30d0
testl %eax, %eax
jne 0x1e862
movq (%rsp), %rsi
movq 0x8(%rsp), %rax
subq %rsi, %rax
shrq $0x5, %rax
cltq
cmpq %rax, %r14
jge 0x1e862
addq %rbx, %rsi
movq 0x400(%rsp), %rdi
callq 0x31c0
movq (%rsp), %rax
leaq (%rax,%rbx), %rdi
addq $-0x20, %rdi
leaq 0x19809(%rip), %rsi     # 0x3807e
callq 0x30d0
testl %eax, %eax
jne 0x1e8a5
movq (%rsp), %rsi
movq 0x8(%rsp), %rax
subq %rsi, %rax
shrq $0x5, %rax
cltq
cmpq %rax, %r14
jge 0x1e8a5
addq %rbx, %rsi
movq 0x3f8(%rsp), %rdi
callq 0x31c0
movq (%rsp), %rax
leaq (%rax,%rbx), %rdi
addq $-0x20, %rdi
leaq 0x197dd(%rip), %rsi     # 0x38095
callq 0x30d0
testl %eax, %eax
jne 0x1e8e8
movq (%rsp), %rsi
movq 0x8(%rsp), %rax
subq %rsi, %rax
shrq $0x5, %rax
cltq
cmpq %rax, %r14
jge 0x1e8e8
addq %rbx, %rsi
movq 0x3f0(%rsp), %rdi
callq 0x31c0
movq (%rsp), %rax
leaq (%rax,%rbx), %rdi
addq $-0x20, %rdi
movq %r15, %rsi
callq 0x30d0
testl %eax, %eax
jne 0x1e927
movq (%rsp), %rsi
movq 0x8(%rsp), %rax
subq %rsi, %rax
shrq $0x5, %rax
cltq
cmpq %rax, %r14
jge 0x1e927
addq %rbx, %rsi
movq 0x3e8(%rsp), %rdi
callq 0x31c0
movq (%rsp), %rax
leaq (%rax,%rbx), %rdi
addq $-0x20, %rdi
movq %r12, %rsi
callq 0x30d0
testl %eax, %eax
jne 0x1e966
movq (%rsp), %rsi
movq 0x8(%rsp), %rax
subq %rsi, %rax
shrq $0x5, %rax
cltq
cmpq %rax, %r14
jge 0x1e966
addq %rbx, %rsi
movq 0x3e0(%rsp), %rdi
callq 0x31c0
movq (%rsp), %rax
leaq (%rax,%rbx), %rdi
addq $-0x20, %rdi
movq %r13, %rsi
callq 0x30d0
testl %eax, %eax
jne 0x1e9a5
movq (%rsp), %rsi
movq 0x8(%rsp), %rax
subq %rsi, %rax
shrq $0x5, %rax
cltq
cmpq %rax, %r14
jge 0x1e9a5
addq %rbx, %rsi
movq 0x3d8(%rsp), %rdi
callq 0x31c0
movq (%rsp), %rax
leaq (%rax,%rbx), %rdi
addq $-0x20, %rdi
movq %rbp, %rsi
callq 0x30d0
testl %eax, %eax
jne 0x1e9e4
movq (%rsp), %rsi
movq 0x8(%rsp), %rax
subq %rsi, %rax
shrq $0x5, %rax
cltq
cmpq %rax, %r14
jge 0x1e9e4
addq %rbx, %rsi
movq 0x3d0(%rsp), %rdi
callq 0x31c0
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
addq $0x20, %rbx
leaq 0x1(%r14), %rdx
cmpq %rcx, %r14
movq %rdx, %r14
jl 0x1e542
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
cmpl $0x2, %ecx
jl 0x20d33
leaq 0x1b8(%rsp), %r14
addq $0x2b70, 0x18(%rsp)     # imm = 0x2B70
movl $0x2, %r13d
xorl %r15d, %r15d
leaq 0x1a8(%rsp), %r12
leaq 0x20(%rsp), %rbp
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x18a37(%rip), %rsi     # 0x37491
callq 0x30d0
testl %eax, %eax
jne 0x1eb16
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x1eb16
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x189d2(%rip), %rsi     # 0x37491
leaq 0x189d7(%rip), %rdx     # 0x3749d
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x1eb04
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1eb16
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x18975(%rip), %rsi     # 0x3749e
callq 0x30d0
testl %eax, %eax
jne 0x1ebe5
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x1ebe5
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x18910(%rip), %rsi     # 0x3749e
leaq 0x18912(%rip), %rdx     # 0x374a7
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x1ebd3
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1ebe5
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x188b0(%rip), %rsi     # 0x374a8
callq 0x30d0
testl %eax, %eax
jne 0x1ecb4
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x1ecb4
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x1884b(%rip), %rsi     # 0x374a8
leaq 0x18850(%rip), %rdx     # 0x374b4
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x1eca2
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1ecb4
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x187f0(%rip), %rsi     # 0x374b7
callq 0x30d0
testl %eax, %eax
jne 0x1ed83
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x1ed83
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x1878b(%rip), %rsi     # 0x374b7
leaq 0x1878a(%rip), %rdx     # 0x374bd
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x1ed71
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1ed83
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x1872b(%rip), %rsi     # 0x374c1
callq 0x30d0
testl %eax, %eax
jne 0x1ee52
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x1ee52
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x186c6(%rip), %rsi     # 0x374c1
leaq 0x186ca(%rip), %rdx     # 0x374cc
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x1ee40
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1ee52
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x18668(%rip), %rsi     # 0x374cd
callq 0x30d0
testl %eax, %eax
jne 0x1ef21
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x1ef21
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x18603(%rip), %rsi     # 0x374cd
leaq 0x18600(%rip), %rdx     # 0x374d1
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x1ef0f
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1ef21
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x1859e(%rip), %rsi     # 0x374d2
callq 0x30d0
testl %eax, %eax
jne 0x1eff0
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x1eff0
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x18539(%rip), %rsi     # 0x374d2
leaq 0x18536(%rip), %rdx     # 0x374d6
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x1efde
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1eff0
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x184d4(%rip), %rsi     # 0x374d7
callq 0x30d0
testl %eax, %eax
jne 0x1f0bf
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x1f0bf
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x1846f(%rip), %rsi     # 0x374d7
leaq 0x18470(%rip), %rdx     # 0x374df
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x1f0ad
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1f0bf
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x18413(%rip), %rsi     # 0x374e5
callq 0x30d0
testl %eax, %eax
jne 0x1f18e
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x1f18e
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x183ae(%rip), %rsi     # 0x374e5
leaq 0x183b2(%rip), %rdx     # 0x374f0
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x1f17c
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1f18e
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x1a5ce(%rip), %rsi     # 0x3976f
callq 0x30d0
testl %eax, %eax
jne 0x1f25d
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x1f25d
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x1a569(%rip), %rsi     # 0x3976f
leaq 0x1a567(%rip), %rdx     # 0x39774
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x1f24b
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1f25d
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x18289(%rip), %rsi     # 0x374f9
callq 0x30d0
testl %eax, %eax
jne 0x1f32c
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x1f32c
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x18224(%rip), %rsi     # 0x374f9
leaq 0x18228(%rip), %rdx     # 0x37504
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x1f31a
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1f32c
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x181c6(%rip), %rsi     # 0x37505
callq 0x30d0
testl %eax, %eax
jne 0x1f3fb
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x1f3fb
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x18161(%rip), %rsi     # 0x37505
leaq 0x18167(%rip), %rdx     # 0x37512
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x1f3e9
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1f3fb
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x18105(%rip), %rsi     # 0x37513
callq 0x30d0
testl %eax, %eax
jne 0x1f4ca
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x1f4ca
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x180a0(%rip), %rsi     # 0x37513
leaq 0x180a4(%rip), %rdx     # 0x3751e
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x1f4b8
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1f4ca
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x18046(%rip), %rsi     # 0x37523
callq 0x30d0
testl %eax, %eax
jne 0x1f599
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x1f599
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x17fe1(%rip), %rsi     # 0x37523
leaq 0x17fe4(%rip), %rdx     # 0x3752d
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x1f587
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1f599
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x17f87(%rip), %rsi     # 0x37533
callq 0x30d0
testl %eax, %eax
jne 0x1f668
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x1f668
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x17f22(%rip), %rsi     # 0x37533
leaq 0x17f26(%rip), %rdx     # 0x3753e
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x1f656
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1f668
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x17ec4(%rip), %rsi     # 0x3753f
callq 0x30d0
testl %eax, %eax
jne 0x1f737
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x1f737
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x17e5f(%rip), %rsi     # 0x3753f
leaq 0x17e64(%rip), %rdx     # 0x3754b
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x1f725
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1f737
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x17e02(%rip), %rsi     # 0x3754c
callq 0x30d0
testl %eax, %eax
jne 0x1f806
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x1f806
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x17d9d(%rip), %rsi     # 0x3754c
leaq 0x17da6(%rip), %rdx     # 0x3755c
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x1f7f4
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1f806
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x17d47(%rip), %rsi     # 0x37560
callq 0x30d0
testl %eax, %eax
jne 0x1f8d5
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x1f8d5
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x17ce2(%rip), %rsi     # 0x37560
leaq 0x17ced(%rip), %rdx     # 0x37572
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x1f8c3
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1f8d5
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x17c8b(%rip), %rsi     # 0x37573
callq 0x30d0
testl %eax, %eax
jne 0x1f9a4
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x1f9a4
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x17c26(%rip), %rsi     # 0x37573
leaq 0x17c32(%rip), %rdx     # 0x37586
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x1f992
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1f9a4
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x17bd0(%rip), %rsi     # 0x37587
callq 0x30d0
testl %eax, %eax
jne 0x1fa73
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x1fa73
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x17b6b(%rip), %rsi     # 0x37587
leaq 0x17b78(%rip), %rdx     # 0x3759b
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x1fa61
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1fa73
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x17b16(%rip), %rsi     # 0x3759c
callq 0x30d0
testl %eax, %eax
jne 0x1fb42
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x1fb42
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x17ab1(%rip), %rsi     # 0x3759c
leaq 0x17abf(%rip), %rdx     # 0x375b1
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x1fb30
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1fb42
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x17a5d(%rip), %rsi     # 0x375b2
callq 0x30d0
testl %eax, %eax
jne 0x1fc11
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x1fc11
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x179f8(%rip), %rsi     # 0x375b2
leaq 0x179ff(%rip), %rdx     # 0x375c0
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x1fbff
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1fc11
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x179a0(%rip), %rsi     # 0x375c4
callq 0x30d0
testl %eax, %eax
jne 0x1fce0
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x1fce0
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x1793b(%rip), %rsi     # 0x375c4
leaq 0x1793d(%rip), %rdx     # 0x375cd
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x1fcce
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1fce0
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x178db(%rip), %rsi     # 0x375ce
callq 0x30d0
testl %eax, %eax
jne 0x1fdaf
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x1fdaf
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x17876(%rip), %rsi     # 0x375ce
leaq 0x1787b(%rip), %rdx     # 0x375da
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x1fd9d
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1fdaf
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x17819(%rip), %rsi     # 0x375db
callq 0x30d0
testl %eax, %eax
jne 0x1fe7e
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x1fe7e
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x177b4(%rip), %rsi     # 0x375db
leaq 0x177b9(%rip), %rdx     # 0x375e7
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x1fe6c
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1fe7e
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x17757(%rip), %rsi     # 0x375e8
callq 0x30d0
testl %eax, %eax
jne 0x1ff4d
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x1ff4d
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x176f2(%rip), %rsi     # 0x375e8
leaq 0x176fe(%rip), %rdx     # 0x375fb
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x1ff3b
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1ff4d
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x1769c(%rip), %rsi     # 0x375fc
callq 0x30d0
testl %eax, %eax
jne 0x2001c
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x2001c
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x17637(%rip), %rsi     # 0x375fc
leaq 0x17644(%rip), %rdx     # 0x37610
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x2000a
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x2001c
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x175e2(%rip), %rsi     # 0x37611
callq 0x30d0
testl %eax, %eax
jne 0x200eb
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x200eb
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x1757d(%rip), %rsi     # 0x37611
leaq 0x1758a(%rip), %rdx     # 0x37625
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x200d9
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x200eb
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x17528(%rip), %rsi     # 0x37626
callq 0x30d0
testl %eax, %eax
jne 0x201ba
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x201ba
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x174c3(%rip), %rsi     # 0x37626
leaq 0x174d1(%rip), %rdx     # 0x3763b
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x201a8
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x201ba
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x1746f(%rip), %rsi     # 0x3763c
callq 0x30d0
testl %eax, %eax
jne 0x20289
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x20289
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x1740a(%rip), %rsi     # 0x3763c
leaq 0x1741c(%rip), %rdx     # 0x37655
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x20277
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x20289
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x173ba(%rip), %rsi     # 0x37656
callq 0x30d0
testl %eax, %eax
jne 0x20358
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x20358
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x17355(%rip), %rsi     # 0x37656
leaq 0x17367(%rip), %rdx     # 0x3766f
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x20346
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x20358
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x17305(%rip), %rsi     # 0x37670
callq 0x30d0
testl %eax, %eax
jne 0x20427
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x20427
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x172a0(%rip), %rsi     # 0x37670
leaq 0x172b3(%rip), %rdx     # 0x3768a
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x20415
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x20427
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x17251(%rip), %rsi     # 0x3768b
callq 0x30d0
testl %eax, %eax
jne 0x204f6
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x204f6
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x171ec(%rip), %rsi     # 0x3768b
leaq 0x171f6(%rip), %rdx     # 0x3769c
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x204e4
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x204f6
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x17194(%rip), %rsi     # 0x3769d
callq 0x30d0
testl %eax, %eax
jne 0x205c5
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x205c5
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x1712f(%rip), %rsi     # 0x3769d
leaq 0x17143(%rip), %rdx     # 0x376b8
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x205b3
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x205c5
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x170e1(%rip), %rsi     # 0x376b9
callq 0x30d0
testl %eax, %eax
jne 0x20694
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x20694
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x1707c(%rip), %rsi     # 0x376b9
leaq 0x1708d(%rip), %rdx     # 0x376d1
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x20682
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x20694
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x1702b(%rip), %rsi     # 0x376d2
callq 0x30d0
testl %eax, %eax
jne 0x20763
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x20763
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x16fc6(%rip), %rsi     # 0x376d2
leaq 0x16fd9(%rip), %rdx     # 0x376ec
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x20751
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x20763
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x16f77(%rip), %rsi     # 0x376ed
callq 0x30d0
testl %eax, %eax
jne 0x20832
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x20832
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x16f12(%rip), %rsi     # 0x376ed
leaq 0x16f28(%rip), %rdx     # 0x3770a
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x20820
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x20832
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x16ec6(%rip), %rsi     # 0x3770b
callq 0x30d0
testl %eax, %eax
jne 0x20901
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x20901
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x16e61(%rip), %rsi     # 0x3770b
leaq 0x16e69(%rip), %rdx     # 0x3771a
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x208ef
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x20901
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x16e07(%rip), %rsi     # 0x3771b
callq 0x30d0
testl %eax, %eax
jne 0x209d0
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x209d0
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x16da2(%rip), %rsi     # 0x3771b
leaq 0x16db7(%rip), %rdx     # 0x37737
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x209be
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x209d0
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x16d55(%rip), %rsi     # 0x37738
callq 0x30d0
testl %eax, %eax
jne 0x20a9f
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x20a9f
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x16cf0(%rip), %rsi     # 0x37738
leaq 0x16d04(%rip), %rdx     # 0x37753
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x20a8d
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x20a9f
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x16ca2(%rip), %rsi     # 0x37754
callq 0x30d0
testl %eax, %eax
jne 0x20b6e
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x20b6e
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x16c3d(%rip), %rsi     # 0x37754
leaq 0x16c56(%rip), %rdx     # 0x37774
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x20b5c
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x20b6e
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x16bf4(%rip), %rsi     # 0x37775
callq 0x30d0
testl %eax, %eax
jne 0x20c3d
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x20c3d
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x16b8f(%rip), %rsi     # 0x37775
leaq 0x16b9b(%rip), %rdx     # 0x37788
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x20c2b
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x20c3d
callq 0x3310
movq (%rsp), %rax
leaq (%rax,%r15), %rdi
addq $0x20, %rdi
leaq 0x16b39(%rip), %rsi     # 0x37789
callq 0x30d0
testl %eax, %eax
jne 0x20d0c
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jge 0x20d0c
movq %r14, 0x1a8(%rsp)
movq 0x40(%rax,%r15), %rsi
movq 0x48(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbe10
movl $0x1, 0x1c8(%rsp)
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %rbp, %rdi
leaq 0x16ad4(%rip), %rsi     # 0x37789
leaq 0x16ad9(%rip), %rdx     # 0x37795
callq 0x6e56
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x14b5a
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0x33e0
movl 0x1c8(%rsp), %eax
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x20cfa
callq 0x3310
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x20d0c
callq 0x3310
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rax, %rcx
shrq $0x5, %rcx
movslq %ecx, %rcx
addq $0x20, %r15
leaq 0x1(%r13), %rdx
cmpq %rcx, %r13
movq %rdx, %r13
jl 0x1ea4b
movq 0x458(%rsp), %rdi
leaq 0x468(%rsp), %rax
cmpq %rax, %rdi
je 0x20d4d
callq 0x3310
movq %rsp, %rdi
callq 0xb704
addq $0x4b8, %rsp            # imm = 0x4B8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x20fd1
movq %rax, %rbx
leaq 0x1a8(%rsp), %rdi
callq 0x30b0
jmp 0x20d81
movq %rax, %rbx
movq 0x498(%rsp), %rdi
cmpq %r14, %rdi
je 0x2107d
callq 0x3310
jmp 0x2107d
jmp 0x20fd1
jmp 0x20fd1
jmp 0x20f92
jmp 0x20f92
jmp 0x20faf
jmp 0x20faf
jmp 0x20fd1
jmp 0x20fd1
jmp 0x20fd1
jmp 0x20f92
jmp 0x20f92
jmp 0x20faf
jmp 0x20faf
jmp 0x20fd1
jmp 0x20fd1
jmp 0x20f92
jmp 0x20f92
jmp 0x20f92
jmp 0x20faf
jmp 0x20faf
jmp 0x20fd1
jmp 0x20fd1
jmp 0x20f92
jmp 0x20f92
jmp 0x20faf
jmp 0x20faf
jmp 0x20faf
jmp 0x20fd1
jmp 0x20fd1
jmp 0x20f92
jmp 0x20f92
jmp 0x20faf
jmp 0x20faf
jmp 0x20fd1
jmp 0x20fd1
jmp 0x20fd1
jmp 0x20f92
jmp 0x20f92
jmp 0x20f92
jmp 0x20faf
jmp 0x20faf
jmp 0x20fd1
jmp 0x20fd1
jmp 0x20f92
jmp 0x20f92
jmp 0x20faf
jmp 0x20faf
jmp 0x20faf
jmp 0x20fd1
jmp 0x20fd1
jmp 0x20f92
jmp 0x20f92
jmp 0x20faf
jmp 0x20faf
jmp 0x20fd1
jmp 0x20fd1
jmp 0x20fd1
jmp 0x20f92
jmp 0x20f92
jmp 0x20faf
jmp 0x20faf
jmp 0x20fd1
jmp 0x20fd1
jmp 0x20f92
jmp 0x20f92
jmp 0x20f92
jmp 0x20faf
jmp 0x20faf
jmp 0x20fd1
jmp 0x20fd1
jmp 0x20f92
jmp 0x20f92
jmp 0x20faf
jmp 0x20faf
jmp 0x20faf
jmp 0x20fd1
jmp 0x20fd1
jmp 0x20f92
jmp 0x20f92
jmp 0x20faf
jmp 0x20faf
jmp 0x20fd1
jmp 0x20fd1
jmp 0x20fd1
jmp 0x20f92
jmp 0x20f92
jmp 0x20faf
jmp 0x20faf
jmp 0x20fd1
jmp 0x20fd1
jmp 0x20f92
jmp 0x20f92
jmp 0x20f92
jmp 0x20faf
jmp 0x20faf
jmp 0x20fd1
jmp 0x20fd1
jmp 0x20f92
jmp 0x20f92
jmp 0x20faf
jmp 0x20faf
jmp 0x20faf
jmp 0x20fd1
jmp 0x20fd1
jmp 0x20f92
jmp 0x20f92
jmp 0x20faf
jmp 0x20faf
jmp 0x20fd1
jmp 0x20fd1
jmp 0x20fd1
jmp 0x20f92
jmp 0x20f92
jmp 0x20faf
jmp 0x20faf
jmp 0x20fd1
jmp 0x20fd1
jmp 0x20f92
jmp 0x20f92
jmp 0x20f92
jmp 0x20faf
jmp 0x20faf
jmp 0x20fd1
jmp 0x20fd1
jmp 0x20f92
movq %rax, %rbx
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x20fb2
callq 0x3310
jmp 0x20fb2
jmp 0x20faf
jmp 0x20faf
movq %rax, %rbx
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x2105b
callq 0x3310
jmp 0x2105b
jmp 0x20fd1
jmp 0x20fd1
movq %rax, %rbx
jmp 0x2105b
movq %rax, %rbx
movq 0x478(%rsp), %rdi
leaq 0x488(%rsp), %rax
cmpq %rax, %rdi
je 0x21020
callq 0x3310
jmp 0x21020
movq %rax, %rbx
movq 0x20fa6(%rip), %rsi     # 0x41fa8
leaq 0x20(%rsp), %rdi
callq 0x3420
leaq 0x98(%rsp), %rdi
callq 0x30f0
jmp 0x21020
jmp 0x2101d
movq %rax, %rbx
movq 0x3b0(%rsp), %rdi
leaq 0x3c0(%rsp), %rax
cmpq %rax, %rdi
je 0x2103a
callq 0x3310
movq 0x20f67(%rip), %rsi     # 0x41fa8
leaq 0x1a8(%rsp), %rdi
callq 0x3420
leaq 0x220(%rsp), %rdi
callq 0x30f0
movq 0x458(%rsp), %rdi
leaq 0x468(%rsp), %rax
cmpq %rax, %rdi
je 0x21075
callq 0x3310
movq %rsp, %rdi
callq 0xb704
movq %rbx, %rdi
callq 0x3580