// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/shu-dfs.c
// Function: visit_shu_children
static int visit_shu_children(const FMindex *index,
                              ShuNode *parent,
                              GtStackShuNode *stack,
                              const GtEncseq *encseq,
                              Mbtab *tmpmbtab,
                              BwtSeqpositionextractor *pos_extractor,
                              GtUword *rangeOccs,
                              GtUword **special_pos,
                              GT_UNUSED GtUword numofchars,
                              const GtShuUnitFileInfo *unit_info,
                              GtUword total_length,
                              GtUword max_idx,
                              GT_UNUSED GtLogger *logger,
                              GT_UNUSED GtError *err)
{
  GtUword rangesize, idx, num_of_rows;
  unsigned int offset;

  gt_assert(parent->lower < parent->upper);
  num_of_rows = parent->upper - parent->lower;

  rangesize = gt_bwtrangesplitallwithoutspecial(tmpmbtab,
                                                rangeOccs,
                                                index,
                                                parent->lower,
                                                parent->upper);
  gt_assert(rangesize <= numofchars);

  offset = 1U;
  for (idx = 0; idx < rangesize; idx++)
  {
    gt_assert (tmpmbtab[idx].lowerbound <= tmpmbtab[idx].upperbound);
    gt_assert ((tmpmbtab[idx].upperbound - tmpmbtab[idx].lowerbound) <=
              num_of_rows);
    num_of_rows -= (tmpmbtab[idx].upperbound - tmpmbtab[idx].lowerbound);

    if (tmpmbtab[idx].lowerbound != tmpmbtab[idx].upperbound)
    {
      if (tmpmbtab[idx].lowerbound + 1 ==
          tmpmbtab[idx].upperbound)
      { /* we found a leaf on parent */
        add_filenum_count(tmpmbtab[idx].lowerbound,
                          tmpmbtab[idx].upperbound,
                          parent,
                          pos_extractor,
                          total_length,
                          unit_info,
                          encseq);
      }
      else
      {
        if (tmpmbtab[idx].upperbound - tmpmbtab[idx].lowerbound ==
            parent->upper - parent->lower)
        { /* tmpmbtab[idx] is part of a branch and no actual node */
          parent->lower = tmpmbtab[idx].lowerbound;
          parent->upper = tmpmbtab[idx].upperbound;
          parent->depth++;
          return 0;
        }
        else
        { /* tmpmbtab[idx] is a branch of parent node */
          ShuNode *child = NULL;

          GT_STACK_NEXT_FREE(stack,child);
          if (child->countTermSubtree == NULL)
          {
            gt_array2dim_calloc(child->countTermSubtree,
                                numofchars+1UL,
                                unit_info->num_of_genomes);
          }
          else
          {
            GtUword y_idx, file_idx;
            for (y_idx = 0; y_idx < numofchars+1UL; y_idx++)
            {
              for (file_idx = 0;
                   file_idx < unit_info->num_of_genomes;
                   file_idx++)
              {
                child->countTermSubtree[y_idx][file_idx] = 0;
              }
            }
          }
          child->process = false;
          child->lower = tmpmbtab[idx].lowerbound;
          child->upper = tmpmbtab[idx].upperbound;
          child->parentOffset = offset;
          child->depth = parent->depth + 1;
          offset++;
        }
      }
    }
  }
  if (parent->depth > 0 && num_of_rows > 0) {
    GtUword start_idx;
    /* GtUword max_idx - already determined*/

    gt_assert(num_of_rows <= max_idx + 1);
    gt_assert(parent->lower <= special_pos[0][max_idx]);
    gt_assert(special_pos[0][0] <= parent->upper);

    start_idx = get_start_idx_binary_search(parent,
                                            special_pos,
                                            max_idx);
    for (idx = start_idx;
        special_pos[0][idx] < parent->upper && idx <= max_idx;
        idx++)
    {
      GtUword filenum,
                    position = special_pos[1][idx];

      gt_assert(1UL <= num_of_rows);

      num_of_rows--;

      if (total_length <= position)
      {
        filenum = unit_info->num_of_files - 1;
      }
      else
      {
        gt_assert((position + 1) <= total_length);
        position = total_length - (position + 1);
        filenum = gt_encseq_filenum(encseq, position);
      }
      /*mapping to genome_num*/
      if (unit_info->map_files != NULL)
      {
        parent->countTermSubtree[0][unit_info->map_files[filenum]]++;
      }
      else
      {
        parent->countTermSubtree[0][filenum]++;
      }
    }
    gt_assert(num_of_rows==0);
  }
  parent->process = true;
  return 0;
}

// Assembly:
subq $0xc8, %rsp
movq 0x108(%rsp), %rax
movq 0x100(%rsp), %rax
movq 0xf8(%rsp), %rax
movq 0xf0(%rsp), %rax
movq 0xe8(%rsp), %rax
movq 0xe0(%rsp), %rax
movq 0xd8(%rsp), %rax
movq 0xd0(%rsp), %rax
movq %rdi, 0xb8(%rsp)
movq %rsi, 0xb0(%rsp)
movq %rdx, 0xa8(%rsp)
movq %rcx, 0xa0(%rsp)
movq %r8, 0x98(%rsp)
movq %r9, 0x90(%rsp)
movq 0xb0(%rsp), %rax
movq 0x18(%rax), %rax
movq 0xb0(%rsp), %rcx
cmpq 0x20(%rcx), %rax
jb 0x4e6199
movq 0x155e38(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2fea1(%rip), %rsi     # 0x516013
leaq 0xd519c(%rip), %rdx     # 0x5bb315
leaq 0xd51b3(%rip), %rcx     # 0x5bb333
leaq 0xd5039(%rip), %r8      # 0x5bb1c0
movl $0xaa, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4e619b
movq 0xb0(%rsp), %rax
movq 0x20(%rax), %rax
movq 0xb0(%rsp), %rcx
subq 0x18(%rcx), %rax
movq %rax, 0x78(%rsp)
movq 0x98(%rsp), %rdi
movq 0xd0(%rsp), %rsi
movq 0xb8(%rsp), %rdx
movq 0xb0(%rsp), %rax
movq 0x18(%rax), %rcx
movq 0xb0(%rsp), %rax
movq 0x20(%rax), %r8
callq 0x2304a0
movq %rax, 0x88(%rsp)
movq 0x88(%rsp), %rax
cmpq 0xe0(%rsp), %rax
jbe 0x4e623f
movq 0x155d92(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2fdfb(%rip), %rsi     # 0x516013
leaq 0xd5127(%rip), %rdx     # 0x5bb346
leaq 0xd510d(%rip), %rcx     # 0x5bb333
leaq 0xd4f93(%rip), %r8      # 0x5bb1c0
movl $0xb2, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4e6241
movl $0x1, 0x74(%rsp)
movq $0x0, 0x80(%rsp)
movq 0x80(%rsp), %rax
cmpq 0x88(%rsp), %rax
jae 0x4e6934
jmp 0x4e626d
movq 0x98(%rsp), %rax
movq 0x80(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
movq 0x98(%rsp), %rcx
movq 0x80(%rsp), %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
cmpq 0x8(%rcx), %rax
jbe 0x4e62dc
movq 0x155cf5(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2fd5e(%rip), %rsi     # 0x516013
leaq 0xd50a2(%rip), %rdx     # 0x5bb35e
leaq 0xd5070(%rip), %rcx     # 0x5bb333
leaq 0xd4ef6(%rip), %r8      # 0x5bb1c0
movl $0xb7, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4e62de
jmp 0x4e62e0
movq 0x98(%rsp), %rax
movq 0x80(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
movq 0x98(%rsp), %rcx
movq 0x80(%rsp), %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
subq (%rcx), %rax
cmpq 0x78(%rsp), %rax
jbe 0x4e6354
movq 0x155c7d(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2fce6(%rip), %rsi     # 0x516013
leaq 0xd505f(%rip), %rdx     # 0x5bb393
leaq 0xd4ff8(%rip), %rcx     # 0x5bb333
leaq 0xd4e7e(%rip), %r8      # 0x5bb1c0
movl $0xb9, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4e6356
movq 0x98(%rsp), %rax
movq 0x80(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rcx
movq 0x98(%rsp), %rax
movq 0x80(%rsp), %rdx
shlq $0x4, %rdx
addq %rdx, %rax
subq (%rax), %rcx
movq 0x78(%rsp), %rax
subq %rcx, %rax
movq %rax, 0x78(%rsp)
movq 0x98(%rsp), %rax
movq 0x80(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
movq 0x98(%rsp), %rcx
movq 0x80(%rsp), %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
cmpq 0x8(%rcx), %rax
je 0x4e6919
movq 0x98(%rsp), %rax
movq 0x80(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
addq $0x1, %rax
movq 0x98(%rsp), %rcx
movq 0x80(%rsp), %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
cmpq 0x8(%rcx), %rax
jne 0x4e6479
movq 0x98(%rsp), %rax
movq 0x80(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rdi
movq 0x98(%rsp), %rax
movq 0x80(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rsi
movq 0xb0(%rsp), %rdx
movq 0x90(%rsp), %rcx
movq 0xf0(%rsp), %r8
movq 0xe8(%rsp), %r9
movq 0xa0(%rsp), %rax
movq %rax, (%rsp)
callq 0x4e6ce0
jmp 0x4e6917
movq 0x98(%rsp), %rax
movq 0x80(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
movq 0x98(%rsp), %rcx
movq 0x80(%rsp), %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
subq (%rcx), %rax
movq 0xb0(%rsp), %rcx
movq 0x20(%rcx), %rcx
movq 0xb0(%rsp), %rdx
subq 0x18(%rdx), %rcx
cmpq %rcx, %rax
jne 0x4e653c
movq 0x98(%rsp), %rax
movq 0x80(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rcx
movq 0xb0(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x98(%rsp), %rax
movq 0x80(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rcx
movq 0xb0(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0xb0(%rsp), %rax
movq 0x10(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x10(%rax)
movl $0x0, 0xc4(%rsp)
jmp 0x4e6cca
movq $0x0, 0x68(%rsp)
movq 0xa8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0xa8(%rsp), %rcx
cmpq (%rcx), %rax
jne 0x4e66d0
movq $0x28, 0x60(%rsp)
movq 0x60(%rsp), %rax
movq 0xa8(%rsp), %rcx
movq (%rcx), %rcx
movq 0xa8(%rsp), %rdx
addq 0x20(%rdx), %rcx
imulq %rcx, %rax
movq %rax, 0x58(%rsp)
movq 0xa8(%rsp), %rax
movq (%rax), %rax
movq 0xa8(%rsp), %rcx
cmpq 0x18(%rcx), %rax
jne 0x4e65b2
xorl %eax, %eax
movq %rax, 0x18(%rsp)
jmp 0x4e65c6
movq 0xa8(%rsp), %rax
movq 0x2828(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movq 0x58(%rsp), %rsi
leaq 0xd4be9(%rip), %rdx     # 0x5bb1c0
movl $0xd7, %ecx
callq 0xe8540
movq %rax, %rcx
movq 0xa8(%rsp), %rax
movq %rcx, 0x2828(%rax)
movq 0xa8(%rsp), %rax
movq (%rax), %rax
movq 0xa8(%rsp), %rcx
cmpq 0x18(%rcx), %rax
jne 0x4e663e
movq 0xa8(%rsp), %rax
movq 0x2828(%rax), %rdi
movq 0xa8(%rsp), %rsi
addq $0x28, %rsi
movq 0x60(%rsp), %rdx
movq 0xa8(%rsp), %rax
imulq 0x18(%rax), %rdx
callq 0x19610
movq 0xa8(%rsp), %rax
cmpq $0x0, 0x2830(%rax)
je 0x4e66b6
movq $0x0, 0x50(%rsp)
movq 0x50(%rsp), %rax
movq 0xa8(%rsp), %rcx
cmpq 0x20(%rcx), %rax
jae 0x4e66b4
movq 0xa8(%rsp), %rax
movq 0x2830(%rax), %rax
movq 0xa8(%rsp), %rcx
movq 0x2828(%rcx), %rdi
movq 0xa8(%rsp), %rcx
imulq $0x28, (%rcx), %rcx
addq %rcx, %rdi
imulq $0x28, 0x50(%rsp), %rcx
addq %rcx, %rdi
callq *%rax
movq 0x50(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x50(%rsp)
jmp 0x4e6659
jmp 0x4e66b6
movq 0xa8(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0xa8(%rsp), %rax
addq (%rax), %rcx
movq %rcx, (%rax)
movq 0xa8(%rsp), %rax
movq 0x2828(%rax), %rax
movq 0xa8(%rsp), %rdx
movq 0x10(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x10(%rdx)
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movq %rax, 0x68(%rsp)
movq 0xa8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0xa8(%rsp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x4e6734
movq 0xa8(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0xa8(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x68(%rsp), %rax
cmpq $0x0, 0x8(%rax)
jne 0x4e6819
movq 0xe0(%rsp), %rdi
addq $0x1, %rdi
shlq $0x3, %rdi
leaq 0xd4a65(%rip), %rsi     # 0x5bb1c0
movl $0xdc, %edx
callq 0xe80f0
movq %rax, %rcx
movq 0x68(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0xe0(%rsp), %rdi
addq $0x1, %rdi
movq 0xe8(%rsp), %rax
imulq (%rax), %rdi
movl $0x8, %esi
leaq 0xd4a2b(%rip), %rdx     # 0x5bb1c0
movl $0xdc, %ecx
callq 0xe83c0
movq %rax, %rcx
movq 0x68(%rsp), %rax
movq 0x8(%rax), %rax
movq %rcx, (%rax)
movq $0x1, 0x48(%rsp)
movq 0x48(%rsp), %rax
movq 0xe0(%rsp), %rcx
addq $0x1, %rcx
cmpq %rcx, %rax
jae 0x4e6817
movq 0x68(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x48(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rdx
movq 0xe8(%rsp), %rax
movq (%rax), %rax
shlq $0x3, %rax
addq %rax, %rdx
movq 0x68(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x48(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x48(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x48(%rsp)
jmp 0x4e67b7
jmp 0x4e6896
movq $0x0, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq 0xe0(%rsp), %rcx
addq $0x1, %rcx
cmpq %rcx, %rax
jae 0x4e6894
movq $0x0, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq 0xe8(%rsp), %rcx
cmpq (%rcx), %rax
jae 0x4e6882
movq 0x68(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x40(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x38(%rsp), %rcx
movq $0x0, (%rax,%rcx,8)
movq 0x38(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x38(%rsp)
jmp 0x4e6841
jmp 0x4e6884
movq 0x40(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x40(%rsp)
jmp 0x4e6822
jmp 0x4e6896
movq 0x68(%rsp), %rax
movb $0x0, (%rax)
movq 0x98(%rsp), %rax
movq 0x80(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rcx
movq 0x68(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x98(%rsp), %rax
movq 0x80(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rcx
movq 0x68(%rsp), %rax
movq %rcx, 0x20(%rax)
movl 0x74(%rsp), %ecx
movq 0x68(%rsp), %rax
movl %ecx, 0x4(%rax)
movq 0xb0(%rsp), %rax
movq 0x10(%rax), %rcx
addq $0x1, %rcx
movq 0x68(%rsp), %rax
movq %rcx, 0x10(%rax)
movl 0x74(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x74(%rsp)
jmp 0x4e6917
jmp 0x4e6919
jmp 0x4e691b
movq 0x80(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x80(%rsp)
jmp 0x4e6255
movq 0xb0(%rsp), %rax
cmpq $0x0, 0x10(%rax)
jbe 0x4e6cb4
cmpq $0x0, 0x78(%rsp)
jbe 0x4e6cb4
jmp 0x4e6955
movq 0x78(%rsp), %rax
movq 0xf8(%rsp), %rcx
addq $0x1, %rcx
cmpq %rcx, %rax
jbe 0x4e69a3
movq 0x15562e(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2f697(%rip), %rsi     # 0x516013
leaq 0xd4a55(%rip), %rdx     # 0x5bb3d8
leaq 0xd49a9(%rip), %rcx     # 0x5bb333
leaq 0xd482f(%rip), %r8      # 0x5bb1c0
movl $0xf9, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4e69a5
jmp 0x4e69a7
movq 0xb0(%rsp), %rax
movq 0x18(%rax), %rax
movq 0xd8(%rsp), %rcx
movq (%rcx), %rcx
movq 0xf8(%rsp), %rdx
cmpq (%rcx,%rdx,8), %rax
jbe 0x4e6a04
movq 0x1555cd(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2f636(%rip), %rsi     # 0x516013
leaq 0xd4a0f(%rip), %rdx     # 0x5bb3f3
leaq 0xd4948(%rip), %rcx     # 0x5bb333
leaq 0xd47ce(%rip), %r8      # 0x5bb1c0
movl $0xfa, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4e6a06
jmp 0x4e6a08
movq 0xd8(%rsp), %rax
movq (%rax), %rax
movq (%rax), %rax
movq 0xb0(%rsp), %rcx
cmpq 0x20(%rcx), %rax
jbe 0x4e6a5c
movq 0x155575(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2f5de(%rip), %rsi     # 0x516013
leaq 0xd49e0(%rip), %rdx     # 0x5bb41c
leaq 0xd48f0(%rip), %rcx     # 0x5bb333
leaq 0xd4776(%rip), %r8      # 0x5bb1c0
movl $0xfb, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4e6a5e
movq 0xb0(%rsp), %rdi
movq 0xd8(%rsp), %rsi
movq 0xf8(%rsp), %rdx
callq 0x4e6e40
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x80(%rsp)
movq 0xd8(%rsp), %rax
movq (%rax), %rax
movq 0x80(%rsp), %rcx
movq (%rax,%rcx,8), %rcx
movq 0xb0(%rsp), %rdx
xorl %eax, %eax
cmpq 0x20(%rdx), %rcx
movb %al, 0x17(%rsp)
jae 0x4e6acf
movq 0x80(%rsp), %rax
cmpq 0xf8(%rsp), %rax
setbe %al
movb %al, 0x17(%rsp)
movb 0x17(%rsp), %al
testb $0x1, %al
jne 0x4e6adc
jmp 0x4e6c6e
movq 0xd8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x80(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x20(%rsp)
movl $0x1, %eax
cmpq 0x78(%rsp), %rax
jbe 0x4e6b3d
movq 0x155494(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2f4fd(%rip), %rsi     # 0x516013
leaq 0xd4922(%rip), %rdx     # 0x5bb43f
leaq 0xd480f(%rip), %rcx     # 0x5bb333
leaq 0xd4695(%rip), %r8      # 0x5bb1c0
movl $0x107, %r9d            # imm = 0x107
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4e6b3f
movq 0x78(%rsp), %rax
addq $-0x1, %rax
movq %rax, 0x78(%rsp)
movq 0xf0(%rsp), %rax
cmpq 0x20(%rsp), %rax
ja 0x4e6b73
movq 0xe8(%rsp), %rax
movq 0x8(%rax), %rax
subq $0x1, %rax
movq %rax, 0x28(%rsp)
jmp 0x4e6bf2
jmp 0x4e6b75
movq 0x20(%rsp), %rax
addq $0x1, %rax
cmpq 0xf0(%rsp), %rax
jbe 0x4e6bc0
movq 0x155411(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2f47a(%rip), %rsi     # 0x516013
leaq 0xd48b2(%rip), %rdx     # 0x5bb452
leaq 0xd478c(%rip), %rcx     # 0x5bb333
leaq 0xd4612(%rip), %r8      # 0x5bb1c0
movl $0x111, %r9d            # imm = 0x111
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4e6bc2
movq 0xf0(%rsp), %rax
movq 0x20(%rsp), %rcx
addq $0x1, %rcx
subq %rcx, %rax
movq %rax, 0x20(%rsp)
movq 0xa0(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0xc2af0
movq %rax, 0x28(%rsp)
movq 0xe8(%rsp), %rax
cmpq $0x0, 0x20(%rax)
je 0x4e6c33
movq 0xb0(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movq 0xe8(%rsp), %rcx
movq 0x20(%rcx), %rcx
movq 0x28(%rsp), %rdx
movq (%rcx,%rdx,8), %rcx
movq (%rax,%rcx,8), %rdx
addq $0x1, %rdx
movq %rdx, (%rax,%rcx,8)
jmp 0x4e6c53
movq 0xb0(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movq 0x28(%rsp), %rcx
movq (%rax,%rcx,8), %rdx
addq $0x1, %rdx
movq %rdx, (%rax,%rcx,8)
jmp 0x4e6c55
movq 0x80(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x80(%rsp)
jmp 0x4e6a8d
jmp 0x4e6c70
cmpq $0x0, 0x78(%rsp)
je 0x4e6cb0
movq 0x155321(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2f38a(%rip), %rsi     # 0x516013
leaq 0xd47e1(%rip), %rdx     # 0x5bb471
leaq 0xd469c(%rip), %rcx     # 0x5bb333
leaq 0xd4522(%rip), %r8      # 0x5bb1c0
movl $0x11f, %r9d            # imm = 0x11F
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4e6cb2
jmp 0x4e6cb4
movq 0xb0(%rsp), %rax
movb $0x1, (%rax)
movl $0x0, 0xc4(%rsp)
movl 0xc4(%rsp), %eax
addq $0xc8, %rsp
retq
nopl (%rax)