// File: /workspace/github_c_makefile_star2_O2/thegenemyers[P]DASCRUBBER/align.c
// Function: Print_Reference
int Print_Reference(FILE *file, Alignment *align, Work_Data *ework,
                    int indent, int block, int border, int upper, int coord)
{ _Work_Data *work  = (_Work_Data *) ework;
  int        *trace = align->path->trace;
  int         tlen  = align->path->tlen;

  char *Abuf, *Bbuf, *Dbuf;
  int   i, j, o;
  char *a, *b;
  char  mtag, dtag;
  int   prefa, prefb;
  int   aend, bend;
  int   comp, blen;
  int   sa, sb, s0;
  int   match, diff;
  char *N2A;
  int   vmax;

  if (trace == NULL) return (0);

#ifdef SHOW_TRACE
  fprintf(file,"\nTrace:\n");
  for (i = 0; i < tlen; i++)
    fprintf(file,"  %3d\n",trace[i]);
#endif

  vmax = work->vecmax/3;
  o = sizeof(char)*6*(block+1);
  if (o > vmax)
    { if (enlarge_vector(work,3*o))
        EXIT(1);
      vmax = work->vecmax/3;
    }

  Abuf = (char *) work->vector;
  Bbuf = Abuf + vmax;
  Dbuf = Bbuf + vmax;

  if (upper)
    N2A = ToU;
  else
    N2A = ToL;

  aend = align->path->aepos;
  bend = align->path->bepos;

  comp = COMP(align->flags);
  blen = align->blen;

#define BLOCK(x,y)							\
{ int u, v;								\
  if (i%block == 1 && i != s0 && x < 4 && o > 0)			\
    { fprintf(file,"\n");						\
      fprintf(file,"%*s",indent,"");					\
      if (coord > 0)							\
        { if (sa < aend)						\
            fprintf(file," %*d",coord,sa);				\
          else								\
            fprintf(file," %*s",coord,"");				\
          fprintf(file," %.*s\n",o,Abuf);				\
          fprintf(file,"%*s %*s %.*s\n",indent,"",coord,"",o,Dbuf);	\
          fprintf(file,"%*s",indent,"");				\
          if (sb < bend)						\
            if (comp)							\
              fprintf(file," %*d",coord,blen-sb);			\
            else							\
              fprintf(file," %*d",coord,sb);				\
          else								\
            fprintf(file," %*s",coord,"");				\
          fprintf(file," %.*s",o,Bbuf);					\
        }								\
      else								\
        { fprintf(file," %.*s\n",o,Abuf);				\
          fprintf(file,"%*s %.*s\n",indent,"",o,Dbuf);			\
          fprintf(file,"%*s %.*s",indent,"",o,Bbuf);			\
        }								\
      fprintf(file," %5.1f%%\n",(100.*diff)/(diff+match));		\
      o  = 0;								\
      sa = i-1;								\
      sb = j-1;								\
      match = diff = 0;							\
    }									\
  u = (x);								\
  v = (y);								\
  if (u == 4 || v == 4)							\
    Dbuf[o] = ' ';							\
  else if (u == v)							\
    Dbuf[o] = mtag;							\
  else									\
    Dbuf[o] = dtag;							\
  Abuf[o] = N2A[u];							\
  Bbuf[o] = N2A[v];							\
  o += 1;								\
  if (o >= vmax)							\
    { if (enlarge_vector(work,3*o))					\
        EXIT(1);							\
      vmax = work->vecmax/3;						\
      memmove(work->vector+2*vmax,Dbuf,o);				\
      memmove(work->vector+vmax,Bbuf,o);				\
      memmove(work->vector,Abuf,o);					\
      Abuf = (char *) work->vector;					\
      Bbuf = Abuf + vmax;						\
      Dbuf = Bbuf + vmax;						\
    }									\
}

  a = align->aseq - 1;
  b = align->bseq - 1;

  o  = 0;
  i = align->path->abpos;
  j = align->path->bbpos;

  prefa = 0;
  for (prefa = 0; prefa < border && a[i] != 4; prefa++)
    i -= 1;
  i += 1;

  prefb = 0;
  for (prefb = 0; prefb < border && b[j] != 4; prefb++)
    j -= 1;
  j += 1;

  s0   = i;
  sa   = i-1;
  sb   = j-1;
  mtag = ':';
  dtag = ':';

  while (prefa > prefb)
    { BLOCK(a[i],4)
      i += 1;
      prefa -= 1;
    }
  while (prefb > prefa)
    { BLOCK(4,b[j])
      j += 1;
      prefb -= 1;
    }
  while (prefa > 0)
    { BLOCK(a[i],b[j])
      i += 1;
      j += 1;
      prefa -= 1;
    }

  mtag = '[';
  if (prefb > 0)
    BLOCK(5,5)

  mtag  = '|';
  dtag  = '*';

  match = diff = 0;

  { int p, c;      /* Output columns of alignment til reach trace end */

    for (c = 0; c < tlen; c++)
      if ((p = trace[c]) < 0)
        { p = -p;
          while (i != p)
            { BLOCK(a[i],b[j])
              if (a[i] == b[j])
                match += 1;
              else
                diff += 1;
              i += 1;
              j += 1;
            }
          BLOCK(7,b[j])
          j += 1;
          diff += 1;
        }
      else
        { while (j != p)
            { BLOCK(a[i],b[j])
              if (a[i] == b[j])
                match += 1;
              else
                diff += 1;
              i += 1;
              j += 1;
            }
          BLOCK(a[i],7)
          i += 1;
          diff += 1;
        }
    p = align->path->aepos;
    while (i <= p)
      { BLOCK(a[i],b[j])
        if (a[i] == b[j])
		match += 1;
	else
          diff += 1;
        i += 1;
        j += 1;
      }
  }

  { int c;     /* Output remaining column including unaligned suffix */

    mtag = ']';
    if (a[i] != 4 && b[j] != 4 && border > 0)
      BLOCK(6,6)

    mtag = ':';
    dtag = ':';

    c = 0;
    while (c < border && (a[i] != 4 || b[j] != 4))
      { if (a[i] != 4)
          if (b[j] != 4)
            { BLOCK(a[i],b[j])
              i += 1;
              j += 1;
            }
          else
            { BLOCK(a[i],4)
              i += 1;
            }
        else
          { BLOCK(4,b[j])
            j += 1;
          }
        c += 1;
      }
  }

  /* Print remainder of buffered col.s */

  fprintf(file,"\n");
  fprintf(file,"%*s",indent,"");
  if (coord > 0)
    { if (sa < aend)
        fprintf(file," %*d",coord,sa);
      else
        fprintf(file," %*s",coord,"");
      fprintf(file," %.*s\n",o,Abuf);
      fprintf(file,"%*s %*s %.*s\n",indent,"",coord,"",o,Dbuf);
      fprintf(file,"%*s",indent,"");
      if (sb < bend)
        if (comp)
          fprintf(file," %*d",coord,blen-sb);
        else
          fprintf(file," %*d",coord,sb);
      else
        fprintf(file," %*s",coord,"");
      fprintf(file," %.*s",o,Bbuf);
    }
  else
    { fprintf(file," %.*s\n",o,Abuf);
      fprintf(file,"%*s %.*s\n",indent,"",o,Dbuf);
      fprintf(file,"%*s %.*s",indent,"",o,Bbuf);
    }
  if (diff+match > 0)
    fprintf(file," %5.1f%%\n",(100.*diff)/(diff+match));
  else
    fprintf(file,"\n");

  fflush(file);
  return (0);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x138, %rsp            # imm = 0x138
movl %r9d, 0xf4(%rsp)
movl %ecx, %ebp
movq %rdi, 0x18(%rsp)
movq (%rsi), %rcx
movq (%rcx), %rax
movq %rax, 0x130(%rsp)
testq %rax, %rax
je 0xdc47
movl %r8d, %r15d
movq %rdx, %r14
movl 0x170(%rsp), %ebx
movl 0x8(%rcx), %eax
movq %rax, 0x100(%rsp)
movl (%rdx), %eax
pushq $0x3
popq %rdi
cltd
idivl %edi
imull $0x6, %r8d, %edx
addl $0x6, %edx
cmpl %eax, %edx
movq %rsi, 0x110(%rsp)
jle 0xb1a4
leal (%rdx,%rdx,2), %esi
movq %r14, %rdi
callq 0x3017
movq 0x110(%rsp), %rsi
movl (%r14), %eax
cltd
pushq $0x3
popq %rcx
idivl %ecx
movq (%rsi), %rcx
movq 0x8(%r14), %rdx
movq %rax, %r10
movslq %eax, %rdi
movq %rdx, 0x10(%rsp)
leaq (%rdx,%rdi), %r13
addq %r13, %rdi
testl %ebx, %ebx
leaq 0xd285(%rip), %rax      # 0x18448
leaq 0xd276(%rip), %r8       # 0x18440
cmoveq %rax, %r8
movl 0x18(%rcx), %eax
movl %eax, 0x70(%rsp)
movl 0x1c(%rcx), %eax
movl %eax, 0x74(%rsp)
movl 0x8(%rsi), %eax
movl %eax, 0x6c(%rsp)
movl 0x24(%rsi), %eax
movl %eax, 0x68(%rsp)
movq 0x10(%rsi), %rdx
movq 0x18(%rsi), %rax
movq %rax, 0xc0(%rsp)
movslq 0x10(%rcx), %rsi
movslq 0x14(%rcx), %rax
xorl %r11d, %r11d
movl 0xf4(%rsp), %ecx
testl %ecx, %ecx
movl $0x0, %r9d
cmovgl %ecx, %r9d
movq %rdx, 0xc8(%rsp)
movq %rsi, 0xe0(%rsp)
leaq (%rsi,%rdx), %rcx
decq %rcx
movl %r11d, 0xbc(%rsp)
cmpl %r11d, %r9d
je 0xb251
cmpb $0x4, (%rcx)
je 0xb262
movl 0xbc(%rsp), %r11d
incl %r11d
decq %rcx
jmp 0xb22f
movl %r9d, 0x80(%rsp)
movl 0xbc(%rsp), %edx
jmp 0xb270
movl 0xbc(%rsp), %edx
movl %edx, 0x80(%rsp)
movq 0xe0(%rsp), %rcx
movl %ecx, %ebx
subl %edx, %ebx
movl %eax, %r11d
subl %r9d, %r11d
movq 0xc0(%rsp), %rcx
leaq (%rax,%rcx), %rdx
decq %rdx
movl %r9d, %esi
negl %esi
movq %rbx, %r12
leal 0x1(%rbx), %ecx
movl %ebp, 0x34(%rsp)
movq %r14, 0x88(%rsp)
movq %rdi, (%rsp)
xorl %edi, %edi
movq %r8, 0xb0(%rsp)
movq %r10, %rbx
movl %r9d, 0x10c(%rsp)
cmpl %edi, %esi
je 0xb2d0
cmpb $0x4, (%rdx,%rdi)
je 0xb2d5
decq %rdi
jmp 0xb2c1
movl %r9d, %edi
jmp 0xb2dc
addl %edi, %eax
negl %edi
movl %eax, %r11d
movl 0x68(%rsp), %eax
movl %r11d, 0x40(%rsp)
subl %r11d, %eax
movl %eax, 0x90(%rsp)
movslq %ecx, %rcx
movq 0xc8(%rsp), %rax
movq %rcx, 0xf8(%rsp)
addq %rcx, %rax
decq %rax
movq %rax, 0x38(%rsp)
xorl %r14d, %r14d
movq %r12, %rbp
movl %ebp, %r8d
movl 0x80(%rsp), %esi
xorl %r12d, %r12d
movl %r15d, 0x64(%rsp)
movq %rdi, 0x8(%rsp)
cmpl %edi, %esi
jle 0xb686
leal 0x1(%rbp), %r9d
movl %r9d, %eax
cltd
idivl %r15d
cmpl $0x1, %edx
setne %al
testq %r14, %r14
sete %cl
orb %al, %cl
jne 0xb59a
testl %r12d, %r12d
jle 0xb59a
movq 0x38(%rsp), %rax
cmpb $0x3, (%rax,%r14)
jg 0xb59a
movl %r9d, 0x58(%rsp)
movl %esi, 0x48(%rsp)
movq %rbp, 0x50(%rsp)
movq %r14, 0x28(%rsp)
movl %r8d, %ebp
movq %rbx, 0x78(%rsp)
movq %r13, 0x20(%rsp)
pushq $0xa
popq %rdi
movq 0x18(%rsp), %r15
movq %r15, %rsi
callq 0x1170
movq %r15, %rdi
leaq 0xd1e2(%rip), %rsi      # 0x18586
movl 0x34(%rsp), %r14d
movl %r14d, %edx
leaq 0xdadc(%rip), %rbx      # 0x18e8f
movq %rbx, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x178(%rsp), %r13d
testl %r13d, %r13d
jle 0xb3fb
cmpl 0x70(%rsp), %ebp
jge 0xb462
movl %ebp, %ecx
movq 0x18(%rsp), %rbp
movq %rbp, %rdi
leaq 0xd1f4(%rip), %rsi      # 0x185d9
movl %r13d, %edx
xorl %eax, %eax
callq 0x11a0
leaq 0xda99(%rip), %r15      # 0x18e8f
jmp 0xb485
movq %r15, %rdi
leaq 0xd1fd(%rip), %rsi      # 0x18602
movl %r12d, %edx
movq 0x10(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %r15, %rdi
leaq 0xd1e1(%rip), %rsi      # 0x185ff
movl %r14d, %edx
movq %rbx, %rcx
movl %r12d, %r8d
movq (%rsp), %r9
xorl %eax, %eax
callq 0x11a0
movq %r15, %rdi
leaq 0xd1cd(%rip), %rsi      # 0x18609
movl %r14d, %edx
movq %rbx, %rcx
movl %r12d, %r8d
movq 0x20(%rsp), %r13
movq %r13, %r9
xorl %eax, %eax
callq 0x11a0
movl 0x64(%rsp), %ebp
movq 0x28(%rsp), %r14
jmp 0xb560
movq 0x18(%rsp), %rbp
movq %rbp, %rdi
leaq 0xd1b4(%rip), %rsi      # 0x18625
movl %r13d, %edx
leaq 0xda14(%rip), %r15      # 0x18e8f
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xd173(%rip), %rsi      # 0x18602
movl %r12d, %edx
movq 0x10(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xd153(%rip), %rsi      # 0x185fb
movl 0x34(%rsp), %r14d
movl %r14d, %edx
movq %r15, %rcx
movl %r13d, %r8d
movq %r15, %r9
xorl %eax, %eax
pushq (%rsp)
pushq %r12
callq 0x11a0
popq %rcx
popq %rdx
movq %rbp, %rdi
leaq 0xd0b5(%rip), %rsi      # 0x18586
movl %r14d, %edx
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x40(%rsp), %ecx
cmpl 0x74(%rsp), %ecx
jge 0xb521
testb $0x1, 0x6c(%rsp)
movq 0x28(%rsp), %r14
movq %rbp, %rdi
leaq 0xd0dd(%rip), %rsi      # 0x185d9
movl 0x178(%rsp), %edx
je 0xb50c
movl 0x90(%rsp), %ecx
xorl %eax, %eax
callq 0x11a0
movq %rbp, %r15
movl 0x64(%rsp), %ebp
movq 0x20(%rsp), %r13
jmp 0xb549
movq %rbp, %rdi
leaq 0xd0fa(%rip), %rsi      # 0x18625
movl %r13d, %edx
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
movq %rbp, %r15
movl 0x64(%rsp), %ebp
movq 0x20(%rsp), %r13
movq 0x28(%rsp), %r14
movq %r15, %rdi
leaq 0xd0b9(%rip), %rsi      # 0x1860c
movl %r12d, %edx
movq %r13, %rcx
xorl %eax, %eax
callq 0x11a0
movq %r15, %rdi
leaq 0xd087(%rip), %rsi      # 0x185f1
movsd 0xcebe(%rip), %xmm0     # 0x18430
movb $0x1, %al
callq 0x11a0
xorl %r12d, %r12d
movq 0x50(%rsp), %rax
movl %eax, %r8d
movq 0x78(%rsp), %rbx
movq 0x8(%rsp), %rdi
movl 0x48(%rsp), %esi
movl %ebp, %r15d
movl 0x58(%rsp), %r9d
movq 0x38(%rsp), %rax
movsbq (%rax,%r14), %rax
movslq %r12d, %r12
movq (%rsp), %rcx
movb $0x20, (%rcx,%r12)
movq 0xb0(%rsp), %rcx
movb (%rcx,%rax), %al
movq 0x10(%rsp), %rbp
movb %al, (%rbp,%r12)
movb $0x2e, (%r13,%r12)
incl %r12d
cmpl %ebx, %r12d
jl 0xb679
movl %esi, 0x48(%rsp)
leal (%r12,%r12,2), %esi
movq 0x88(%rsp), %r15
movq %r15, %rdi
movl %r8d, 0x44(%rsp)
movl %r9d, 0x58(%rsp)
callq 0x3017
movl (%r15), %eax
cltd
pushq $0x3
popq %rcx
idivl %ecx
movl %eax, %ebx
leal (%rbx,%rbx), %eax
movslq %eax, %rdi
addq 0x8(%r15), %rdi
movq %r14, 0x28(%rsp)
movslq %r12d, %r14
movq (%rsp), %rsi
movq %r14, %rdx
callq 0x1230
movq %r13, %rsi
movslq %ebx, %r13
movq 0x8(%r15), %rdi
addq %r13, %rdi
movq %r14, %rdx
callq 0x1230
movq 0x8(%r15), %rdi
movq %rbp, %rsi
movq %r14, %rdx
movq %r13, %r14
callq 0x1230
movl 0x58(%rsp), %r9d
movl 0x48(%rsp), %esi
movl 0x44(%rsp), %r8d
movq 0x8(%rsp), %rdi
movq 0x8(%r15), %rax
movl 0x64(%rsp), %r15d
movq %rax, 0x10(%rsp)
addq %rax, %r13
addq %r13, %r14
movq %r14, (%rsp)
movq 0x28(%rsp), %r14
decl %esi
incq %r14
movl %r9d, %ebp
jmp 0xb32a
movl %r8d, 0x44(%rsp)
movl 0x80(%rsp), %ecx
cmpl %edi, %ecx
cmovgel %edi, %ecx
movslq %r12d, %r10
movl 0x40(%rsp), %eax
movslq %eax, %rdx
movl %ecx, 0x80(%rsp)
subl %ecx, %edi
addl %r12d, %edi
movq %rdi, 0x8(%rsp)
movslq %edi, %rdi
movq %rax, 0x48(%rsp)
movq 0x10(%rsp), %rsi
movq %rdi, 0x90(%rsp)
movq %rbx, %r15
movslq %ebx, %rax
movq 0xc0(%rsp), %rcx
movq %rdx, 0x58(%rsp)
addq %rdx, %rcx
movq %rdi, %rdx
subq %r10, %rdx
movq (%rsp), %rdi
addq %r10, %rdi
leaq (%r13,%r10), %r8
movq %rsi, 0x10(%rsp)
leaq (%rsi,%r10), %r9
leal (%r10,%r10,2), %esi
xorl %r12d, %r12d
movq %r10, %rbx
cmpq %r12, %rdx
je 0xb7ea
movsbq (%rcx,%r12), %r10
movb $0x20, (%rdi,%r12)
movb $0x2e, (%r9,%r12)
movq 0xb0(%rsp), %r11
movb (%r11,%r10), %r10b
movb %r10b, (%r8,%r12)
leaq (%rbx,%r12), %r10
incq %r10
incq %r12
addl $0x3, %esi
cmpq %rax, %r10
jl 0xb702
movq %r13, %r15
movq %r14, 0x28(%rsp)
movq 0x88(%rsp), %r14
movq %r14, %rdi
callq 0x3017
movl (%r14), %eax
cltd
pushq $0x3
popq %rcx
idivl %ecx
movq %rbp, 0x50(%rsp)
movl %eax, %ebp
leal (,%rbp,2), %eax
movslq %eax, %rdi
addq 0x8(%r14), %rdi
addq %r12, %rbx
movq (%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movslq %ebp, %r13
movq 0x8(%r14), %rdi
addq %r13, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x8(%r14), %rdi
movq 0x10(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movq %rbx, %r10
movq %rbp, %rbx
movq 0x50(%rsp), %rbp
movq 0x8(%r14), %rsi
movq 0x28(%rsp), %r14
movq %r13, %rax
addq %rsi, %r13
addq %r13, %rax
movq %rax, (%rsp)
movq 0x48(%rsp), %rax
addl %r12d, %eax
movq %rax, 0x48(%rsp)
movq 0x58(%rsp), %rdx
addq %r12, %rdx
movq 0x90(%rsp), %rdi
jmp 0xb6c7
movq 0x48(%rsp), %rax
movl %eax, %r10d
addl %r12d, %r10d
addl %r12d, %eax
incl %eax
cltq
movq 0xc0(%rsp), %rcx
leaq -0x1(%rcx,%rax), %rax
movl 0x80(%rsp), %r9d
movq 0x18(%rsp), %r12
movq %r15, %rdi
movq %rax, %r15
movq 0x8(%rsp), %r8
leal 0x1(%rbp), %edx
testl %r9d, %r9d
jle 0xbbbe
movl %edx, %eax
cltd
idivl 0x64(%rsp)
cmpl $0x1, %edx
setne %al
testq %r14, %r14
sete %cl
orb %al, %cl
je 0xb84c
movq %r12, %rbx
jmp 0xba9a
testl %r8d, %r8d
jle 0xb844
movq 0x38(%rsp), %rax
cmpb $0x3, (%rax,%r14)
jg 0xb844
movl %r9d, 0x48(%rsp)
movq %r10, 0x98(%rsp)
movq %r8, %rbx
movq %rdi, 0x78(%rsp)
movq %r13, 0x20(%rsp)
pushq $0xa
popq %rdi
movq %r12, %rsi
callq 0x1170
movq %r12, %rdi
leaq 0xccfa(%rip), %rsi      # 0x18586
movl 0x34(%rsp), %r13d
movl %r13d, %edx
leaq 0xd5f4(%rip), %rcx      # 0x18e8f
xorl %eax, %eax
callq 0x11a0
movl 0x178(%rsp), %eax
testl %eax, %eax
jle 0xb8ec
movq %r15, 0x58(%rsp)
movl 0x44(%rsp), %ecx
cmpl 0x70(%rsp), %ecx
movq %r14, 0x28(%rsp)
movq %rbp, 0x50(%rsp)
movq %r12, %rdi
jge 0xb951
leaq 0xcd05(%rip), %rsi      # 0x185d9
movl %eax, %r13d
movl %eax, %edx
xorl %eax, %eax
callq 0x11a0
leaq 0xd5a8(%rip), %r15      # 0x18e8f
jmp 0xb96e
movq %r12, %rdi
leaq 0xcd0c(%rip), %rsi      # 0x18602
movl %ebx, %edx
movq 0x10(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %r12, %rdi
leaq 0xccf1(%rip), %rsi      # 0x185ff
movl %r13d, %edx
leaq 0xd577(%rip), %rcx      # 0x18e8f
movl %ebx, %r8d
movq (%rsp), %r9
xorl %eax, %eax
callq 0x11a0
movq %r12, %rdi
leaq 0xccd9(%rip), %rsi      # 0x18609
movl %r13d, %edx
leaq 0xd555(%rip), %rcx      # 0x18e8f
movl %ebx, %r8d
movq 0x20(%rsp), %r13
movq %r13, %r9
xorl %eax, %eax
callq 0x11a0
jmp 0xba60
leaq 0xcccd(%rip), %rsi      # 0x18625
movl %eax, %r13d
movl %eax, %edx
leaq 0xd52b(%rip), %r15      # 0x18e8f
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
movq %r12, %rdi
leaq 0xcc8a(%rip), %rsi      # 0x18602
movq %r12, %rbp
movq %rbx, %r12
movl %r12d, %edx
movq 0x10(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xcc64(%rip), %rsi      # 0x185fb
movl 0x34(%rsp), %r14d
movl %r14d, %edx
movq %r15, %rcx
movl %r13d, %r8d
movq %r15, %r9
xorl %eax, %eax
pushq (%rsp)
pushq %rbx
movq %rbp, %r12
callq 0x11a0
popq %rcx
popq %rdx
movq %rbp, %rdi
leaq 0xcbc4(%rip), %rsi      # 0x18586
movl %r14d, %edx
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x40(%rsp), %eax
cmpl 0x74(%rsp), %eax
jge 0xb9fa
testb $0x1, 0x6c(%rsp)
movq 0x28(%rsp), %r14
jne 0xba1d
movq %r12, %rdi
leaq 0xcbea(%rip), %rsi      # 0x185d9
movl 0x178(%rsp), %edx
movl %eax, %ecx
jmp 0xba34
movq %r12, %rdi
leaq 0xcc21(%rip), %rsi      # 0x18625
movl %r13d, %edx
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x20(%rsp), %r13
movq 0x28(%rsp), %r14
jmp 0xba40
movl 0x68(%rsp), %ecx
subl %eax, %ecx
movq %r12, %rdi
leaq 0xcbac(%rip), %rsi      # 0x185d9
movl 0x178(%rsp), %edx
xorl %eax, %eax
callq 0x11a0
movq 0x20(%rsp), %r13
movq %r12, %rdi
leaq 0xcbc2(%rip), %rsi      # 0x1860c
movl %ebx, %edx
movq %r13, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x50(%rsp), %rbp
movq 0x58(%rsp), %r15
movq %r12, %rbx
movq %r12, %rdi
leaq 0xcb84(%rip), %rsi      # 0x185f1
movsd 0xc9bb(%rip), %xmm0     # 0x18430
movb $0x1, %al
callq 0x11a0
xorl %r8d, %r8d
movq 0x98(%rsp), %r10
movl %r10d, 0x40(%rsp)
movl %ebp, 0x44(%rsp)
movq 0x78(%rsp), %rdi
movl 0x48(%rsp), %r9d
movsbq (%r15), %rax
cmpq $0x4, %rax
pushq $0x3a
popq %rcx
pushq $0x20
popq %rsi
cmovel %esi, %ecx
movq 0x38(%rsp), %rdx
movsbq (%rdx,%r14), %rdx
cmpq $0x4, %rdx
cmovel %esi, %ecx
movslq %r8d, %r8
movq (%rsp), %rsi
movb %cl, (%rsi,%r8)
movq 0xb0(%rsp), %rsi
movb (%rsi,%rdx), %cl
movq 0x10(%rsp), %r12
movb %cl, (%r12,%r8)
movb (%rsi,%rax), %al
movb %al, (%r13,%r8)
incl %r8d
cmpl %edi, %r8d
jge 0xbaf3
movq %rbx, %r12
jmp 0xbbab
leal (%r8,%r8,2), %esi
movq %r15, 0x58(%rsp)
movq 0x88(%rsp), %r15
movq %rbp, 0x50(%rsp)
movq %r8, %rbp
movq %r15, %rdi
movq %r10, 0x98(%rsp)
movl %r9d, 0x48(%rsp)
callq 0x3017
movl (%r15), %eax
cltd
pushq $0x3
popq %rcx
idivl %ecx
movl %eax, %ebx
leal (%rbx,%rbx), %eax
movslq %eax, %rdi
addq 0x8(%r15), %rdi
movq %r14, 0x28(%rsp)
movslq %ebp, %r14
movq (%rsp), %rsi
movq %r14, %rdx
callq 0x1230
movq %r13, %rsi
movslq %ebx, %r13
movq 0x8(%r15), %rdi
addq %r13, %rdi
movq %r14, %rdx
callq 0x1230
movq 0x8(%r15), %rdi
movq %r12, %rsi
movq %r14, %rdx
movq %r13, %r14
movq 0x18(%rsp), %r12
callq 0x1230
movl 0x48(%rsp), %r9d
movq 0x98(%rsp), %r10
movq %rbp, %r8
movq 0x50(%rsp), %rbp
movq %rbx, %rdi
movq 0x8(%r15), %rax
movq 0x58(%rsp), %r15
movq %rax, 0x10(%rsp)
addq %rax, %r13
addq %r13, %r14
movq %r14, (%rsp)
movq 0x28(%rsp), %r14
decl %r9d
incl %ebp
incq %r14
incl %r10d
incq %r15
jmp 0xb821
cmpl $0x0, 0x80(%rsp)
jle 0xbbf8
movslq %r8d, %r8
movb $0x5b, %al
movq (%rsp), %rcx
movb %al, (%rcx,%r8)
movq 0x10(%rsp), %r14
movb %al, (%r14,%r8)
movb %al, (%r13,%r8)
incl %r8d
cmpl %edi, %r8d
movq 0x88(%rsp), %r15
jge 0xbc02
jmp 0xbc9f
movq 0x10(%rsp), %r14
jmp 0xbc9f
leal (%r8,%r8,2), %esi
movq %r8, 0x8(%rsp)
movq %r15, %rdi
movq %rdx, 0xa0(%rsp)
movq %r14, %rbp
movq %r10, 0x98(%rsp)
callq 0x3017
movl (%r15), %eax
cltd
pushq $0x3
popq %rcx
idivl %ecx
movl %eax, %ebx
leal (%rbx,%rbx), %ecx
movslq %ecx, %rdi
addq 0x8(%r15), %rdi
movslq 0x8(%rsp), %r14
movq (%rsp), %rsi
movq %r14, %rdx
callq 0x1230
movslq %ebx, %r12
movq 0x8(%r15), %rdi
addq %r12, %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x1230
movq 0x8(%r15), %rdi
movq %rbp, %rsi
movq %r14, %rdx
movq %r12, %rbp
movq 0x18(%rsp), %r12
callq 0x1230
movq 0x98(%rsp), %r10
movq 0xa0(%rsp), %rdx
movq 0x8(%rsp), %r8
movq %rbx, %rdi
movq 0x8(%r15), %r14
leaq (%r14,%rbp), %r13
addq %r13, %rbp
movq %rbp, (%rsp)
incl %r10d
xorl %eax, %eax
movq 0x100(%rsp), %rcx
testl %ecx, %ecx
cmovlel %eax, %ecx
movq %rcx, 0x100(%rsp)
movq 0xc8(%rsp), %rax
decq %rax
movq %rax, 0x120(%rsp)
movq 0xc0(%rsp), %rax
decq %rax
movq %rax, 0x118(%rsp)
movq 0xe0(%rsp), %rax
subl 0xbc(%rsp), %eax
movl %eax, 0x108(%rsp)
xorl %eax, %eax
xorl %r9d, %r9d
xorl %esi, %esi
movq %r10, 0x98(%rsp)
movslq %r10d, %r11
movslq %edx, %rbx
movq %rdx, 0xa0(%rsp)
movl %edx, %r10d
cmpq 0x100(%rsp), %rax
movq %r10, 0x58(%rsp)
je 0xcb51
movq %rax, %rcx
movq 0x130(%rsp), %rax
movq %rcx, 0xe8(%rsp)
movslq (%rax,%rcx,4), %rax
testq %rax, %rax
js 0xc2a0
movq %rbx, %rcx
shlq $0x20, %rcx
leal -0x1(%rbx), %edx
movq %rdx, 0x98(%rsp)
movq 0xf8(%rsp), %rdx
subq %rbx, %rdx
movq %rdx, 0xd8(%rsp)
addq 0x120(%rsp), %rbx
leal -0x1(%r11), %edx
movq %rdx, 0xd0(%rsp)
movq %rax, 0x128(%rsp)
subq %r11, %rax
movq %rax, 0x8(%rsp)
addq 0x118(%rsp), %r11
xorl %r15d, %r15d
movq %r11, 0x80(%rsp)
movq %rbx, 0x90(%rsp)
leal (%r10,%r15), %eax
cltd
idivl 0x64(%rsp)
cvtsi2sd %r9d, %xmm0
cmpq %r15, 0x8(%rsp)
je 0xc1be
cmpl $0x1, %edx
movq %rcx, 0x50(%rsp)
jne 0xc06c
cmpq %r15, 0xd8(%rsp)
je 0xc06c
testl %r8d, %r8d
jle 0xc06c
cmpb $0x3, (%rbx,%r15)
jg 0xc06c
movsd %xmm0, 0xa8(%rsp)
movq %r15, 0x48(%rsp)
movl %esi, 0x28(%rsp)
movl %r9d, 0x38(%rsp)
movq %r8, %rbx
movq %rdi, 0x78(%rsp)
movq %r14, 0x10(%rsp)
movq %r13, 0x20(%rsp)
pushq $0xa
popq %rdi
movq %r12, %rsi
callq 0x1170
movq %r12, %rdi
leaq 0xc753(%rip), %rsi      # 0x18586
movl 0x34(%rsp), %r14d
movl %r14d, %edx
leaq 0xd04d(%rip), %r15      # 0x18e8f
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x178(%rsp), %r13d
testl %r13d, %r13d
jle 0xbe87
movl 0x44(%rsp), %ecx
cmpl 0x70(%rsp), %ecx
jge 0xbeef
movq %r12, %rdi
leaq 0xc768(%rip), %rsi      # 0x185d9
movl %r13d, %edx
xorl %eax, %eax
callq 0x11a0
leaq 0xd00d(%rip), %r15      # 0x18e8f
jmp 0xbf0d
movq %r12, %rdi
leaq 0xc771(%rip), %rsi      # 0x18602
movl %ebx, %edx
movq 0x10(%rsp), %rbp
movq %rbp, %rcx
xorl %eax, %eax
callq 0x11a0
movq %r12, %rdi
leaq 0xc753(%rip), %rsi      # 0x185ff
movl %r14d, %edx
movq %r15, %rcx
movl %ebx, %r8d
movq (%rsp), %r9
xorl %eax, %eax
callq 0x11a0
movq %r12, %rdi
leaq 0xc73f(%rip), %rsi      # 0x18609
movl %r14d, %edx
movq %r15, %rcx
movl %ebx, %r8d
movq 0x20(%rsp), %r13
movq %rbp, %r14
movq %r13, %r9
xorl %eax, %eax
callq 0x11a0
movq 0x48(%rsp), %r15
jmp 0xbffa
movq %r12, %rdi
leaq 0xc72c(%rip), %rsi      # 0x18625
movl %r13d, %edx
leaq 0xcf8c(%rip), %r15      # 0x18e8f
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
movq %r12, %rdi
leaq 0xc6eb(%rip), %rsi      # 0x18602
movq %r12, %rbp
movq %rbx, %r12
movl %r12d, %edx
movq 0x10(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xc6c5(%rip), %rsi      # 0x185fb
movl 0x34(%rsp), %r14d
movl %r14d, %edx
movq %r15, %rcx
movl %r13d, %r8d
movq %r15, %r9
xorl %eax, %eax
pushq (%rsp)
pushq %rbx
movq %rbp, %r12
callq 0x11a0
popq %rcx
popq %rdx
movq %rbp, %rdi
leaq 0xc625(%rip), %rsi      # 0x18586
movl %r14d, %edx
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x40(%rsp), %eax
cmpl 0x74(%rsp), %eax
jge 0xbf99
testb $0x1, 0x6c(%rsp)
movq 0x48(%rsp), %r15
jne 0xbfbc
movq %r12, %rdi
leaq 0xc64b(%rip), %rsi      # 0x185d9
movl 0x178(%rsp), %edx
movl %eax, %ecx
jmp 0xbfd3
movq %r12, %rdi
leaq 0xc682(%rip), %rsi      # 0x18625
movl %r13d, %edx
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x20(%rsp), %r13
movq 0x48(%rsp), %r15
jmp 0xbfdf
movl 0x68(%rsp), %ecx
subl %eax, %ecx
movq %r12, %rdi
leaq 0xc60d(%rip), %rsi      # 0x185d9
movl 0x178(%rsp), %edx
xorl %eax, %eax
callq 0x11a0
movq 0x20(%rsp), %r13
movq %r12, %rdi
leaq 0xc623(%rip), %rsi      # 0x1860c
movl %ebx, %edx
movq %r13, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x10(%rsp), %r14
movsd 0xa8(%rsp), %xmm0
mulsd 0xc015(%rip), %xmm0     # 0x18020
movl 0x28(%rsp), %eax
addl 0x38(%rsp), %eax
cvtsi2sd %eax, %xmm1
divsd %xmm1, %xmm0
movq %r12, %rdi
leaq 0xc5cc(%rip), %rsi      # 0x185f1
movb $0x1, %al
callq 0x11a0
movq 0xd0(%rsp), %rax
addl %r15d, %eax
movl %eax, 0x40(%rsp)
movq 0x98(%rsp), %rax
addl %r15d, %eax
movl %eax, 0x44(%rsp)
xorl %r9d, %r9d
xorl %esi, %esi
xorl %r8d, %r8d
movq 0x78(%rsp), %rdi
movq 0x58(%rsp), %r10
movq 0x80(%rsp), %r11
movq 0x90(%rsp), %rbx
movsbq (%rbx,%r15), %rax
movb (%r11,%r15), %cl
cmpq $0x4, %rax
je 0xc093
cmpb $0x4, %cl
je 0xc093
movslq %r8d, %rdx
movl %esi, %ebp
cmpb %cl, %al
jne 0xc0a2
movq (%rsp), %rsi
movb $0x7c, (%rsi,%rdx)
jmp 0xc0aa
movl %esi, %ebp
movslq %r8d, %rdx
movq (%rsp), %rsi
movb $0x20, (%rsi,%rdx)
jmp 0xc0aa
movq (%rsp), %rsi
movb $0x2a, (%rsi,%rdx)
movsbq %cl, %rcx
movq 0xb0(%rsp), %rsi
movb (%rsi,%rax), %al
movb %al, (%r14,%rdx)
movb (%rsi,%rcx), %al
movb %al, (%r13,%rdx)
incl %r8d
cmpl %edi, %r8d
jl 0xc18b
leal (%r8,%r8,2), %esi
movq %r14, 0x10(%rsp)
movl %ebp, 0x28(%rsp)
movq %r13, %rbp
movq 0x88(%rsp), %r13
movq %r8, %rbx
movq %r13, %rdi
movl %r9d, 0x38(%rsp)
callq 0x3017
movl (%r13), %eax
cltd
pushq $0x3
popq %rcx
idivl %ecx
movl %eax, %r12d
leal (%r12,%r12), %eax
movslq %eax, %rdi
addq 0x8(%r13), %rdi
movslq %ebx, %r14
movq (%rsp), %rsi
movq %r14, %rdx
callq 0x1230
movq %r15, 0x48(%rsp)
movslq %r12d, %r15
movq 0x8(%r13), %rdi
addq %r15, %rdi
movq %rbp, %rsi
movl 0x28(%rsp), %ebp
movq %r14, %rdx
callq 0x1230
movq 0x8(%r13), %rdi
movq 0x10(%rsp), %rsi
movq %r14, %rdx
movq 0x18(%rsp), %r14
callq 0x1230
movq 0x80(%rsp), %r11
movq 0x58(%rsp), %r10
movl 0x38(%rsp), %r9d
movq %rbx, %r8
movq 0x90(%rsp), %rbx
movq %r12, %rdi
movq %r14, %r12
movq 0x8(%r13), %r14
leaq (%r14,%r15), %r13
addq %r13, %r15
movq %r15, (%rsp)
movq 0x48(%rsp), %r15
movb (%rbx,%r15), %al
xorl %ecx, %ecx
xorl %edx, %edx
cmpb (%r11,%r15), %al
sete %cl
setne %dl
addl %edx, %r9d
addl %ecx, %ebp
movabsq $0x100000000, %rax      # imm = 0x100000000
movq 0x50(%rsp), %rcx
addq %rax, %rcx
incq %r15
movl %ebp, %esi
jmp 0xbdac
movl %esi, %r10d
sarq $0x20, %rcx
cmpl $0x1, %edx
jne 0xc84f
movl 0x108(%rsp), %eax
movq 0xa0(%rsp), %rsi
subl %esi, %eax
incl %eax
cmpl %r15d, %eax
je 0xca33
testl %r8d, %r8d
jle 0xca33
movq 0xc8(%rsp), %rax
cmpb $0x3, -0x1(%rax,%rcx)
jg 0xca33
movsd %xmm0, 0xa8(%rsp)
movq %rcx, 0x50(%rsp)
movl %r10d, 0x28(%rsp)
movl %r9d, 0x38(%rsp)
movq %r8, 0x8(%rsp)
movq %rdi, 0x78(%rsp)
movq %r14, %rbx
pushq $0xa
popq %rdi
movq %r12, %rsi
callq 0x1170
movq %r12, %rdi
leaq 0xc346(%rip), %rsi      # 0x18586
movl 0x34(%rsp), %ebp
movl %ebp, %edx
leaq 0xcc42(%rip), %rcx      # 0x18e8f
xorl %eax, %eax
callq 0x11a0
movl 0x178(%rsp), %r14d
testl %r14d, %r14d
jle 0xc85c
movq %r15, 0x48(%rsp)
movl 0x44(%rsp), %ecx
cmpl 0x70(%rsp), %ecx
movq %r13, 0x20(%rsp)
movq %r12, %rdi
jge 0xc8c8
leaq 0xc352(%rip), %rsi      # 0x185d9
movl %r14d, %edx
xorl %eax, %eax
callq 0x11a0
movq %rbx, %rcx
leaq 0xcbf4(%rip), %r15      # 0x18e8f
jmp 0xc8e6
movl %eax, %ecx
negl %ecx
movq 0xa0(%rsp), %rax
decl %eax
movq %rax, 0xa0(%rsp)
movq 0xf8(%rsp), %rax
subq %rbx, %rax
movq %rax, 0xd8(%rsp)
movq %rcx, 0xd0(%rsp)
subq %rbx, %rcx
movq %rcx, 0x48(%rsp)
addq 0x120(%rsp), %rbx
movq %r11, %r15
shlq $0x20, %r15
leal -0x1(%r11), %eax
movq %rax, 0xa8(%rsp)
addq 0x118(%rsp), %r11
xorl %r12d, %r12d
movq %r11, 0x80(%rsp)
movq %rbx, 0x90(%rsp)
cmpq %r12, 0x48(%rsp)
je 0xc728
leal (%r10,%r12), %eax
cltd
idivl 0x64(%rsp)
cmpl $0x1, %edx
jne 0xc5db
cmpq %r12, 0xd8(%rsp)
je 0xc5db
testl %r8d, %r8d
jle 0xc5db
cmpb $0x3, (%rbx,%r12)
jg 0xc5db
movq %r15, 0x50(%rsp)
movl %esi, 0x28(%rsp)
movq %r14, 0x10(%rsp)
movq %r13, 0x20(%rsp)
movl %r9d, 0x38(%rsp)
movq %r8, 0x8(%rsp)
movq %rdi, 0x78(%rsp)
pushq $0xa
popq %rdi
movq 0x18(%rsp), %r13
movq %r13, %rsi
callq 0x1170
movq %r13, %rdi
leaq 0xc1fc(%rip), %rsi      # 0x18586
movl 0x34(%rsp), %r15d
movl %r15d, %edx
leaq 0xcaf6(%rip), %rbp      # 0x18e8f
movq %rbp, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x178(%rsp), %eax
testl %eax, %eax
jle 0xc3e3
movl 0x44(%rsp), %ecx
cmpl 0x70(%rsp), %ecx
jge 0xc452
movq 0x18(%rsp), %r13
movq %r13, %rdi
leaq 0xc20e(%rip), %rsi      # 0x185d9
movl %eax, %r15d
movl %eax, %edx
xorl %eax, %eax
callq 0x11a0
leaq 0xcab1(%rip), %rbp      # 0x18e8f
jmp 0xc477
movq %r13, %rdi
leaq 0xc215(%rip), %rsi      # 0x18602
movq 0x8(%rsp), %rbx
movl %ebx, %edx
movq 0x10(%rsp), %r14
movq %r14, %rcx
xorl %eax, %eax
callq 0x11a0
movq %r13, %rdi
leaq 0xc1f2(%rip), %rsi      # 0x185ff
movl %r15d, %edx
movq %rbp, %rcx
movl %ebx, %r8d
movq (%rsp), %r9
xorl %eax, %eax
callq 0x11a0
movq %r13, %rdi
leaq 0xc1de(%rip), %rsi      # 0x18609
movl %r15d, %edx
movq %rbp, %rcx
movl %ebx, %r8d
movq 0x90(%rsp), %rbx
movq 0x20(%rsp), %r9
xorl %eax, %eax
callq 0x11a0
movq 0x50(%rsp), %r15
jmp 0xc56f
movq 0x18(%rsp), %r13
movq %r13, %rdi
leaq 0xc1c4(%rip), %rsi      # 0x18625
movl %eax, %r15d
movl %eax, %edx
leaq 0xca22(%rip), %rbp      # 0x18e8f
movq %rbp, %rcx
xorl %eax, %eax
callq 0x11a0
movq %r13, %rdi
leaq 0xc181(%rip), %rsi      # 0x18602
movq 0x8(%rsp), %rbx
movl %ebx, %edx
movq 0x10(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %r13, %rdi
leaq 0xc15d(%rip), %rsi      # 0x185fb
movl 0x34(%rsp), %r14d
movl %r14d, %edx
movq %rbp, %rcx
movl %r15d, %r8d
movq %rbp, %r9
xorl %eax, %eax
pushq (%rsp)
pushq %rbx
callq 0x11a0
popq %rcx
popq %rdx
movq %r13, %rdi
leaq 0xc0c0(%rip), %rsi      # 0x18586
movl %r14d, %edx
movq %rbp, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x40(%rsp), %eax
cmpl 0x74(%rsp), %eax
jge 0xc506
testb $0x1, 0x6c(%rsp)
movq 0x90(%rsp), %rbx
jne 0xc527
movq 0x18(%rsp), %r13
movq %r13, %rdi
leaq 0xc0de(%rip), %rsi      # 0x185d9
movl 0x178(%rsp), %edx
movl %eax, %ecx
jmp 0xc543
movq %r13, %rdi
leaq 0xc115(%rip), %rsi      # 0x18625
movl %r15d, %edx
movq %rbp, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x90(%rsp), %rbx
jmp 0xc54a
movl 0x68(%rsp), %ecx
subl %eax, %ecx
movq 0x18(%rsp), %r13
movq %r13, %rdi
leaq 0xc09d(%rip), %rsi      # 0x185d9
movl 0x178(%rsp), %edx
xorl %eax, %eax
callq 0x11a0
movq 0x10(%rsp), %r14
movq 0x50(%rsp), %r15
movq %r13, %rdi
leaq 0xc0ae(%rip), %rsi      # 0x1860c
movq 0x8(%rsp), %rdx
movq 0x20(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x38(%rsp), %eax
cvtsi2sd %eax, %xmm0
mulsd 0xbaa1(%rip), %xmm0     # 0x18020
movl 0x28(%rsp), %ecx
addl %eax, %ecx
cvtsi2sd %ecx, %xmm1
divsd %xmm1, %xmm0
movq %r13, %rdi
leaq 0xc05a(%rip), %rsi      # 0x185f1
movb $0x1, %al
callq 0x11a0
movq 0xa8(%rsp), %rax
addl %r12d, %eax
movl %eax, 0x40(%rsp)
movq 0xa0(%rsp), %rax
addl %r12d, %eax
movl %eax, 0x44(%rsp)
xorl %r9d, %r9d
xorl %esi, %esi
xorl %r8d, %r8d
movq 0x78(%rsp), %rdi
movq 0x58(%rsp), %r10
movq 0x20(%rsp), %r13
movq 0x80(%rsp), %r11
movsbq (%rbx,%r12), %rax
movb (%r11,%r12), %cl
cmpq $0x4, %rax
je 0xc602
cmpb $0x4, %cl
je 0xc602
movslq %r8d, %rdx
movl %esi, %ebp
cmpb %cl, %al
jne 0xc611
movq (%rsp), %rsi
movb $0x7c, (%rsi,%rdx)
jmp 0xc619
movl %esi, %ebp
movslq %r8d, %rdx
movq (%rsp), %rsi
movb $0x20, (%rsi,%rdx)
jmp 0xc619
movq (%rsp), %rsi
movb $0x2a, (%rsi,%rdx)
movsbq %cl, %rcx
movq 0xb0(%rsp), %rsi
movb (%rsi,%rax), %al
movb %al, (%r14,%rdx)
movb (%rsi,%rcx), %al
movb %al, (%r13,%rdx)
incl %r8d
cmpl %edi, %r8d
jge 0xc643
movl %ebp, %esi
jmp 0xc6fc
leal (%r8,%r8,2), %esi
movq %r15, 0x50(%rsp)
movq %r8, %r15
movq %r12, 0x10(%rsp)
movq 0x88(%rsp), %r12
movq %r12, %rdi
movl %ebp, 0x28(%rsp)
movq %r14, %rbp
movl %r9d, 0x38(%rsp)
callq 0x3017
movl (%r12), %eax
cltd
pushq $0x3
popq %rcx
idivl %ecx
movl %eax, %ebx
leal (%rbx,%rbx), %eax
movslq %eax, %rdi
addq 0x8(%r12), %rdi
movslq %r15d, %r14
movq (%rsp), %rsi
movq %r14, %rdx
callq 0x1230
movq %r13, %rsi
movslq %ebx, %r13
movq 0x8(%r12), %rdi
addq %r13, %rdi
movq %r14, %rdx
callq 0x1230
movq 0x8(%r12), %rdi
movq %rbp, %rsi
movq %r14, %rdx
movq %r13, %rbp
callq 0x1230
movq 0x80(%rsp), %r11
movq 0x58(%rsp), %r10
movl 0x38(%rsp), %r9d
movl 0x28(%rsp), %esi
movq %r15, %r8
movq 0x50(%rsp), %r15
movq %rbx, %rdi
movq 0x90(%rsp), %rbx
movq 0x8(%r12), %r14
movq 0x10(%rsp), %r12
addq %r14, %r13
addq %r13, %rbp
movq %rbp, (%rsp)
movb (%rbx,%r12), %al
xorl %ecx, %ecx
xorl %edx, %edx
cmpb (%r11,%r12), %al
sete %cl
setne %dl
addl %edx, %r9d
addl %ecx, %esi
incq %r12
movabsq $0x100000000, %rax      # imm = 0x100000000
addq %rax, %r15
jmp 0xc30f
movl %esi, %r10d
sarq $0x20, %r15
movq 0xc0(%rsp), %rax
movsbq -0x1(%rax,%r15), %rax
cmpq $0x7, %rax
pushq $0x2a
popq %rcx
pushq $0x7c
popq %rdx
cmovel %edx, %ecx
cmpq $0x4, %rax
movslq %r8d, %rdx
pushq $0x20
popq %rsi
cmovel %esi, %ecx
movq (%rsp), %rsi
movb %cl, (%rsi,%rdx)
movb $0x2d, (%r14,%rdx)
movq 0xb0(%rsp), %rcx
movb (%rcx,%rax), %al
movb %al, (%r13,%rdx)
incl %r8d
cmpl %edi, %r8d
jge 0xc78b
movq 0x98(%rsp), %rax
movl %r10d, %esi
jmp 0xc82e
leal (%r8,%r8,2), %esi
movq %r8, %r15
movq %r12, 0x10(%rsp)
movq 0x88(%rsp), %r12
movq %r12, %rdi
movl %r10d, 0x28(%rsp)
movq %r14, %rbp
movl %r9d, 0x38(%rsp)
callq 0x3017
movl (%r12), %eax
cltd
pushq $0x3
popq %rcx
idivl %ecx
movl %eax, %ebx
leal (%rbx,%rbx), %eax
movslq %eax, %rdi
addq 0x8(%r12), %rdi
movslq %r15d, %r14
movq (%rsp), %rsi
movq %r14, %rdx
callq 0x1230
movq %r13, %rsi
movslq %ebx, %r13
movq 0x8(%r12), %rdi
addq %r13, %rdi
movq %r14, %rdx
callq 0x1230
movq 0x8(%r12), %rdi
movq %rbp, %rsi
movq %r14, %rdx
movq %r13, %rbp
callq 0x1230
movl 0x38(%rsp), %r9d
movl 0x28(%rsp), %esi
movq %r15, %r8
movq %rbx, %rdi
movq 0x8(%r12), %r14
movq 0x10(%rsp), %r12
addq %r14, %r13
addq %r13, %rbp
movq %rbp, (%rsp)
movq 0x98(%rsp), %rax
movq 0xd0(%rsp), %rdx
leal (%rax,%r12), %r10d
incl %r10d
movq 0x18(%rsp), %r12
movq 0xe8(%rsp), %rax
jmp 0xcb46
movq 0xa0(%rsp), %rsi
jmp 0xca33
movq %r12, %rdi
leaq 0xbd9c(%rip), %rsi      # 0x18602
movq %r15, %r14
movq 0x8(%rsp), %r15
movl %r15d, %edx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x11a0
movq %r12, %rdi
leaq 0xbd7a(%rip), %rsi      # 0x185ff
movl %ebp, %edx
leaq 0xc601(%rip), %rcx      # 0x18e8f
movl %r15d, %r8d
movq (%rsp), %r9
xorl %eax, %eax
callq 0x11a0
movq %r12, %rdi
leaq 0xbd63(%rip), %rsi      # 0x18609
movl %ebp, %edx
leaq 0xc5e0(%rip), %rcx      # 0x18e8f
movl %r15d, %r8d
movq %r14, %r15
movq %r13, %r9
xorl %eax, %eax
callq 0x11a0
movl 0x28(%rsp), %ebp
jmp 0xc9cf
leaq 0xbd56(%rip), %rsi      # 0x18625
movl %r14d, %edx
leaq 0xc5b6(%rip), %r15      # 0x18e8f
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
movq %rbx, %rcx
movq %r12, %rdi
leaq 0xbd12(%rip), %rsi      # 0x18602
movq %r12, %r13
movq 0x8(%rsp), %r12
movl %r12d, %edx
xorl %eax, %eax
callq 0x11a0
movq %r13, %rdi
leaq 0xbcef(%rip), %rsi      # 0x185fb
movl 0x34(%rsp), %ebp
movl %ebp, %edx
movq %r15, %rcx
movl %r14d, %r8d
movq %r15, %r9
xorl %eax, %eax
pushq (%rsp)
pushq %r12
movq %r13, %r12
callq 0x11a0
popq %rcx
popq %rdx
movq %r13, %rdi
leaq 0xbc50(%rip), %rsi      # 0x18586
movl %ebp, %edx
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x40(%rsp), %eax
cmpl 0x74(%rsp), %eax
jge 0xc971
testb $0x1, 0x6c(%rsp)
movl 0x28(%rsp), %ebp
movq 0x20(%rsp), %r13
jne 0xc993
movq %r12, %rdi
leaq 0xbc73(%rip), %rsi      # 0x185d9
movl 0x178(%rsp), %edx
movl %eax, %ecx
jmp 0xc9aa
movq %r12, %rdi
leaq 0xbcaa(%rip), %rsi      # 0x18625
movl %r14d, %edx
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x28(%rsp), %ebp
movq 0x20(%rsp), %r13
jmp 0xc9b1
movl 0x68(%rsp), %ecx
subl %eax, %ecx
movq %r12, %rdi
leaq 0xbc36(%rip), %rsi      # 0x185d9
movl 0x178(%rsp), %edx
xorl %eax, %eax
callq 0x11a0
movq 0x48(%rsp), %r15
movq %r12, %rdi
leaq 0xbc4c(%rip), %rsi      # 0x1860c
movq 0x8(%rsp), %rdx
movq %r13, %rcx
xorl %eax, %eax
callq 0x11a0
movsd 0xa8(%rsp), %xmm0
mulsd 0xb640(%rip), %xmm0     # 0x18020
addl 0x38(%rsp), %ebp
cvtsi2sd %ebp, %xmm1
divsd %xmm1, %xmm0
movq %r12, %rdi
leaq 0xbbfb(%rip), %rsi      # 0x185f1
movb $0x1, %al
callq 0x11a0
movq 0xa0(%rsp), %rsi
leal (%rsi,%r15), %eax
decl %eax
movl %eax, 0x44(%rsp)
movq 0x128(%rsp), %rax
decl %eax
movl %eax, 0x40(%rsp)
xorl %r9d, %r9d
xorl %r10d, %r10d
xorl %r8d, %r8d
movq 0x78(%rsp), %rdi
movq %rbx, %r14
movq 0x50(%rsp), %rcx
movq 0xc8(%rsp), %rax
movsbq -0x1(%rax,%rcx), %rax
cmpq $0x7, %rax
pushq $0x2a
popq %rcx
pushq $0x7c
popq %rdx
cmovel %edx, %ecx
cmpq $0x4, %rax
movslq %r8d, %r8
pushq $0x20
popq %rdx
cmovel %edx, %ecx
movq (%rsp), %rdx
movb %cl, (%rdx,%r8)
movq 0xb0(%rsp), %rcx
movb (%rcx,%rax), %al
movb %al, (%r14,%r8)
movb $0x2d, (%r13,%r8)
incl %r8d
cmpl %edi, %r8d
jl 0xcb2d
leal (%r8,%r8,2), %esi
movq 0x88(%rsp), %rbx
movq %r15, 0x48(%rsp)
movq %r8, %r15
movq %rbx, %rdi
movl %r10d, 0x28(%rsp)
movq %r14, %r12
movl %r9d, 0x38(%rsp)
callq 0x3017
movl (%rbx), %eax
cltd
pushq $0x3
popq %rcx
idivl %ecx
leal (%rax,%rax), %ecx
movq %rax, %rbp
movq %rax, 0x78(%rsp)
movslq %ecx, %rdi
addq 0x8(%rbx), %rdi
movslq %r15d, %r14
movq (%rsp), %rsi
movq %r14, %rdx
callq 0x1230
movq %r13, %rsi
movslq %ebp, %rbp
movq 0x8(%rbx), %rdi
addq %rbp, %rdi
movq %r14, %rdx
callq 0x1230
movq 0x8(%rbx), %rdi
movq %r12, %rsi
movq %r14, %rdx
movq 0x18(%rsp), %r12
callq 0x1230
movq 0xa0(%rsp), %rsi
movl 0x38(%rsp), %r9d
movl 0x28(%rsp), %r10d
movq %r15, %r8
movq 0x48(%rsp), %r15
movq 0x78(%rsp), %rdi
movq 0x8(%rbx), %r14
leaq (%r14,%rbp), %r13
addq %r13, %rbp
movq %rbp, (%rsp)
movq 0xe8(%rsp), %rax
leal (%rsi,%r15), %edx
incl %edx
movl %r10d, %esi
movq 0x128(%rsp), %r10
incl %r9d
incq %rax
jmp 0xbcfc
movq %r14, 0x10(%rsp)
movq %r13, 0x20(%rsp)
movq 0x110(%rsp), %rax
movq (%rax), %rax
movslq 0x18(%rax), %rax
movq %rax, 0xd0(%rsp)
movq 0xa0(%rsp), %rax
decl %eax
movq %rax, 0xa0(%rsp)
subq %rbx, 0xf8(%rsp)
movq 0xc8(%rsp), %rax
addq %rbx, %rax
decq %rax
movq %rax, 0x50(%rsp)
movq 0x98(%rsp), %rax
decl %eax
movq %rax, 0xe8(%rsp)
movq 0xc0(%rsp), %rax
addq %r11, %rax
decq %rax
movq %rax, 0xd8(%rsp)
xorl %ebp, %ebp
xorl %r14d, %r14d
movq %r11, 0x80(%rsp)
movq %rbx, 0x90(%rsp)
leaq (%rbx,%rbp), %rax
cmpq 0xd0(%rsp), %rax
jg 0xd017
leaq (%r10,%rbp), %rax
cltd
idivl 0x64(%rsp)
cmpl $0x1, %edx
movq %rbp, 0x48(%rsp)
jne 0xce9a
cmpq %rbp, 0xf8(%rsp)
je 0xce9a
testl %r8d, %r8d
jle 0xce9a
movq 0x50(%rsp), %rax
cmpb $0x3, (%rax,%rbp)
jg 0xce9a
movq %r14, 0xa8(%rsp)
movl %esi, %ebp
movl %r9d, 0x38(%rsp)
movq %r8, %r13
movq %rdi, 0x78(%rsp)
pushq $0xa
popq %rdi
movq %r12, %rsi
callq 0x1170
movq %r12, %rdi
leaq 0xb92f(%rip), %rsi      # 0x18586
movl 0x34(%rsp), %r14d
movl %r14d, %edx
leaq 0xc229(%rip), %r15      # 0x18e8f
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x178(%rsp), %eax
testl %eax, %eax
jle 0xccb3
movl 0x44(%rsp), %ecx
cmpl 0x70(%rsp), %ecx
movl %ebp, 0x28(%rsp)
jge 0xcd16
movq 0x18(%rsp), %r12
movq %r12, %rdi
leaq 0xb93d(%rip), %rsi      # 0x185d9
movl %eax, %ebx
movl %eax, %edx
xorl %eax, %eax
callq 0x11a0
leaq 0xc1e1(%rip), %r15      # 0x18e8f
jmp 0xcd3a
movq %r12, %rdi
leaq 0xb945(%rip), %rsi      # 0x18602
movl %r13d, %edx
movq 0x10(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %r12, %rdi
leaq 0xb929(%rip), %rsi      # 0x185ff
movl %r14d, %edx
movq %r15, %rcx
movl %r13d, %r8d
movq (%rsp), %r9
xorl %eax, %eax
callq 0x11a0
movq %r12, %rdi
leaq 0xb915(%rip), %rsi      # 0x18609
movl %r14d, %edx
movq %r15, %rcx
movl %r13d, %r8d
movq 0x20(%rsp), %r9
xorl %eax, %eax
callq 0x11a0
movq 0xa8(%rsp), %r14
jmp 0xce2c
movq 0x18(%rsp), %r12
movq %r12, %rdi
leaq 0xb900(%rip), %rsi      # 0x18625
movl %eax, %ebx
movl %eax, %edx
leaq 0xc15f(%rip), %r15      # 0x18e8f
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
movq %r12, %rdi
leaq 0xb8be(%rip), %rsi      # 0x18602
movq %r13, %rbp
movl %ebp, %edx
movq 0x10(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %r12, %rdi
leaq 0xb89c(%rip), %rsi      # 0x185fb
movl 0x34(%rsp), %r14d
movl %r14d, %edx
movq %r15, %rcx
movl %ebx, %r8d
movq %r15, %r9
xorl %eax, %eax
pushq (%rsp)
pushq %r13
callq 0x11a0
popq %rcx
popq %rdx
movq %r12, %rdi
leaq 0xb7fe(%rip), %rsi      # 0x18586
movl %r14d, %edx
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x40(%rsp), %eax
cmpl 0x74(%rsp), %eax
jge 0xcdcc
testb $0x1, 0x6c(%rsp)
movl 0x28(%rsp), %ebp
movq 0xa8(%rsp), %r14
jne 0xcdf0
movq 0x18(%rsp), %r12
movq %r12, %rdi
leaq 0xb818(%rip), %rsi      # 0x185d9
movl 0x178(%rsp), %edx
movl %eax, %ecx
jmp 0xce0c
movq %r12, %rdi
leaq 0xb84f(%rip), %rsi      # 0x18625
movl %ebx, %edx
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x28(%rsp), %ebp
movq 0xa8(%rsp), %r14
jmp 0xce13
movl 0x68(%rsp), %ecx
subl %eax, %ecx
movq 0x18(%rsp), %r12
movq %r12, %rdi
leaq 0xb7d4(%rip), %rsi      # 0x185d9
movl 0x178(%rsp), %edx
xorl %eax, %eax
callq 0x11a0
movq %r12, %rdi
leaq 0xb7ef(%rip), %rsi      # 0x1860c
movl %r13d, %edx
movq 0x20(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x38(%rsp), %ebx
cvtsi2sd %ebx, %xmm0
mulsd 0xb1e4(%rip), %xmm0     # 0x18020
addl %ebx, %ebp
cvtsi2sd %ebp, %xmm1
divsd %xmm1, %xmm0
movq %r12, %rdi
leaq 0xb7a1(%rip), %rsi      # 0x185f1
movb $0x1, %al
callq 0x11a0
movq 0xe8(%rsp), %rax
movq 0x48(%rsp), %rbp
addl %ebp, %eax
movl %eax, 0x40(%rsp)
movq 0xa0(%rsp), %rax
addl %ebp, %eax
movl %eax, 0x44(%rsp)
xorl %r9d, %r9d
xorl %esi, %esi
xorl %r8d, %r8d
movq 0x78(%rsp), %rdi
movq 0x58(%rsp), %r10
movq 0x80(%rsp), %r11
movq 0x90(%rsp), %rbx
movq 0x50(%rsp), %rax
movsbq (%rax,%rbp), %rax
movq 0xd8(%rsp), %rcx
movb (%rcx,%rbp), %cl
cmpq $0x4, %rax
movl %esi, 0x28(%rsp)
je 0xcecf
cmpb $0x4, %cl
je 0xcecf
movslq %r8d, %rdx
cmpb %cl, %al
jne 0xcedc
movq (%rsp), %rsi
movb $0x7c, (%rsi,%rdx)
jmp 0xcee4
movslq %r8d, %rdx
movq (%rsp), %rsi
movb $0x20, (%rsi,%rdx)
jmp 0xcee4
movq (%rsp), %rsi
movb $0x2a, (%rsi,%rdx)
movsbq %cl, %rcx
movq 0xb0(%rsp), %rsi
movb (%rsi,%rax), %al
movq 0x10(%rsp), %rbp
movb %al, (%rbp,%rdx)
movb (%rsi,%rcx), %al
movq 0x20(%rsp), %r13
movb %al, (%r13,%rdx)
incl %r8d
cmpl %edi, %r8d
jl 0xcfd7
leal (%r8,%r8,2), %esi
movq 0x88(%rsp), %r12
movq %r8, 0x8(%rsp)
movq %r12, %rdi
movl %r9d, 0x38(%rsp)
callq 0x3017
movl (%r12), %eax
cltd
pushq $0x3
popq %rcx
idivl %ecx
movl %eax, %ebx
leal (%rbx,%rbx), %eax
movslq %eax, %rdi
addq 0x8(%r12), %rdi
movq %r14, 0xa8(%rsp)
movslq 0x8(%rsp), %r14
movq (%rsp), %rsi
movq %r14, %rdx
callq 0x1230
movslq %ebx, %r15
movq 0x8(%r12), %rdi
addq %r15, %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x1230
movq 0x8(%r12), %rdi
movq %rbp, %rsi
movq %r14, %rdx
movq %r15, %r14
movq 0x18(%rsp), %r15
callq 0x1230
movq 0x80(%rsp), %r11
movq 0x58(%rsp), %r10
movl 0x38(%rsp), %r9d
movq 0x8(%rsp), %r8
movq %rbx, %rdi
movq 0x90(%rsp), %rbx
movq 0x8(%r12), %rax
movq %r15, %r12
movq %rax, 0x10(%rsp)
addq %r14, %rax
movq %rax, 0x20(%rsp)
addq %rax, %r14
movq %r14, (%rsp)
movq 0xa8(%rsp), %r14
movq 0x50(%rsp), %rax
movq 0x48(%rsp), %rbp
movb (%rax,%rbp), %al
xorl %ecx, %ecx
xorl %edx, %edx
movq 0xd8(%rsp), %rsi
cmpb (%rsi,%rbp), %al
sete %cl
setne %dl
addl %edx, %r9d
movl 0x28(%rsp), %esi
addl %ecx, %esi
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
addq %rax, %r14
incq %rbp
jmp 0xcbdc
movl %esi, 0x28(%rsp)
movl 0x98(%rsp), %r13d
addq %rbp, %r13
shlq $0x20, %rbx
subq %r14, %rbx
sarq $0x20, %rbx
addq %rbp, %r10
movq 0xc8(%rsp), %rax
cmpb $0x4, -0x1(%rax,%rbx)
jne 0xd04d
movq 0x10(%rsp), %rbp
jmp 0xd155
movq %r12, %rdx
cmpl $0x0, 0xf4(%rsp)
movq 0x88(%rsp), %r12
movq 0x10(%rsp), %rbp
jle 0xd0a9
shlq $0x20, %r11
subq %r14, %r11
sarq $0x20, %r11
movq 0xc0(%rsp), %rax
cmpb $0x4, -0x1(%rax,%r11)
je 0xd0a9
movslq %r8d, %rax
movb $0x5d, %cl
movq (%rsp), %rsi
movb %cl, (%rsi,%rax)
movb %cl, (%rbp,%rax)
movq %rbp, %rsi
movq 0x20(%rsp), %rbp
movb %cl, (%rbp,%rax)
incl %r8d
cmpl %edi, %r8d
jge 0xd0b1
movq %rsi, %rbp
movq %rdx, %r12
jmp 0xd155
movq %rsi, 0x10(%rsp)
leal (%r8,%r8,2), %esi
movq %r8, 0x8(%rsp)
movq %r12, %rdi
movl %r9d, 0x38(%rsp)
movq %r10, 0x58(%rsp)
callq 0x3017
movl (%r12), %eax
cltd
pushq $0x3
popq %rcx
idivl %ecx
movl %eax, %r15d
leal (%r15,%r15), %eax
movslq %eax, %rdi
addq 0x8(%r12), %rdi
movslq 0x8(%rsp), %r14
movq (%rsp), %rsi
movq %r14, %rdx
callq 0x1230
movslq %r15d, %rbx
movq 0x8(%r12), %rdi
addq %rbx, %rdi
movq %rbp, %rsi
movq %r14, %rdx
callq 0x1230
movq 0x8(%r12), %rdi
movq 0x10(%rsp), %rsi
movq %r14, %rdx
movq %rbx, %r14
movq 0x18(%rsp), %rbx
callq 0x1230
movq 0x58(%rsp), %r10
movl 0x38(%rsp), %r9d
movq 0x8(%rsp), %r8
movq %r15, %rdi
movq 0x8(%r12), %rbp
movq %rbx, %r12
leaq (%r14,%rbp), %rax
movq %rax, 0x20(%rsp)
addq %rax, %r14
movq %r14, (%rsp)
movq %r13, %r11
movq 0xe0(%rsp), %rax
notl %eax
addl 0xbc(%rsp), %eax
movq %rax, 0xe0(%rsp)
leaq 0xbd17(%rip), %rbx      # 0x18e8f
cvtsi2sd %r9d, %xmm0
subl $0x1, 0x10c(%rsp)
jb 0xda09
movq %rbp, 0x10(%rsp)
movq (%rsp), %rbp
movslq %r10d, %r14
movq 0xc8(%rsp), %rax
movb -0x1(%rax,%r14), %cl
movslq %r11d, %r15
movq 0xc0(%rsp), %rax
movb -0x1(%rax,%r15), %sil
cmpb $0x4, %cl
jne 0xd214
cmpb $0x4, %sil
movq 0x18(%rsp), %r12
movq 0x88(%rsp), %r15
movq 0x10(%rsp), %rbp
je 0xda09
movsbq %sil, %rax
movslq %r8d, %rcx
movq (%rsp), %rdx
movb $0x20, (%rdx,%rcx)
movb $0x2e, (%rbp,%rcx)
movq 0xb0(%rsp), %rdx
movb (%rdx,%rax), %al
movq %rbp, %r13
movq 0x20(%rsp), %rbp
movb %al, (%rbp,%rcx)
incl %r8d
cmpl %edi, %r8d
jge 0xd395
movq %r13, %rbp
jmp 0xda01
movq %rdi, %r12
movq %r8, 0x8(%rsp)
movq 0xe0(%rsp), %rax
leal (%rax,%r10), %edi
movl %r10d, %eax
cltd
idivl 0x64(%rsp)
cmpl $0x1, %edx
setne %dl
testl %edi, %edi
sete %al
orb %dl, %al
cmpb $0x4, %sil
jne 0xd2f4
testb %al, %al
movq 0x88(%rsp), %r15
movq 0x8(%rsp), %r8
movq %r12, %rdi
jne 0xd75c
cmpb $0x3, %cl
jg 0xd75c
testl %r8d, %r8d
jle 0xd75c
movsd %xmm0, 0x48(%rsp)
movq %r11, 0x50(%rsp)
movq %r10, 0x58(%rsp)
movl %r9d, 0x38(%rsp)
movq %rdi, 0x78(%rsp)
pushq $0xa
popq %rdi
movq 0x18(%rsp), %r15
movq %r15, %rsi
callq 0x1170
movq %r15, %rdi
leaq 0xb2e1(%rip), %rsi      # 0x18586
movl 0x34(%rsp), %r13d
movl %r13d, %edx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x178(%rsp), %r12d
testl %r12d, %r12d
jle 0xd43e
movl 0x44(%rsp), %ecx
cmpl 0x70(%rsp), %ecx
jge 0xd50f
movq 0x18(%rsp), %r15
movq %r15, %rdi
leaq 0xb2f4(%rip), %rsi      # 0x185d9
movl %r12d, %edx
xorl %eax, %eax
callq 0x11a0
jmp 0xd52b
testb %al, %al
movq 0x8(%rsp), %r8
movq %r12, %rdi
jne 0xd8fb
cmpb $0x3, %cl
jg 0xd8fb
testl %r8d, %r8d
jle 0xd8fb
movsd %xmm0, 0x48(%rsp)
movq %r11, 0x50(%rsp)
movq %r10, 0x58(%rsp)
movl %r9d, 0x38(%rsp)
movq %rdi, 0x78(%rsp)
pushq $0xa
popq %rdi
movq 0x18(%rsp), %r12
movq %r12, %rsi
callq 0x1170
movq %r12, %rdi
leaq 0xb23c(%rip), %rsi      # 0x18586
movl 0x34(%rsp), %edx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x178(%rsp), %r13d
testl %r13d, %r13d
jle 0xd49d
movl 0x44(%rsp), %ecx
cmpl 0x70(%rsp), %ecx
jge 0xd5c2
movq 0x18(%rsp), %r12
movq %r12, %rdi
leaq 0xb253(%rip), %rsi      # 0x185d9
movl %r13d, %edx
xorl %eax, %eax
callq 0x11a0
jmp 0xd5de
leal (%r8,%r8,2), %esi
movq %r8, 0x8(%rsp)
movq %r15, %rdi
movl %r9d, 0x38(%rsp)
movq %r10, 0x58(%rsp)
movq %r11, 0x50(%rsp)
callq 0x3017
movl (%r15), %eax
cltd
pushq $0x3
popq %rcx
idivl %ecx
movl %eax, %ebx
leal (%rbx,%rbx), %eax
movslq %eax, %rdi
addq 0x8(%r15), %rdi
movslq 0x8(%rsp), %r14
movq (%rsp), %rsi
movq %r14, %rdx
callq 0x1230
movslq %ebx, %r12
movq 0x8(%r15), %rdi
addq %r12, %rdi
movq %rbp, %rsi
movq %r14, %rdx
callq 0x1230
movq 0x8(%r15), %rdi
movq %r13, %rsi
movq %r14, %rdx
movq %r12, %r14
movq 0x18(%rsp), %r12
callq 0x1230
movq 0x50(%rsp), %r11
movq 0x58(%rsp), %r10
movl 0x38(%rsp), %r9d
movq 0x8(%rsp), %r8
movq %rbx, %rdi
leaq 0xba6a(%rip), %rbx      # 0x18e8f
movq 0x8(%r15), %rbp
leaq (%r14,%rbp), %rax
movq %rax, 0x20(%rsp)
addq %rax, %r14
movq %r14, (%rsp)
jmp 0xda01
movq %r15, %rdi
leaq 0xb1ba(%rip), %rsi      # 0x18602
movq 0x8(%rsp), %r12
movl %r12d, %edx
movq 0x10(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %r15, %rdi
leaq 0xb199(%rip), %rsi      # 0x185ff
movl %r13d, %edx
movq %rbx, %rcx
movl %r12d, %r8d
movq %rbp, %r9
xorl %eax, %eax
callq 0x11a0
movq %r15, %rdi
leaq 0xb186(%rip), %rsi      # 0x18609
movl %r13d, %edx
movq %rbx, %rcx
movl %r12d, %r8d
movq 0x20(%rsp), %r9
xorl %eax, %eax
callq 0x11a0
jmp 0xd6eb
movq %r12, %rdi
leaq 0xb15b(%rip), %rsi      # 0x18602
movq 0x8(%rsp), %rbx
movl %ebx, %edx
movq 0x10(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %r12, %rdi
leaq 0xb13b(%rip), %rsi      # 0x185ff
movl 0x34(%rsp), %r13d
movl %r13d, %edx
leaq 0xb9bc(%rip), %rcx      # 0x18e8f
movl %ebx, %r8d
movq %rbp, %r9
xorl %eax, %eax
callq 0x11a0
movq %r12, %rdi
leaq 0xb11f(%rip), %rsi      # 0x18609
movl %r13d, %edx
leaq 0xb99b(%rip), %rcx      # 0x18e8f
movl %ebx, %r8d
leaq 0xb991(%rip), %rbx      # 0x18e8f
movq 0x20(%rsp), %r9
xorl %eax, %eax
callq 0x11a0
jmp 0xd885
movq 0x18(%rsp), %r15
movq %r15, %rdi
leaq 0xb107(%rip), %rsi      # 0x18625
movl %r12d, %edx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x11a0
movq %r15, %rdi
leaq 0xb0cd(%rip), %rsi      # 0x18602
movq 0x8(%rsp), %r13
movl %r13d, %edx
movq 0x10(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %r15, %rdi
leaq 0xb0a8(%rip), %rsi      # 0x185fb
movl 0x34(%rsp), %r12d
movl %r12d, %edx
movq %rbx, %rcx
movl 0x178(%rsp), %r8d
movq %rbx, %r9
xorl %eax, %eax
pushq %rbp
pushq %r13
callq 0x11a0
popq %rcx
popq %rdx
movq %r15, %rdi
leaq 0xb007(%rip), %rsi      # 0x18586
movl %r12d, %edx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x40(%rsp), %eax
cmpl 0x74(%rsp), %eax
jge 0xd670
testb $0x1, 0x6c(%rsp)
jne 0xd6ad
movq 0x18(%rsp), %r15
movq %r15, %rdi
leaq 0xb025(%rip), %rsi      # 0x185d9
movl 0x178(%rsp), %edx
movl %eax, %ecx
jmp 0xd6c9
movq 0x18(%rsp), %r12
movq %r12, %rdi
leaq 0xb054(%rip), %rsi      # 0x18625
movl %r13d, %edx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x11a0
movq %r12, %rdi
leaq 0xb01a(%rip), %rsi      # 0x18602
movq 0x8(%rsp), %rdx
movq 0x10(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %r12, %rdi
leaq 0xaff8(%rip), %rsi      # 0x185fb
movl 0x34(%rsp), %r13d
movl %r13d, %edx
movq %rbx, %rcx
movl 0x178(%rsp), %r8d
movq %rbx, %r9
xorl %eax, %eax
pushq %rbp
pushq 0x10(%rsp)
callq 0x11a0
popq %rcx
popq %rdx
movq %r12, %rdi
leaq 0xaf55(%rip), %rsi      # 0x18586
movl %r13d, %edx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x40(%rsp), %eax
cmpl 0x74(%rsp), %eax
jge 0xd68d
testb $0x1, 0x6c(%rsp)
jne 0xd847
movq 0x18(%rsp), %r12
movq %r12, %rdi
leaq 0xaf77(%rip), %rsi      # 0x185d9
movl 0x178(%rsp), %edx
movl %eax, %ecx
jmp 0xd863
movq %r15, %rdi
leaq 0xafab(%rip), %rsi      # 0x18625
movl 0x178(%rsp), %edx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x11a0
jmp 0xd6d0
movq %r12, %rdi
leaq 0xaf8e(%rip), %rsi      # 0x18625
movl 0x178(%rsp), %edx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x11a0
jmp 0xd86a
movl 0x68(%rsp), %ecx
subl %eax, %ecx
movq 0x18(%rsp), %r15
movq %r15, %rdi
leaq 0xaf17(%rip), %rsi      # 0x185d9
movl 0x178(%rsp), %edx
xorl %eax, %eax
callq 0x11a0
movq %r15, %rdi
leaq 0xaf32(%rip), %rsi      # 0x1860c
movq 0x8(%rsp), %rdx
movq 0x20(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movsd 0x48(%rsp), %xmm0
mulsd 0xa927(%rip), %xmm0     # 0x18020
movl 0x28(%rsp), %eax
addl 0x38(%rsp), %eax
cvtsi2sd %eax, %xmm1
divsd %xmm1, %xmm0
movq %r15, %rdi
leaq 0xaede(%rip), %rsi      # 0x185f1
movb $0x1, %al
callq 0x11a0
movq 0x58(%rsp), %r10
leal -0x1(%r10), %eax
movl %eax, 0x44(%rsp)
movq 0x50(%rsp), %r11
leal -0x1(%r11), %eax
movl %eax, 0x40(%rsp)
movq 0xc8(%rsp), %rax
movb -0x1(%rax,%r14), %cl
xorl %r9d, %r9d
movl $0x0, 0x28(%rsp)
xorl %r8d, %r8d
movq 0x88(%rsp), %r15
movq 0x78(%rsp), %rdi
movslq %r8d, %r8
movb $0x20, (%rbp,%r8)
movsbq %cl, %rax
movq 0xb0(%rsp), %rcx
movb (%rcx,%rax), %al
movq 0x10(%rsp), %r13
movb %al, (%r13,%r8)
movq 0x20(%rsp), %rbp
movb $0x2e, (%rbp,%r8)
incl %r8d
cmpl %edi, %r8d
jge 0xd79e
movq 0x18(%rsp), %r12
movq %r13, %rbp
jmp 0xd83f
leal (%r8,%r8,2), %esi
movq %r8, 0x8(%rsp)
movq %r15, %rdi
movl %r9d, 0x38(%rsp)
movq %r10, 0x58(%rsp)
movq %r11, 0x50(%rsp)
callq 0x3017
movl (%r15), %eax
cltd
pushq $0x3
popq %rcx
idivl %ecx
movl %eax, %ebx
leal (%rbx,%rbx), %eax
movslq %eax, %rdi
addq 0x8(%r15), %rdi
movslq 0x8(%rsp), %r14
movq (%rsp), %rsi
movq %r14, %rdx
callq 0x1230
movslq %ebx, %r12
movq 0x8(%r15), %rdi
addq %r12, %rdi
movq %rbp, %rsi
movq %r14, %rdx
callq 0x1230
movq 0x8(%r15), %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x1230
movq 0x50(%rsp), %r11
movq 0x58(%rsp), %r10
movl 0x38(%rsp), %r9d
movq 0x8(%rsp), %r8
movq %rbx, %rdi
leaq 0xb669(%rip), %rbx      # 0x18e8f
movq 0x8(%r15), %rbp
leaq (%r12,%rbp), %rax
movq %rax, 0x20(%rsp)
addq %rax, %r12
movq %r12, (%rsp)
movq 0x18(%rsp), %r12
incl %r10d
jmp 0xd178
movl 0x68(%rsp), %ecx
subl %eax, %ecx
movq 0x18(%rsp), %r12
movq %r12, %rdi
leaq 0xad7d(%rip), %rsi      # 0x185d9
movl 0x178(%rsp), %edx
xorl %eax, %eax
callq 0x11a0
movq %r12, %rdi
leaq 0xad98(%rip), %rsi      # 0x1860c
movq 0x8(%rsp), %rdx
movq 0x20(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movsd 0x48(%rsp), %xmm0
mulsd 0xa78d(%rip), %xmm0     # 0x18020
movl 0x28(%rsp), %eax
addl 0x38(%rsp), %eax
cvtsi2sd %eax, %xmm1
divsd %xmm1, %xmm0
movq %r12, %rdi
leaq 0xad44(%rip), %rsi      # 0x185f1
movb $0x1, %al
callq 0x11a0
movq 0x58(%rsp), %r10
leal -0x1(%r10), %eax
movl %eax, 0x44(%rsp)
leal -0x1(%r15), %eax
movl %eax, 0x40(%rsp)
movq 0xc8(%rsp), %rax
movb -0x1(%rax,%r14), %cl
movq 0xc0(%rsp), %rax
movb -0x1(%rax,%r15), %sil
xorl %r9d, %r9d
movl $0x0, 0x28(%rsp)
xorl %r8d, %r8d
movq 0x78(%rsp), %rdi
movq 0x50(%rsp), %r11
cmpb $0x4, %sil
pushq $0x3a
popq %rax
pushq $0x20
popq %rdx
cmovel %edx, %eax
cmpb $0x4, %cl
cmovel %edx, %eax
movslq %r8d, %r8
movb %al, (%rbp,%r8)
movsbq %cl, %rax
movq 0xb0(%rsp), %rcx
movb (%rcx,%rax), %al
movq 0x10(%rsp), %r13
movb %al, (%r13,%r8)
movsbq %sil, %rax
movb (%rcx,%rax), %al
movq 0x20(%rsp), %rbp
movb %al, (%rbp,%r8)
incl %r8d
cmpl %edi, %r8d
movq 0x88(%rsp), %r15
jge 0xd95d
movq 0x18(%rsp), %r12
movq %r13, %rbp
jmp 0xd9fe
leal (%r8,%r8,2), %esi
movq %r8, 0x8(%rsp)
movq %r15, %rdi
movl %r9d, 0x38(%rsp)
movq %r10, 0x58(%rsp)
movq %r11, 0x50(%rsp)
callq 0x3017
movl (%r15), %eax
cltd
pushq $0x3
popq %rcx
idivl %ecx
movl %eax, %ebx
leal (%rbx,%rbx), %eax
movslq %eax, %rdi
addq 0x8(%r15), %rdi
movslq 0x8(%rsp), %r14
movq (%rsp), %rsi
movq %r14, %rdx
callq 0x1230
movslq %ebx, %r12
movq 0x8(%r15), %rdi
addq %r12, %rdi
movq %rbp, %rsi
movq %r14, %rdx
callq 0x1230
movq 0x8(%r15), %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x1230
movq 0x50(%rsp), %r11
movq 0x58(%rsp), %r10
movl 0x38(%rsp), %r9d
movq 0x8(%rsp), %r8
movq %rbx, %rdi
leaq 0xb4aa(%rip), %rbx      # 0x18e8f
movq 0x8(%r15), %rbp
leaq (%r12,%rbp), %rax
movq %rax, 0x20(%rsp)
addq %rax, %r12
movq %r12, (%rsp)
movq 0x18(%rsp), %r12
incl %r10d
incl %r11d
jmp 0xd178
movsd %xmm0, 0x48(%rsp)
movl %r9d, 0x38(%rsp)
movq %r8, 0x8(%rsp)
pushq $0xa
popq %rdi
movq %r12, %rsi
callq 0x1170
leaq 0xab5b(%rip), %rsi      # 0x18586
leaq 0xb45d(%rip), %rcx      # 0x18e8f
movq %r12, %rdi
movl 0x34(%rsp), %r15d
movl %r15d, %edx
xorl %eax, %eax
callq 0x11a0
movq %r12, %rdi
movl 0x178(%rsp), %r12d
testl %r12d, %r12d
jle 0xda82
movq %rdi, %r15
movl 0x44(%rsp), %ecx
cmpl 0x70(%rsp), %ecx
jge 0xdaf0
movq (%rsp), %r13
leaq 0xab69(%rip), %rsi      # 0x185d9
movq %r15, %rdi
movl %r12d, %edx
xorl %eax, %eax
callq 0x11a0
jmp 0xdb0f
leaq 0xab79(%rip), %rsi      # 0x18602
movq 0x8(%rsp), %rbx
movl %ebx, %edx
movq %rbp, %rcx
xorl %eax, %eax
callq 0x11a0
leaq 0xab5e(%rip), %rsi      # 0x185ff
leaq 0xb3e7(%rip), %r14      # 0x18e8f
movq 0x18(%rsp), %rdi
movl %r15d, %edx
movq %r14, %rcx
movl %ebx, %r8d
movq (%rsp), %r9
xorl %eax, %eax
callq 0x11a0
leaq 0xab41(%rip), %rsi      # 0x18609
movq 0x18(%rsp), %rdi
movl %r15d, %edx
movq %r14, %rcx
movq 0x18(%rsp), %r14
movl %ebx, %r8d
movq 0x20(%rsp), %r9
xorl %eax, %eax
callq 0x11a0
movl 0x28(%rsp), %ebx
jmp 0xdc05
movq (%rsp), %r13
leaq 0xab2a(%rip), %rsi      # 0x18625
leaq 0xb38d(%rip), %rcx      # 0x18e8f
movq %r15, %rdi
movl %r12d, %edx
xorl %eax, %eax
callq 0x11a0
leaq 0xaaec(%rip), %rsi      # 0x18602
movq %r15, %rdi
movq 0x8(%rsp), %rbx
movl %ebx, %edx
movq %rbp, %rcx
xorl %eax, %eax
callq 0x11a0
leaq 0xaaca(%rip), %rsi      # 0x185fb
leaq 0xb357(%rip), %r14      # 0x18e8f
movq %r15, %rdi
movl 0x34(%rsp), %ebp
movl %ebp, %edx
movq %r14, %rcx
movl %r12d, %r8d
movq %r14, %r9
xorl %eax, %eax
pushq %r13
pushq %rbx
callq 0x11a0
popq %rcx
popq %rdx
leaq 0xaa29(%rip), %rsi      # 0x18586
movq %r15, %rdi
movl %ebp, %edx
movq %r14, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x40(%rsp), %eax
cmpl 0x74(%rsp), %eax
jge 0xdba0
testb $0x1, 0x6c(%rsp)
movq 0x20(%rsp), %r15
movl 0x28(%rsp), %ebx
jne 0xdbc9
leaq 0xaa4c(%rip), %rsi      # 0x185d9
movq 0x18(%rsp), %r14
movq %r14, %rdi
movl 0x178(%rsp), %edx
movl %eax, %ecx
jmp 0xdbe5
leaq 0xaa7e(%rip), %rsi      # 0x18625
leaq 0xb2e1(%rip), %rcx      # 0x18e8f
movq %r15, %rdi
movl %r12d, %edx
xorl %eax, %eax
callq 0x11a0
movq %r15, %r14
movq 0x20(%rsp), %r15
movl 0x28(%rsp), %ebx
jmp 0xdbec
movl 0x68(%rsp), %ecx
subl %eax, %ecx
leaq 0xaa03(%rip), %rsi      # 0x185d9
movq 0x18(%rsp), %r14
movq %r14, %rdi
movl 0x178(%rsp), %edx
xorl %eax, %eax
callq 0x11a0
leaq 0xaa19(%rip), %rsi      # 0x1860c
movq %r14, %rdi
movq 0x8(%rsp), %rdx
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
addl 0x38(%rsp), %ebx
movsd 0x48(%rsp), %xmm0
jle 0xdc34
mulsd 0xa407(%rip), %xmm0     # 0x18020
cvtsi2sd %ebx, %xmm1
divsd %xmm1, %xmm0
leaq 0xa9c9(%rip), %rsi      # 0x185f1
movq %r14, %rdi
movb $0x1, %al
callq 0x11a0
jmp 0xdc3f
pushq $0xa
popq %rdi
movq %r14, %rsi
callq 0x1170
movq %r14, %rdi
callq 0x1200
xorl %eax, %eax
addq $0x138, %rsp            # imm = 0x138
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq