// File: /workspace/github_c_makefile_star2_O3/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 $0x128, %rsp            # imm = 0x128
movl %ecx, %r15d
movq (%rsi), %rax
movq (%rax), %rcx
movq %rcx, 0x120(%rsp)
testq %rcx, %rcx
je 0xf038
movl %r9d, %ebp
movq %rdx, %r14
movq %rsi, %r12
movq %rdi, 0x18(%rsp)
movl 0x160(%rsp), %ebx
movl 0x8(%rax), %ecx
movq %rcx, 0x110(%rsp)
movslq (%rdx), %rcx
imulq $0x55555556, %rcx, %r9  # imm = 0x55555556
movq %r9, %rcx
shrq $0x3f, %rcx
shrq $0x20, %r9
addl %ecx, %r9d
leal (%r8,%r8,2), %ecx
leal 0x6(,%rcx,2), %ecx
cmpl %r9d, %ecx
movq %r8, 0x50(%rsp)
jle 0xc5b6
leal (%rcx,%rcx,2), %esi
movq %r14, %rdi
callq 0x4220
movq 0x50(%rsp), %r8
movslq (%r14), %rax
imulq $0x55555556, %rax, %r9  # imm = 0x55555556
movq %r9, %rax
shrq $0x3f, %rax
shrq $0x20, %r9
addl %eax, %r9d
movq (%r12), %rax
movq 0x8(%r14), %rdx
movslq %r9d, %rcx
movq %rdx, %r13
addq %rcx, %rdx
addq %rdx, %rcx
movq %rcx, 0x10(%rsp)
testl %ebx, %ebx
leaq 0xde74(%rip), %rcx      # 0x1a448
leaq 0xde65(%rip), %rdi      # 0x1a440
cmoveq %rcx, %rdi
movq %rdi, 0xb0(%rsp)
movl 0x18(%rax), %ecx
movl %ecx, 0x78(%rsp)
movl 0x1c(%rax), %ecx
movl %ecx, 0x7c(%rsp)
movl 0x8(%r12), %ecx
movl %ecx, 0x74(%rsp)
movl 0x24(%r12), %ecx
movl %ecx, 0x70(%rsp)
movq 0x10(%r12), %rdi
movq 0x18(%r12), %rcx
movq %rcx, 0xc0(%rsp)
movl 0x10(%rax), %r11d
movl 0x14(%rax), %eax
testl %ebp, %ebp
movl %r15d, 0x2c(%rsp)
movq %r14, 0x98(%rsp)
movq %rdi, 0x58(%rsp)
movl %ebp, 0xbc(%rsp)
movq %r12, 0x118(%rsp)
movq %rdx, 0x8(%rsp)
jle 0xc682
movslq %r11d, %rcx
movq %rax, %r10
cltq
movq %r11, %r14
movl %r11d, %edx
subl %ebp, %edx
movq %rdx, 0x60(%rsp)
addq %rdi, %rcx
decq %rcx
xorl %r11d, %r11d
movq 0x18(%rsp), %rbx
cmpb $0x4, (%rcx)
je 0xc69a
incl %r11d
decq %rcx
cmpl %r11d, %ebp
jne 0xc66d
movl %ebp, %r11d
jmp 0xc6a5
leal 0x1(%r11), %ecx
xorl %edi, %edi
xorl %ebp, %ebp
movl %ecx, %r10d
movq 0x18(%rsp), %rbx
movq %r11, %rsi
jmp 0xcab7
movq %r14, %rcx
subl %r11d, %ecx
movq %rcx, 0x60(%rsp)
testl %ebp, %ebp
jle 0xc6dc
movl %eax, %ecx
subl %ebp, %ecx
movq 0xc0(%rsp), %rdx
addq %rdx, %rax
decq %rax
xorl %edx, %edx
cmpb $0x4, (%rax)
je 0xc6e0
incl %edx
decq %rax
cmpl %edx, 0xbc(%rsp)
jne 0xc6bd
movl 0xbc(%rsp), %edx
movl %ecx, %r10d
jmp 0xc6e3
xorl %edx, %edx
jmp 0xc6e3
subl %edx, %r10d
movq 0x60(%rsp), %rax
incl %eax
cmpl %edx, %r11d
movq %r10, 0x68(%rsp)
movq %rax, 0xa8(%rsp)
jle 0xec9b
movl %edx, 0x80(%rsp)
movl 0x70(%rsp), %ecx
subl %r10d, %ecx
movl %ecx, 0x38(%rsp)
cltq
movq 0x58(%rsp), %rcx
addq %rcx, %rax
decq %rax
movq %rax, 0x48(%rsp)
movq 0x60(%rsp), %rax
xorl %esi, %esi
xorl %ebp, %ebp
movl %eax, %ecx
movq %rcx, 0x30(%rsp)
movq %rax, %r15
leal 0x1(%rax), %r10d
movl %r10d, %eax
cltd
idivl %r8d
cmpl $0x1, %edx
setne %al
testq %rsi, %rsi
sete %cl
orb %al, %cl
je 0xc75a
movq %rbx, %r14
jmp 0xc97d
testl %ebp, %ebp
jle 0xc752
movq 0x48(%rsp), %rax
cmpb $0x3, (%rax,%rsi)
jg 0xc752
movq %rsi, 0xa0(%rsp)
movl %r10d, 0x20(%rsp)
movl %r11d, 0x4(%rsp)
movq %r9, 0x88(%rsp)
movl $0xa, %edi
movq %rbx, %rsi
callq 0x1170
movq %rbx, %rdi
leaq 0xde1c(%rip), %rsi      # 0x1a5b6
movl 0x2c(%rsp), %r12d
movl %r12d, %edx
leaq 0xe746(%rip), %r14      # 0x1aeef
movq %r14, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x168(%rsp), %edx
testl %edx, %edx
jle 0xc7e6
movq 0x30(%rsp), %rcx
cmpl 0x78(%rsp), %ecx
jge 0xc83f
movq %rbx, %rdi
leaq 0xde36(%rip), %rsi      # 0x1a609
movl %edx, %r12d
xorl %eax, %eax
callq 0x11a0
leaq 0xe70b(%rip), %r14      # 0x1aeef
jmp 0xc85d
movq %rbx, %rdi
leaq 0xde42(%rip), %rsi      # 0x1a632
movl %ebp, %edx
movq %r13, %rcx
xorl %eax, %eax
callq 0x11a0
movq %rbx, %rdi
leaq 0xde29(%rip), %rsi      # 0x1a62f
movl %r12d, %edx
movq %r14, %rcx
movl %ebp, %r8d
movq 0x10(%rsp), %r9
xorl %eax, %eax
callq 0x11a0
movq %rbx, %rdi
leaq 0xde14(%rip), %rsi      # 0x1a639
movl %r12d, %edx
movq %r14, %rcx
movl %ebp, %r8d
movq 0x8(%rsp), %r9
xorl %eax, %eax
callq 0x11a0
jmp 0xc93b
movq %rbx, %rdi
leaq 0xde0c(%rip), %rsi      # 0x1a655
leaq 0xe69f(%rip), %r14      # 0x1aeef
movq %r14, %rcx
movl %edx, %r12d
xorl %eax, %eax
callq 0x11a0
movq %rbx, %rdi
leaq 0xddcb(%rip), %rsi      # 0x1a632
movl %ebp, %edx
movq %r13, 0x30(%rsp)
movq %r13, %rcx
xorl %eax, %eax
callq 0x11a0
movq %rbx, %rdi
leaq 0xdda9(%rip), %rsi      # 0x1a62b
movq %rbx, %r13
movl 0x2c(%rsp), %ebx
movl %ebx, %edx
movq %r14, %rcx
movl %r12d, %r8d
movq %r14, %r9
xorl %eax, %eax
pushq 0x10(%rsp)
pushq %rbp
callq 0x11a0
addq $0x10, %rsp
movq %r13, %rdi
leaq 0xdd08(%rip), %rsi      # 0x1a5b6
movl %ebx, %edx
movq %r14, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x68(%rsp), %rcx
cmpl 0x7c(%rsp), %ecx
jge 0xc8e2
testb $0x1, 0x74(%rsp)
jne 0xc8fe
movq %r13, %rbx
movq %r13, %rdi
leaq 0xdd30(%rip), %rsi      # 0x1a609
movl 0x168(%rsp), %edx
jmp 0xc916
movq %r13, %rdi
leaq 0xdd69(%rip), %rsi      # 0x1a655
movl %r12d, %edx
movq %r14, %rcx
xorl %eax, %eax
callq 0x11a0
movq %r13, %rbx
jmp 0xc91d
movq %r13, %rbx
movq %r13, %rdi
leaq 0xdcfe(%rip), %rsi      # 0x1a609
movl 0x168(%rsp), %edx
movl 0x38(%rsp), %ecx
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdx
movq 0x30(%rsp), %r13
movq %rbx, %rdi
leaq 0xdd0d(%rip), %rsi      # 0x1a63c
movq 0x8(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %rbx, %r14
movq %rbx, %rdi
leaq 0xdcd9(%rip), %rsi      # 0x1a621
movsd 0xdae0(%rip), %xmm0     # 0x1a430
movb $0x1, %al
callq 0x11a0
xorl %ebp, %ebp
movq %r15, 0x30(%rsp)
movq 0x50(%rsp), %r8
movq 0x88(%rsp), %r9
movl 0x4(%rsp), %r11d
movl 0x20(%rsp), %r10d
movq 0xa0(%rsp), %rsi
movq 0x48(%rsp), %rax
movsbq (%rax,%rsi), %rax
movslq %ebp, %rbp
movq 0x10(%rsp), %r12
movb $0x20, (%r12,%rbp)
movq 0xb0(%rsp), %rcx
movb (%rcx,%rax), %al
movb %al, (%r13,%rbp)
movq %r13, %r15
movq %rbp, %rbx
movq 0x8(%rsp), %rbp
movb $0x2e, (%rbp,%rbx)
incl %ebx
cmpl %r9d, %ebx
movq %rbx, 0x40(%rsp)
jge 0xc9cb
movq %r15, %r13
movq %r14, %rbx
jmp 0xca7d
movq %rsi, 0xa0(%rsp)
leal (%rbx,%rbx,2), %esi
movq 0x98(%rsp), %r14
movq %r14, %rdi
movl %r11d, 0x4(%rsp)
movl %r10d, 0x20(%rsp)
callq 0x4220
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 %ebx, %rbx
movq %r12, %rsi
movq %rbx, %rdx
callq 0x1230
movslq %r13d, %r12
movq 0x8(%r14), %rdi
addq %r12, %rdi
movq %rbp, %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x8(%r14), %rdi
movq %r15, %rsi
movq %rbx, %rdx
movq 0x18(%rsp), %rbx
callq 0x1230
movq 0xa0(%rsp), %rsi
movl 0x20(%rsp), %r10d
movl 0x4(%rsp), %r11d
movq %r13, %r9
movq 0x50(%rsp), %r8
movq 0x8(%r14), %r13
leaq (%r12,%r13), %rax
movq %rax, 0x8(%rsp)
addq %rax, %r12
movq %r12, 0x10(%rsp)
movl 0x80(%rsp), %ecx
decl %r11d
incq %rsi
movl %r10d, %eax
cmpl %ecx, %r11d
movq 0x40(%rsp), %rbp
jg 0xc734
incl %r10d
movq 0x68(%rsp), %rax
movq 0xa8(%rsp), %rcx
movl 0x80(%rsp), %edi
movq 0x30(%rsp), %rsi
leal 0x1(%rax), %r15d
movl %r10d, %edx
movq %rdx, 0xa8(%rsp)
movl %edi, %r11d
movl %esi, %edx
movq %rdx, 0x60(%rsp)
movl %edi, %edx
movl %ecx, 0xe4(%rsp)
movq %rax, 0x68(%rsp)
movslq %ecx, %rax
testl %r11d, %r11d
movq %rax, 0xe8(%rsp)
jle 0xcf0e
movl %edx, 0x80(%rsp)
movq %rax, %rsi
movslq 0xa8(%rsp), %rax
movslq %r15d, %rcx
leal -0x1(%rcx), %edx
movq %rdx, 0xd8(%rsp)
movq 0xc0(%rsp), %rdx
leaq -0x1(%rcx,%rdx), %rcx
movq %rcx, 0xa0(%rsp)
leal -0x1(%rax), %ecx
movq %rcx, 0x90(%rsp)
subq %rax, %rsi
movq %rsi, 0xd0(%rsp)
movl %eax, %ecx
movq %rcx, 0x48(%rsp)
movq 0x58(%rsp), %rcx
addq %rcx, %rax
decq %rax
movq %rax, 0x20(%rsp)
incl %r11d
xorl %r12d, %r12d
movq %r15, 0x38(%rsp)
movq 0x48(%rsp), %rax
addl %r12d, %eax
cltd
idivl %r8d
cmpl $0x1, %edx
jne 0xcc10
cmpq %r12, 0xd0(%rsp)
je 0xcc10
testl %ebp, %ebp
jle 0xcc10
movq 0x20(%rsp), %rax
cmpb $0x3, (%rax,%r12)
jg 0xcc10
movl %r11d, 0x4(%rsp)
movq %rbp, 0x40(%rsp)
movq %r13, 0x30(%rsp)
movq %r9, 0x88(%rsp)
movl $0xa, %edi
movq %rbx, %rsi
callq 0x1170
movq %rbx, %rdi
leaq 0xd9f2(%rip), %rsi      # 0x1a5b6
movl 0x2c(%rsp), %r15d
movl %r15d, %edx
leaq 0xe31c(%rip), %r14      # 0x1aeef
movq %r14, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x168(%rsp), %edx
testl %edx, %edx
jle 0xcc18
movq 0x60(%rsp), %rcx
cmpl 0x78(%rsp), %ecx
jge 0xcc79
movq %rbx, %rdi
leaq 0xda08(%rip), %rsi      # 0x1a609
movl %edx, %r15d
xorl %eax, %eax
callq 0x11a0
jmp 0xcc90
movq %rbx, %r14
jmp 0xcdcb
movq %rbx, %rdi
leaq 0xda10(%rip), %rsi      # 0x1a632
movq 0x40(%rsp), %r13
movl %r13d, %edx
movq 0x30(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %rbx, %rdi
leaq 0xd9ef(%rip), %rsi      # 0x1a62f
movl %r15d, %edx
movq %r14, %rcx
movl %r13d, %r8d
movq 0x10(%rsp), %r9
xorl %eax, %eax
callq 0x11a0
movq %rbx, %rdi
leaq 0xd9da(%rip), %rsi      # 0x1a639
movl %r15d, %edx
movq %r14, %rcx
movl %r13d, %r8d
movq 0x8(%rsp), %r9
xorl %eax, %eax
callq 0x11a0
jmp 0xcd76
movq %rbx, %rdi
leaq 0xd9d2(%rip), %rsi      # 0x1a655
movq %r14, %rcx
movl %edx, %r15d
xorl %eax, %eax
callq 0x11a0
movq %r14, %r13
movq %rbx, %rdi
leaq 0xd995(%rip), %rsi      # 0x1a632
movq 0x40(%rsp), %r14
movl %r14d, %edx
movq 0x30(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %rbx, %rdi
leaq 0xd970(%rip), %rsi      # 0x1a62b
movq %rbx, %rbp
movl 0x2c(%rsp), %ebx
movl %ebx, %edx
movq %r13, %rcx
movl %r15d, %r8d
movq %r13, %r9
xorl %eax, %eax
pushq 0x10(%rsp)
pushq %r14
callq 0x11a0
addq $0x10, %rsp
movq %rbp, %rdi
leaq 0xd8ce(%rip), %rsi      # 0x1a5b6
movl %ebx, %edx
movq %r13, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x68(%rsp), %rax
cmpl 0x7c(%rsp), %eax
jge 0xcd1e
testb $0x1, 0x74(%rsp)
jne 0xcd3a
movq %rbp, %rbx
movq %rbp, %rdi
leaq 0xd8f6(%rip), %rsi      # 0x1a609
movl 0x168(%rsp), %edx
movl %eax, %ecx
jmp 0xcd54
movq %rbp, %rdi
leaq 0xd92d(%rip), %rsi      # 0x1a655
movl %r15d, %edx
movq %r13, %rcx
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rbx
jmp 0xcd5b
movl 0x70(%rsp), %ecx
subl %eax, %ecx
movq %rbp, %rbx
movq %rbp, %rdi
leaq 0xd8bc(%rip), %rsi      # 0x1a609
movl 0x168(%rsp), %edx
xorl %eax, %eax
callq 0x11a0
movq %rbx, %rdi
leaq 0xd8d7(%rip), %rsi      # 0x1a63c
movq 0x40(%rsp), %rdx
movq 0x8(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %rbx, %r14
movq %rbx, %rdi
leaq 0xd89e(%rip), %rsi      # 0x1a621
movsd 0xd6a5(%rip), %xmm0     # 0x1a430
movb $0x1, %al
callq 0x11a0
movq 0x90(%rsp), %rax
addl %r12d, %eax
movq %rax, 0x60(%rsp)
movq 0xd8(%rsp), %rax
addl %r12d, %eax
movq %rax, 0x68(%rsp)
movq 0x50(%rsp), %r8
movq 0x88(%rsp), %r9
movq 0x30(%rsp), %r13
xorl %ebp, %ebp
movl 0x4(%rsp), %r11d
movq 0xa0(%rsp), %rax
movsbq (%rax,%r12), %rax
cmpq $0x4, %rax
movl $0x3a, %ecx
movl $0x20, %esi
cmovel %esi, %ecx
movq 0x20(%rsp), %rdx
movsbq (%rdx,%r12), %rdx
cmpq $0x4, %rdx
cmovel %esi, %ecx
movslq %ebp, %rbp
movq 0x10(%rsp), %r15
movb %cl, (%r15,%rbp)
movq 0xb0(%rsp), %rsi
movb (%rsi,%rdx), %cl
movb %cl, (%r13,%rbp)
movb (%rsi,%rax), %al
movq %rbp, %rbx
movq 0x8(%rsp), %rbp
movb %al, (%rbp,%rbx)
incl %ebx
cmpl %r9d, %ebx
movq %rbx, 0x40(%rsp)
jge 0xce3e
movq 0x38(%rsp), %r15
movq %r14, %rbx
jmp 0xcee2
movq %r13, 0x30(%rsp)
leal (%rbx,%rbx,2), %esi
movq 0x98(%rsp), %r14
movq %r14, %rdi
movl %r11d, 0x4(%rsp)
callq 0x4220
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 %ebx, %rbx
movq %r15, %rsi
movq %rbx, %rdx
callq 0x1230
movslq %r13d, %r15
movq 0x8(%r14), %rdi
addq %r15, %rdi
movq %rbp, %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x8(%r14), %rdi
movq 0x30(%rsp), %rsi
movq %rbx, %rdx
movq 0x18(%rsp), %rbx
callq 0x1230
movl 0x4(%rsp), %r11d
movq %r13, %r9
movq 0x50(%rsp), %r8
movq 0x8(%r14), %r13
leaq (%r15,%r13), %rax
movq %rax, 0x8(%rsp)
addq %rax, %r15
movq %r15, 0x10(%rsp)
movq 0x38(%rsp), %r15
incq %r12
decl %r11d
cmpl $0x1, %r11d
movq 0x40(%rsp), %rbp
jg 0xcb5f
addl %r12d, %r15d
movq 0xa8(%rsp), %rax
addl %r12d, %eax
movl 0x80(%rsp), %edx
jmp 0xcf16
movq 0xa8(%rsp), %rax
testl %edx, %edx
movq 0x10(%rsp), %r12
movq 0x8(%rsp), %rbx
jle 0xcfe8
movq %rax, 0xa8(%rsp)
movslq %ebp, %rbp
movb $0x5b, %al
movb %al, (%r12,%rbp)
movb %al, (%r13,%rbp)
movb %al, (%rbx,%rbp)
incl %ebp
cmpl %r9d, %ebp
jl 0xcfd9
leal (%rbp,%rbp,2), %esi
movq 0x98(%rsp), %r14
movq %r14, %rdi
callq 0x4220
movslq (%r14), %rax
movq %r15, 0x38(%rsp)
imulq $0x55555556, %rax, %r15 # imm = 0x55555556
movq %r15, %rax
shrq $0x3f, %rax
shrq $0x20, %r15
addl %eax, %r15d
leal (%r15,%r15), %eax
movslq %eax, %rdi
addq 0x8(%r14), %rdi
movq %rbx, 0x8(%rsp)
movslq %ebp, %rbx
movq %r12, %rsi
movq %rbx, %rdx
callq 0x1230
movslq %r15d, %r12
movq 0x8(%r14), %rdi
addq %r12, %rdi
movq 0x8(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x8(%r14), %rdi
movq %r13, %rsi
movq %rbx, %rdx
callq 0x1230
movq %r15, %r9
movq 0x38(%rsp), %r15
movq 0x50(%rsp), %r8
movq 0x8(%r14), %r13
leaq (%r12,%r13), %rbx
addq %rbx, %r12
movq 0x58(%rsp), %rsi
movq 0xa8(%rsp), %rax
jmp 0xcfed
movq 0x58(%rsp), %rsi
cmpl $0x0, 0x110(%rsp)
jle 0xde79
movq %rax, %rcx
movq 0xc0(%rsp), %rax
decq %rax
movq %rax, 0x108(%rsp)
leaq -0x1(%rsi), %rax
movq %rax, 0x100(%rsp)
movq %rcx, 0xc8(%rsp)
movq %r15, 0x90(%rsp)
xorl %ecx, %ecx
xorl %r10d, %r10d
xorl %r14d, %r14d
movq 0x120(%rsp), %rax
movl (%rax,%rcx,4), %edi
testl %edi, %edi
movq %rcx, 0xf0(%rsp)
movl %edi, %eax
js 0xd07d
movq 0x90(%rsp), %r15
subl %r15d, %eax
movq %rax, 0xa0(%rsp)
movq 0xe8(%rsp), %rcx
movq 0xc8(%rsp), %rax
jne 0xd0b6
movq %rbx, 0x8(%rsp)
jmp 0xd516
negl %eax
movq %rax, 0xa8(%rsp)
movq 0xc8(%rsp), %rdx
cmpl %eax, %edx
movq 0xe8(%rsp), %rax
jne 0xd5df
movl %edx, %eax
movq %rax, 0xa8(%rsp)
movq 0x90(%rsp), %rax
jmp 0xda66
movq %rdi, 0x38(%rsp)
movslq %eax, %rdi
movslq %r15d, %r11
decl %r15d
movq %r15, 0x90(%rsp)
addq 0x108(%rsp), %r11
leal -0x1(%rdi), %eax
movq %rax, 0xf8(%rsp)
subq %rdi, %rcx
movq %rcx, 0xd8(%rsp)
movl %edi, %eax
movq %rax, 0x48(%rsp)
addq 0x100(%rsp), %rdi
xorl %r15d, %r15d
movq %rdi, 0x80(%rsp)
movq %r11, 0xd0(%rsp)
movq 0x48(%rsp), %rax
addl %r15d, %eax
cltd
idivl %r8d
cmpl $0x1, %edx
jne 0xd3ce
cmpq %r15, 0xd8(%rsp)
je 0xd3ce
testl %ebp, %ebp
jle 0xd3ce
cmpb $0x3, (%rdi,%r15)
jg 0xd3ce
movl %r14d, 0x4(%rsp)
movq %r13, %r14
movq %r12, %r13
movq %rbp, %r12
movq %rbx, 0x8(%rsp)
movl %r10d, 0x20(%rsp)
movq %r9, 0x88(%rsp)
movl $0xa, %edi
movq 0x18(%rsp), %rbp
movq %rbp, %rsi
callq 0x1170
movq %rbp, %rdi
leaq 0xd438(%rip), %rsi      # 0x1a5b6
movl 0x2c(%rsp), %ebx
movl %ebx, %edx
leaq 0xdd64(%rip), %rcx      # 0x1aeef
xorl %eax, %eax
callq 0x11a0
movl 0x168(%rsp), %edx
testl %edx, %edx
movq %r14, 0x30(%rsp)
jle 0xd1e0
movq %r12, 0x40(%rsp)
movq %r13, 0x10(%rsp)
movq 0x60(%rsp), %rcx
cmpl 0x78(%rsp), %ecx
jge 0xd249
movq 0x18(%rsp), %rbp
movq %rbp, %rdi
leaq 0xd43f(%rip), %rsi      # 0x1a609
movl %edx, %r13d
xorl %eax, %eax
callq 0x11a0
leaq 0xdd14(%rip), %r14      # 0x1aeef
jmp 0xd26c
movq %rbp, %rdi
leaq 0xd448(%rip), %rsi      # 0x1a632
movl %r12d, %edx
movq %r14, %rcx
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xd42e(%rip), %rsi      # 0x1a62f
movl %ebx, %edx
leaq 0xdce5(%rip), %rcx      # 0x1aeef
movl %r12d, %r8d
movq %r13, %r9
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xd418(%rip), %rsi      # 0x1a639
movl %ebx, %edx
leaq 0xdcc5(%rip), %rcx      # 0x1aeef
movl %r12d, %r8d
movq %r13, %r12
movq 0x8(%rsp), %rbx
movq 0x30(%rsp), %r13
movq %rbx, %r9
xorl %eax, %eax
callq 0x11a0
jmp 0xd35a
movq 0x18(%rsp), %rbp
movq %rbp, %rdi
leaq 0xd3fd(%rip), %rsi      # 0x1a655
leaq 0xdc90(%rip), %r14      # 0x1aeef
movq %r14, %rcx
movl %edx, %r13d
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xd3bc(%rip), %rsi      # 0x1a632
movq 0x40(%rsp), %r12
movl %r12d, %edx
movq 0x30(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %rbp, %rdi
leaq 0xd397(%rip), %rsi      # 0x1a62b
movl 0x2c(%rsp), %ebx
movl %ebx, %edx
movq %r14, %rcx
movl %r13d, %r8d
movq %r14, %r9
xorl %eax, %eax
pushq 0x10(%rsp)
pushq %r12
callq 0x11a0
addq $0x10, %rsp
movq %rbp, %rdi
leaq 0xd2f8(%rip), %rsi      # 0x1a5b6
movl %ebx, %edx
movq %r14, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x68(%rsp), %rax
cmpl 0x7c(%rsp), %eax
jge 0xd2f6
testb $0x1, 0x74(%rsp)
jne 0xd30f
movq 0x18(%rsp), %rbp
movq %rbp, %rdi
leaq 0xd31e(%rip), %rsi      # 0x1a609
movl 0x168(%rsp), %edx
movl %eax, %ecx
jmp 0xd32b
movq %rbp, %rdi
leaq 0xd355(%rip), %rsi      # 0x1a655
movl %r13d, %edx
movq %r14, %rcx
xorl %eax, %eax
callq 0x11a0
jmp 0xd332
movl 0x70(%rsp), %ecx
subl %eax, %ecx
movq 0x18(%rsp), %rbp
movq %rbp, %rdi
leaq 0xd2e5(%rip), %rsi      # 0x1a609
movl 0x168(%rsp), %edx
xorl %eax, %eax
callq 0x11a0
movq 0x10(%rsp), %r12
movq 0x8(%rsp), %rbx
movq %rbp, %rdi
leaq 0xd2f6(%rip), %rsi      # 0x1a63c
movq 0x40(%rsp), %rdx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x30(%rsp), %r13
movl 0x4(%rsp), %ecx
cvtsi2sd %ecx, %xmm0
mulsd 0xccb6(%rip), %xmm0     # 0x1a020
movl 0x20(%rsp), %eax
addl %ecx, %eax
cvtsi2sd %eax, %xmm1
divsd %xmm1, %xmm0
movq %rbp, %rdi
leaq 0xd29f(%rip), %rsi      # 0x1a621
movb $0x1, %al
callq 0x11a0
movq 0xf8(%rsp), %rax
addl %r15d, %eax
movq %rax, 0x60(%rsp)
movq 0x90(%rsp), %rax
addl %r15d, %eax
movq %rax, 0x68(%rsp)
xorl %r10d, %r10d
xorl %ebp, %ebp
movq 0x50(%rsp), %r8
movq 0x88(%rsp), %r9
xorl %r14d, %r14d
movq 0x80(%rsp), %rdi
movq 0xd0(%rsp), %r11
movsbq (%rdi,%r15), %rax
movb (%r11,%r15), %cl
cmpq $0x4, %rax
je 0xd3f0
cmpb $0x4, %cl
je 0xd3f0
movslq %ebp, %rdx
cmpb %cl, %al
jne 0xd3fa
movb $0x7c, (%r12,%rdx)
jmp 0xd3ff
movslq %ebp, %rdx
movb $0x20, (%r12,%rdx)
jmp 0xd3ff
movb $0x2a, (%r12,%rdx)
movsbq %cl, %rcx
movq 0xb0(%rsp), %rsi
movb (%rsi,%rax), %al
movb %al, (%r13,%rdx)
movb (%rsi,%rcx), %al
movb %al, (%rbx,%rdx)
incl %ebp
cmpl %r9d, %ebp
jl 0xd4d3
leal (%rbp,%rbp,2), %esi
movq %r13, 0x30(%rsp)
movq %rbx, 0x8(%rsp)
movq 0x98(%rsp), %r13
movq %r13, %rdi
movl %r10d, 0x20(%rsp)
callq 0x4220
movslq (%r13), %rax
movl %r14d, 0x4(%rsp)
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(%r13), %rdi
movslq %ebp, %rbx
movq %r12, %rsi
movq %rbx, %rdx
callq 0x1230
movslq %r14d, %r12
movq 0x8(%r13), %rdi
addq %r12, %rdi
movq 0x8(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x8(%r13), %rdi
movq 0x30(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movq 0xd0(%rsp), %r11
movq 0x80(%rsp), %rdi
movl 0x20(%rsp), %r10d
movq %r14, %r9
movl 0x4(%rsp), %r14d
movq 0x50(%rsp), %r8
movq 0x8(%r13), %r13
leaq (%r12,%r13), %rbx
addq %rbx, %r12
movb (%rdi,%r15), %al
xorl %ecx, %ecx
xorl %edx, %edx
cmpb (%r11,%r15), %al
sete %cl
setne %dl
addl %edx, %r14d
addl %ecx, %r10d
incq %r15
cmpl %r15d, 0xa0(%rsp)
jne 0xd10c
movq %rbx, 0x8(%rsp)
movq 0xc8(%rsp), %rax
addl %r15d, %eax
movq 0x58(%rsp), %rsi
movq 0x38(%rsp), %r15
movq %rax, %rcx
cltd
idivl %r8d
movslq %ecx, %rbx
cmpl $0x1, %edx
movq %rcx, 0xc8(%rsp)
jne 0xdd48
cmpl 0xe4(%rsp), %ecx
je 0xdd48
testl %ebp, %ebp
jle 0xdd48
cmpb $0x3, -0x1(%rsi,%rbx)
jg 0xdd48
movl %r10d, 0x20(%rsp)
movl %r14d, 0x4(%rsp)
movq %r15, 0x38(%rsp)
movq %r9, 0x88(%rsp)
movl $0xa, %edi
movq 0x18(%rsp), %r14
movq %r14, %rsi
callq 0x1170
movq %r14, %rdi
leaq 0xd032(%rip), %rsi      # 0x1a5b6
movl 0x2c(%rsp), %r15d
movl %r15d, %edx
leaq 0xd95c(%rip), %rcx      # 0x1aeef
xorl %eax, %eax
callq 0x11a0
movl 0x168(%rsp), %edx
testl %edx, %edx
jle 0xdb7d
movq %r12, 0x10(%rsp)
movq 0x60(%rsp), %rcx
cmpl 0x78(%rsp), %ecx
jge 0xdbdc
movq 0x18(%rsp), %r14
movq %r14, %rdi
leaq 0xd03d(%rip), %rsi      # 0x1a609
xorl %eax, %eax
callq 0x11a0
leaq 0xd915(%rip), %r12      # 0x1aeef
jmp 0xdbfc
movq %r12, 0x10(%rsp)
movslq %edx, %r11
movq 0x90(%rsp), %rcx
movslq %ecx, %r15
decl %ecx
movq %rcx, 0xd8(%rsp)
addq 0x108(%rsp), %r15
leal -0x1(%rdx), %ecx
movq %rcx, 0xf8(%rsp)
subq %r11, %rax
movq %rax, 0xd0(%rsp)
addq 0x100(%rsp), %r11
movl %edx, %eax
movq %rax, 0xa0(%rsp)
addq %rax, %rdi
xorl %r12d, %r12d
movq %rdi, 0x38(%rsp)
movq %r11, 0x48(%rsp)
movq %r15, 0x80(%rsp)
movq 0xa0(%rsp), %rax
addl %r12d, %eax
cltd
idivl %r8d
cmpl $0x1, %edx
jne 0xd902
cmpq %r12, 0xd0(%rsp)
je 0xd902
testl %ebp, %ebp
jle 0xd902
cmpb $0x3, (%r11,%r12)
jg 0xd902
movl %r14d, 0x4(%rsp)
movq %r13, 0x30(%rsp)
movq %rbp, 0x40(%rsp)
movl %r10d, 0x20(%rsp)
movq %r9, 0x88(%rsp)
movl $0xa, %edi
movq 0x18(%rsp), %r13
movq %r13, %rsi
callq 0x1170
movq %r13, %rdi
leaq 0xcf01(%rip), %rsi      # 0x1a5b6
movl 0x2c(%rsp), %r14d
movl %r14d, %edx
leaq 0xd82b(%rip), %r15      # 0x1aeef
movq %r15, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x168(%rsp), %edx
testl %edx, %edx
jle 0xd711
movq %rbx, 0x8(%rsp)
movq 0x60(%rsp), %rcx
cmpl 0x78(%rsp), %ecx
jge 0xd773
movq 0x18(%rsp), %r13
movq %r13, %rdi
leaq 0xcf0d(%rip), %rsi      # 0x1a609
movl %edx, %ebx
xorl %eax, %eax
callq 0x11a0
leaq 0xd7e3(%rip), %rbp      # 0x1aeef
jmp 0xd795
movq %r13, %rdi
leaq 0xcf17(%rip), %rsi      # 0x1a632
movq 0x40(%rsp), %rbp
movl %ebp, %edx
movq 0x30(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %r13, %rdi
leaq 0xcef7(%rip), %rsi      # 0x1a62f
movl %r14d, %edx
movq %r15, %rcx
movl %ebp, %r8d
movq 0x10(%rsp), %r9
xorl %eax, %eax
callq 0x11a0
movq %r13, %rdi
leaq 0xcee2(%rip), %rsi      # 0x1a639
movl %r14d, %edx
movq %r15, %rcx
movl %ebp, %r8d
movq %rbx, %r9
xorl %eax, %eax
callq 0x11a0
movl 0x4(%rsp), %ebp
jmp 0xd888
movq 0x18(%rsp), %r13
movq %r13, %rdi
leaq 0xced3(%rip), %rsi      # 0x1a655
leaq 0xd766(%rip), %rbp      # 0x1aeef
movq %rbp, %rcx
movl %edx, %ebx
xorl %eax, %eax
callq 0x11a0
movq %r13, %rdi
leaq 0xce93(%rip), %rsi      # 0x1a632
movq 0x40(%rsp), %r15
movl %r15d, %edx
movq 0x30(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %r13, %rdi
leaq 0xce6e(%rip), %rsi      # 0x1a62b
movl 0x2c(%rsp), %r14d
movl %r14d, %edx
movq %rbp, %rcx
movl %ebx, %r8d
movq %rbp, %r9
xorl %eax, %eax
pushq 0x10(%rsp)
pushq %r15
callq 0x11a0
addq $0x10, %rsp
movq %r13, %rdi
leaq 0xcdcd(%rip), %rsi      # 0x1a5b6
movl %r14d, %edx
movq %rbp, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x68(%rsp), %rax
cmpl 0x7c(%rsp), %eax
jge 0xd826
testb $0x1, 0x74(%rsp)
movl 0x4(%rsp), %ebp
jne 0xd847
movq 0x18(%rsp), %r13
movq %r13, %rdi
leaq 0xcdee(%rip), %rsi      # 0x1a609
movl 0x168(%rsp), %edx
movl %eax, %ecx
jmp 0xd863
movq %r13, %rdi
leaq 0xce25(%rip), %rsi      # 0x1a655
movl %ebx, %edx
movq %rbp, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x8(%rsp), %rbx
movl 0x4(%rsp), %ebp
jmp 0xd86f
movl 0x70(%rsp), %ecx
subl %eax, %ecx
movq 0x18(%rsp), %r13
movq %r13, %rdi
leaq 0xcdad(%rip), %rsi      # 0x1a609
movl 0x168(%rsp), %edx
xorl %eax, %eax
callq 0x11a0
movq 0x8(%rsp), %rbx
movq %r13, %rdi
leaq 0xcdc3(%rip), %rsi      # 0x1a63c
movq 0x40(%rsp), %rdx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x11a0
cvtsi2sd %ebp, %xmm0
mulsd 0xc78c(%rip), %xmm0     # 0x1a020
movl 0x20(%rsp), %r15d
addl %ebp, %r15d
cvtsi2sd %r15d, %xmm1
divsd %xmm1, %xmm0
movq %r13, %rdi
leaq 0xcd72(%rip), %rsi      # 0x1a621
movb $0x1, %al
callq 0x11a0
movq 0xf8(%rsp), %rax
addl %r12d, %eax
movq %rax, 0x60(%rsp)
movq 0xd8(%rsp), %rax
addl %r12d, %eax
movq %rax, 0x68(%rsp)
xorl %r14d, %r14d
xorl %r10d, %r10d
xorl %ebp, %ebp
movq 0x50(%rsp), %r8
movq 0x88(%rsp), %r9
movq 0x38(%rsp), %rdi
movq 0x30(%rsp), %r13
movq 0x48(%rsp), %r11
movq 0x80(%rsp), %r15
movsbq (%r11,%r12), %rax
movb (%r15,%r12), %cl
cmpq $0x4, %rax
je 0xd928
cmpb $0x4, %cl
je 0xd928
movslq %ebp, %rdx
cmpb %cl, %al
jne 0xd936
movq 0x10(%rsp), %rsi
movb $0x7c, (%rsi,%rdx)
jmp 0xd93f
movslq %ebp, %rdx
movq 0x10(%rsp), %rsi
movb $0x20, (%rsi,%rdx)
jmp 0xd93f
movq 0x10(%rsp), %rsi
movb $0x2a, (%rsi,%rdx)
movsbq %cl, %rcx
movq 0xb0(%rsp), %rsi
movb (%rsi,%rax), %al
movb %al, (%r13,%rdx)
movb (%rsi,%rcx), %al
movb %al, (%rbx,%rdx)
incl %ebp
cmpl %r9d, %ebp
jl 0xda2b
leal (%rbp,%rbp,2), %esi
movq 0x98(%rsp), %r15
movq %r15, %rdi
movl %r10d, 0x20(%rsp)
callq 0x4220
movslq (%r15), %rax
movl %r14d, 0x4(%rsp)
movq %r13, 0x30(%rsp)
movq %rbp, 0x40(%rsp)
imulq $0x55555556, %rax, %rbp # imm = 0x55555556
movq %rbp, %rax
shrq $0x3f, %rax
shrq $0x20, %rbp
addl %eax, %ebp
leal (,%rbp,2), %eax
movslq %eax, %rdi
addq 0x8(%r15), %rdi
movq %rbx, %r13
movslq 0x40(%rsp), %rbx
movq 0x10(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movslq %ebp, %r14
movq 0x8(%r15), %rdi
addq %r14, %rdi
movq %r13, %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x8(%r15), %rdi
movq 0x30(%rsp), %rsi
movl 0x4(%rsp), %r13d
movq %rbx, %rdx
callq 0x1230
movq 0x48(%rsp), %r11
movl 0x20(%rsp), %r10d
movq %rbp, %r9
movq 0x40(%rsp), %rbp
movq 0x50(%rsp), %r8
movq 0x8(%r15), %rax
movq 0x80(%rsp), %r15
movq 0x38(%rsp), %rdi
leaq (%rax,%r14), %rbx
addq %rbx, %r14
movq %r14, 0x10(%rsp)
movl %r13d, %r14d
movq %rax, %r13
movb (%r11,%r12), %al
xorl %ecx, %ecx
xorl %edx, %edx
cmpb (%r15,%r12), %al
sete %cl
setne %dl
addl %edx, %r14d
addl %ecx, %r10d
incq %r12
movl %edi, %eax
addl %r12d, %eax
jne 0xd644
movq 0x90(%rsp), %rax
addl %r12d, %eax
movq 0x58(%rsp), %rsi
movq 0x10(%rsp), %r12
movq %rax, 0x90(%rsp)
cltq
movq 0xc0(%rsp), %rcx
movsbq -0x1(%rcx,%rax), %rax
cmpq $0x7, %rax
movl $0x2a, %ecx
movl $0x7c, %edx
cmovel %edx, %ecx
cmpq $0x4, %rax
movslq %ebp, %rbp
movl $0x20, %edx
cmovel %edx, %ecx
movb %cl, (%r12,%rbp)
movb $0x2d, (%r13,%rbp)
movq 0xb0(%rsp), %rcx
movb (%rcx,%rax), %al
movb %al, (%rbx,%rbp)
incl %ebp
cmpl %r9d, %ebp
jl 0xdb5d
leal (%rbp,%rbp,2), %esi
movl %r14d, 0x4(%rsp)
movq 0x98(%rsp), %r14
movq %r14, %rdi
movl %r10d, 0x20(%rsp)
callq 0x4220
movslq (%r14), %rax
imulq $0x55555556, %rax, %r15 # imm = 0x55555556
movq %r15, %rax
shrq $0x3f, %rax
shrq $0x20, %r15
addl %eax, %r15d
leal (%r15,%r15), %eax
movslq %eax, %rdi
addq 0x8(%r14), %rdi
movq %rbx, 0x8(%rsp)
movslq %ebp, %rbx
movq %r12, %rsi
movq %rbx, %rdx
callq 0x1230
movslq %r15d, %r12
movq 0x8(%r14), %rdi
addq %r12, %rdi
movq 0x8(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x8(%r14), %rdi
movq %r13, %rsi
movq %rbx, %rdx
callq 0x1230
movl 0x20(%rsp), %r10d
movq %r15, %r9
movq 0x50(%rsp), %r8
movq 0x8(%r14), %r13
movl 0x4(%rsp), %r14d
movq 0x58(%rsp), %rsi
leaq (%r12,%r13), %rbx
addq %rbx, %r12
movq 0xf0(%rsp), %rcx
movq 0x90(%rsp), %r15
incl %r15d
movq 0xa8(%rsp), %rax
jmp 0xde4e
movq %r14, %rdi
leaq 0xcaab(%rip), %rsi      # 0x1a632
movl %ebp, %edx
movq %r13, %rcx
xorl %eax, %eax
callq 0x11a0
movq %r14, %rdi
leaq 0xca92(%rip), %rsi      # 0x1a62f
movl %r15d, %edx
leaq 0xd348(%rip), %rcx      # 0x1aeef
movl %ebp, %r8d
movq %r12, %r9
xorl %eax, %eax
callq 0x11a0
movq %r14, %rdi
leaq 0xca7b(%rip), %rsi      # 0x1a639
movl %r15d, %edx
leaq 0xd327(%rip), %rcx      # 0x1aeef
movl %ebp, %r8d
movq 0x8(%rsp), %r9
xorl %eax, %eax
callq 0x11a0
jmp 0xdce2
movq 0x18(%rsp), %r14
movq %r14, %rdi
leaq 0xca6a(%rip), %rsi      # 0x1a655
leaq 0xd2fd(%rip), %r12      # 0x1aeef
movq %r12, %rcx
xorl %eax, %eax
callq 0x11a0
movq %r14, %rdi
leaq 0xca2c(%rip), %rsi      # 0x1a632
movl %ebp, %edx
movq %r13, %rcx
xorl %eax, %eax
callq 0x11a0
movq %r14, %rdi
leaq 0xca0f(%rip), %rsi      # 0x1a62b
movl 0x2c(%rsp), %r15d
movl %r15d, %edx
movq %r12, %rcx
movl 0x168(%rsp), %r8d
movq %r12, %r9
xorl %eax, %eax
pushq 0x10(%rsp)
pushq %rbp
callq 0x11a0
addq $0x10, %rsp
movq %r14, %rdi
leaq 0xc96a(%rip), %rsi      # 0x1a5b6
movl %r15d, %edx
movq %r12, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x68(%rsp), %rax
cmpl 0x7c(%rsp), %eax
jge 0xdc85
testb $0x1, 0x74(%rsp)
jne 0xdca2
movq 0x18(%rsp), %r14
movq %r14, %rdi
leaq 0xc98f(%rip), %rsi      # 0x1a609
movl 0x168(%rsp), %edx
movl %eax, %ecx
jmp 0xdcbe
movq %r14, %rdi
leaq 0xc9c6(%rip), %rsi      # 0x1a655
movl 0x168(%rsp), %edx
movq %r12, %rcx
xorl %eax, %eax
callq 0x11a0
jmp 0xdcc5
movl 0x70(%rsp), %ecx
subl %eax, %ecx
movq 0x18(%rsp), %r14
movq %r14, %rdi
leaq 0xc952(%rip), %rsi      # 0x1a609
movl 0x168(%rsp), %edx
xorl %eax, %eax
callq 0x11a0
movq 0x10(%rsp), %r12
movq %r14, %rdi
leaq 0xc968(%rip), %rsi      # 0x1a63c
movl %ebp, %edx
movq 0x8(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x4(%rsp), %eax
cvtsi2sd %eax, %xmm0
mulsd 0xc32e(%rip), %xmm0     # 0x1a020
movl 0x20(%rsp), %ecx
addl %eax, %ecx
cvtsi2sd %ecx, %xmm1
divsd %xmm1, %xmm0
movq %r14, %rdi
leaq 0xc917(%rip), %rsi      # 0x1a621
movb $0x1, %al
callq 0x11a0
movq 0xc8(%rsp), %rax
decl %eax
movq %rax, 0x60(%rsp)
movq 0x38(%rsp), %r15
leal -0x1(%r15), %eax
movq %rax, 0x68(%rsp)
xorl %r14d, %r14d
xorl %r10d, %r10d
xorl %ebp, %ebp
movq 0x50(%rsp), %r8
movq 0x58(%rsp), %rsi
movq 0x88(%rsp), %r9
movsbq -0x1(%rsi,%rbx), %rax
cmpq $0x7, %rax
movl $0x2a, %ecx
movl $0x7c, %edx
cmovel %edx, %ecx
cmpq $0x4, %rax
movslq %ebp, %rbp
movl $0x20, %edx
cmovel %edx, %ecx
movb %cl, (%r12,%rbp)
movq 0xb0(%rsp), %rcx
movb (%rcx,%rax), %al
movb %al, (%r13,%rbp)
movq 0x8(%rsp), %rbx
movb $0x2d, (%rbx,%rbp)
incl %ebp
cmpl %r9d, %ebp
jl 0xde3c
leal (%rbp,%rbp,2), %esi
movl %r14d, 0x4(%rsp)
movq 0x98(%rsp), %r14
movq %r14, %rdi
movl %r10d, 0x20(%rsp)
callq 0x4220
movslq (%r14), %rax
movq %r15, 0x38(%rsp)
imulq $0x55555556, %rax, %r15 # imm = 0x55555556
movq %r15, %rax
shrq $0x3f, %rax
shrq $0x20, %r15
addl %eax, %r15d
leal (%r15,%r15), %eax
movslq %eax, %rdi
addq 0x8(%r14), %rdi
movq %rbx, 0x8(%rsp)
movslq %ebp, %rbx
movq %r12, %rsi
movq %rbx, %rdx
callq 0x1230
movslq %r15d, %r12
movq 0x8(%r14), %rdi
addq %r12, %rdi
movq 0x8(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x8(%r14), %rdi
movq %r13, %rsi
movq %rbx, %rdx
callq 0x1230
movl 0x20(%rsp), %r10d
movq %r15, %r9
movq 0x38(%rsp), %r15
movq 0x50(%rsp), %r8
movq 0x8(%r14), %r13
movl 0x4(%rsp), %r14d
movq 0x58(%rsp), %rsi
leaq (%r12,%r13), %rbx
addq %rbx, %r12
movq 0xf0(%rsp), %rcx
movq 0xc8(%rsp), %rax
incl %eax
incl %r14d
incq %rcx
movl %eax, %edx
movq %rdx, 0xc8(%rsp)
movl %r15d, %edx
movq %rdx, 0x90(%rsp)
cmpq 0x110(%rsp), %rcx
jne 0xd035
jmp 0xde7f
xorl %r14d, %r14d
xorl %r10d, %r10d
movq %rax, %rcx
movq 0x118(%rsp), %rax
movq (%rax), %rax
movl 0x18(%rax), %r11d
cmpl %r11d, %ecx
jle 0xde9d
movl %ecx, %edi
jmp 0xe330
movl %r14d, 0x4(%rsp)
movq %rcx, %rdi
movslq %edi, %rax
movslq %r15d, %rcx
leal 0x1(%r11), %edx
movq %rdx, 0x48(%rsp)
leal -0x1(%rcx), %edx
movq %rdx, 0x90(%rsp)
movq 0xc0(%rsp), %rdx
addq %rdx, %rcx
decq %rcx
leal -0x1(%rdi), %edx
movq %rdx, 0xc8(%rsp)
subq %rax, 0xe8(%rsp)
addq %rsi, %rax
decq %rax
movq %rax, 0xa0(%rsp)
movl %edi, %eax
movq %rcx, %rdi
notl %r11d
movq %rax, 0x80(%rsp)
addq %rax, %r11
xorl %r14d, %r14d
movq %r15, 0x38(%rsp)
movq %r11, 0xd0(%rsp)
movq %rcx, 0xd8(%rsp)
movq 0x80(%rsp), %rax
addl %r14d, %eax
cltd
idivl %r8d
cmpl $0x1, %edx
jne 0xe1dd
cmpq %r14, 0xe8(%rsp)
je 0xe1dd
testl %ebp, %ebp
jle 0xe1dd
movq 0xa0(%rsp), %rax
cmpb $0x3, (%rax,%r14)
jg 0xe1dd
movq %r13, 0x30(%rsp)
movq %rbp, 0x40(%rsp)
movq %r12, 0x10(%rsp)
movl %r10d, 0x20(%rsp)
movq %r9, 0x88(%rsp)
movl $0xa, %edi
movq 0x18(%rsp), %r13
movq %r13, %rsi
callq 0x1170
movq %r13, %rdi
leaq 0xc624(%rip), %rsi      # 0x1a5b6
movl 0x2c(%rsp), %r15d
movl %r15d, %edx
leaq 0xcf4e(%rip), %r12      # 0x1aeef
movq %r12, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x168(%rsp), %edx
testl %edx, %edx
jle 0xdfee
movq %rbx, 0x8(%rsp)
movq 0x60(%rsp), %rcx
cmpl 0x78(%rsp), %ecx
jge 0xe04c
movq 0x18(%rsp), %r13
movq %r13, %rdi
leaq 0xc630(%rip), %rsi      # 0x1a609
movl %edx, %ebx
xorl %eax, %eax
callq 0x11a0
leaq 0xcf06(%rip), %r12      # 0x1aeef
jmp 0xe06e
movq %r13, %rdi
leaq 0xc63a(%rip), %rsi      # 0x1a632
movq 0x40(%rsp), %rbp
movl %ebp, %edx
movq 0x30(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %r13, %rdi
leaq 0xc61a(%rip), %rsi      # 0x1a62f
movl %r15d, %edx
movq %r12, %rcx
movl %ebp, %r8d
movq 0x10(%rsp), %r9
xorl %eax, %eax
callq 0x11a0
movq %r13, %rdi
leaq 0xc605(%rip), %rsi      # 0x1a639
movl %r15d, %edx
movq %r12, %rcx
movl %ebp, %r8d
movq %rbx, %r9
xorl %eax, %eax
callq 0x11a0
jmp 0xe152
movq 0x18(%rsp), %r13
movq %r13, %rdi
leaq 0xc5fa(%rip), %rsi      # 0x1a655
leaq 0xce8d(%rip), %r12      # 0x1aeef
movq %r12, %rcx
movl %edx, %ebx
xorl %eax, %eax
callq 0x11a0
movq %r13, %rdi
leaq 0xc5ba(%rip), %rsi      # 0x1a632
movq 0x40(%rsp), %rbp
movl %ebp, %edx
movq 0x30(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %r13, %rdi
leaq 0xc596(%rip), %rsi      # 0x1a62b
movl 0x2c(%rsp), %r15d
movl %r15d, %edx
movq %r12, %rcx
movl %ebx, %r8d
movq %r12, %r9
xorl %eax, %eax
pushq 0x10(%rsp)
pushq %rbp
callq 0x11a0
addq $0x10, %rsp
movq %r13, %rdi
leaq 0xc4f6(%rip), %rsi      # 0x1a5b6
movl %r15d, %edx
movq %r12, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x68(%rsp), %rax
cmpl 0x7c(%rsp), %eax
jge 0xe0f9
testb $0x1, 0x74(%rsp)
jne 0xe111
movq 0x18(%rsp), %r13
movq %r13, %rdi
leaq 0xc51b(%rip), %rsi      # 0x1a609
movl 0x168(%rsp), %edx
movl %eax, %ecx
jmp 0xe12d
movq %r13, %rdi
leaq 0xc552(%rip), %rsi      # 0x1a655
movl %ebx, %edx
movq %r12, %rcx
xorl %eax, %eax
callq 0x11a0
jmp 0xe134
movl 0x70(%rsp), %ecx
subl %eax, %ecx
movq 0x18(%rsp), %r13
movq %r13, %rdi
leaq 0xc4e3(%rip), %rsi      # 0x1a609
movl 0x168(%rsp), %edx
xorl %eax, %eax
callq 0x11a0
movq 0x8(%rsp), %rbx
movq %r13, %rdi
leaq 0xc4f9(%rip), %rsi      # 0x1a63c
movq 0x40(%rsp), %rdx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x4(%rsp), %eax
cvtsi2sd %eax, %xmm0
mulsd 0xbebe(%rip), %xmm0     # 0x1a020
movl 0x20(%rsp), %r12d
addl %eax, %r12d
cvtsi2sd %r12d, %xmm1
divsd %xmm1, %xmm0
movq %r13, %rdi
leaq 0xc4a4(%rip), %rsi      # 0x1a621
movb $0x1, %al
callq 0x11a0
movq 0xc8(%rsp), %rax
addl %r14d, %eax
movq %rax, 0x60(%rsp)
movq 0x90(%rsp), %rax
addl %r14d, %eax
movq %rax, 0x68(%rsp)
movl $0x0, 0x4(%rsp)
xorl %r10d, %r10d
xorl %ebp, %ebp
movq 0x50(%rsp), %r8
movq 0x88(%rsp), %r9
movq 0x38(%rsp), %r15
movq 0x10(%rsp), %r12
movq 0x30(%rsp), %r13
movq 0xd0(%rsp), %r11
movq 0xd8(%rsp), %rdi
movq 0xa0(%rsp), %rax
movsbq (%rax,%r14), %rax
movb (%rdi,%r14), %cl
cmpq $0x4, %rax
je 0xe207
cmpb $0x4, %cl
je 0xe207
movslq %ebp, %rdx
cmpb %cl, %al
jne 0xe211
movb $0x7c, (%r12,%rdx)
jmp 0xe216
movslq %ebp, %rdx
movb $0x20, (%r12,%rdx)
jmp 0xe216
movb $0x2a, (%r12,%rdx)
movsbq %cl, %rcx
movq 0xb0(%rsp), %rsi
movb (%rsi,%rax), %al
movb %al, (%r13,%rdx)
movb (%rsi,%rcx), %al
movb %al, (%rbx,%rdx)
incl %ebp
cmpl %r9d, %ebp
jl 0xe2ee
leal (%rbp,%rbp,2), %esi
movq 0x98(%rsp), %r15
movq %r15, %rdi
movl %r10d, 0x20(%rsp)
callq 0x4220
movslq (%r15), %rax
movq %r13, 0x30(%rsp)
movq %rbp, 0x40(%rsp)
imulq $0x55555556, %rax, %rbp # imm = 0x55555556
movq %rbp, %rax
shrq $0x3f, %rax
shrq $0x20, %rbp
addl %eax, %ebp
leal (,%rbp,2), %eax
movslq %eax, %rdi
addq 0x8(%r15), %rdi
movq %rbx, %r13
movslq 0x40(%rsp), %rbx
movq %r12, %rsi
movq %rbx, %rdx
callq 0x1230
movslq %ebp, %r12
movq 0x8(%r15), %rdi
addq %r12, %rdi
movq %r13, %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x8(%r15), %rdi
movq 0x30(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movq 0xd8(%rsp), %rdi
movq 0xd0(%rsp), %r11
movl 0x20(%rsp), %r10d
movq %rbp, %r9
movq 0x40(%rsp), %rbp
movq 0x50(%rsp), %r8
movq 0x8(%r15), %r13
movq 0x38(%rsp), %r15
leaq (%r12,%r13), %rbx
addq %rbx, %r12
movq 0xa0(%rsp), %rax
movb (%rax,%r14), %al
xorl %ecx, %ecx
xorl %edx, %edx
cmpb (%rdi,%r14), %al
sete %cl
setne %dl
addl %edx, 0x4(%rsp)
addl %ecx, %r10d
incq %r14
movl %r11d, %eax
addl %r14d, %eax
jne 0xdf19
addl %r14d, %r15d
movq 0x58(%rsp), %rsi
movl 0x4(%rsp), %r14d
movq 0x48(%rsp), %rdi
movslq %edi, %rax
cmpb $0x4, -0x1(%rsi,%rax)
jne 0xe34d
cmpl $0x0, 0xbc(%rsp)
jg 0xe435
jmp 0xedf5
cmpl $0x0, 0xbc(%rsp)
jle 0xe33a
movslq %r15d, %rax
movq 0xc0(%rsp), %rcx
cmpb $0x4, -0x1(%rcx,%rax)
je 0xe33a
movslq %ebp, %rbp
movb $0x5d, %al
movb %al, (%r12,%rbp)
movb %al, (%r13,%rbp)
movb %al, (%rbx,%rbp)
incl %ebp
cmpl %r9d, %ebp
jl 0xe435
leal (%rbp,%rbp,2), %esi
movl %r14d, 0x4(%rsp)
movq 0x98(%rsp), %r14
movq %rdi, 0x48(%rsp)
movq %r14, %rdi
movl %r10d, 0x20(%rsp)
callq 0x4220
movslq (%r14), %rax
movq %r15, 0x38(%rsp)
imulq $0x55555556, %rax, %r15 # imm = 0x55555556
movq %r15, %rax
shrq $0x3f, %rax
shrq $0x20, %r15
addl %eax, %r15d
leal (%r15,%r15), %eax
movslq %eax, %rdi
addq 0x8(%r14), %rdi
movq %rbx, 0x8(%rsp)
movslq %ebp, %rbx
movq %r12, %rsi
movq %rbx, %rdx
callq 0x1230
movslq %r15d, %r12
movq 0x8(%r14), %rdi
addq %r12, %rdi
movq 0x8(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x8(%r14), %rdi
movq %r13, %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x48(%rsp), %rdi
movl 0x20(%rsp), %r10d
movq %r15, %r9
movq 0x38(%rsp), %r15
movq 0x50(%rsp), %r8
movq 0x8(%r14), %r13
movl 0x4(%rsp), %r14d
movq 0x58(%rsp), %rsi
leaq (%r12,%r13), %rbx
addq %rbx, %r12
movq %rbx, 0x8(%rsp)
movl %r14d, 0x4(%rsp)
movslq %edi, %rbx
movb -0x1(%rsi,%rbx), %cl
movslq %r15d, %r14
movq 0xc0(%rsp), %rax
movb -0x1(%rax,%r14), %sil
cmpb $0x4, %cl
jne 0xe544
cmpb $0x4, %sil
je 0xedeb
movsbq %sil, %rax
movslq %ebp, %rcx
movb $0x20, (%r12,%rcx)
movb $0x2e, (%r13,%rcx)
movq 0xb0(%rsp), %rdx
movb (%rdx,%rax), %al
movq 0x8(%rsp), %rbx
movb %al, (%rbx,%rcx)
incl %ebp
cmpl %r9d, %ebp
jl 0xe535
leal (%rbp,%rbp,2), %esi
movq 0x98(%rsp), %r14
movq %rdi, 0x48(%rsp)
movq %r14, %rdi
movl %r10d, 0x20(%rsp)
callq 0x4220
movslq (%r14), %rax
movq %r15, 0x38(%rsp)
imulq $0x55555556, %rax, %r15 # imm = 0x55555556
movq %r15, %rax
shrq $0x3f, %rax
shrq $0x20, %r15
addl %eax, %r15d
leal (%r15,%r15), %eax
movslq %eax, %rdi
addq 0x8(%r14), %rdi
movslq %ebp, %rbx
movq %r12, %rsi
movq %rbx, %rdx
callq 0x1230
movslq %r15d, %r12
movq 0x8(%r14), %rdi
addq %r12, %rdi
movq 0x8(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x8(%r14), %rdi
movq %r13, %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x48(%rsp), %rdi
movl 0x20(%rsp), %r10d
movq %r15, %r9
movq 0x38(%rsp), %r15
movq 0x50(%rsp), %r8
movq 0x8(%r14), %r13
leaq (%r12,%r13), %rbx
addq %rbx, %r12
movq 0x58(%rsp), %rsi
movl 0x4(%rsp), %r14d
jmp 0xec86
movl %edi, %eax
cltd
idivl %r8d
cmpl $0x1, %edx
setne %dl
cmpl 0xe4(%rsp), %edi
sete %al
orb %dl, %al
cmpb $0x4, %sil
jne 0xe575
testb %al, %al
je 0xe587
movq 0x58(%rsp), %rsi
movl 0x4(%rsp), %r14d
jmp 0xe9ee
testb %al, %al
je 0xe630
movl 0x4(%rsp), %r14d
jmp 0xeb8d
cmpb $0x3, %cl
movq 0x58(%rsp), %rsi
movl 0x4(%rsp), %r14d
jg 0xe9ee
testl %ebp, %ebp
jle 0xe9ee
movq %rdi, 0x48(%rsp)
movl %r10d, 0x20(%rsp)
movq %r15, 0x38(%rsp)
movq %r9, 0x88(%rsp)
movl $0xa, %edi
movq 0x18(%rsp), %r14
movq %r14, %rsi
callq 0x1170
movq %r14, %rdi
leaq 0xbfe1(%rip), %rsi      # 0x1a5b6
movl 0x2c(%rsp), %r15d
movl %r15d, %edx
leaq 0xc90b(%rip), %rcx      # 0x1aeef
xorl %eax, %eax
callq 0x11a0
movl 0x168(%rsp), %edx
testl %edx, %edx
jle 0xe6d9
movq %r12, 0x10(%rsp)
movq 0x60(%rsp), %rcx
cmpl 0x78(%rsp), %ecx
jge 0xe79e
movq 0x18(%rsp), %r14
movq %r14, %rdi
leaq 0xbfec(%rip), %rsi      # 0x1a609
xorl %eax, %eax
callq 0x11a0
leaq 0xc8c4(%rip), %r12      # 0x1aeef
jmp 0xe7be
cmpb $0x3, %cl
jg 0xe57d
testl %ebp, %ebp
jle 0xe57d
movq %rdi, 0x48(%rsp)
movq %r12, 0x10(%rsp)
movl %r10d, 0x20(%rsp)
movq %r15, 0x38(%rsp)
movq %r9, 0x88(%rsp)
movl $0xa, %edi
movl 0x2c(%rsp), %r12d
movq 0x18(%rsp), %r15
movq %r15, %rsi
callq 0x1170
movq %r15, %rdi
leaq 0xbf38(%rip), %rsi      # 0x1a5b6
movl %r12d, %edx
leaq 0xc867(%rip), %rcx      # 0x1aeef
xorl %eax, %eax
callq 0x11a0
movl 0x168(%rsp), %edx
testl %edx, %edx
jle 0xe738
movq %rbp, 0x40(%rsp)
movq %r13, 0x30(%rsp)
movq 0x60(%rsp), %rcx
cmpl 0x78(%rsp), %ecx
jge 0xe852
movq 0x18(%rsp), %r15
movq %r15, %rdi
leaq 0xbf43(%rip), %rsi      # 0x1a609
xorl %eax, %eax
callq 0x11a0
leaq 0xc81b(%rip), %r13      # 0x1aeef
jmp 0xe872
movq %r14, %rdi
leaq 0xbf4f(%rip), %rsi      # 0x1a632
movl %ebp, %edx
movq %r13, %rcx
xorl %eax, %eax
callq 0x11a0
movq %r14, %rdi
leaq 0xbf36(%rip), %rsi      # 0x1a62f
movl %r15d, %edx
leaq 0xc7ec(%rip), %rcx      # 0x1aeef
movl %ebp, %r8d
movq %r12, %r9
xorl %eax, %eax
callq 0x11a0
movq %r14, %rdi
leaq 0xbf1f(%rip), %rsi      # 0x1a639
movl %r15d, %edx
leaq 0xc7cb(%rip), %rcx      # 0x1aeef
movl %ebp, %r8d
movq 0x8(%rsp), %r9
xorl %eax, %eax
callq 0x11a0
jmp 0xe986
movq %r15, %rdi
leaq 0xbef0(%rip), %rsi      # 0x1a632
movl %ebp, %edx
movq %r13, %rcx
xorl %eax, %eax
callq 0x11a0
movq %r15, %rdi
leaq 0xbed7(%rip), %rsi      # 0x1a62f
movl %r12d, %edx
leaq 0xc78d(%rip), %rcx      # 0x1aeef
movl %ebp, %r8d
movq 0x10(%rsp), %r9
xorl %eax, %eax
callq 0x11a0
movq %r15, %rdi
leaq 0xbebe(%rip), %rsi      # 0x1a639
movl %r12d, %edx
movq 0x10(%rsp), %r12
leaq 0xc765(%rip), %rcx      # 0x1aeef
movl %ebp, %r8d
movq 0x8(%rsp), %r9
xorl %eax, %eax
callq 0x11a0
jmp 0xeb18
movq 0x18(%rsp), %r14
movq %r14, %rdi
leaq 0xbea8(%rip), %rsi      # 0x1a655
leaq 0xc73b(%rip), %r12      # 0x1aeef
movq %r12, %rcx
xorl %eax, %eax
callq 0x11a0
movq %r14, %rdi
leaq 0xbe6a(%rip), %rsi      # 0x1a632
movl %ebp, %edx
movq %r13, %rcx
xorl %eax, %eax
callq 0x11a0
movq %r14, %rdi
leaq 0xbe4d(%rip), %rsi      # 0x1a62b
movl 0x2c(%rsp), %r15d
movl %r15d, %edx
movq %r12, %rcx
movl 0x168(%rsp), %r8d
movq %r12, %r9
xorl %eax, %eax
pushq 0x10(%rsp)
pushq %rbp
callq 0x11a0
addq $0x10, %rsp
movq %r14, %rdi
leaq 0xbda8(%rip), %rsi      # 0x1a5b6
movl %r15d, %edx
movq %r12, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x68(%rsp), %rax
cmpl 0x7c(%rsp), %eax
jge 0xe909
testb $0x1, 0x74(%rsp)
jne 0xe946
movq 0x18(%rsp), %r14
movq %r14, %rdi
leaq 0xbdc5(%rip), %rsi      # 0x1a609
movl 0x168(%rsp), %edx
movl %eax, %ecx
jmp 0xe962
movq 0x18(%rsp), %r15
movq %r15, %rdi
leaq 0xbdf4(%rip), %rsi      # 0x1a655
leaq 0xc687(%rip), %r13      # 0x1aeef
movq %r13, %rcx
xorl %eax, %eax
callq 0x11a0
movq %r15, %rdi
leaq 0xbdb6(%rip), %rsi      # 0x1a632
movq 0x40(%rsp), %rbp
movl %ebp, %edx
movq 0x30(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movq %r15, %rdi
leaq 0xbd92(%rip), %rsi      # 0x1a62b
movl 0x2c(%rsp), %r12d
movl %r12d, %edx
movq %r13, %rcx
movl 0x168(%rsp), %r8d
movq %r13, %r9
xorl %eax, %eax
pushq 0x10(%rsp)
pushq %rbp
callq 0x11a0
addq $0x10, %rsp
movq %r15, %rdi
leaq 0xbced(%rip), %rsi      # 0x1a5b6
movl %r12d, %edx
movq %r13, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x68(%rsp), %rax
cmpl 0x7c(%rsp), %eax
jge 0xe926
testb $0x1, 0x74(%rsp)
jne 0xead0
movq 0x18(%rsp), %r15
movq %r15, %rdi
leaq 0xbd0e(%rip), %rsi      # 0x1a609
movl 0x168(%rsp), %edx
movl %eax, %ecx
jmp 0xeaec
movq %r14, %rdi
leaq 0xbd42(%rip), %rsi      # 0x1a655
movl 0x168(%rsp), %edx
movq %r12, %rcx
xorl %eax, %eax
callq 0x11a0
jmp 0xe969
movq %r15, %rdi
leaq 0xbd25(%rip), %rsi      # 0x1a655
movl 0x168(%rsp), %edx
movq %r13, %rcx
xorl %eax, %eax
callq 0x11a0
jmp 0xeaf3
movl 0x70(%rsp), %ecx
subl %eax, %ecx
movq 0x18(%rsp), %r14
movq %r14, %rdi
leaq 0xbcae(%rip), %rsi      # 0x1a609
movl 0x168(%rsp), %edx
xorl %eax, %eax
callq 0x11a0
movq 0x10(%rsp), %r12
movq %r14, %rdi
leaq 0xbcc4(%rip), %rsi      # 0x1a63c
movl %ebp, %edx
movq 0x8(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x4(%rsp), %eax
cvtsi2sd %eax, %xmm0
mulsd 0xb68a(%rip), %xmm0     # 0x1a020
movl 0x20(%rsp), %ecx
addl %eax, %ecx
cvtsi2sd %ecx, %xmm1
divsd %xmm1, %xmm0
movq %r14, %rdi
leaq 0xbc73(%rip), %rsi      # 0x1a621
movb $0x1, %al
callq 0x11a0
movq 0x48(%rsp), %rdi
leal -0x1(%rdi), %eax
movq %rax, 0x60(%rsp)
movq 0x38(%rsp), %r15
leal -0x1(%r15), %eax
movq %rax, 0x68(%rsp)
movq 0x58(%rsp), %rsi
movb -0x1(%rsi,%rbx), %cl
xorl %r14d, %r14d
xorl %r10d, %r10d
xorl %ebp, %ebp
movq 0x50(%rsp), %r8
movq 0x88(%rsp), %r9
movslq %ebp, %rbp
movb $0x20, (%r12,%rbp)
movsbq %cl, %rax
movq 0xb0(%rsp), %rcx
movb (%rcx,%rax), %al
movb %al, (%r13,%rbp)
movq 0x8(%rsp), %rbx
movb $0x2e, (%rbx,%rbp)
incl %ebp
cmpl %r9d, %ebp
jl 0xeac9
leal (%rbp,%rbp,2), %esi
movl %r14d, 0x4(%rsp)
movq 0x98(%rsp), %r14
movq %rdi, 0x48(%rsp)
movq %r14, %rdi
movl %r10d, 0x20(%rsp)
callq 0x4220
movslq (%r14), %rax
movq %r15, 0x38(%rsp)
imulq $0x55555556, %rax, %r15 # imm = 0x55555556
movq %r15, %rax
shrq $0x3f, %rax
shrq $0x20, %r15
addl %eax, %r15d
leal (%r15,%r15), %eax
movslq %eax, %rdi
addq 0x8(%r14), %rdi
movslq %ebp, %rbx
movq %r12, %rsi
movq %rbx, %rdx
callq 0x1230
movslq %r15d, %r12
movq 0x8(%r14), %rdi
addq %r12, %rdi
movq 0x8(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x8(%r14), %rdi
movq %r13, %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x48(%rsp), %rdi
movl 0x20(%rsp), %r10d
movq %r15, %r9
movq 0x38(%rsp), %r15
movq 0x50(%rsp), %r8
movq 0x8(%r14), %r13
movl 0x4(%rsp), %r14d
movq 0x58(%rsp), %rsi
leaq (%r12,%r13), %rbx
addq %rbx, %r12
incl %edi
jmp 0xec89
movl 0x70(%rsp), %ecx
subl %eax, %ecx
movq 0x18(%rsp), %r15
movq %r15, %rdi
leaq 0xbb24(%rip), %rsi      # 0x1a609
movl 0x168(%rsp), %edx
xorl %eax, %eax
callq 0x11a0
movq 0x10(%rsp), %r12
movq 0x8(%rsp), %rcx
movq %r15, %rdi
leaq 0xbb35(%rip), %rsi      # 0x1a63c
movq 0x40(%rsp), %rdx
xorl %eax, %eax
callq 0x11a0
movq 0x30(%rsp), %r13
movl 0x4(%rsp), %eax
cvtsi2sd %eax, %xmm0
mulsd 0xb4f8(%rip), %xmm0     # 0x1a020
movl 0x20(%rsp), %ecx
addl %eax, %ecx
cvtsi2sd %ecx, %xmm1
divsd %xmm1, %xmm0
movq %r15, %rdi
leaq 0xbae1(%rip), %rsi      # 0x1a621
movb $0x1, %al
callq 0x11a0
movq 0x48(%rsp), %rdi
leal -0x1(%rdi), %eax
movq %rax, 0x60(%rsp)
leal -0x1(%r14), %eax
movq %rax, 0x68(%rsp)
movq 0x58(%rsp), %rax
movb -0x1(%rax,%rbx), %cl
movq 0xc0(%rsp), %rax
movb -0x1(%rax,%r14), %sil
xorl %r14d, %r14d
xorl %r10d, %r10d
xorl %ebp, %ebp
movq 0x50(%rsp), %r8
movq 0x88(%rsp), %r9
movq 0x38(%rsp), %r15
cmpb $0x4, %sil
movl $0x3a, %eax
movl $0x20, %edx
cmovel %edx, %eax
cmpb $0x4, %cl
cmovel %edx, %eax
movslq %ebp, %rbp
movb %al, (%r12,%rbp)
movsbq %cl, %rax
movq 0xb0(%rsp), %rcx
movb (%rcx,%rax), %al
movb %al, (%r13,%rbp)
movsbq %sil, %rax
movb (%rcx,%rax), %al
movq 0x8(%rsp), %rbx
movb %al, (%rbx,%rbp)
incl %ebp
cmpl %r9d, %ebp
jl 0xec7f
leal (%rbp,%rbp,2), %esi
movl %r14d, 0x4(%rsp)
movq 0x98(%rsp), %r14
movq %rdi, 0x48(%rsp)
movq %r14, %rdi
movl %r10d, 0x20(%rsp)
callq 0x4220
movslq (%r14), %rax
movq %r15, 0x38(%rsp)
imulq $0x55555556, %rax, %r15 # imm = 0x55555556
movq %r15, %rax
shrq $0x3f, %rax
shrq $0x20, %r15
addl %eax, %r15d
leal (%r15,%r15), %eax
movslq %eax, %rdi
addq 0x8(%r14), %rdi
movslq %ebp, %rbx
movq %r12, %rsi
movq %rbx, %rdx
callq 0x1230
movslq %r15d, %r12
movq 0x8(%r14), %rdi
addq %r12, %rdi
movq 0x8(%rsp), %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x8(%r14), %rdi
movq %r13, %rsi
movq %rbx, %rdx
callq 0x1230
movq 0x48(%rsp), %rdi
movl 0x20(%rsp), %r10d
movq %r15, %r9
movq 0x38(%rsp), %r15
movq 0x50(%rsp), %r8
movq 0x8(%r14), %r13
movl 0x4(%rsp), %r14d
leaq (%r12,%r13), %rbx
addq %rbx, %r12
movq 0x58(%rsp), %rsi
incl %edi
incl %r15d
decl 0xbc(%rsp)
jne 0xe435
jmp 0xedf5
movl %r10d, %esi
leal 0x1(%r10), %r15d
cmpl %r11d, %edx
jle 0xefa9
movq %rsi, 0x40(%rsp)
movslq %r15d, %rax
movq 0xc0(%rsp), %rcx
leaq (%rax,%rcx), %rsi
decq %rsi
movl $0x3, %ebx
xorl %ebp, %ebp
movl %r11d, 0x4(%rsp)
movq %rsi, 0x20(%rsp)
movq 0x98(%rsp), %r14
movsbq (%rsi,%rbp), %rax
movq 0x10(%rsp), %r12
movb $0x20, (%r12,%rbp)
movb $0x2e, (%r13,%rbp)
movq 0xb0(%rsp), %rcx
movb (%rcx,%rax), %al
movq %r13, %rcx
movq 0x8(%rsp), %r13
movb %al, (%r13,%rbp)
incq %rbp
movslq %r9d, %rax
cmpq %rax, %rbp
jge 0xed1b
movq %rcx, %r13
jmp 0xedb5
movq %r14, %rdi
movl %ebx, %esi
movl %edx, 0x80(%rsp)
movq %rcx, 0x30(%rsp)
callq 0x4220
movslq (%r14), %rax
imulq $0x55555556, %rax, %r15 # imm = 0x55555556
movq %r15, %rax
shrq $0x3f, %rax
shrq $0x20, %r15
addl %eax, %r15d
leal (%r15,%r15), %eax
movslq %eax, %rdi
addq 0x8(%r14), %rdi
movq %r12, %rsi
movq %rbp, %rdx
callq 0x1230
movslq %r15d, %r12
movq 0x8(%r14), %rdi
addq %r12, %rdi
movq %r13, %rsi
movq %rbp, %rdx
callq 0x1230
movq 0x8(%r14), %rdi
movq 0x30(%rsp), %rsi
movq %rbp, %rdx
callq 0x1230
movq 0x20(%rsp), %rsi
movl 0x4(%rsp), %r11d
movl 0x80(%rsp), %edx
movq %r15, %r9
movq 0x50(%rsp), %r8
movq 0x8(%r14), %rax
movq %rax, %r13
addq %r12, %rax
movq %rax, 0x8(%rsp)
addq %rax, %r12
movq %r12, 0x10(%rsp)
decl %edx
addl $0x3, %ebx
cmpl %r11d, %edx
jg 0xecdb
movq 0x68(%rsp), %rax
leal (%rax,%rbp), %r15d
incl %r15d
movq 0xa8(%rsp), %rax
movl %eax, %ecx
movq 0x40(%rsp), %rax
movl %r11d, %edx
movq 0x18(%rsp), %rbx
jmp 0xcad2
movl 0x4(%rsp), %r14d
movq 0x8(%rsp), %rbx
movl %r14d, 0x4(%rsp)
movl %r10d, 0x20(%rsp)
movl $0xa, %edi
movq 0x18(%rsp), %r14
movq %r14, %rsi
callq 0x1170
leaq 0xb79e(%rip), %rsi      # 0x1a5b6
leaq 0xc0d0(%rip), %rcx      # 0x1aeef
movq %r14, %rdi
movl 0x2c(%rsp), %r15d
movl %r15d, %edx
xorl %eax, %eax
callq 0x11a0
movl 0x168(%rsp), %edx
testl %edx, %edx
jle 0xee71
movq %r12, %r15
movq 0x60(%rsp), %rcx
cmpl 0x78(%rsp), %ecx
movq %rbx, 0x8(%rsp)
jge 0xeedd
leaq 0xb7af(%rip), %rsi      # 0x1a609
movq 0x18(%rsp), %r14
movq %r14, %rdi
movl %edx, %r12d
xorl %eax, %eax
callq 0x11a0
jmp 0xeefd
leaq 0xb7ba(%rip), %rsi      # 0x1a632
movq %r14, %rdi
movl %ebp, %edx
movq %r13, %rcx
xorl %eax, %eax
callq 0x11a0
leaq 0xb7a1(%rip), %rsi      # 0x1a62f
movq %rbx, %r14
leaq 0xc057(%rip), %rbx      # 0x1aeef
movq 0x18(%rsp), %rdi
movl %r15d, %edx
movq %rbx, %rcx
movl %ebp, %r8d
movq %r12, %r9
xorl %eax, %eax
callq 0x11a0
leaq 0xb782(%rip), %rsi      # 0x1a639
movq 0x18(%rsp), %rdi
movl %r15d, %edx
movq %rbx, %rcx
movq 0x18(%rsp), %rbx
movl %ebp, %r8d
movq %r14, %r9
xorl %eax, %eax
callq 0x11a0
movl 0x4(%rsp), %ebp
jmp 0xeff4
leaq 0xb771(%rip), %rsi      # 0x1a655
leaq 0xc004(%rip), %rcx      # 0x1aeef
movq 0x18(%rsp), %r14
movq %r14, %rdi
movl %edx, %r12d
xorl %eax, %eax
callq 0x11a0
leaq 0xb72e(%rip), %rsi      # 0x1a632
movq %r14, %rdi
movl %ebp, %edx
movq %r13, %rcx
xorl %eax, %eax
callq 0x11a0
leaq 0xb711(%rip), %rsi      # 0x1a62b
leaq 0xbfce(%rip), %rbx      # 0x1aeef
movq %r14, %rdi
movl 0x2c(%rsp), %r13d
movl %r13d, %edx
movq %rbx, %rcx
movl %r12d, %r8d
movq %rbx, %r9
xorl %eax, %eax
pushq %r15
movq %rbp, %r15
pushq %rbp
callq 0x11a0
addq $0x10, %rsp
leaq 0xb669(%rip), %rsi      # 0x1a5b6
movq %r14, %rdi
movl %r13d, %edx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x11a0
movq 0x68(%rsp), %rax
cmpl 0x7c(%rsp), %eax
jge 0xef89
testb $0x1, 0x74(%rsp)
jne 0xefb4
leaq 0xb693(%rip), %rsi      # 0x1a609
movq 0x18(%rsp), %rbx
movq %rbx, %rdi
movl 0x168(%rsp), %edx
movl %eax, %ecx
jmp 0xefd0
leaq 0xb6c5(%rip), %rsi      # 0x1a655
leaq 0xbf58(%rip), %rcx      # 0x1aeef
movq %r14, %rdi
movl %r12d, %edx
xorl %eax, %eax
callq 0x11a0
movq %r14, %rbx
jmp 0xefd7
xorl %ebp, %ebp
movl %eax, %ecx
movl %esi, %eax
jmp 0xcad2
movl 0x70(%rsp), %ecx
subl %eax, %ecx
leaq 0xb648(%rip), %rsi      # 0x1a609
movq 0x18(%rsp), %rbx
movq %rbx, %rdi
movl 0x168(%rsp), %edx
xorl %eax, %eax
callq 0x11a0
movl 0x4(%rsp), %ebp
movq %r15, %rdx
leaq 0xb657(%rip), %rsi      # 0x1a63c
movq %rbx, %rdi
movq 0x8(%rsp), %rcx
xorl %eax, %eax
callq 0x11a0
movl 0x20(%rsp), %eax
addl %ebp, %eax
jle 0xf023
cvtsi2sd %ebp, %xmm0
mulsd 0xb018(%rip), %xmm0     # 0x1a020
cvtsi2sd %eax, %xmm1
divsd %xmm1, %xmm0
leaq 0xb60a(%rip), %rsi      # 0x1a621
movq %rbx, %rdi
movb $0x1, %al
callq 0x11a0
jmp 0xf030
movl $0xa, %edi
movq %rbx, %rsi
callq 0x1170
movq %rbx, %rdi
callq 0x1200
xorl %eax, %eax
addq $0x128, %rsp            # imm = 0x128
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq