// File: /workspace/github_c_makefile_star2_O1/thegenemyers[P]DASCRUBBER/align.c
// Function: Find_Extension
int Find_Extension(Alignment *align, Work_Data *ework, Align_Spec *espec,
                   int diag, int anti, int lbord, int hbord, int prefix)
{ _Work_Data  *work = ( _Work_Data *) ework;
  _Align_Spec *spec = (_Align_Spec *) espec;

  Path *apath;
  int   minp, maxp;

  { int alen, blen;
    int maxtp, wsize;

    alen = align->alen;
    blen = align->blen;

    wsize = VectorEn*10000;
    if (wsize >= work->vecmax)
      if (enlarge_vector(work,wsize))
        EXIT(1);

    if (alen < blen)
      maxtp = 2*(blen/spec->trace_space+2);
    else
      maxtp = 2*(alen/spec->trace_space+2);
    wsize = 2*maxtp*sizeof(uint16);
    if (wsize > work->pntmax)
      if (enlarge_points(work,wsize))
        EXIT(1);

    apath = align->path;
    apath->trace = ((uint16 *) work->points) + maxtp;
  }

#ifdef DEBUG_PASSES
  printf("\n");
#endif

  if (lbord < 0)
    minp = -INT32_MAX;
  else
    minp = diag-lbord;
  if (hbord < 0)
    maxp = INT32_MAX;
  else
    maxp = diag+hbord;

  if (prefix)
    { if (reverse_extend(work,spec,align,diag,anti,minp,maxp))
        EXIT(1);
      apath->aepos = (anti+diag)/2;
      apath->bepos = (anti-diag)/2;
#ifdef DEBUG_PASSES
      printf("E1 (%d,%d) => (%d,%d) %d\n",
             (anti+diag)/2,(anti-diag)/2,apath->abpos,apath->bbpos,apath->diffs);
#endif
    }
  else
    { if (forward_extend(work,spec,align,diag,anti,minp,maxp))
        EXIT(1);
      apath->abpos = (anti+diag)/2;
      apath->bbpos = (anti-diag)/2;
#ifdef DEBUG_PASSES
      printf("F1 (%d,%d) => (%d,%d) %d\n",
             (anti+diag)/2,(anti-diag)/2,apath->aepos,apath->bepos,apath->diffs);
#endif
     }

#ifdef DEBUG_POINTS
  { uint16 *trace = (uint16 *) apath->trace;
    int     a, h;

    printf("\nA-path (%d,%d)->(%d,%d)",apath->abpos,apath->bbpos,apath->aepos,apath->bepos);
    printf(" %c\n",(COMP(align->flags) ? 'c' : 'n'));
    a = apath->bbpos;
    for (h = 1; h < apath->tlen; h += 2)
      { int dif = trace[h-1];
        int del = trace[h];
        a += del;
        printf("      %d / %d (%d)\n",dif,del,a);
      }
  }
#endif

  return (0);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x188, %rsp            # imm = 0x188
movl %r9d, %ebp
movl %r8d, 0x6c(%rsp)
movq %rcx, 0x98(%rsp)
movq %rdx, %rbx
movq %rsi, %r8
movq %rdi, %r14
movl 0x20(%rdi), %r13d
movl 0x24(%rdi), %r12d
cmpl $0x3a980, (%rsi)        # imm = 0x3A980
movq %rsi, 0xb0(%rsp)
jg 0x7611
movq %r8, %rdi
movl $0x3a980, %esi          # imm = 0x3A980
callq 0x4252
movq 0xb0(%rsp), %r8
movl 0x1c8(%rsp), %r15d
cmpl %r12d, %r13d
cmovgl %r13d, %r12d
movl %r12d, %eax
cltd
idivl 0x8(%rbx)
movl 0x1c0(%rsp), %r12d
leal 0x4(,%rax,2), %r13d
addl %eax, %eax
leal 0x10(,%rax,4), %esi
cmpl 0x20(%r8), %esi
jle 0x7656
movq %r8, %rdi
callq 0x429d
movq 0xb0(%rsp), %r8
movslq %r13d, %rax
addq %rax, %rax
addq 0x28(%r8), %rax
movq (%r14), %rdx
movq 0x98(%rsp), %r13
movl %r13d, %ecx
subl %ebp, %ecx
testl %ebp, %ebp
movq %rdx, %rbp
movl $0x80000001, %edx       # imm = 0x80000001
cmovnsl %ecx, %edx
movl %edx, 0x174(%rsp)
leal (%r12,%r13), %ecx
testl %r12d, %r12d
movl $0x7fffffff, %edx       # imm = 0x7FFFFFFF
cmovnsl %ecx, %edx
movl %edx, 0x170(%rsp)
movq %rax, (%rbp)
movq 0x10(%r14), %rax
movq %rax, 0x110(%rsp)
movslq %r13d, %rax
movq %rax, 0x48(%rsp)
testl %r15d, %r15d
movq %rbp, 0x178(%rsp)
je 0x77cd
movq 0x18(%r14), %r14
movl 0x8(%rbx), %r9d
movl 0x20(%rbx), %eax
movl %eax, 0x15c(%rsp)
movq 0x28(%rbx), %rax
movq %rax, 0x180(%rsp)
movq 0x30(%rbx), %r15
movslq (%r8), %r12
movq 0x8(%r8), %rax
movq %rax, 0xe0(%rsp)
movq 0x18(%r8), %r10
movl 0x10(%r8), %r11d
cmpl $0x1, %r11d
movl 0x6c(%rsp), %ebx
movq %r9, 0x100(%rsp)
jg 0x7750
leaq 0x12f7a(%rip), %rdx     # 0x1a68f
movl $0x27100, %esi          # imm = 0x27100
movq %r10, %rdi
callq 0x124f5
testq %rax, %rax
je 0x98f6
movq %rax, %r10
movq 0xb0(%rsp), %r8
movl $0x2710, 0x10(%r8)      # imm = 0x2710
movq %rax, 0x18(%r8)
movl $0x2710, %r11d          # imm = 0x2710
movq 0x100(%rsp), %r9
subl %r13d, %ebx
movl %ebx, 0x16c(%rsp)
movl %ebx, %esi
sarl %esi
leal (%rsi,%r13), %ecx
leal (%r9,%rcx), %eax
decl %eax
cltd
idivl %r9d
movl %eax, %ebx
decl %ebx
imull %r9d, %ebx
movl $0xffffffff, (%r10)     # imm = 0xFFFFFFFF
movl %r13d, 0x4(%r10)
movl $0x0, 0x8(%r10)
movl %ecx, 0xc(%r10)
movslq %esi, %rdx
movb -0x1(%r14,%rdx), %al
movl $0x80000001, %ecx       # imm = 0x80000001
movq %rcx, 0x70(%rsp)
cmpb $0x4, %al
movq %r14, 0x138(%rsp)
movq %r15, 0xf8(%rsp)
movq %rsi, 0xd0(%rsp)
movq %r12, 0x78(%rsp)
jne 0x7913
movb $0x1, (%rsp)
movl %esi, %edi
jmp 0x794e
movq 0x18(%r14), %r14
movl 0x8(%rbx), %r9d
movl 0x20(%rbx), %eax
movl %eax, 0x15c(%rsp)
movq 0x28(%rbx), %rax
movq %rax, 0x180(%rsp)
movq 0x30(%rbx), %r15
movslq (%r8), %rax
movq %rax, 0x18(%rsp)
movq 0x8(%r8), %r12
movq 0x18(%r8), %r11
movl 0x10(%r8), %r10d
cmpl $0x1, %r10d
movl 0x6c(%rsp), %ebx
movl %r9d, 0x100(%rsp)
jg 0x7857
leaq 0x12e73(%rip), %rdx     # 0x1a68f
movl $0x27100, %esi          # imm = 0x27100
movq %r11, %rdi
callq 0x124f5
testq %rax, %rax
je 0x98f6
movq %rax, %r11
movq 0xb0(%rsp), %r8
movl $0x2710, 0x10(%r8)      # imm = 0x2710
movq %rax, 0x18(%r8)
movl $0x2710, %r10d          # imm = 0x2710
movl 0x100(%rsp), %r9d
subl %r13d, %ebx
movl %ebx, 0x16c(%rsp)
movl %ebx, %esi
sarl %esi
leal (%rsi,%r13), %ebx
movl %ebx, %eax
cltd
idivl %r9d
subl %edx, %ebx
movl $0xffffffff, (%r11)     # imm = 0xFFFFFFFF
movl %r13d, 0x4(%r11)
movl $0x0, 0x8(%r11)
movl %ebx, 0xc(%r11)
movslq %esi, %rax
movb (%r14,%rax), %cl
movq %rsi, 0x80(%rsp)
cmpb $0x4, %cl
movq %r14, 0x130(%rsp)
movq %r15, 0x118(%rsp)
movq %r12, 0x108(%rsp)
je 0x78ec
leaq (%rax,%r14), %rdx
incq %rdx
addq 0x48(%rsp), %rax
addq 0x110(%rsp), %rax
xorl %edi, %edi
movb (%rax,%rdi), %sil
cmpb %sil, %cl
jne 0x7ca2
movb (%rdx,%rdi), %cl
incq %rdi
cmpb $0x4, %cl
jne 0x78ca
addl 0x80(%rsp), %edi
movq %rdi, %rsi
cmpl $0x80000002, %r13d      # imm = 0x80000002
movl $0x80000001, %ecx       # imm = 0x80000001
cmovgel %r13d, %ecx
movl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movq %rax, 0x70(%rsp)
movb $0x1, 0x78(%rsp)
movq %rsi, %rdi
jmp 0x7cc5
leaq (%rdx,%r14), %rcx
addq $-0x2, %rcx
addq 0x48(%rsp), %rdx
movq 0x110(%rsp), %rsi
addq %rsi, %rdx
decq %rdx
xorl %edi, %edi
movb (%rdx,%rdi), %sil
cmpb %sil, %al
jne 0x7953
movb (%rcx,%rdi), %al
decq %rdi
cmpb $0x4, %al
jne 0x7930
movb $0x1, (%rsp)
addl 0xd0(%rsp), %edi
movl %r13d, %eax
jmp 0x7975
addl 0xd0(%rsp), %edi
cmpb $0x4, %sil
sete (%rsp)
movl $0x80000001, %eax       # imm = 0x80000001
cmovel %r13d, %eax
movq %rax, 0x70(%rsp)
movl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movq %rax, 0x50(%rsp)
movq %rdi, 0xc0(%rsp)
leal (%rdi,%r13), %r12d
movl $0x0, 0x80(%rsp)
cmpl %ebx, %r12d
jle 0x79ac
movl %ebx, 0xc8(%rsp)
xorl %ebp, %ebp
movl $0x1, 0x18(%rsp)
jmp 0x7a68
movl $0x1c, %r15d
xorl %r13d, %r13d
leaq 0x1(%r13), %rbp
movslq %r11d, %rax
cmpq %rax, %rbp
jl 0x7a28
movl %ebx, %r14d
leal 0x1(%r13), %eax
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
mulsd 0x12639(%rip), %xmm0    # 0x1a010
cvttsd2si %xmm0, %ebx
movslq %ebx, %rsi
shlq $0x4, %rsi
addq $0x27100, %rsi          # imm = 0x27100
movq %r10, %rdi
leaq 0x12c9c(%rip), %rdx     # 0x1a68f
callq 0x124f5
testq %rax, %rax
je 0x98f6
movq %rax, %r10
addl $0x2710, %ebx           # imm = 0x2710
movq 0xb0(%rsp), %r8
movl %ebx, 0x10(%r8)
movq %rax, 0x18(%r8)
movq 0x100(%rsp), %r9
movl %ebx, %r11d
movl %r14d, %ebx
movl %r13d, -0xc(%r10,%r15)
movq 0x98(%rsp), %rax
movl %eax, -0x8(%r10,%r15)
movl $0x0, -0x4(%r10,%r15)
movl %ebx, (%r10,%r15)
subl %r9d, %ebx
addq $0x10, %r15
movq %rbp, %r13
cmpl %ebx, %r12d
jle 0x79b5
movl %ebx, 0xc8(%rsp)
leal 0x1(%rbp), %eax
movl %eax, 0x18(%rsp)
imulq $0x2aaaaaab, 0x78(%rsp), %rdx # imm = 0x2AAAAAAB
movq %rdx, %rax
shrq $0x3f, %rax
sarq $0x22, %rdx
leal (%rdx,%rax), %ecx
decl %ecx
addl %eax, %edx
shrl $0x1f, %ecx
addl %edx, %ecx
decl %ecx
movq %rdx, 0xd8(%rsp)
movslq %edx, %rax
sarl %ecx
movq 0xe0(%rsp), %r13
leaq (,%rax,4), %rdi
addq %r13, %rdi
movq 0x48(%rsp), %r8
movl %r8d, %edx
movl %ecx, 0x20(%rsp)
subl %ecx, %edx
leaq (%rdi,%rax,4), %rbx
movl %edx, 0xf0(%rsp)
movslq %edx, %rcx
leaq (,%rcx,4), %rdx
subq %rdx, %r13
movq %rdi, 0x108(%rsp)
subq %rdx, %rdi
movq %rbx, %r12
subq %rdx, %r12
movq %rbx, 0x160(%rsp)
leaq (%rbx,%rax,4), %rsi
movq %rsi, %r15
subq %rdx, %r15
movq %rsi, 0x148(%rsp)
leaq (%rsi,%rax,4), %rax
shlq $0x3, %rcx
movq %rax, 0x140(%rsp)
movq %rax, %rbx
subq %rcx, %rbx
decq 0x110(%rsp)
movq 0x98(%rsp), %rdx
movq 0xc0(%rsp), %r14
leal (%rdx,%r14,2), %eax
movl 0x6c(%rsp), %ecx
cmpl %ecx, %eax
movl $0x0, %esi
cmovll %ebp, %esi
movl %esi, 0xec(%rsp)
movq %r13, 0x28(%rsp)
movl %eax, (%r13,%r8,4)
movabsq $0xfffffffffffffff, %rsi # imm = 0xFFFFFFFFFFFFFFF
movq %rbx, 0x58(%rsp)
movq %rsi, (%rbx,%r8,8)
movq %r15, %rsi
movq %rdi, 0x40(%rsp)
movl $0x3c, (%rdi,%r8,4)
movq %r12, 0x38(%rsp)
movl %ebp, (%r12,%r8,4)
movl %ecx, %ebp
movl 0xc8(%rsp), %ecx
movl %ecx, (%r15,%r8,4)
movl %ebp, %ecx
cmovll %eax, %ecx
movl %ecx, 0x64(%rsp)
cmovgel 0xd0(%rsp), %r14d
cmpb $0x0, (%rsp)
movq 0x138(%rsp), %rcx
movq %r14, 0xc0(%rsp)
je 0x7c22
movq %rsi, %r15
movslq %r14d, %rax
movl $0x0, 0x80(%rsp)
cmpb $0x4, -0x1(%rcx,%rax)
movl $0x0, %r8d
je 0x7bec
movl 0x64(%rsp), %eax
subl 0xc0(%rsp), %eax
cltq
xorl %r8d, %r8d
movq 0x110(%rsp), %rcx
cmpb $0x4, (%rcx,%rax)
setne %r8b
movq 0x98(%rsp), %rcx
movq 0x70(%rsp), %rsi
cmpl %ecx, %esi
movl 0x18(%rsp), %r14d
movl 0xf0(%rsp), %r12d
movq 0xe0(%rsp), %r13
jge 0x7c58
movl %ebp, 0x14(%rsp)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %ecx, %ebx
jmp 0x7fee
movl $0xffffffff, 0xb8(%rsp) # imm = 0xFFFFFFFF
movl %ebp, 0x14(%rsp)
movq 0x50(%rsp), %rax
movl %edx, %ebx
movl 0x18(%rsp), %r14d
movl 0xf0(%rsp), %r12d
movq 0xe0(%rsp), %r13
movl $0x1, %r8d
jmp 0x806a
leal 0x1(%rsi), %ebx
movslq %esi, %rcx
movq 0x40(%rsp), %rax
movl (%rax,%rcx,4), %eax
cmpl $-0x1, %eax
jl 0x7fdd
movq 0x28(%rsp), %rdx
movl (%rdx,%rcx,4), %edx
movl %edx, 0x14(%rsp)
subl %esi, %edx
movl %edx, %esi
shrl $0x1f, %esi
addl %edx, %esi
sarl %esi
movq %rsi, 0xd0(%rsp)
movq 0x38(%rsp), %rdx
movl (%rdx,%rcx,4), %ecx
movl %ecx, 0x80(%rsp)
jmp 0x7fe6
addl 0x80(%rsp), %edi
cmpb $0x4, %sil
sete 0x78(%rsp)
movl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
cmovel %r13d, %eax
movq %rax, 0x70(%rsp)
movl $0x80000001, %ecx       # imm = 0x80000001
movq %rdi, 0xc0(%rsp)
leal (%rdi,%r13), %r12d
addl %r9d, %ebx
movl $0x0, 0x14(%rsp)
cmpl %ebx, %r12d
movq %rcx, (%rsp)
jge 0x7cfb
movl %ebx, 0xc8(%rsp)
xorl %ebp, %ebp
movl $0x1, 0x50(%rsp)
jmp 0x7db7
movl $0x1c, %r15d
xorl %r13d, %r13d
leaq 0x1(%r13), %rbp
movslq %r10d, %rax
cmpq %rax, %rbp
jl 0x7d77
movl %ebx, %r14d
leal 0x1(%r13), %eax
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
mulsd 0x122ea(%rip), %xmm0    # 0x1a010
cvttsd2si %xmm0, %ebx
movslq %ebx, %rsi
shlq $0x4, %rsi
addq $0x27100, %rsi          # imm = 0x27100
movq %r11, %rdi
leaq 0x1294d(%rip), %rdx     # 0x1a68f
callq 0x124f5
testq %rax, %rax
je 0x98f6
movq %rax, %r11
addl $0x2710, %ebx           # imm = 0x2710
movq 0xb0(%rsp), %r8
movl %ebx, 0x10(%r8)
movq %rax, 0x18(%r8)
movl 0x100(%rsp), %r9d
movl %ebx, %r10d
movl %r14d, %ebx
movl %r13d, -0xc(%r11,%r15)
movq 0x98(%rsp), %rax
movl %eax, -0x8(%r11,%r15)
movl $0x0, -0x4(%r11,%r15)
movl %ebx, (%r11,%r15)
addl %r9d, %ebx
addq $0x10, %r15
movq %rbp, %r13
cmpl %ebx, %r12d
jge 0x7d04
movl %ebx, 0xc8(%rsp)
leal 0x1(%rbp), %eax
movl %eax, 0x50(%rsp)
imulq $0x2aaaaaab, 0x18(%rsp), %rdx # imm = 0x2AAAAAAB
movq %rdx, %rax
shrq $0x3f, %rax
sarq $0x22, %rdx
leal (%rdx,%rax), %ecx
decl %ecx
addl %eax, %edx
shrl $0x1f, %ecx
addl %edx, %ecx
decl %ecx
movq %rdx, 0xd0(%rsp)
movslq %edx, %rax
sarl %ecx
movq 0x108(%rsp), %r14
leaq (%r14,%rax,4), %rbx
movq 0x98(%rsp), %rsi
movl %esi, %edx
movl %ecx, 0x20(%rsp)
subl %ecx, %edx
leaq (%rbx,%rax,4), %r15
movl %edx, 0x160(%rsp)
movslq %edx, %rcx
leaq (,%rcx,4), %rdx
subq %rdx, %r14
movq %rbx, 0x148(%rsp)
movq %rbx, %r13
subq %rdx, %r13
movq %r15, %r12
subq %rdx, %r12
movq %r15, 0x140(%rsp)
leaq (%r15,%rax,4), %rdi
movq %rdi, %r15
subq %rdx, %r15
movq %rdi, 0xb8(%rsp)
leaq (%rdi,%rax,4), %rax
shlq $0x3, %rcx
movq %rax, 0xf0(%rsp)
movq %rax, %rdi
subq %rcx, %rdi
movq 0xc0(%rsp), %rbx
leal (%rsi,%rbx,2), %eax
movl 0x6c(%rsp), %ecx
cmpl %ecx, %eax
movl $0x0, %edx
cmovgl %ebp, %edx
movl %edx, 0xec(%rsp)
movq %r14, 0x8(%rsp)
movq 0x48(%rsp), %r8
movl %eax, (%r14,%r8,4)
movabsq $0xfffffffffffffff, %rdx # imm = 0xFFFFFFFFFFFFFFF
movq %rdi, 0xa8(%rsp)
movq %rdx, (%rdi,%r8,8)
movq %r13, 0x38(%rsp)
movl $0x3c, (%r13,%r8,4)
movq %r12, 0x58(%rsp)
movl %ebp, (%r12,%r8,4)
movl %ecx, %ebp
movq %r15, %r13
movl 0xc8(%rsp), %ecx
movl %ecx, (%r15,%r8,4)
movl %ebp, %ecx
cmovgl %eax, %ecx
movl %ecx, 0x64(%rsp)
cmovlel 0x80(%rsp), %ebx
cmpb $0x0, 0x78(%rsp)
movq 0x130(%rsp), %r14
movq %rbx, 0xc0(%rsp)
je 0x7f57
movslq %ebx, %rax
movl $0x0, 0x14(%rsp)
cmpb $0x4, (%r14,%rax)
movl $0x0, %r15d
je 0x7f2a
movl 0x64(%rsp), %eax
subl 0xc0(%rsp), %eax
cltq
xorl %r15d, %r15d
movq 0x110(%rsp), %rcx
cmpb $0x4, (%rcx,%rax)
setne %r15b
movq 0x98(%rsp), %rcx
movq 0x70(%rsp), %rsi
cmpl %ecx, %esi
movl 0x50(%rsp), %ebx
movq 0xb0(%rsp), %r8
jle 0x7f96
movl %ebp, 0x34(%rsp)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %ecx, %edi
jmp 0x8c90
movl $0xffffffff, 0xd8(%rsp) # imm = 0xFFFFFFFF
movl %ebp, 0x34(%rsp)
movq (%rsp), %r14
movq %r14, 0xa0(%rsp)
movl %esi, %r12d
movl %esi, %edi
movq 0x70(%rsp), %r14
movl 0x50(%rsp), %ebx
movq %r13, %rsi
movq 0xb0(%rsp), %r8
movl $0x1, %r15d
jmp 0x8d0a
leal -0x1(%rsi), %edi
movslq %esi, %rcx
movq 0x38(%rsp), %rax
movl (%rax,%rcx,4), %eax
cmpl $-0x1, %eax
jl 0x8c7f
movq 0x8(%rsp), %rdx
movl (%rdx,%rcx,4), %edx
movl %edx, 0x34(%rsp)
subl %esi, %edx
movl %edx, %esi
shrl $0x1f, %esi
addl %edx, %esi
sarl %esi
movq %rsi, 0x80(%rsp)
movq 0x58(%rsp), %rdx
movl (%rdx,%rcx,4), %ecx
movl %ecx, 0x14(%rsp)
jmp 0x8c88
movl %ebp, 0x14(%rsp)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movq 0x98(%rsp), %rcx
movq %r15, %rsi
movl $0x80000001, %edx       # imm = 0x80000001
movq %rdx, 0x70(%rsp)
movq 0x50(%rsp), %r15
cmpl %ecx, %r15d
jle 0x8010
movl %eax, 0xb8(%rsp)
movl %ecx, %edx
jmp 0x8065
leal -0x1(%r15), %edi
movslq %r15d, %rcx
movq 0x40(%rsp), %rdx
movl (%rdx,%rcx,4), %edx
movl %edx, 0xb8(%rsp)
cmpl %edx, %eax
jle 0x8033
movl %eax, 0xb8(%rsp)
jmp 0x8062
movq 0x28(%rsp), %rax
movl (%rax,%rcx,4), %eax
movl %eax, 0x14(%rsp)
subl %r15d, %eax
movl %eax, %edx
shrl $0x1f, %edx
addl %eax, %edx
sarl %edx
movq %rdx, 0xd0(%rsp)
movq 0x38(%rsp), %rax
movl (%rax,%rcx,4), %eax
movl %eax, 0x80(%rsp)
movq %rdi, %rdx
movl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
testl %r8d, %r8d
je 0x8ac3
movq %rax, 0xa8(%rsp)
movl 0x20(%rsp), %eax
addl 0x98(%rsp), %eax
movl %eax, 0x20(%rsp)
movl $0x0, 0x50(%rsp)
movl 0x64(%rsp), %ecx
movl %ecx, 0x68(%rsp)
movl $0x0, 0x34(%rsp)
movl $0x0, 0x94(%rsp)
movq 0xc0(%rsp), %rax
movl %eax, 0x24(%rsp)
movl %ecx, %eax
movq %rax, 0x8(%rsp)
movq %rdx, %rcx
movq 0x28(%rsp), %rdx
movq %rdx, 0x28(%rsp)
movq %rbx, %rax
movslq %eax, %rbx
movq %rax, 0x118(%rsp)
cmpl %r12d, %eax
movl %r11d, 0x48(%rsp)
jle 0x80f8
cmpl 0x20(%rsp), %ecx
jge 0x80f8
movq 0x118(%rsp), %rdx
jmp 0x8468
movl %ecx, %ebp
subl 0x118(%rsp), %ebp
incl %ebp
movq 0xd8(%rsp), %rdx
cvtsi2sd %edx, %xmm0
mulsd 0x12311(%rip), %xmm0    # 0x1a428
cvtsi2sd %ebp, %xmm1
ucomisd %xmm0, %xmm1
movq %rsi, (%rsp)
movq %r10, 0xc8(%rsp)
movl %r14d, 0x18(%rsp)
movq %rcx, 0x88(%rsp)
jbe 0x81ad
shll $0x3, %edx
leal (%rdx,%rdx,2), %esi
movq 0xb0(%rsp), %rdi
movq %rdi, %r14
callq 0x4252
movq 0x8(%r14), %rax
movq %rax, %r15
subq %r13, %r15
movslq (%r14), %rcx
imulq $0x2aaaaaab, %rcx, %rdx # imm = 0x2AAAAAAB
movq %rdx, %rcx
shrq $0x3f, %rcx
sarq $0x22, %rdx
addl %ecx, %edx
movslq %edx, %rcx
leaq (%rax,%rcx,4), %rsi
movq %rsi, 0x108(%rsp)
leaq (%rsi,%rcx,4), %rsi
movq %rsi, 0x160(%rsp)
leaq (%rsi,%rcx,4), %rsi
movq %rsi, 0x148(%rsp)
leaq (%rsi,%rcx,4), %rcx
movq (%rsp), %rsi
movq %rcx, 0x140(%rsp)
movq %rax, %r13
jmp 0x81b0
xorl %r15d, %r15d
movq %rdx, 0xd8(%rsp)
movl %edx, %eax
subl %ebp, %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
movl %ecx, 0x20(%rsp)
movslq %ecx, %r14
leaq (,%r14,4), %rcx
addq %r13, %rcx
movq 0x28(%rsp), %rax
leaq (%rax,%rbx,4), %rax
addq %r15, %rax
movq %rcx, 0x78(%rsp)
movq %rax, 0x120(%rsp)
subq %rax, %rcx
movq %rcx, 0x150(%rsp)
movslq %ebp, %r12
jns 0x821e
leaq (,%r12,4), %rdx
movq 0x78(%rsp), %rdi
movq 0x120(%rsp), %rsi
callq 0x1230
movq (%rsp), %rsi
movq %r13, 0xe0(%rsp)
movq 0x108(%rsp), %rax
leaq (%rax,%r14,4), %r13
movq 0x40(%rsp), %rax
leaq (%rax,%rbx,4), %rbp
addq %r15, %rbp
movq %r13, %rax
subq %rbp, %rax
movq %rax, 0x28(%rsp)
jns 0x8262
leaq (,%r12,4), %rdx
movq %r13, %rdi
movq %rbp, %rsi
callq 0x1230
movq (%rsp), %rsi
movq %rbp, 0x130(%rsp)
movq %r13, 0xa0(%rsp)
movq 0x160(%rsp), %rax
leaq (%rax,%r14,4), %rbp
movq 0x38(%rsp), %rax
leaq (%rax,%rbx,4), %rax
addq %r15, %rax
movq %rbp, %r13
movq %rax, 0x40(%rsp)
subq %rax, %r13
jns 0x82b0
leaq (,%r12,4), %rdx
movq %rbp, %rdi
movq 0x40(%rsp), %rsi
callq 0x1230
movq (%rsp), %rsi
movq %rbp, 0xf0(%rsp)
movq 0x148(%rsp), %rax
leaq (%rax,%r14,4), %rbp
leaq (%rsi,%rbx,4), %rax
addq %r15, %rax
movq %rbp, (%rsp)
movq %rax, 0x38(%rsp)
subq %rax, %rbp
jns 0x82ef
leaq (,%r12,4), %rdx
movq (%rsp), %rdi
movq 0x38(%rsp), %rsi
callq 0x1230
movq 0x140(%rsp), %rax
leaq (%rax,%r14,8), %rdi
movq 0x58(%rsp), %rax
leaq (%rax,%rbx,8), %rsi
addq %r15, %rsi
movq %rdi, %r14
subq %rsi, %r14
movq %r12, %r15
jns 0x8335
leaq (,%r15,8), %rdx
movq %rdi, %r12
movq %rbx, 0x58(%rsp)
movq %rsi, %rbx
callq 0x1230
movq %rbx, %rsi
movq 0x58(%rsp), %rbx
movq %r12, %rdi
testq %r14, %r14
jle 0x8347
leaq (,%r15,8), %rdx
callq 0x1230
testq %rbp, %rbp
movl 0x18(%rsp), %r14d
jle 0x8367
leaq (,%r15,4), %rdx
movq (%rsp), %rdi
movq 0x38(%rsp), %rsi
callq 0x1230
testq %r13, %r13
movl 0x6c(%rsp), %ebp
jle 0x838a
leaq (,%r15,4), %rdx
movq 0xf0(%rsp), %rdi
movq 0x40(%rsp), %rsi
callq 0x1230
cmpq $0x0, 0x28(%rsp)
movq 0xe0(%rsp), %r13
jle 0x83b7
leaq (,%r15,4), %rdx
movq 0xa0(%rsp), %rdi
movq 0x130(%rsp), %rsi
callq 0x1230
cmpq $0x0, 0x150(%rsp)
jle 0x83db
shlq $0x2, %r15
movq 0x78(%rsp), %rdi
movq 0x120(%rsp), %rsi
movq %r15, %rdx
callq 0x1230
movq 0x118(%rsp), %rdx
movl %edx, %r12d
movl 0x20(%rsp), %eax
subl %eax, %r12d
movq 0x88(%rsp), %rdi
addl %edi, %eax
movl %eax, 0x20(%rsp)
movslq %r12d, %rax
leaq (,%rax,4), %rcx
movq %r13, %rsi
subq %rcx, %rsi
movq %rsi, 0x28(%rsp)
movq 0x108(%rsp), %rsi
subq %rcx, %rsi
movq %rsi, 0x40(%rsp)
movq 0x160(%rsp), %rsi
subq %rcx, %rsi
movq %rsi, 0x38(%rsp)
movq 0x148(%rsp), %rsi
subq %rcx, %rsi
shlq $0x3, %rax
movq 0x140(%rsp), %rcx
subq %rax, %rcx
movq %rcx, 0x58(%rsp)
movq %rdi, %rcx
movq 0xc8(%rsp), %r10
movq 0x100(%rsp), %r9
movl 0x48(%rsp), %r11d
cmpl 0x174(%rsp), %edx
jle 0x8497
decl %edx
movq %rdx, 0x118(%rsp)
movl (%rsi,%rbx,4), %eax
movl %eax, -0x4(%rsi,%rbx,4)
movq 0x28(%rsp), %rdx
movl $0x7fffffff, -0x4(%rdx,%rbx,4) # imm = 0x7FFFFFFF
movl $0x7fffffff, %r15d      # imm = 0x7FFFFFFF
jmp 0x84a0
movq 0x28(%rsp), %rdx
movl (%rdx,%rbx,4), %r15d
cmpl 0x170(%rsp), %ecx
jge 0x84cd
movl %ebp, %r8d
movslq %ecx, %rax
incl %ecx
movq %rcx, %rdx
movl (%rsi,%rax,4), %ecx
movl %ecx, 0x4(%rsi,%rax,4)
movq %rdx, %rcx
movq 0x28(%rsp), %rdx
movl $0x7fffffff, 0x4(%rdx,%rax,4) # imm = 0x7FFFFFFF
jmp 0x84d0
movl %ebp, %r8d
movq 0x118(%rsp), %rbx
incl 0x50(%rsp)
movslq %ebx, %rbp
movl $0x7fffffff, %edi       # imm = 0x7FFFFFFF
movl %edi, -0x4(%rdx,%rbp,4)
movslq %ecx, %rax
movl %edi, 0x4(%rdx,%rax,4)
cmpl %ecx, %ebp
movq %rsi, (%rsp)
movq %rcx, 0x88(%rsp)
jle 0x8509
xorl %ecx, %ecx
movl %r8d, %ebp
jmp 0x88de
movl %r12d, 0xf0(%rsp)
movq 0xb0(%rsp), %r11
movq %r13, 0xe0(%rsp)
leal 0x1(%rcx), %eax
movl %eax, 0x130(%rsp)
movq 0x110(%rsp), %rax
leaq (%rax,%rbp), %r12
movl $0x1, 0xa0(%rsp)
movl $0x3c, %ecx
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
movl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movq %rax, 0x78(%rsp)
movabsq $0xfffffffffffffff, %rax # imm = 0xFFFFFFFFFFFFFFF
movq 0x78(%rsp), %rbx
leaq 0x1(%rbp), %r8
movl 0x4(%rdx,%rbp,4), %edx
cmpl %edx, %r15d
movq %rdx, 0xc8(%rsp)
movq %r8, 0x120(%rsp)
movq %r15, 0x78(%rsp)
jle 0x85b7
cmpl %ebx, %edx
movq %r11, %rdi
movq 0x138(%rsp), %r11
jg 0x85c7
leal -0x1(%rdx), %ebx
movq 0x40(%rsp), %rax
movl (%rax,%r8,4), %ecx
movq 0x58(%rsp), %rax
movq (%rax,%r8,8), %rax
movq 0x38(%rsp), %rdx
movl (%rdx,%r8,4), %r13d
jmp 0x85e9
cmpl %ebx, %r15d
movq %r11, %rdi
movq 0x138(%rsp), %r11
jle 0x85cb
decl %ebx
jmp 0x85e9
leal -0x2(%r15), %ebx
movq 0x40(%rsp), %rax
movl (%rax,%rbp,4), %ecx
movq 0x58(%rsp), %rax
movq (%rax,%rbp,8), %rax
movq 0x38(%rsp), %rdx
movl (%rdx,%rbp,4), %r13d
movl 0x48(%rsp), %r8d
leaq (,%rax,8), %rdx
sarq $0x3f, %rdx
addl %ecx, %edx
movq %rdx, 0x18(%rsp)
addq %rax, %rax
subl %ebp, %ebx
sarl %ebx
movslq %ebx, %rcx
movb -0x1(%r11,%rcx), %dl
movq %rax, %r15
cmpb $0x4, %dl
je 0x8655
movb (%r12,%rcx), %al
cmpb %al, %dl
jne 0x8677
movb -0x2(%r11,%rcx), %dl
decq %rcx
movabsq $0xfffffffffffffff, %rax # imm = 0xFFFFFFFFFFFFFFF
incq %rax
andq %r15, %rax
cmpq $0x1, %rax
movq 0x18(%rsp), %rax
adcl $0x0, %eax
movq %rax, 0x18(%rsp)
leaq 0x1(,%r15,2), %r15
decl %ebx
jmp 0x8613
movq 0xa8(%rsp), %rax
cmpl %ebp, %eax
cmovgel %ebp, %eax
movq %rax, 0xa8(%rsp)
movl $0x0, 0xa0(%rsp)
jmp 0x869c
cmpb $0x4, %al
movl $0x0, %eax
movl 0xa0(%rsp), %ecx
cmovel %eax, %ecx
movl %ecx, 0xa0(%rsp)
movq 0x70(%rsp), %rax
cmovel %ebp, %eax
movq %rax, 0x70(%rsp)
movq %r12, 0x150(%rsp)
leal (%rbx,%rbp), %edx
movl (%rsi,%rbp,4), %eax
cmpl %eax, %edx
jg 0x8799
movl %r14d, %r12d
movslq %r13d, %rcx
shlq $0x4, %rcx
cmpl %eax, 0xc(%r10,%rcx)
jle 0x877c
cmpl %r8d, %r12d
jl 0x8754
movl %r13d, 0x48(%rsp)
movq %r15, %r13
movq %rbx, %r15
movq %rbp, %rbx
movl %edx, %ebp
xorps %xmm0, %xmm0
cvtsi2sd %r12d, %xmm0
mulsd 0x11920(%rip), %xmm0    # 0x1a010
cvttsd2si %xmm0, %r14d
movslq %r14d, %rsi
shlq $0x4, %rsi
addq $0x27100, %rsi          # imm = 0x27100
movq %r10, %rdi
leaq 0x11f82(%rip), %rdx     # 0x1a68f
callq 0x124f5
testq %rax, %rax
je 0x98f6
movq %rax, %r10
addl $0x2710, %r14d          # imm = 0x2710
movq 0xb0(%rsp), %rdi
movl %r14d, 0x10(%rdi)
movq %rax, 0x18(%rdi)
movq 0x100(%rsp), %r9
movl %r14d, %r8d
movq (%rsp), %rsi
movl %ebp, %edx
movq %rbx, %rbp
movq %r15, %rbx
movq %r13, %r15
movl 0x48(%rsp), %r13d
movslq %r12d, %rax
shlq $0x4, %rax
movl %r13d, (%r10,%rax)
movl %ebp, 0x4(%r10,%rax)
movl 0x50(%rsp), %ecx
movl %ecx, 0x8(%r10,%rax)
movl (%rsi,%rbp,4), %ecx
movl %ecx, 0xc(%r10,%rax)
leal 0x1(%r12), %r14d
jmp 0x8782
movl %r12d, %r14d
movl %r13d, %r12d
movl %r12d, %r13d
movl (%rsi,%rbp,4), %eax
subl %r9d, %eax
movl %eax, (%rsi,%rbp,4)
movl %r14d, %r12d
cmpl %eax, %edx
jle 0x86b5
leal (%rbp,%rbx,2), %r12d
cmpl 0x8(%rsp), %r12d
movl %r8d, 0x48(%rsp)
jge 0x87cc
movq 0x18(%rsp), %rax
cmpl 0x15c(%rsp), %eax
jge 0x87d1
movq %rdi, %r11
movl %r12d, %eax
movq %rax, 0x8(%rsp)
movl %ebx, 0x24(%rsp)
jmp 0x884f
movq %rdi, %r11
jmp 0x884f
movl %r15d, %eax
andl $0x7fff, %eax           # imm = 0x7FFF
movl %eax, %ecx
movq 0xf8(%rsp), %rsi
cmpw $0x0, (%rsi,%rcx,2)
js 0x883b
movq %rdi, %r11
movl %r15d, %ecx
shrl $0xe, %ecx
andl $0xfffe, %ecx           # imm = 0xFFFE
movswl (%rsi,%rcx), %ecx
movq 0x180(%rsp), %rsi
movswl (%rsi,%rax,2), %eax
addl %ecx, %eax
js 0x883e
movl %r12d, %eax
movq %rax, 0x8(%rsp)
movl %ebx, 0x24(%rsp)
movl %r12d, 0x64(%rsp)
movq %rbx, 0xc0(%rsp)
movl 0x50(%rsp), %eax
movl %eax, 0x94(%rsp)
movl %r13d, 0xec(%rsp)
jmp 0x884a
movq %rdi, %r11
movl %r12d, %eax
movq %rax, 0x8(%rsp)
movl %ebx, 0x24(%rsp)
movl %r12d, 0x68(%rsp)
movq 0x58(%rsp), %rdi
movq (%rdi,%rbp,8), %rax
movq 0x40(%rsp), %r8
movl (%r8,%rbp,4), %ecx
movq 0x38(%rsp), %rbx
movl (%rbx,%rbp,4), %esi
movq 0x28(%rsp), %rdx
movl %r12d, (%rdx,%rbp,4)
movq %r15, (%rdi,%rbp,8)
movq 0x18(%rsp), %rdi
movl %edi, (%r8,%rbp,4)
movl %r13d, (%rbx,%rbp,4)
movq 0x150(%rsp), %r12
incq %r12
movl %esi, %r13d
movq 0x120(%rsp), %rbp
cmpl %ebp, 0x130(%rsp)
movq (%rsp), %rsi
movq 0xc8(%rsp), %r15
jne 0x8561
cmpl $0x0, 0xa0(%rsp)
sete %cl
movl 0x6c(%rsp), %ebp
movq 0xe0(%rsp), %r13
movq 0x118(%rsp), %rbx
movl 0x48(%rsp), %r11d
movl 0xf0(%rsp), %r12d
movl $0x1, %eax
testb %cl, %cl
je 0x8a2e
movslq 0x24(%rsp), %rcx
xorl %eax, %eax
movq 0x138(%rsp), %rdx
cmpb $0x4, -0x1(%rdx,%rcx)
je 0x891e
movq 0x8(%rsp), %rax
subl 0x24(%rsp), %eax
movslq %eax, %rcx
xorl %eax, %eax
movq 0x110(%rsp), %rdx
cmpb $0x4, (%rdx,%rcx)
setne %al
movq 0x70(%rsp), %rdi
cmpl %edi, %ebx
jle 0x8930
movl 0xb8(%rsp), %ecx
jmp 0x898a
leal 0x1(%rdi), %ebx
movslq %edi, %rdx
movq 0x40(%rsp), %rcx
movl (%rcx,%rdx,4), %ecx
movl 0xb8(%rsp), %r15d
cmpl %ecx, %r15d
jle 0x8950
movl %r15d, %ecx
jmp 0x898a
movq 0x28(%rsp), %rsi
movl (%rsi,%rdx,4), %esi
movl %esi, 0x14(%rsp)
subl %edi, %esi
movl %esi, %edi
shrl $0x1f, %edi
addl %esi, %edi
movq (%rsp), %rsi
sarl %edi
movq %rdi, 0xd0(%rsp)
movq 0x38(%rsp), %rdi
movl (%rdi,%rdx,4), %edx
movl %edx, 0x80(%rsp)
movl 0x50(%rsp), %edx
movl %edx, 0x34(%rsp)
movl $0x80000001, %edx       # imm = 0x80000001
movq %rdx, 0x70(%rsp)
movq 0xa8(%rsp), %r15
cmpl %r15d, 0x88(%rsp)
jl 0x89c8
leal -0x1(%r15), %edx
movq %rdx, 0x88(%rsp)
movslq %r15d, %rdx
movq 0x40(%rsp), %rdi
movl (%rdi,%rdx,4), %edi
movl %edi, 0xb8(%rsp)
cmpl %edi, %ecx
jle 0x89e3
movl %ecx, 0xb8(%rsp)
movl $0x7fffffff, %ecx       # imm = 0x7FFFFFFF
movq %rcx, 0xa8(%rsp)
movq 0x28(%rsp), %rdx
jmp 0x8a2e
movq 0x28(%rsp), %rdi
movl (%rdi,%rdx,4), %ecx
movl %ecx, 0x14(%rsp)
subl %r15d, %ecx
movl %ecx, %esi
shrl $0x1f, %esi
addl %ecx, %esi
sarl %esi
movq %rsi, 0xd0(%rsp)
movq (%rsp), %rsi
movq 0x38(%rsp), %rcx
movl (%rcx,%rdx,4), %ecx
movq %rdi, %rdx
movl %ecx, 0x80(%rsp)
movl 0x50(%rsp), %ecx
movl %ecx, 0x34(%rsp)
movl $0x7fffffff, %ecx       # imm = 0x7FFFFFFF
movq %rcx, 0xa8(%rsp)
movq 0x88(%rsp), %rcx
cmpl %ebx, %ecx
jl 0x8aa9
movq %rcx, %rdx
movq 0x8(%rsp), %rcx
addl $0x1e, %ecx
movslq %edx, %rsi
movslq %ebx, %rdx
leal -0x1(%rbx), %edi
incq %rsi
movq 0x28(%rsp), %r15
cmpl %ecx, -0x4(%r15,%rsi,4)
jle 0x8a80
movq 0x88(%rsp), %r15
decl %r15d
movq %r15, 0x88(%rsp)
decq %rsi
cmpq %rdx, %rsi
jg 0x8a51
movl %edi, %ecx
movq (%rsp), %rsi
jmp 0x8aa4
decl %ebx
movq 0x28(%rsp), %rsi
leaq (%rsi,%rdx,4), %rdx
incl %ebx
leaq 0x4(%rdx), %rsi
cmpl %ecx, (%rdx)
movq %rsi, %rdx
jg 0x8a8b
movq (%rsp), %rsi
movq 0x88(%rsp), %rcx
movq 0x28(%rsp), %rdx
testl %eax, %eax
je 0x8ad6
movq 0x8(%rsp), %rax
addl $0xfa, %eax
cmpl %eax, 0x68(%rsp)
jle 0x80c8
jmp 0x8ad6
movl $0x0, 0x94(%rsp)
movl $0x0, 0x34(%rsp)
cmpl $0x0, 0xb8(%rsp)
js 0x8afe
movq 0xd0(%rsp), %r11
movl 0x14(%rsp), %r14d
subl %r11d, %r14d
movl 0x80(%rsp), %esi
movl 0x34(%rsp), %r15d
jmp 0x8b1d
movq 0xc0(%rsp), %r11
movl 0x64(%rsp), %r14d
subl %r11d, %r14d
movl 0x94(%rsp), %r15d
movl 0xec(%rsp), %esi
movq 0x178(%rsp), %rax
movq (%rax), %rcx
testl %esi, %esi
js 0x8b4b
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %esi, %r8d
movl %esi, %edx
shlq $0x4, %rdx
movl (%r10,%rdx), %esi
movl %eax, (%r10,%rdx)
movl %r8d, %eax
testl %esi, %esi
jns 0x8b31
jmp 0x8b51
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
movslq %r8d, %r9
shlq $0x4, %r9
movl 0x4(%r10,%r9), %edi
movl 0xc(%r10,%r9), %eax
movl %eax, %esi
subl %edi, %esi
cltd
idivl 0x100(%rsp)
testl %edx, %edx
je 0x8bb1
addq %r10, %r9
movslq (%r9), %r8
movl %r11d, %r9d
movl %r15d, %edx
testq %r8, %r8
js 0x8b9c
movq %r8, %rax
shlq $0x4, %rax
movl 0x4(%r10,%rax), %edi
movl 0x8(%r10,%rax), %edx
movl 0xc(%r10,%rax), %r9d
subl %edi, %r9d
subl %r9d, %esi
movw %si, -0x2(%rcx)
movw %dx, -0x4(%rcx)
movl $0xfffffffe, %eax       # imm = 0xFFFFFFFE
movl %r9d, %esi
jmp 0x8bb5
xorl %eax, %eax
xorl %edx, %edx
testl %r8d, %r8d
js 0x8c4d
movl %r8d, %r8d
shlq $0x4, %r8
movl (%r10,%r8), %r8d
testl %r8d, %r8d
js 0x8c16
cltq
movl %esi, %r9d
movq %r10, %rbx
movl %edx, %r10d
movl %r8d, %r8d
shlq $0x4, %r8
movl 0x4(%rbx,%r8), %edi
movl 0xc(%rbx,%r8), %esi
subl %edi, %esi
subl %esi, %r9d
movw %r9w, -0x2(%rcx,%rax,2)
movl 0x8(%rbx,%r8), %edx
movl %edx, %r9d
subl %r10d, %r9d
movq %rbx, %r10
movw %r9w, -0x4(%rcx,%rax,2)
addq $-0x2, %rax
movl (%rbx,%r8), %r8d
testl %r8d, %r8d
jns 0x8bd0
addl %esi, %edi
cmpl %r14d, %edi
jne 0x8c35
subl %r11d, %esi
je 0x8c4d
movslq %eax, %rdi
addw %si, 0x2(%rcx,%rdi,2)
movl %r15d, %esi
subl %edx, %esi
addw %si, (%rcx,%rdi,2)
jmp 0x8c4d
subl %r11d, %esi
movslq %eax, %rdi
movw %si, -0x2(%rcx,%rdi,2)
movl %r15d, %esi
subl %edx, %esi
leal -0x2(%rdi), %eax
movw %si, -0x4(%rcx,%rdi,2)
movq 0x178(%rsp), %rsi
movl %r14d, 0x10(%rsi)
movl %r11d, 0x14(%rsi)
movl %r15d, 0xc(%rsi)
movslq %eax, %rdx
negl %eax
movl %eax, 0x8(%rsi)
leaq (%rcx,%rdx,2), %rax
movq %rax, (%rsi)
movl $0x1c, %eax
movl $0x18, %ecx
jmp 0x98bc
movl %ebp, 0x34(%rsp)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movq 0x98(%rsp), %rcx
movl $0x80000001, %edx       # imm = 0x80000001
movq %rdx, 0xa0(%rsp)
movq (%rsp), %r14
cmpl %ecx, %r14d
movq %r13, %rsi
jge 0x8cb5
movl %eax, 0xd8(%rsp)
movl %ecx, %r12d
jmp 0x8d04
leal 0x1(%r14), %r12d
movslq %r14d, %rcx
movq 0x38(%rsp), %rdx
movl (%rdx,%rcx,4), %edx
movl %edx, 0xd8(%rsp)
cmpl %edx, %eax
jle 0x8cd8
movl %eax, 0xd8(%rsp)
jmp 0x8d04
movq 0x8(%rsp), %rax
movl (%rax,%rcx,4), %eax
movl %eax, 0x34(%rsp)
subl %r14d, %eax
movl %eax, %edx
shrl $0x1f, %edx
addl %eax, %edx
sarl %edx
movq %rdx, 0x80(%rsp)
movq 0x58(%rsp), %rax
movl (%rax,%rcx,4), %eax
movl %eax, 0x14(%rsp)
movl $0x7fffffff, %r14d      # imm = 0x7FFFFFFF
testl %r15d, %r15d
je 0x9764
movl 0x20(%rsp), %eax
addl 0x98(%rsp), %eax
movl %eax, 0x20(%rsp)
movl $0x0, 0x48(%rsp)
movl 0x64(%rsp), %ecx
movl %ecx, 0x68(%rsp)
movl $0x0, 0x12c(%rsp)
movl $0x0, 0x94(%rsp)
movq 0xc0(%rsp), %rax
movl %eax, 0x24(%rsp)
movl %ecx, %eax
movq %rax, 0x40(%rsp)
movq 0x8(%rsp), %rdx
movl %ebx, 0x50(%rsp)
movslq %r12d, %rcx
cmpl 0x160(%rsp), %r12d
movl %r10d, 0x78(%rsp)
movq %r14, 0x70(%rsp)
jle 0x8d8b
cmpl 0x20(%rsp), %edi
jge 0x8d8b
movq %rdx, 0x8(%rsp)
jmp 0x9120
movq %rcx, 0x18(%rsp)
movq %rdx, %r13
movl %edi, 0xf8(%rsp)
movl %edi, %ebp
subl %r12d, %ebp
incl %ebp
movq 0xd0(%rsp), %rdx
cvtsi2sd %edx, %xmm0
mulsd 0x11673(%rip), %xmm0    # 0x1a428
cvtsi2sd %ebp, %xmm1
ucomisd %xmm0, %xmm1
movq %rsi, (%rsp)
movq %r11, 0xc8(%rsp)
jbe 0x8e3e
shll $0x3, %edx
leal (%rdx,%rdx,2), %esi
movq %r8, %rdi
movq %r8, %r14
callq 0x4252
movq 0x8(%r14), %rax
movq %rax, %r15
subq 0x108(%rsp), %r15
movslq (%r14), %rcx
imulq $0x2aaaaaab, %rcx, %rdx # imm = 0x2AAAAAAB
movq %rdx, %rcx
shrq $0x3f, %rcx
sarq $0x22, %rdx
addl %ecx, %edx
movslq %edx, %rcx
leaq (%rax,%rcx,4), %rsi
movq %rsi, 0x148(%rsp)
leaq (%rsi,%rcx,4), %rsi
movq %rsi, 0x140(%rsp)
leaq (%rsi,%rcx,4), %rsi
movq %rsi, 0xb8(%rsp)
leaq (%rsi,%rcx,4), %rcx
movq (%rsp), %rsi
movq %rcx, 0xf0(%rsp)
movq %rax, %rcx
jmp 0x8e49
xorl %r15d, %r15d
movq 0x108(%rsp), %rcx
movq %r12, 0xe0(%rsp)
movq %rdx, 0xd0(%rsp)
movl %edx, %eax
subl %ebp, %eax
movl %eax, %edx
shrl $0x1f, %edx
addl %eax, %edx
sarl %edx
movl %edx, 0x20(%rsp)
movslq %edx, %r14
movq %rcx, 0x108(%rsp)
leaq (%rcx,%r14,4), %r12
movq 0x18(%rsp), %rcx
leaq (,%rcx,4), %rax
addq %r13, %rax
addq %r15, %rax
movq %r12, %rdx
movq %rax, 0x120(%rsp)
subq %rax, %rdx
movq %rdx, 0x150(%rsp)
movslq %ebp, %rbx
jns 0x8ec8
leaq (,%rbx,4), %rdx
movq %r12, %rdi
movq 0x120(%rsp), %rsi
callq 0x1230
movq 0x18(%rsp), %rcx
movq (%rsp), %rsi
movq %r12, 0x88(%rsp)
movq 0x148(%rsp), %rax
leaq (%rax,%r14,4), %r13
movq 0x38(%rsp), %rax
leaq (%rax,%rcx,4), %rbp
addq %r15, %rbp
movq %r13, %r12
subq %rbp, %r12
jns 0x8f0c
leaq (,%rbx,4), %rdx
movq %r13, %rdi
movq %rbp, %rsi
callq 0x1230
movq 0x18(%rsp), %rcx
movq (%rsp), %rsi
movq %rbp, 0x138(%rsp)
movq %r13, 0x38(%rsp)
movq 0x140(%rsp), %rax
leaq (%rax,%r14,4), %rbp
movq 0x58(%rsp), %rax
leaq (%rax,%rcx,4), %rax
addq %r15, %rax
movq %rbp, %r13
movq %rax, 0x28(%rsp)
subq %rax, %r13
jns 0x8f5c
leaq (,%rbx,4), %rdx
movq %rbp, %rdi
movq 0x28(%rsp), %rsi
callq 0x1230
movq 0x18(%rsp), %rcx
movq (%rsp), %rsi
movq %rbp, 0x58(%rsp)
movq 0xb8(%rsp), %rax
leaq (%rax,%r14,4), %rbp
leaq (%rsi,%rcx,4), %rax
addq %r15, %rax
movq %rbp, (%rsp)
movq %rax, 0x8(%rsp)
subq %rax, %rbp
jns 0x8f9d
leaq (,%rbx,4), %rdx
movq (%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0x1230
movq 0x18(%rsp), %rcx
movq 0xf0(%rsp), %rax
leaq (%rax,%r14,8), %rdi
movq 0xa8(%rsp), %rax
leaq (%rax,%rcx,8), %rsi
addq %r15, %rsi
movq %rdi, %r14
subq %rsi, %r14
movq %rbx, %r15
jns 0x8fec
leaq (,%r15,8), %rdx
movq %rdi, %rbx
movq %r12, 0xa8(%rsp)
movq %rsi, %r12
callq 0x1230
movq %r12, %rsi
movq 0xa8(%rsp), %r12
movq %rbx, %rdi
testq %r14, %r14
jle 0x8ffe
leaq (,%r15,8), %rdx
callq 0x1230
testq %rbp, %rbp
movq 0x70(%rsp), %r14
jle 0x901e
leaq (,%r15,4), %rdx
movq (%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0x1230
testq %r13, %r13
movl 0x6c(%rsp), %ebp
jle 0x903e
leaq (,%r15,4), %rdx
movq 0x58(%rsp), %rdi
movq 0x28(%rsp), %rsi
callq 0x1230
testq %r12, %r12
jle 0x905d
leaq (,%r15,4), %rdx
movq 0x38(%rsp), %rdi
movq 0x138(%rsp), %rsi
callq 0x1230
cmpq $0x0, 0x150(%rsp)
movq 0xe0(%rsp), %r12
jle 0x908c
shlq $0x2, %r15
movq 0x88(%rsp), %rdi
movq 0x120(%rsp), %rsi
movq %r15, %rdx
callq 0x1230
movl %r12d, %ecx
movl 0x20(%rsp), %eax
subl %eax, %ecx
movl 0xf8(%rsp), %edi
addl %edi, %eax
movl %eax, 0x20(%rsp)
movl %ecx, 0x160(%rsp)
movslq %ecx, %rax
leaq (,%rax,4), %rcx
movq 0x108(%rsp), %rdx
subq %rcx, %rdx
movq %rdx, 0x8(%rsp)
movq 0x148(%rsp), %rdx
subq %rcx, %rdx
movq %rdx, 0x38(%rsp)
movq 0x140(%rsp), %rdx
subq %rcx, %rdx
movq %rdx, 0x58(%rsp)
movq 0xb8(%rsp), %rsi
subq %rcx, %rsi
shlq $0x3, %rax
movq 0xf0(%rsp), %rcx
subq %rax, %rcx
movq %rcx, 0xa8(%rsp)
movq 0xb0(%rsp), %r8
movq 0xc8(%rsp), %r11
movl 0x78(%rsp), %r10d
movq 0x18(%rsp), %rcx
cmpl 0x174(%rsp), %r12d
jle 0x9147
decl %r12d
movl (%rsi,%rcx,4), %eax
movl %eax, -0x4(%rsi,%rcx,4)
movq 0x8(%rsp), %rdx
movl $0xffffffff, -0x4(%rdx,%rcx,4) # imm = 0xFFFFFFFF
movl 0x50(%rsp), %ebx
jmp 0x9150
movl 0x50(%rsp), %ebx
movq 0x8(%rsp), %rdx
movslq %edi, %rax
cmpl 0x170(%rsp), %edi
jge 0x9175
incl %edi
movl (%rsi,%rax,4), %ecx
movl %ecx, 0x4(%rsi,%rax,4)
movl $0xffffffff, 0x4(%rdx,%rax,4) # imm = 0xFFFFFFFF
movl $0xffffffff, %r15d      # imm = 0xFFFFFFFF
jmp 0x9179
movl (%rdx,%rax,4), %r15d
incl 0x48(%rsp)
movslq %r12d, %rcx
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %eax, -0x4(%rdx,%rcx,4)
movl %edi, 0xf8(%rsp)
movslq %edi, %rdi
movl %eax, 0x4(%rdx,%rdi,4)
movq %rcx, 0x138(%rsp)
cmpl %ecx, %edi
movq %rsi, (%rsp)
jge 0x91ae
xorl %ecx, %ecx
jmp 0x9588
movq %r12, 0xe0(%rsp)
movq 0x110(%rsp), %rax
leaq (%rax,%rdi), %r12
movl $0x1, 0x88(%rsp)
movl $0x3c, %ecx
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
movabsq $0xfffffffffffffff, %rax # imm = 0xFFFFFFFFFFFFFFF
movl $0xffffffff, %r14d      # imm = 0xFFFFFFFF
movl %r15d, %r8d
movq %rdi, %rbp
leaq -0x1(%rdi), %r15
movl -0x4(%rdx,%rdi,4), %edx
cmpl %edx, %r8d
movq %rdx, 0xc8(%rsp)
movq %r15, 0x120(%rsp)
movq %r8, 0x28(%rsp)
jge 0x9245
cmpl %r13d, %edx
movl 0x78(%rsp), %edi
movq 0x130(%rsp), %r10
jl 0x9256
leal 0x1(%rdx), %r9d
movq 0x38(%rsp), %rax
movl (%rax,%r15,4), %ecx
movq 0xa8(%rsp), %rax
movq (%rax,%r15,8), %rax
movq 0x58(%rsp), %rdx
movl (%rdx,%r15,4), %r14d
jmp 0x927f
cmpl %r13d, %r8d
movl 0x78(%rsp), %edi
movq 0x130(%rsp), %r10
jge 0x925e
incl %r13d
movq %r13, %r9
jmp 0x927f
leal 0x2(%r8), %r9d
movq 0x38(%rsp), %rax
movl (%rax,%rbp,4), %ecx
movq 0xa8(%rsp), %rax
movq (%rax,%rbp,8), %rax
movq 0x58(%rsp), %rdx
movl (%rdx,%rbp,4), %r14d
leaq (,%rax,8), %rdx
sarq $0x3f, %rdx
addl %ecx, %edx
movq %rdx, 0x50(%rsp)
addq %rax, %rax
subl %ebp, %r9d
sarl %r9d
movq %r9, 0x18(%rsp)
movslq %r9d, %rcx
movb (%r10,%rcx), %dl
movq %rax, %r13
cmpb $0x4, %dl
movl 0x100(%rsp), %r9d
je 0x9301
movb (%r12,%rcx), %al
cmpb %al, %dl
jne 0x9323
movb 0x1(%r10,%rcx), %dl
incq %rcx
movabsq $0xfffffffffffffff, %rax # imm = 0xFFFFFFFFFFFFFFF
incq %rax
andq %r13, %rax
cmpq $0x1, %rax
movq 0x50(%rsp), %rax
adcl $0x0, %eax
movq %rax, 0x50(%rsp)
leaq 0x1(,%r13,2), %r13
movq 0x18(%rsp), %rax
incl %eax
movq %rax, 0x18(%rsp)
cmpb $0x4, %dl
jne 0x92b7
movq 0xa0(%rsp), %rax
cmpl %ebp, %eax
cmovlel %ebp, %eax
movq %rax, 0xa0(%rsp)
movl $0x0, 0x88(%rsp)
jmp 0x9348
cmpb $0x4, %al
movl $0x0, %eax
movl 0x88(%rsp), %ecx
cmovel %eax, %ecx
movl %ecx, 0x88(%rsp)
movq 0x70(%rsp), %rax
cmovel %ebp, %eax
movq %rax, 0x70(%rsp)
movq %r12, 0x150(%rsp)
movq 0x18(%rsp), %rax
leal (%rax,%rbp), %edx
movl (%rsi,%rbp,4), %eax
cmpl %eax, %edx
jl 0x942d
movl %ebx, %r12d
movslq %r14d, %rcx
shlq $0x4, %rcx
cmpl %eax, 0xc(%r11,%rcx)
jge 0x9410
cmpl %edi, %r12d
jl 0x93e8
movq %rbp, %r15
movl %edx, %ebp
xorps %xmm0, %xmm0
cvtsi2sd %r12d, %xmm0
mulsd 0x10c7e(%rip), %xmm0    # 0x1a010
cvttsd2si %xmm0, %ebx
movslq %ebx, %rsi
shlq $0x4, %rsi
addq $0x27100, %rsi          # imm = 0x27100
movq %r11, %rdi
leaq 0x112e1(%rip), %rdx     # 0x1a68f
callq 0x124f5
testq %rax, %rax
je 0x98f6
movq %rax, %r11
addl $0x2710, %ebx           # imm = 0x2710
movq 0xb0(%rsp), %r8
movl %ebx, 0x10(%r8)
movq %rax, 0x18(%r8)
movl 0x100(%rsp), %r9d
movl %ebx, %edi
movq (%rsp), %rsi
movl %ebp, %edx
movq %r15, %rbp
movslq %r12d, %rax
shlq $0x4, %rax
movl %r14d, (%r11,%rax)
movl %ebp, 0x4(%r11,%rax)
movl 0x48(%rsp), %ecx
movl %ecx, 0x8(%r11,%rax)
movl (%rsi,%rbp,4), %ecx
movl %ecx, 0xc(%r11,%rax)
leal 0x1(%r12), %ebx
jmp 0x9416
movl %r12d, %ebx
movl %r14d, %r12d
movl %r12d, %r14d
movl (%rsi,%rbp,4), %eax
addl %r9d, %eax
movl %eax, (%rsi,%rbp,4)
movl %ebx, %r12d
cmpl %eax, %edx
jge 0x9366
movq 0x18(%rsp), %rax
leal (%rbp,%rax,2), %r12d
cmpl 0x40(%rsp), %r12d
movl %edi, 0x78(%rsp)
jle 0x94f2
movq 0x50(%rsp), %rax
cmpl 0x15c(%rsp), %eax
jge 0x946a
movl %r12d, %eax
movq %rax, 0x40(%rsp)
movq 0x18(%rsp), %rax
movl %eax, 0x24(%rsp)
jmp 0x94f2
movl %r13d, %eax
andl $0x7fff, %eax           # imm = 0x7FFF
movl %eax, %ecx
movq 0x118(%rsp), %rsi
cmpw $0x0, (%rsi,%rcx,2)
js 0x94dc
movl %r13d, %ecx
shrl $0xe, %ecx
andl $0xfffe, %ecx           # imm = 0xFFFE
movswl (%rsi,%rcx), %ecx
movq 0x180(%rsp), %rsi
movswl (%rsi,%rax,2), %eax
addl %ecx, %eax
js 0x94dc
movl %r12d, %eax
movq %rax, 0x40(%rsp)
movq 0x18(%rsp), %rcx
movl %ecx, 0x24(%rsp)
movl %r12d, 0x64(%rsp)
movl %ebx, %eax
movl %ecx, %ebx
movq %rbx, 0xc0(%rsp)
movl %eax, %ebx
movl 0x48(%rsp), %eax
movl %eax, 0x94(%rsp)
movl %r14d, 0xec(%rsp)
jmp 0x94ed
movl %r12d, %eax
movq %rax, 0x40(%rsp)
movq 0x18(%rsp), %rax
movl %eax, 0x24(%rsp)
movl %r12d, 0x68(%rsp)
movq 0xa8(%rsp), %rdi
movq (%rdi,%rbp,8), %rax
movq 0x38(%rsp), %r8
movl (%r8,%rbp,4), %ecx
movq 0x58(%rsp), %r10
movl (%r10,%rbp,4), %esi
movq 0x8(%rsp), %rdx
movl %r12d, (%rdx,%rbp,4)
movq %r13, (%rdi,%rbp,8)
movq 0x50(%rsp), %rdi
movl %edi, (%r8,%rbp,4)
movl %r14d, (%r10,%rbp,4)
movq 0x150(%rsp), %r12
decq %r12
movq 0x28(%rsp), %r13
movl %esi, %r14d
cmpq 0x138(%rsp), %rbp
movq (%rsp), %rsi
movq 0xc8(%rsp), %r15
movq 0x120(%rsp), %rdi
jg 0x91e8
cmpl $0x0, 0x88(%rsp)
sete %cl
movl 0x6c(%rsp), %ebp
movq 0x70(%rsp), %r14
movl 0x78(%rsp), %r10d
movq 0xe0(%rsp), %r12
movq 0xb0(%rsp), %r8
movl $0x1, %eax
testb %cl, %cl
je 0x96e6
movslq 0x24(%rsp), %rcx
xorl %eax, %eax
movq 0x130(%rsp), %rdi
cmpb $0x4, (%rdi,%rcx)
movl 0xd8(%rsp), %edi
je 0x95d3
movq 0x40(%rsp), %rax
subl 0x24(%rsp), %eax
movslq %eax, %rcx
xorl %eax, %eax
movq 0x110(%rsp), %rdx
cmpb $0x4, (%rdx,%rcx)
movq 0x8(%rsp), %rdx
setne %al
cmpl %r14d, 0xf8(%rsp)
jge 0x95e1
movl %edi, %ecx
jmp 0x9643
leal -0x1(%r14), %ecx
movl %ecx, 0xf8(%rsp)
movslq %r14d, %rdx
movq 0x38(%rsp), %rcx
movl (%rcx,%rdx,4), %ecx
cmpl %ecx, %edi
jle 0x9604
movl %edi, %ecx
movq 0x8(%rsp), %rdx
jmp 0x9643
movq 0x8(%rsp), %r15
movl (%r15,%rdx,4), %esi
movl %esi, 0x34(%rsp)
subl %r14d, %esi
movl %esi, %edi
shrl $0x1f, %edi
addl %esi, %edi
movq (%rsp), %rsi
sarl %edi
movq %rdi, 0x80(%rsp)
movq 0x58(%rsp), %rdi
movl (%rdi,%rdx,4), %edx
movl %edx, 0x14(%rsp)
movq %r15, %rdx
movl 0x48(%rsp), %edi
movl %edi, 0x12c(%rsp)
movl $0x7fffffff, %r14d      # imm = 0x7FFFFFFF
movq 0xa0(%rsp), %r15
cmpl %r15d, %r12d
jle 0x965f
movl %ecx, 0xd8(%rsp)
jmp 0x96d9
leal 0x1(%r15), %r12d
movslq %r15d, %rdx
movq 0x38(%rsp), %rdi
movl (%rdi,%rdx,4), %edi
cmpl %edi, %ecx
jle 0x9694
movl %ecx, 0xd8(%rsp)
movl $0x80000001, %ecx       # imm = 0x80000001
movq %rcx, 0xa0(%rsp)
movl 0xf8(%rsp), %edi
movq 0x8(%rsp), %rdx
jmp 0x96ed
movl %edi, 0xd8(%rsp)
movq 0x8(%rsp), %rdi
movl (%rdi,%rdx,4), %ecx
movl %ecx, 0x34(%rsp)
subl %r15d, %ecx
movl %ecx, %esi
shrl $0x1f, %esi
addl %ecx, %esi
sarl %esi
movq %rsi, 0x80(%rsp)
movq (%rsp), %rsi
movq 0x58(%rsp), %rcx
movl (%rcx,%rdx,4), %ecx
movq %rdi, %rdx
movl %ecx, 0x14(%rsp)
movl 0x48(%rsp), %ecx
movl %ecx, 0x12c(%rsp)
movl $0x80000001, %ecx       # imm = 0x80000001
movq %rcx, 0xa0(%rsp)
movl 0xf8(%rsp), %edi
cmpl %r12d, %edi
jl 0x974a
movq 0x40(%rsp), %rcx
addl $-0x1e, %ecx
movl %edi, %r15d
movslq %edi, %rsi
movslq %r12d, %rdx
leal -0x1(%r12), %edi
incq %rsi
movq 0x8(%rsp), %r13
cmpl %ecx, -0x4(%r13,%rsi,4)
jge 0x9724
decl %r15d
decq %rsi
cmpq %rdx, %rsi
jg 0x970b
jmp 0x9741
decl %r12d
movq 0x8(%rsp), %rsi
leaq (%rsi,%rdx,4), %rdx
incl %r12d
leaq 0x4(%rdx), %rsi
cmpl %ecx, (%rdx)
movq %rsi, %rdx
jl 0x9730
movl %r15d, %edi
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
testl %eax, %eax
je 0x977a
movq 0x40(%rsp), %rax
addl $0xffffff06, %eax       # imm = 0xFFFFFF06
cmpl %eax, 0x68(%rsp)
jge 0x8d60
jmp 0x977a
movl $0x0, 0x94(%rsp)
movl $0x0, 0x12c(%rsp)
cmpl $0x0, 0xd8(%rsp)
js 0x97a3
movq 0x80(%rsp), %rbx
movl 0x34(%rsp), %r15d
subl %ebx, %r15d
movl 0x14(%rsp), %r8d
movl 0x12c(%rsp), %r12d
jmp 0x97c3
movq 0xc0(%rsp), %rbx
movl 0x64(%rsp), %r15d
subl %ebx, %r15d
movl 0x94(%rsp), %r12d
movl 0xec(%rsp), %r8d
movq 0x178(%rsp), %rax
movq (%rax), %rax
testl %r8d, %r8d
js 0x97f6
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movl %r8d, %esi
movl %r8d, %ecx
movq %rcx, %rdi
shlq $0x4, %rdi
movl (%r11,%rdi), %r8d
movl %edx, (%r11,%rdi)
movl %esi, %edx
testl %r8d, %r8d
jns 0x97d8
jmp 0x97fd
movq $-0x1, %rcx
shlq $0x4, %rcx
movl (%r11,%rcx), %r8d
movl 0x4(%r11,%rcx), %edi
movl %ebp, %ecx
subl %edi, %ecx
movl %ecx, %edx
shrl $0x1f, %edx
addl %ecx, %edx
sarl %edx
xorl %ecx, %ecx
xorl %esi, %esi
testl %r8d, %r8d
js 0x9865
movl %edx, %r9d
movl %esi, %r10d
movl %r8d, %r8d
shlq $0x4, %r8
movl 0x4(%r11,%r8), %edi
movl 0x8(%r11,%r8), %esi
movl 0xc(%r11,%r8), %edx
subl %edi, %edx
movq %r11, %r14
movl %esi, %r11d
subl %r10d, %r11d
movw %r11w, (%rax,%rcx,2)
movq %r14, %r11
movl %edx, %r10d
subl %r9d, %r10d
movw %r10w, 0x2(%rax,%rcx,2)
addq $0x2, %rcx
movl (%r14,%r8), %r8d
jmp 0x981b
addl %edx, %edi
cmpl %r15d, %edi
jne 0x9885
movl %ebx, %edi
subl %edx, %edi
je 0x989c
movl %ecx, %edx
addw %di, -0x2(%rax,%rdx,2)
movl %r12d, %edi
subl %esi, %edi
addw %di, -0x4(%rax,%rdx,2)
jmp 0x989c
movl %r12d, %edi
subl %esi, %edi
movl %ecx, %esi
movw %di, (%rax,%rsi,2)
movl %ebx, %edi
subl %edx, %edi
addl $0x2, %ecx
movw %di, 0x2(%rax,%rsi,2)
movq 0x178(%rsp), %rsi
movl %r15d, 0x18(%rsi)
movl %ebx, 0x1c(%rsi)
movl %r12d, 0xc(%rsi)
movl %ecx, 0x8(%rsi)
movl $0x14, %eax
movl $0x10, %ecx
addl 0x98(%rsp), %ebp
movl %ebp, %edx
shrl $0x1f, %edx
addl %ebp, %edx
sarl %edx
movl %edx, (%rsi,%rcx)
movl 0x16c(%rsp), %edx
movl %edx, %ecx
shrl $0x1f, %ecx
addl %edx, %ecx
sarl %ecx
movl %ecx, (%rsi,%rax)
xorl %eax, %eax
addq $0x188, %rsp            # imm = 0x188
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x1, %edi
callq 0x1280