// File: bobverity[P]MavericK/MCMCobject_noAdmixture.cpp
// Function: MCMCobject_noAdmixture::MCMCobject_noAdmixture(globals&, int, int, int, int, double)
MCMCobject_noAdmixture::MCMCobject_noAdmixture(globals &globals, int _Kindex, int _burnin, int _samples, int _thinning, double _beta) {
    
    // copy some values over from globals object
    outputQmatrix_pop_on = globals.outputQmatrix_pop_on;
    
    Kindex = _Kindex;
    K = globals.Kmin+Kindex;
    n = globals.n;
    loci = globals.loci;
    J = globals.J;
    ploidy_vec = globals.ploidy_vec;
    data = globals.data;
    lambda = globals.lambda;
    beta = _beta;
    uniquePops = globals.uniquePops;
    
    burnin = _burnin;
    samples = _samples;
    thinning = _thinning;
    
    group = vector<int>(n,1);
    
    // initialise allele counts and frequencies
    alleleCounts = vector< vector< vector<int> > >(K);
    alleleCountsTotals = vector< vector<int> >(K);
    alleleFreqs = vector< vector< vector<double> > >(K);
    for (int k=0; k<K; k++) {
        alleleCounts[k] = vector< vector<int> >(loci);
        alleleCountsTotals[k] = vector<int>(loci);
        alleleFreqs[k] = vector< vector<double> >(loci);
        for (int l=0; l<loci; l++) {
            alleleCounts[k][l] = vector<int>(J[l]);
            alleleFreqs[k][l] = vector<double>(J[l]);
        }
    }
    
    // initialise objects for calculating assignment probabilities
    logProbVec = vector<double>(K);
    logProbVecSum = 0;  // (used in Qmatrix calculation)
    logProbVecMax = 0;
    probVec = vector<double>(K);
    probVecSum = 0;
    
    // initialise Qmatrices
    logQmatrix_ind_old = vector< vector<double> >(n, vector<double>(K));
    logQmatrix_ind_new = vector< vector<double> >(n, vector<double>(K));
    logQmatrix_ind_running = vector< vector<double> >(n, vector<double>(K));
    
    logQmatrix_ind = vector< vector<double> >(n, vector<double>(K));
    Qmatrix_ind = vector< vector<double> >(n, vector<double>(K));
    Qmatrix_pop = vector< vector<double> >(uniquePops.size(), vector<double>(K));
    
    // initialise objects for Hungarian algorithm
    costMat = vector< vector<double> >(K, vector<double>(K));
    bestPermOrder = vector<int>(K);
    
    edgesLeft = vector<int>(K);
    edgesRight = vector<int>(K);
    blockedLeft = vector<int>(K);
    blockedRight = vector<int>(K);
    
}

// Assembly:
subq $0x708, %rsp            # imm = 0x708
movq %rdi, 0x700(%rsp)
movq %rsi, 0x6f8(%rsp)
movl %edx, 0x6f4(%rsp)
movl %ecx, 0x6f0(%rsp)
movl %r8d, 0x6ec(%rsp)
movl %r9d, 0x6e8(%rsp)
movsd %xmm0, 0x6e0(%rsp)
movq 0x700(%rsp), %rdi
movq %rdi, 0x338(%rsp)
movq %rdi, %rax
movq %rax, 0x270(%rsp)
callq 0x16020
movq 0x338(%rsp), %rdi
addq $0x28, %rdi
movq %rdi, 0x340(%rsp)
callq 0x16030
movq 0x338(%rsp), %rdi
addq $0x40, %rdi
movq %rdi, 0x278(%rsp)
callq 0x16030
movq 0x338(%rsp), %rdi
addq $0x58, %rdi
movq %rdi, 0x280(%rsp)
callq 0x16040
movq 0x338(%rsp), %rdi
addq $0x90, %rdi
movq %rdi, 0x288(%rsp)
callq 0x16030
movq 0x338(%rsp), %rdi
addq $0xa8, %rdi
movq %rdi, 0x290(%rsp)
callq 0x16020
movq 0x338(%rsp), %rdi
addq $0xc0, %rdi
movq %rdi, 0x298(%rsp)
callq 0x16050
movq 0x338(%rsp), %rdi
addq $0xd8, %rdi
movq %rdi, 0x2a0(%rsp)
callq 0x16060
movq 0x338(%rsp), %rdi
addq $0xf0, %rdi
movq %rdi, 0x2a8(%rsp)
callq 0x16020
movq 0x338(%rsp), %rdi
addq $0x108, %rdi            # imm = 0x108
movq %rdi, 0x2b0(%rsp)
callq 0x16050
movq 0x338(%rsp), %rdi
addq $0x130, %rdi            # imm = 0x130
movq %rdi, 0x2b8(%rsp)
callq 0xab30
movq 0x338(%rsp), %rdi
addq $0x170, %rdi            # imm = 0x170
movq %rdi, 0x2c0(%rsp)
callq 0xab30
movq 0x338(%rsp), %rdi
addq $0x198, %rdi            # imm = 0x198
movq %rdi, 0x2c8(%rsp)
callq 0xab30
movq 0x338(%rsp), %rdi
addq $0x1b8, %rdi            # imm = 0x1B8
movq %rdi, 0x2d0(%rsp)
callq 0xa5d0
movq 0x338(%rsp), %rdi
addq $0x1d0, %rdi            # imm = 0x1D0
movq %rdi, 0x2d8(%rsp)
callq 0xa5d0
movq 0x338(%rsp), %rdi
addq $0x1e8, %rdi            # imm = 0x1E8
movq %rdi, 0x2e0(%rsp)
callq 0xa5d0
movq 0x338(%rsp), %rdi
addq $0x200, %rdi            # imm = 0x200
movq %rdi, 0x2e8(%rsp)
callq 0xa5d0
movq 0x338(%rsp), %rdi
addq $0x218, %rdi            # imm = 0x218
movq %rdi, 0x2f0(%rsp)
callq 0xa5d0
movq 0x338(%rsp), %rdi
addq $0x230, %rdi            # imm = 0x230
movq %rdi, 0x2f8(%rsp)
callq 0xa5d0
movq 0x338(%rsp), %rdi
addq $0x248, %rdi            # imm = 0x248
movq %rdi, 0x300(%rsp)
callq 0xa5d0
movq 0x338(%rsp), %rdi
addq $0x260, %rdi            # imm = 0x260
movq %rdi, 0x308(%rsp)
callq 0x16030
movq 0x338(%rsp), %rdi
addq $0x278, %rdi            # imm = 0x278
movq %rdi, 0x310(%rsp)
callq 0x16030
movq 0x338(%rsp), %rdi
addq $0x290, %rdi            # imm = 0x290
movq %rdi, 0x318(%rsp)
callq 0x16030
movq 0x338(%rsp), %rdi
addq $0x2a8, %rdi            # imm = 0x2A8
movq %rdi, 0x320(%rsp)
callq 0x16030
movq 0x338(%rsp), %rdi
addq $0x2c0, %rdi            # imm = 0x2C0
movq %rdi, 0x328(%rsp)
callq 0x16030
movq 0x338(%rsp), %rdi
addq $0x2d8, %rdi            # imm = 0x2D8
movq %rdi, 0x330(%rsp)
callq 0x16030
movq 0x338(%rsp), %rax
movq 0x340(%rsp), %rdi
movq 0x6f8(%rsp), %rcx
movb 0x2c3f(%rcx), %cl
andb $0x1, %cl
movb %cl, 0x80(%rax)
movl 0x6f4(%rsp), %ecx
movl %ecx, 0x18(%rax)
movq 0x6f8(%rsp), %rcx
movl 0x2bc8(%rcx), %ecx
movl 0x18(%rax), %edx
addl %edx, %ecx
movl %ecx, 0x1c(%rax)
movq 0x6f8(%rsp), %rcx
movl 0x2d18(%rcx), %ecx
movl %ecx, 0x20(%rax)
movq 0x6f8(%rsp), %rcx
movl 0x2d1c(%rcx), %ecx
movl %ecx, 0x24(%rax)
movq 0x6f8(%rsp), %rsi
addq $0x2d20, %rsi           # imm = 0x2D20
callq 0x16330
jmp 0x1c990
movq 0x270(%rsp), %rdi
movq 0x6f8(%rsp), %rsi
addq $0x2cd0, %rsi           # imm = 0x2CD0
addq $0x40, %rdi
callq 0x16330
jmp 0x1c9b2
movq 0x270(%rsp), %rdi
movq 0x6f8(%rsp), %rsi
addq $0x2d00, %rsi           # imm = 0x2D00
callq 0x16070
jmp 0x1c9d0
movq 0x270(%rsp), %rdi
movq 0x6f8(%rsp), %rax
movsd 0x2c50(%rax), %xmm0
movsd %xmm0, 0x70(%rdi)
movsd 0x6e0(%rsp), %xmm0
movsd %xmm0, 0x78(%rdi)
movq 0x6f8(%rsp), %rsi
addq $0x2c88, %rsi           # imm = 0x2C88
addq $0x58, %rdi
callq 0x165f0
jmp 0x1ca15
movq 0x270(%rsp), %rax
movl 0x6f0(%rsp), %ecx
movl %ecx, 0x84(%rax)
movl 0x6ec(%rsp), %ecx
movl %ecx, 0x88(%rax)
movl 0x6e8(%rsp), %ecx
movl %ecx, 0x8c(%rax)
movslq 0x20(%rax), %rax
movq %rax, 0x260(%rsp)
movl $0x1, 0x6b4(%rsp)
leaq 0x6b3(%rsp), %rdi
movq %rdi, 0x268(%rsp)
callq 0xc5e0
movq 0x260(%rsp), %rsi
movq 0x268(%rsp), %rcx
leaq 0x6b8(%rsp), %rdi
leaq 0x6b4(%rsp), %rdx
callq 0xc5f0
jmp 0x1ca97
movq 0x270(%rsp), %rdi
addq $0x90, %rdi
leaq 0x6b8(%rsp), %rsi
movq %rsi, 0x248(%rsp)
callq 0xc6a0
movq 0x248(%rsp), %rdi
callq 0xc6e0
leaq 0x6b3(%rsp), %rdi
callq 0xc670
movq 0x270(%rsp), %rax
movslq 0x1c(%rax), %rax
movq %rax, 0x250(%rsp)
leaq 0x697(%rsp), %rdi
movq %rdi, 0x258(%rsp)
callq 0x168b0
movq 0x250(%rsp), %rsi
movq 0x258(%rsp), %rdx
leaq 0x698(%rsp), %rdi
callq 0x168c0
jmp 0x1cb1d
movq 0x270(%rsp), %rdi
addq $0xa8, %rdi
leaq 0x698(%rsp), %rsi
movq %rsi, 0x230(%rsp)
callq 0x16940
movq 0x230(%rsp), %rdi
callq 0x16980
leaq 0x697(%rsp), %rdi
callq 0x169e0
movq 0x270(%rsp), %rax
movslq 0x1c(%rax), %rax
movq %rax, 0x238(%rsp)
leaq 0x677(%rsp), %rdi
movq %rdi, 0x240(%rsp)
callq 0x169f0
movq 0x238(%rsp), %rsi
movq 0x240(%rsp), %rdx
leaq 0x678(%rsp), %rdi
callq 0x16a00
jmp 0x1cba3
movq 0x270(%rsp), %rdi
addq $0xc0, %rdi
leaq 0x678(%rsp), %rsi
movq %rsi, 0x218(%rsp)
callq 0x16a80
movq 0x218(%rsp), %rdi
callq 0x16ac0
leaq 0x677(%rsp), %rdi
callq 0x16b20
movq 0x270(%rsp), %rax
movslq 0x1c(%rax), %rax
movq %rax, 0x220(%rsp)
leaq 0x657(%rsp), %rdi
movq %rdi, 0x228(%rsp)
callq 0x8920
movq 0x220(%rsp), %rsi
movq 0x228(%rsp), %rdx
leaq 0x658(%rsp), %rdi
callq 0x8930
jmp 0x1cc29
movq 0x270(%rsp), %rdi
addq $0xd8, %rdi
leaq 0x658(%rsp), %rsi
callq 0x89c0
leaq 0x658(%rsp), %rdi
callq 0x8a00
leaq 0x657(%rsp), %rdi
callq 0x89b0
movl $0x0, 0x650(%rsp)
movq 0x270(%rsp), %rcx
movl 0x650(%rsp), %eax
cmpl 0x1c(%rcx), %eax
jge 0x1d160
movq 0x270(%rsp), %rax
movslq 0x24(%rax), %rax
movq %rax, 0x208(%rsp)
leaq 0x637(%rsp), %rdi
movq %rdi, 0x210(%rsp)
callq 0x169f0
movq 0x208(%rsp), %rsi
movq 0x210(%rsp), %rdx
leaq 0x638(%rsp), %rdi
callq 0x16a00
jmp 0x1ccca
movq 0x270(%rsp), %rdi
addq $0xa8, %rdi
movslq 0x650(%rsp), %rsi
callq 0x8c40
movq %rax, %rdi
leaq 0x638(%rsp), %rsi
movq %rsi, 0x1f0(%rsp)
callq 0x16a80
movq 0x1f0(%rsp), %rdi
callq 0x16ac0
leaq 0x637(%rsp), %rdi
callq 0x16b20
movq 0x270(%rsp), %rax
movslq 0x24(%rax), %rax
movq %rax, 0x1f8(%rsp)
leaq 0x617(%rsp), %rdi
movq %rdi, 0x200(%rsp)
callq 0xc5e0
movq 0x1f8(%rsp), %rsi
movq 0x200(%rsp), %rdx
leaq 0x618(%rsp), %rdi
callq 0xc7b0
jmp 0x1cd60
movq 0x270(%rsp), %rdi
addq $0xc0, %rdi
movslq 0x650(%rsp), %rsi
callq 0x8c60
movq %rax, %rdi
leaq 0x618(%rsp), %rsi
movq %rsi, 0x1d8(%rsp)
callq 0xc6a0
movq 0x1d8(%rsp), %rdi
callq 0xc6e0
leaq 0x617(%rsp), %rdi
callq 0xc670
movq 0x270(%rsp), %rax
movslq 0x24(%rax), %rax
movq %rax, 0x1e0(%rsp)
leaq 0x5f7(%rsp), %rdi
movq %rdi, 0x1e8(%rsp)
callq 0x8810
movq 0x1e0(%rsp), %rsi
movq 0x1e8(%rsp), %rdx
leaq 0x5f8(%rsp), %rdi
callq 0x8a60
jmp 0x1cdf6
movq 0x270(%rsp), %rdi
addq $0xd8, %rdi
movslq 0x650(%rsp), %rsi
callq 0x8ae0
movq %rax, %rdi
leaq 0x5f8(%rsp), %rsi
callq 0x8b00
leaq 0x5f8(%rsp), %rdi
callq 0x8b40
leaq 0x5f7(%rsp), %rdi
callq 0x88a0
movl $0x0, 0x5f0(%rsp)
movq 0x270(%rsp), %rcx
movl 0x5f0(%rsp), %eax
cmpl 0x24(%rcx), %eax
jge 0x1d148
movq 0x270(%rsp), %rdi
addq $0x28, %rdi
movslq 0x5f0(%rsp), %rsi
callq 0x8ba0
movslq (%rax), %rax
movq %rax, 0x1c8(%rsp)
leaq 0x5d7(%rsp), %rdi
movq %rdi, 0x1d0(%rsp)
callq 0xc5e0
movq 0x1c8(%rsp), %rsi
movq 0x1d0(%rsp), %rdx
leaq 0x5d8(%rsp), %rdi
callq 0xc7b0
jmp 0x1ceb7
movq 0x270(%rsp), %rdi
addq $0xa8, %rdi
movslq 0x650(%rsp), %rsi
callq 0x8c40
movq %rax, %rdi
movslq 0x5f0(%rsp), %rsi
callq 0x8c60
movq %rax, %rdi
leaq 0x5d8(%rsp), %rsi
movq %rsi, 0x1b0(%rsp)
callq 0xc6a0
movq 0x1b0(%rsp), %rdi
callq 0xc6e0
leaq 0x5d7(%rsp), %rdi
callq 0xc670
movq 0x270(%rsp), %rdi
addq $0x28, %rdi
movslq 0x5f0(%rsp), %rsi
callq 0x8ba0
movslq (%rax), %rax
movq %rax, 0x1b8(%rsp)
leaq 0x5b7(%rsp), %rdi
movq %rdi, 0x1c0(%rsp)
callq 0x8780
movq 0x1b8(%rsp), %rsi
movq 0x1c0(%rsp), %rdx
leaq 0x5b8(%rsp), %rdi
callq 0x8790
jmp 0x1cf6d
movq 0x270(%rsp), %rdi
addq $0xd8, %rdi
movslq 0x650(%rsp), %rsi
callq 0x8ae0
movq %rax, %rdi
movslq 0x5f0(%rsp), %rsi
callq 0x8bc0
movq %rax, %rdi
leaq 0x5b8(%rsp), %rsi
callq 0x8be0
leaq 0x5b8(%rsp), %rdi
callq 0x88b0
leaq 0x5b7(%rsp), %rdi
callq 0x8910
movl 0x5f0(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x5f0(%rsp)
jmp 0x1ce47
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
jmp 0x1de7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
leaq 0x6b3(%rsp), %rdi
callq 0xc670
jmp 0x1de7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
leaq 0x697(%rsp), %rdi
callq 0x169e0
jmp 0x1de7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
leaq 0x677(%rsp), %rdi
callq 0x16b20
jmp 0x1de7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
leaq 0x657(%rsp), %rdi
callq 0x89b0
jmp 0x1de7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
leaq 0x637(%rsp), %rdi
callq 0x16b20
jmp 0x1de7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
leaq 0x617(%rsp), %rdi
callq 0xc670
jmp 0x1de7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
leaq 0x5f7(%rsp), %rdi
callq 0x88a0
jmp 0x1de7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
leaq 0x5d7(%rsp), %rdi
callq 0xc670
jmp 0x1de7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
leaq 0x5b7(%rsp), %rdi
callq 0x8910
jmp 0x1de7b
jmp 0x1d14a
movl 0x650(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x650(%rsp)
jmp 0x1cc6a
movq 0x270(%rsp), %rax
movslq 0x1c(%rax), %rax
movq %rax, 0x1a0(%rsp)
leaq 0x597(%rsp), %rdi
movq %rdi, 0x1a8(%rsp)
callq 0x8780
movq 0x1a0(%rsp), %rsi
movq 0x1a8(%rsp), %rdx
leaq 0x598(%rsp), %rdi
callq 0x8790
jmp 0x1d1a8
movq 0x270(%rsp), %rdi
addq $0x170, %rdi            # imm = 0x170
leaq 0x598(%rsp), %rsi
movq %rsi, 0x188(%rsp)
callq 0x8be0
movq 0x188(%rsp), %rdi
callq 0x88b0
leaq 0x597(%rsp), %rdi
callq 0x8910
movq 0x270(%rsp), %rax
movq $0x0, 0x188(%rax)
movq $0x0, 0x190(%rax)
movslq 0x1c(%rax), %rax
movq %rax, 0x190(%rsp)
leaq 0x577(%rsp), %rdi
movq %rdi, 0x198(%rsp)
callq 0x8780
movq 0x190(%rsp), %rsi
movq 0x198(%rsp), %rdx
leaq 0x578(%rsp), %rdi
callq 0x8790
jmp 0x1d244
movq 0x270(%rsp), %rdi
addq $0x198, %rdi            # imm = 0x198
leaq 0x578(%rsp), %rsi
movq %rsi, 0x168(%rsp)
callq 0x8be0
movq 0x168(%rsp), %rdi
callq 0x88b0
leaq 0x577(%rsp), %rdi
callq 0x8910
movq 0x270(%rsp), %rax
movq $0x0, 0x1b0(%rax)
movslq 0x20(%rax), %rcx
movq %rcx, 0x170(%rsp)
movslq 0x1c(%rax), %rax
movq %rax, 0x178(%rsp)
leaq 0x53f(%rsp), %rdi
movq %rdi, 0x180(%rsp)
callq 0x8780
movq 0x178(%rsp), %rsi
movq 0x180(%rsp), %rdx
leaq 0x540(%rsp), %rdi
callq 0x8790
jmp 0x1d2e1
leaq 0x53e(%rsp), %rdi
movq %rdi, 0x160(%rsp)
callq 0x8810
movq 0x170(%rsp), %rsi
movq 0x160(%rsp), %rcx
leaq 0x558(%rsp), %rdi
leaq 0x540(%rsp), %rdx
callq 0x8820
jmp 0x1d31d
movq 0x270(%rsp), %rdi
addq $0x1b8, %rdi            # imm = 0x1B8
leaq 0x558(%rsp), %rsi
movq %rsi, 0x140(%rsp)
callq 0x8b00
movq 0x140(%rsp), %rdi
callq 0x8b40
leaq 0x53e(%rsp), %rdi
callq 0x88a0
leaq 0x540(%rsp), %rdi
callq 0x88b0
leaq 0x53f(%rsp), %rdi
callq 0x8910
movq 0x270(%rsp), %rax
movslq 0x20(%rax), %rcx
movq %rcx, 0x148(%rsp)
movslq 0x1c(%rax), %rax
movq %rax, 0x150(%rsp)
leaq 0x507(%rsp), %rdi
movq %rdi, 0x158(%rsp)
callq 0x8780
movq 0x150(%rsp), %rsi
movq 0x158(%rsp), %rdx
leaq 0x508(%rsp), %rdi
callq 0x8790
jmp 0x1d3c9
leaq 0x506(%rsp), %rdi
movq %rdi, 0x138(%rsp)
callq 0x8810
movq 0x148(%rsp), %rsi
movq 0x138(%rsp), %rcx
leaq 0x520(%rsp), %rdi
leaq 0x508(%rsp), %rdx
callq 0x8820
jmp 0x1d405
movq 0x270(%rsp), %rdi
addq $0x1d0, %rdi            # imm = 0x1D0
leaq 0x520(%rsp), %rsi
movq %rsi, 0x118(%rsp)
callq 0x8b00
movq 0x118(%rsp), %rdi
callq 0x8b40
leaq 0x506(%rsp), %rdi
callq 0x88a0
leaq 0x508(%rsp), %rdi
callq 0x88b0
leaq 0x507(%rsp), %rdi
callq 0x8910
movq 0x270(%rsp), %rax
movslq 0x20(%rax), %rcx
movq %rcx, 0x120(%rsp)
movslq 0x1c(%rax), %rax
movq %rax, 0x128(%rsp)
leaq 0x4cf(%rsp), %rdi
movq %rdi, 0x130(%rsp)
callq 0x8780
movq 0x128(%rsp), %rsi
movq 0x130(%rsp), %rdx
leaq 0x4d0(%rsp), %rdi
callq 0x8790
jmp 0x1d4b1
leaq 0x4ce(%rsp), %rdi
movq %rdi, 0x110(%rsp)
callq 0x8810
movq 0x120(%rsp), %rsi
movq 0x110(%rsp), %rcx
leaq 0x4e8(%rsp), %rdi
leaq 0x4d0(%rsp), %rdx
callq 0x8820
jmp 0x1d4ed
movq 0x270(%rsp), %rdi
addq $0x1e8, %rdi            # imm = 0x1E8
leaq 0x4e8(%rsp), %rsi
movq %rsi, 0xf0(%rsp)
callq 0x8b00
movq 0xf0(%rsp), %rdi
callq 0x8b40
leaq 0x4ce(%rsp), %rdi
callq 0x88a0
leaq 0x4d0(%rsp), %rdi
callq 0x88b0
leaq 0x4cf(%rsp), %rdi
callq 0x8910
movq 0x270(%rsp), %rax
movslq 0x20(%rax), %rcx
movq %rcx, 0xf8(%rsp)
movslq 0x1c(%rax), %rax
movq %rax, 0x100(%rsp)
leaq 0x497(%rsp), %rdi
movq %rdi, 0x108(%rsp)
callq 0x8780
movq 0x100(%rsp), %rsi
movq 0x108(%rsp), %rdx
leaq 0x498(%rsp), %rdi
callq 0x8790
jmp 0x1d599
leaq 0x496(%rsp), %rdi
movq %rdi, 0xe8(%rsp)
callq 0x8810
movq 0xf8(%rsp), %rsi
movq 0xe8(%rsp), %rcx
leaq 0x4b0(%rsp), %rdi
leaq 0x498(%rsp), %rdx
callq 0x8820
jmp 0x1d5d5
movq 0x270(%rsp), %rdi
addq $0x200, %rdi            # imm = 0x200
leaq 0x4b0(%rsp), %rsi
movq %rsi, 0xc8(%rsp)
callq 0x8b00
movq 0xc8(%rsp), %rdi
callq 0x8b40
leaq 0x496(%rsp), %rdi
callq 0x88a0
leaq 0x498(%rsp), %rdi
callq 0x88b0
leaq 0x497(%rsp), %rdi
callq 0x8910
movq 0x270(%rsp), %rax
movslq 0x20(%rax), %rcx
movq %rcx, 0xd0(%rsp)
movslq 0x1c(%rax), %rax
movq %rax, 0xd8(%rsp)
leaq 0x45f(%rsp), %rdi
movq %rdi, 0xe0(%rsp)
callq 0x8780
movq 0xd8(%rsp), %rsi
movq 0xe0(%rsp), %rdx
leaq 0x460(%rsp), %rdi
callq 0x8790
jmp 0x1d681
leaq 0x45e(%rsp), %rdi
movq %rdi, 0xc0(%rsp)
callq 0x8810
movq 0xd0(%rsp), %rsi
movq 0xc0(%rsp), %rcx
leaq 0x478(%rsp), %rdi
leaq 0x460(%rsp), %rdx
callq 0x8820
jmp 0x1d6bd
movq 0x270(%rsp), %rdi
addq $0x218, %rdi            # imm = 0x218
leaq 0x478(%rsp), %rsi
movq %rsi, 0xa0(%rsp)
callq 0x8b00
movq 0xa0(%rsp), %rdi
callq 0x8b40
leaq 0x45e(%rsp), %rdi
callq 0x88a0
leaq 0x460(%rsp), %rdi
callq 0x88b0
leaq 0x45f(%rsp), %rdi
callq 0x8910
movq 0x270(%rsp), %rdi
addq $0x58, %rdi
callq 0x16bb0
movq %rax, %rcx
movq 0x270(%rsp), %rax
movq %rcx, 0xa8(%rsp)
movslq 0x1c(%rax), %rax
movq %rax, 0xb0(%rsp)
leaq 0x427(%rsp), %rdi
movq %rdi, 0xb8(%rsp)
callq 0x8780
movq 0xb0(%rsp), %rsi
movq 0xb8(%rsp), %rdx
leaq 0x428(%rsp), %rdi
callq 0x8790
jmp 0x1d779
leaq 0x426(%rsp), %rdi
movq %rdi, 0x98(%rsp)
callq 0x8810
movq 0xa8(%rsp), %rsi
movq 0x98(%rsp), %rcx
leaq 0x440(%rsp), %rdi
leaq 0x428(%rsp), %rdx
callq 0x8820
jmp 0x1d7b5
movq 0x270(%rsp), %rdi
addq $0x230, %rdi            # imm = 0x230
leaq 0x440(%rsp), %rsi
movq %rsi, 0x80(%rsp)
callq 0x8b00
movq 0x80(%rsp), %rdi
callq 0x8b40
leaq 0x426(%rsp), %rdi
callq 0x88a0
leaq 0x428(%rsp), %rdi
callq 0x88b0
leaq 0x427(%rsp), %rdi
callq 0x8910
movq 0x270(%rsp), %rax
movslq 0x1c(%rax), %rax
movq %rax, 0x88(%rsp)
leaq 0x3ef(%rsp), %rdi
movq %rdi, 0x90(%rsp)
callq 0x8780
movq 0x88(%rsp), %rsi
movq 0x90(%rsp), %rdx
leaq 0x3f0(%rsp), %rdi
callq 0x8790
jmp 0x1d855
leaq 0x3ee(%rsp), %rdi
movq %rdi, 0x78(%rsp)
callq 0x8810
movq 0x88(%rsp), %rsi
movq 0x78(%rsp), %rcx
leaq 0x408(%rsp), %rdi
leaq 0x3f0(%rsp), %rdx
callq 0x8820
jmp 0x1d88b
movq 0x270(%rsp), %rdi
addq $0x248, %rdi            # imm = 0x248
leaq 0x408(%rsp), %rsi
movq %rsi, 0x60(%rsp)
callq 0x8b00
movq 0x60(%rsp), %rdi
callq 0x8b40
leaq 0x3ee(%rsp), %rdi
callq 0x88a0
leaq 0x3f0(%rsp), %rdi
callq 0x88b0
leaq 0x3ef(%rsp), %rdi
callq 0x8910
movq 0x270(%rsp), %rax
movslq 0x1c(%rax), %rax
movq %rax, 0x68(%rsp)
leaq 0x3cf(%rsp), %rdi
movq %rdi, 0x70(%rsp)
callq 0xc5e0
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
leaq 0x3d0(%rsp), %rdi
callq 0xc7b0
jmp 0x1d919
movq 0x270(%rsp), %rdi
addq $0x278, %rdi            # imm = 0x278
leaq 0x3d0(%rsp), %rsi
movq %rsi, 0x48(%rsp)
callq 0xc6a0
movq 0x48(%rsp), %rdi
callq 0xc6e0
leaq 0x3cf(%rsp), %rdi
callq 0xc670
movq 0x270(%rsp), %rax
movslq 0x1c(%rax), %rax
movq %rax, 0x50(%rsp)
leaq 0x3af(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0xc5e0
movq 0x50(%rsp), %rsi
movq 0x58(%rsp), %rdx
leaq 0x3b0(%rsp), %rdi
callq 0xc7b0
jmp 0x1d98d
movq 0x270(%rsp), %rdi
addq $0x290, %rdi            # imm = 0x290
leaq 0x3b0(%rsp), %rsi
movq %rsi, 0x30(%rsp)
callq 0xc6a0
movq 0x30(%rsp), %rdi
callq 0xc6e0
leaq 0x3af(%rsp), %rdi
callq 0xc670
movq 0x270(%rsp), %rax
movslq 0x1c(%rax), %rax
movq %rax, 0x38(%rsp)
leaq 0x38f(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0xc5e0
movq 0x38(%rsp), %rsi
movq 0x40(%rsp), %rdx
leaq 0x390(%rsp), %rdi
callq 0xc7b0
jmp 0x1da01
movq 0x270(%rsp), %rdi
addq $0x2a8, %rdi            # imm = 0x2A8
leaq 0x390(%rsp), %rsi
movq %rsi, 0x18(%rsp)
callq 0xc6a0
movq 0x18(%rsp), %rdi
callq 0xc6e0
leaq 0x38f(%rsp), %rdi
callq 0xc670
movq 0x270(%rsp), %rax
movslq 0x1c(%rax), %rax
movq %rax, 0x20(%rsp)
leaq 0x36f(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0xc5e0
movq 0x20(%rsp), %rsi
movq 0x28(%rsp), %rdx
leaq 0x370(%rsp), %rdi
callq 0xc7b0
jmp 0x1da75
movq 0x270(%rsp), %rdi
addq $0x2c0, %rdi            # imm = 0x2C0
leaq 0x370(%rsp), %rsi
movq %rsi, (%rsp)
callq 0xc6a0
movq (%rsp), %rdi
callq 0xc6e0
leaq 0x36f(%rsp), %rdi
callq 0xc670
movq 0x270(%rsp), %rax
movslq 0x1c(%rax), %rax
movq %rax, 0x8(%rsp)
leaq 0x34f(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0xc5e0
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
leaq 0x350(%rsp), %rdi
callq 0xc7b0
jmp 0x1dae7
movq 0x270(%rsp), %rdi
addq $0x2d8, %rdi            # imm = 0x2D8
leaq 0x350(%rsp), %rsi
callq 0xc6a0
leaq 0x350(%rsp), %rdi
callq 0xc6e0
leaq 0x34f(%rsp), %rdi
callq 0xc670
addq $0x708, %rsp            # imm = 0x708
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
leaq 0x597(%rsp), %rdi
callq 0x8910
jmp 0x1de7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
leaq 0x577(%rsp), %rdi
callq 0x8910
jmp 0x1de7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
jmp 0x1dbb5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
leaq 0x53e(%rsp), %rdi
callq 0x88a0
leaq 0x540(%rsp), %rdi
callq 0x88b0
leaq 0x53f(%rsp), %rdi
callq 0x8910
jmp 0x1de7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
jmp 0x1dc0b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
leaq 0x506(%rsp), %rdi
callq 0x88a0
leaq 0x508(%rsp), %rdi
callq 0x88b0
leaq 0x507(%rsp), %rdi
callq 0x8910
jmp 0x1de7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
jmp 0x1dc61
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
leaq 0x4ce(%rsp), %rdi
callq 0x88a0
leaq 0x4d0(%rsp), %rdi
callq 0x88b0
leaq 0x4cf(%rsp), %rdi
callq 0x8910
jmp 0x1de7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
jmp 0x1dcb7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
leaq 0x496(%rsp), %rdi
callq 0x88a0
leaq 0x498(%rsp), %rdi
callq 0x88b0
leaq 0x497(%rsp), %rdi
callq 0x8910
jmp 0x1de7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
jmp 0x1dd0d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
leaq 0x45e(%rsp), %rdi
callq 0x88a0
leaq 0x460(%rsp), %rdi
callq 0x88b0
leaq 0x45f(%rsp), %rdi
callq 0x8910
jmp 0x1de7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
jmp 0x1dd63
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
leaq 0x426(%rsp), %rdi
callq 0x88a0
leaq 0x428(%rsp), %rdi
callq 0x88b0
leaq 0x427(%rsp), %rdi
callq 0x8910
jmp 0x1de7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
jmp 0x1ddb9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
leaq 0x3ee(%rsp), %rdi
callq 0x88a0
leaq 0x3f0(%rsp), %rdi
callq 0x88b0
leaq 0x3ef(%rsp), %rdi
callq 0x8910
jmp 0x1de7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
leaq 0x3cf(%rsp), %rdi
callq 0xc670
jmp 0x1de7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
leaq 0x3af(%rsp), %rdi
callq 0xc670
jmp 0x1de7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
leaq 0x38f(%rsp), %rdi
callq 0xc670
jmp 0x1de7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
leaq 0x36f(%rsp), %rdi
callq 0xc670
jmp 0x1de7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6d8(%rsp)
movl %eax, 0x6d4(%rsp)
leaq 0x34f(%rsp), %rdi
callq 0xc670
movq 0x330(%rsp), %rdi
callq 0xc6e0
movq 0x328(%rsp), %rdi
callq 0xc6e0
movq 0x320(%rsp), %rdi
callq 0xc6e0
movq 0x318(%rsp), %rdi
callq 0xc6e0
movq 0x310(%rsp), %rdi
callq 0xc6e0
movq 0x308(%rsp), %rdi
callq 0xc6e0
movq 0x300(%rsp), %rdi
callq 0x8b40
movq 0x2f8(%rsp), %rdi
callq 0x8b40
movq 0x2f0(%rsp), %rdi
callq 0x8b40
movq 0x2e8(%rsp), %rdi
callq 0x8b40
movq 0x2e0(%rsp), %rdi
callq 0x8b40
movq 0x2d8(%rsp), %rdi
callq 0x8b40
movq 0x2d0(%rsp), %rdi
callq 0x8b40
movq 0x2c8(%rsp), %rdi
callq 0x88b0
movq 0x2c0(%rsp), %rdi
callq 0x88b0
movq 0x2b8(%rsp), %rdi
callq 0x88b0
movq 0x2b0(%rsp), %rdi
callq 0x16ac0
movq 0x2a8(%rsp), %rdi
callq 0x16980
movq 0x2a0(%rsp), %rdi
callq 0x8a00
movq 0x298(%rsp), %rdi
callq 0x16ac0
movq 0x290(%rsp), %rdi
callq 0x16980
movq 0x288(%rsp), %rdi
callq 0xc6e0
movq 0x280(%rsp), %rdi
callq 0x16bd0
movq 0x278(%rsp), %rdi
callq 0xc6e0
movq 0x340(%rsp), %rdi
callq 0xc6e0
movq 0x338(%rsp), %rdi
callq 0x16980
movq 0x6d8(%rsp), %rdi
callq 0x4730
nopw (%rax,%rax)