// File: /workspace/github_c_makefile_star2_O0/zpole[P]IICV/vl/covdet.c
// Function: vl_refine_local_extreum_3
VL_EXPORT vl_bool
vl_refine_local_extreum_3 (VlCovDetExtremum3 * refined,
                           float const * map,
                           vl_size width, vl_size height, vl_size depth,
                           vl_index x, vl_index y, vl_index z)
{
  vl_size const xo = 1 ;
  vl_size const yo = width ;
  vl_size const zo = width * height ;

  double Dx=0,Dy=0,Dz=0,Dxx=0,Dyy=0,Dzz=0,Dxy=0,Dxz=0,Dyz=0 ;
  double A [3*3], b [3] ;

#define at(dx,dy,dz) (*(pt + (dx)*xo + (dy)*yo + (dz)*zo))
#define Aat(i,j) (A[(i)+(j)*3])

  float const * pt ;
  vl_index dx = 0 ;
  vl_index dy = 0 ;
  /*vl_index dz = 0 ;*/
  vl_index iter ;
  int err ;

  assert (map) ;
  assert (1 <= x && x <= (signed)width - 2) ;
  assert (1 <= y && y <= (signed)height - 2) ;
  assert (1 <= z && z <= (signed)depth - 2) ;

  for (iter = 0 ; iter < 5 ; ++iter) {
    x += dx ;
    y += dy ;
    pt = map + x*xo + y*yo + z*zo ;

    /* compute the gradient */
    Dx = 0.5 * (at(+1,0,0) - at(-1,0,0)) ;
    Dy = 0.5 * (at(0,+1,0) - at(0,-1,0));
    Dz = 0.5 * (at(0,0,+1) - at(0,0,-1)) ;

    /* compute the Hessian */
    Dxx = (at(+1,0,0) + at(-1,0,0) - 2.0 * at(0,0,0)) ;
    Dyy = (at(0,+1,0) + at(0,-1,0) - 2.0 * at(0,0,0)) ;
    Dzz = (at(0,0,+1) + at(0,0,-1) - 2.0 * at(0,0,0)) ;

    Dxy = 0.25 * (at(+1,+1,0) + at(-1,-1,0) - at(-1,+1,0) - at(+1,-1,0)) ;
    Dxz = 0.25 * (at(+1,0,+1) + at(-1,0,-1) - at(-1,0,+1) - at(+1,0,-1)) ;
    Dyz = 0.25 * (at(0,+1,+1) + at(0,-1,-1) - at(0,-1,+1) - at(0,+1,-1)) ;

    /* solve linear system */
    Aat(0,0) = Dxx ;
    Aat(1,1) = Dyy ;
    Aat(2,2) = Dzz ;
    Aat(0,1) = Aat(1,0) = Dxy ;
    Aat(0,2) = Aat(2,0) = Dxz ;
    Aat(1,2) = Aat(2,1) = Dyz ;

    b[0] = - Dx ;
    b[1] = - Dy ;
    b[2] = - Dz ;

    err = vl_solve_linear_system_3(b, A, b) ;

    if (err != VL_ERR_OK) {
      b[0] = 0 ;
      b[1] = 0 ;
      b[2] = 0 ;
      break ;
    }

    /* Keep going if there is sufficient translation */

    dx = (b[0] > 0.6 && x < (signed)width - 2 ?  1 : 0)
    + (b[0] < -0.6 && x > 1 ? -1 : 0) ;

    dy = (b[1] > 0.6 && y < (signed)height - 2 ?  1 : 0)
    + (b[1] < -0.6 && y > 1 ? -1 : 0) ;

    if (dx == 0 && dy == 0) break ;
  }

  /* check threshold and other conditions */
  {
    double peakScore = at(0,0,0)
    + 0.5 * (Dx * b[0] + Dy * b[1] + Dz * b[2]) ;
    double alpha = (Dxx+Dyy)*(Dxx+Dyy) / (Dxx*Dyy - Dxy*Dxy) ;
    double edgeScore ;

    if (alpha < 0) {
      /* not an extremum */
      edgeScore = VL_INFINITY_D ;
    } else {
      edgeScore = (0.5*alpha - 1) + sqrt(VL_MAX(0.25*alpha - 1,0)*alpha) ;
    }

    refined->xi = x ;
    refined->yi = y ;
    refined->zi = z ;
    refined->x = x + b[0] ;
    refined->y = y + b[1] ;
    refined->z = z + b[2] ;
    refined->peakScore = peakScore ;
    refined->edgeScore = edgeScore ;

    return
    err == VL_ERR_OK &&
    vl_abs_d(b[0]) < 1.5 &&
    vl_abs_d(b[1]) < 1.5 &&
    vl_abs_d(b[2]) < 1.5 &&
    0 <= refined->x && refined->x <= (signed)width - 1 &&
    0 <= refined->y && refined->y <= (signed)height - 1 &&
    0 <= refined->z && refined->z <= (signed)depth - 1 ;
  }
#undef Aat
#undef at
}

// Assembly:
subq $0x168, %rsp            # imm = 0x168
movq 0x178(%rsp), %rax
movq 0x170(%rsp), %rax
movq %rdi, 0x160(%rsp)
movq %rsi, 0x158(%rsp)
movq %rdx, 0x150(%rsp)
movq %rcx, 0x148(%rsp)
movq %r8, 0x140(%rsp)
movq %r9, 0x138(%rsp)
movq $0x1, 0x130(%rsp)
movq 0x150(%rsp), %rax
movq %rax, 0x128(%rsp)
movq 0x150(%rsp), %rax
imulq 0x148(%rsp), %rax
movq %rax, 0x120(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x118(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x110(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x108(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x100(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0xf8(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0xf0(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0xe8(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0xe0(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0xd8(%rsp)
movq $0x0, 0x60(%rsp)
movq $0x0, 0x58(%rsp)
movq $0x0, 0x50(%rsp)
cmpq $0x5, 0x50(%rsp)
jge 0xc961
movq 0x60(%rsp), %rax
addq 0x138(%rsp), %rax
movq %rax, 0x138(%rsp)
movq 0x58(%rsp), %rax
addq 0x170(%rsp), %rax
movq %rax, 0x170(%rsp)
movq 0x158(%rsp), %rax
movq 0x138(%rsp), %rcx
shlq $0x0, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq 0x170(%rsp), %rcx
imulq 0x128(%rsp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq 0x178(%rsp), %rcx
imulq 0x120(%rsp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, 0x68(%rsp)
movq 0x68(%rsp), %rax
addq $0x4, %rax
imulq $0x0, 0x128(%rsp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
imulq $0x0, 0x120(%rsp), %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x68(%rsp), %rax
addq $-0x4, %rax
imulq $0x0, 0x128(%rsp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
imulq $0x0, 0x120(%rsp), %rcx
subss (%rax,%rcx,4), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0x4ce3d(%rip), %xmm0    # 0x59080
mulsd %xmm1, %xmm0
movsd %xmm0, 0x118(%rsp)
movq 0x68(%rsp), %rax
movq 0x128(%rsp), %rcx
shlq $0x0, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
imulq $0x0, 0x120(%rsp), %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x68(%rsp), %rax
imulq $-0x1, 0x128(%rsp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
imulq $0x0, 0x120(%rsp), %rcx
subss (%rax,%rcx,4), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0x4cddb(%rip), %xmm0    # 0x59080
mulsd %xmm1, %xmm0
movsd %xmm0, 0x110(%rsp)
movq 0x68(%rsp), %rax
imulq $0x0, 0x128(%rsp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq 0x120(%rsp), %rcx
shlq $0x0, %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x68(%rsp), %rax
imulq $0x0, 0x128(%rsp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
imulq $-0x1, 0x120(%rsp), %rcx
subss (%rax,%rcx,4), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0x4cd79(%rip), %xmm0    # 0x59080
mulsd %xmm1, %xmm0
movsd %xmm0, 0x108(%rsp)
movq 0x68(%rsp), %rax
addq $0x4, %rax
imulq $0x0, 0x128(%rsp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
imulq $0x0, 0x120(%rsp), %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x68(%rsp), %rax
addq $-0x4, %rax
imulq $0x0, 0x128(%rsp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
imulq $0x0, 0x120(%rsp), %rcx
addss (%rax,%rcx,4), %xmm0
cvtss2sd %xmm0, %xmm0
movq 0x68(%rsp), %rax
imulq $0x0, 0x128(%rsp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
imulq $0x0, 0x120(%rsp), %rcx
movss (%rax,%rcx,4), %xmm1
cvtss2sd %xmm1, %xmm1
addsd %xmm1, %xmm1
subsd %xmm1, %xmm0
movsd %xmm0, 0x100(%rsp)
movq 0x68(%rsp), %rax
movq 0x128(%rsp), %rcx
shlq $0x0, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
imulq $0x0, 0x120(%rsp), %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x68(%rsp), %rax
imulq $-0x1, 0x128(%rsp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
imulq $0x0, 0x120(%rsp), %rcx
addss (%rax,%rcx,4), %xmm0
cvtss2sd %xmm0, %xmm0
movq 0x68(%rsp), %rax
imulq $0x0, 0x128(%rsp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
imulq $0x0, 0x120(%rsp), %rcx
movss (%rax,%rcx,4), %xmm1
cvtss2sd %xmm1, %xmm1
addsd %xmm1, %xmm1
subsd %xmm1, %xmm0
movsd %xmm0, 0xf8(%rsp)
movq 0x68(%rsp), %rax
imulq $0x0, 0x128(%rsp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq 0x120(%rsp), %rcx
shlq $0x0, %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x68(%rsp), %rax
imulq $0x0, 0x128(%rsp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
imulq $-0x1, 0x120(%rsp), %rcx
addss (%rax,%rcx,4), %xmm0
cvtss2sd %xmm0, %xmm0
movq 0x68(%rsp), %rax
imulq $0x0, 0x128(%rsp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
imulq $0x0, 0x120(%rsp), %rcx
movss (%rax,%rcx,4), %xmm1
cvtss2sd %xmm1, %xmm1
addsd %xmm1, %xmm1
subsd %xmm1, %xmm0
movsd %xmm0, 0xf0(%rsp)
movq 0x68(%rsp), %rax
addq $0x4, %rax
movq 0x128(%rsp), %rcx
shlq $0x0, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
imulq $0x0, 0x120(%rsp), %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x68(%rsp), %rax
addq $-0x4, %rax
imulq $-0x1, 0x128(%rsp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
imulq $0x0, 0x120(%rsp), %rcx
addss (%rax,%rcx,4), %xmm0
movq 0x68(%rsp), %rax
addq $-0x4, %rax
movq 0x128(%rsp), %rcx
shlq $0x0, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
imulq $0x0, 0x120(%rsp), %rcx
subss (%rax,%rcx,4), %xmm0
movq 0x68(%rsp), %rax
addq $0x4, %rax
imulq $-0x1, 0x128(%rsp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
imulq $0x0, 0x120(%rsp), %rcx
subss (%rax,%rcx,4), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0x4cb22(%rip), %xmm0    # 0x59078
mulsd %xmm1, %xmm0
movsd %xmm0, 0xe8(%rsp)
movq 0x68(%rsp), %rax
addq $0x4, %rax
imulq $0x0, 0x128(%rsp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq 0x120(%rsp), %rcx
shlq $0x0, %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x68(%rsp), %rax
addq $-0x4, %rax
imulq $0x0, 0x128(%rsp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
imulq $-0x1, 0x120(%rsp), %rcx
addss (%rax,%rcx,4), %xmm0
movq 0x68(%rsp), %rax
addq $-0x4, %rax
imulq $0x0, 0x128(%rsp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq 0x120(%rsp), %rcx
shlq $0x0, %rcx
subss (%rax,%rcx,4), %xmm0
movq 0x68(%rsp), %rax
addq $0x4, %rax
imulq $0x0, 0x128(%rsp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
imulq $-0x1, 0x120(%rsp), %rcx
subss (%rax,%rcx,4), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0x4ca67(%rip), %xmm0    # 0x59078
mulsd %xmm1, %xmm0
movsd %xmm0, 0xe0(%rsp)
movq 0x68(%rsp), %rax
movq 0x128(%rsp), %rcx
shlq $0x0, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq 0x120(%rsp), %rcx
shlq $0x0, %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x68(%rsp), %rax
imulq $-0x1, 0x128(%rsp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
imulq $-0x1, 0x120(%rsp), %rcx
addss (%rax,%rcx,4), %xmm0
movq 0x68(%rsp), %rax
imulq $-0x1, 0x128(%rsp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq 0x120(%rsp), %rcx
shlq $0x0, %rcx
subss (%rax,%rcx,4), %xmm0
movq 0x68(%rsp), %rax
movq 0x128(%rsp), %rcx
shlq $0x0, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
imulq $-0x1, 0x120(%rsp), %rcx
subss (%rax,%rcx,4), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0x4c9b6(%rip), %xmm0    # 0x59078
mulsd %xmm1, %xmm0
movsd %xmm0, 0xd8(%rsp)
movsd 0x100(%rsp), %xmm0
movsd %xmm0, 0x90(%rsp)
movsd 0xf8(%rsp), %xmm0
movsd %xmm0, 0xb0(%rsp)
movsd 0xf0(%rsp), %xmm0
movsd %xmm0, 0xd0(%rsp)
movsd 0xe8(%rsp), %xmm0
movsd %xmm0, 0x98(%rsp)
movsd %xmm0, 0xa8(%rsp)
movsd 0xe0(%rsp), %xmm0
movsd %xmm0, 0xa0(%rsp)
movsd %xmm0, 0xc0(%rsp)
movsd 0xd8(%rsp), %xmm0
movsd %xmm0, 0xb8(%rsp)
movsd %xmm0, 0xc8(%rsp)
movsd 0x118(%rsp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd %xmm0, 0x70(%rsp)
movsd 0x110(%rsp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd %xmm0, 0x78(%rsp)
movsd 0x108(%rsp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd %xmm0, 0x80(%rsp)
leaq 0x70(%rsp), %rdi
leaq 0x90(%rsp), %rsi
leaq 0x70(%rsp), %rdx
callq 0x94a0
movl %eax, 0x4c(%rsp)
cmpl $0x0, 0x4c(%rsp)
je 0xc810
xorps %xmm0, %xmm0
movsd %xmm0, 0x70(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x78(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x80(%rsp)
jmp 0xc961
movsd 0x70(%rsp), %xmm0
xorl %eax, %eax
movsd 0x4c868(%rip), %xmm1    # 0x59088
ucomisd %xmm1, %xmm0
movb %al, 0x2f(%rsp)
jbe 0xc84a
movq 0x138(%rsp), %rax
movq 0x150(%rsp), %rcx
subl $0x2, %ecx
movslq %ecx, %rcx
cmpq %rcx, %rax
setl %al
movb %al, 0x2f(%rsp)
movb 0x2f(%rsp), %dl
xorl %eax, %eax
movl $0x1, %ecx
testb $0x1, %dl
cmovnel %ecx, %eax
movl %eax, 0x28(%rsp)
xorl %eax, %eax
movsd 0x4c827(%rip), %xmm0    # 0x59090
ucomisd 0x70(%rsp), %xmm0
movb %al, 0x2e(%rsp)
jbe 0xc885
cmpq $0x1, 0x138(%rsp)
setg %al
movb %al, 0x2e(%rsp)
movl 0x28(%rsp), %eax
movb 0x2e(%rsp), %sil
xorl %ecx, %ecx
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
testb $0x1, %sil
cmovnel %edx, %ecx
addl %ecx, %eax
cltq
movq %rax, 0x60(%rsp)
movsd 0x78(%rsp), %xmm0
xorl %eax, %eax
movsd 0x4c7d3(%rip), %xmm1    # 0x59088
ucomisd %xmm1, %xmm0
movb %al, 0x27(%rsp)
jbe 0xc8df
movq 0x170(%rsp), %rax
movq 0x148(%rsp), %rcx
subl $0x2, %ecx
movslq %ecx, %rcx
cmpq %rcx, %rax
setl %al
movb %al, 0x27(%rsp)
movb 0x27(%rsp), %dl
xorl %eax, %eax
movl $0x1, %ecx
testb $0x1, %dl
cmovnel %ecx, %eax
movl %eax, 0x20(%rsp)
xorl %eax, %eax
movsd 0x4c792(%rip), %xmm0    # 0x59090
ucomisd 0x78(%rsp), %xmm0
movb %al, 0x26(%rsp)
jbe 0xc91a
cmpq $0x1, 0x170(%rsp)
setg %al
movb %al, 0x26(%rsp)
movl 0x20(%rsp), %eax
movb 0x26(%rsp), %sil
xorl %ecx, %ecx
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
testb $0x1, %sil
cmovnel %edx, %ecx
addl %ecx, %eax
cltq
movq %rax, 0x58(%rsp)
cmpq $0x0, 0x60(%rsp)
jne 0xc94c
cmpq $0x0, 0x58(%rsp)
jne 0xc94c
jmp 0xc961
jmp 0xc94e
movq 0x50(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x50(%rsp)
jmp 0xc163
movq 0x68(%rsp), %rax
imulq $0x0, 0x128(%rsp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
imulq $0x0, 0x120(%rsp), %rcx
movss (%rax,%rcx,4), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0x118(%rsp), %xmm2
movsd 0x70(%rsp), %xmm3
movsd 0x110(%rsp), %xmm0
mulsd 0x78(%rsp), %xmm0
mulsd %xmm3, %xmm2
addsd %xmm0, %xmm2
movsd 0x108(%rsp), %xmm0
movsd 0x80(%rsp), %xmm3
mulsd %xmm3, %xmm0
addsd %xmm2, %xmm0
movsd 0x4c6b0(%rip), %xmm2    # 0x59080
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x40(%rsp)
movsd 0x100(%rsp), %xmm0
addsd 0xf8(%rsp), %xmm0
movsd 0x100(%rsp), %xmm1
addsd 0xf8(%rsp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x100(%rsp), %xmm1
movsd 0xf8(%rsp), %xmm3
movsd 0xe8(%rsp), %xmm2
mulsd 0xe8(%rsp), %xmm2
movq %xmm2, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm2
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0x38(%rsp)
xorps %xmm0, %xmm0
ucomisd 0x38(%rsp), %xmm0
jbe 0xca71
movsd 0x4c73a(%rip), %xmm0    # 0x591a0
movsd %xmm0, 0x30(%rsp)
jmp 0xcb11
movsd 0x38(%rsp), %xmm0
movsd 0x4c601(%rip), %xmm1    # 0x59080
mulsd %xmm1, %xmm0
movsd 0x4c60d(%rip), %xmm1    # 0x59098
addsd %xmm1, %xmm0
movsd %xmm0, 0x18(%rsp)
movsd 0x38(%rsp), %xmm0
movsd 0x4c5d5(%rip), %xmm1    # 0x59078
mulsd %xmm1, %xmm0
movsd 0x4c5e9(%rip), %xmm1    # 0x59098
addsd %xmm1, %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jbe 0xcae2
movsd 0x38(%rsp), %xmm0
movsd 0x4c5ae(%rip), %xmm1    # 0x59078
mulsd %xmm1, %xmm0
movsd 0x4c5c2(%rip), %xmm1    # 0x59098
addsd %xmm1, %xmm0
movsd %xmm0, 0x10(%rsp)
jmp 0xcaed
xorps %xmm0, %xmm0
movsd %xmm0, 0x10(%rsp)
jmp 0xcaed
movsd 0x10(%rsp), %xmm0
mulsd 0x38(%rsp), %xmm0
callq 0x9b20
movaps %xmm0, %xmm1
movsd 0x18(%rsp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x30(%rsp)
movq 0x138(%rsp), %rcx
movq 0x160(%rsp), %rax
movq %rcx, (%rax)
movq 0x170(%rsp), %rcx
movq 0x160(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x178(%rsp), %rcx
movq 0x160(%rsp), %rax
movq %rcx, 0x10(%rax)
cvtsi2sdq 0x138(%rsp), %xmm0
addsd 0x70(%rsp), %xmm0
cvtsd2ss %xmm0, %xmm0
movq 0x160(%rsp), %rax
movss %xmm0, 0x18(%rax)
cvtsi2sdq 0x170(%rsp), %xmm0
addsd 0x78(%rsp), %xmm0
cvtsd2ss %xmm0, %xmm0
movq 0x160(%rsp), %rax
movss %xmm0, 0x1c(%rax)
cvtsi2sdq 0x178(%rsp), %xmm0
addsd 0x80(%rsp), %xmm0
cvtsd2ss %xmm0, %xmm0
movq 0x160(%rsp), %rax
movss %xmm0, 0x20(%rax)
movsd 0x40(%rsp), %xmm0
cvtsd2ss %xmm0, %xmm0
movq 0x160(%rsp), %rax
movss %xmm0, 0x24(%rax)
movsd 0x30(%rsp), %xmm0
cvtsd2ss %xmm0, %xmm0
movq 0x160(%rsp), %rax
movss %xmm0, 0x28(%rax)
xorl %eax, %eax
cmpl $0x0, 0x4c(%rsp)
movb %al, 0xf(%rsp)
jne 0xcd33
movsd 0x70(%rsp), %xmm0
callq 0xcd50
movaps %xmm0, %xmm1
xorl %eax, %eax
movsd 0x4c497(%rip), %xmm0    # 0x590a0
ucomisd %xmm1, %xmm0
movb %al, 0xf(%rsp)
jbe 0xcd33
movsd 0x78(%rsp), %xmm0
callq 0xcd50
movaps %xmm0, %xmm1
xorl %eax, %eax
movsd 0x4c471(%rip), %xmm0    # 0x590a0
ucomisd %xmm1, %xmm0
movb %al, 0xf(%rsp)
jbe 0xcd33
movsd 0x80(%rsp), %xmm0
callq 0xcd50
movaps %xmm0, %xmm1
xorl %eax, %eax
movsd 0x4c448(%rip), %xmm0    # 0x590a0
ucomisd %xmm1, %xmm0
movb %al, 0xf(%rsp)
jbe 0xcd33
movq 0x160(%rsp), %rax
movss 0x18(%rax), %xmm0
xorl %eax, %eax
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
movb %al, 0xf(%rsp)
jb 0xcd33
movq 0x160(%rsp), %rax
movss 0x18(%rax), %xmm1
movq 0x150(%rsp), %rax
subl $0x1, %eax
cvtsi2ss %eax, %xmm0
xorl %eax, %eax
ucomiss %xmm1, %xmm0
movb %al, 0xf(%rsp)
jb 0xcd33
movq 0x160(%rsp), %rax
movss 0x1c(%rax), %xmm0
xorl %eax, %eax
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
movb %al, 0xf(%rsp)
jb 0xcd33
movq 0x160(%rsp), %rax
movss 0x1c(%rax), %xmm1
movq 0x148(%rsp), %rax
subl $0x1, %eax
cvtsi2ss %eax, %xmm0
xorl %eax, %eax
ucomiss %xmm1, %xmm0
movb %al, 0xf(%rsp)
jb 0xcd33
movq 0x160(%rsp), %rax
movss 0x20(%rax), %xmm0
xorl %eax, %eax
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
movb %al, 0xf(%rsp)
jb 0xcd33
movq 0x160(%rsp), %rax
movss 0x20(%rax), %xmm1
movq 0x140(%rsp), %rax
subl $0x1, %eax
cvtsi2ss %eax, %xmm0
ucomiss %xmm1, %xmm0
setae %al
movb %al, 0xf(%rsp)
movb 0xf(%rsp), %al
andb $0x1, %al
movzbl %al, %eax
addq $0x168, %rsp            # imm = 0x168
retq
nopw %cs:(%rax,%rax)