// File: /workspace/github_c_makefile_star2_O0/jrrk[P]cbzone/c_move.c
// Function: movecopter
void movecopter(g, pl)
     Genericp g;
     Genericp pl;
{
  float dx, dy, tazm, t1, t2, t3, cp, sp, dcp, dsp, cm, sm;
  float xmt, ymt, xpt, ypt, rate, temp, dist;
  int i;
  Genericp s;

  g->pcount++;
  if (!(pl->attr & IS_ALIVE)) {
    g->pcount = 0;
    g->attr &= ~CAN_SHOOT;
  }

  if (g->attr & IS_NEW) {
    g->pcount = 10;
    g->ecount = 0;
    g->attr |= CAN_SHOOT;
    g->attr &= ~IS_NEW;
    if (frand() > 0.5)
      g->orientation = PI / 2.0;
    else
      g->orientation = -PI / 2.0;
  }

  s = g->salvo;
  if (g->ecount < 150 && g->range > 400.0)
    if (!(s->attr & STILL_THERE))
      g->z -= 5.0;
    else
      g->z += 5.0;
  else
    g->z += 5.0;

  if (g->z <= 40.0)
    g->z = 40.0;
  if (g->z > 150.0)
    g->z = 150.0;
  if (g->attr & IS_BLOCKED && g->z < 90.0) {
    g->z = 90.0;
    g->attr &= ~IS_BLOCKED;
  }

  g->speed = 20.0;
  if (g->pcount >= 10) {
    g->pcount = 0;
    if (g->range > 400.0 && g->ecount < 150) {
      dx = pl->x - g->x;
      dy = pl->y - g->y;
      if (fabs(dy) < 1.e-7)
        dy = sign(1.e-7, dy);
      if (dy <= 0.0)
        tazm = - atan(dx / dy) + ra (180.0);
      else
        tazm = - atan(dx / dy);
      if (g->azm > PI2)
        g->azm -= PI2;
      if (g->azm < 0.0)
        g->azm += PI2;
      t1 = (tazm - g->azm) / 10.0;
      t3 = (tazm - (g->azm - PI2)) /10.0;
      if (fabs(t3) < fabs(t1))
        t1 = t3;
      if (fabs(t1) > 0.06)
        t1 = sign (0.06, t1);
      g->rotate = t1;
    }
    else {
      tazm = g->orientation;
      if (tazm < 0.0)
        tazm += PI2;
      if (tazm > PI2)
        tazm -= PI2;
      if (g->azm < 0.0)
        g->azm += PI2;
      if (g->azm > PI2)
        g->azm -= PI2;
      t1 = (tazm - g->azm) / 10.0;
      t2 = (tazm - (g->azm - PI2)) / 10.0;
      if (fabs(t2) < fabs(t1))
        t1 = t2;
      if (fabs(t1) > 0.06)
        t1 = sign (0.06, t1);
      g->rotate = t1;
      g->speed = 30.0;
    }
  }

  if (g->attr & CAN_SHOOT && g->z < 50.0 &&
      !(s->attr & STILL_THERE)) {
    /*
     * the original Fortran had the following
     *    sp = pl->sa     and    cp = pl->ca
     *
     * however, sa and ca were undefined...fortran was really good
     * about making these 0, C doesn't guarantee this will occur.
     * the two choices to fix this are to make sp and cp
     * 0 initially or to make them the sin/cos of azm.
     * the first method makes the copter fire as it hits
     * the ground, the second method the copter won't fire
     * until it is very close unless you are moving straight
     * toward it or straight away from it.
     */
    cp = sp = 0;
    dcp = cos(pl->rotate);
    dsp = sin(pl->rotate);
    cm = cos(g->azm);
    sm = sin(g->azm);
    xmt = g->x;
    ymt = g->y;
    xpt = pl->x;
    ypt = pl->y;
    rate = 40.0;

    for (i=0; i<50; i++) {
      temp = cp;
      cp = cp * dcp - sp * dsp;
      sp = sp * dcp + dsp * temp;
      xmt -= sm * rate;
      ymt += cm * rate;
      xpt -= sp * pl->speed;
      ypt += cp * pl->speed;
      dist = (xpt-xmt)*(xpt-xmt) + (ymt-ypt)*(ymt-ypt);
      if (dist <= BMC_TOL) {
        s->attr = START_LIVING;
        s->x = g->x;
        s->y = g->y;
        s->z = 0.0;
        s->prox = g->prox;
        s->proy = g->proy;
        s->azm = g->azm;
        s->speed = 40.0;
        s->ecount = 0;
        message(3, True);
        break;
      }
    }
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movl 0x4c(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x4c(%rax)
movq -0x10(%rbp), %rax
movl 0x8(%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
jne 0x10df4
movq -0x8(%rbp), %rax
movl $0x0, 0x4c(%rax)
movq -0x8(%rbp), %rax
movl 0x8(%rax), %ecx
andl $-0x21, %ecx
movl %ecx, 0x8(%rax)
movq -0x8(%rbp), %rax
movl 0x8(%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x10e87
movq -0x8(%rbp), %rax
movl $0xa, 0x4c(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0x44(%rax)
movq -0x8(%rbp), %rax
movl 0x8(%rax), %ecx
orl $0x20, %ecx
movl %ecx, 0x8(%rax)
movq -0x8(%rbp), %rax
movl 0x8(%rax), %ecx
andl $-0x3, %ecx
movl %ecx, 0x8(%rax)
callq 0x5500
andq $0xffff, %rax           # imm = 0xFFFF
cvtsi2sd %rax, %xmm0
movsd 0x31f1(%rip), %xmm1     # 0x14040
divsd %xmm1, %xmm0
movsd 0x323d(%rip), %xmm1     # 0x14098
ucomisd %xmm1, %xmm0
jbe 0x10e74
movq -0x8(%rbp), %rax
movss 0x3c0f(%rip), %xmm0     # 0x14a7c
movss %xmm0, 0x40(%rax)
jmp 0x10e85
movq -0x8(%rbp), %rax
movss 0x3bf8(%rip), %xmm0     # 0x14a78
movss %xmm0, 0x40(%rax)
jmp 0x10e87
movq -0x8(%rbp), %rax
movq 0x650(%rax), %rax
movq %rax, -0x68(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x96, 0x44(%rax)
jge 0x10f17
movq -0x8(%rbp), %rax
movss 0x34(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x3ae0(%rip), %xmm1     # 0x14998
ucomisd %xmm1, %xmm0
jbe 0x10f17
movq -0x68(%rbp), %rax
movl 0x8(%rax), %eax
andl $0x119, %eax            # imm = 0x119
cmpl $0x0, %eax
jne 0x10ef3
movq -0x8(%rbp), %rax
movss 0x14(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x3184(%rip), %xmm1     # 0x14068
subsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x14(%rax)
jmp 0x10f15
movq -0x8(%rbp), %rax
movss 0x14(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x3160(%rip), %xmm1     # 0x14068
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x14(%rax)
jmp 0x10f39
movq -0x8(%rbp), %rax
movss 0x14(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x313c(%rip), %xmm1     # 0x14068
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x14(%rax)
movq -0x8(%rbp), %rax
movss 0x14(%rax), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0x3ab2(%rip), %xmm0     # 0x14a00
ucomisd %xmm1, %xmm0
jb 0x10f65
movq -0x8(%rbp), %rax
movss 0x38e8(%rip), %xmm0     # 0x14848
movss %xmm0, 0x14(%rax)
movq -0x8(%rbp), %rax
movss 0x14(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x3a8e(%rip), %xmm1     # 0x14a08
ucomisd %xmm1, %xmm0
jbe 0x10f91
movq -0x8(%rbp), %rax
movss 0x3ac8(%rip), %xmm0     # 0x14a54
movss %xmm0, 0x14(%rax)
movq -0x8(%rbp), %rax
movl 0x8(%rax), %eax
andl $0x600, %eax            # imm = 0x600
cmpl $0x0, %eax
je 0x10fde
movq -0x8(%rbp), %rax
movss 0x14(%rax), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0x3a59(%rip), %xmm0     # 0x14a10
ucomisd %xmm1, %xmm0
jbe 0x10fde
movq -0x8(%rbp), %rax
movss 0x3aab(%rip), %xmm0     # 0x14a74
movss %xmm0, 0x14(%rax)
movq -0x8(%rbp), %rax
movl 0x8(%rax), %ecx
andl $0xfffff9ff, %ecx       # imm = 0xFFFFF9FF
movl %ecx, 0x8(%rax)
movq -0x8(%rbp), %rax
movss 0x3a96(%rip), %xmm0     # 0x14a80
movss %xmm0, 0x2c(%rax)
movq -0x8(%rbp), %rax
cmpl $0xa, 0x4c(%rax)
jl 0x114c2
movq -0x8(%rbp), %rax
movl $0x0, 0x4c(%rax)
movq -0x8(%rbp), %rax
movss 0x34(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x397b(%rip), %xmm1     # 0x14998
ucomisd %xmm1, %xmm0
jbe 0x112c4
movq -0x8(%rbp), %rax
cmpl $0x96, 0x44(%rax)
jge 0x112c4
movq -0x10(%rbp), %rax
movss 0xc(%rax), %xmm0
movq -0x8(%rbp), %rax
subss 0xc(%rax), %xmm0
movss %xmm0, -0x14(%rbp)
movq -0x10(%rbp), %rax
movss 0x10(%rax), %xmm0
movq -0x8(%rbp), %rax
subss 0x10(%rax), %xmm0
movss %xmm0, -0x18(%rbp)
movss -0x18(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
movaps 0x300a(%rip), %xmm0     # 0x14080
pand %xmm0, %xmm1
movsd 0x391e(%rip), %xmm0     # 0x149a0
ucomisd %xmm1, %xmm0
jbe 0x110c1
movss -0x18(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x390f(%rip), %xmm3     # 0x149a8
movsd 0x38ff(%rip), %xmm2     # 0x149a0
xorps %xmm1, %xmm1
cmpltsd %xmm1, %xmm0
movaps %xmm0, %xmm1
andpd %xmm3, %xmm1
andnpd %xmm2, %xmm0
orpd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x18(%rbp)
movss -0x18(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
xorps %xmm0, %xmm0
ucomisd %xmm1, %xmm0
jb 0x11114
movss -0x14(%rbp), %xmm0
divss -0x18(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x5260
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd 0x38ab(%rip), %xmm1     # 0x149b0
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x1c(%rbp)
jmp 0x11147
movss -0x14(%rbp), %xmm0
divss -0x18(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x5260
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x1c(%rbp)
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x36fc(%rip), %xmm1     # 0x14858
ucomisd %xmm1, %xmm0
jbe 0x11184
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x36e1(%rip), %xmm1     # 0x14858
subsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x20(%rax)
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
cvtss2sd %xmm0, %xmm1
xorps %xmm0, %xmm0
ucomisd %xmm1, %xmm0
jbe 0x111bc
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x36a9(%rip), %xmm1     # 0x14858
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x20(%rax)
movss -0x1c(%rbp), %xmm0
movq -0x8(%rbp), %rax
subss 0x20(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x2e32(%rip), %xmm1     # 0x14008
divsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x20(%rbp)
movss -0x1c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm1
cvtss2sd %xmm1, %xmm1
movsd 0x3657(%rip), %xmm2     # 0x14858
subsd %xmm2, %xmm1
subsd %xmm1, %xmm0
movsd 0x2df7(%rip), %xmm1     # 0x14008
divsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x28(%rbp)
movss -0x28(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
movaps 0x2e52(%rip), %xmm0     # 0x14080
pand %xmm0, %xmm1
movss -0x20(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movaps 0x2e3e(%rip), %xmm2     # 0x14080
pand %xmm2, %xmm0
ucomisd %xmm1, %xmm0
jbe 0x11256
movss -0x28(%rbp), %xmm0
movss %xmm0, -0x20(%rbp)
movss -0x20(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movaps 0x2e1a(%rip), %xmm1     # 0x14080
pand %xmm1, %xmm0
movsd 0x37a6(%rip), %xmm1     # 0x14a18
ucomisd %xmm1, %xmm0
jbe 0x112b1
movss -0x20(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x3797(%rip), %xmm3     # 0x14a20
movsd 0x3787(%rip), %xmm2     # 0x14a18
xorps %xmm1, %xmm1
cmpltsd %xmm1, %xmm0
movaps %xmm0, %xmm1
andpd %xmm3, %xmm1
andnpd %xmm2, %xmm0
orpd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x20(%rbp)
movss -0x20(%rbp), %xmm0
movq -0x8(%rbp), %rax
movss %xmm0, 0x30(%rax)
jmp 0x114c0
movq -0x8(%rbp), %rax
movss 0x40(%rax), %xmm0
movss %xmm0, -0x1c(%rbp)
movss -0x1c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
xorps %xmm0, %xmm0
ucomisd %xmm1, %xmm0
jbe 0x11302
movss -0x1c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x3563(%rip), %xmm1     # 0x14858
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x1c(%rbp)
movss -0x1c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x3545(%rip), %xmm1     # 0x14858
ucomisd %xmm1, %xmm0
jbe 0x11337
movss -0x1c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x352e(%rip), %xmm1     # 0x14858
subsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x1c(%rbp)
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
cvtss2sd %xmm0, %xmm1
xorps %xmm0, %xmm0
ucomisd %xmm1, %xmm0
jbe 0x1136f
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x34f6(%rip), %xmm1     # 0x14858
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x20(%rax)
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x34d4(%rip), %xmm1     # 0x14858
ucomisd %xmm1, %xmm0
jbe 0x113ac
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x34b9(%rip), %xmm1     # 0x14858
subsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x20(%rax)
movss -0x1c(%rbp), %xmm0
movq -0x8(%rbp), %rax
subss 0x20(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x2c42(%rip), %xmm1     # 0x14008
divsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x20(%rbp)
movss -0x1c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm1
cvtss2sd %xmm1, %xmm1
movsd 0x3467(%rip), %xmm2     # 0x14858
subsd %xmm2, %xmm1
subsd %xmm1, %xmm0
movsd 0x2c07(%rip), %xmm1     # 0x14008
divsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x24(%rbp)
movss -0x24(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
movaps 0x2c62(%rip), %xmm0     # 0x14080
pand %xmm0, %xmm1
movss -0x20(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movaps 0x2c4e(%rip), %xmm2     # 0x14080
pand %xmm2, %xmm0
ucomisd %xmm1, %xmm0
jbe 0x11446
movss -0x24(%rbp), %xmm0
movss %xmm0, -0x20(%rbp)
movss -0x20(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movaps 0x2c2a(%rip), %xmm1     # 0x14080
pand %xmm1, %xmm0
movsd 0x35b6(%rip), %xmm1     # 0x14a18
ucomisd %xmm1, %xmm0
jbe 0x114a1
movss -0x20(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x35a7(%rip), %xmm3     # 0x14a20
movsd 0x3597(%rip), %xmm2     # 0x14a18
xorps %xmm1, %xmm1
cmpltsd %xmm1, %xmm0
movaps %xmm0, %xmm1
andpd %xmm3, %xmm1
andnpd %xmm2, %xmm0
orpd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x20(%rbp)
movss -0x20(%rbp), %xmm0
movq -0x8(%rbp), %rax
movss %xmm0, 0x30(%rax)
movq -0x8(%rbp), %rax
movss 0x35c9(%rip), %xmm0     # 0x14a84
movss %xmm0, 0x2c(%rax)
jmp 0x114c2
movq -0x8(%rbp), %rax
movl 0x8(%rax), %eax
andl $0x20, %eax
cmpl $0x0, %eax
je 0x117c3
movq -0x8(%rbp), %rax
movss 0x14(%rax), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0x3396(%rip), %xmm0     # 0x14880
ucomisd %xmm1, %xmm0
jbe 0x117c3
movq -0x68(%rbp), %rax
movl 0x8(%rax), %eax
andl $0x119, %eax            # imm = 0x119
cmpl $0x0, %eax
jne 0x117c3
xorps %xmm0, %xmm0
movss %xmm0, -0x30(%rbp)
xorps %xmm0, %xmm0
movss %xmm0, -0x2c(%rbp)
movq -0x10(%rbp), %rax
movss 0x30(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x51d0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x34(%rbp)
movq -0x10(%rbp), %rax
movss 0x30(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x5570
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x38(%rbp)
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x51d0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x3c(%rbp)
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x5570
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x40(%rbp)
movq -0x8(%rbp), %rax
movss 0xc(%rax), %xmm0
movss %xmm0, -0x44(%rbp)
movq -0x8(%rbp), %rax
movss 0x10(%rax), %xmm0
movss %xmm0, -0x48(%rbp)
movq -0x10(%rbp), %rax
movss 0xc(%rax), %xmm0
movss %xmm0, -0x4c(%rbp)
movq -0x10(%rbp), %rax
movss 0x10(%rax), %xmm0
movss %xmm0, -0x50(%rbp)
movss 0x3283(%rip), %xmm0     # 0x14848
movss %xmm0, -0x54(%rbp)
movl $0x0, -0x60(%rbp)
cmpl $0x32, -0x60(%rbp)
jge 0x117c1
movss -0x2c(%rbp), %xmm0
movss %xmm0, -0x58(%rbp)
movss -0x2c(%rbp), %xmm0
movss -0x34(%rbp), %xmm2
movss -0x30(%rbp), %xmm1
mulss -0x38(%rbp), %xmm1
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, -0x2c(%rbp)
movss -0x30(%rbp), %xmm0
movss -0x34(%rbp), %xmm2
movss -0x38(%rbp), %xmm1
mulss -0x58(%rbp), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, -0x30(%rbp)
movss -0x40(%rbp), %xmm0
movss -0x54(%rbp), %xmm2
movss -0x44(%rbp), %xmm1
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, -0x44(%rbp)
movss -0x3c(%rbp), %xmm0
movss -0x54(%rbp), %xmm2
movss -0x48(%rbp), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, -0x48(%rbp)
movss -0x30(%rbp), %xmm0
movq -0x10(%rbp), %rax
movss 0x2c(%rax), %xmm2
movss -0x4c(%rbp), %xmm1
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, -0x4c(%rbp)
movss -0x2c(%rbp), %xmm0
movq -0x10(%rbp), %rax
movss 0x2c(%rax), %xmm2
movss -0x50(%rbp), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, -0x50(%rbp)
movss -0x4c(%rbp), %xmm0
subss -0x44(%rbp), %xmm0
movss -0x4c(%rbp), %xmm2
subss -0x44(%rbp), %xmm2
movss -0x48(%rbp), %xmm1
subss -0x50(%rbp), %xmm1
movss -0x48(%rbp), %xmm3
subss -0x50(%rbp), %xmm3
mulss %xmm3, %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, -0x5c(%rbp)
movss 0x3381(%rip), %xmm0     # 0x14a88
ucomiss -0x5c(%rbp), %xmm0
jb 0x117b1
movq -0x68(%rbp), %rax
movl $0x3, 0x8(%rax)
movq -0x8(%rbp), %rax
movss 0xc(%rax), %xmm0
movq -0x68(%rbp), %rax
movss %xmm0, 0xc(%rax)
movq -0x8(%rbp), %rax
movss 0x10(%rax), %xmm0
movq -0x68(%rbp), %rax
movss %xmm0, 0x10(%rax)
movq -0x68(%rbp), %rax
xorps %xmm0, %xmm0
movss %xmm0, 0x14(%rax)
movq -0x8(%rbp), %rax
movss 0x18(%rax), %xmm0
movq -0x68(%rbp), %rax
movss %xmm0, 0x18(%rax)
movq -0x8(%rbp), %rax
movss 0x1c(%rax), %xmm0
movq -0x68(%rbp), %rax
movss %xmm0, 0x1c(%rax)
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
movq -0x68(%rbp), %rax
movss %xmm0, 0x20(%rax)
movq -0x68(%rbp), %rax
movss 0x30ba(%rip), %xmm0     # 0x14848
movss %xmm0, 0x2c(%rax)
movq -0x68(%rbp), %rax
movl $0x0, 0x44(%rax)
movl $0x3, %edi
movl $0x1, %esi
movb $0x0, %al
callq 0xa330
jmp 0x117c1
jmp 0x117b3
movl -0x60(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x60(%rbp)
jmp 0x115d1
jmp 0x117c3
addq $0x70, %rsp
popq %rbp
retq
nopl (%rax)