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

  g->pcount++;
  g->fcount++;
  if (g->attr & IS_NEW) {
    g->attr &= ~(IS_NEW | IS_PRESET);
    g->bcount = 0;
    g->ecount = 0;
    g->pcount = 5;
    g->fcount = 5;
    g->orientation = 1.0;
  }
  if (g->attr & IS_BLOCKED && g->attr & LAST_BLOCKED)
    g->orientation = -g->orientation;
  g->attr &= ~LAST_BLOCKED;

  if (g->attr & IS_BLOCKED) {
    if (g->attr & BLOCKED_BY_ENEMY)
      g->attr |= IS_EVADING;
    else
      g->attr &= ~IS_EVADING;
    g->attr |= IS_PRESET | LAST_BLOCKED;
    g->bcount  = 0;
  }

  if (g->attr & IS_PRESET) {
    g->bcount++;
    if (!(g->attr & IS_EVADING)) {
      if (g->bcount == 1) {
        g->speed = -8.0 * g->orientation;
        g->rotate = 0.030;
        if (frand() > 0.5)
          g->rotate = -g->rotate;
      }
      else if (g->bcount == 45) {
        g->speed  = 8.0 * g->orientation;
        g->rotate = 0.0;
      }
      else if (g->bcount > 90)
        g->attr &= ~IS_PRESET;
    }
    else {
      if (g->bcount == 1) {
        g->speed  = -8.0 * g->orientation;
        g->rotate = 0.0;
      }
      else if (g->bcount == 10 || g->bcount == 15 ||
               g->bcount == 20 || g->bcount == 25) {
        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) / 5.0;
        t3 = (tazm - (g->azm - PI2)) / 5.0;
        if (fabs(t3) < fabs(t1))
          t1 = t3;
        if (fabs(t1) > 0.030)
          t1 = sign (.030, t1);
        g->rotate = t1;
        g->speed = 0.0;
      }
      else if (g->bcount > 30)
        g->attr &= ~IS_PRESET;
    }
  }
  else if (g->pcount >= 10) {
    g->orientation = 1.0;
    g->pcount = 0;
    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;
    g->speed = 8.0 * (PI - fabs(t1) * 10.0) / PI;
    if (fabs(t1) > 0.030)
      t1 = sign (0.030, t1);
    g->rotate = t1;
  }

  scrot = g->rotate / 0.030 * 8.0;
  sctot = sqrt (g->speed*g->speed + scrot*scrot);
  if (sctot > 8.0) {
    scale = 8.0 / sctot;
    g->speed *= scale;
    g->rotate *= scale;
  }

  s = g->salvo;
  if (pl->attr & IS_ALIVE && g->fcount>10 && g->ecount>100 &&
      !(s->attr & STILL_THERE)) {
    g->fcount = 0;
    cp = pl->ca;
    sp = pl->sa;
    dcp = cos(pl->rotate);
    dsp = sin(pl->rotate);
    cm = cos(g->azm);
    sm = sin(g->azm);
    i = 0;
    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 <= BMT_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 -0x8(%rbp), %rax
movl 0x54(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x54(%rax)
movq -0x8(%rbp), %rax
movl 0x8(%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x11853
movq -0x8(%rbp), %rax
movl 0x8(%rax), %ecx
andl $-0x43, %ecx
movl %ecx, 0x8(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0x50(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0x44(%rax)
movq -0x8(%rbp), %rax
movl $0x5, 0x4c(%rax)
movq -0x8(%rbp), %rax
movl $0x5, 0x54(%rax)
movq -0x8(%rbp), %rax
movss 0x282a(%rip), %xmm0     # 0x14078
movss %xmm0, 0x40(%rax)
movq -0x8(%rbp), %rax
movl 0x8(%rax), %eax
andl $0x600, %eax            # imm = 0x600
cmpl $0x0, %eax
je 0x11894
movq -0x8(%rbp), %rax
movl 0x8(%rax), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0x11894
movq -0x8(%rbp), %rax
movss 0x40(%rax), %xmm0
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
movq -0x8(%rbp), %rax
movss %xmm0, 0x40(%rax)
movq -0x8(%rbp), %rax
movl 0x8(%rax), %ecx
andl $0xfffff7ff, %ecx       # imm = 0xFFFFF7FF
movl %ecx, 0x8(%rax)
movq -0x8(%rbp), %rax
movl 0x8(%rax), %eax
andl $0x600, %eax            # imm = 0x600
cmpl $0x0, %eax
je 0x11903
movq -0x8(%rbp), %rax
movl 0x8(%rax), %eax
andl $0x200, %eax            # imm = 0x200
cmpl $0x0, %eax
je 0x118d8
movq -0x8(%rbp), %rax
movl 0x8(%rax), %ecx
orl $0x80, %ecx
movl %ecx, 0x8(%rax)
jmp 0x118e8
movq -0x8(%rbp), %rax
movl 0x8(%rax), %ecx
andl $0xffffff7f, %ecx       # imm = 0xFFFFFF7F
movl %ecx, 0x8(%rax)
movq -0x8(%rbp), %rax
movl 0x8(%rax), %ecx
orl $0x840, %ecx            # imm = 0x840
movl %ecx, 0x8(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0x50(%rax)
movq -0x8(%rbp), %rax
movl 0x8(%rax), %eax
andl $0x40, %eax
cmpl $0x0, %eax
je 0x11d4a
movq -0x8(%rbp), %rax
movl 0x50(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x50(%rax)
movq -0x8(%rbp), %rax
movl 0x8(%rax), %eax
andl $0x80, %eax
cmpl $0x0, %eax
jne 0x11a26
movq -0x8(%rbp), %rax
cmpl $0x1, 0x50(%rax)
jne 0x119c8
movq -0x8(%rbp), %rax
movss 0x40(%rax), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0x30d5(%rip), %xmm0     # 0x14a30
mulsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movq -0x8(%rbp), %rax
movss %xmm0, 0x2c(%rax)
movq -0x8(%rbp), %rax
movss 0x3114(%rip), %xmm0     # 0x14a8c
movss %xmm0, 0x30(%rax)
callq 0x5500
andq $0xffff, %rax           # imm = 0xFFFF
cvtsi2sd %rax, %xmm0
movsd 0x26ab(%rip), %xmm1     # 0x14040
divsd %xmm1, %xmm0
movsd 0x26f7(%rip), %xmm1     # 0x14098
ucomisd %xmm1, %xmm0
jbe 0x119c6
movq -0x8(%rbp), %rax
movss 0x30(%rax), %xmm0
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
movq -0x8(%rbp), %rax
movss %xmm0, 0x30(%rax)
jmp 0x11a21
movq -0x8(%rbp), %rax
cmpl $0x2d, 0x50(%rax)
jne 0x11a06
movq -0x8(%rbp), %rax
movss 0x40(%rax), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0x3041(%rip), %xmm0     # 0x14a28
mulsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movq -0x8(%rbp), %rax
movss %xmm0, 0x2c(%rax)
movq -0x8(%rbp), %rax
xorps %xmm0, %xmm0
movss %xmm0, 0x30(%rax)
jmp 0x11a1f
movq -0x8(%rbp), %rax
cmpl $0x5a, 0x50(%rax)
jle 0x11a1d
movq -0x8(%rbp), %rax
movl 0x8(%rax), %ecx
andl $-0x41, %ecx
movl %ecx, 0x8(%rax)
jmp 0x11a1f
jmp 0x11a21
jmp 0x11d45
movq -0x8(%rbp), %rax
cmpl $0x1, 0x50(%rax)
jne 0x11a67
movq -0x8(%rbp), %rax
movss 0x40(%rax), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0x2feb(%rip), %xmm0     # 0x14a30
mulsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movq -0x8(%rbp), %rax
movss %xmm0, 0x2c(%rax)
movq -0x8(%rbp), %rax
xorps %xmm0, %xmm0
movss %xmm0, 0x30(%rax)
jmp 0x11d43
movq -0x8(%rbp), %rax
cmpl $0xa, 0x50(%rax)
je 0x11a93
movq -0x8(%rbp), %rax
cmpl $0xf, 0x50(%rax)
je 0x11a93
movq -0x8(%rbp), %rax
cmpl $0x14, 0x50(%rax)
je 0x11a93
movq -0x8(%rbp), %rax
cmpl $0x19, 0x50(%rax)
jne 0x11d28
movq -0x10(%rbp), %rax
movss 0xc(%rax), %xmm0
movq -0x8(%rbp), %rax
subss 0xc(%rax), %xmm0
movss %xmm0, -0x18(%rbp)
movq -0x10(%rbp), %rax
movss 0x10(%rax), %xmm0
movq -0x8(%rbp), %rax
subss 0x10(%rax), %xmm0
movss %xmm0, -0x1c(%rbp)
movss -0x1c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
movaps 0x25af(%rip), %xmm0     # 0x14080
pand %xmm0, %xmm1
movsd 0x2ec3(%rip), %xmm0     # 0x149a0
ucomisd %xmm1, %xmm0
jbe 0x11b1c
movss -0x1c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x2eb4(%rip), %xmm3     # 0x149a8
movsd 0x2ea4(%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, -0x1c(%rbp)
movss -0x1c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
xorps %xmm0, %xmm0
ucomisd %xmm1, %xmm0
jb 0x11b6f
movss -0x18(%rbp), %xmm0
divss -0x1c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x5260
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd 0x2e50(%rip), %xmm1     # 0x149b0
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x20(%rbp)
jmp 0x11ba2
movss -0x18(%rbp), %xmm0
divss -0x1c(%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, -0x20(%rbp)
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x2ca1(%rip), %xmm1     # 0x14858
ucomisd %xmm1, %xmm0
jbe 0x11bdf
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x2c86(%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 0x11c17
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x2c4e(%rip), %xmm1     # 0x14858
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x20(%rax)
movss -0x20(%rbp), %xmm0
movq -0x8(%rbp), %rax
subss 0x20(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x2437(%rip), %xmm1     # 0x14068
divsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x24(%rbp)
movss -0x20(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm1
cvtss2sd %xmm1, %xmm1
movsd 0x2bfc(%rip), %xmm2     # 0x14858
subsd %xmm2, %xmm1
subsd %xmm1, %xmm0
movsd 0x23fc(%rip), %xmm1     # 0x14068
divsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x28(%rbp)
movss -0x28(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
movaps 0x23f7(%rip), %xmm0     # 0x14080
pand %xmm0, %xmm1
movss -0x24(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movaps 0x23e3(%rip), %xmm2     # 0x14080
pand %xmm2, %xmm0
ucomisd %xmm1, %xmm0
jbe 0x11cb1
movss -0x28(%rbp), %xmm0
movss %xmm0, -0x24(%rbp)
movss -0x24(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movaps 0x23bf(%rip), %xmm1     # 0x14080
pand %xmm1, %xmm0
movsd 0x29bb(%rip), %xmm1     # 0x14688
ucomisd %xmm1, %xmm0
jbe 0x11d0c
movss -0x24(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x29ac(%rip), %xmm3     # 0x14690
movsd 0x299c(%rip), %xmm2     # 0x14688
xorps %xmm1, %xmm1
cmpltsd %xmm1, %xmm0
movaps %xmm0, %xmm1
andpd %xmm3, %xmm1
andnpd %xmm2, %xmm0
orpd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x24(%rbp)
movss -0x24(%rbp), %xmm0
movq -0x8(%rbp), %rax
movss %xmm0, 0x30(%rax)
movq -0x8(%rbp), %rax
xorps %xmm0, %xmm0
movss %xmm0, 0x2c(%rax)
jmp 0x11d41
movq -0x8(%rbp), %rax
cmpl $0x1e, 0x50(%rax)
jle 0x11d3f
movq -0x8(%rbp), %rax
movl 0x8(%rax), %ecx
andl $-0x41, %ecx
movl %ecx, 0x8(%rax)
jmp 0x11d41
jmp 0x11d43
jmp 0x11d45
jmp 0x12065
movq -0x8(%rbp), %rax
cmpl $0xa, 0x4c(%rax)
jl 0x12063
movq -0x8(%rbp), %rax
movss 0x2314(%rip), %xmm0     # 0x14078
movss %xmm0, 0x40(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0x4c(%rax)
movq -0x10(%rbp), %rax
movss 0xc(%rax), %xmm0
movq -0x8(%rbp), %rax
subss 0xc(%rax), %xmm0
movss %xmm0, -0x18(%rbp)
movq -0x10(%rbp), %rax
movss 0x10(%rax), %xmm0
movq -0x8(%rbp), %rax
subss 0x10(%rax), %xmm0
movss %xmm0, -0x1c(%rbp)
movss -0x1c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
movaps 0x22ce(%rip), %xmm0     # 0x14080
pand %xmm0, %xmm1
movsd 0x2be2(%rip), %xmm0     # 0x149a0
ucomisd %xmm1, %xmm0
jbe 0x11dfd
movss -0x1c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x2bd3(%rip), %xmm3     # 0x149a8
movsd 0x2bc3(%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, -0x1c(%rbp)
movss -0x1c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
xorps %xmm0, %xmm0
ucomisd %xmm1, %xmm0
jb 0x11e50
movss -0x18(%rbp), %xmm0
divss -0x1c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x5260
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd 0x2b6f(%rip), %xmm1     # 0x149b0
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x20(%rbp)
jmp 0x11e83
movss -0x18(%rbp), %xmm0
divss -0x1c(%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, -0x20(%rbp)
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x29c0(%rip), %xmm1     # 0x14858
ucomisd %xmm1, %xmm0
jbe 0x11ec0
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x29a5(%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 0x11ef8
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x296d(%rip), %xmm1     # 0x14858
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x20(%rax)
movss -0x20(%rbp), %xmm0
movq -0x8(%rbp), %rax
subss 0x20(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x20f6(%rip), %xmm1     # 0x14008
divsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x24(%rbp)
movss -0x20(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm1
cvtss2sd %xmm1, %xmm1
movsd 0x291b(%rip), %xmm2     # 0x14858
subsd %xmm2, %xmm1
subsd %xmm1, %xmm0
movsd 0x20bb(%rip), %xmm1     # 0x14008
divsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x28(%rbp)
movss -0x28(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
movaps 0x2116(%rip), %xmm0     # 0x14080
pand %xmm0, %xmm1
movss -0x24(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movaps 0x2102(%rip), %xmm2     # 0x14080
pand %xmm2, %xmm0
ucomisd %xmm1, %xmm0
jbe 0x11f92
movss -0x28(%rbp), %xmm0
movss %xmm0, -0x24(%rbp)
movss -0x24(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movaps 0x20de(%rip), %xmm1     # 0x14080
pand %xmm1, %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
movsd 0x2043(%rip), %xmm0     # 0x14008
mulsd %xmm0, %xmm1
movsd 0x29af(%rip), %xmm0     # 0x14980
addsd %xmm0, %xmm1
movsd 0x2a4b(%rip), %xmm0     # 0x14a28
mulsd %xmm1, %xmm0
movsd 0x2997(%rip), %xmm1     # 0x14980
divsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movq -0x8(%rbp), %rax
movss %xmm0, 0x2c(%rax)
movss -0x24(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movaps 0x2076(%rip), %xmm1     # 0x14080
pand %xmm1, %xmm0
movsd 0x2672(%rip), %xmm1     # 0x14688
ucomisd %xmm1, %xmm0
jbe 0x12055
movss -0x24(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x2663(%rip), %xmm3     # 0x14690
movsd 0x2653(%rip), %xmm2     # 0x14688
xorps %xmm1, %xmm1
cmpltsd %xmm1, %xmm0
movaps %xmm0, %xmm1
andpd %xmm3, %xmm1
andnpd %xmm2, %xmm0
orpd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x24(%rbp)
movss -0x24(%rbp), %xmm0
movq -0x8(%rbp), %rax
movss %xmm0, 0x30(%rax)
jmp 0x12065
movq -0x8(%rbp), %rax
movss 0x30(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x260e(%rip), %xmm1     # 0x14688
divsd %xmm1, %xmm0
movsd 0x29a2(%rip), %xmm1     # 0x14a28
mulsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x2c(%rbp)
movq -0x8(%rbp), %rax
movss 0x2c(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x2c(%rax), %xmm2
movss -0x2c(%rbp), %xmm1
mulss -0x2c(%rbp), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x5560
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x30(%rbp)
movss -0x30(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x294e(%rip), %xmm1     # 0x14a28
ucomisd %xmm1, %xmm0
jbe 0x12124
movss -0x30(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0x2937(%rip), %xmm0     # 0x14a28
divsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x34(%rbp)
movss -0x34(%rbp), %xmm0
movq -0x8(%rbp), %rax
mulss 0x2c(%rax), %xmm0
movss %xmm0, 0x2c(%rax)
movss -0x34(%rbp), %xmm0
movq -0x8(%rbp), %rax
mulss 0x30(%rax), %xmm0
movss %xmm0, 0x30(%rax)
movq -0x8(%rbp), %rax
movq 0x650(%rax), %rax
movq %rax, -0x70(%rbp)
movq -0x10(%rbp), %rax
movl 0x8(%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x1244f
movq -0x8(%rbp), %rax
cmpl $0xa, 0x54(%rax)
jle 0x1244f
movq -0x8(%rbp), %rax
cmpl $0x64, 0x44(%rax)
jle 0x1244f
movq -0x70(%rbp), %rax
movl 0x8(%rax), %eax
andl $0x119, %eax            # imm = 0x119
cmpl $0x0, %eax
jne 0x1244f
movq -0x8(%rbp), %rax
movl $0x0, 0x54(%rax)
movq -0x10(%rbp), %rax
movss 0x24(%rax), %xmm0
movss %xmm0, -0x38(%rbp)
movq -0x10(%rbp), %rax
movss 0x28(%rax), %xmm0
movss %xmm0, -0x3c(%rbp)
movq -0x10(%rbp), %rax
movss 0x30(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x51d0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x40(%rbp)
movq -0x10(%rbp), %rax
movss 0x30(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x5570
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x44(%rbp)
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x51d0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x48(%rbp)
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x5570
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x4c(%rbp)
movl $0x0, -0x14(%rbp)
movq -0x8(%rbp), %rax
movss 0xc(%rax), %xmm0
movss %xmm0, -0x50(%rbp)
movq -0x8(%rbp), %rax
movss 0x10(%rax), %xmm0
movss %xmm0, -0x54(%rbp)
movq -0x10(%rbp), %rax
movss 0xc(%rax), %xmm0
movss %xmm0, -0x58(%rbp)
movq -0x10(%rbp), %rax
movss 0x10(%rax), %xmm0
movss %xmm0, -0x5c(%rbp)
movss 0x25f7(%rip), %xmm0     # 0x14848
movss %xmm0, -0x60(%rbp)
movl $0x0, -0x14(%rbp)
cmpl $0x32, -0x14(%rbp)
jge 0x1244d
movss -0x38(%rbp), %xmm0
movss %xmm0, -0x64(%rbp)
movss -0x38(%rbp), %xmm0
movss -0x40(%rbp), %xmm2
movss -0x3c(%rbp), %xmm1
mulss -0x44(%rbp), %xmm1
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, -0x38(%rbp)
movss -0x3c(%rbp), %xmm0
movss -0x40(%rbp), %xmm2
movss -0x44(%rbp), %xmm1
mulss -0x64(%rbp), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, -0x3c(%rbp)
movss -0x4c(%rbp), %xmm0
movss -0x60(%rbp), %xmm2
movss -0x50(%rbp), %xmm1
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, -0x50(%rbp)
movss -0x48(%rbp), %xmm0
movss -0x60(%rbp), %xmm2
movss -0x54(%rbp), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, -0x54(%rbp)
movss -0x3c(%rbp), %xmm0
movq -0x10(%rbp), %rax
movss 0x2c(%rax), %xmm2
movss -0x58(%rbp), %xmm1
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, -0x58(%rbp)
movss -0x38(%rbp), %xmm0
movq -0x10(%rbp), %rax
movss 0x2c(%rax), %xmm2
movss -0x5c(%rbp), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, -0x5c(%rbp)
movss -0x58(%rbp), %xmm0
subss -0x50(%rbp), %xmm0
movss -0x58(%rbp), %xmm2
subss -0x50(%rbp), %xmm2
movss -0x54(%rbp), %xmm1
subss -0x5c(%rbp), %xmm1
movss -0x54(%rbp), %xmm3
subss -0x5c(%rbp), %xmm3
mulss %xmm3, %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, -0x68(%rbp)
movss 0x26dd(%rip), %xmm0     # 0x14a70
ucomiss -0x68(%rbp), %xmm0
jb 0x1243d
movq -0x70(%rbp), %rax
movl $0x3, 0x8(%rax)
movq -0x8(%rbp), %rax
movss 0xc(%rax), %xmm0
movq -0x70(%rbp), %rax
movss %xmm0, 0xc(%rax)
movq -0x8(%rbp), %rax
movss 0x10(%rax), %xmm0
movq -0x70(%rbp), %rax
movss %xmm0, 0x10(%rax)
movq -0x70(%rbp), %rax
xorps %xmm0, %xmm0
movss %xmm0, 0x14(%rax)
movq -0x8(%rbp), %rax
movss 0x18(%rax), %xmm0
movq -0x70(%rbp), %rax
movss %xmm0, 0x18(%rax)
movq -0x8(%rbp), %rax
movss 0x1c(%rax), %xmm0
movq -0x70(%rbp), %rax
movss %xmm0, 0x1c(%rax)
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
movq -0x70(%rbp), %rax
movss %xmm0, 0x20(%rax)
movq -0x70(%rbp), %rax
movss 0x242e(%rip), %xmm0     # 0x14848
movss %xmm0, 0x2c(%rax)
movq -0x70(%rbp), %rax
movl $0x0, 0x44(%rax)
movl $0x3, %edi
movl $0x1, %esi
movb $0x0, %al
callq 0xa330
jmp 0x1244d
jmp 0x1243f
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x1225d
jmp 0x1244f
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)