// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/linearalign_affinegapcost.c
// Function: nextAStabcolumn
static void nextAStabcolumn(GtAffinealignDPentry *Atabcolumn,
                            Starttabentry *Starttabcolumn,
                            const GtScoreHandler *scorehandler,
                            const GtUchar *useq, GtUword ustart,
                            GtUword ulen,
                            GtUchar b,
                            GtUword colindex,
                            GtMaxcoordvalue *max)
{
  GtAffinealignDPentry northwestAffinealignDPentry, westAffinealignDPentry;
  Starttabentry Snw, Swe;
  GtUword rowindex;
  GtWord gap_extension, gap_opening, replacement, temp, val1, val2;
  GtUwordPair start = {0};

  gap_opening = gt_scorehandler_get_gap_opening(scorehandler);
  gap_extension = gt_scorehandler_get_gapscore(scorehandler);

  northwestAffinealignDPentry = Atabcolumn[0];
  Snw = Starttabcolumn[0];
  Atabcolumn[0].Rvalue = GT_WORD_MIN;
  Atabcolumn[0].Dvalue = GT_WORD_MIN;
  Atabcolumn[0].Ivalue = (gap_opening + gap_extension);
  temp = GT_MAX3(Atabcolumn[0].Rvalue,
              Atabcolumn[0].Dvalue,
              Atabcolumn[0].Ivalue);
  Atabcolumn[0].totalvalue = ((temp > 0)? temp : 0);

  if (Atabcolumn[0].totalvalue == 0) {
    Starttabcolumn[0].Rstart.a = 0;
    Starttabcolumn[0].Rstart.b = colindex;
    Starttabcolumn[0].Dstart.a = 0;
    Starttabcolumn[0].Dstart.b = colindex;
    Starttabcolumn[0].Istart.a = 0;
    Starttabcolumn[0].Istart.b = colindex;
  }

  if (Atabcolumn[0].totalvalue > gt_maxcoordvalue_get_value(max))
    {
      if (Atabcolumn[0].totalvalue == Atabcolumn[0].Rvalue)
         start = Starttabcolumn[0].Rstart;
      else if (Atabcolumn[0].totalvalue == Atabcolumn[0].Dvalue)
         start = Starttabcolumn[0].Dstart;
      else if (Atabcolumn[0].totalvalue == Atabcolumn[0].Ivalue)
         start = Starttabcolumn[0].Istart;

      gt_maxcoordvalue_coord_update(max, Atabcolumn[0].totalvalue,
                                    start, 0, colindex);
    }
  for (rowindex = 1; rowindex <= ulen; rowindex++)
  {
    westAffinealignDPentry = Atabcolumn[rowindex];
    Swe = Starttabcolumn[rowindex];

    /*calculate Rvalue*/
    replacement = gt_scorehandler_get_replacement(scorehandler,
                                                  useq[ustart+rowindex-1], b);

    Atabcolumn[rowindex].Rvalue =
              add_safe_min(northwestAffinealignDPentry.totalvalue, replacement);
    Starttabcolumn[rowindex].Rstart =
    setStarttabentry(Atabcolumn[rowindex].Rvalue, &northwestAffinealignDPentry,
                      &Snw, replacement,gap_opening, gap_extension, Affine_R);

    /*calculate Dvalue*/
    val1 = add_safe_min(Atabcolumn[rowindex-1].Dvalue, gap_extension);
    val2 = add_safe_min(Atabcolumn[rowindex-1].totalvalue,
                       (gap_opening+gap_extension));
    Atabcolumn[rowindex].Dvalue = GT_MAX(val1,val2);
    Starttabcolumn[rowindex].Dstart =
    setStarttabentry(Atabcolumn[rowindex].Dvalue, &Atabcolumn[rowindex-1],
                     &Starttabcolumn[rowindex-1], replacement, gap_opening,
                     gap_extension,Affine_D);

    /*calculate Ivalue*/
    val1=(add_safe_min(westAffinealignDPentry.Ivalue,gap_extension));
    val2=(add_safe_min(westAffinealignDPentry.totalvalue,
                              gap_opening+gap_extension));
    Atabcolumn[rowindex].Ivalue = GT_MAX(val1,val2);
    Starttabcolumn[rowindex].Istart =
    setStarttabentry(Atabcolumn[rowindex].Ivalue, &westAffinealignDPentry, &Swe,
                     replacement, gap_opening, gap_extension, Affine_I);

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

    /* set start indices for Atab-values*/
    if (Atabcolumn[rowindex].totalvalue == 0)
    {
      Starttabcolumn[rowindex].Rstart.a = rowindex;
      Starttabcolumn[rowindex].Rstart.b = colindex;
      Starttabcolumn[rowindex].Dstart.a = rowindex;
      Starttabcolumn[rowindex].Dstart.b = colindex;
      Starttabcolumn[rowindex].Istart.a = rowindex;
      Starttabcolumn[rowindex].Istart.b = colindex;
    }

    /*set new max*/
    if (Atabcolumn[rowindex].totalvalue > gt_maxcoordvalue_get_value(max))
    {
      if (Atabcolumn[rowindex].totalvalue == Atabcolumn[rowindex].Rvalue)
         start = Starttabcolumn[rowindex].Rstart;
      else if (Atabcolumn[rowindex].totalvalue == Atabcolumn[rowindex].Dvalue)
         start = Starttabcolumn[rowindex].Dstart;
      else if (Atabcolumn[rowindex].totalvalue == Atabcolumn[rowindex].Ivalue)
         start = Starttabcolumn[rowindex].Istart;

      gt_maxcoordvalue_coord_update(max, Atabcolumn[rowindex].totalvalue,
                                    start, rowindex, colindex);
    }
    northwestAffinealignDPentry = westAffinealignDPentry;
    Snw=Swe;
  }
}

// Assembly:
subq $0x218, %rsp            # imm = 0x218
movq 0x230(%rsp), %rax
movq 0x228(%rsp), %rax
movb 0x220(%rsp), %al
movq %rdi, 0x210(%rsp)
movq %rsi, 0x208(%rsp)
movq %rdx, 0x200(%rsp)
movq %rcx, 0x1f8(%rsp)
movq %r8, 0x1f0(%rsp)
movq %r9, 0x1e8(%rsp)
leaq 0xe0(%rsp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x19360
movq 0x200(%rsp), %rdi
callq 0x1d1180
movq %rax, 0x110(%rsp)
movq 0x200(%rsp), %rdi
callq 0x1d11d0
movq %rax, 0x118(%rsp)
movq 0x210(%rsp), %rsi
leaq 0x1b8(%rsp), %rdi
movl $0x30, %edx
callq 0x19610
movq 0x208(%rsp), %rsi
leaq 0x158(%rsp), %rdi
movl $0x30, %edx
callq 0x19610
movq 0x210(%rsp), %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
movq %rcx, (%rax)
movq 0x210(%rsp), %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
movq %rcx, 0x8(%rax)
movq 0x110(%rsp), %rcx
addq 0x118(%rsp), %rcx
movq 0x210(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x210(%rsp), %rax
movq (%rax), %rax
movq 0x210(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jle 0x1a2194
movq 0x210(%rsp), %rax
movq (%rax), %rax
movq 0x210(%rsp), %rcx
cmpq 0x10(%rcx), %rax
jle 0x1a216e
movq 0x210(%rsp), %rax
movq (%rax), %rax
movq %rax, 0xa8(%rsp)
jmp 0x1a2182
movq 0x210(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0xa8(%rsp)
movq 0xa8(%rsp), %rax
movq %rax, 0xa0(%rsp)
jmp 0x1a21e8
movq 0x210(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x210(%rsp), %rcx
cmpq 0x10(%rcx), %rax
jle 0x1a21c4
movq 0x210(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x98(%rsp)
jmp 0x1a21d8
movq 0x210(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x98(%rsp)
movq 0x98(%rsp), %rax
movq %rax, 0xa0(%rsp)
movq 0xa0(%rsp), %rax
movq %rax, 0x100(%rsp)
cmpq $0x0, 0x100(%rsp)
jle 0x1a2215
movq 0x100(%rsp), %rax
movq %rax, 0x90(%rsp)
jmp 0x1a2221
xorl %eax, %eax
movq %rax, 0x90(%rsp)
jmp 0x1a2221
movq 0x90(%rsp), %rcx
movq 0x210(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x210(%rsp), %rax
cmpq $0x0, 0x18(%rax)
jne 0x1a22af
movq 0x208(%rsp), %rax
movq $0x0, (%rax)
movq 0x228(%rsp), %rcx
movq 0x208(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x208(%rsp), %rax
movq $0x0, 0x10(%rax)
movq 0x228(%rsp), %rcx
movq 0x208(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x208(%rsp), %rax
movq $0x0, 0x20(%rax)
movq 0x228(%rsp), %rcx
movq 0x208(%rsp), %rax
movq %rcx, 0x28(%rax)
movq 0x210(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x88(%rsp)
movq 0x230(%rsp), %rdi
callq 0x1ac4c0
movq %rax, %rcx
movq 0x88(%rsp), %rax
cmpq %rcx, %rax
jle 0x1a23ce
movq 0x210(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x210(%rsp), %rcx
cmpq (%rcx), %rax
jne 0x1a231e
movq 0x208(%rsp), %rax
movq (%rax), %rcx
movq %rcx, 0xe0(%rsp)
movq 0x8(%rax), %rax
movq %rax, 0xe8(%rsp)
jmp 0x1a2398
movq 0x210(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x210(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jne 0x1a235a
movq 0x208(%rsp), %rax
movq 0x10(%rax), %rcx
movq %rcx, 0xe0(%rsp)
movq 0x18(%rax), %rax
movq %rax, 0xe8(%rsp)
jmp 0x1a2396
movq 0x210(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x210(%rsp), %rcx
cmpq 0x10(%rcx), %rax
jne 0x1a2394
movq 0x208(%rsp), %rax
movq 0x20(%rax), %rcx
movq %rcx, 0xe0(%rsp)
movq 0x28(%rax), %rax
movq %rax, 0xe8(%rsp)
jmp 0x1a2396
jmp 0x1a2398
movq 0x230(%rsp), %rdi
movq 0x210(%rsp), %rax
movq 0x18(%rax), %rsi
movq 0x228(%rsp), %r9
movq 0xe0(%rsp), %rdx
movq 0xe8(%rsp), %rcx
xorl %eax, %eax
movl %eax, %r8d
callq 0x1ac6e0
movq $0x1, 0x120(%rsp)
movq 0x120(%rsp), %rax
cmpq 0x1e8(%rsp), %rax
ja 0x1a2d29
movq 0x210(%rsp), %rsi
imulq $0x30, 0x120(%rsp), %rax
addq %rax, %rsi
leaq 0x188(%rsp), %rdi
movl $0x30, %edx
callq 0x19610
movq 0x208(%rsp), %rsi
imulq $0x30, 0x120(%rsp), %rax
addq %rax, %rsi
leaq 0x128(%rsp), %rdi
movl $0x30, %edx
callq 0x19610
movq 0x200(%rsp), %rdi
movq 0x1f8(%rsp), %rax
movq 0x1f0(%rsp), %rcx
addq 0x120(%rsp), %rcx
subq $0x1, %rcx
movb (%rax,%rcx), %al
movzbl %al, %esi
movzbl 0x220(%rsp), %edx
callq 0x1d12c0
movq %rax, 0x108(%rsp)
movabsq $-0x8000000000000000, %rax # imm = 0x8000000000000000
cmpq %rax, 0x1d0(%rsp)
je 0x1a24a9
movq 0x1d0(%rsp), %rax
addq 0x108(%rsp), %rax
movq %rax, 0x80(%rsp)
jmp 0x1a24bd
movabsq $-0x8000000000000000, %rax # imm = 0x8000000000000000
movq %rax, 0x80(%rsp)
jmp 0x1a24bd
movq 0x80(%rsp), %rcx
movq 0x210(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rdx
addq %rdx, %rax
movq %rcx, (%rax)
movq 0x208(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x78(%rsp)
movq 0x210(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rcx
addq %rcx, %rax
movq (%rax), %rdi
movq 0x108(%rsp), %rcx
movq 0x110(%rsp), %r8
movq 0x118(%rsp), %r9
leaq 0x1b8(%rsp), %rsi
leaq 0x158(%rsp), %rdx
xorl %eax, %eax
movl $0x0, (%rsp)
callq 0x1a2d40
movq %rax, %rcx
movq 0x78(%rsp), %rax
movq %rcx, 0xd0(%rsp)
movq %rdx, 0xd8(%rsp)
movq 0xd0(%rsp), %rcx
movq %rcx, (%rax)
movq 0xd8(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq 0x210(%rsp), %rax
movq 0x120(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
cmpq %rcx, 0x8(%rax)
je 0x1a25ca
movq 0x210(%rsp), %rax
movq 0x120(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
addq 0x118(%rsp), %rax
movq %rax, 0x70(%rsp)
jmp 0x1a25db
movabsq $-0x8000000000000000, %rax # imm = 0x8000000000000000
movq %rax, 0x70(%rsp)
jmp 0x1a25db
movq 0x70(%rsp), %rax
movq %rax, 0xf8(%rsp)
movq 0x210(%rsp), %rax
movq 0x120(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
cmpq %rcx, 0x18(%rax)
je 0x1a264c
movq 0x210(%rsp), %rax
movq 0x120(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq 0x18(%rax), %rax
movq 0x110(%rsp), %rcx
addq 0x118(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x68(%rsp)
jmp 0x1a265d
movabsq $-0x8000000000000000, %rax # imm = 0x8000000000000000
movq %rax, 0x68(%rsp)
jmp 0x1a265d
movq 0x68(%rsp), %rax
movq %rax, 0xf0(%rsp)
movq 0xf8(%rsp), %rax
cmpq 0xf0(%rsp), %rax
jle 0x1a268b
movq 0xf8(%rsp), %rax
movq %rax, 0x60(%rsp)
jmp 0x1a2698
movq 0xf0(%rsp), %rax
movq %rax, 0x60(%rsp)
movq 0x60(%rsp), %rcx
movq 0x210(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rdx
addq %rdx, %rax
movq %rcx, 0x8(%rax)
movq 0x208(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x58(%rsp)
movq 0x210(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rcx
addq %rcx, %rax
movq 0x8(%rax), %rdi
movq 0x210(%rsp), %rsi
movq 0x120(%rsp), %rax
subq $0x1, %rax
imulq $0x30, %rax, %rax
addq %rax, %rsi
movq 0x208(%rsp), %rdx
movq 0x120(%rsp), %rax
subq $0x1, %rax
imulq $0x30, %rax, %rax
addq %rax, %rdx
movq 0x108(%rsp), %rcx
movq 0x110(%rsp), %r8
movq 0x118(%rsp), %r9
movl $0x1, (%rsp)
callq 0x1a2d40
movq %rax, %rcx
movq 0x58(%rsp), %rax
movq %rcx, 0xc0(%rsp)
movq %rdx, 0xc8(%rsp)
movq 0xc0(%rsp), %rcx
movq %rcx, 0x10(%rax)
movq 0xc8(%rsp), %rcx
movq %rcx, 0x18(%rax)
movabsq $-0x8000000000000000, %rax # imm = 0x8000000000000000
cmpq %rax, 0x198(%rsp)
je 0x1a279b
movq 0x198(%rsp), %rax
addq 0x118(%rsp), %rax
movq %rax, 0x50(%rsp)
jmp 0x1a27ac
movabsq $-0x8000000000000000, %rax # imm = 0x8000000000000000
movq %rax, 0x50(%rsp)
jmp 0x1a27ac
movq 0x50(%rsp), %rax
movq %rax, 0xf8(%rsp)
movabsq $-0x8000000000000000, %rax # imm = 0x8000000000000000
cmpq %rax, 0x1a0(%rsp)
je 0x1a27ef
movq 0x1a0(%rsp), %rax
movq 0x110(%rsp), %rcx
addq 0x118(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x48(%rsp)
jmp 0x1a2800
movabsq $-0x8000000000000000, %rax # imm = 0x8000000000000000
movq %rax, 0x48(%rsp)
jmp 0x1a2800
movq 0x48(%rsp), %rax
movq %rax, 0xf0(%rsp)
movq 0xf8(%rsp), %rax
cmpq 0xf0(%rsp), %rax
jle 0x1a282e
movq 0xf8(%rsp), %rax
movq %rax, 0x40(%rsp)
jmp 0x1a283b
movq 0xf0(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rcx
movq 0x210(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rdx
addq %rdx, %rax
movq %rcx, 0x10(%rax)
movq 0x208(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x38(%rsp)
movq 0x210(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rcx
addq %rcx, %rax
movq 0x10(%rax), %rdi
movq 0x108(%rsp), %rcx
movq 0x110(%rsp), %r8
movq 0x118(%rsp), %r9
leaq 0x188(%rsp), %rsi
leaq 0x128(%rsp), %rdx
movl $0x2, (%rsp)
callq 0x1a2d40
movq %rax, %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0xb0(%rsp)
movq %rdx, 0xb8(%rsp)
movq 0xb0(%rsp), %rcx
movq %rcx, 0x20(%rax)
movq 0xb8(%rsp), %rcx
movq %rcx, 0x28(%rax)
movq 0x210(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rcx
addq %rcx, %rax
movq (%rax), %rax
movq 0x210(%rsp), %rcx
imulq $0x30, 0x120(%rsp), %rdx
addq %rdx, %rcx
cmpq 0x8(%rcx), %rax
jle 0x1a2996
movq 0x210(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rcx
addq %rcx, %rax
movq (%rax), %rax
movq 0x210(%rsp), %rcx
imulq $0x30, 0x120(%rsp), %rdx
addq %rdx, %rcx
cmpq 0x10(%rcx), %rax
jle 0x1a296d
movq 0x210(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rcx
addq %rcx, %rax
movq (%rax), %rax
movq %rax, 0x30(%rsp)
jmp 0x1a298a
movq 0x210(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rcx
addq %rcx, %rax
movq 0x10(%rax), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x28(%rsp)
jmp 0x1a2a0e
movq 0x210(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
movq 0x210(%rsp), %rcx
imulq $0x30, 0x120(%rsp), %rdx
addq %rdx, %rcx
cmpq 0x10(%rcx), %rax
jle 0x1a29e7
movq 0x210(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
movq %rax, 0x20(%rsp)
jmp 0x1a2a04
movq 0x210(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rcx
addq %rcx, %rax
movq 0x10(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x100(%rsp)
cmpq $0x0, 0x100(%rsp)
jle 0x1a2a35
movq 0x100(%rsp), %rax
movq %rax, 0x18(%rsp)
jmp 0x1a2a3e
xorl %eax, %eax
movq %rax, 0x18(%rsp)
jmp 0x1a2a3e
movq 0x18(%rsp), %rcx
movq 0x210(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rdx
addq %rdx, %rax
movq %rcx, 0x18(%rax)
movq 0x210(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rcx
addq %rcx, %rax
cmpq $0x0, 0x18(%rax)
jne 0x1a2b39
movq 0x120(%rsp), %rcx
movq 0x208(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rdx
addq %rdx, %rax
movq %rcx, (%rax)
movq 0x228(%rsp), %rcx
movq 0x208(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rdx
addq %rdx, %rax
movq %rcx, 0x8(%rax)
movq 0x120(%rsp), %rcx
movq 0x208(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rdx
addq %rdx, %rax
movq %rcx, 0x10(%rax)
movq 0x228(%rsp), %rcx
movq 0x208(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rdx
addq %rdx, %rax
movq %rcx, 0x18(%rax)
movq 0x120(%rsp), %rcx
movq 0x208(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rdx
addq %rdx, %rax
movq %rcx, 0x20(%rax)
movq 0x228(%rsp), %rcx
movq 0x208(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rdx
addq %rdx, %rax
movq %rcx, 0x28(%rax)
movq 0x210(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rcx
addq %rcx, %rax
movq 0x18(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x230(%rsp), %rdi
callq 0x1ac4c0
movq %rax, %rcx
movq 0x10(%rsp), %rax
cmpq %rcx, %rax
jle 0x1a2cdc
movq 0x210(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rcx
addq %rcx, %rax
movq 0x18(%rax), %rax
movq 0x210(%rsp), %rcx
imulq $0x30, 0x120(%rsp), %rdx
addq %rdx, %rcx
cmpq (%rcx), %rax
jne 0x1a2bd5
movq 0x208(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rcx
addq %rcx, %rax
movq (%rax), %rcx
movq %rcx, 0xe0(%rsp)
movq 0x8(%rax), %rax
movq %rax, 0xe8(%rsp)
jmp 0x1a2c97
movq 0x210(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rcx
addq %rcx, %rax
movq 0x18(%rax), %rax
movq 0x210(%rsp), %rcx
imulq $0x30, 0x120(%rsp), %rdx
addq %rdx, %rcx
cmpq 0x8(%rcx), %rax
jne 0x1a2c35
movq 0x208(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rcx
addq %rcx, %rax
movq 0x10(%rax), %rcx
movq %rcx, 0xe0(%rsp)
movq 0x18(%rax), %rax
movq %rax, 0xe8(%rsp)
jmp 0x1a2c95
movq 0x210(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rcx
addq %rcx, %rax
movq 0x18(%rax), %rax
movq 0x210(%rsp), %rcx
imulq $0x30, 0x120(%rsp), %rdx
addq %rdx, %rcx
cmpq 0x10(%rcx), %rax
jne 0x1a2c93
movq 0x208(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rcx
addq %rcx, %rax
movq 0x20(%rax), %rcx
movq %rcx, 0xe0(%rsp)
movq 0x28(%rax), %rax
movq %rax, 0xe8(%rsp)
jmp 0x1a2c95
jmp 0x1a2c97
movq 0x230(%rsp), %rdi
movq 0x210(%rsp), %rax
imulq $0x30, 0x120(%rsp), %rcx
addq %rcx, %rax
movq 0x18(%rax), %rsi
movq 0x120(%rsp), %r8
movq 0x228(%rsp), %r9
movq 0xe0(%rsp), %rdx
movq 0xe8(%rsp), %rcx
callq 0x1ac6e0
leaq 0x1b8(%rsp), %rdi
leaq 0x188(%rsp), %rsi
movl $0x30, %edx
callq 0x19610
leaq 0x158(%rsp), %rdi
leaq 0x128(%rsp), %rsi
movl $0x30, %edx
callq 0x19610
movq 0x120(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x120(%rsp)
jmp 0x1a23da
addq $0x218, %rsp            # imm = 0x218
retq
nopw %cs:(%rax,%rax)