// File: /workspace/github_c_makefile_star2_O2/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 $0x178, %rsp            # imm = 0x178
movl %r9d, %ebp
movl %r8d, 0xc(%rsp)
movq %rcx, 0x110(%rsp)
movq %rdx, %rbx
movq %rsi, %r9
movq %rdi, %r13
movl 0x20(%rdi), %r15d
movl 0x24(%rdi), %r12d
cmpl $0x3a980, (%rsi)        # imm = 0x3A980
movq %rsi, 0xc8(%rsp)
jg 0x60a9
movq %r9, %rdi
movl $0x3a980, %esi          # imm = 0x3A980
callq 0x3017
movq 0xc8(%rsp), %r9
movl 0x1b8(%rsp), %r14d
cmpl %r12d, %r15d
cmovgl %r15d, %r12d
movl %r12d, %eax
cltd
idivl 0x8(%rbx)
movl 0x1b0(%rsp), %r15d
leal 0x4(,%rax,2), %r12d
addl %eax, %eax
leal 0x10(,%rax,4), %esi
cmpl 0x20(%r9), %esi
jle 0x60ee
movq %r9, %rdi
callq 0x3060
movq 0xc8(%rsp), %r9
movq (%r13), %rcx
movslq %r12d, %rax
addq %rax, %rax
addq 0x28(%r9), %rax
movq %rcx, 0x170(%rsp)
movq %rax, (%rcx)
movq 0x110(%rsp), %rsi
movl %esi, %eax
subl %ebp, %eax
testl %ebp, %ebp
movl $0x80000001, %edx       # imm = 0x80000001
movl $0x80000001, %ecx       # imm = 0x80000001
movq %rcx, 0x80(%rsp)
cmovsl %edx, %eax
movl %eax, 0x16c(%rsp)
leal (%r15,%rsi), %eax
testl %r15d, %r15d
movl $0x7fffffff, %ecx       # imm = 0x7FFFFFFF
cmovsl %ecx, %eax
movl %eax, 0x168(%rsp)
movq 0x10(%r13), %r8
pushq $0x2
popq %rcx
pushq $0x18
popq %rdi
testl %r14d, %r14d
je 0x65c3
movl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movq %rax, 0xb0(%rsp)
movq 0x18(%r13), %r10
movl 0x8(%rbx), %r11d
movl 0x20(%rbx), %eax
movl %eax, 0xa4(%rsp)
movq 0x28(%rbx), %rax
movq %rax, 0xd0(%rsp)
movq 0x30(%rbx), %rax
movq %rax, 0xf8(%rsp)
movl (%r9), %eax
cltd
idivl %edi
movl %eax, %edi
leal -0x1(%rdi), %eax
cltd
idivl %ecx
movl %esi, %ecx
subl %eax, %ecx
movq 0x8(%r9), %rbx
movq %rdi, 0x158(%rsp)
movslq %edi, %r14
leaq (%rbx,%r14,4), %rdi
movl %ecx, 0xf0(%rsp)
movslq %ecx, %rcx
leaq (,%rcx,4), %rdx
movq %rbx, 0x108(%rsp)
movq %rbx, %r12
subq %rdx, %r12
movq %rdi, %rbx
subq %rdx, %rbx
movq %rbx, 0x60(%rsp)
movq %rdi, 0x140(%rsp)
leaq (%rdi,%r14,4), %rdi
movq %rdi, %rbx
subq %rdx, %rbx
movq %rbx, 0x58(%rsp)
movq %rdi, 0x138(%rsp)
leaq (%rdi,%r14,4), %rdi
movq %rdi, %r15
subq %rdx, %r15
movq %rdi, 0x130(%rsp)
leaq (%rdi,%r14,4), %rdx
shlq $0x3, %rcx
movq %rdx, 0x128(%rsp)
subq %rcx, %rdx
movq %rdx, 0xa8(%rsp)
addl %esi, %eax
movl %eax, 0x74(%rsp)
movl 0xc(%rsp), %eax
movl %eax, %ecx
subl %esi, %ecx
movl %ecx, 0x164(%rsp)
sarl %ecx
movslq %esi, %rbx
leaq -0x1(%r8), %rdx
movq %rdx, 0x120(%rsp)
leaq (%r8,%rbx), %rdx
decq %rdx
movq %rdx, 0x50(%rsp)
pushq $0x1
popq %rdx
movl %edx, 0x20(%rsp)
movq 0x18(%r9), %rdi
movl 0x10(%r9), %edx
leal -0x1(%r11), %r8d
movq %r8, 0x78(%rsp)
leaq 0x1(%rbx), %r8
movq %r8, 0x118(%rsp)
xorl %r14d, %r14d
movl %eax, %r8d
movq %r8, 0x10(%rsp)
movq %rbx, %r8
movl %ecx, 0xe8(%rsp)
movl %eax, 0xa0(%rsp)
movl %ecx, (%rsp)
movl %ecx, 0x9c(%rsp)
movl $0x0, 0x98(%rsp)
movl %eax, 0x148(%rsp)
movq %rsi, %rbx
movq %r10, %rsi
movq %rdx, %r10
movabsq $0xfffffffffffffff, %r13 # imm = 0xFFFFFFFFFFFFFFF
movq %r11, 0xb8(%rsp)
movq %rsi, 0x68(%rsp)
movq %r15, 0x28(%rsp)
cmpq 0x118(%rsp), %r8
je 0x6579
leal -0x1(%r10), %eax
cmpl %eax, %r14d
jl 0x6355
movq %r8, %r15
cvtsi2sd %r14d, %xmm0
mulsd 0x11d09(%rip), %xmm0    # 0x18010
cvttsd2si %xmm0, %ebx
movslq %ebx, %rsi
shlq $0x4, %rsi
addq $0x27100, %rsi          # imm = 0x27100
leaq 0x1236f(%rip), %rdx     # 0x1868f
callq 0x10de9
testq %rax, %rax
je 0x8395
movq %rax, %rdi
addl $0x2710, %ebx           # imm = 0x2710
movq 0xc8(%rsp), %r9
movl %ebx, 0x10(%r9)
movq %rax, 0x18(%r9)
movq 0xb8(%rsp), %r11
movq %rbx, %r10
movq %r15, %r8
movl 0xc(%rsp), %eax
movl %eax, %ecx
subl %r8d, %ecx
sarl %ecx
leal (%rcx,%r8), %esi
movq 0x78(%rsp), %rax
addl %esi, %eax
cltd
idivl %r11d
movl %eax, %ebx
decl %ebx
movslq %r14d, %rbp
movq %rbp, %r13
shlq $0x4, %r13
orl $-0x1, (%rdi,%r13)
movl %r8d, 0x4(%rdi,%r13)
andl $0x0, 0x8(%rdi,%r13)
imull %r11d, %ebx
movl %esi, 0xc(%rdi,%r13)
movslq %ecx, %r15
leal (%r15,%r15), %edx
movq 0x68(%rsp), %rsi
movb -0x1(%rsi,%r15), %al
cmpb $0x4, %al
je 0x63c0
movq 0x50(%rsp), %rcx
movb (%rcx,%r15), %cl
cmpb %cl, %al
jne 0x63e1
decq %r15
addl $-0x2, %edx
jmp 0x63a2
movq 0xb0(%rsp), %rax
cmpl %r8d, %eax
cmovgel %r8d, %eax
movq %rax, 0xb0(%rsp)
movl $0x0, 0x20(%rsp)
jmp 0x6408
cmpb $0x4, %cl
movl 0x20(%rsp), %eax
movl $0x0, %ecx
cmovel %ecx, %eax
movl %eax, 0x20(%rsp)
movq 0x80(%rsp), %rax
cmovel %r8d, %eax
movq %rax, 0x80(%rsp)
addl %r8d, %edx
leal (%r8,%r15), %ecx
addq $0x1c, %r13
incq %rbp
movq %r15, 0x38(%rsp)
movl %ecx, 0x48(%rsp)
cmpl %ebx, %ecx
jg 0x64f2
movslq %r10d, %rax
cmpq %rax, %rbp
jl 0x64cc
movq %rbp, 0x90(%rsp)
movl %ebx, 0x40(%rsp)
movl %edx, %ebx
movq %r8, %rbp
movq %r12, %r15
movq %r14, %r12
leal 0x1(%r14), %eax
cvtsi2sd %eax, %xmm0
mulsd 0x11bb6(%rip), %xmm0    # 0x18010
cvttsd2si %xmm0, %r14d
movslq %r14d, %rsi
shlq $0x4, %rsi
addq $0x27100, %rsi          # imm = 0x27100
leaq 0x1221b(%rip), %rdx     # 0x1868f
callq 0x10de9
testq %rax, %rax
je 0x8395
movq %rax, %rdi
addl $0x2710, %r14d          # imm = 0x2710
movq 0xc8(%rsp), %r9
movl %r14d, 0x10(%r9)
movq %rax, 0x18(%r9)
movq 0xb8(%rsp), %r11
movq 0x68(%rsp), %rsi
movq %r14, %r10
movq %r12, %r14
movq %r15, %r12
movq %rbp, %r8
movl %ebx, %edx
movl 0x40(%rsp), %ebx
movq 0x38(%rsp), %r15
movq 0x90(%rsp), %rbp
movl 0x48(%rsp), %ecx
movl %r14d, -0xc(%rdi,%r13)
movl %r8d, -0x8(%rdi,%r13)
andl $0x0, -0x4(%rdi,%r13)
movl %ebx, (%rdi,%r13)
subl %r11d, %ebx
incl %r14d
addq $0x10, %r13
incq %rbp
jmp 0x641f
cmpl 0x10(%rsp), %edx
jge 0x6525
movl %edx, %eax
movq %rax, 0x10(%rsp)
movl %r15d, 0xe8(%rsp)
movl %edx, 0xa0(%rsp)
movl %r15d, 0x9c(%rsp)
movl %r14d, 0x98(%rsp)
movl %edx, 0x148(%rsp)
movl %edx, (%r12,%r8,4)
movabsq $0xfffffffffffffff, %rbp # imm = 0xFFFFFFFFFFFFFFF
movq 0xa8(%rsp), %rax
movq %rbp, %r13
movq %rbp, (%rax,%r8,8)
movq 0x60(%rsp), %rax
movl $0x3c, (%rax,%r8,4)
movq 0x58(%rsp), %rax
movl %r14d, (%rax,%r8,4)
incl %r14d
movq 0x28(%rsp), %r15
movl %ebx, (%r15,%r8,4)
incq 0x50(%rsp)
incq %r8
movq 0x110(%rsp), %rbx
jmp 0x62e0
pushq $0x1
popq %rcx
cmpl $0x0, 0x20(%rsp)
movq 0xb0(%rsp), %rbp
je 0x6a03
movl 0xc(%rsp), %eax
movl %eax, 0x34(%rsp)
movl $0x0, 0x8(%rsp)
pushq $-0x1
popq %rax
movl %eax, 0x4(%rsp)
movl %ebp, %eax
movq %rax, 0xd8(%rsp)
movl %ebx, %eax
movl %ebx, 0xc0(%rsp)
movq %rax, 0x18(%rsp)
jmp 0x6bdf
movq 0x18(%r13), %r12
movl 0x8(%rbx), %eax
movl %eax, 0x68(%rsp)
movl 0x20(%rbx), %eax
movl %eax, 0xd8(%rsp)
movq 0x28(%rbx), %rax
movq %rax, 0xc0(%rsp)
movq 0x30(%rbx), %rax
movq %rax, 0x148(%rsp)
movl (%r9), %eax
cltd
idivl %edi
movl %eax, %edi
leal -0x1(%rdi), %eax
cltd
idivl %ecx
movl %esi, %ecx
subl %eax, %ecx
movq 0x8(%r9), %r10
movq %rdi, 0x158(%rsp)
movslq %edi, %r11
leaq (%r10,%r11,4), %rdi
movl %ecx, 0xf0(%rsp)
movslq %ecx, %rcx
leaq (,%rcx,4), %rdx
movq %r10, 0x108(%rsp)
movq %r10, %r13
subq %rdx, %r13
movq %rdi, %r10
subq %rdx, %r10
movq %r10, 0x88(%rsp)
movq %rdi, 0x140(%rsp)
leaq (%rdi,%r11,4), %rdi
movq %rdi, %r10
subq %rdx, %r10
movq %r10, 0x10(%rsp)
movq %rdi, 0x138(%rsp)
leaq (%rdi,%r11,4), %rdi
movq %rdi, %r15
subq %rdx, %r15
movq %rdi, 0x130(%rsp)
leaq (%rdi,%r11,4), %rdx
shlq $0x3, %rcx
movq %rdx, 0x128(%rsp)
subq %rcx, %rdx
movq %rdx, 0x60(%rsp)
addl %esi, %eax
movl %eax, 0x74(%rsp)
movl 0xc(%rsp), %eax
movl %eax, %ecx
subl %esi, %ecx
movl %ecx, 0x164(%rsp)
sarl %ecx
movq 0x18(%r9), %rdi
movl 0x10(%r9), %r11d
movslq %esi, %r10
movq %r8, 0x120(%rsp)
leaq (%r8,%r10), %rdx
movq %rdx, 0x50(%rsp)
movl $0x80000001, %edx       # imm = 0x80000001
movq %rdx, 0x20(%rsp)
movl $0x7fffffff, %edx       # imm = 0x7FFFFFFF
movq %rdx, 0xe0(%rsp)
pushq $0x1
popq %rdx
movl %edx, 0x28(%rsp)
movq %r10, 0xb0(%rsp)
xorl %r14d, %r14d
movl %eax, %edx
movq %rdx, 0x78(%rsp)
movl %ecx, 0xa8(%rsp)
movl %eax, 0xa0(%rsp)
movl %ecx, 0x4(%rsp)
movl %ecx, 0x9c(%rsp)
movl $0x0, 0x98(%rsp)
movl %eax, 0xa4(%rsp)
movq %rsi, %rbx
movq %r12, 0x100(%rsp)
movq %r15, 0x48(%rsp)
movq %r13, 0xb8(%rsp)
cmpq 0xb0(%rsp), %r10
jl 0x69bc
leal -0x1(%r11), %eax
cmpl %eax, %r14d
jge 0x674f
movl 0x68(%rsp), %esi
jmp 0x67a9
movq %r10, %r15
cvtsi2sd %r14d, %xmm0
mulsd 0x118b1(%rip), %xmm0    # 0x18010
cvttsd2si %xmm0, %ebx
movslq %ebx, %rsi
shlq $0x4, %rsi
addq $0x27100, %rsi          # imm = 0x27100
leaq 0x11f17(%rip), %rdx     # 0x1868f
callq 0x10de9
testq %rax, %rax
je 0x8395
movq %rax, %rdi
addl $0x2710, %ebx           # imm = 0x2710
movq 0xc8(%rsp), %r9
movl %ebx, 0x10(%r9)
movq %rax, 0x18(%r9)
movl 0x68(%rsp), %esi
movq %rbx, %r11
movq %r15, %r10
movl 0xc(%rsp), %eax
movl %eax, %ecx
subl %r10d, %ecx
sarl %ecx
leal (%rcx,%r10), %ebx
movl %ebx, %eax
cltd
idivl %esi
movl %ebx, %eax
movslq %r14d, %rbp
movq %rbp, %r13
shlq $0x4, %r13
orl $-0x1, (%rdi,%r13)
movl %r10d, 0x4(%rdi,%r13)
andl $0x0, 0x8(%rdi,%r13)
subl %edx, %eax
movl %eax, 0xc(%rdi,%r13)
movslq %ecx, %r15
leal (%r15,%r15), %r8d
movb (%r12,%r15), %al
cmpb $0x4, %al
je 0x6805
movq 0x50(%rsp), %rcx
movb (%rcx,%r15), %cl
cmpb %cl, %al
jne 0x6820
incq %r15
addl $0x2, %r8d
jmp 0x67e7
movq 0x20(%rsp), %rax
cmpl %r10d, %eax
cmovlel %r10d, %eax
movq %rax, 0x20(%rsp)
movl $0x0, 0x28(%rsp)
jmp 0x6847
cmpb $0x4, %cl
movl 0x28(%rsp), %eax
movl $0x0, %ecx
cmovel %ecx, %eax
movl %eax, 0x28(%rsp)
movq 0xe0(%rsp), %rax
cmovel %r10d, %eax
movq %rax, 0xe0(%rsp)
addl %r10d, %r8d
leal (%r10,%r15), %ecx
addq $0x1c, %r13
incq %rbp
addl %esi, %ebx
subl %edx, %ebx
movl %ecx, 0x38(%rsp)
cmpl %ebx, %ecx
jl 0x6923
movslq %r11d, %rax
cmpq %rax, %rbp
jl 0x68fe
movq %rbp, 0x90(%rsp)
movl %ebx, 0x40(%rsp)
movq %r15, %rbx
movl %r8d, %ebp
movq %r10, %r15
movq %r14, %r12
leal 0x1(%r14), %eax
cvtsi2sd %eax, %xmm0
mulsd 0x11777(%rip), %xmm0    # 0x18010
cvttsd2si %xmm0, %r14d
movslq %r14d, %rsi
shlq $0x4, %rsi
addq $0x27100, %rsi          # imm = 0x27100
leaq 0x11ddc(%rip), %rdx     # 0x1868f
callq 0x10de9
testq %rax, %rax
je 0x8395
movq %rax, %rdi
addl $0x2710, %r14d          # imm = 0x2710
movq 0xc8(%rsp), %r9
movl %r14d, 0x10(%r9)
movq %rax, 0x18(%r9)
movl 0x68(%rsp), %esi
movq %r14, %r11
movq %r12, %r14
movq %r15, %r10
movl %ebp, %r8d
movq %rbx, %r15
movl 0x40(%rsp), %ebx
movq 0x90(%rsp), %rbp
movl 0x38(%rsp), %ecx
movl %r14d, -0xc(%rdi,%r13)
movl %r10d, -0x8(%rdi,%r13)
andl $0x0, -0x4(%rdi,%r13)
movl %ebx, (%rdi,%r13)
incl %r14d
addq $0x10, %r13
incq %rbp
addl %esi, %ebx
jmp 0x685d
cmpl 0x78(%rsp), %r8d
jle 0x695a
movl %r8d, %eax
movq %rax, 0x78(%rsp)
movl %r15d, 0xa8(%rsp)
movl %r8d, 0xa0(%rsp)
movl %r15d, 0x9c(%rsp)
movl %r14d, 0x98(%rsp)
movl %r8d, 0xa4(%rsp)
movq 0xb8(%rsp), %r13
movl %r8d, (%r13,%r10,4)
movabsq $0xfffffffffffffff, %rax # imm = 0xFFFFFFFFFFFFFFF
movq 0x60(%rsp), %rcx
movq %rax, (%rcx,%r10,8)
movq 0x88(%rsp), %rax
movl $0x3c, (%rax,%r10,4)
movq 0x10(%rsp), %rax
movl %r14d, (%rax,%r10,4)
incl %r14d
movq 0x48(%rsp), %r15
movl %ebx, (%r15,%r10,4)
decq 0x50(%rsp)
decq %r10
movq 0x110(%rsp), %rbx
movq 0x100(%rsp), %r12
jmp 0x6732
pushq $-0x1
popq %rdx
pushq $0x1
popq %rbp
cmpl $0x0, 0x28(%rsp)
movl 0x68(%rsp), %esi
je 0x6a63
movl 0xc(%rsp), %eax
movl %eax, 0x8(%rsp)
movl $0x0, (%rsp)
movl %ebp, %ecx
movl %edx, %r8d
movq 0x20(%rsp), %rax
movq %rax, 0x80(%rsp)
movl %ebx, %edx
movl %ebx, %eax
movq %rax, 0x18(%rsp)
movl %r8d, %eax
jmp 0x7802
movslq 0xe8(%rsp), %rax
movl $0x0, 0x8(%rsp)
cmpb $0x4, -0x1(%rsi,%rax)
movl $0x0, %ecx
je 0x6a3e
movq 0x10(%rsp), %rax
subl 0xe8(%rsp), %eax
cltq
xorl %ecx, %ecx
movq 0x120(%rsp), %rdx
cmpb $0x4, (%rdx,%rax)
setne %cl
pushq $-0x1
popq %rax
movq 0x80(%rsp), %rdx
cmpl %ebx, %edx
jge 0x6ac2
movl 0xc(%rsp), %edx
movl %edx, 0x34(%rsp)
movl %eax, %esi
movl %ebx, 0xc0(%rsp)
jmp 0x6b69
movslq 0xa8(%rsp), %rax
movl $0x0, (%rsp)
cmpb $0x4, (%r12,%rax)
movl $0x0, %ecx
je 0x6a9d
movq 0x78(%rsp), %rax
subl 0xa8(%rsp), %eax
cltq
xorl %ecx, %ecx
movq 0x120(%rsp), %rdx
cmpb $0x4, (%rdx,%rax)
setne %cl
pushq $-0x1
popq %rax
movq 0xe0(%rsp), %rdx
cmpl %ebx, %edx
jle 0x6b08
movl 0xc(%rsp), %edx
movl %edx, 0x8(%rsp)
movl %eax, %esi
movl %ebx, %eax
movq %rax, 0x18(%rsp)
jmp 0x777f
movq %r14, %r15
movq %r10, %r14
movq %rdi, %r10
leal 0x1(%rdx), %esi
movl %esi, 0xc0(%rsp)
movslq %edx, %rdi
movq 0x60(%rsp), %rsi
movl (%rsi,%rdi,4), %esi
cmpl $-0x1, %esi
jl 0x6b51
movl (%r12,%rdi,4), %eax
movl %eax, 0x34(%rsp)
subl %edx, %eax
cltd
pushq $0x2
popq %r8
idivl %r8d
movl %eax, (%rsp)
movq 0x58(%rsp), %rax
movl (%rax,%rdi,4), %eax
movl %eax, 0x8(%rsp)
jmp 0x6b5b
movq %rdi, %r10
leal -0x1(%rdx), %esi
movq %rsi, 0x18(%rsp)
movslq %edx, %rdi
movq 0x88(%rsp), %rsi
movl (%rsi,%rdi,4), %esi
cmpl $-0x1, %esi
jl 0x7772
movl (%r13,%rdi,4), %eax
movl %eax, 0x8(%rsp)
subl %edx, %eax
cltd
pushq $0x2
popq %r8
idivl %r8d
movl %eax, 0x4(%rsp)
movq 0x10(%rsp), %rax
movl (%rax,%rdi,4), %eax
movl %eax, (%rsp)
jmp 0x777c
movl 0xc(%rsp), %edx
movl %edx, 0x34(%rsp)
movl %eax, %esi
movq %r10, %rdi
movq %r14, %r10
movq %r15, %r14
movq 0x28(%rsp), %r15
movl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movq %rax, 0xd8(%rsp)
movl $0x80000001, %eax       # imm = 0x80000001
movq %rax, 0x80(%rsp)
cmpl %ebx, %ebp
jle 0x6b94
movl %esi, 0x4(%rsp)
movl %ebx, %eax
movq %rax, 0x18(%rsp)
jmp 0x6bda
movq %rdi, %r8
leal -0x1(%rbp), %eax
movq %rax, 0x18(%rsp)
movslq %ebp, %rdi
movq 0x60(%rsp), %rax
movl (%rax,%rdi,4), %eax
cmpl %eax, %esi
jle 0x6bb4
movl %esi, 0x4(%rsp)
jmp 0x6bd7
movl %eax, 0x4(%rsp)
movl (%r12,%rdi,4), %eax
movl %eax, 0x34(%rsp)
subl %ebp, %eax
cltd
pushq $0x2
popq %rsi
idivl %esi
movl %eax, (%rsp)
movq 0x58(%rsp), %rax
movl (%rax,%rdi,4), %eax
movl %eax, 0x8(%rsp)
movq %r8, %rdi
movq 0x68(%rsp), %rsi
movl $0x0, 0xf4(%rsp)
movl $0x0, 0x154(%rsp)
movl $0x0, 0x50(%rsp)
testl %ecx, %ecx
je 0x75b4
movq 0x10(%rsp), %rax
addl $0xfa, %eax
cmpl %eax, 0x148(%rsp)
jg 0x75b4
movl 0xc0(%rsp), %ecx
movslq %ecx, %rbx
cmpl 0xf0(%rsp), %ecx
jle 0x6c3e
movq 0x18(%rsp), %rax
cmpl 0x74(%rsp), %eax
jl 0x6f83
movq %r15, 0x28(%rsp)
movq 0x18(%rsp), %rax
movl %eax, %ebp
subl %ecx, %ebp
incl %ebp
movq 0x158(%rsp), %rax
cvtsi2sd %eax, %xmm0
mulsd 0x117c6(%rip), %xmm0    # 0x18428
cvtsi2sd %ebp, %xmm1
ucomisd %xmm0, %xmm1
movq %rdi, 0x40(%rsp)
movq %r10, 0xb0(%rsp)
movq %r14, 0x38(%rsp)
jbe 0x6cdf
imull $0x18, %eax, %esi
movq %r9, %rdi
movq %r9, %r14
callq 0x3017
movq 0x8(%r14), %rcx
movq %rcx, %r15
subq 0x108(%rsp), %r15
movl (%r14), %eax
cltd
pushq $0x18
popq %rsi
idivl %esi
movslq %eax, %rdx
leaq (%rcx,%rdx,4), %rsi
movq %rsi, 0x140(%rsp)
leaq (%rsi,%rdx,4), %rsi
movq %rsi, 0x138(%rsp)
leaq (%rsi,%rdx,4), %rsi
movq %rsi, 0x130(%rsp)
leaq (%rsi,%rdx,4), %rdx
movq %rdx, 0x128(%rsp)
movq %rcx, %rsi
pushq $0x2
popq %rcx
jmp 0x6ced
xorl %r15d, %r15d
pushq $0x2
popq %rcx
movq 0x108(%rsp), %rsi
movq %rax, 0x158(%rsp)
subl %ebp, %eax
cltd
idivl %ecx
movl %eax, 0x74(%rsp)
movslq %eax, %r13
movq %rsi, 0x108(%rsp)
leaq (%rsi,%r13,4), %r14
leaq (%r12,%rbx,4), %rax
addq %r15, %rax
movq %r14, %rcx
movq %rax, 0x90(%rsp)
subq %rax, %rcx
movq %rcx, 0x48(%rsp)
movslq %ebp, %r12
jns 0x6d44
leaq (,%r12,4), %rdx
movq %r14, %rdi
movq 0x90(%rsp), %rsi
callq 0x1230
movq 0x140(%rsp), %rax
leaq (%rax,%r13,4), %rbp
movq 0x60(%rsp), %rax
leaq (%rax,%rbx,4), %rax
addq %r15, %rax
movq %rbp, %rcx
movq %rax, 0x20(%rsp)
subq %rax, %rcx
movq %rcx, 0x118(%rsp)
jns 0x6d86
leaq (,%r12,4), %rdx
movq %rbp, %rdi
movq 0x20(%rsp), %rsi
callq 0x1230
movq %rbp, 0x60(%rsp)
movq %r14, 0x88(%rsp)
movq 0x138(%rsp), %rax
leaq (%rax,%r13,4), %r14
movq 0x58(%rsp), %rax
leaq (%rax,%rbx,4), %rax
addq %r15, %rax
movq %r14, %rbp
movq %rax, 0x78(%rsp)
subq %rax, %rbp
jns 0x6dcd
leaq (,%r12,4), %rdx
movq %r14, %rdi
movq 0x78(%rsp), %rsi
callq 0x1230
movq %r14, 0x58(%rsp)
movq 0x130(%rsp), %rax
leaq (%rax,%r13,4), %rcx
movq 0x28(%rsp), %rax
leaq (%rax,%rbx,4), %r8
addq %r15, %r8
movq %rcx, %r14
subq %r8, %r14
jns 0x6e1f
leaq (,%r12,4), %rdx
movq %rcx, %rdi
movq %r8, %rsi
movq %rcx, 0x28(%rsp)
movq %r8, 0x100(%rsp)
callq 0x1230
movq 0x100(%rsp), %r8
movq 0x28(%rsp), %rcx
movq 0x128(%rsp), %rax
leaq (%rax,%r13,8), %rdi
movq 0xa8(%rsp), %rax
leaq (%rax,%rbx,8), %rsi
addq %r15, %rsi
movq %rdi, %rax
subq %rsi, %rax
movq %r12, %r15
js 0x6e47
je 0x6e60
leaq (,%r15,8), %rdx
movq %rcx, %r12
movq %r8, %r13
callq 0x1230
movq %r13, %r8
movq %r12, %rcx
testq %r14, %r14
jle 0x6e78
leaq (,%r15,4), %rdx
movq %rcx, %rdi
movq %r8, %rsi
callq 0x1230
testq %rbp, %rbp
movq 0x38(%rsp), %r14
jle 0x6e99
leaq (,%r15,4), %rdx
movq 0x58(%rsp), %rdi
movq 0x78(%rsp), %rsi
callq 0x1230
cmpq $0x0, 0x118(%rsp)
movabsq $0xfffffffffffffff, %r13 # imm = 0xFFFFFFFFFFFFFFF
jle 0x6ec5
leaq (,%r15,4), %rdx
movq 0x60(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x1230
cmpq $0x0, 0x48(%rsp)
jle 0x6ee9
shlq $0x2, %r15
movq 0x88(%rsp), %rdi
movq 0x90(%rsp), %rsi
movq %r15, %rdx
callq 0x1230
movl 0xc0(%rsp), %esi
movl %esi, %ecx
movl 0x74(%rsp), %eax
subl %eax, %ecx
addl 0x18(%rsp), %eax
movl %eax, 0x74(%rsp)
movl %ecx, 0xf0(%rsp)
movslq %ecx, %rax
leaq (,%rax,4), %rcx
movq 0x108(%rsp), %r12
subq %rcx, %r12
movq 0x140(%rsp), %rdx
subq %rcx, %rdx
movq %rdx, 0x60(%rsp)
movq 0x138(%rsp), %rdx
subq %rcx, %rdx
movq %rdx, 0x58(%rsp)
movq 0x130(%rsp), %r15
subq %rcx, %r15
shlq $0x3, %rax
movq 0x128(%rsp), %rcx
subq %rax, %rcx
movq %rcx, 0xa8(%rsp)
movl %esi, %ecx
movq 0xc8(%rsp), %r9
movq 0x40(%rsp), %rdi
movq 0xb8(%rsp), %r11
movq 0x68(%rsp), %rsi
movq 0xb0(%rsp), %r10
cmpl 0x16c(%rsp), %ecx
jle 0x6fa8
decl %ecx
movl (%r15,%rbx,4), %eax
movl %eax, -0x4(%r15,%rbx,4)
movl $0x7fffffff, -0x4(%r12,%rbx,4) # imm = 0x7FFFFFFF
movl $0x7fffffff, %r8d       # imm = 0x7FFFFFFF
jmp 0x6fac
movl (%r12,%rbx,4), %r8d
movl %ecx, 0xc0(%rsp)
movq 0x18(%rsp), %rdx
cmpl 0x168(%rsp), %edx
jge 0x6fe6
movslq %edx, %rax
incl %edx
leaq 0x1(%rax), %rcx
movq %rcx, 0xe0(%rsp)
movl (%r15,%rax,4), %ecx
movl %ecx, 0x4(%r15,%rax,4)
movl $0x7fffffff, 0x4(%r12,%rax,4) # imm = 0x7FFFFFFF
jmp 0x6ff1
movslq %edx, %rax
movq %rax, 0xe0(%rsp)
pushq $0x1
popq %rcx
incl 0x50(%rsp)
movslq 0xc0(%rsp), %rbx
movl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movl %eax, -0x4(%r12,%rbx,4)
movq %rdx, 0x18(%rsp)
movslq %edx, %rax
movl $0x7fffffff, %edx       # imm = 0x7FFFFFFF
movq %r12, 0x20(%rsp)
movl %edx, 0x4(%r12,%rax,4)
movq 0x120(%rsp), %rax
addq %rbx, %rax
movq %rax, 0x90(%rsp)
movl %ecx, 0x100(%rsp)
pushq $0x3c
popq %rcx
movl %ecx, 0x48(%rsp)
pushq $-0x1
popq %r12
movq %r13, %rax
cmpq 0xe0(%rsp), %rbx
jg 0x73e4
movl %edx, %ecx
leaq 0x1(%rbx), %rbp
movq 0x20(%rsp), %rdx
movq %rbx, 0x38(%rsp)
movl 0x4(%rdx,%rbx,4), %r9d
cmpl %r9d, %r8d
movq %r13, %rbx
movq %r8, 0x88(%rsp)
jle 0x70aa
cmpl %ecx, %r9d
movl 0x48(%rsp), %r13d
jg 0x70b4
leal -0x1(%r9), %ecx
movq 0x60(%rsp), %rax
movl (%rax,%rbp,4), %r13d
movq 0xa8(%rsp), %rax
movq (%rax,%rbp,8), %rax
movq 0x58(%rsp), %rdx
movl (%rdx,%rbp,4), %r12d
jmp 0x70e1
cmpl %ecx, %r8d
movl 0x48(%rsp), %r13d
jle 0x70ba
movl %ecx, %edx
decl %edx
jmp 0x70e3
leal -0x2(%r8), %ecx
movq 0x60(%rsp), %rax
movq 0x38(%rsp), %r8
movl (%rax,%r8,4), %r13d
movq 0xa8(%rsp), %rax
movq (%rax,%r8,8), %rax
movq 0x58(%rsp), %rdx
movl (%rdx,%r8,4), %r12d
movl %ecx, %edx
leaq (,%rax,8), %r8
sarq $0x3f, %r8
addl %r13d, %r8d
addq %rax, %rax
subl 0x38(%rsp), %edx
movl %edx, %ecx
sarl %ecx
movslq %ecx, %r13
andl $-0x2, %edx
movq %rax, 0x40(%rsp)
movq %r9, 0x118(%rsp)
movq %rbp, 0x78(%rsp)
movb -0x1(%rsi,%r13), %al
cmpb $0x4, %al
je 0x7157
movq 0x90(%rsp), %rcx
movb (%rcx,%r13), %cl
cmpb %cl, %al
jne 0x7183
decq %r13
leaq 0x1(%rbx), %rax
movq 0x40(%rsp), %rcx
andq %rcx, %rax
cmpq $0x1, %rax
adcl $0x0, %r8d
leaq 0x1(,%rcx,2), %rcx
movq %rcx, 0x40(%rsp)
addl $-0x2, %edx
jmp 0x7115
movq %r8, 0x28(%rsp)
movq 0xd8(%rsp), %rax
movq 0x38(%rsp), %rbx
cmpl %ebx, %eax
cmovgel %ebx, %eax
movq %rax, 0xd8(%rsp)
movl $0x0, 0x100(%rsp)
jmp 0x71b9
movq %r8, 0x28(%rsp)
cmpb $0x4, %cl
movl $0x0, %eax
movl 0x100(%rsp), %ecx
cmovel %eax, %ecx
movl %ecx, 0x100(%rsp)
movq 0x80(%rsp), %rax
movq 0x38(%rsp), %rbx
cmovel %ebx, %eax
movq %rax, 0x80(%rsp)
addl %ebx, %edx
movq %r13, %r9
leal (%rbx,%r13), %ebp
movl (%r15,%rbx,4), %eax
movl %edx, 0x48(%rsp)
cmpl %eax, %ebp
jg 0x729f
movslq %r12d, %rcx
shlq $0x4, %rcx
cmpl %eax, 0xc(%rdi,%rcx)
jle 0x7287
cmpl %r10d, %r14d
jl 0x7262
movq %r9, %rbx
movq %r15, %r13
movq %r14, %r15
cvtsi2sd %r14d, %xmm0
mulsd 0x10e12(%rip), %xmm0    # 0x18010
cvttsd2si %xmm0, %r14d
movslq %r14d, %rsi
shlq $0x4, %rsi
addq $0x27100, %rsi          # imm = 0x27100
leaq 0x11477(%rip), %rdx     # 0x1868f
callq 0x10de9
testq %rax, %rax
je 0x8395
movq %rax, %rdi
addl $0x2710, %r14d          # imm = 0x2710
movq 0xc8(%rsp), %r8
movl %r14d, 0x10(%r8)
movq %rax, 0x18(%r8)
movq 0xb8(%rsp), %r11
movq 0x68(%rsp), %rsi
movq %r14, %r10
movq %r15, %r14
movq %r13, %r15
movl 0x48(%rsp), %edx
movq %rbx, %r9
movq 0x38(%rsp), %rbx
movslq %r14d, %rcx
shlq $0x4, %rcx
movl %r12d, (%rdi,%rcx)
movl %ebx, 0x4(%rdi,%rcx)
movl 0x50(%rsp), %eax
movl %eax, 0x8(%rdi,%rcx)
movl (%r15,%rbx,4), %eax
movl %eax, 0xc(%rdi,%rcx)
leal 0x1(%r14), %ecx
jmp 0x728d
movl %r14d, %ecx
movl %r12d, %r14d
movl %r14d, %r12d
subl %r11d, %eax
movl %eax, (%r15,%rbx,4)
movl %ecx, %r14d
jmp 0x71ca
cmpl 0x10(%rsp), %edx
movq %r10, 0xb0(%rsp)
jge 0x72c7
movq 0x28(%rsp), %rax
cmpl 0xa4(%rsp), %eax
jge 0x72d6
movl %edx, %eax
movq %rax, 0x10(%rsp)
jmp 0x7355
movl 0xe8(%rsp), %eax
movl %eax, %r10d
jmp 0x7358
movq 0x40(%rsp), %r13
movl %r13d, %eax
andl $0x7fff, %eax           # imm = 0x7FFF
movl %eax, %ecx
movq 0xf8(%rsp), %rdx
cmpw $0x0, (%rdx,%rcx,2)
js 0x7343
movl %r13d, %ecx
shrl $0xe, %ecx
andl $0xfffe, %ecx           # imm = 0xFFFE
movswl (%rdx,%rcx), %ecx
movq 0xd0(%rsp), %rdx
movswl (%rdx,%rax,2), %eax
addl %ecx, %eax
js 0x7343
movl 0x48(%rsp), %edx
movl %edx, %eax
movq %rax, 0x10(%rsp)
movl %edx, 0xa0(%rsp)
movl %r9d, 0x9c(%rsp)
movl 0x50(%rsp), %eax
movl %eax, 0xf4(%rsp)
movl %r12d, 0x98(%rsp)
jmp 0x734e
movl 0x48(%rsp), %edx
movl %edx, %eax
movq %rax, 0x10(%rsp)
movl %edx, 0x148(%rsp)
movq %r9, %r10
movq 0xa8(%rsp), %r8
movq (%r8,%rbx,8), %rax
movq 0x60(%rsp), %r9
movl (%r9,%rbx,4), %ecx
movl %ecx, 0x48(%rsp)
movq 0x58(%rsp), %r13
movl (%r13,%rbx,4), %ecx
movq 0x20(%rsp), %rbp
movl %edx, (%rbp,%rbx,4)
movq 0x40(%rsp), %rdx
movq %rdx, (%r8,%rbx,8)
movq 0x28(%rsp), %rdx
movl %edx, (%r9,%rbx,4)
movl %r12d, (%r13,%rbx,4)
incq 0x90(%rsp)
movl %r10d, 0xe8(%rsp)
movl %ecx, %r12d
movq 0x88(%rsp), %rcx
movl %ecx, %edx
movq 0xc8(%rsp), %r9
movabsq $0xfffffffffffffff, %r13 # imm = 0xFFFFFFFFFFFFFFF
movq 0x118(%rsp), %r8
movq 0x78(%rsp), %rbx
movq 0xb0(%rsp), %r10
jmp 0x7049
cmpl $0x0, 0x100(%rsp)
je 0x73fe
pushq $0x1
popq %rcx
movq 0x110(%rsp), %rbx
jmp 0x74e2
movslq 0xe8(%rsp), %rax
xorl %ecx, %ecx
cmpb $0x4, -0x1(%rsi,%rax)
movq 0x110(%rsp), %rbx
je 0x7436
movq 0x10(%rsp), %rax
subl 0xe8(%rsp), %eax
cltq
xorl %ecx, %ecx
movq 0x120(%rsp), %rdx
cmpb $0x4, (%rdx,%rax)
setne %cl
movq 0x80(%rsp), %rdx
cmpl %edx, 0xc0(%rsp)
jle 0x744d
movl 0x4(%rsp), %esi
jmp 0x74b6
movq %r15, %r12
movq %r14, %r15
movq %r10, %r14
movq %rdi, %r10
leal 0x1(%rdx), %eax
movl %eax, 0xc0(%rsp)
movslq %edx, %rdi
movq 0x60(%rsp), %rax
movl (%rax,%rdi,4), %esi
movl 0x4(%rsp), %eax
cmpl %esi, %eax
jle 0x747a
movl %eax, %esi
jmp 0x74aa
movq 0x20(%rsp), %rax
movl (%rax,%rdi,4), %eax
movl %eax, 0x34(%rsp)
subl %edx, %eax
cltd
pushq $0x2
popq %r8
idivl %r8d
movl %eax, (%rsp)
movq 0x58(%rsp), %rax
movl (%rax,%rdi,4), %eax
movl %eax, 0x8(%rsp)
movl 0x50(%rsp), %eax
movl %eax, 0x154(%rsp)
movq %r10, %rdi
movq %r14, %r10
movq %r15, %r14
movq %r12, %r15
movq 0xd8(%rsp), %rdx
movl $0x80000001, %eax       # imm = 0x80000001
movq %rax, 0x80(%rsp)
cmpl %edx, 0x18(%rsp)
jge 0x754c
movl %esi, 0x4(%rsp)
movl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movq %rax, 0xd8(%rsp)
movq 0x20(%rsp), %r12
movq 0x10(%rsp), %rax
leal 0x1e(%rax), %edx
movslq 0x18(%rsp), %rax
movslq 0xc0(%rsp), %rsi
leaq -0x1(%rsi), %r8
cmpq %rax, %r8
cmovgeq %rax, %r8
movq %r8, 0x18(%rsp)
cmpq %rsi, %rax
jl 0x7542
cmpl %edx, (%r12,%rax,4)
jle 0x751c
decq %rax
jmp 0x750c
movq %rdi, %r8
leal -0x1(%rsi), %ebp
leaq (%r12,%rsi,4), %rsi
incl %ebp
leaq 0x4(%rsi), %rdi
cmpl %edx, (%rsi)
movq %rdi, %rsi
jg 0x7526
movl %ebp, 0xc0(%rsp)
movq %rax, 0x18(%rsp)
movq %r8, %rdi
movq 0x68(%rsp), %rsi
jmp 0x6bfd
movq %rdi, %r8
leal -0x1(%rdx), %eax
movq %rax, 0x18(%rsp)
movslq %edx, %rdi
movq 0x60(%rsp), %rax
movl (%rax,%rdi,4), %eax
cmpl %eax, %esi
movq 0x20(%rsp), %r12
jle 0x7571
movl %esi, 0x4(%rsp)
jmp 0x759f
movl %eax, 0x4(%rsp)
movl (%r12,%rdi,4), %eax
movl %eax, 0x34(%rsp)
subl %edx, %eax
cltd
pushq $0x2
popq %rsi
idivl %esi
movl %eax, (%rsp)
movq 0x58(%rsp), %rax
movl (%rax,%rdi,4), %eax
movl %eax, 0x8(%rsp)
movl 0x50(%rsp), %eax
movl %eax, 0x154(%rsp)
movl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movq %rax, 0xd8(%rsp)
movq %r8, %rdi
jmp 0x74e7
cmpl $0x0, 0x4(%rsp)
movq 0x170(%rsp), %rax
js 0x75da
movl 0x34(%rsp), %r12d
subl (%rsp), %r12d
movl 0x154(%rsp), %r10d
movl 0x8(%rsp), %esi
jmp 0x75ff
movl 0xa0(%rsp), %ecx
movl 0x9c(%rsp), %edx
subl %edx, %ecx
movl %edx, (%rsp)
movl 0xf4(%rsp), %r10d
movl 0x98(%rsp), %esi
movl %ecx, %r12d
movq (%rax), %rcx
pushq $-0x1
popq %r8
testl %esi, %esi
js 0x761e
movl %esi, %eax
shlq $0x4, %rax
movl (%rdi,%rax), %edx
movl %r8d, (%rdi,%rax)
movl %esi, %r8d
movl %edx, %esi
jmp 0x7606
movslq %r8d, %r9
shlq $0x4, %r9
movq %rdi, %r14
movl 0x4(%rdi,%r9), %edi
movl 0xc(%r14,%r9), %eax
movl %eax, %esi
subl %edi, %esi
cltd
idivl %r11d
testl %edx, %edx
je 0x767c
addq %r14, %r9
movslq (%r9), %r8
movl (%rsp), %r9d
movl %r10d, %edx
testq %r8, %r8
js 0x7669
movq %r8, %rax
shlq $0x4, %rax
movl 0x4(%r14,%rax), %edi
movl 0x8(%r14,%rax), %edx
movl 0xc(%r14,%rax), %r9d
subl %edi, %r9d
subl %r9d, %esi
movw %si, -0x2(%rcx)
movw %dx, -0x4(%rcx)
pushq $-0x2
popq %rax
movl %r9d, %esi
jmp 0x7680
xorl %eax, %eax
xorl %edx, %edx
testl %r8d, %r8d
js 0x7743
movl %r10d, %r13d
movl %r8d, %r10d
shlq $0x4, %r10
addq %r14, %r10
movslq %eax, %r8
leaq (%rcx,%r8,2), %r9
addq $-0x2, %r9
shlq $0x20, %r8
movabsq $-0x200000000, %r11     # imm = 0xFFFFFFFE00000000
movslq (%r10), %rbx
testq %rbx, %rbx
js 0x76ef
shlq $0x4, %rbx
leaq (%r14,%rbx), %r10
movl 0x4(%r14,%rbx), %edi
movl 0xc(%r14,%rbx), %ebp
subl %edi, %ebp
subl %ebp, %esi
movw %si, (%r9)
movl 0x8(%r14,%rbx), %ebx
movl %ebx, %esi
subl %edx, %esi
movw %si, -0x2(%r9)
addq %r11, %r8
addl $-0x2, %eax
addq $-0x4, %r9
movl %ebp, %esi
movl %ebx, %edx
jmp 0x76af
addl %esi, %edi
cmpl %r12d, %edi
jne 0x771c
subl (%rsp), %esi
movq 0x110(%rsp), %rbx
movl %r13d, %r10d
je 0x7743
sarq $0x1f, %r8
addw %si, 0x2(%rcx,%r8)
movl %r10d, %esi
subl %edx, %esi
addw %si, (%rcx,%r8)
jmp 0x7743
subl (%rsp), %esi
sarq $0x1f, %r8
movw %si, -0x2(%rcx,%r8)
movl %r13d, %r10d
movl %r13d, %esi
subl %edx, %esi
addl $-0x2, %eax
movslq %eax, %rdx
movw %si, (%rcx,%rdx,2)
movq 0x110(%rsp), %rbx
movq 0x170(%rsp), %rdi
movl %r12d, 0x10(%rdi)
movl (%rsp), %edx
movl %edx, 0x14(%rdi)
movl %r10d, 0xc(%rdi)
movslq %eax, %rdx
negl %eax
movl %eax, 0x8(%rdi)
leaq (%rcx,%rdx,2), %rax
movq %rax, (%rdi)
pushq $0x1c
popq %rcx
pushq $0x18
jmp 0x8361
movl 0xc(%rsp), %edx
movl %edx, 0x8(%rsp)
movl %eax, %esi
movq %r10, %rdi
movl $0x80000001, %eax       # imm = 0x80000001
movq %rax, 0x80(%rsp)
movl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movq %rax, 0xe0(%rsp)
movq 0x20(%rsp), %r10
cmpl %ebx, %r10d
jge 0x77a9
movl %esi, %eax
movl %ebx, %edx
jmp 0x77fe
movq %rdi, %r8
leal 0x1(%r10), %edx
movslq %r10d, %rdi
movq 0x88(%rsp), %rax
movl (%rax,%rdi,4), %eax
cmpl %eax, %esi
jle 0x77c6
movl %esi, %eax
jmp 0x77fb
movl %eax, 0xd0(%rsp)
movl (%r13,%rdi,4), %eax
movl %eax, 0x8(%rsp)
subl %r10d, %eax
movl %edx, %r10d
cltd
pushq $0x2
popq %rsi
idivl %esi
movl %r10d, %edx
movl %eax, 0x4(%rsp)
movq 0x10(%rsp), %rax
movl (%rax,%rdi,4), %eax
movl %eax, (%rsp)
movl 0xd0(%rsp), %eax
movq %r8, %rdi
movl 0x68(%rsp), %esi
movl $0x0, 0xf4(%rsp)
movl $0x0, 0x34(%rsp)
movl $0x0, 0x90(%rsp)
testl %ecx, %ecx
movq %rdi, 0x50(%rsp)
je 0x8234
movl %eax, 0xd0(%rsp)
movq 0x78(%rsp), %rax
addl $0xffffff06, %eax       # imm = 0xFFFFFF06
cmpl %eax, 0xa4(%rsp)
movl 0xd0(%rsp), %eax
jl 0x8234
movslq %edx, %rax
movq %rax, 0x40(%rsp)
cmpl 0xf0(%rsp), %edx
movq 0x18(%rsp), %rcx
movl %edx, 0xf8(%rsp)
jle 0x7879
cmpl 0x74(%rsp), %ecx
jl 0x7bbc
movq %r13, %r12
movq %r15, 0x48(%rsp)
movl %ecx, %ebp
subl %edx, %ebp
incl %ebp
movq 0x158(%rsp), %rax
cvtsi2sd %eax, %xmm0
mulsd 0x10b8d(%rip), %xmm0    # 0x18428
cvtsi2sd %ebp, %xmm1
ucomisd %xmm0, %xmm1
movq %r11, 0x38(%rsp)
movq %r14, 0x20(%rsp)
jbe 0x7910
imull $0x18, %eax, %esi
movq %r9, %rdi
movq %r9, %r14
callq 0x3017
movq 0x8(%r14), %rcx
movq %rcx, %r15
subq 0x108(%rsp), %r15
movl (%r14), %eax
cltd
pushq $0x18
popq %rsi
idivl %esi
movslq %eax, %rdx
leaq (%rcx,%rdx,4), %rsi
movq %rsi, 0x140(%rsp)
leaq (%rsi,%rdx,4), %rsi
movq %rsi, 0x138(%rsp)
leaq (%rsi,%rdx,4), %rsi
movq %rsi, 0x130(%rsp)
leaq (%rsi,%rdx,4), %rdx
movq %rdx, 0x128(%rsp)
movq %rcx, %rsi
pushq $0x2
popq %rcx
jmp 0x791e
xorl %r15d, %r15d
pushq $0x2
popq %rcx
movq 0x108(%rsp), %rsi
movq %rax, 0x158(%rsp)
subl %ebp, %eax
cltd
idivl %ecx
movl %eax, 0x74(%rsp)
movslq %eax, %r13
movq %rsi, 0x108(%rsp)
leaq (%rsi,%r13,4), %r14
movq 0x40(%rsp), %rcx
leaq (%r12,%rcx,4), %r12
addq %r15, %r12
movq %r14, %rax
subq %r12, %rax
movq %rax, 0xb8(%rsp)
movslq %ebp, %rbx
jns 0x7975
leaq (,%rbx,4), %rdx
movq %r14, %rdi
movq %r12, %rsi
callq 0x1230
movq 0x40(%rsp), %rcx
movq %r12, 0x58(%rsp)
movq 0x140(%rsp), %rax
leaq (%rax,%r13,4), %rbp
movq 0x88(%rsp), %rax
leaq (%rax,%rcx,4), %rax
addq %r15, %rax
movq %rbp, %r12
movq %rax, 0x28(%rsp)
subq %rax, %r12
jns 0x79bc
leaq (,%rbx,4), %rdx
movq %rbp, %rdi
movq 0x28(%rsp), %rsi
callq 0x1230
movq 0x40(%rsp), %rcx
movq %rbp, 0x88(%rsp)
movq %r14, 0x118(%rsp)
movq 0x138(%rsp), %rax
leaq (%rax,%r13,4), %r14
movq 0x10(%rsp), %rax
leaq (%rax,%rcx,4), %rax
addq %r15, %rax
movq %r14, %rbp
movq %rax, 0xb0(%rsp)
subq %rax, %rbp
jns 0x7a11
leaq (,%rbx,4), %rdx
movq %r14, %rdi
movq 0xb0(%rsp), %rsi
callq 0x1230
movq 0x40(%rsp), %rcx
movq %r14, 0x10(%rsp)
movq 0x130(%rsp), %rax
leaq (%rax,%r13,4), %r8
movq 0x48(%rsp), %rax
leaq (%rax,%rcx,4), %r9
addq %r15, %r9
movq %r8, %r14
subq %r9, %r14
jns 0x7a68
leaq (,%rbx,4), %rdx
movq %r8, %rdi
movq %r9, %rsi
movq %r8, 0x48(%rsp)
movq %r9, 0xe8(%rsp)
callq 0x1230
movq 0xe8(%rsp), %r9
movq 0x48(%rsp), %r8
movq 0x40(%rsp), %rcx
movq 0x128(%rsp), %rax
leaq (%rax,%r13,8), %rdi
movq 0x60(%rsp), %rax
leaq (%rax,%rcx,8), %rsi
addq %r15, %rsi
movq %rdi, %rax
subq %rsi, %rax
movq %rbx, %r15
js 0x7a8d
je 0x7aa6
leaq (,%r15,8), %rdx
movq %r8, %rbx
movq %r9, %r13
callq 0x1230
movq %r13, %r9
movq %rbx, %r8
testq %r14, %r14
jle 0x7abe
leaq (,%r15,4), %rdx
movq %r8, %rdi
movq %r9, %rsi
callq 0x1230
testq %rbp, %rbp
movq 0x20(%rsp), %r14
jle 0x7ae2
leaq (,%r15,4), %rdx
movq 0x10(%rsp), %rdi
movq 0xb0(%rsp), %rsi
callq 0x1230
testq %r12, %r12
pushq $0x1
popq %rbp
jle 0x7b04
leaq (,%r15,4), %rdx
movq 0x88(%rsp), %rdi
movq 0x28(%rsp), %rsi
callq 0x1230
cmpq $0x0, 0xb8(%rsp)
jle 0x7b28
shlq $0x2, %r15
movq 0x118(%rsp), %rdi
movq 0x58(%rsp), %rsi
movq %r15, %rdx
callq 0x1230
movl 0xf8(%rsp), %edi
movl %edi, %ecx
movl 0x74(%rsp), %eax
subl %eax, %ecx
movq 0x18(%rsp), %rsi
addl %esi, %eax
movl %eax, 0x74(%rsp)
movl %ecx, 0xf0(%rsp)
movslq %ecx, %rax
leaq (,%rax,4), %rcx
movq 0x108(%rsp), %r13
subq %rcx, %r13
movq 0x140(%rsp), %rdx
subq %rcx, %rdx
movq %rdx, 0x88(%rsp)
movq 0x138(%rsp), %rdx
subq %rcx, %rdx
movq %rdx, 0x10(%rsp)
movl %edi, %edx
movq 0x130(%rsp), %r15
subq %rcx, %r15
shlq $0x3, %rax
movq 0x128(%rsp), %rcx
subq %rax, %rcx
movq %rcx, 0x60(%rsp)
movq %rsi, %rcx
movq 0xc8(%rsp), %r9
movq 0x50(%rsp), %rdi
movl 0x68(%rsp), %esi
movq 0x38(%rsp), %r11
cmpl 0x16c(%rsp), %edx
jle 0x7be2
decl %edx
movl %edx, 0xf8(%rsp)
movq 0x40(%rsp), %rdx
movl (%r15,%rdx,4), %eax
movl %eax, -0x4(%r15,%rdx,4)
orl $-0x1, -0x4(%r13,%rdx,4)
movq 0x120(%rsp), %rdx
pushq $-0x1
popq %r8
cmpl 0x168(%rsp), %ecx
jge 0x7c1a
movslq %ecx, %rax
incl %ecx
leaq 0x1(%rax), %rbx
movq %rcx, %r10
movl (%r15,%rax,4), %ecx
movl %ecx, 0x4(%r15,%rax,4)
movq %r10, %rcx
orl $-0x1, 0x4(%r13,%rax,4)
movl %r8d, %eax
jmp 0x7c22
movslq %ecx, %rbx
movl (%r13,%rbx,4), %eax
movq %rax, 0x28(%rsp)
movslq 0xf8(%rsp), %rax
movq %rax, 0xe8(%rsp)
orl $-0x1, -0x4(%r13,%rax,4)
movq %rcx, 0x18(%rsp)
movslq %ecx, %rax
movq %r13, 0xb8(%rsp)
orl $-0x1, 0x4(%r13,%rax,4)
incl 0x90(%rsp)
leaq (%rdx,%rbx), %r12
movl %ebp, 0x58(%rsp)
pushq $0x3c
popq %rcx
movl %ecx, 0x50(%rsp)
movl %r8d, %ebp
movabsq $0xfffffffffffffff, %rax # imm = 0xFFFFFFFFFFFFFFF
movl %r8d, %edx
movl %edx, %r10d
movq 0x28(%rsp), %rdx
cmpq 0xe8(%rsp), %rbx
jl 0x803b
movl %edx, %r8d
movq %rbx, %rdx
movl %r10d, %ebx
leaq -0x1(%rdx), %r10
movq %rdx, %r13
movq 0xb8(%rsp), %rdx
movq %r13, 0x38(%rsp)
movl -0x4(%rdx,%r13,4), %edx
cmpl %edx, %r8d
movq %r8, %r13
movq 0x100(%rsp), %r8
movq %rdx, 0x28(%rsp)
movq %r13, 0x118(%rsp)
jge 0x7cda
cmpl %ebx, %edx
jge 0x7cef
movl %ebx, %r13d
incl %r13d
jmp 0x7ce4
cmpl %ebx, %r13d
jge 0x7d18
incl %ebx
movl %ebx, %r13d
movq 0x38(%rsp), %rdx
movl 0x50(%rsp), %ecx
jmp 0x7d40
leal 0x1(%rdx), %r13d
movq 0x88(%rsp), %rax
movl (%rax,%r10,4), %ecx
movq 0x60(%rsp), %rax
movq (%rax,%r10,8), %rax
movq 0x10(%rsp), %rdx
movl (%rdx,%r10,4), %ebp
movq 0x38(%rsp), %rdx
jmp 0x7d40
addl $0x2, %r13d
movq 0x88(%rsp), %rax
movq 0x38(%rsp), %rbx
movl (%rax,%rbx,4), %ecx
movq 0x60(%rsp), %rax
movq (%rax,%rbx,8), %rax
movq 0x10(%rsp), %rdx
movl (%rdx,%rbx,4), %ebp
movq %rbx, %rdx
leaq (,%rax,8), %rbx
sarq $0x3f, %rbx
addl %ecx, %ebx
addq %rax, %rax
subl %edx, %r13d
movl %r13d, %ecx
sarl %ecx
movslq %ecx, %rcx
andl $-0x2, %r13d
movq %rax, 0x40(%rsp)
movq %r10, 0x20(%rsp)
movq %r12, 0xb0(%rsp)
movb (%r8,%rcx), %al
cmpb $0x4, %al
je 0x7dba
movq %rcx, %r9
movb (%r12,%rcx), %cl
cmpb %cl, %al
jne 0x7dd9
incq %r9
movabsq $0xfffffffffffffff, %rax # imm = 0xFFFFFFFFFFFFFFF
incq %rax
movq 0x40(%rsp), %rcx
andq %rcx, %rax
cmpq $0x1, %rax
adcl $0x0, %ebx
leaq 0x1(,%rcx,2), %rcx
movq %rcx, 0x40(%rsp)
addl $0x2, %r13d
movq %r9, %rcx
jmp 0x7d72
movq 0x80(%rsp), %rax
cmpl %edx, %eax
cmovlel %edx, %eax
movq %rax, 0x80(%rsp)
movl $0x0, 0x58(%rsp)
jmp 0x7e02
cmpb $0x4, %cl
movl $0x0, %eax
movl 0x58(%rsp), %ecx
cmovel %eax, %ecx
movl %ecx, 0x58(%rsp)
movq 0xe0(%rsp), %rax
cmovel %edx, %eax
movq %rax, 0xe0(%rsp)
movq %r9, %rcx
addl %edx, %r13d
leal (%rdx,%rcx), %r8d
movl (%r15,%rdx,4), %eax
movq %rbx, 0x48(%rsp)
cmpl %eax, %r8d
jl 0x7ef9
movq %rcx, %r12
movslq %ebp, %rcx
shlq $0x4, %rcx
cmpl %eax, 0xc(%rdi,%rcx)
jge 0x7edf
cmpl %r11d, %r14d
jl 0x7eb8
movl %ebp, 0x50(%rsp)
movl %r8d, %ebp
movl %r13d, %ebx
movq %r15, %r13
movq %r14, %r15
cvtsi2sd %r14d, %xmm0
mulsd 0x101bb(%rip), %xmm0    # 0x18010
cvttsd2si %xmm0, %r14d
movslq %r14d, %rsi
shlq $0x4, %rsi
addq $0x27100, %rsi          # imm = 0x27100
leaq 0x10820(%rip), %rdx     # 0x1868f
callq 0x10de9
testq %rax, %rax
je 0x8395
movq %rax, %rdi
addl $0x2710, %r14d          # imm = 0x2710
movq 0xc8(%rsp), %r9
movl %r14d, 0x10(%r9)
movq %rax, 0x18(%r9)
movl 0x68(%rsp), %esi
movq %r14, %r11
movq %r15, %r14
movq %r13, %r15
movl %ebx, %r13d
movq 0x38(%rsp), %rdx
movq 0x48(%rsp), %rbx
movl %ebp, %r8d
movl 0x50(%rsp), %ebp
movslq %r14d, %rcx
shlq $0x4, %rcx
movl %ebp, (%rdi,%rcx)
movl %edx, 0x4(%rdi,%rcx)
movl 0x90(%rsp), %eax
movl %eax, 0x8(%rdi,%rcx)
movl (%r15,%rdx,4), %eax
movl %eax, 0xc(%rdi,%rcx)
leal 0x1(%r14), %ecx
jmp 0x7ee5
movl %r14d, %ecx
movl %ebp, %r14d
movl %r14d, %ebp
addl %esi, %eax
movl %eax, (%r15,%rdx,4)
movl %ecx, %r14d
movq %r12, %rcx
jmp 0x7e12
cmpl 0x78(%rsp), %r13d
jle 0x7f1c
movq %rcx, %r10
cmpl 0xd8(%rsp), %ebx
jge 0x7f2d
movl %r13d, %eax
movq %rax, 0x78(%rsp)
movl %r13d, %ebx
jmp 0x7fc2
movl 0xa8(%rsp), %eax
movl %eax, %ecx
movl %r13d, %ebx
jmp 0x7fc5
movq 0x40(%rsp), %rbx
movl %ebx, %eax
andl $0x7fff, %eax           # imm = 0x7FFF
movl %eax, %ecx
movq 0x148(%rsp), %rdx
cmpw $0x0, (%rdx,%rcx,2)
js 0x7faa
movl %ebx, %ecx
shrl $0xe, %ecx
andl $0xfffe, %ecx           # imm = 0xFFFE
movswl (%rdx,%rcx), %ecx
movq 0xc0(%rsp), %rdx
movswl (%rdx,%rax,2), %eax
addl %ecx, %eax
js 0x7faa
movl %r13d, %eax
movq %rax, 0x78(%rsp)
movl %r13d, 0xa0(%rsp)
movq %r10, %rcx
movl %ecx, 0x9c(%rsp)
movl 0x90(%rsp), %eax
movl %eax, 0xf4(%rsp)
movl %ebp, 0x98(%rsp)
movl %r13d, 0xa4(%rsp)
movl %r13d, %ebx
movq 0x38(%rsp), %rdx
jmp 0x7fc5
movl %r13d, %eax
movq %rax, 0x78(%rsp)
movl %r13d, 0xa4(%rsp)
movl %r13d, %ebx
movq 0x38(%rsp), %rdx
movq %r10, %rcx
movq 0x60(%rsp), %r8
movq (%r8,%rdx,8), %rax
movq 0x88(%rsp), %r13
movl (%r13,%rdx,4), %r9d
movl %r9d, 0x50(%rsp)
movq 0x10(%rsp), %r10
movl (%r10,%rdx,4), %r9d
movq 0xb8(%rsp), %r12
movl %ebx, (%r12,%rdx,4)
movq 0x40(%rsp), %rbx
movq %rbx, (%r8,%rdx,8)
movq 0x48(%rsp), %r8
movl %r8d, (%r13,%rdx,4)
movl %ebp, (%r10,%rdx,4)
movq 0xb0(%rsp), %r12
decq %r12
movl %ecx, 0xa8(%rsp)
movl %r9d, %ebp
movq 0x20(%rsp), %rbx
movq 0x118(%rsp), %rdx
movq 0xc8(%rsp), %r9
jmp 0x7c79
cmpl $0x0, 0x58(%rsp)
movq 0x100(%rsp), %r12
je 0x8064
pushq $0x1
popq %rbp
movl %ebp, %ecx
movq 0x110(%rsp), %rbx
movq 0xb8(%rsp), %r13
jmp 0x81b7
movslq 0xa8(%rsp), %rax
xorl %ecx, %ecx
cmpb $0x4, (%r12,%rax)
movq 0x110(%rsp), %rbx
movq 0xe0(%rsp), %rsi
movq 0xb8(%rsp), %r13
pushq $0x1
popq %rbp
je 0x80af
movq 0x78(%rsp), %rax
subl 0xa8(%rsp), %eax
cltq
xorl %ecx, %ecx
movq 0x120(%rsp), %rdx
cmpb $0x4, (%rdx,%rax)
setne %cl
cmpl %esi, 0x18(%rsp)
jge 0x80be
movl 0xd0(%rsp), %esi
jmp 0x8119
movq %rdi, %r10
leal -0x1(%rsi), %eax
movq %rax, 0x18(%rsp)
movslq %esi, %rdi
movq %rsi, %rdx
movq 0x88(%rsp), %rax
movl (%rax,%rdi,4), %esi
movl 0xd0(%rsp), %eax
cmpl %esi, %eax
jle 0x80e9
movl %eax, %esi
jmp 0x8116
movl (%r13,%rdi,4), %eax
movl %eax, 0x8(%rsp)
subl %edx, %eax
cltd
pushq $0x2
popq %r8
idivl %r8d
movl %eax, 0x4(%rsp)
movq 0x10(%rsp), %rax
movl (%rax,%rdi,4), %eax
movl %eax, (%rsp)
movl 0x90(%rsp), %eax
movl %eax, 0x34(%rsp)
movq %r10, %rdi
movl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movq %rax, 0xe0(%rsp)
movq 0x80(%rsp), %rdx
cmpl %edx, 0xf8(%rsp)
jle 0x814d
movl %esi, 0xd0(%rsp)
movl $0x80000001, %eax       # imm = 0x80000001
movq %rax, 0x80(%rsp)
jmp 0x81b7
movq %rdi, %r8
leal 0x1(%rdx), %eax
movl %eax, 0xf8(%rsp)
movslq %edx, %rdi
movq 0x88(%rsp), %rax
movl (%rax,%rdi,4), %eax
cmpl %eax, %esi
jle 0x8175
movl %esi, 0xd0(%rsp)
jmp 0x81a7
movl %eax, 0xd0(%rsp)
movl (%r13,%rdi,4), %eax
movl %eax, 0x8(%rsp)
subl %edx, %eax
cltd
pushq $0x2
popq %rsi
idivl %esi
movl %eax, 0x4(%rsp)
movq 0x10(%rsp), %rax
movl (%rax,%rdi,4), %eax
movl %eax, (%rsp)
movl 0x90(%rsp), %eax
movl %eax, 0x34(%rsp)
movl $0x80000001, %eax       # imm = 0x80000001
movq %rax, 0x80(%rsp)
movq %r8, %rdi
movq 0x78(%rsp), %rax
leal -0x1e(%rax), %edx
movslq 0x18(%rsp), %rax
movslq 0xf8(%rsp), %rsi
leaq -0x1(%rsi), %r8
cmpq %rax, %r8
cmovgeq %rax, %r8
movq %r8, 0x18(%rsp)
cmpq %rsi, %rax
jl 0x821d
cmpl %edx, (%r13,%rax,4)
jge 0x81ed
decq %rax
jmp 0x81dc
movq %rdi, %r8
leal -0x1(%rsi), %r10d
leaq (,%rsi,4), %rsi
addq %r13, %rsi
incl %r10d
leaq 0x4(%rsi), %rdi
cmpl %edx, (%rsi)
movq %rdi, %rsi
jl 0x81ff
movl %r10d, 0xf8(%rsp)
movq %rax, 0x18(%rsp)
movq %r8, %rdi
movl 0x68(%rsp), %esi
movl 0xf8(%rsp), %edx
movl 0xd0(%rsp), %eax
jmp 0x7820
testl %eax, %eax
movq 0x170(%rsp), %rax
js 0x8257
movl 0x4(%rsp), %ebp
movl 0x8(%rsp), %r14d
subl %ebp, %r14d
movl (%rsp), %r8d
movl 0x34(%rsp), %r15d
jmp 0x827a
movl 0xa0(%rsp), %ecx
movl 0x9c(%rsp), %ebp
subl %ebp, %ecx
movl 0xf4(%rsp), %r15d
movl 0x98(%rsp), %r8d
movl %ecx, %r14d
movq (%rax), %rcx
pushq $-0x1
popq %rax
testl %r8d, %r8d
js 0x829a
movl %r8d, %edx
shlq $0x4, %rdx
movl (%rdi,%rdx), %esi
movl %eax, (%rdi,%rdx)
movl %r8d, %eax
movl %esi, %r8d
jmp 0x8280
cltq
shlq $0x4, %rax
movq %rdi, %rdx
addq %rax, %rdi
movl 0x4(%rdx,%rax), %esi
movl 0xc(%rsp), %eax
subl %esi, %eax
cltd
pushq $0x2
popq %r8
idivl %r8d
xorl %edx, %edx
xorl %r8d, %r8d
movslq (%rdi), %r9
testq %r9, %r9
js 0x8307
shlq $0x4, %r9
movq 0x50(%rsp), %r11
leaq (%r11,%r9), %rdi
movl 0x4(%r11,%r9), %esi
movl 0x8(%r11,%r9), %r10d
movl 0xc(%r11,%r9), %r9d
subl %esi, %r9d
movl %r10d, %r11d
subl %r8d, %r11d
movw %r11w, (%rcx,%rdx,2)
movl %r9d, %r8d
subl %eax, %r8d
movw %r8w, 0x2(%rcx,%rdx,2)
addq $0x2, %rdx
movl %r9d, %eax
movl %r10d, %r8d
jmp 0x82bd
addl %eax, %esi
cmpl %r14d, %esi
jne 0x832b
movl %ebp, %esi
subl %eax, %esi
je 0x8346
movl %edx, %eax
andl $-0x2, %eax
addw %si, -0x2(%rcx,%rax,2)
movl %r15d, %esi
subl %r8d, %esi
addw %si, -0x4(%rcx,%rax,2)
jmp 0x8346
movl %r15d, %esi
subl %r8d, %esi
movl %edx, %edi
andl $-0x2, %edi
movw %si, (%rcx,%rdi,2)
movl %ebp, %esi
subl %eax, %esi
addl $0x2, %edx
movw %si, 0x2(%rcx,%rdi,2)
movq 0x170(%rsp), %rdi
movl %r14d, 0x18(%rdi)
movl %ebp, 0x1c(%rdi)
movl %r15d, 0xc(%rdi)
movl %edx, 0x8(%rdi)
pushq $0x14
popq %rcx
pushq $0x10
popq %rsi
movl 0xc(%rsp), %eax
addl %ebx, %eax
cltd
pushq $0x2
popq %r8
idivl %r8d
movl %eax, (%rdi,%rsi)
movl 0x164(%rsp), %eax
cltd
idivl %r8d
movl %eax, (%rdi,%rcx)
xorl %eax, %eax
addq $0x178, %rsp            # imm = 0x178
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
pushq $0x1
popq %rdi
callq 0x1280