// File: /workspace/github_c_makefile_star2_O1/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 $0x118, %rsp            # imm = 0x118
movl %ecx, %ebp
movq (%rsi), %rax
movq (%rax), %rcx
movq %rcx, 0x110(%rsp)
testq %rcx, %rcx
je 0xf16f
movl %r9d, %r14d
movq %rdx, %r12
movq %rsi, %r15
movq %rdi, 0x18(%rsp)
movl 0x150(%rsp), %ebx
movl 0x8(%rax), %eax
movq %rax, 0x108(%rsp)
movslq (%rdx), %rax
imulq $0x55555556, %rax, %r9  # imm = 0x55555556
movq %r9, %rax
shrq $0x3f, %rax
shrq $0x20, %r9
addl %eax, %r9d
movq %r8, %r13
leal (%r8,%r8,2), %eax
leal 0x6(,%rax,2), %eax
cmpl %r9d, %eax
jle 0xc6a1
leal (%rax,%rax,2), %esi
movq %r12, %rdi
callq 0x4252
movslq (%r12), %rax
imulq $0x55555556, %rax, %r9  # imm = 0x55555556
movq %r9, %rax
shrq $0x3f, %rax
shrq $0x20, %r9
addl %eax, %r9d
movl %ebp, 0x3c(%rsp)
movq 0x8(%r12), %rdi
movslq %r9d, %rax
movq %rax, 0x10(%rsp)
testl %ebx, %ebx
leaq 0xdd8d(%rip), %rax      # 0x1a448
leaq 0xdd7e(%rip), %rcx      # 0x1a440
cmoveq %rax, %rcx
movq %rcx, 0xa8(%rsp)
movq (%r15), %rax
movq 0x10(%r15), %rdx
movl 0x10(%rax), %ecx
xorl %r10d, %r10d
testl %r14d, %r14d
movq %rdx, 0xb0(%rsp)
jle 0xc70a
movslq %ecx, %rbx
addq %rbx, %rdx
decq %rdx
subl %r14d, %ebx
xorl %esi, %esi
cmpb $0x4, (%rdx)
je 0xc70f
incl %esi
decq %rdx
cmpl %esi, %r14d
jne 0xc6f6
movl %r14d, %r11d
jmp 0xc716
xorl %r11d, %r11d
jmp 0xc714
movl %esi, %r11d
subl %esi, %ecx
movl %ecx, %ebx
movq 0x10(%rsp), %rcx
leaq (%rdi,%rcx), %r8
movl 0x14(%rax), %ecx
movq %r15, 0xf0(%rsp)
movq 0x18(%r15), %rdx
leal 0x1(%rbx), %esi
movl %esi, 0xd4(%rsp)
testl %r14d, %r14d
movq %r12, 0x98(%rsp)
movq %rdx, 0x88(%rsp)
movl %r14d, 0xd0(%rsp)
jle 0xc784
movslq %ecx, %rsi
addq %rsi, %rdx
decq %rdx
subl %r14d, %esi
movq %rsi, 0x58(%rsp)
xorl %r10d, %r10d
movq %r8, %r15
movl %r11d, %esi
cmpb $0x4, (%rdx)
je 0xc791
incl %r10d
decq %rdx
cmpl %r10d, %r14d
jne 0xc76f
movl %r14d, %r10d
jmp 0xc799
movq %rcx, 0x58(%rsp)
movq %r8, %r15
movl %r11d, %esi
jmp 0xc799
subl %r10d, %ecx
movq %rcx, 0x58(%rsp)
addq %r15, 0x10(%rsp)
movl 0x18(%rax), %ecx
movl %ecx, 0x68(%rsp)
movl 0x1c(%rax), %eax
movl %eax, 0x6c(%rsp)
movq 0xf0(%rsp), %rcx
movl 0x8(%rcx), %eax
movl %eax, 0x64(%rsp)
movl 0x24(%rcx), %eax
xorl %r12d, %r12d
movl 0xd4(%rsp), %ecx
movslq %ecx, %rdx
movl %r10d, 0x8(%rsp)
cmpl %r10d, %esi
movq %r13, 0x50(%rsp)
movl %eax, 0x7c(%rsp)
movq %rdx, 0xd8(%rsp)
jle 0xcb77
movq %r15, 0x28(%rsp)
subl 0x58(%rsp), %eax
movl %eax, 0xa0(%rsp)
movq 0xb0(%rsp), %rax
addq %rdx, %rax
decq %rax
movq %rax, 0x80(%rsp)
xorl %r15d, %r15d
xorl %r12d, %r12d
movl %ebx, 0x38(%rsp)
leal 0x1(%rbx), %r11d
movl %r11d, %eax
cltd
idivl 0x50(%rsp)
cmpl $0x1, %edx
setne %al
testq %r15, %r15
sete %cl
orb %al, %cl
jne 0xca69
testl %r12d, %r12d
jle 0xca69
movq 0x80(%rsp), %rax
cmpb $0x3, (%rax,%r15)
jg 0xca69
movl %esi, 0xc(%rsp)
movq %r12, 0x30(%rsp)
movq %r11, 0x40(%rsp)
movq %r9, 0x70(%rsp)
movq %rdi, 0x20(%rsp)
movl $0xa, %edi
movq 0x18(%rsp), %rbp
movq %rbp, %rsi
callq 0x1170
movq %rbp, %rdi
leaq 0xdcfc(%rip), %rsi      # 0x1a586
movl 0x3c(%rsp), %r14d
movl %r14d, %edx
leaq 0xe5f6(%rip), %r13      # 0x1ae8f
movq %r13, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x158(%rsp), %edx
testl %edx, %edx
jle 0xc8d0
movl 0x38(%rsp), %ecx
cmpl 0x68(%rsp), %ecx
jge 0xc931
movq 0x18(%rsp), %rbp
movq %rbp, %rdi
leaq 0xdd12(%rip), %rsi      # 0x1a5d9
xorl %eax, %eax
callq 0x11a0
jmp 0xc94a
movq %rbp, %rdi
leaq 0xdd28(%rip), %rsi      # 0x1a602
movq 0x30(%rsp), %r12
movl %r12d, %edx
movq 0x20(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xdd07(%rip), %rsi      # 0x1a5ff
movl %r14d, %edx
movq %r13, %rcx
movl %r12d, %r8d
movq 0x10(%rsp), %r9
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xdcf2(%rip), %rsi      # 0x1a609
movl %r14d, %edx
movq %r13, %rcx
movl %r12d, %r8d
movq 0x28(%rsp), %r9
xorl %eax, %eax
callq 0x11a0
jmp 0xca36
movq 0x18(%rsp), %rbp
movq %rbp, %rdi
leaq 0xdce5(%rip), %rsi      # 0x1a625
movq %r13, %rcx
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xdcae(%rip), %rsi      # 0x1a602
movq 0x30(%rsp), %r12
movl %r12d, %edx
movq 0x20(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xdc89(%rip), %rsi      # 0x1a5fb
movl 0x3c(%rsp), %r14d
movl %r14d, %edx
movq %r13, %rcx
movl 0x158(%rsp), %r8d
movq %r13, %r9
xorl %eax, %eax
pushq 0x10(%rsp)
pushq %r12
callq 0x11a0
addq $0x10, %rsp
movq %rbp, %rdi
leaq 0xdbe3(%rip), %rsi      # 0x1a586
movl %r14d, %edx
movq %r13, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x58(%rsp), %rcx
cmpl 0x6c(%rsp), %ecx
jge 0xc9da
testb $0x1, 0x64(%rsp)
jne 0xc9f7
movq 0x18(%rsp), %rbp
movq %rbp, %rdi
leaq 0xdc08(%rip), %rsi      # 0x1a5d9
movl 0x158(%rsp), %edx
jmp 0xca14
movq %rbp, %rdi
leaq 0xdc41(%rip), %rsi      # 0x1a625
movl 0x158(%rsp), %edx
movq %r13, %rcx
xorl %eax, %eax
callq 0x11a0
jmp 0xca1b
movq 0x18(%rsp), %rbp
movq %rbp, %rdi
leaq 0xdbd3(%rip), %rsi      # 0x1a5d9
movl 0x158(%rsp), %edx
movl 0xa0(%rsp), %ecx
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xdbe7(%rip), %rsi      # 0x1a60c
movq 0x30(%rsp), %rdx
movq 0x28(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xdbb1(%rip), %rsi      # 0x1a5f1
movsd 0xd9e8(%rip), %xmm0     # 0x1a430
movb $0x1, %al
callq 0x11a0
movl %ebx, 0x38(%rsp)
movq 0x20(%rsp), %rdi
movq 0x70(%rsp), %r9
xorl %r12d, %r12d
movq 0x40(%rsp), %r11
movl 0xc(%rsp), %esi
movq 0x80(%rsp), %rax
movsbq (%rax,%r15), %rax
movslq %r12d, %r12
movq 0x10(%rsp), %rbx
movb $0x20, (%rbx,%r12)
movq 0xa8(%rsp), %rcx
movb (%rcx,%rax), %al
movb %al, (%rdi,%r12)
movq 0x28(%rsp), %r13
movb $0x2e, (%r13,%r12)
incl %r12d
cmpl %r9d, %r12d
jl 0xcb50
movl %esi, 0xc(%rsp)
leal (%r12,%r12,2), %esi
movq %r11, 0x40(%rsp)
movq 0x98(%rsp), %rbp
movq %rdi, 0x20(%rsp)
movq %rbp, %rdi
callq 0x4252
movslq (%rbp), %rax
movq %r12, 0x30(%rsp)
imulq $0x55555556, %rax, %r12 # imm = 0x55555556
movq %r12, %rax
shrq $0x3f, %rax
shrq $0x20, %r12
addl %eax, %r12d
leal (%r12,%r12), %eax
movslq %eax, %rdi
addq 0x8(%rbp), %rdi
movq %rbx, %rsi
movslq 0x30(%rsp), %rbx
movq %rbx, %rdx
callq 0x1230
movslq %r12d, %r14
movq 0x8(%rbp), %rdi
addq %r14, %rdi
movq %r13, %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x8(%rbp), %rdi
movq 0x20(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movl 0xc(%rsp), %esi
movq %r12, %r9
movq 0x30(%rsp), %r12
movq 0x8(%rbp), %rdi
movq 0x40(%rsp), %r11
leaq (%rdi,%r14), %rax
movq %rax, 0x28(%rsp)
addq %rax, %r14
movq %r14, 0x10(%rsp)
decl %esi
incq %r15
movl %r11d, %ebx
cmpl 0x8(%rsp), %esi
jg 0xc81a
incl %r11d
movl 0x8(%rsp), %ecx
movl %ecx, %esi
movq 0x50(%rsp), %r14
movq 0x28(%rsp), %r15
jmp 0xcb85
movq %r13, %r14
movl %ebx, 0x38(%rsp)
movl %ecx, %r11d
movl 0x8(%rsp), %ecx
movq 0x58(%rsp), %rax
leal 0x1(%rax), %edx
cmpl %esi, %ecx
movq %r11, 0x40(%rsp)
jle 0xccff
movq %rdx, 0x48(%rsp)
movslq %edx, %rax
movslq %r12d, %r10
leal (%r10,%r10,2), %ebx
addl $0x3, %ebx
movq 0x88(%rsp), %rcx
leaq (%rax,%rcx), %r11
decq %r11
xorl %r14d, %r14d
movl 0x8(%rsp), %r8d
movq %r12, 0x30(%rsp)
movl %esi, 0xc(%rsp)
movq %r10, 0x80(%rsp)
movq %r11, 0xa0(%rsp)
movq 0x98(%rsp), %r13
movsbq (%r11,%r14), %rax
leaq (%r10,%r14), %rcx
movq 0x10(%rsp), %rbp
movb $0x20, (%rbp,%rcx)
movb $0x2e, (%rdi,%rcx)
movq 0xa8(%rsp), %rdx
movb (%rdx,%rax), %al
movb %al, (%r15,%rcx)
movq %r15, %rcx
leaq (%r10,%r14), %r15
incq %r15
movslq %r9d, %rax
cmpq %rax, %r15
jge 0xcc24
movq %rcx, %r15
jmp 0xccc5
movq %rcx, 0x28(%rsp)
movq %rdi, 0x20(%rsp)
movq %r13, %rdi
movl %ebx, %esi
movl %r8d, 0x8(%rsp)
callq 0x4252
movslq (%r13), %rax
imulq $0x55555556, %rax, %r12 # imm = 0x55555556
movq %r12, %rax
shrq $0x3f, %rax
shrq $0x20, %r12
addl %eax, %r12d
leal (%r12,%r12), %eax
movslq %eax, %rdi
addq 0x8(%r13), %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x1230
movslq %r12d, %rbp
movq 0x8(%r13), %rdi
addq %rbp, %rdi
movq 0x28(%rsp), %rsi
movq %r15, %rdx
callq 0x1230
movq 0x8(%r13), %rdi
movq 0x20(%rsp), %rsi
movq %r15, %rdx
callq 0x1230
movq 0xa0(%rsp), %r11
movq 0x80(%rsp), %r10
movl 0xc(%rsp), %esi
movl 0x8(%rsp), %r8d
movq %r12, %r9
movq 0x30(%rsp), %r12
movq 0x8(%r13), %rdi
leaq (%rdi,%rbp), %r15
addq %r15, %rbp
movq %rbp, 0x10(%rsp)
decl %r8d
incq %r14
addl $0x3, %ebx
cmpl %esi, %r8d
jg 0xcbe4
addl %r14d, %r12d
movq 0x48(%rsp), %rdx
addl %r14d, %edx
movl %esi, 0x8(%rsp)
movq 0x18(%rsp), %rbp
movq 0x50(%rsp), %r14
movq 0x88(%rsp), %rax
movq 0x40(%rsp), %r11
jmp 0xcd0c
movq 0x18(%rsp), %rbp
movq 0x88(%rsp), %rax
testl %esi, %esi
jle 0xd12a
movq %r15, 0x28(%rsp)
movq %rdx, %rcx
movq %rax, %rdx
movslq %r11d, %rax
movq %rcx, 0x48(%rsp)
movslq %ecx, %rcx
leal -0x1(%rcx), %r8d
movq %r8, 0xc8(%rsp)
leaq -0x1(%rcx,%rdx), %rcx
movq %rcx, 0x80(%rsp)
leal -0x1(%rax), %ecx
movq %rcx, 0xb8(%rsp)
movq 0xd8(%rsp), %rcx
subq %rax, %rcx
movq %rcx, 0xc0(%rsp)
movl %eax, %ecx
movq %rcx, 0xa0(%rsp)
movq 0xb0(%rsp), %rcx
leaq (%rax,%rcx), %rbx
decq %rbx
incl %esi
xorl %ebp, %ebp
movq %rbx, 0x90(%rsp)
movq 0xa0(%rsp), %rax
addl %ebp, %eax
cltd
idivl %r14d
cmpl $0x1, %edx
movl %esi, 0xc(%rsp)
jne 0xcfec
cmpq %rbp, 0xc0(%rsp)
je 0xcfec
testl %r12d, %r12d
jle 0xcfec
cmpb $0x3, (%rbx,%rbp)
jg 0xcfec
movq %r12, 0x30(%rsp)
movq %r9, 0x70(%rsp)
movq %rdi, 0x20(%rsp)
movl $0xa, %edi
movq 0x18(%rsp), %r13
movq %r13, %rsi
callq 0x1170
movq %r13, %rdi
leaq 0xd799(%rip), %rsi      # 0x1a586
movl 0x3c(%rsp), %r15d
movl %r15d, %edx
leaq 0xe093(%rip), %r12      # 0x1ae8f
movq %r12, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x158(%rsp), %edx
testl %edx, %edx
jle 0xce36
movl 0x38(%rsp), %ecx
cmpl 0x68(%rsp), %ecx
jge 0xce97
movq 0x18(%rsp), %r13
movq %r13, %rdi
leaq 0xd7af(%rip), %rsi      # 0x1a5d9
movl %edx, %r14d
xorl %eax, %eax
callq 0x11a0
jmp 0xceb3
movq %r13, %rdi
leaq 0xd7c2(%rip), %rsi      # 0x1a602
movq 0x30(%rsp), %r14
movl %r14d, %edx
movq 0x20(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %r13, %rdi
leaq 0xd7a1(%rip), %rsi      # 0x1a5ff
movl %r15d, %edx
movq %r12, %rcx
movl %r14d, %r8d
movq 0x10(%rsp), %r9
xorl %eax, %eax
callq 0x11a0
movq %r13, %rdi
leaq 0xd78c(%rip), %rsi      # 0x1a609
movl %r15d, %edx
movq %r12, %rcx
movl %r14d, %r8d
movq 0x28(%rsp), %r9
xorl %eax, %eax
callq 0x11a0
jmp 0xcfa4
movq 0x18(%rsp), %r13
movq %r13, %rdi
leaq 0xd77f(%rip), %rsi      # 0x1a625
movq %r12, %rcx
movl %edx, %r14d
xorl %eax, %eax
callq 0x11a0
movq %r13, %rdi
leaq 0xd745(%rip), %rsi      # 0x1a602
movq 0x30(%rsp), %r15
movl %r15d, %edx
movq 0x20(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %r13, %rdi
leaq 0xd720(%rip), %rsi      # 0x1a5fb
movl 0x3c(%rsp), %ebx
movl %ebx, %edx
movq %r12, %rcx
movl %r14d, %r8d
movq %r12, %r9
xorl %eax, %eax
pushq 0x10(%rsp)
pushq %r15
callq 0x11a0
addq $0x10, %rsp
movq %r13, %rdi
leaq 0xd681(%rip), %rsi      # 0x1a586
movl %ebx, %edx
movq %r12, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x58(%rsp), %rax
cmpl 0x6c(%rsp), %eax
jge 0xcf45
testb $0x1, 0x64(%rsp)
movq 0x90(%rsp), %rbx
jne 0xcf66
movq 0x18(%rsp), %r13
movq %r13, %rdi
leaq 0xd69f(%rip), %rsi      # 0x1a5d9
movl 0x158(%rsp), %edx
movl %eax, %ecx
jmp 0xcf82
movq %r13, %rdi
leaq 0xd6d6(%rip), %rsi      # 0x1a625
movl %r14d, %edx
movq %r12, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x90(%rsp), %rbx
jmp 0xcf89
movl 0x7c(%rsp), %ecx
subl %eax, %ecx
movq 0x18(%rsp), %r13
movq %r13, %rdi
leaq 0xd65e(%rip), %rsi      # 0x1a5d9
movl 0x158(%rsp), %edx
xorl %eax, %eax
callq 0x11a0
movq %r13, %rdi
leaq 0xd679(%rip), %rsi      # 0x1a60c
movq 0x30(%rsp), %rdx
movq 0x28(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x50(%rsp), %r14
movq %r13, %rdi
leaq 0xd63e(%rip), %rsi      # 0x1a5f1
movsd 0xd475(%rip), %xmm0     # 0x1a430
movb $0x1, %al
callq 0x11a0
movq 0xb8(%rsp), %rax
addl %ebp, %eax
movl %eax, 0x38(%rsp)
movq 0xc8(%rsp), %rax
addl %ebp, %eax
movq %rax, 0x58(%rsp)
movq 0x20(%rsp), %rdi
xorl %r12d, %r12d
movq 0x70(%rsp), %r9
movq 0x80(%rsp), %rax
movsbq (%rax,%rbp), %rax
cmpq $0x4, %rax
movl $0x3a, %ecx
movl $0x20, %esi
cmovel %esi, %ecx
movsbq (%rbx,%rbp), %rdx
cmpq $0x4, %rdx
cmovel %esi, %ecx
movslq %r12d, %r12
movq 0x10(%rsp), %rsi
movb %cl, (%rsi,%r12)
movq 0xa8(%rsp), %rsi
movb (%rsi,%rdx), %cl
movb %cl, (%rdi,%r12)
movb (%rsi,%rax), %al
movq %r12, %r15
movq 0x28(%rsp), %r12
movb %al, (%r12,%r15)
incl %r15d
cmpl %r9d, %r15d
movq %r15, 0x30(%rsp)
jl 0xd0f2
leal (%r15,%r15,2), %esi
movq 0x98(%rsp), %r14
movq %rdi, 0x20(%rsp)
movq %r14, %rdi
callq 0x4252
movslq (%r14), %rax
imulq $0x55555556, %rax, %r13 # imm = 0x55555556
movq %r13, %rax
shrq $0x3f, %rax
shrq $0x20, %r13
addl %eax, %r13d
leal (,%r13,2), %eax
movslq %eax, %rdi
addq 0x8(%r14), %rdi
movslq %r15d, %rbx
movq 0x10(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movslq %r13d, %r15
movq 0x8(%r14), %rdi
addq %r15, %rdi
movq %r12, %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x8(%r14), %rdi
movq 0x20(%rsp), %rsi
movq %rbx, %rdx
movq %r15, %rbx
movq 0x50(%rsp), %r15
callq 0x1230
movq %r13, %r9
movq 0x8(%r14), %rdi
movq %r15, %r14
leaq (%rdi,%rbx), %rax
movq %rax, 0x28(%rsp)
addq %rax, %rbx
movq %rbx, 0x10(%rsp)
movq 0x90(%rsp), %rbx
movl 0xc(%rsp), %esi
incq %rbp
decl %esi
cmpl $0x1, %esi
movq 0x30(%rsp), %r12
jg 0xcd86
movq 0x48(%rsp), %rdx
addl %ebp, %edx
movq 0x40(%rsp), %r11
addl %ebp, %r11d
movq 0x28(%rsp), %r15
movq 0x88(%rsp), %rax
movq 0x18(%rsp), %rbp
cmpl $0x0, 0x8(%rsp)
jle 0xd217
movslq %r12d, %r12
movb $0x5b, %al
movq 0x10(%rsp), %rcx
movb %al, (%rcx,%r12)
movb %al, (%rdi,%r12)
movb %al, (%r15,%r12)
incl %r12d
cmpl %r9d, %r12d
jl 0xd20f
leal (%r12,%r12,2), %esi
movq %r11, 0x40(%rsp)
movq 0x98(%rsp), %rbp
movq %r15, 0x28(%rsp)
movq %rdi, 0x20(%rsp)
movq %rbp, %rdi
movq %rdx, 0x48(%rsp)
callq 0x4252
movslq (%rbp), %rax
movq %r12, %r13
imulq $0x55555556, %rax, %r12 # imm = 0x55555556
movq %r12, %rax
shrq $0x3f, %rax
shrq $0x20, %r12
addl %eax, %r12d
leal (%r12,%r12), %eax
movslq %eax, %rdi
addq 0x8(%rbp), %rdi
movslq %r13d, %rbx
movq 0x10(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movq %r14, %r15
movslq %r12d, %r14
movq 0x8(%rbp), %rdi
addq %r14, %rdi
movq 0x28(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x8(%rbp), %rdi
movq 0x20(%rsp), %rsi
movq %rbx, %rdx
movq %r14, %rbx
movq %r15, %r14
movq 0x18(%rsp), %r15
callq 0x1230
movq 0x48(%rsp), %rdx
movq %r12, %r9
movq %r13, %r12
movq 0x8(%rbp), %rdi
movq %r15, %rbp
movq 0x40(%rsp), %r11
leaq (%rdi,%rbx), %r15
addq %r15, %rbx
movq %rbx, 0x10(%rsp)
movq 0x88(%rsp), %rax
cmpl $0x0, 0x108(%rsp)
jle 0xe08d
decq %rax
movq %rax, 0x100(%rsp)
movq 0xb0(%rsp), %rax
decq %rax
movq %rax, 0xf8(%rsp)
xorl %eax, %eax
xorl %r10d, %r10d
xorl %r8d, %r8d
movq %rax, 0xb8(%rsp)
movq 0x110(%rsp), %rax
movq 0xb8(%rsp), %rcx
movl (%rax,%rcx,4), %esi
testl %esi, %esi
js 0xd281
cmpl %esi, %edx
movq %rdx, 0x48(%rsp)
jne 0xd842
movq 0x10(%rsp), %rbp
jmp 0xdcac
movl %r11d, %eax
addl %esi, %eax
je 0xd710
movq %r15, 0x28(%rsp)
movslq %r11d, %rbx
movslq %edx, %r15
movq %rdx, 0x48(%rsp)
leal -0x1(%rdx), %eax
movq %rax, 0xe8(%rsp)
addq 0x100(%rsp), %r15
leal -0x1(%r11), %eax
movq %rax, 0xe0(%rsp)
movq 0xd8(%rsp), %rax
subq %rbx, %rax
movq %rax, 0x90(%rsp)
addq 0xf8(%rsp), %rbx
movq %r11, 0x40(%rsp)
movl %r11d, %eax
movq %rax, 0x80(%rsp)
addq %rax, %rsi
xorl %ebp, %ebp
movq %rsi, 0xa0(%rsp)
movq %r15, 0xc0(%rsp)
movq %rbx, 0xc8(%rsp)
movq 0x80(%rsp), %rax
addl %ebp, %eax
cltd
idivl %r14d
cmpl $0x1, %edx
jne 0xd59d
cmpq %rbp, 0x90(%rsp)
je 0xd59d
testl %r12d, %r12d
jle 0xd59d
cmpb $0x3, (%rbx,%rbp)
jg 0xd59d
movl %r10d, 0x8(%rsp)
movl %r8d, 0xc(%rsp)
movq %r12, 0x30(%rsp)
movq %r9, 0x70(%rsp)
movq %rdi, 0x20(%rsp)
movl $0xa, %edi
movq 0x18(%rsp), %r15
movq %r15, %rsi
callq 0x1170
movq %r15, %rdi
leaq 0xd216(%rip), %rsi      # 0x1a586
movl 0x3c(%rsp), %r12d
movl %r12d, %edx
leaq 0xdb10(%rip), %r13      # 0x1ae8f
movq %r13, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x158(%rsp), %edx
testl %edx, %edx
jle 0xd3c7
movl 0x38(%rsp), %ecx
cmpl 0x68(%rsp), %ecx
jge 0xd428
movq 0x18(%rsp), %r15
movq %r15, %rdi
leaq 0xd228(%rip), %rsi      # 0x1a5d9
movl %edx, %r13d
xorl %eax, %eax
callq 0x11a0
leaq 0xdacd(%rip), %r14      # 0x1ae8f
jmp 0xd44b
movq %r15, %rdi
leaq 0xd231(%rip), %rsi      # 0x1a602
movq 0x30(%rsp), %r14
movl %r14d, %edx
movq 0x20(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %r15, %rdi
leaq 0xd210(%rip), %rsi      # 0x1a5ff
movl %r12d, %edx
movq %r13, %rcx
movl %r14d, %r8d
movq 0x10(%rsp), %r9
xorl %eax, %eax
callq 0x11a0
movq %r15, %rdi
leaq 0xd1fb(%rip), %rsi      # 0x1a609
movl %r12d, %edx
movq %r13, %rcx
movl %r14d, %r8d
movq 0x28(%rsp), %r9
xorl %eax, %eax
callq 0x11a0
jmp 0xd52e
movq 0x18(%rsp), %r15
movq %r15, %rdi
leaq 0xd1ee(%rip), %rsi      # 0x1a625
leaq 0xda51(%rip), %r14      # 0x1ae8f
movq %r14, %rcx
movl %edx, %r13d
xorl %eax, %eax
callq 0x11a0
movq %r15, %rdi
leaq 0xd1ad(%rip), %rsi      # 0x1a602
movq 0x30(%rsp), %r12
movl %r12d, %edx
movq 0x20(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %r15, %rdi
leaq 0xd188(%rip), %rsi      # 0x1a5fb
movl 0x3c(%rsp), %edx
movq %r14, %rcx
movl %r13d, %r8d
movq %r14, %r9
xorl %eax, %eax
pushq 0x10(%rsp)
pushq %r12
movl %edx, %r12d
callq 0x11a0
addq $0x10, %rsp
movq %r15, %rdi
leaq 0xd0e8(%rip), %rsi      # 0x1a586
movl %r12d, %edx
movq %r14, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x58(%rsp), %rax
cmpl 0x6c(%rsp), %eax
jge 0xd4d7
testb $0x1, 0x64(%rsp)
jne 0xd4f0
movq 0x18(%rsp), %r15
movq %r15, %rdi
leaq 0xd10d(%rip), %rsi      # 0x1a5d9
movl 0x158(%rsp), %edx
movl %eax, %ecx
jmp 0xd50c
movq %r15, %rdi
leaq 0xd144(%rip), %rsi      # 0x1a625
movl %r13d, %edx
movq %r14, %rcx
xorl %eax, %eax
callq 0x11a0
jmp 0xd513
movl 0x7c(%rsp), %ecx
subl %eax, %ecx
movq 0x18(%rsp), %r15
movq %r15, %rdi
leaq 0xd0d4(%rip), %rsi      # 0x1a5d9
movl 0x158(%rsp), %edx
xorl %eax, %eax
callq 0x11a0
movq %r15, %rdi
leaq 0xd0ef(%rip), %rsi      # 0x1a60c
movq 0x30(%rsp), %rdx
movq 0x28(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movl 0xc(%rsp), %eax
cvtsi2sd %eax, %xmm0
mulsd 0xcae2(%rip), %xmm0     # 0x1a020
movl 0x8(%rsp), %ecx
addl %eax, %ecx
cvtsi2sd %ecx, %xmm1
divsd %xmm1, %xmm0
movq %r15, %rdi
leaq 0xd09b(%rip), %rsi      # 0x1a5f1
movb $0x1, %al
callq 0x11a0
movq 0xe0(%rsp), %rax
addl %ebp, %eax
movl %eax, 0x38(%rsp)
movq 0xe8(%rsp), %rax
addl %ebp, %eax
movq %rax, 0x58(%rsp)
xorl %r8d, %r8d
xorl %r10d, %r10d
movq 0x20(%rsp), %rdi
movq 0x70(%rsp), %r9
xorl %r12d, %r12d
movq 0xa0(%rsp), %rsi
movq 0xc0(%rsp), %r15
movsbq (%rbx,%rbp), %rax
movb (%r15,%rbp), %cl
movslq %r12d, %r12
cmpq $0x4, %rax
je 0xd5c4
cmpb $0x4, %cl
je 0xd5c4
cmpb %cl, %al
jne 0xd5d0
movq 0x10(%rsp), %rdx
movb $0x7c, (%rdx,%r12)
jmp 0xd5da
movq 0x10(%rsp), %rdx
movb $0x20, (%rdx,%r12)
jmp 0xd5da
movq 0x10(%rsp), %rdx
movb $0x2a, (%rdx,%r12)
movsbq %cl, %rcx
movq 0xa8(%rsp), %rdx
movb (%rdx,%rax), %al
movb %al, (%rdi,%r12)
movb (%rdx,%rcx), %al
movq 0x28(%rsp), %r14
movb %al, (%r14,%r12)
incl %r12d
cmpl %r9d, %r12d
jge 0xd60b
movq 0x50(%rsp), %r14
jmp 0xd6d3
leal (%r12,%r12,2), %esi
movq 0x98(%rsp), %r13
movq %rdi, 0x20(%rsp)
movq %r13, %rdi
movl %r8d, 0xc(%rsp)
movl %r10d, 0x8(%rsp)
callq 0x4252
movslq (%r13), %rax
movq %r12, 0x30(%rsp)
imulq $0x55555556, %rax, %r12 # imm = 0x55555556
movq %r12, %rax
shrq $0x3f, %rax
shrq $0x20, %r12
addl %eax, %r12d
leal (%r12,%r12), %eax
movslq %eax, %rdi
addq 0x8(%r13), %rdi
movslq 0x30(%rsp), %rbx
movq 0x10(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movslq %r12d, %r15
movq 0x8(%r13), %rdi
addq %r15, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x8(%r13), %rdi
movq 0x20(%rsp), %rsi
movq %rbx, %rdx
movq 0xc8(%rsp), %rbx
movq 0x50(%rsp), %r14
callq 0x1230
movq 0xa0(%rsp), %rsi
movl 0x8(%rsp), %r10d
movl 0xc(%rsp), %r8d
movq %r12, %r9
movq 0x30(%rsp), %r12
movq 0x8(%r13), %rdi
leaq (%rdi,%r15), %rax
movq %rax, 0x28(%rsp)
addq %rax, %r15
movq %r15, 0x10(%rsp)
movq 0xc0(%rsp), %r15
movb (%rbx,%rbp), %al
xorl %ecx, %ecx
xorl %edx, %edx
cmpb (%r15,%rbp), %al
sete %cl
setne %dl
addl %edx, %r8d
addl %ecx, %r10d
incq %rbp
movl %esi, %eax
addl %ebp, %eax
jne 0xd303
movq 0x48(%rsp), %rdx
addl %ebp, %edx
movq 0x40(%rsp), %r11
addl %ebp, %r11d
movq 0x28(%rsp), %r15
movq 0x18(%rsp), %rbp
movslq %edx, %rax
movq 0x88(%rsp), %rcx
movsbq -0x1(%rcx,%rax), %rax
cmpq $0x7, %rax
movl $0x2a, %ecx
movl $0x7c, %esi
cmovel %esi, %ecx
cmpq $0x4, %rax
movslq %r12d, %r12
movl $0x20, %esi
cmovel %esi, %ecx
movq 0x10(%rsp), %rsi
movb %cl, (%rsi,%r12)
movb $0x2d, (%rdi,%r12)
movq 0xa8(%rsp), %rcx
movb (%rcx,%rax), %al
movb %al, (%r15,%r12)
incl %r12d
cmpl %r9d, %r12d
jl 0xd833
leal (%r12,%r12,2), %esi
movq 0x98(%rsp), %r13
movq %rdi, 0x20(%rsp)
movq %r13, %rdi
movq %rdx, 0x48(%rsp)
movl %r8d, 0xc(%rsp)
movl %r10d, 0x8(%rsp)
movq %r11, 0x40(%rsp)
callq 0x4252
movslq (%r13), %rax
movq %r15, 0x28(%rsp)
movq %r12, %r15
imulq $0x55555556, %rax, %r12 # imm = 0x55555556
movq %r12, %rax
shrq $0x3f, %rax
shrq $0x20, %r12
addl %eax, %r12d
leal (%r12,%r12), %eax
movslq %eax, %rdi
addq 0x8(%r13), %rdi
movslq %r15d, %rbx
movq 0x10(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movq %r14, %rbp
movslq %r12d, %r14
movq 0x8(%r13), %rdi
addq %r14, %rdi
movq 0x28(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x8(%r13), %rdi
movq 0x20(%rsp), %rsi
movq %rbx, %rdx
movq %r14, %rbx
movq %rbp, %r14
movq 0x18(%rsp), %rbp
callq 0x1230
movq 0x40(%rsp), %r11
movl 0x8(%rsp), %r10d
movl 0xc(%rsp), %r8d
movq 0x48(%rsp), %rdx
movq %r12, %r9
movq %r15, %r12
movq 0x8(%r13), %rdi
leaq (%rdi,%rbx), %r15
addq %r15, %rbx
movq %rbx, 0x10(%rsp)
movq 0xb8(%rsp), %rax
incl %edx
jmp 0xe077
movq %r11, 0x40(%rsp)
movslq %r11d, %r11
movslq %edx, %rax
leal -0x1(%rdx), %ecx
movq %rcx, 0xe8(%rsp)
addq 0x100(%rsp), %rax
movq %rax, 0x80(%rsp)
movl %edx, %eax
negl %esi
addq %rax, %rsi
leal -0x1(%r11), %eax
movq %rax, 0xe0(%rsp)
movq 0xd8(%rsp), %rax
subq %r11, %rax
movq %rax, 0xc8(%rsp)
movl %r11d, %eax
movq %rax, 0xc0(%rsp)
addq 0xf8(%rsp), %r11
xorl %r13d, %r13d
movq %rsi, 0xa0(%rsp)
movq %r11, 0x90(%rsp)
movq 0xc0(%rsp), %rax
addl %r13d, %eax
cltd
idivl %r14d
cmpl $0x1, %edx
jne 0xdb23
cmpq %r13, 0xc8(%rsp)
je 0xdb23
testl %r12d, %r12d
jle 0xdb23
cmpb $0x3, (%r11,%r13)
jg 0xdb23
movl %r10d, 0x8(%rsp)
movl %r8d, 0xc(%rsp)
movq %r15, 0x28(%rsp)
movq %r9, 0x70(%rsp)
movq %rdi, 0x20(%rsp)
movl $0xa, %edi
movq %rbp, %rsi
callq 0x1170
movq %rbp, %rdi
leaq 0xcc68(%rip), %rsi      # 0x1a586
movl 0x3c(%rsp), %ebx
movl %ebx, %edx
leaq 0xd564(%rip), %r14      # 0x1ae8f
movq %r14, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x158(%rsp), %edx
testl %edx, %edx
jle 0xd963
movl 0x38(%rsp), %ecx
cmpl 0x68(%rsp), %ecx
jge 0xd9c0
movq %rbp, %rdi
leaq 0xcc85(%rip), %rsi      # 0x1a5d9
movq %r14, %r15
movl %edx, %r14d
xorl %eax, %eax
callq 0x11a0
jmp 0xd9da
movq %rbp, %rdi
leaq 0xcc95(%rip), %rsi      # 0x1a602
movl %r12d, %edx
movq 0x20(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xcc79(%rip), %rsi      # 0x1a5ff
movl %ebx, %edx
movq %r14, %rcx
movl %r12d, %r8d
movq 0x10(%rsp), %r9
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xcc65(%rip), %rsi      # 0x1a609
movl %ebx, %edx
movq %r14, %rcx
movl %r12d, %r8d
movq 0x28(%rsp), %r15
movq %r15, %r9
xorl %eax, %eax
callq 0x11a0
jmp 0xdaad
movq %rbp, %rdi
leaq 0xcc5b(%rip), %rsi      # 0x1a625
movq %r14, %rcx
movq %r14, %r15
movl %edx, %r14d
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xcc1e(%rip), %rsi      # 0x1a602
movl %r12d, %edx
movq 0x20(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xcbfe(%rip), %rsi      # 0x1a5fb
movl 0x3c(%rsp), %ebx
movl %ebx, %edx
movq %r15, %rcx
movl %r14d, %r8d
movq %r15, %r9
xorl %eax, %eax
pushq 0x10(%rsp)
pushq %r12
callq 0x11a0
addq $0x10, %rsp
movq %rbp, %rdi
leaq 0xcb5f(%rip), %rsi      # 0x1a586
movl %ebx, %edx
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x58(%rsp), %rax
cmpl 0x6c(%rsp), %eax
jge 0xda5a
testb $0x1, 0x64(%rsp)
jne 0xda73
movq %rbp, %rdi
leaq 0xcb8a(%rip), %rsi      # 0x1a5d9
movl 0x158(%rsp), %edx
movl %eax, %ecx
jmp 0xda8a
movq %rbp, %rdi
leaq 0xcbc1(%rip), %rsi      # 0x1a625
movl %r14d, %edx
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
jmp 0xda91
movl 0x7c(%rsp), %ecx
subl %eax, %ecx
movq %rbp, %rdi
leaq 0xcb56(%rip), %rsi      # 0x1a5d9
movl 0x158(%rsp), %edx
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xcb71(%rip), %rsi      # 0x1a60c
movl %r12d, %edx
movq 0x28(%rsp), %r15
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x50(%rsp), %r14
movl 0xc(%rsp), %eax
cvtsi2sd %eax, %xmm0
mulsd 0xc55e(%rip), %xmm0     # 0x1a020
movl 0x8(%rsp), %ecx
addl %eax, %ecx
cvtsi2sd %ecx, %xmm1
divsd %xmm1, %xmm0
movq %rbp, %rdi
leaq 0xcb17(%rip), %rsi      # 0x1a5f1
movb $0x1, %al
callq 0x11a0
movq 0xe0(%rsp), %rax
addl %r13d, %eax
movl %eax, 0x38(%rsp)
movq 0xe8(%rsp), %rax
addl %r13d, %eax
movq %rax, 0x58(%rsp)
xorl %r8d, %r8d
xorl %r10d, %r10d
xorl %r12d, %r12d
movq 0x20(%rsp), %rdi
movq 0x70(%rsp), %r9
movq 0xa0(%rsp), %rsi
movq 0x90(%rsp), %r11
movsbq (%r11,%r13), %rax
movq 0x80(%rsp), %rcx
movb (%rcx,%r13), %cl
movslq %r12d, %r12
cmpq $0x4, %rax
je 0xdb52
cmpb $0x4, %cl
je 0xdb52
cmpb %cl, %al
jne 0xdb5e
movq 0x10(%rsp), %rdx
movb $0x7c, (%rdx,%r12)
jmp 0xdb68
movq 0x10(%rsp), %rdx
movb $0x20, (%rdx,%r12)
jmp 0xdb68
movq 0x10(%rsp), %rdx
movb $0x2a, (%rdx,%r12)
movsbq %cl, %rcx
movq 0xa8(%rsp), %rdx
movb (%rdx,%rax), %al
movb %al, (%rdi,%r12)
movb (%rdx,%rcx), %al
movb %al, (%r15,%r12)
incl %r12d
cmpl %r9d, %r12d
jge 0xdb92
movq %rbp, %rbx
jmp 0xdc60
leal (%r12,%r12,2), %esi
movq 0x98(%rsp), %rbp
movq %r12, %rbx
movq %r12, 0x30(%rsp)
movq %r15, 0x28(%rsp)
movq %rdi, 0x20(%rsp)
movq %rbp, %rdi
movl %r8d, 0xc(%rsp)
movl %r10d, 0x8(%rsp)
callq 0x4252
movslq (%rbp), %rax
imulq $0x55555556, %rax, %r14 # imm = 0x55555556
movq %r14, %rax
shrq $0x3f, %rax
shrq $0x20, %r14
addl %eax, %r14d
leal (%r14,%r14), %eax
movslq %eax, %rdi
addq 0x8(%rbp), %rdi
movslq %ebx, %rbx
movq 0x10(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movslq %r14d, %r12
movq 0x8(%rbp), %rdi
addq %r12, %rdi
movq 0x28(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x8(%rbp), %rdi
movq 0x20(%rsp), %rsi
movq %rbx, %rdx
movq 0x50(%rsp), %r15
movq 0x18(%rsp), %rbx
callq 0x1230
movq 0x90(%rsp), %r11
movq 0xa0(%rsp), %rsi
movl 0x8(%rsp), %r10d
movl 0xc(%rsp), %r8d
movq %r14, %r9
movq %r15, %r14
movq 0x8(%rbp), %rdi
movq %r12, %rax
movq 0x30(%rsp), %r12
leaq (%rdi,%rax), %r15
addq %r15, %rax
movq %rax, 0x10(%rsp)
movb (%r11,%r13), %al
xorl %ecx, %ecx
xorl %edx, %edx
movq 0x80(%rsp), %rbp
cmpb (%rbp,%r13), %al
sete %cl
setne %dl
addl %edx, %r8d
addl %ecx, %r10d
incq %r13
movl %esi, %eax
addl %r13d, %eax
movq %rbx, %rbp
jne 0xd8b4
movq 0x10(%rsp), %rbp
movq 0x48(%rsp), %rax
addl %r13d, %eax
movq %rax, 0x48(%rsp)
movq 0x40(%rsp), %r11
addl %r13d, %r11d
movl %r11d, %eax
cltd
idivl %r14d
movslq %r11d, %rbx
cmpl $0x1, %edx
movq %r11, 0x40(%rsp)
jne 0xdd84
cmpl 0xd4(%rsp), %r11d
movq 0x48(%rsp), %rdx
je 0xdf55
testl %r12d, %r12d
jle 0xdf55
movq 0xb0(%rsp), %rax
cmpb $0x3, -0x1(%rax,%rbx)
jg 0xdf55
movl %r10d, 0x8(%rsp)
movl %r8d, 0xc(%rsp)
movq %r15, 0x28(%rsp)
movq %r12, 0x30(%rsp)
movq %r9, 0x70(%rsp)
movq %rdi, 0x20(%rsp)
movl $0xa, %edi
movq 0x18(%rsp), %r14
movq %r14, %rsi
callq 0x1170
movq %r14, %rdi
leaq 0xc859(%rip), %rsi      # 0x1a586
movl 0x3c(%rsp), %r12d
movl %r12d, %edx
leaq 0xd153(%rip), %r13      # 0x1ae8f
movq %r13, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x158(%rsp), %edx
testl %edx, %edx
jle 0xdd8e
movl 0x38(%rsp), %ecx
cmpl 0x68(%rsp), %ecx
jge 0xddf0
movq 0x18(%rsp), %r14
movq %r14, %rdi
leaq 0xc86b(%rip), %rsi      # 0x1a5d9
movl %edx, %r13d
xorl %eax, %eax
callq 0x11a0
leaq 0xd110(%rip), %r15      # 0x1ae8f
jmp 0xde13
movq 0x48(%rsp), %rdx
jmp 0xdf55
movq %r14, %rdi
leaq 0xc86a(%rip), %rsi      # 0x1a602
movq 0x30(%rsp), %r15
movl %r15d, %edx
movq 0x20(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %r14, %rdi
leaq 0xc849(%rip), %rsi      # 0x1a5ff
movl %r12d, %edx
movq %r13, %rcx
movl %r15d, %r8d
movq %rbp, %r9
xorl %eax, %eax
callq 0x11a0
movq %r14, %rdi
leaq 0xc836(%rip), %rsi      # 0x1a609
movl %r12d, %edx
movq %r13, %rcx
movl %r15d, %r8d
movq 0x28(%rsp), %r15
movq %r15, %r9
xorl %eax, %eax
callq 0x11a0
jmp 0xdef6
movq 0x18(%rsp), %r14
movq %r14, %rdi
leaq 0xc826(%rip), %rsi      # 0x1a625
leaq 0xd089(%rip), %r15      # 0x1ae8f
movq %r15, %rcx
movl %edx, %r13d
xorl %eax, %eax
callq 0x11a0
movq %r14, %rdi
leaq 0xc7e5(%rip), %rsi      # 0x1a602
movq 0x30(%rsp), %r12
movl %r12d, %edx
movq 0x20(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %r14, %rdi
leaq 0xc7c0(%rip), %rsi      # 0x1a5fb
movl 0x3c(%rsp), %edx
movq %r15, %rcx
movl %r13d, %r8d
movq %r15, %r9
xorl %eax, %eax
pushq %rbp
pushq %r12
movl %edx, %r12d
callq 0x11a0
addq $0x10, %rsp
movq %r14, %rdi
leaq 0xc723(%rip), %rsi      # 0x1a586
movl %r12d, %edx
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x58(%rsp), %rax
cmpl 0x6c(%rsp), %eax
jge 0xde9c
testb $0x1, 0x64(%rsp)
jne 0xdeb5
movq 0x18(%rsp), %r14
movq %r14, %rdi
leaq 0xc748(%rip), %rsi      # 0x1a5d9
movl 0x158(%rsp), %edx
movl %eax, %ecx
jmp 0xded1
movq %r14, %rdi
leaq 0xc77f(%rip), %rsi      # 0x1a625
movl %r13d, %edx
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
jmp 0xded8
movl 0x7c(%rsp), %ecx
subl %eax, %ecx
movq 0x18(%rsp), %r14
movq %r14, %rdi
leaq 0xc70f(%rip), %rsi      # 0x1a5d9
movl 0x158(%rsp), %edx
xorl %eax, %eax
callq 0x11a0
movq %r14, %rdi
leaq 0xc72a(%rip), %rsi      # 0x1a60c
movq 0x30(%rsp), %rdx
movq 0x28(%rsp), %r15
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0xc(%rsp), %eax
cvtsi2sd %eax, %xmm0
mulsd 0xc11a(%rip), %xmm0     # 0x1a020
movl 0x8(%rsp), %ecx
addl %eax, %ecx
cvtsi2sd %ecx, %xmm1
divsd %xmm1, %xmm0
movq %r14, %rdi
leaq 0xc6d3(%rip), %rsi      # 0x1a5f1
movb $0x1, %al
callq 0x11a0
movq 0x40(%rsp), %rax
decl %eax
movl %eax, 0x38(%rsp)
movq 0x48(%rsp), %rdx
leal -0x1(%rdx), %eax
movq %rax, 0x58(%rsp)
xorl %r8d, %r8d
xorl %r10d, %r10d
movq 0x20(%rsp), %rdi
movq 0x70(%rsp), %r9
xorl %r12d, %r12d
movq 0x50(%rsp), %r14
movq 0xb0(%rsp), %rax
movsbq -0x1(%rax,%rbx), %rax
cmpq $0x7, %rax
movl $0x2a, %ecx
movl $0x7c, %esi
cmovel %esi, %ecx
cmpq $0x4, %rax
movslq %r12d, %r12
movl $0x20, %esi
cmovel %esi, %ecx
movq %rbp, 0x10(%rsp)
movb %cl, (%rbp,%r12)
movq 0xa8(%rsp), %rcx
movb (%rcx,%rax), %al
movb %al, (%rdi,%r12)
movb $0x2d, (%r15,%r12)
incl %r12d
cmpl %r9d, %r12d
jl 0xe062
leal (%r12,%r12,2), %esi
movq 0x98(%rsp), %r13
movq %r15, 0x28(%rsp)
movq %rdi, 0x20(%rsp)
movq %r13, %rdi
movl %r8d, 0xc(%rsp)
movl %r10d, 0x8(%rsp)
callq 0x4252
movslq (%r13), %rax
movq %r12, %rbp
imulq $0x55555556, %rax, %r12 # imm = 0x55555556
movq %r12, %rax
shrq $0x3f, %rax
shrq $0x20, %r12
addl %eax, %r12d
leal (%r12,%r12), %eax
movslq %eax, %rdi
addq 0x8(%r13), %rdi
movslq %ebp, %rbx
movq 0x10(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movq %r14, %r15
movslq %r12d, %r14
movq 0x8(%r13), %rdi
addq %r14, %rdi
movq 0x28(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x8(%r13), %rdi
movq 0x20(%rsp), %rsi
movq %rbx, %rdx
movq %r14, %rbx
movq %r15, %r14
callq 0x1230
movl 0x8(%rsp), %r10d
movl 0xc(%rsp), %r8d
movq 0x48(%rsp), %rdx
movq %r12, %r9
movq %rbp, %r12
movq 0x8(%r13), %rdi
leaq (%rdi,%rbx), %r15
addq %r15, %rbx
movq %rbx, 0x10(%rsp)
movq 0x18(%rsp), %rbp
movq 0x40(%rsp), %r11
movq 0xb8(%rsp), %rax
incl %r11d
incl %r8d
incq %rax
cmpq 0x108(%rsp), %rax
jne 0xd24b
jmp 0xe093
xorl %r8d, %r8d
xorl %r10d, %r10d
movq 0xf0(%rsp), %rax
movq (%rax), %rax
movl 0x18(%rax), %esi
cmpl %esi, %r11d
jg 0xe558
movq %r9, 0x70(%rsp)
movslq %r11d, %rax
movq %rdx, 0x48(%rsp)
movslq %edx, %rcx
leal -0x1(%rcx), %edx
movq %rdx, 0xc8(%rsp)
movq 0x88(%rsp), %rdx
leaq -0x1(%rcx,%rdx), %rcx
movq %rcx, 0x80(%rsp)
leal -0x1(%r11), %ecx
movq %rcx, 0xb8(%rsp)
subq %rax, 0xd8(%rsp)
movq 0xb0(%rsp), %rcx
addq %rax, %rcx
decq %rcx
movl %r11d, %eax
notl %esi
movq %rax, 0xa0(%rsp)
addq %rax, %rsi
xorl %r13d, %r13d
movq %rsi, 0xc0(%rsp)
movq %rcx, %r9
movq %rcx, 0x90(%rsp)
movq %r11, 0x40(%rsp)
movq 0xa0(%rsp), %rax
addl %r13d, %eax
cltd
idivl %r14d
cmpl $0x1, %edx
jne 0xe1dd
cmpq %r13, 0xd8(%rsp)
movq %r9, %rbx
je 0xe3c3
testl %r12d, %r12d
jle 0xe3c3
cmpb $0x3, (%rbx,%r13)
jg 0xe3c3
movl %r10d, 0x8(%rsp)
movl %r8d, 0xc(%rsp)
movq %r15, 0x28(%rsp)
movq %r12, 0x30(%rsp)
movq %rdi, 0x20(%rsp)
movl $0xa, %edi
movq %rbp, %rsi
callq 0x1170
movq %rbp, %rdi
leaq 0xc3f2(%rip), %rsi      # 0x1a586
movl 0x3c(%rsp), %ebx
movl %ebx, %edx
leaq 0xccee(%rip), %r12      # 0x1ae8f
movq %r12, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x158(%rsp), %edx
testl %edx, %edx
jle 0xe1e5
movl 0x38(%rsp), %ecx
cmpl 0x68(%rsp), %ecx
jge 0xe254
movq %rbp, %rdi
leaq 0xc40b(%rip), %rsi      # 0x1a5d9
movl %edx, %r14d
xorl %eax, %eax
callq 0x11a0
jmp 0xe26b
movq %r9, %rbx
jmp 0xe3c3
movq %rbp, %rdi
leaq 0xc413(%rip), %rsi      # 0x1a602
movq 0x30(%rsp), %r14
movl %r14d, %edx
movq 0x20(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xc3f2(%rip), %rsi      # 0x1a5ff
movl %ebx, %edx
movq %r12, %rcx
movl %r14d, %r8d
movq 0x10(%rsp), %r9
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xc3de(%rip), %rsi      # 0x1a609
movl %ebx, %edx
movq %r12, %rcx
movl %r14d, %r8d
movq 0x28(%rsp), %r15
movq %r15, %r9
xorl %eax, %eax
callq 0x11a0
movq 0x50(%rsp), %r14
movq 0x90(%rsp), %rbx
jmp 0xe35a
movq %rbp, %rdi
leaq 0xc3c7(%rip), %rsi      # 0x1a625
movq %r12, %rcx
movl %edx, %r14d
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xc38d(%rip), %rsi      # 0x1a602
movq 0x30(%rsp), %r15
movl %r15d, %edx
movq 0x20(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xc368(%rip), %rsi      # 0x1a5fb
movl 0x3c(%rsp), %ebx
movl %ebx, %edx
movq %r12, %rcx
movl %r14d, %r8d
movq %r12, %r9
xorl %eax, %eax
pushq 0x10(%rsp)
pushq %r15
callq 0x11a0
addq $0x10, %rsp
movq %rbp, %rdi
leaq 0xc2c9(%rip), %rsi      # 0x1a586
movl %ebx, %edx
movq %r12, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x58(%rsp), %rax
cmpl 0x6c(%rsp), %eax
jge 0xe2f8
testb $0x1, 0x64(%rsp)
movq 0x90(%rsp), %rbx
jne 0xe319
movq %rbp, %rdi
leaq 0xc2ec(%rip), %rsi      # 0x1a5d9
movl 0x158(%rsp), %edx
movl %eax, %ecx
jmp 0xe330
movq %rbp, %rdi
leaq 0xc323(%rip), %rsi      # 0x1a625
movl %r14d, %edx
movq %r12, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x90(%rsp), %rbx
jmp 0xe337
movl 0x7c(%rsp), %ecx
subl %eax, %ecx
movq %rbp, %rdi
leaq 0xc2b0(%rip), %rsi      # 0x1a5d9
movl 0x158(%rsp), %edx
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xc2cb(%rip), %rsi      # 0x1a60c
movq 0x30(%rsp), %rdx
movq 0x28(%rsp), %r15
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x50(%rsp), %r14
movl 0xc(%rsp), %eax
cvtsi2sd %eax, %xmm0
mulsd 0xbcb6(%rip), %xmm0     # 0x1a020
movl 0x8(%rsp), %ecx
addl %eax, %ecx
cvtsi2sd %ecx, %xmm1
divsd %xmm1, %xmm0
movq %rbp, %rdi
leaq 0xc26f(%rip), %rsi      # 0x1a5f1
movb $0x1, %al
callq 0x11a0
movq 0xb8(%rsp), %rax
addl %r13d, %eax
movl %eax, 0x38(%rsp)
movq 0xc8(%rsp), %rax
addl %r13d, %eax
movq %rax, 0x58(%rsp)
xorl %r8d, %r8d
xorl %r10d, %r10d
movq 0x20(%rsp), %rdi
xorl %r12d, %r12d
movq 0x40(%rsp), %r11
movq 0xc0(%rsp), %rsi
movq %rbx, %r9
movsbq (%rbx,%r13), %rax
movq 0x80(%rsp), %rcx
movb (%rcx,%r13), %cl
movslq %r12d, %r12
cmpq $0x4, %rax
je 0xe3f5
cmpb $0x4, %cl
je 0xe3f5
cmpb %cl, %al
jne 0xe401
movq 0x10(%rsp), %rdx
movb $0x7c, (%rdx,%r12)
jmp 0xe40b
movq 0x10(%rsp), %rdx
movb $0x20, (%rdx,%r12)
jmp 0xe40b
movq 0x10(%rsp), %rdx
movb $0x2a, (%rdx,%r12)
movsbq %cl, %rcx
movq 0xa8(%rsp), %rdx
movb (%rdx,%rax), %al
movb %al, (%rdi,%r12)
movb (%rdx,%rcx), %al
movb %al, (%r15,%r12)
incl %r12d
cmpl 0x70(%rsp), %r12d
jge 0xe43d
movq %r11, %rbx
movq %rsi, %r11
movq %r9, %rcx
jmp 0xe510
leal (%r12,%r12,2), %esi
movq 0x98(%rsp), %r14
movq %r12, %rbx
movq %r12, 0x30(%rsp)
movq %r15, 0x28(%rsp)
movq %rdi, %rbp
movq %r14, %rdi
movl %r8d, 0xc(%rsp)
movl %r10d, 0x8(%rsp)
callq 0x4252
movslq (%r14), %rax
imulq $0x55555556, %rax, %r15 # imm = 0x55555556
movq %r15, %rax
shrq $0x3f, %rax
shrq $0x20, %r15
addl %eax, %r15d
movq %r15, 0x70(%rsp)
leal (%r15,%r15), %eax
movslq %eax, %rdi
addq 0x8(%r14), %rdi
movslq %ebx, %rbx
movq 0x10(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movslq %r15d, %r15
movq 0x8(%r14), %rdi
addq %r15, %rdi
movq 0x28(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x8(%r14), %rdi
movq %rbp, %rsi
movq %rbx, %rdx
movq %r15, %r12
movq 0x50(%rsp), %r15
movq 0x18(%rsp), %rbp
callq 0x1230
movq 0xc0(%rsp), %r11
movl 0x8(%rsp), %r10d
movl 0xc(%rsp), %r8d
movq 0x90(%rsp), %rcx
movq %r12, %rax
movq 0x30(%rsp), %r12
movq 0x40(%rsp), %rbx
movq 0x8(%r14), %rdi
movq %r15, %r14
leaq (%rdi,%rax), %r15
addq %r15, %rax
movq %rax, 0x10(%rsp)
movq %rcx, %r9
movb (%rcx,%r13), %al
xorl %ecx, %ecx
xorl %edx, %edx
movq 0x80(%rsp), %rsi
cmpb (%rsi,%r13), %al
sete %cl
setne %dl
addl %edx, %r8d
addl %ecx, %r10d
incq %r13
movl %r11d, %eax
addl %r13d, %eax
movq %r11, %rsi
movq %rbx, %r11
jne 0xe127
movq 0x48(%rsp), %rdx
addl %r13d, %edx
addl %r13d, %r11d
movq 0x70(%rsp), %r9
movslq %r11d, %rax
movq 0xb0(%rsp), %rcx
cmpb $0x4, -0x1(%rcx,%rax)
jne 0xee3a
cmpl $0x0, 0xd0(%rsp)
jle 0xef4e
movslq %r11d, %rbx
movq 0xb0(%rsp), %rax
movb -0x1(%rax,%rbx), %cl
movslq %edx, %r13
cmpb $0x4, %cl
movq 0x88(%rsp), %rax
movq %rdx, 0x48(%rsp)
jne 0xe6a7
cmpb $0x4, -0x1(%rax,%r13)
je 0xef49
cmpb $0x4, %cl
jne 0xe6a7
movsbq -0x1(%rax,%r13), %rax
movslq %r12d, %rcx
movq 0x10(%rsp), %rbx
movb $0x20, (%rbx,%rcx)
movb $0x2e, (%rdi,%rcx)
movq 0xa8(%rsp), %rdx
movb (%rdx,%rax), %al
movb %al, (%r15,%rcx)
incl %r12d
cmpl %r9d, %r12d
jl 0xe698
leal (%r12,%r12,2), %esi
movq 0x98(%rsp), %r13
movq %rdi, 0x20(%rsp)
movq %r13, %rdi
movl %r8d, 0xc(%rsp)
movl %r10d, 0x8(%rsp)
movq %r11, %rbp
callq 0x4252
movslq (%r13), %rax
movq %r15, 0x28(%rsp)
movq %r12, %r15
imulq $0x55555556, %rax, %r12 # imm = 0x55555556
movq %r12, %rax
shrq $0x3f, %rax
shrq $0x20, %r12
addl %eax, %r12d
leal (%r12,%r12), %eax
movslq %eax, %rdi
addq 0x8(%r13), %rdi
movq %rbx, %rsi
movslq %r15d, %rbx
movq %rbx, %rdx
callq 0x1230
movslq %r12d, %r14
movq 0x8(%r13), %rdi
addq %r14, %rdi
movq 0x28(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x8(%r13), %rdi
movq 0x20(%rsp), %rsi
movq %rbx, %rdx
movq %r14, %rbx
movq 0x50(%rsp), %r14
callq 0x1230
movq %rbp, %r11
movl 0x8(%rsp), %r10d
movl 0xc(%rsp), %r8d
movq %r12, %r9
movq %r15, %r12
movq 0x8(%r13), %rdi
leaq (%rdi,%rbx), %r15
addq %r15, %rbx
movq 0x18(%rsp), %rbp
movq %rbx, 0x10(%rsp)
jmp 0xee21
movb -0x1(%rax,%r13), %sil
movl %r11d, %eax
cltd
idivl %r14d
cmpl $0x1, %edx
setne %dl
cmpl 0xd4(%rsp), %r11d
sete %al
orb %dl, %al
cmpb $0x4, %sil
jne 0xe6da
testb %al, %al
je 0xe6ef
movq 0x48(%rsp), %rdx
jmp 0xeb68
testb %al, %al
je 0xe797
movq 0x88(%rsp), %rax
jmp 0xed0c
cmpb $0x3, %cl
movq 0x48(%rsp), %rdx
jg 0xeb68
testl %r12d, %r12d
jle 0xeb68
movl %r10d, 0x8(%rsp)
movl %r8d, 0xc(%rsp)
movq %r15, 0x28(%rsp)
movq %r12, 0x30(%rsp)
movq %r11, 0x40(%rsp)
movq %r9, 0x70(%rsp)
movq %rdi, 0x20(%rsp)
movl $0xa, %edi
movl 0x3c(%rsp), %ebp
movq 0x18(%rsp), %r13
movq %r13, %rsi
callq 0x1170
movq %r13, %rdi
leaq 0xbe3d(%rip), %rsi      # 0x1a586
movl %ebp, %edx
leaq 0xc73d(%rip), %r12      # 0x1ae8f
movq %r12, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x158(%rsp), %edx
testl %edx, %edx
jle 0xe841
movl 0x38(%rsp), %ecx
cmpl 0x68(%rsp), %ecx
jge 0xe916
movq 0x18(%rsp), %r13
movq %r13, %rdi
leaq 0xbe51(%rip), %rsi      # 0x1a5d9
movl %edx, %r14d
xorl %eax, %eax
callq 0x11a0
jmp 0xe932
cmpb $0x3, %cl
movq 0x88(%rsp), %rax
jg 0xed0c
testl %r12d, %r12d
jle 0xed0c
movl %r10d, 0x8(%rsp)
movl %r8d, 0xc(%rsp)
movq %r15, 0x28(%rsp)
movq %r12, 0x30(%rsp)
movq %r11, 0x40(%rsp)
movq %r9, 0x70(%rsp)
movq %rdi, 0x20(%rsp)
movl $0xa, %edi
movq 0x18(%rsp), %rbp
movq %rbp, %rsi
callq 0x1170
movq %rbp, %rdi
leaq 0xbd96(%rip), %rsi      # 0x1a586
movl 0x3c(%rsp), %r14d
movl %r14d, %edx
leaq 0xc690(%rip), %r12      # 0x1ae8f
movq %r12, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x158(%rsp), %edx
testl %edx, %edx
jle 0xe8ad
movl 0x38(%rsp), %ecx
cmpl 0x68(%rsp), %ecx
jge 0xe9cc
movq 0x18(%rsp), %rbp
movq %rbp, %rdi
leaq 0xbda4(%rip), %rsi      # 0x1a5d9
xorl %eax, %eax
callq 0x11a0
jmp 0xe9e5
movq %r13, %rdi
leaq 0xbdb7(%rip), %rsi      # 0x1a602
movq 0x30(%rsp), %r14
movl %r14d, %edx
movq 0x20(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %r13, %rdi
leaq 0xbd96(%rip), %rsi      # 0x1a5ff
movl %ebp, %edx
movq %r12, %rcx
movl %r14d, %r8d
movq 0x10(%rsp), %r9
xorl %eax, %eax
callq 0x11a0
movq %r13, %rdi
leaq 0xbd82(%rip), %rsi      # 0x1a609
movl %ebp, %edx
movq %r12, %rcx
movl %r14d, %r8d
movq 0x50(%rsp), %r14
movq 0x28(%rsp), %r15
movq %r15, %r9
xorl %eax, %eax
callq 0x11a0
movq 0x40(%rsp), %rbp
jmp 0xeb0f
movq %rbp, %rdi
leaq 0xbd4b(%rip), %rsi      # 0x1a602
movq 0x30(%rsp), %r15
movl %r15d, %edx
movq 0x20(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xbd2a(%rip), %rsi      # 0x1a5ff
movl %r14d, %edx
movq %r12, %rcx
movl %r15d, %r8d
movq 0x10(%rsp), %r9
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xbd15(%rip), %rsi      # 0x1a609
movl %r14d, %edx
movq %r12, %rcx
movl %r15d, %r8d
movq 0x28(%rsp), %r15
movq %r15, %r9
xorl %eax, %eax
callq 0x11a0
movq 0x50(%rsp), %r14
jmp 0xeca9
movq 0x18(%rsp), %r13
movq %r13, %rdi
leaq 0xbd00(%rip), %rsi      # 0x1a625
movq %r12, %rcx
movl %edx, %r14d
xorl %eax, %eax
callq 0x11a0
movq %r13, %rdi
leaq 0xbcc6(%rip), %rsi      # 0x1a602
movq 0x30(%rsp), %r15
movl %r15d, %edx
movq 0x20(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %r13, %rdi
leaq 0xbca1(%rip), %rsi      # 0x1a5fb
movl 0x3c(%rsp), %ebp
movl %ebp, %edx
movq %r12, %rcx
movl %r14d, %r8d
movq %r12, %r9
xorl %eax, %eax
pushq 0x10(%rsp)
pushq %r15
callq 0x11a0
addq $0x10, %rsp
movq %r13, %rdi
leaq 0xbc02(%rip), %rsi      # 0x1a586
movl %ebp, %edx
movq %r12, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x58(%rsp), %rax
cmpl 0x6c(%rsp), %eax
jge 0xea83
testb $0x1, 0x64(%rsp)
movq 0x40(%rsp), %r12
jne 0xeac6
movq 0x18(%rsp), %r13
movq %r13, %rdi
leaq 0xbc1b(%rip), %rsi      # 0x1a5d9
movl 0x158(%rsp), %edx
movl %eax, %ecx
jmp 0xeae2
movq 0x18(%rsp), %rbp
movq %rbp, %rdi
leaq 0xbc4a(%rip), %rsi      # 0x1a625
movq %r12, %rcx
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xbc13(%rip), %rsi      # 0x1a602
movq 0x30(%rsp), %r15
movl %r15d, %edx
movq 0x20(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xbbee(%rip), %rsi      # 0x1a5fb
movl 0x3c(%rsp), %r14d
movl %r14d, %edx
movq %r12, %rcx
movl 0x158(%rsp), %r8d
movq %r12, %r9
xorl %eax, %eax
pushq 0x10(%rsp)
pushq %r15
callq 0x11a0
addq $0x10, %rsp
movq %rbp, %rdi
leaq 0xbb48(%rip), %rsi      # 0x1a586
movl %r14d, %edx
movq %r12, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x58(%rsp), %rax
cmpl 0x6c(%rsp), %eax
jge 0xeaa1
testb $0x1, 0x64(%rsp)
movq 0x50(%rsp), %r14
jne 0xec68
movq 0x18(%rsp), %rbp
movq %rbp, %rdi
leaq 0xbb64(%rip), %rsi      # 0x1a5d9
movl 0x158(%rsp), %edx
movl %eax, %ecx
jmp 0xec84
movq %r13, %rdi
leaq 0xbb98(%rip), %rsi      # 0x1a625
movl %r14d, %edx
movq %r12, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x40(%rsp), %r12
jmp 0xeae9
movq %rbp, %rdi
leaq 0xbb7a(%rip), %rsi      # 0x1a625
movl 0x158(%rsp), %edx
movq %r12, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x50(%rsp), %r14
jmp 0xec8b
movl 0x7c(%rsp), %ecx
subl %eax, %ecx
movq 0x18(%rsp), %r13
movq %r13, %rdi
leaq 0xbafe(%rip), %rsi      # 0x1a5d9
movl 0x158(%rsp), %edx
xorl %eax, %eax
callq 0x11a0
movq 0x30(%rsp), %rdx
movq 0x50(%rsp), %r14
movq %r13, %rdi
leaq 0xbb0f(%rip), %rsi      # 0x1a60c
movq 0x28(%rsp), %r15
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
movq %r12, %rbp
movl 0xc(%rsp), %eax
cvtsi2sd %eax, %xmm0
mulsd 0xb501(%rip), %xmm0     # 0x1a020
movl 0x8(%rsp), %ecx
addl %eax, %ecx
cvtsi2sd %ecx, %xmm1
divsd %xmm1, %xmm0
movq %r13, %rdi
leaq 0xbaba(%rip), %rsi      # 0x1a5f1
movb $0x1, %al
callq 0x11a0
leal -0x1(%rbp), %eax
movl %eax, 0x38(%rsp)
movq 0x48(%rsp), %rdx
leal -0x1(%rdx), %eax
movq %rax, 0x58(%rsp)
xorl %r8d, %r8d
xorl %r10d, %r10d
xorl %r12d, %r12d
movq 0x20(%rsp), %rdi
movq 0x70(%rsp), %r9
movq %rbp, %r11
movq 0xb0(%rsp), %rax
movsbq -0x1(%rax,%rbx), %rax
movslq %r12d, %r12
movq 0x10(%rsp), %rbx
movb $0x20, (%rbx,%r12)
movq 0xa8(%rsp), %rcx
movb (%rcx,%rax), %al
movb %al, (%rdi,%r12)
movb $0x2e, (%r15,%r12)
incl %r12d
cmpl %r9d, %r12d
jl 0xec56
leal (%r12,%r12,2), %esi
movq 0x98(%rsp), %r13
movq %rdi, 0x20(%rsp)
movq %r13, %rdi
movl %r8d, 0xc(%rsp)
movl %r10d, 0x8(%rsp)
movq %r11, %rbp
callq 0x4252
movslq (%r13), %rax
movq %r15, 0x28(%rsp)
movq %r12, %r15
imulq $0x55555556, %rax, %r12 # imm = 0x55555556
movq %r12, %rax
shrq $0x3f, %rax
shrq $0x20, %r12
addl %eax, %r12d
leal (%r12,%r12), %eax
movslq %eax, %rdi
addq 0x8(%r13), %rdi
movq %rbx, %rsi
movslq %r15d, %rbx
movq %rbx, %rdx
callq 0x1230
movslq %r12d, %r14
movq 0x8(%r13), %rdi
addq %r14, %rdi
movq 0x28(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x8(%r13), %rdi
movq 0x20(%rsp), %rsi
movq %rbx, %rdx
movq %r14, %rbx
movq 0x50(%rsp), %r14
callq 0x1230
movq %rbp, %r11
movl 0x8(%rsp), %r10d
movl 0xc(%rsp), %r8d
movq 0x48(%rsp), %rdx
movq %r12, %r9
movq %r15, %r12
movq 0x8(%r13), %rdi
leaq (%rdi,%rbx), %r15
addq %r15, %rbx
movq 0x18(%rsp), %rbp
movq %rbx, 0x10(%rsp)
incl %r11d
jmp 0xee28
movl 0x7c(%rsp), %ecx
subl %eax, %ecx
movq 0x18(%rsp), %rbp
movq %rbp, %rdi
leaq 0xb95c(%rip), %rsi      # 0x1a5d9
movl 0x158(%rsp), %edx
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xb977(%rip), %rsi      # 0x1a60c
movq 0x30(%rsp), %rdx
movq 0x28(%rsp), %r15
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0xc(%rsp), %eax
cvtsi2sd %eax, %xmm0
mulsd 0xb367(%rip), %xmm0     # 0x1a020
movl 0x8(%rsp), %ecx
addl %eax, %ecx
cvtsi2sd %ecx, %xmm1
divsd %xmm1, %xmm0
movq %rbp, %rdi
leaq 0xb920(%rip), %rsi      # 0x1a5f1
movb $0x1, %al
callq 0x11a0
movq 0x40(%rsp), %r11
leal -0x1(%r11), %eax
movl %eax, 0x38(%rsp)
movq 0x48(%rsp), %rax
decl %eax
movq %rax, 0x58(%rsp)
xorl %r8d, %r8d
xorl %r10d, %r10d
xorl %r12d, %r12d
movq 0x20(%rsp), %rdi
movq 0x88(%rsp), %rax
movq 0x70(%rsp), %r9
movsbq -0x1(%rax,%r13), %rax
cmpq $0x4, %rax
movl $0x3a, %ecx
movl $0x20, %esi
cmovel %esi, %ecx
movq 0xb0(%rsp), %rdx
movsbq -0x1(%rdx,%rbx), %rdx
cmpq $0x4, %rdx
cmovel %esi, %ecx
movslq %r12d, %r12
movq 0x10(%rsp), %rbx
movb %cl, (%rbx,%r12)
movq 0xa8(%rsp), %rsi
movb (%rsi,%rdx), %cl
movb %cl, (%rdi,%r12)
movb (%rsi,%rax), %al
movb %al, (%r15,%r12)
incl %r12d
cmpl %r9d, %r12d
jl 0xee14
leal (%r12,%r12,2), %esi
movq 0x98(%rsp), %r13
movq %rdi, 0x20(%rsp)
movq %r13, %rdi
movl %r8d, 0xc(%rsp)
movl %r10d, 0x8(%rsp)
movq %r11, %rbp
callq 0x4252
movslq (%r13), %rax
movq %r15, 0x28(%rsp)
movq %r12, %r15
imulq $0x55555556, %rax, %r12 # imm = 0x55555556
movq %r12, %rax
shrq $0x3f, %rax
shrq $0x20, %r12
addl %eax, %r12d
leal (%r12,%r12), %eax
movslq %eax, %rdi
addq 0x8(%r13), %rdi
movq %rbx, %rsi
movslq %r15d, %rbx
movq %rbx, %rdx
callq 0x1230
movslq %r12d, %r14
movq 0x8(%r13), %rdi
addq %r14, %rdi
movq 0x28(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x8(%r13), %rdi
movq 0x20(%rsp), %rsi
movq %rbx, %rdx
movq %r14, %rbx
movq 0x50(%rsp), %r14
callq 0x1230
movq %rbp, %r11
movl 0x8(%rsp), %r10d
movl 0xc(%rsp), %r8d
movq %r12, %r9
movq %r15, %r12
movq 0x8(%r13), %rdi
leaq (%rdi,%rbx), %r15
addq %r15, %rbx
movq 0x18(%rsp), %rbp
movq %rbx, 0x10(%rsp)
incl %r11d
movq 0x48(%rsp), %rdx
incl %edx
decl 0xd0(%rsp)
jne 0xe57c
jmp 0xef4e
cmpl $0x0, 0xd0(%rsp)
jle 0xe56e
movslq %edx, %rax
movq 0x88(%rsp), %rcx
cmpb $0x4, -0x1(%rcx,%rax)
je 0xe56e
movslq %r12d, %r12
movb $0x5d, %al
movq 0x10(%rsp), %rcx
movb %al, (%rcx,%r12)
movb %al, (%rdi,%r12)
movb %al, (%r15,%r12)
incl %r12d
cmpl %r9d, %r12d
jl 0xe56e
leal (%r12,%r12,2), %esi
movq 0x98(%rsp), %r13
movq %rdi, %rbp
movq %r13, %rdi
movq %rdx, 0x48(%rsp)
movl %r8d, 0xc(%rsp)
movl %r10d, 0x8(%rsp)
movq %r11, 0x40(%rsp)
callq 0x4252
movslq (%r13), %rax
movq %r15, 0x28(%rsp)
movq %r12, %r15
imulq $0x55555556, %rax, %r12 # imm = 0x55555556
movq %r12, %rax
shrq $0x3f, %rax
shrq $0x20, %r12
addl %eax, %r12d
leal (%r12,%r12), %eax
movslq %eax, %rdi
addq 0x8(%r13), %rdi
movslq %r15d, %rbx
movq 0x10(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movslq %r12d, %r14
movq 0x8(%r13), %rdi
addq %r14, %rdi
movq 0x28(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x8(%r13), %rdi
movq %rbp, %rsi
movq %rbx, %rdx
movq %r14, %rbx
movq 0x50(%rsp), %r14
movq 0x18(%rsp), %rbp
callq 0x1230
movq 0x40(%rsp), %r11
movl 0x8(%rsp), %r10d
movl 0xc(%rsp), %r8d
movq 0x48(%rsp), %rdx
movq %r12, %r9
movq %r15, %r12
movq 0x8(%r13), %rdi
leaq (%rdi,%rbx), %r15
addq %r15, %rbx
movq %rbx, 0x10(%rsp)
jmp 0xe56e
movq 0x18(%rsp), %rbp
movl %r8d, 0xc(%rsp)
movl %r10d, 0x8(%rsp)
movq %rdi, %rbx
movl $0xa, %edi
movq %rbp, %rsi
callq 0x1170
leaq 0xb617(%rip), %rsi      # 0x1a586
leaq 0xbf19(%rip), %rcx      # 0x1ae8f
movq %rbp, %rdi
movl 0x3c(%rsp), %r14d
movl %r14d, %edx
xorl %eax, %eax
callq 0x11a0
movl 0x158(%rsp), %edx
testl %edx, %edx
jle 0xefbc
movl 0x38(%rsp), %ecx
cmpl 0x68(%rsp), %ecx
jge 0xf024
leaq 0xb631(%rip), %rsi      # 0x1a5d9
movq %rbp, %rdi
movq %rbp, %r14
movl %edx, %ebp
xorl %eax, %eax
callq 0x11a0
jmp 0xf041
leaq 0xb63f(%rip), %rsi      # 0x1a602
movq %rbp, %rdi
movl %r12d, %edx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x11a0
leaq 0xb625(%rip), %rsi      # 0x1a5ff
leaq 0xbeae(%rip), %rbx      # 0x1ae8f
movq 0x18(%rsp), %rdi
movl %r14d, %edx
movq %rbx, %rcx
movl %r12d, %r8d
movq 0x10(%rsp), %r9
xorl %eax, %eax
callq 0x11a0
leaq 0xb607(%rip), %rsi      # 0x1a609
movq 0x18(%rsp), %rdi
movl %r14d, %edx
movq %rbx, %rcx
movq 0x18(%rsp), %r14
movl %r12d, %r8d
movq %r15, %r9
xorl %eax, %eax
callq 0x11a0
jmp 0xf124
leaq 0xb5fa(%rip), %rsi      # 0x1a625
leaq 0xbe5d(%rip), %rcx      # 0x1ae8f
movq %rbp, %rdi
movq %rbp, %r14
movl %edx, %ebp
xorl %eax, %eax
callq 0x11a0
leaq 0xb5ba(%rip), %rsi      # 0x1a602
movq %r14, %rdi
movl %r12d, %edx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x11a0
leaq 0xb59c(%rip), %rsi      # 0x1a5fb
leaq 0xbe29(%rip), %rbx      # 0x1ae8f
movq %r14, %rdi
movl 0x3c(%rsp), %r13d
movl %r13d, %edx
movq %rbx, %rcx
movl %ebp, %r8d
movq %rbx, %r9
xorl %eax, %eax
pushq 0x10(%rsp)
pushq %r12
callq 0x11a0
addq $0x10, %rsp
leaq 0xb4f4(%rip), %rsi      # 0x1a586
movq %r14, %rdi
movl %r13d, %edx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x58(%rsp), %rax
cmpl 0x6c(%rsp), %eax
jge 0xf0ce
testb $0x1, 0x64(%rsp)
jne 0xf0ea
leaq 0xb51e(%rip), %rsi      # 0x1a5d9
movq 0x18(%rsp), %r14
movq %r14, %rdi
movl 0x158(%rsp), %edx
movl %eax, %ecx
jmp 0xf106
leaq 0xb550(%rip), %rsi      # 0x1a625
leaq 0xbdb3(%rip), %rcx      # 0x1ae8f
movq %r14, %rdi
movl %ebp, %edx
xorl %eax, %eax
callq 0x11a0
jmp 0xf10d
movl 0x7c(%rsp), %ecx
subl %eax, %ecx
leaq 0xb4e2(%rip), %rsi      # 0x1a5d9
movq 0x18(%rsp), %r14
movq %r14, %rdi
movl 0x158(%rsp), %edx
xorl %eax, %eax
callq 0x11a0
leaq 0xb4f8(%rip), %rsi      # 0x1a60c
movq %r14, %rdi
movl %r12d, %edx
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0xc(%rsp), %r13d
movl 0x8(%rsp), %eax
addl %r13d, %eax
jle 0xf15a
cvtsi2sd %r13d, %xmm0
mulsd 0xaee1(%rip), %xmm0     # 0x1a020
cvtsi2sd %eax, %xmm1
divsd %xmm1, %xmm0
leaq 0xb4a3(%rip), %rsi      # 0x1a5f1
movq %r14, %rdi
movb $0x1, %al
callq 0x11a0
jmp 0xf167
movl $0xa, %edi
movq %r14, %rsi
callq 0x1170
movq %r14, %rdi
callq 0x1200
xorl %eax, %eax
addq $0x118, %rsp            # imm = 0x118
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq