// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/affinealign.c
// Function: affinealign_fill_table
static void affinealign_fill_table(GtAffinealignDPentry **dptable,
                                   const GtUchar *u, GtUword ulen,
                                   const GtUchar *v, GtUword vlen,
                                   GtUword matchcost, GtUword mismatchcost,
                                   GtUword gap_opening, GtUword gap_extension,
                                   GtAffineAlignEdge edge,
                                   const GtScoreHandler *scorehandler)
{
  GtUword i, j, Rvalue, Dvalue, Ivalue, minvalue,rcost;
  gt_assert(dptable && u && v);

  if (scorehandler != NULL)/*else work with given constant values*/
  {
    gap_opening = gt_scorehandler_get_gap_opening(scorehandler);
    gap_extension = gt_scorehandler_get_gapscore(scorehandler);
  }

  for (i = 0; i <= ulen; i++) {
    for (j = 0; j <= vlen; j++) {
      if (!i && !j) {
        switch (edge) {
          case Affine_R:
            dptable[0][0].Rvalue = 0;
            dptable[0][0].Dvalue = GT_WORD_MAX;
            dptable[0][0].Ivalue = GT_WORD_MAX;
            break;
          case Affine_D:
            dptable[0][0].Rvalue = GT_WORD_MAX;
            dptable[0][0].Dvalue = 0;
            dptable[0][0].Ivalue = GT_WORD_MAX;
            break;
          case Affine_I:
            dptable[0][0].Rvalue = GT_WORD_MAX;
            dptable[0][0].Dvalue = GT_WORD_MAX;
            dptable[0][0].Ivalue = 0;
            break;
          default:
            dptable[0][0].Rvalue = 0;
            dptable[0][0].Dvalue = gap_opening;
            dptable[0][0].Ivalue = gap_opening;
        }
      }
      else {
        /* compute A_affine(i,j,R) */
        if (!i || !j)
          dptable[i][j].Rvalue = LONG_MAX;
        else {
          if (scorehandler != NULL)
            rcost = gt_scorehandler_get_replacement(scorehandler,
                                                    u[i-1], v[j-1]);
          else
            rcost  = (u[i-1] == v[j-1]) ? matchcost : mismatchcost;

          Rvalue = add_safe_max(dptable[i-1][j-1].Rvalue, rcost);
          Dvalue = add_safe_max(dptable[i-1][j-1].Dvalue, rcost);
          Ivalue = add_safe_max(dptable[i-1][j-1].Ivalue, rcost);
          minvalue = GT_MIN3(Rvalue, Dvalue, Ivalue);
          gt_assert(minvalue != LONG_MAX);
          dptable[i][j].Rvalue = minvalue;
          /* set backtracing edge */
          if (Rvalue == minvalue)
            dptable[i][j].Redge = Affine_R;
          else if (Dvalue == minvalue)
            dptable[i][j].Redge = Affine_D;
          else /* Ivalue == minvalue */
            dptable[i][j].Redge = Affine_I;
        }
        /* compute A_affine(i,j,D) */
        if (!i)
          dptable[i][j].Dvalue = LONG_MAX;
        else {
          Rvalue = add_safe_max(dptable[i-1][j].Rvalue,
                                gap_opening + gap_extension);
          Dvalue = add_safe_max(dptable[i-1][j].Dvalue, gap_extension);
          Ivalue = add_safe_max(dptable[i-1][j].Ivalue,
                                gap_opening + gap_extension);
          minvalue = GT_MIN3(Rvalue, Dvalue, Ivalue);
          gt_assert(minvalue != ULONG_MAX);
          dptable[i][j].Dvalue = minvalue;
          /* set backtracing edge */
          if (Rvalue == minvalue)
            dptable[i][j].Dedge = Affine_R;
          else if (Dvalue == minvalue)
            dptable[i][j].Dedge = Affine_D;
          else /* Ivalue == minvalue */
            dptable[i][j].Dedge = Affine_I;
        }
        /* compute A_affine(i,j,I) */
        if (!j)
          dptable[i][j].Ivalue = LONG_MAX;
        else {
          Rvalue = add_safe_max(dptable[i][j-1].Rvalue,
                                gap_opening + gap_extension);
          Dvalue = add_safe_max(dptable[i][j-1].Dvalue,
                                gap_opening + gap_extension);
          Ivalue = add_safe_max(dptable[i][j-1].Ivalue, gap_extension);
          minvalue = GT_MIN3(Rvalue, Dvalue, Ivalue);
          gt_assert(minvalue != LONG_MAX);
          dptable[i][j].Ivalue = minvalue;
          /* set backtracing edge */
          if (Rvalue == minvalue)
            dptable[i][j].Iedge = Affine_R;
          else if (Dvalue == minvalue)
            dptable[i][j].Iedge = Affine_D;
          else /* Ivalue == minvalue */
            dptable[i][j].Iedge = Affine_I;
        }
      }
    }
  }
}

// Assembly:
subq $0x108, %rsp            # imm = 0x108
movq 0x130(%rsp), %rax
movl 0x128(%rsp), %eax
movq 0x120(%rsp), %rax
movq 0x118(%rsp), %rax
movq 0x110(%rsp), %rax
movq %rdi, 0x100(%rsp)
movq %rsi, 0xf8(%rsp)
movq %rdx, 0xf0(%rsp)
movq %rcx, 0xe8(%rsp)
movq %r8, 0xe0(%rsp)
movq %r9, 0xd8(%rsp)
cmpq $0x0, 0x100(%rsp)
je 0x4842df
cmpq $0x0, 0xf8(%rsp)
je 0x4842df
cmpq $0x0, 0xe8(%rsp)
jne 0x484317
movq 0x1b7cba(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x91d23(%rip), %rsi     # 0x516013
leaq 0x12d29e(%rip), %rdx    # 0x5b1595
leaq 0x12d2a9(%rip), %rcx    # 0x5b15a7
leaq 0x12d107(%rip), %r8     # 0x5b140c
movl $0x26, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x484319
cmpq $0x0, 0x130(%rsp)
je 0x48434e
movq 0x130(%rsp), %rdi
callq 0x1d1180
movq %rax, 0x118(%rsp)
movq 0x130(%rsp), %rdi
callq 0x1d11d0
movq %rax, 0x120(%rsp)
movq $0x0, 0xd0(%rsp)
movq 0xd0(%rsp), %rax
cmpq 0xf0(%rsp), %rax
ja 0x4850f6
movq $0x0, 0xc8(%rsp)
movq 0xc8(%rsp), %rax
cmpq 0xe0(%rsp), %rax
ja 0x4850db
cmpq $0x0, 0xd0(%rsp)
jne 0x484504
cmpq $0x0, 0xc8(%rsp)
jne 0x484504
movl 0x128(%rsp), %eax
movl %eax, 0x9c(%rsp)
testl %eax, %eax
je 0x4843e7
jmp 0x4843c4
movl 0x9c(%rsp), %eax
subl $0x1, %eax
je 0x484430
jmp 0x4843d2
movl 0x9c(%rsp), %eax
subl $0x2, %eax
je 0x484479
jmp 0x4844bf
movq 0x100(%rsp), %rax
movq (%rax), %rax
movq $0x0, (%rax)
movq 0x100(%rsp), %rax
movq (%rax), %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
movq %rcx, 0x8(%rax)
movq 0x100(%rsp), %rax
movq (%rax), %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
movq %rcx, 0x10(%rax)
jmp 0x4844ff
movq 0x100(%rsp), %rax
movq (%rax), %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
movq %rcx, (%rax)
movq 0x100(%rsp), %rax
movq (%rax), %rax
movq $0x0, 0x8(%rax)
movq 0x100(%rsp), %rax
movq (%rax), %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
movq %rcx, 0x10(%rax)
jmp 0x4844ff
movq 0x100(%rsp), %rax
movq (%rax), %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
movq %rcx, (%rax)
movq 0x100(%rsp), %rax
movq (%rax), %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
movq %rcx, 0x8(%rax)
movq 0x100(%rsp), %rax
movq (%rax), %rax
movq $0x0, 0x10(%rax)
jmp 0x4844ff
movq 0x100(%rsp), %rax
movq (%rax), %rax
movq $0x0, (%rax)
movq 0x118(%rsp), %rcx
movq 0x100(%rsp), %rax
movq (%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x118(%rsp), %rcx
movq 0x100(%rsp), %rax
movq (%rax), %rax
movq %rcx, 0x10(%rax)
jmp 0x4850c0
cmpq $0x0, 0xd0(%rsp)
je 0x48451a
cmpq $0x0, 0xc8(%rsp)
jne 0x48454c
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0xc8(%rsp), %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
movq %rcx, (%rax)
jmp 0x484986
cmpq $0x0, 0x130(%rsp)
je 0x4845a0
movq 0x130(%rsp), %rdi
movq 0xf8(%rsp), %rax
movq 0xd0(%rsp), %rcx
subq $0x1, %rcx
movb (%rax,%rcx), %dl
movq 0xe8(%rsp), %rax
movq 0xc8(%rsp), %rcx
subq $0x1, %rcx
movzbl %dl, %esi
movzbl (%rax,%rcx), %edx
callq 0x1d12c0
movq %rax, 0xa0(%rsp)
jmp 0x484606
movq 0xf8(%rsp), %rax
movq 0xd0(%rsp), %rcx
subq $0x1, %rcx
movzbl (%rax,%rcx), %eax
movq 0xe8(%rsp), %rcx
movq 0xc8(%rsp), %rdx
subq $0x1, %rdx
movzbl (%rcx,%rdx), %ecx
cmpl %ecx, %eax
jne 0x4845e6
movq 0xd8(%rsp), %rax
movq %rax, 0x90(%rsp)
jmp 0x4845f6
movq 0x110(%rsp), %rax
movq %rax, 0x90(%rsp)
movq 0x90(%rsp), %rax
movq %rax, 0xa0(%rsp)
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq 0xc8(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
cmpq %rcx, (%rax)
je 0x484680
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq 0xc8(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq (%rax), %rax
addq 0xa0(%rsp), %rax
movq %rax, 0x88(%rsp)
jmp 0x484694
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
movq %rax, 0x88(%rsp)
jmp 0x484694
movq 0x88(%rsp), %rax
movq %rax, 0xc0(%rsp)
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq 0xc8(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
cmpq %rcx, 0x8(%rax)
je 0x484720
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq 0xc8(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
addq 0xa0(%rsp), %rax
movq %rax, 0x80(%rsp)
jmp 0x484734
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
movq %rax, 0x80(%rsp)
jmp 0x484734
movq 0x80(%rsp), %rax
movq %rax, 0xb8(%rsp)
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq 0xc8(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
cmpq %rcx, 0x10(%rax)
je 0x4847bd
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq 0xc8(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq 0x10(%rax), %rax
addq 0xa0(%rsp), %rax
movq %rax, 0x78(%rsp)
jmp 0x4847ce
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
movq %rax, 0x78(%rsp)
jmp 0x4847ce
movq 0x78(%rsp), %rax
movq %rax, 0xb0(%rsp)
movq 0xc0(%rsp), %rax
cmpq 0xb8(%rsp), %rax
jae 0x484827
movq 0xc0(%rsp), %rax
cmpq 0xb0(%rsp), %rax
jae 0x48480e
movq 0xc0(%rsp), %rax
movq %rax, 0x70(%rsp)
jmp 0x48481b
movq 0xb0(%rsp), %rax
movq %rax, 0x70(%rsp)
movq 0x70(%rsp), %rax
movq %rax, 0x68(%rsp)
jmp 0x48485f
movq 0xb8(%rsp), %rax
cmpq 0xb0(%rsp), %rax
jae 0x484848
movq 0xb8(%rsp), %rax
movq %rax, 0x60(%rsp)
jmp 0x484855
movq 0xb0(%rsp), %rax
movq %rax, 0x60(%rsp)
movq 0x60(%rsp), %rax
movq %rax, 0x68(%rsp)
movq 0x68(%rsp), %rax
movq %rax, 0xa8(%rsp)
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
cmpq %rax, 0xa8(%rsp)
jne 0x4848b8
movq 0x1b7719(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x91782(%rip), %rsi     # 0x516013
leaq 0x12cd26(%rip), %rdx    # 0x5b15be
leaq 0x12cd08(%rip), %rcx    # 0x5b15a7
leaq 0x12cb66(%rip), %r8     # 0x5b140c
movl $0x56, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4848ba
movq 0xa8(%rsp), %rcx
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rdx
movq (%rax,%rdx,8), %rax
imulq $0x30, 0xc8(%rsp), %rdx
addq %rdx, %rax
movq %rcx, (%rax)
movq 0xc0(%rsp), %rax
cmpq 0xa8(%rsp), %rax
jne 0x484920
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0xc8(%rsp), %rcx
addq %rcx, %rax
movl $0x0, 0x20(%rax)
jmp 0x484984
movq 0xb8(%rsp), %rax
cmpq 0xa8(%rsp), %rax
jne 0x48495b
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0xc8(%rsp), %rcx
addq %rcx, %rax
movl $0x1, 0x20(%rax)
jmp 0x484982
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0xc8(%rsp), %rcx
addq %rcx, %rax
movl $0x2, 0x20(%rax)
jmp 0x484984
jmp 0x484986
cmpq $0x0, 0xd0(%rsp)
jne 0x4849c4
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0xc8(%rsp), %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
movq %rcx, 0x8(%rax)
jmp 0x484d16
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0xc8(%rsp), %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
cmpq %rcx, (%rax)
je 0x484a38
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0xc8(%rsp), %rcx
addq %rcx, %rax
movq (%rax), %rax
movq 0x118(%rsp), %rcx
addq 0x120(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x58(%rsp)
jmp 0x484a49
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
movq %rax, 0x58(%rsp)
jmp 0x484a49
movq 0x58(%rsp), %rax
movq %rax, 0xc0(%rsp)
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0xc8(%rsp), %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
cmpq %rcx, 0x8(%rax)
je 0x484ac1
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0xc8(%rsp), %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
addq 0x120(%rsp), %rax
movq %rax, 0x50(%rsp)
jmp 0x484ad2
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
movq %rax, 0x50(%rsp)
jmp 0x484ad2
movq 0x50(%rsp), %rax
movq %rax, 0xb8(%rsp)
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0xc8(%rsp), %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
cmpq %rcx, 0x10(%rax)
je 0x484b55
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0xc8(%rsp), %rcx
addq %rcx, %rax
movq 0x10(%rax), %rax
movq 0x118(%rsp), %rcx
addq 0x120(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x48(%rsp)
jmp 0x484b66
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
movq %rax, 0x48(%rsp)
jmp 0x484b66
movq 0x48(%rsp), %rax
movq %rax, 0xb0(%rsp)
movq 0xc0(%rsp), %rax
cmpq 0xb8(%rsp), %rax
jae 0x484bbf
movq 0xc0(%rsp), %rax
cmpq 0xb0(%rsp), %rax
jae 0x484ba6
movq 0xc0(%rsp), %rax
movq %rax, 0x40(%rsp)
jmp 0x484bb3
movq 0xb0(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq %rax, 0x38(%rsp)
jmp 0x484bf7
movq 0xb8(%rsp), %rax
cmpq 0xb0(%rsp), %rax
jae 0x484be0
movq 0xb8(%rsp), %rax
movq %rax, 0x30(%rsp)
jmp 0x484bed
movq 0xb0(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq %rax, 0xa8(%rsp)
cmpq $-0x1, 0xa8(%rsp)
jne 0x484c47
movq 0x1b738a(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x913f3(%rip), %rsi     # 0x516013
leaq 0x12c9ac(%rip), %rdx    # 0x5b15d3
leaq 0x12c979(%rip), %rcx    # 0x5b15a7
leaq 0x12c7d7(%rip), %r8     # 0x5b140c
movl $0x6a, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x484c49
movq 0xa8(%rsp), %rcx
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rdx
movq (%rax,%rdx,8), %rax
imulq $0x30, 0xc8(%rsp), %rdx
addq %rdx, %rax
movq %rcx, 0x8(%rax)
movq 0xc0(%rsp), %rax
cmpq 0xa8(%rsp), %rax
jne 0x484cb0
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0xc8(%rsp), %rcx
addq %rcx, %rax
movl $0x0, 0x24(%rax)
jmp 0x484d14
movq 0xb8(%rsp), %rax
cmpq 0xa8(%rsp), %rax
jne 0x484ceb
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0xc8(%rsp), %rcx
addq %rcx, %rax
movl $0x1, 0x24(%rax)
jmp 0x484d12
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0xc8(%rsp), %rcx
addq %rcx, %rax
movl $0x2, 0x24(%rax)
jmp 0x484d14
jmp 0x484d16
cmpq $0x0, 0xc8(%rsp)
jne 0x484d54
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0xc8(%rsp), %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
movq %rcx, 0x10(%rax)
jmp 0x4850be
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0xc8(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
cmpq %rcx, (%rax)
je 0x484dce
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0xc8(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq (%rax), %rax
movq 0x118(%rsp), %rcx
addq 0x120(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x28(%rsp)
jmp 0x484ddf
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
movq %rax, 0x28(%rsp)
jmp 0x484ddf
movq 0x28(%rsp), %rax
movq %rax, 0xc0(%rsp)
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0xc8(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
cmpq %rcx, 0x8(%rax)
je 0x484e68
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0xc8(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
movq 0x118(%rsp), %rcx
addq 0x120(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x20(%rsp)
jmp 0x484e79
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
movq %rax, 0x20(%rsp)
jmp 0x484e79
movq 0x20(%rsp), %rax
movq %rax, 0xb8(%rsp)
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0xc8(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
cmpq %rcx, 0x10(%rax)
je 0x484ef7
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0xc8(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq 0x10(%rax), %rax
addq 0x120(%rsp), %rax
movq %rax, 0x18(%rsp)
jmp 0x484f08
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
movq %rax, 0x18(%rsp)
jmp 0x484f08
movq 0x18(%rsp), %rax
movq %rax, 0xb0(%rsp)
movq 0xc0(%rsp), %rax
cmpq 0xb8(%rsp), %rax
jae 0x484f61
movq 0xc0(%rsp), %rax
cmpq 0xb0(%rsp), %rax
jae 0x484f48
movq 0xc0(%rsp), %rax
movq %rax, 0x10(%rsp)
jmp 0x484f55
movq 0xb0(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
jmp 0x484f96
movq 0xb8(%rsp), %rax
cmpq 0xb0(%rsp), %rax
jae 0x484f81
movq 0xb8(%rsp), %rax
movq %rax, (%rsp)
jmp 0x484f8d
movq 0xb0(%rsp), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0xa8(%rsp)
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
cmpq %rax, 0xa8(%rsp)
jne 0x484fef
movq 0x1b6fe2(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x9104b(%rip), %rsi     # 0x516013
leaq 0x12c5ef(%rip), %rdx    # 0x5b15be
leaq 0x12c5d1(%rip), %rcx    # 0x5b15a7
leaq 0x12c42f(%rip), %r8     # 0x5b140c
movl $0x7e, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x484ff1
movq 0xa8(%rsp), %rcx
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rdx
movq (%rax,%rdx,8), %rax
imulq $0x30, 0xc8(%rsp), %rdx
addq %rdx, %rax
movq %rcx, 0x10(%rax)
movq 0xc0(%rsp), %rax
cmpq 0xa8(%rsp), %rax
jne 0x485058
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0xc8(%rsp), %rcx
addq %rcx, %rax
movl $0x0, 0x28(%rax)
jmp 0x4850bc
movq 0xb8(%rsp), %rax
cmpq 0xa8(%rsp), %rax
jne 0x485093
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0xc8(%rsp), %rcx
addq %rcx, %rax
movl $0x1, 0x28(%rax)
jmp 0x4850ba
movq 0x100(%rsp), %rax
movq 0xd0(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0xc8(%rsp), %rcx
addq %rcx, %rax
movl $0x2, 0x28(%rax)
jmp 0x4850bc
jmp 0x4850be
jmp 0x4850c0
jmp 0x4850c2
movq 0xc8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0xc8(%rsp)
jmp 0x48437c
jmp 0x4850dd
movq 0xd0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0xd0(%rsp)
jmp 0x48435a
addq $0x108, %rsp            # imm = 0x108
retq
nop