// File: /workspace/github_cpp_makefile_star2_O1/chrislarson1[P]MVEE/src/mvee.cpp
// Function: mvee::Mvee::khachiyan(Eigen::Matrix<double, -1, -1, 0, -1, -1>&, double, double)
void Mvee::khachiyan(MatrixXd& data, double eps, double lmcoeff)
{
    // Khachiyan's algorithm
    auto t0 = chrono::system_clock::now();    
    iters = 0; 
    long double err = INFINITY; 
    double alpha;
    int n = data.rows();
    int d = data.cols();
    MatrixXd X = data.transpose();
    MatrixXd Q(X.rows() + 1, X.cols());
    Q.row(0) = X.row(0);
    Q.row(1) = X.row(1);
    Q.row(2).setOnes();
    VectorXd u = (1 / (double) n) * VectorXd::Ones(n);
    VectorXd uhat = u;
    MatrixXd G(d + 1, d + 1);
    MatrixXd noiseye = MatrixXd::Identity(G.rows(), G.cols()) * lmcoeff;
    VectorXd g(n);
    double m; int i;
    while (err > eps)
    {
        G = Q * u.asDiagonal() * Q.transpose() + noiseye;
        g = (Q.transpose() * G.inverse() * Q).diagonal();
        m = g.maxCoeff();
        i = findIdx(g, m);
        alpha = (m - d - 1) / ((d + 1) * (m - 1));
        uhat = (1 - alpha) * u;
        uhat(i) += alpha;
        err = (uhat - u).norm();
        u = uhat;
        iters++;
    }
    time = chrono::duration<double>(
        chrono::system_clock::now() - t0
    ).count();
    
    // Decompose US^2U^T
    MatrixXd E = (1 / (double) d) * (
        X * u.asDiagonal() * X.transpose()
        - (X * u) * (X * u).transpose()
    ).inverse();
    VectorXd x = X * u;
    VectorXd s(d);
    MatrixXd V(d, d);
    MatrixXd U(d, d);
    decompose(E, s, U, V);

    // Cache result
    _centroid = toStdVec(x, [](double z) { return z; });
    _radii    = toStdVec(s, [](double z) { return 1 / sqrt(z); });
    _pose     = toStdMat(V, [](double z) { return z; });
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1f8, %rsp            # imm = 0x1F8
movsd %xmm1, 0x80(%rsp)
movsd %xmm0, 0xb8(%rsp)
movq %rsi, %rbx
movq %rdi, %r14
callq 0x120d0
movq %rax, %r13
xorl %r15d, %r15d
movq %r14, 0x78(%rsp)
movq %r15, 0x50(%r14)
movq 0x8(%rbx), %r14
movq 0x10(%rbx), %r12
leaq 0xd0(%rsp), %rsi
movq %rbx, (%rsi)
leaq 0x88(%rsp), %rbx
movq %rbx, %rdi
callq 0x12fb0
movq 0x8(%rbx), %rsi
movq 0x10(%rbx), %rcx
leaq 0x1(%rsi), %r8
xorpd %xmm0, %xmm0
movapd %xmm0, 0x50(%rsp)
movq %r15, 0x60(%rsp)
movq %rcx, %rax
orq %r8, %rax
js 0x14c81
movq %r13, 0x198(%rsp)
testq %r8, %r8
sete %al
testq %rcx, %rcx
sete %dl
orb %al, %dl
jne 0x13e57
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
xorl %edx, %edx
idivq %rcx
cmpq %rsi, %rax
jle 0x14d67
movq %rcx, %rsi
imulq %r8, %rsi
leaq 0x50(%rsp), %r13
movq %r13, %rdi
movq %r8, %rdx
callq 0x12180
movq 0x88(%rsp), %rax
movq 0x98(%rsp), %rcx
movq %rax, 0xd0(%rsp)
movq %rcx, 0xe0(%rsp)
testq %rax, %rax
sete %al
testq %rcx, %rcx
setns %cl
orb %al, %cl
je 0x14c43
movq %rbx, 0xe8(%rsp)
xorpd %xmm0, %xmm0
movupd %xmm0, 0xf0(%rsp)
movq $0x1, 0x100(%rsp)
cmpq $0x0, 0x90(%rsp)
jle 0x14c62
movq 0x50(%rsp), %rax
movq 0x60(%rsp), %rcx
movq %rax, 0x138(%rsp)
movq %rcx, 0x148(%rsp)
testq %rax, %rax
sete %al
testq %rcx, %rcx
setns %cl
orb %al, %cl
je 0x14c43
movq %r13, 0x150(%rsp)
movupd %xmm0, 0x158(%rsp)
movq $0x1, 0x168(%rsp)
cmpq $0x0, 0x58(%rsp)
jle 0x14c62
leaq 0x138(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
callq 0x12290
movq 0x88(%rsp), %rax
movq 0x98(%rsp), %rcx
leaq 0x8(%rax), %rdx
movq %rdx, 0xd0(%rsp)
movq %rcx, 0xe0(%rsp)
testq %rax, %rax
sete %al
testq %rcx, %rcx
setns %cl
orb %al, %cl
je 0x14c43
movq %rbx, 0xe8(%rsp)
movl $0x1, %eax
movq %rax, 0xf0(%rsp)
movq $0x0, 0xf8(%rsp)
movq %rax, 0x100(%rsp)
cmpq %rax, 0x90(%rsp)
jle 0x14c62
movq 0x50(%rsp), %rax
movq 0x60(%rsp), %rcx
leaq 0x8(%rax), %rdx
movq %rdx, 0x138(%rsp)
movq %rcx, 0x148(%rsp)
testq %rax, %rax
sete %al
testq %rcx, %rcx
setns %cl
orb %al, %cl
je 0x14c43
movq %r13, 0x150(%rsp)
movl $0x1, %eax
movq %rax, 0x158(%rsp)
movq $0x0, 0x160(%rsp)
movq %rax, 0x168(%rsp)
cmpq %rax, 0x58(%rsp)
jle 0x14c62
leaq 0x138(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
callq 0x12290
movq 0x50(%rsp), %rax
movq 0x60(%rsp), %rcx
testq %rax, %rax
sete %dl
testq %rcx, %rcx
setns %sil
orb %dl, %sil
je 0x14c43
movq 0x58(%rsp), %rsi
cmpq $0x2, %rsi
jle 0x14c62
addq $0x10, %rax
testq %rcx, %rcx
js 0x14cb7
movabsq $0x3ff0000000000000, %rdx # imm = 0x3FF0000000000000
je 0x1407f
shlq $0x3, %rsi
movq %rdx, (%rax)
addq %rsi, %rax
decq %rcx
jne 0x14074
movslq %r14d, %rax
testq %rax, %rax
js 0x14cd1
cvtsi2sd %r14d, %xmm0
movsd 0x21f68(%rip), %xmm1    # 0x36000
divsd %xmm0, %xmm1
leaq 0xd0(%rsp), %rsi
movq %rax, 0x8(%rsi)
movsd %xmm1, 0x18(%rsi)
movq %rax, 0x20(%rsi)
movq %rdx, 0x30(%rsi)
leaq 0x10(%rsp), %rdi
callq 0x12db0
leaq 0x30(%rsp), %rdi
leaq 0x10(%rsp), %rbp
movq %rbp, %rsi
callq 0x13120
xorpd %xmm0, %xmm0
movapd %xmm0, 0xa0(%rsp)
movq $0x0, 0xb0(%rsp)
cmpl $-0x1, %r12d
jl 0x14c81
leal 0x1(%r12), %ebx
movslq %ebx, %rcx
testl %ecx, %ecx
je 0x14118
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
xorl %edx, %edx
idivq %rcx
cmpq %rcx, %rax
jl 0x14d39
movq %rcx, %rsi
imulq %rcx, %rsi
leaq 0xa0(%rsp), %r15
movq %r15, %rdi
movq %rcx, %rdx
callq 0x12180
movq 0xa8(%rsp), %rax
movq 0xb0(%rsp), %rcx
movq %rcx, %rdx
orq %rax, %rdx
js 0x14ceb
leaq 0xd0(%rsp), %rsi
movq %rax, 0x8(%rsi)
movq %rcx, 0x10(%rsi)
movq %rax, 0x20(%rsi)
movq %rcx, 0x28(%rsi)
movsd 0x80(%rsp), %xmm0
movsd %xmm0, 0x30(%rsi)
leaq 0x1a8(%rsp), %rdi
callq 0x12320
xorpd %xmm0, %xmm0
movapd %xmm0, 0x20(%rsp)
testl %r14d, %r14d
js 0x14c98
andl $0x7fffffff, %r14d      # imm = 0x7FFFFFFF
cmpq %r14, 0x28(%rsp)
je 0x141eb
movq 0x20(%rsp), %rdi
callq 0x12c50
testq %r14, %r14
je 0x141e2
leaq (,%r14,8), %rdi
callq 0x12da0
cmpq $0x1, %r14
setne %cl
testb $0xf, %al
setne %dl
testb %dl, %cl
jne 0x14b8a
testq %rax, %rax
je 0x14d95
movq %rax, 0x20(%rsp)
jmp 0x141eb
movq $0x0, 0x20(%rsp)
movsd 0xb8(%rsp), %xmm0
ucomisd 0x21e0c(%rip), %xmm0    # 0x36008
movq %r14, 0x28(%rsp)
movq %r12, 0x190(%rsp)
xorps %xmm0, %xmm0
cvtsi2sd %r12d, %xmm0
movsd %xmm0, 0x80(%rsp)
je 0x1461b
xorps %xmm0, %xmm0
cvtsi2sd %ebx, %xmm0
movsd %xmm0, 0x1a0(%rsp)
leaq 0xd0(%rsp), %r12
leaq 0x138(%rsp), %r14
leaq 0x20(%rsp), %rbx
movq 0x60(%rsp), %rax
cmpq 0x18(%rsp), %rax
jne 0x14a57
movq %r13, 0xd0(%rsp)
movq %rbp, 0xd8(%rsp)
movq %r13, 0xe0(%rsp)
leaq 0x1a8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0x58(%rsp), %rax
cmpq 0x1b0(%rsp), %rax
jne 0x14b1e
cmpq 0x1b8(%rsp), %rax
jne 0x14b1e
movq %r15, %rdi
movq %r12, %rsi
movq %r14, %rdx
callq 0x12df0
movq 0xa8(%rsp), %rax
movq 0xb0(%rsp), %rcx
cmpq %rcx, %rax
jne 0x14aff
movq 0x58(%rsp), %rdx
cmpq %rcx, %rdx
jne 0x14ae0
cmpq %rdx, %rax
jne 0x14ac9
movq %r13, 0xd0(%rsp)
movq %r15, 0xd8(%rsp)
movq %r13, 0xe0(%rsp)
cmpq $0x0, 0x60(%rsp)
js 0x14a71
movq %rbx, %rdi
movq %r12, %rsi
movq %r14, %rdx
callq 0x12120
cmpq $0x0, 0x28(%rsp)
jle 0x14aaf
movq 0x20(%rsp), %rax
movq %rax, 0xd0(%rsp)
movq %r12, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x12c90
movq 0x28(%rsp), %rcx
testq %rcx, %rcx
jle 0x14367
movq 0x20(%rsp), %rdx
xorl %eax, %eax
movsd (%rdx,%rax,8), %xmm1
ucomisd %xmm0, %xmm1
jne 0x14353
jnp 0x14362
incq %rax
cmpq %rax, %rcx
jne 0x14346
movq $-0x1, %rax
movslq %eax, %rbp
jmp 0x1436e
movq $-0x1, %rbp
movq 0x18(%rsp), %rbx
testq %rbx, %rbx
js 0x14a90
movq %r15, %r13
movq 0x10(%rsp), %r15
cmpq %rbx, 0x38(%rsp)
je 0x143f6
movsd %xmm0, 0x70(%rsp)
movq 0x30(%rsp), %rdi
callq 0x12c50
testq %rbx, %rbx
je 0x143e4
movabsq $0x1fffffffffffffff, %rax # imm = 0x1FFFFFFFFFFFFFFF
cmpq %rax, %rbx
ja 0x14bf6
leaq (,%rbx,8), %rdi
callq 0x12da0
cmpq $0x1, %rbx
setne %cl
testb $0xf, %al
setne %dl
testb %dl, %cl
jne 0x14b8a
testq %rax, %rax
movsd 0x70(%rsp), %xmm0
jne 0x143ec
jmp 0x14bf6
xorl %eax, %eax
movsd 0x70(%rsp), %xmm0
movq %rax, 0x30(%rsp)
movq %rbx, 0x38(%rsp)
movq 0x38(%rsp), %rax
cmpq %rbx, %rax
jne 0x14b54
movapd %xmm0, %xmm4
subsd 0x80(%rsp), %xmm4
movsd 0x21bf7(%rip), %xmm1    # 0x36010
addsd %xmm1, %xmm4
addsd %xmm1, %xmm0
mulsd 0x1a0(%rsp), %xmm0
divsd %xmm0, %xmm4
movsd 0x21bca(%rip), %xmm1    # 0x36000
subsd %xmm4, %xmm1
movq 0x30(%rsp), %rcx
movq %rax, %rdx
shrq $0x3f, %rdx
addq %rax, %rdx
andq $-0x2, %rdx
cmpq $0x2, %rax
jl 0x14475
movapd %xmm1, %xmm2
unpcklpd %xmm1, %xmm2            # xmm2 = xmm2[0],xmm1[0]
xorl %esi, %esi
movapd (%r15,%rsi,8), %xmm3
mulpd %xmm2, %xmm3
movapd %xmm3, (%rcx,%rsi,8)
addq $0x2, %rsi
cmpq %rdx, %rsi
jl 0x1445d
cmpq %rax, %rdx
jge 0x14491
movsd (%r15,%rdx,8), %xmm2
mulsd %xmm1, %xmm2
movsd %xmm2, (%rcx,%rdx,8)
incq %rdx
cmpq %rdx, %rax
jne 0x1447a
testq %rbp, %rbp
js 0x14a38
movq 0x38(%rsp), %rcx
cmpq %rbp, %rcx
jle 0x14a38
movq 0x30(%rsp), %rax
addsd (%rax,%rbp,8), %xmm4
movsd %xmm4, (%rax,%rbp,8)
cmpq 0x18(%rsp), %rcx
jne 0x14b35
leaq 0x30(%rsp), %rcx
movq %rcx, 0xd8(%rsp)
leaq 0x10(%rsp), %rbp
movq %rbp, 0xe0(%rsp)
cmpq $0x0, 0x18(%rsp)
je 0x14514
jle 0x14ba9
movq %rax, 0x148(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x150(%rsp)
movq %r14, %rdi
leaq 0x170(%rsp), %rsi
movq %r12, %rdx
callq 0x129f0
jmp 0x14518
xorpd %xmm0, %xmm0
movq 0x30(%rsp), %r15
movq 0x38(%rsp), %rbx
cmpq %rbx, 0x18(%rsp)
je 0x1459d
movsd %xmm0, 0x70(%rsp)
testq %rbx, %rbx
js 0x14c24
movq 0x10(%rsp), %rdi
callq 0x12c50
testq %rbx, %rbx
je 0x1458b
movabsq $0x1fffffffffffffff, %rax # imm = 0x1FFFFFFFFFFFFFFF
cmpq %rax, %rbx
ja 0x14bc8
leaq (,%rbx,8), %rdi
callq 0x12da0
cmpq $0x1, %rbx
setne %cl
testb $0xf, %al
setne %dl
testb %dl, %cl
jne 0x14b8a
testq %rax, %rax
movsd 0x70(%rsp), %xmm0
jne 0x14593
jmp 0x14bc8
xorl %eax, %eax
movsd 0x70(%rsp), %xmm0
movq %rax, 0x10(%rsp)
movq %rbx, 0x18(%rsp)
movq 0x18(%rsp), %rax
cmpq %rbx, %rax
jne 0x14b6b
movq 0x10(%rsp), %rcx
movq %rax, %rdx
shrq $0x3f, %rdx
addq %rax, %rdx
andq $-0x2, %rdx
cmpq $0x2, %rax
leaq 0x20(%rsp), %rbx
jl 0x145df
xorl %esi, %esi
movapd (%r15,%rsi,8), %xmm1
movapd %xmm1, (%rcx,%rsi,8)
addq $0x2, %rsi
cmpq %rdx, %rsi
jl 0x145cb
cmpq %rax, %rdx
jge 0x145f7
movsd (%r15,%rdx,8), %xmm1
movsd %xmm1, (%rcx,%rdx,8)
incq %rdx
cmpq %rdx, %rax
jne 0x145e4
movq 0x78(%rsp), %rax
incq 0x50(%rax)
sqrtsd %xmm0, %xmm0
ucomisd 0xb8(%rsp), %xmm0
movq %r13, %r15
leaq 0x50(%rsp), %r13
ja 0x14245
callq 0x120d0
subq 0x198(%rsp), %rax
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
divsd 0x219e0(%rip), %xmm0    # 0x36018
movq 0x78(%rsp), %rax
movsd %xmm0, 0x48(%rax)
movq 0x98(%rsp), %rax
cmpq 0x18(%rsp), %rax
jne 0x14a57
movq 0x90(%rsp), %rax
testq %rax, %rax
leaq 0x88(%rsp), %rbx
js 0x14d05
movsd 0x2198a(%rip), %xmm0    # 0x36000
divsd 0x80(%rsp), %xmm0
leaq 0xd0(%rsp), %rsi
movq %rax, 0x8(%rsi)
movq %rax, 0x10(%rsi)
movsd %xmm0, 0x18(%rsi)
movq %rbx, 0x20(%rsi)
movq %rbp, 0x28(%rsi)
movq %rbx, 0x30(%rsi)
movq %rbx, 0x38(%rsi)
movq %rbp, 0x40(%rsi)
movq %rbx, 0x48(%rsi)
movq %rbp, 0x50(%rsi)
leaq 0x138(%rsp), %rdi
callq 0x12110
movq 0x98(%rsp), %rax
cmpq 0x18(%rsp), %rax
movq 0x190(%rsp), %r14
jne 0x14d1f
leaq 0xd0(%rsp), %rsi
movq %rbx, (%rsi)
movq %rbp, 0x8(%rsi)
leaq 0xc0(%rsp), %rdi
callq 0x12ab0
xorpd %xmm0, %xmm0
movapd %xmm0, 0x40(%rsp)
testl %r14d, %r14d
js 0x14c98
movl %r14d, %ebx
andl $0x7fffffff, %ebx       # imm = 0x7FFFFFFF
cmpq %rbx, 0x48(%rsp)
je 0x14760
movq 0x40(%rsp), %rdi
callq 0x12c50
testq %rbx, %rbx
je 0x14757
leaq (,%rbx,8), %rdi
callq 0x12da0
cmpq $0x1, %rbx
setne %cl
testb $0xf, %al
setne %dl
testb %dl, %cl
jne 0x14b8a
testq %rax, %rax
je 0x14dc3
movq %rax, 0x40(%rsp)
jmp 0x14760
movq $0x0, 0x40(%rsp)
movq %rbx, 0x48(%rsp)
xorpd %xmm0, %xmm0
leaq 0x170(%rsp), %rdi
movapd %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
andl $0x7fffffff, %r14d      # imm = 0x7FFFFFFF
movq %r14, %rbx
imulq %r14, %rbx
movq %rbx, %rsi
movq %r14, %rdx
movq %r14, %rcx
callq 0x12180
leaq 0x1c0(%rsp), %rdi
xorpd %xmm0, %xmm0
movapd %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
movq %rbx, %rsi
movq %r14, %rdx
movq %r14, %rcx
callq 0x12180
leaq 0x138(%rsp), %rsi
leaq 0x40(%rsp), %rdx
leaq 0x1c0(%rsp), %rcx
leaq 0x170(%rsp), %r8
callq 0x128c0
movq 0xc8(%rsp), %rsi
leaq 0x1e0(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0xd0(%rsp), %rdi
leaq 0xf(%rsp), %rcx
callq 0x13160
movq 0xc8(%rsp), %rax
testq %rax, %rax
jle 0x1483b
movq 0xc0(%rsp), %rcx
movq 0xd0(%rsp), %rdx
xorl %esi, %esi
movsd (%rcx,%rsi,8), %xmm0
movsd %xmm0, (%rdx,%rsi,8)
incq %rsi
cmpq %rsi, %rax
jne 0x14829
leaq 0xd0(%rsp), %rbx
movq 0x78(%rsp), %rdi
movq %rbx, %rsi
callq 0x12160
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x14868
movq 0xe0(%rsp), %rsi
subq %rdi, %rsi
callq 0x12a90
movq 0x48(%rsp), %rsi
leaq 0x1e0(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0xd0(%rsp), %rdi
leaq 0xf(%rsp), %rcx
callq 0x13160
cmpq $0x0, 0x48(%rsp)
jle 0x148de
xorl %ebx, %ebx
xorpd %xmm2, %xmm2
movq 0x40(%rsp), %rax
movsd (%rax,%rbx,8), %xmm0
ucomisd %xmm2, %xmm0
jb 0x148b2
sqrtsd %xmm0, %xmm0
jmp 0x148bb
callq 0x12830
xorpd %xmm2, %xmm2
movsd 0x2173d(%rip), %xmm1    # 0x36000
divsd %xmm0, %xmm1
movq 0xd0(%rsp), %rax
movsd %xmm1, (%rax,%rbx,8)
incq %rbx
cmpq %rbx, 0x48(%rsp)
jg 0x1489c
movq 0x78(%rsp), %rax
leaq 0x18(%rax), %rdi
leaq 0xd0(%rsp), %rbx
movq %rbx, %rsi
callq 0x12160
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x1490f
movq 0xe0(%rsp), %rsi
subq %rdi, %rsi
callq 0x12a90
leaq 0x8a2(%rip), %rdx       # 0x151b8
leaq 0x1e0(%rsp), %rdi
leaq 0x170(%rsp), %rsi
callq 0x13310
xorpd %xmm0, %xmm0
leaq 0xd0(%rsp), %rdi
movapd %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
movq 0x78(%rsp), %rdx
movq 0x30(%rdx), %rax
movups 0x38(%rdx), %xmm0
leaq 0x1e0(%rsp), %rbx
movq (%rbx), %rcx
movq %rcx, 0x30(%rdx)
movq 0x8(%rbx), %rcx
movq %rcx, 0x38(%rdx)
movq 0x10(%rbx), %rcx
movq %rcx, 0x40(%rdx)
movq (%rdi), %rcx
movq 0x8(%rdi), %rdx
movq 0x10(%rdi), %rsi
movq %rax, (%rdi)
movups %xmm0, 0x8(%rdi)
movq %rcx, (%rbx)
movq %rdx, 0x8(%rbx)
movq %rsi, 0x10(%rbx)
callq 0x12310
movq %rbx, %rdi
callq 0x12310
movq 0x1c0(%rsp), %rdi
callq 0x12c50
movq 0x170(%rsp), %rdi
callq 0x12c50
movq 0x40(%rsp), %rdi
callq 0x12c50
movq 0xc0(%rsp), %rdi
callq 0x12c50
movq 0x138(%rsp), %rdi
callq 0x12c50
movq 0x20(%rsp), %rdi
callq 0x12c50
movq 0x1a8(%rsp), %rdi
callq 0x12c50
movq 0xa0(%rsp), %rdi
callq 0x12c50
movq 0x30(%rsp), %rdi
callq 0x12c50
movq 0x10(%rsp), %rdi
callq 0x12c50
movq 0x50(%rsp), %rdi
callq 0x12c50
movq 0x88(%rsp), %rdi
callq 0x12c50
addq $0x1f8, %rsp            # imm = 0x1F8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x21891(%rip), %rdi     # 0x362d0
leaq 0x218a7(%rip), %rsi     # 0x362ed
leaq 0x218d5(%rip), %rcx     # 0x36322
movl $0x1ab, %edx            # imm = 0x1AB
callq 0x126c0
leaq 0x24131(%rip), %rdi     # 0x38b8f
leaq 0x241b6(%rip), %rsi     # 0x38c1b
leaq 0x2ce88(%rip), %rcx     # 0x418f4
jmp 0x14af5
leaq 0x263cf(%rip), %rdi     # 0x3ae47
leaq 0x26402(%rip), %rsi     # 0x3ae81
leaq 0x2fed4(%rip), %rcx     # 0x4495a
movl $0x4b, %edx
callq 0x126c0
leaq 0x2233c(%rip), %rdi     # 0x36dd3
leaq 0x223ca(%rip), %rsi     # 0x36e68
leaq 0x23b1f(%rip), %rcx     # 0x385c4
movl $0x4a, %edx
callq 0x126c0
leaq 0x2214a(%rip), %rdi     # 0x36c00
leaq 0x22187(%rip), %rsi     # 0x36c44
leaq 0x36f9e(%rip), %rcx     # 0x4ba62
jmp 0x14bbe
leaq 0x240bf(%rip), %rdi     # 0x38b8f
leaq 0x24144(%rip), %rsi     # 0x38c1b
leaq 0x2fd13(%rip), %rcx     # 0x447f1
jmp 0x14af5
leaq 0x240a8(%rip), %rdi     # 0x38b8f
leaq 0x2412d(%rip), %rsi     # 0x38c1b
leaq 0x2fbf1(%rip), %rcx     # 0x446e6
movl $0x62, %edx
callq 0x126c0
leaq 0x2fb1d(%rip), %rdi     # 0x44623
leaq 0x2fb27(%rip), %rsi     # 0x44634
leaq 0x2fb4f(%rip), %rcx     # 0x44663
movl $0x15f, %edx            # imm = 0x15F
callq 0x126c0
leaq 0x2247c(%rip), %rdi     # 0x36fa1
leaq 0x224ae(%rip), %rsi     # 0x36fda
leaq 0x2cec5(%rip), %rcx     # 0x419f8
jmp 0x14b4a
leaq 0x22465(%rip), %rdi     # 0x36fa1
leaq 0x22497(%rip), %rsi     # 0x36fda
leaq 0x3717f(%rip), %rcx     # 0x4bcc9
movl $0x74, %edx
callq 0x126c0
leaq 0x224b2(%rip), %rdi     # 0x3700d
leaq 0x224da(%rip), %rsi     # 0x3703c
leaq 0x36fca(%rip), %rcx     # 0x4bb33
jmp 0x14b80
leaq 0x2249b(%rip), %rdi     # 0x3700d
leaq 0x224c3(%rip), %rsi     # 0x3703c
leaq 0x2c173(%rip), %rcx     # 0x40cf3
movl $0x2fd, %edx            # imm = 0x2FD
callq 0x126c0
leaq 0x21b4d(%rip), %rdi     # 0x366de
leaq 0x21c01(%rip), %rsi     # 0x36799
leaq 0x21c2b(%rip), %rcx     # 0x367ca
movl $0xb9, %edx
callq 0x126c0
leaq 0x22050(%rip), %rdi     # 0x36c00
leaq 0x2208d(%rip), %rsi     # 0x36c44
leaq 0x37261(%rip), %rcx     # 0x4be1f
movl $0x19b, %edx            # imm = 0x19B
callq 0x126c0
movl $0x8, %edi
callq 0x12510
movq 0x443df(%rip), %rcx     # 0x58fb8
addq $0x10, %rcx
movq %rcx, (%rax)
movq 0x443e9(%rip), %rsi     # 0x58fd0
movq 0x443ba(%rip), %rdx     # 0x58fa8
movq %rax, %rdi
callq 0x13170
movl $0x8, %edi
callq 0x12510
movq 0x443b1(%rip), %rcx     # 0x58fb8
addq $0x10, %rcx
movq %rcx, (%rax)
movq 0x443bb(%rip), %rsi     # 0x58fd0
movq 0x4438c(%rip), %rdx     # 0x58fa8
movq %rax, %rdi
callq 0x13170
leaq 0x21874(%rip), %rdi     # 0x3649f
leaq 0x219fc(%rip), %rsi     # 0x3662e
leaq 0x2c19a(%rip), %rcx     # 0x40dd3
movl $0x115, %edx            # imm = 0x115
callq 0x126c0
leaq 0x22dfb(%rip), %rdi     # 0x37a45
leaq 0x22e9e(%rip), %rsi     # 0x37aef
leaq 0x2c6a9(%rip), %rcx     # 0x41301
movl $0xb2, %edx
callq 0x126c0
leaq 0x242f0(%rip), %rdi     # 0x38f59
leaq 0x22c63(%rip), %rsi     # 0x378d3
leaq 0x2c5e5(%rip), %rcx     # 0x4125c
movl $0x7a, %edx
callq 0x126c0
leaq 0x21817(%rip), %rdi     # 0x3649f
leaq 0x2199f(%rip), %rsi     # 0x3662e
leaq 0x219cd(%rip), %rcx     # 0x36663
jmp 0x14c39
leaq 0x21d05(%rip), %rdi     # 0x369a4
leaq 0x21988(%rip), %rsi     # 0x3662e
leaq 0x21d81(%rip), %rcx     # 0x36a2e
movl $0x130, %edx            # imm = 0x130
callq 0x126c0
leaq 0x22115(%rip), %rdi     # 0x36dd3
leaq 0x221a3(%rip), %rsi     # 0x36e68
leaq 0x24196(%rip), %rcx     # 0x38e62
jmp 0x14aa5
leaq 0x220fb(%rip), %rdi     # 0x36dd3
leaq 0x22189(%rip), %rsi     # 0x36e68
leaq 0x2364c(%rip), %rcx     # 0x38332
jmp 0x14aa5
leaq 0x220e1(%rip), %rdi     # 0x36dd3
leaq 0x2216f(%rip), %rsi     # 0x36e68
leaq 0x2c91e(%rip), %rcx     # 0x4161e
jmp 0x14aa5
leaq 0x220c7(%rip), %rdi     # 0x36dd3
leaq 0x22155(%rip), %rsi     # 0x36e68
leaq 0x37401(%rip), %rcx     # 0x4c11b
jmp 0x14aa5
leaq 0x23e69(%rip), %rdi     # 0x38b8f
leaq 0x23eee(%rip), %rsi     # 0x38c1b
leaq 0x37322(%rip), %rcx     # 0x4c056
jmp 0x14af5
movl $0x8, %edi
callq 0x12510
movq 0x4426e(%rip), %rcx     # 0x58fb8
addq $0x10, %rcx
movq %rcx, (%rax)
movq 0x44278(%rip), %rsi     # 0x58fd0
movq 0x44249(%rip), %rdx     # 0x58fa8
movq %rax, %rdi
callq 0x13170
movl $0x8, %edi
callq 0x12510
movq 0x44240(%rip), %rcx     # 0x58fb8
addq $0x10, %rcx
movq %rcx, (%rax)
movq 0x4424a(%rip), %rsi     # 0x58fd0
movq 0x4421b(%rip), %rdx     # 0x58fa8
movq %rax, %rdi
callq 0x13170
movl $0x8, %edi
callq 0x12510
movq 0x44212(%rip), %rcx     # 0x58fb8
addq $0x10, %rcx
movq %rcx, (%rax)
movq 0x4421c(%rip), %rsi     # 0x58fd0
movq 0x441ed(%rip), %rdx     # 0x58fa8
movq %rax, %rdi
callq 0x13170
movl $0x8, %edi
callq 0x12510
movq 0x441e4(%rip), %rcx     # 0x58fb8
addq $0x10, %rcx
movq %rcx, (%rax)
movq 0x441ee(%rip), %rsi     # 0x58fd0
movq 0x441bf(%rip), %rdx     # 0x58fa8
movq %rax, %rdi
callq 0x13170
movq %rax, %rbx
jmp 0x14e1d
jmp 0x14e70
jmp 0x14e00
jmp 0x14e00
jmp 0x14e00
jmp 0x14e00
movq %rax, %rbx
movq 0x1c0(%rsp), %rdi
callq 0x12c50
movq 0x170(%rsp), %rdi
callq 0x12c50
movq 0x40(%rsp), %rdi
callq 0x12c50
movq 0xc0(%rsp), %rdi
callq 0x12c50
movq 0x138(%rsp), %rdi
callq 0x12c50
jmp 0x14e73
movq %rax, %rbx
jmp 0x14e10
movq %rax, %rbx
jmp 0x14e34
jmp 0x14e70
jmp 0x14e61
movq %rax, %rbx
jmp 0x14ea1
jmp 0x14e5c
jmp 0x14e5c
jmp 0x14e5c
movq %rax, %rbx
jmp 0x14eab
movq %rax, %rbx
jmp 0x14e8a
jmp 0x14e70
jmp 0x14e70
jmp 0x14e70
jmp 0x14e70
jmp 0x14e70
movq %rax, %rbx
movq 0x20(%rsp), %rdi
callq 0x12c50
movq 0x1a8(%rsp), %rdi
callq 0x12c50
movq 0xa0(%rsp), %rdi
callq 0x12c50
movq 0x30(%rsp), %rdi
callq 0x12c50
movq 0x10(%rsp), %rdi
callq 0x12c50
movq 0x50(%rsp), %rdi
callq 0x12c50
movq 0x88(%rsp), %rdi
callq 0x12c50
movq %rbx, %rdi
callq 0x13210