// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/affinealign.c
// Function: affinealign_fill_table_local
static GtWord affinealign_fill_table_local(GtAffinealignDPentry **Atabcolumn,
                                           const GtScoreHandler *scorehandler,
                                           GtMaxcoordvalue *max,
                                           const GtUchar *useq, GtUword ustart,
                                           GtUword ulen,
                                           const GtUchar *vseq, GtUword vstart,
                                           GtUword vlen,
                                           GtWord matchscore,
                                           GtWord mismatchscore,
                                           GtWord gap_opening,
                                           GtWord gap_extension)
{
  GtUword i,j;
  GtWord Rvalue, Dvalue, Ivalue, totalvalue, replacement, temp;

  if (scorehandler != NULL)/*else work with given constant values*/
  {
    gap_opening = gt_scorehandler_get_gap_opening(scorehandler);
    gap_extension = gt_scorehandler_get_gapscore(scorehandler);
  }
  Atabcolumn[0][0].Rvalue = GT_WORD_MIN;
  Atabcolumn[0][0].Dvalue = GT_WORD_MIN;
  Atabcolumn[0][0].Ivalue = GT_WORD_MIN;
  Atabcolumn[0][0].totalvalue = 0;
  /* set backtracing edge */
  Atabcolumn[0][0].Redge = Affine_X;
  Atabcolumn[0][0].Dedge = Affine_X;
  Atabcolumn[0][0].Iedge = Affine_X;

  for (i = 1; i <= ulen; i++)
  {
    Atabcolumn[i][0].Rvalue = GT_WORD_MIN;
    Atabcolumn[i][0].Dvalue = gap_opening + gap_extension;
    Atabcolumn[i][0].Ivalue = GT_WORD_MIN;
    Atabcolumn[i][0].totalvalue = 0;
    /* set backtracing edge */
    Atabcolumn[i][0].Redge = Affine_X;
    Atabcolumn[i][0].Dedge = Affine_D;
    Atabcolumn[i][0].Iedge = Affine_X;
  }

  for (j = 1UL; j <= vlen; j++)
  {
    Atabcolumn[0][j].Rvalue = GT_WORD_MIN;
    Atabcolumn[0][j].Dvalue = GT_WORD_MIN;
    Atabcolumn[0][j].Ivalue = gap_opening + gap_extension;
    temp = GT_MAX3(Atabcolumn[0][j].Rvalue,
                Atabcolumn[0][j].Dvalue,
                Atabcolumn[0][j].Ivalue);
    Atabcolumn[0][j].totalvalue = ((temp > 0)? temp : 0);
    /* set backtracing edge */
    Atabcolumn[0][j].Redge = Affine_X;
    Atabcolumn[0][j].Dedge = Affine_X;
    Atabcolumn[0][j].Iedge = Affine_I;

    if (Atabcolumn[0][j].totalvalue > gt_maxcoordvalue_get_value(max))
    {
      gt_maxcoordvalue_coord_update_without_start(max,
                                                  Atabcolumn[0][j].totalvalue,
                                                  0, j);
    }
    for (i = 1; i <= ulen; i++)
    {

      /*calculate Rvalue*/
      if (scorehandler != NULL)
      {
        replacement = gt_scorehandler_get_replacement(scorehandler,
                                useq[ustart+i-1], vseq[vstart+j-1]);
      }
      else
      {
        replacement = (tolower((int)useq[ustart+i-1]) ==
                       tolower((int)vseq[vstart+j-1]) ?
                       matchscore : mismatchscore);
      }
      Rvalue = add_safe_min(Atabcolumn[i-1][j-1].Rvalue, replacement);
      Dvalue = add_safe_min(Atabcolumn[i-1][j-1].Dvalue, replacement);
      Ivalue = add_safe_min(Atabcolumn[i-1][j-1].Ivalue, replacement);
      totalvalue = add_safe_min(Atabcolumn[i-1][j-1].totalvalue, replacement);
      Atabcolumn[i][j].Rvalue = GT_MAX(GT_MAX(Rvalue, Dvalue),
                                       GT_MAX(Ivalue,totalvalue));
      /* set backtracing edge */
      if (Rvalue == Atabcolumn[i][j].Rvalue)
        Atabcolumn[i][j].Redge = Affine_R;
      else if (Dvalue == Atabcolumn[i][j].Rvalue)
        Atabcolumn[i][j].Redge = Affine_D;
      else if (Ivalue == Atabcolumn[i][j].Rvalue)
        Atabcolumn[i][j].Redge = Affine_I;
      else
        Atabcolumn[i][j].Redge = Affine_X;

      /*calculate Dvalue*/
      Rvalue = add_safe_min(Atabcolumn[i-1][j].Rvalue,
                            gap_opening + gap_extension);
      Dvalue = add_safe_min(Atabcolumn[i-1][j].Dvalue, gap_extension);
      Ivalue = add_safe_min(Atabcolumn[i-1][j].Ivalue,
                            gap_opening + gap_extension);
      totalvalue = add_safe_min(Atabcolumn[i-1][j].totalvalue,
                                gap_opening + gap_extension);
      Atabcolumn[i][j].Dvalue = GT_MAX(GT_MAX(Rvalue, Dvalue),
                                       GT_MAX(Ivalue,totalvalue));
      /* set backtracing edge */
      if (Rvalue == Atabcolumn[i][j].Dvalue)
        Atabcolumn[i][j].Dedge = Affine_R;
      else if (Dvalue == Atabcolumn[i][j].Dvalue)
        Atabcolumn[i][j].Dedge = Affine_D;
      else if (Ivalue == Atabcolumn[i][j].Dvalue)
        Atabcolumn[i][j].Dedge = Affine_I;
      else
        Atabcolumn[i][j].Dedge = Affine_X;

      /*calculate Ivalue*/
      Rvalue = add_safe_min(Atabcolumn[i][j-1].Rvalue,
                            gap_extension + gap_opening);
      Dvalue = add_safe_min(Atabcolumn[i][j-1].Dvalue,
                            gap_extension + gap_opening);
      Ivalue = add_safe_min(Atabcolumn[i][j-1].Ivalue,gap_extension);
      totalvalue = add_safe_min(Atabcolumn[i][j-1].totalvalue,
                                gap_extension + gap_opening);
      Atabcolumn[i][j].Ivalue = GT_MAX(GT_MAX(Rvalue, Dvalue),
                                       GT_MAX(Ivalue,totalvalue));
      /* set backtracing edge */
      if (Rvalue == Atabcolumn[i][j].Ivalue)
        Atabcolumn[i][j].Iedge = Affine_R;
      else if (Dvalue == Atabcolumn[i][j].Ivalue)
        Atabcolumn[i][j].Iedge = Affine_D;
      else if (Ivalue == Atabcolumn[i][j].Ivalue)
        Atabcolumn[i][j].Iedge = Affine_I;
      else
        Atabcolumn[i][j].Iedge = Affine_X;

      /*calculate totalvalue*/
      temp = GT_MAX3(Atabcolumn[i][j].Rvalue,
                  Atabcolumn[i][j].Dvalue,
                  Atabcolumn[i][j].Ivalue);
      Atabcolumn[i][j].totalvalue = temp > 0 ? temp : 0;

      /*set new max*/
      if (Atabcolumn[i][j].totalvalue > gt_maxcoordvalue_get_value(max))
      {
        gt_maxcoordvalue_coord_update_without_start(max,
                                                    Atabcolumn[i][j].totalvalue,
                                                    i,j);
      }
    }
  }

  return gt_maxcoordvalue_get_value(max);
}

// Assembly:
subq $0x1c8, %rsp            # imm = 0x1C8
movq 0x200(%rsp), %rax
movq 0x1f8(%rsp), %rax
movq 0x1f0(%rsp), %rax
movq 0x1e8(%rsp), %rax
movq 0x1e0(%rsp), %rax
movq 0x1d8(%rsp), %rax
movq 0x1d0(%rsp), %rax
movq %rdi, 0x1c0(%rsp)
movq %rsi, 0x1b8(%rsp)
movq %rdx, 0x1b0(%rsp)
movq %rcx, 0x1a8(%rsp)
movq %r8, 0x1a0(%rsp)
movq %r9, 0x198(%rsp)
cmpq $0x0, 0x1b8(%rsp)
je 0x485df4
movq 0x1b8(%rsp), %rdi
callq 0x1d1180
movq %rax, 0x1f8(%rsp)
movq 0x1b8(%rsp), %rdi
callq 0x1d11d0
movq %rax, 0x200(%rsp)
movq 0x1c0(%rsp), %rax
movq (%rax), %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
movq %rcx, (%rax)
movq 0x1c0(%rsp), %rax
movq (%rax), %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
movq %rcx, 0x8(%rax)
movq 0x1c0(%rsp), %rax
movq (%rax), %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
movq %rcx, 0x10(%rax)
movq 0x1c0(%rsp), %rax
movq (%rax), %rax
movq $0x0, 0x18(%rax)
movq 0x1c0(%rsp), %rax
movq (%rax), %rax
movl $0x3, 0x20(%rax)
movq 0x1c0(%rsp), %rax
movq (%rax), %rax
movl $0x3, 0x24(%rax)
movq 0x1c0(%rsp), %rax
movq (%rax), %rax
movl $0x3, 0x28(%rax)
movq $0x1, 0x190(%rsp)
movq 0x190(%rsp), %rax
cmpq 0x198(%rsp), %rax
ja 0x485f9a
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
movq %rcx, (%rax)
movq 0x1f8(%rsp), %rcx
addq 0x200(%rsp), %rcx
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rdx
movq (%rax,%rdx,8), %rax
movq %rcx, 0x8(%rax)
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
movq %rcx, 0x10(%rax)
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq $0x0, 0x18(%rax)
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movl $0x3, 0x20(%rax)
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movl $0x1, 0x24(%rax)
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movl $0x3, 0x28(%rax)
movq 0x190(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x190(%rsp)
jmp 0x485e93
movq $0x1, 0x188(%rsp)
movq 0x188(%rsp), %rax
cmpq 0x1e0(%rsp), %rax
ja 0x4874f5
movq 0x1c0(%rsp), %rax
movq (%rax), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
movq %rcx, (%rax)
movq 0x1c0(%rsp), %rax
movq (%rax), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
movq %rcx, 0x8(%rax)
movq 0x1f8(%rsp), %rcx
addq 0x200(%rsp), %rcx
movq 0x1c0(%rsp), %rax
movq (%rax), %rax
imulq $0x30, 0x188(%rsp), %rdx
addq %rdx, %rax
movq %rcx, 0x10(%rax)
movq 0x1c0(%rsp), %rax
movq (%rax), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movq (%rax), %rax
movq 0x1c0(%rsp), %rcx
movq (%rcx), %rcx
imulq $0x30, 0x188(%rsp), %rdx
addq %rdx, %rcx
cmpq 0x8(%rcx), %rax
jle 0x4860fe
movq 0x1c0(%rsp), %rax
movq (%rax), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movq (%rax), %rax
movq 0x1c0(%rsp), %rcx
movq (%rcx), %rcx
imulq $0x30, 0x188(%rsp), %rdx
addq %rdx, %rcx
cmpq 0x10(%rcx), %rax
jle 0x4860c6
movq 0x1c0(%rsp), %rax
movq (%rax), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movq (%rax), %rax
movq %rax, 0x150(%rsp)
jmp 0x4860e9
movq 0x1c0(%rsp), %rax
movq (%rax), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movq 0x10(%rax), %rax
movq %rax, 0x150(%rsp)
movq 0x150(%rsp), %rax
movq %rax, 0x148(%rsp)
jmp 0x48618e
movq 0x1c0(%rsp), %rax
movq (%rax), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
movq 0x1c0(%rsp), %rcx
movq (%rcx), %rcx
imulq $0x30, 0x188(%rsp), %rdx
addq %rdx, %rcx
cmpq 0x10(%rcx), %rax
jle 0x48615b
movq 0x1c0(%rsp), %rax
movq (%rax), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
movq %rax, 0x140(%rsp)
jmp 0x48617e
movq 0x1c0(%rsp), %rax
movq (%rax), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movq 0x10(%rax), %rax
movq %rax, 0x140(%rsp)
movq 0x140(%rsp), %rax
movq %rax, 0x148(%rsp)
movq 0x148(%rsp), %rax
movq %rax, 0x158(%rsp)
cmpq $0x0, 0x158(%rsp)
jle 0x4861bb
movq 0x158(%rsp), %rax
movq %rax, 0x138(%rsp)
jmp 0x4861c7
xorl %eax, %eax
movq %rax, 0x138(%rsp)
jmp 0x4861c7
movq 0x138(%rsp), %rcx
movq 0x1c0(%rsp), %rax
movq (%rax), %rax
imulq $0x30, 0x188(%rsp), %rdx
addq %rdx, %rax
movq %rcx, 0x18(%rax)
movq 0x1c0(%rsp), %rax
movq (%rax), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movl $0x3, 0x20(%rax)
movq 0x1c0(%rsp), %rax
movq (%rax), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movl $0x3, 0x24(%rax)
movq 0x1c0(%rsp), %rax
movq (%rax), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movl $0x2, 0x28(%rax)
movq 0x1c0(%rsp), %rax
movq (%rax), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movq 0x18(%rax), %rax
movq %rax, 0x130(%rsp)
movq 0x1b0(%rsp), %rdi
callq 0x1ac4c0
movq %rax, %rcx
movq 0x130(%rsp), %rax
cmpq %rcx, %rax
jle 0x4862b8
movq 0x1b0(%rsp), %rdi
movq 0x1c0(%rsp), %rax
movq (%rax), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movq 0x18(%rax), %rsi
movq 0x188(%rsp), %rcx
xorl %eax, %eax
movl %eax, %edx
callq 0x1ac8e0
movq $0x1, 0x190(%rsp)
movq 0x190(%rsp), %rax
cmpq 0x198(%rsp), %rax
ja 0x4874da
cmpq $0x0, 0x1b8(%rsp)
je 0x486341
movq 0x1b8(%rsp), %rdi
movq 0x1a8(%rsp), %rax
movq 0x1a0(%rsp), %rcx
addq 0x190(%rsp), %rcx
subq $0x1, %rcx
movb (%rax,%rcx), %dl
movq 0x1d0(%rsp), %rax
movq 0x1d8(%rsp), %rcx
addq 0x188(%rsp), %rcx
subq $0x1, %rcx
movzbl %dl, %esi
movzbl (%rax,%rcx), %edx
callq 0x1d12c0
movq %rax, 0x160(%rsp)
jmp 0x4863d1
movq 0x1a8(%rsp), %rax
movq 0x1a0(%rsp), %rcx
addq 0x190(%rsp), %rcx
subq $0x1, %rcx
movzbl (%rax,%rcx), %edi
callq 0x19a20
movl %eax, 0x12c(%rsp)
movq 0x1d0(%rsp), %rax
movq 0x1d8(%rsp), %rcx
addq 0x188(%rsp), %rcx
subq $0x1, %rcx
movzbl (%rax,%rcx), %edi
callq 0x19a20
movl %eax, %ecx
movl 0x12c(%rsp), %eax
cmpl %ecx, %eax
jne 0x4863b1
movq 0x1e8(%rsp), %rax
movq %rax, 0x120(%rsp)
jmp 0x4863c1
movq 0x1f0(%rsp), %rax
movq %rax, 0x120(%rsp)
movq 0x120(%rsp), %rax
movq %rax, 0x160(%rsp)
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq 0x188(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
cmpq %rcx, (%rax)
je 0x48644b
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq 0x188(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq (%rax), %rax
addq 0x160(%rsp), %rax
movq %rax, 0x118(%rsp)
jmp 0x48645f
movabsq $-0x8000000000000000, %rax # imm = 0x8000000000000000
movq %rax, 0x118(%rsp)
jmp 0x48645f
movq 0x118(%rsp), %rax
movq %rax, 0x180(%rsp)
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq 0x188(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
cmpq %rcx, 0x8(%rax)
je 0x4864eb
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq 0x188(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
addq 0x160(%rsp), %rax
movq %rax, 0x110(%rsp)
jmp 0x4864ff
movabsq $-0x8000000000000000, %rax # imm = 0x8000000000000000
movq %rax, 0x110(%rsp)
jmp 0x4864ff
movq 0x110(%rsp), %rax
movq %rax, 0x178(%rsp)
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq 0x188(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
cmpq %rcx, 0x10(%rax)
je 0x48658b
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq 0x188(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq 0x10(%rax), %rax
addq 0x160(%rsp), %rax
movq %rax, 0x108(%rsp)
jmp 0x48659f
movabsq $-0x8000000000000000, %rax # imm = 0x8000000000000000
movq %rax, 0x108(%rsp)
jmp 0x48659f
movq 0x108(%rsp), %rax
movq %rax, 0x170(%rsp)
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq 0x188(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
cmpq %rcx, 0x18(%rax)
je 0x48662b
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq 0x188(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq 0x18(%rax), %rax
addq 0x160(%rsp), %rax
movq %rax, 0x100(%rsp)
jmp 0x48663f
movabsq $-0x8000000000000000, %rax # imm = 0x8000000000000000
movq %rax, 0x100(%rsp)
jmp 0x48663f
movq 0x100(%rsp), %rax
movq %rax, 0x168(%rsp)
movq 0x180(%rsp), %rax
cmpq 0x178(%rsp), %rax
jle 0x486673
movq 0x180(%rsp), %rax
movq %rax, 0xf8(%rsp)
jmp 0x486683
movq 0x178(%rsp), %rax
movq %rax, 0xf8(%rsp)
movq 0xf8(%rsp), %rax
movq %rax, 0xf0(%rsp)
movq 0x170(%rsp), %rax
cmpq 0x168(%rsp), %rax
jle 0x4866b7
movq 0x170(%rsp), %rax
movq %rax, 0xe8(%rsp)
jmp 0x4866c7
movq 0x168(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xf0(%rsp), %rax
movq 0xe8(%rsp), %rcx
cmpq %rcx, %rax
jle 0x486722
movq 0x180(%rsp), %rax
cmpq 0x178(%rsp), %rax
jle 0x486700
movq 0x180(%rsp), %rax
movq %rax, 0xe0(%rsp)
jmp 0x486710
movq 0x178(%rsp), %rax
movq %rax, 0xe0(%rsp)
movq 0xe0(%rsp), %rax
movq %rax, 0xd8(%rsp)
jmp 0x486766
movq 0x170(%rsp), %rax
cmpq 0x168(%rsp), %rax
jle 0x486746
movq 0x170(%rsp), %rax
movq %rax, 0xd0(%rsp)
jmp 0x486756
movq 0x168(%rsp), %rax
movq %rax, 0xd0(%rsp)
movq 0xd0(%rsp), %rax
movq %rax, 0xd8(%rsp)
movq 0xd8(%rsp), %rcx
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rdx
movq (%rax,%rdx,8), %rax
imulq $0x30, 0x188(%rsp), %rdx
addq %rdx, %rax
movq %rcx, (%rax)
movq 0x180(%rsp), %rax
movq 0x1c0(%rsp), %rcx
movq 0x190(%rsp), %rdx
movq (%rcx,%rdx,8), %rcx
imulq $0x30, 0x188(%rsp), %rdx
addq %rdx, %rcx
cmpq (%rcx), %rax
jne 0x4867ea
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movl $0x0, 0x20(%rax)
jmp 0x4868c1
movq 0x178(%rsp), %rax
movq 0x1c0(%rsp), %rcx
movq 0x190(%rsp), %rdx
movq (%rcx,%rdx,8), %rcx
imulq $0x30, 0x188(%rsp), %rdx
addq %rdx, %rcx
cmpq (%rcx), %rax
jne 0x486840
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movl $0x1, 0x20(%rax)
jmp 0x4868bf
movq 0x170(%rsp), %rax
movq 0x1c0(%rsp), %rcx
movq 0x190(%rsp), %rdx
movq (%rcx,%rdx,8), %rcx
imulq $0x30, 0x188(%rsp), %rdx
addq %rdx, %rcx
cmpq (%rcx), %rax
jne 0x486896
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movl $0x2, 0x20(%rax)
jmp 0x4868bd
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movl $0x3, 0x20(%rax)
jmp 0x4868bf
jmp 0x4868c1
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
cmpq %rcx, (%rax)
je 0x486938
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movq (%rax), %rax
movq 0x1f8(%rsp), %rcx
addq 0x200(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0xc8(%rsp)
jmp 0x48694c
movabsq $-0x8000000000000000, %rax # imm = 0x8000000000000000
movq %rax, 0xc8(%rsp)
jmp 0x48694c
movq 0xc8(%rsp), %rax
movq %rax, 0x180(%rsp)
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
cmpq %rcx, 0x8(%rax)
je 0x4869ca
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
addq 0x200(%rsp), %rax
movq %rax, 0xc0(%rsp)
jmp 0x4869de
movabsq $-0x8000000000000000, %rax # imm = 0x8000000000000000
movq %rax, 0xc0(%rsp)
jmp 0x4869de
movq 0xc0(%rsp), %rax
movq %rax, 0x178(%rsp)
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
cmpq %rcx, 0x10(%rax)
je 0x486a67
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movq 0x10(%rax), %rax
movq 0x1f8(%rsp), %rcx
addq 0x200(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0xb8(%rsp)
jmp 0x486a7b
movabsq $-0x8000000000000000, %rax # imm = 0x8000000000000000
movq %rax, 0xb8(%rsp)
jmp 0x486a7b
movq 0xb8(%rsp), %rax
movq %rax, 0x170(%rsp)
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
cmpq %rcx, 0x18(%rax)
je 0x486b04
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movq 0x18(%rax), %rax
movq 0x1f8(%rsp), %rcx
addq 0x200(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0xb0(%rsp)
jmp 0x486b18
movabsq $-0x8000000000000000, %rax # imm = 0x8000000000000000
movq %rax, 0xb0(%rsp)
jmp 0x486b18
movq 0xb0(%rsp), %rax
movq %rax, 0x168(%rsp)
movq 0x180(%rsp), %rax
cmpq 0x178(%rsp), %rax
jle 0x486b4c
movq 0x180(%rsp), %rax
movq %rax, 0xa8(%rsp)
jmp 0x486b5c
movq 0x178(%rsp), %rax
movq %rax, 0xa8(%rsp)
movq 0xa8(%rsp), %rax
movq %rax, 0xa0(%rsp)
movq 0x170(%rsp), %rax
cmpq 0x168(%rsp), %rax
jle 0x486b90
movq 0x170(%rsp), %rax
movq %rax, 0x98(%rsp)
jmp 0x486ba0
movq 0x168(%rsp), %rax
movq %rax, 0x98(%rsp)
movq 0xa0(%rsp), %rax
movq 0x98(%rsp), %rcx
cmpq %rcx, %rax
jle 0x486bfb
movq 0x180(%rsp), %rax
cmpq 0x178(%rsp), %rax
jle 0x486bd9
movq 0x180(%rsp), %rax
movq %rax, 0x90(%rsp)
jmp 0x486be9
movq 0x178(%rsp), %rax
movq %rax, 0x90(%rsp)
movq 0x90(%rsp), %rax
movq %rax, 0x88(%rsp)
jmp 0x486c3f
movq 0x170(%rsp), %rax
cmpq 0x168(%rsp), %rax
jle 0x486c1f
movq 0x170(%rsp), %rax
movq %rax, 0x80(%rsp)
jmp 0x486c2f
movq 0x168(%rsp), %rax
movq %rax, 0x80(%rsp)
movq 0x80(%rsp), %rax
movq %rax, 0x88(%rsp)
movq 0x88(%rsp), %rcx
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rdx
movq (%rax,%rdx,8), %rax
imulq $0x30, 0x188(%rsp), %rdx
addq %rdx, %rax
movq %rcx, 0x8(%rax)
movq 0x180(%rsp), %rax
movq 0x1c0(%rsp), %rcx
movq 0x190(%rsp), %rdx
movq (%rcx,%rdx,8), %rcx
imulq $0x30, 0x188(%rsp), %rdx
addq %rdx, %rcx
cmpq 0x8(%rcx), %rax
jne 0x486cc5
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movl $0x0, 0x24(%rax)
jmp 0x486da1
movq 0x178(%rsp), %rax
movq 0x1c0(%rsp), %rcx
movq 0x190(%rsp), %rdx
movq (%rcx,%rdx,8), %rcx
imulq $0x30, 0x188(%rsp), %rdx
addq %rdx, %rcx
cmpq 0x8(%rcx), %rax
jne 0x486d1f
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movl $0x1, 0x24(%rax)
jmp 0x486d9f
movq 0x170(%rsp), %rax
movq 0x1c0(%rsp), %rcx
movq 0x190(%rsp), %rdx
movq (%rcx,%rdx,8), %rcx
imulq $0x30, 0x188(%rsp), %rdx
addq %rdx, %rcx
cmpq 0x8(%rcx), %rax
jne 0x486d76
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movl $0x2, 0x24(%rax)
jmp 0x486d9d
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movl $0x3, 0x24(%rax)
jmp 0x486d9f
jmp 0x486da1
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x188(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
cmpq %rcx, (%rax)
je 0x486e1b
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x188(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq (%rax), %rax
movq 0x200(%rsp), %rcx
addq 0x1f8(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x78(%rsp)
jmp 0x486e2c
movabsq $-0x8000000000000000, %rax # imm = 0x8000000000000000
movq %rax, 0x78(%rsp)
jmp 0x486e2c
movq 0x78(%rsp), %rax
movq %rax, 0x180(%rsp)
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x188(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
cmpq %rcx, 0x8(%rax)
je 0x486eb5
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x188(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
movq 0x200(%rsp), %rcx
addq 0x1f8(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x70(%rsp)
jmp 0x486ec6
movabsq $-0x8000000000000000, %rax # imm = 0x8000000000000000
movq %rax, 0x70(%rsp)
jmp 0x486ec6
movq 0x70(%rsp), %rax
movq %rax, 0x178(%rsp)
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x188(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
cmpq %rcx, 0x10(%rax)
je 0x486f44
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x188(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq 0x10(%rax), %rax
addq 0x200(%rsp), %rax
movq %rax, 0x68(%rsp)
jmp 0x486f55
movabsq $-0x8000000000000000, %rax # imm = 0x8000000000000000
movq %rax, 0x68(%rsp)
jmp 0x486f55
movq 0x68(%rsp), %rax
movq %rax, 0x170(%rsp)
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x188(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
cmpq %rcx, 0x18(%rax)
je 0x486fde
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x188(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq 0x18(%rax), %rax
movq 0x200(%rsp), %rcx
addq 0x1f8(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x60(%rsp)
jmp 0x486fef
movabsq $-0x8000000000000000, %rax # imm = 0x8000000000000000
movq %rax, 0x60(%rsp)
jmp 0x486fef
movq 0x60(%rsp), %rax
movq %rax, 0x168(%rsp)
movq 0x180(%rsp), %rax
cmpq 0x178(%rsp), %rax
jle 0x48701d
movq 0x180(%rsp), %rax
movq %rax, 0x58(%rsp)
jmp 0x48702a
movq 0x178(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0x170(%rsp), %rax
cmpq 0x168(%rsp), %rax
jle 0x487055
movq 0x170(%rsp), %rax
movq %rax, 0x48(%rsp)
jmp 0x487062
movq 0x168(%rsp), %rax
movq %rax, 0x48(%rsp)
movq 0x50(%rsp), %rax
movq 0x48(%rsp), %rcx
cmpq %rcx, %rax
jle 0x4870ab
movq 0x180(%rsp), %rax
cmpq 0x178(%rsp), %rax
jle 0x487092
movq 0x180(%rsp), %rax
movq %rax, 0x40(%rsp)
jmp 0x48709f
movq 0x178(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq %rax, 0x38(%rsp)
jmp 0x4870e3
movq 0x170(%rsp), %rax
cmpq 0x168(%rsp), %rax
jle 0x4870cc
movq 0x170(%rsp), %rax
movq %rax, 0x30(%rsp)
jmp 0x4870d9
movq 0x168(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rcx
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rdx
movq (%rax,%rdx,8), %rax
imulq $0x30, 0x188(%rsp), %rdx
addq %rdx, %rax
movq %rcx, 0x10(%rax)
movq 0x180(%rsp), %rax
movq 0x1c0(%rsp), %rcx
movq 0x190(%rsp), %rdx
movq (%rcx,%rdx,8), %rcx
imulq $0x30, 0x188(%rsp), %rdx
addq %rdx, %rcx
cmpq 0x10(%rcx), %rax
jne 0x487166
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movl $0x0, 0x28(%rax)
jmp 0x487242
movq 0x178(%rsp), %rax
movq 0x1c0(%rsp), %rcx
movq 0x190(%rsp), %rdx
movq (%rcx,%rdx,8), %rcx
imulq $0x30, 0x188(%rsp), %rdx
addq %rdx, %rcx
cmpq 0x10(%rcx), %rax
jne 0x4871c0
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movl $0x1, 0x28(%rax)
jmp 0x487240
movq 0x170(%rsp), %rax
movq 0x1c0(%rsp), %rcx
movq 0x190(%rsp), %rdx
movq (%rcx,%rdx,8), %rcx
imulq $0x30, 0x188(%rsp), %rdx
addq %rdx, %rcx
cmpq 0x10(%rcx), %rax
jne 0x487217
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movl $0x2, 0x28(%rax)
jmp 0x48723e
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movl $0x3, 0x28(%rax)
jmp 0x487240
jmp 0x487242
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movq (%rax), %rax
movq 0x1c0(%rsp), %rcx
movq 0x190(%rsp), %rdx
movq (%rcx,%rdx,8), %rcx
imulq $0x30, 0x188(%rsp), %rdx
addq %rdx, %rcx
cmpq 0x8(%rcx), %rax
jle 0x48733a
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movq (%rax), %rax
movq 0x1c0(%rsp), %rcx
movq 0x190(%rsp), %rdx
movq (%rcx,%rdx,8), %rcx
imulq $0x30, 0x188(%rsp), %rdx
addq %rdx, %rcx
cmpq 0x10(%rcx), %rax
jle 0x487302
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movq (%rax), %rax
movq %rax, 0x28(%rsp)
jmp 0x48732b
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0x4873e2
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
movq 0x1c0(%rsp), %rcx
movq 0x190(%rsp), %rdx
movq (%rcx,%rdx,8), %rcx
imulq $0x30, 0x188(%rsp), %rdx
addq %rdx, %rcx
cmpq 0x10(%rcx), %rax
jle 0x4873af
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
movq %rax, 0x18(%rsp)
jmp 0x4873d8
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x158(%rsp)
cmpq $0x0, 0x158(%rsp)
jle 0x487409
movq 0x158(%rsp), %rax
movq %rax, 0x10(%rsp)
jmp 0x487412
xorl %eax, %eax
movq %rax, 0x10(%rsp)
jmp 0x487412
movq 0x10(%rsp), %rcx
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rdx
movq (%rax,%rdx,8), %rax
imulq $0x30, 0x188(%rsp), %rdx
addq %rdx, %rax
movq %rcx, 0x18(%rax)
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movq 0x18(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x1b0(%rsp), %rdi
callq 0x1ac4c0
movq %rax, %rcx
movq 0x8(%rsp), %rax
cmpq %rcx, %rax
jle 0x4874bf
movq 0x1b0(%rsp), %rdi
movq 0x1c0(%rsp), %rax
movq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x188(%rsp), %rcx
addq %rcx, %rax
movq 0x18(%rax), %rsi
movq 0x190(%rsp), %rdx
movq 0x188(%rsp), %rcx
callq 0x1ac8e0
jmp 0x4874c1
movq 0x190(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x190(%rsp)
jmp 0x4862c4
jmp 0x4874dc
movq 0x188(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x188(%rsp)
jmp 0x485fa6
movq 0x1b0(%rsp), %rdi
callq 0x1ac4c0
addq $0x1c8, %rsp            # imm = 0x1C8
retq
nopw (%rax,%rax)