// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/pckdfs.c
// Function: gt_fmindex_dfstraverse
int gt_fmindex_dfstraverse(const FMindex *fmindex,
                           unsigned int numofchars,
                           GtUword totallength,
                           Processlcp processlcp,
                           void *processlcpdata,
                           GtError *err)
{
  GtArrayDfs_Boundsatdepth stack;
  GtArrayBoundswithchar bwci;
  Boundswithchar *bwciptr;
  Dfs_Boundsatdepth parent, child;
  GtArrayGtUchar currentpath;
  GtUword nonspecialwidth, parentwidth, *rangeOccs;
  bool haserr = false, firstleaf = true;

  GT_INITARRAY(&stack,Dfs_Boundsatdepth);
  GT_INITARRAY(&currentpath,GtUchar);
  bwci.spaceBoundswithchar = gt_malloc(sizeof (*bwci.spaceBoundswithchar) *
                                       (numofchars+1));
  bwci.nextfreeBoundswithchar = 0;
  bwci.allocatedBoundswithchar = (GtUword) (numofchars+1);
  child.isinterval = true;
  child.depth = 0;
  child.lcpnodedepth = 0;
  child.either.pckitv.lowerbound = 0;
  child.either.pckitv.upperbound = totallength+1;
  child.either.pckitv.inchar = (GtUchar) numofchars; /* undefined */
#ifdef SKDEBUG
  showDfs_Boundsatdepth("push",&child);
#endif
  GT_STOREINARRAY(&stack,Dfs_Boundsatdepth,128,child);
  rangeOccs = gt_malloc(sizeof (*rangeOccs) * GT_MULT2(numofchars));
  while (!haserr && stack.nextfreeDfs_Boundsatdepth > 0)
  {
    parent = stack.spaceDfs_Boundsatdepth[--stack.nextfreeDfs_Boundsatdepth];
#ifdef SKDEBUG
    showDfs_Boundsatdepth("pop",&parent);
#endif
    if (!parent.isinterval)
    {

      gt_assert(parent.depth > 0);
      if (processlcp != NULL)
      {
        GtUword idx;

        for (idx = 0; idx<parent.either.remainingspecial; idx++)
        {
          if (!firstleaf)
          {
            if (processlcp(processlcpdata,(idx == 0)
                                          ? parent.lcpnodedepth
                                          : parent.depth - 1,
                                          err) != 0)
            {
              haserr = true;
              break;
            }
          } else
          {
            firstleaf = false;
          }
        }
      }
    } else
    {
      gt_assert(parent.either.pckitv.lowerbound <
                parent.either.pckitv.upperbound);
      if (parent.depth > 0)
      {
        gt_assert(parent.either.pckitv.inchar < (GtUchar) numofchars);
        if (parent.depth - 1 >= currentpath.allocatedGtUchar)
        {
          currentpath.allocatedGtUchar += 32UL;
          currentpath.spaceGtUchar
            = gt_realloc(currentpath.spaceGtUchar,
                         sizeof (*currentpath.spaceGtUchar) *
                         currentpath.allocatedGtUchar);
        }
        gt_assert(currentpath.spaceGtUchar != NULL);
        currentpath.spaceGtUchar[parent.depth - 1]
          = parent.either.pckitv.inchar;
        currentpath.nextfreeGtUchar = parent.depth;
#ifdef SKDEBUG
        showcurrentpath(&currentpath);
#endif
      }
      parentwidth = parent.either.pckitv.upperbound -
                    parent.either.pckitv.lowerbound;
      if (parentwidth == 1UL)
      {
        if (!firstleaf)
        {
          if (processlcp != NULL)
          {
            if (processlcp(processlcpdata,parent.lcpnodedepth,err) != 0)
            {
              haserr = true;
            }
          }
        } else
        {
          firstleaf = false;
        }
      } else
      {
        gt_assert(parentwidth >= 2UL);
        gt_bwtrangesplitwithoutspecial(&bwci,rangeOccs,fmindex,
                                       parent.either.pckitv.lowerbound,
                                       parent.either.pckitv.upperbound);
        nonspecialwidth = dfsnonspecialwidth(&bwci);
#ifdef SKDEBUG
        printf("split "GT_WU" "GT_WU" into "GT_WU" intervals of width "
               GT_WU"\n", parent.either.pckitv.lowerbound,
               parent.either.pckitv.upperbound, bwci.nextfreeBoundswithchar,
               nonspecialwidth);
#endif
        gt_assert(nonspecialwidth <= parentwidth);
        if (nonspecialwidth < parentwidth)
        {
          child.isinterval = false;
          child.depth = parent.depth + 1;
          child.either.remainingspecial = parentwidth - nonspecialwidth;
          if (bwci.nextfreeBoundswithchar > 0)
          {
            child.lcpnodedepth = parent.depth;
          } else
          {
            child.lcpnodedepth = parent.lcpnodedepth;
          }
#ifdef SKDEBUG
          showDfs_Boundsatdepth("special push",&child);
#endif
          GT_STOREINARRAY(&stack,Dfs_Boundsatdepth,128,child);
        }
        gt_assert(bwci.spaceBoundswithchar != NULL);
        for (bwciptr = bwci.spaceBoundswithchar+bwci.nextfreeBoundswithchar-1;
             bwciptr >= bwci.spaceBoundswithchar;
             bwciptr--)
        {
          child.isinterval = true;
          child.depth = parent.depth + 1;
          child.either.pckitv.lowerbound = bwciptr->lbound;
          child.either.pckitv.upperbound = bwciptr->rbound;
          if (bwciptr > bwci.spaceBoundswithchar)
          {
            child.lcpnodedepth = parent.depth;
          } else
          {
            child.lcpnodedepth = parent.lcpnodedepth;
          }
          gt_assert(bwciptr->inchar < (GtUchar) numofchars);
          child.either.pckitv.inchar = bwciptr->inchar;
          gt_assert(child.either.pckitv.lowerbound <
                    child.either.pckitv.upperbound);
#ifdef SKDEBUG
          showDfs_Boundsatdepth("push",&child);
#endif
          GT_STOREINARRAY(&stack,Dfs_Boundsatdepth,128,child);
        }
      }
    }
  }
  GT_FREEARRAY(&stack,Dfs_Boundsatdepth);
  GT_FREEARRAY(&bwci,Boundswithchar);
  GT_FREEARRAY(&currentpath,GtUchar);
  gt_free(rangeOccs);
  return haserr ? -1 : 0;
}

// Assembly:
subq $0x148, %rsp            # imm = 0x148
movq %rdi, 0x140(%rsp)
movl %esi, 0x13c(%rsp)
movq %rdx, 0x130(%rsp)
movq %rcx, 0x128(%rsp)
movq %r8, 0x120(%rsp)
movq %r9, 0x118(%rsp)
movb $0x0, 0x4f(%rsp)
movb $0x1, 0x4e(%rsp)
movq $0x0, 0x100(%rsp)
movq $0x0, 0x110(%rsp)
movq $0x0, 0x108(%rsp)
jmp 0x262916
movq $0x0, 0x68(%rsp)
movq $0x0, 0x78(%rsp)
movq $0x0, 0x70(%rsp)
movl 0x13c(%rsp), %eax
addl $0x1, %eax
movl %eax, %eax
imulq $0x18, %rax, %rdi
leaq 0x319c1b(%rip), %rsi    # 0x57c563
movl $0x66, %edx
callq 0xe80f0
movq %rax, 0xe8(%rsp)
movq $0x0, 0xf8(%rsp)
movl 0x13c(%rsp), %eax
addl $0x1, %eax
movl %eax, %eax
movq %rax, 0xf0(%rsp)
movb $0x1, 0xa8(%rsp)
movq $0x0, 0x98(%rsp)
movq $0x0, 0xa0(%rsp)
movq $0x0, 0x80(%rsp)
movq 0x130(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x88(%rsp)
movl 0x13c(%rsp), %eax
movb %al, 0x90(%rsp)
jmp 0x2629ca
movq 0x110(%rsp), %rax
addq $0x0, %rax
cmpq 0x108(%rsp), %rax
jb 0x262a6f
movq $0x80, 0x40(%rsp)
xorl %eax, %eax
cmpq 0x40(%rsp), %rax
jbe 0x262a2e
movq 0x3d95a3(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2b360c(%rip), %rsi    # 0x516013
leaq 0x2b6799(%rip), %rdx    # 0x5191a7
leaq 0x319b61(%rip), %rcx    # 0x57c576
leaq 0x319b47(%rip), %r8     # 0x57c563
movl $0x72, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x262a30
movq 0x40(%rsp), %rax
addq 0x108(%rsp), %rax
movq %rax, 0x108(%rsp)
movq 0x100(%rsp), %rdi
imulq $0x30, 0x108(%rsp), %rsi
leaq 0x319b06(%rip), %rdx    # 0x57c563
movl $0x72, %ecx
callq 0xe8540
movq %rax, 0x100(%rsp)
jmp 0x262a71
cmpq $0x0, 0x100(%rsp)
jne 0x262ab4
movq 0x3d951d(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2b3586(%rip), %rsi    # 0x516013
leaq 0x319af9(%rip), %rdx    # 0x57c58d
leaq 0x319adb(%rip), %rcx    # 0x57c576
leaq 0x319ac1(%rip), %r8     # 0x57c563
movl $0x72, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x262ab6
jmp 0x262ab8
movq 0x100(%rsp), %rdi
movq 0x110(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x110(%rsp)
imulq $0x30, %rax, %rax
addq %rax, %rdi
leaq 0x80(%rsp), %rsi
movl $0x30, %edx
callq 0x19610
movl 0x13c(%rsp), %eax
shll %eax
movl %eax, %eax
movl %eax, %edi
shlq $0x3, %rdi
leaq 0x319a5b(%rip), %rsi    # 0x57c563
movl $0x73, %edx
callq 0xe80f0
movq %rax, 0x50(%rsp)
xorl %eax, %eax
testb $0x1, 0x4f(%rsp)
movb %al, 0x27(%rsp)
jne 0x262b34
cmpq $0x0, 0x110(%rsp)
seta %al
movb %al, 0x27(%rsp)
movb 0x27(%rsp), %al
testb $0x1, %al
jne 0x262b41
jmp 0x2633a3
movq 0x100(%rsp), %rsi
movq 0x110(%rsp), %rax
addq $-0x1, %rax
movq %rax, 0x110(%rsp)
imulq $0x30, %rax, %rax
addq %rax, %rsi
leaq 0xb0(%rsp), %rdi
movl $0x30, %edx
callq 0x19610
testb $0x1, 0xd8(%rsp)
jne 0x262c87
jmp 0x262b86
cmpq $0x0, 0xc8(%rsp)
ja 0x262bc9
movq 0x3d9408(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2b3471(%rip), %rsi    # 0x516013
leaq 0x319a0d(%rip), %rdx    # 0x57c5b6
leaq 0x3199c6(%rip), %rcx    # 0x57c576
leaq 0x3199ac(%rip), %r8     # 0x57c563
movl $0x7d, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x262bcb
cmpq $0x0, 0x128(%rsp)
je 0x262c82
movq $0x0, 0x38(%rsp)
movq 0x38(%rsp), %rax
cmpq 0xb0(%rsp), %rax
jae 0x262c80
testb $0x1, 0x4e(%rsp)
jne 0x262c66
movq 0x128(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x120(%rsp), %rax
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x38(%rsp)
jne 0x262c2e
movq 0xd0(%rsp), %rax
movq %rax, 0x8(%rsp)
jmp 0x262c3f
movq 0xc8(%rsp), %rax
subq $0x1, %rax
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rdi
movq 0x8(%rsp), %rsi
movq 0x118(%rsp), %rdx
callq *%rax
cmpl $0x0, %eax
je 0x262c64
movb $0x1, 0x4f(%rsp)
jmp 0x262c80
jmp 0x262c6b
movb $0x0, 0x4e(%rsp)
jmp 0x262c6d
movq 0x38(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x38(%rsp)
jmp 0x262be3
jmp 0x262c82
jmp 0x26339e
jmp 0x262c89
movq 0xb0(%rsp), %rax
cmpq 0xb8(%rsp), %rax
jb 0x262cd3
movq 0x3d92fe(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2b3367(%rip), %rsi    # 0x516013
leaq 0x319914(%rip), %rdx    # 0x57c5c7
leaq 0x3198bc(%rip), %rcx    # 0x57c576
leaq 0x3198a2(%rip), %r8     # 0x57c563
movl $0x97, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x262cd5
cmpq $0x0, 0xc8(%rsp)
jbe 0x262de7
jmp 0x262ce6
movzbl 0xc0(%rsp), %eax
movl 0x13c(%rsp), %ecx
movzbl %cl, %ecx
cmpl %ecx, %eax
jl 0x262d34
movq 0x3d929d(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2b3306(%rip), %rsi    # 0x516013
leaq 0x3198f5(%rip), %rdx    # 0x57c609
leaq 0x31985b(%rip), %rcx    # 0x57c576
leaq 0x319841(%rip), %r8     # 0x57c563
movl $0x9a, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x262d36
movq 0xc8(%rsp), %rax
subq $0x1, %rax
cmpq 0x70(%rsp), %rax
jb 0x262d7b
movq 0x70(%rsp), %rax
addq $0x20, %rax
movq %rax, 0x70(%rsp)
movq 0x68(%rsp), %rdi
movq 0x70(%rsp), %rsi
shlq $0x0, %rsi
leaq 0x3197f7(%rip), %rdx    # 0x57c563
movl $0xa1, %ecx
callq 0xe8540
movq %rax, 0x68(%rsp)
jmp 0x262d7d
cmpq $0x0, 0x68(%rsp)
jne 0x262dbd
movq 0x3d9214(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2b327d(%rip), %rsi    # 0x516013
leaq 0x31989f(%rip), %rdx    # 0x57c63c
leaq 0x3197d2(%rip), %rcx    # 0x57c576
leaq 0x3197b8(%rip), %r8     # 0x57c563
movl $0xa3, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x262dbf
movb 0xc0(%rsp), %dl
movq 0x68(%rsp), %rax
movq 0xc8(%rsp), %rcx
subq $0x1, %rcx
movb %dl, (%rax,%rcx)
movq 0xc8(%rsp), %rax
movq %rax, 0x78(%rsp)
movq 0xb8(%rsp), %rax
subq 0xb0(%rsp), %rax
movq %rax, 0x58(%rsp)
cmpq $0x1, 0x58(%rsp)
jne 0x262e50
testb $0x1, 0x4e(%rsp)
jne 0x262e46
cmpq $0x0, 0x128(%rsp)
je 0x262e44
movq 0x128(%rsp), %rax
movq 0x120(%rsp), %rdi
movq 0xd0(%rsp), %rsi
movq 0x118(%rsp), %rdx
callq *%rax
cmpl $0x0, %eax
je 0x262e42
movb $0x1, 0x4f(%rsp)
jmp 0x262e44
jmp 0x262e4b
movb $0x0, 0x4e(%rsp)
jmp 0x26339c
jmp 0x262e52
cmpq $0x2, 0x58(%rsp)
jae 0x262e92
movq 0x3d913f(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2b31a8(%rip), %rsi    # 0x516013
leaq 0x3197eb(%rip), %rdx    # 0x57c65d
leaq 0x3196fd(%rip), %rcx    # 0x57c576
leaq 0x3196e3(%rip), %r8     # 0x57c563
movl $0xbe, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x262e94
movq 0x50(%rsp), %rsi
movq 0x140(%rsp), %rdx
movq 0xb0(%rsp), %rcx
movq 0xb8(%rsp), %r8
leaq 0xe8(%rsp), %rdi
callq 0x22fef0
leaq 0xe8(%rsp), %rdi
callq 0x2634b0
movq %rax, 0x60(%rsp)
movq 0x60(%rsp), %rax
cmpq 0x58(%rsp), %rax
jbe 0x262f14
movq 0x3d90bd(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2b3126(%rip), %rsi    # 0x516013
leaq 0x31977c(%rip), %rdx    # 0x57c670
leaq 0x31967b(%rip), %rcx    # 0x57c576
leaq 0x319661(%rip), %r8     # 0x57c563
movl $0xc9, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x262f16
movq 0x60(%rsp), %rax
cmpq 0x58(%rsp), %rax
jae 0x2630ad
movb $0x0, 0xa8(%rsp)
movq 0xc8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x98(%rsp)
movq 0x58(%rsp), %rax
subq 0x60(%rsp), %rax
movq %rax, 0x80(%rsp)
cmpq $0x0, 0xf8(%rsp)
jbe 0x262f71
movq 0xc8(%rsp), %rax
movq %rax, 0xa0(%rsp)
jmp 0x262f81
movq 0xd0(%rsp), %rax
movq %rax, 0xa0(%rsp)
jmp 0x262f83
jmp 0x262f85
movq 0x110(%rsp), %rax
addq $0x0, %rax
cmpq 0x108(%rsp), %rax
jb 0x26302a
movq $0x80, 0x30(%rsp)
xorl %eax, %eax
cmpq 0x30(%rsp), %rax
jbe 0x262fe9
movq 0x3d8fe8(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2b3051(%rip), %rsi    # 0x516013
leaq 0x2b61de(%rip), %rdx    # 0x5191a7
leaq 0x3195a6(%rip), %rcx    # 0x57c576
leaq 0x31958c(%rip), %r8     # 0x57c563
movl $0xd9, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x262feb
movq 0x30(%rsp), %rax
addq 0x108(%rsp), %rax
movq %rax, 0x108(%rsp)
movq 0x100(%rsp), %rdi
imulq $0x30, 0x108(%rsp), %rsi
leaq 0x31954b(%rip), %rdx    # 0x57c563
movl $0xd9, %ecx
callq 0xe8540
movq %rax, 0x100(%rsp)
jmp 0x26302c
cmpq $0x0, 0x100(%rsp)
jne 0x26306f
movq 0x3d8f62(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2b2fcb(%rip), %rsi    # 0x516013
leaq 0x31953e(%rip), %rdx    # 0x57c58d
leaq 0x319520(%rip), %rcx    # 0x57c576
leaq 0x319506(%rip), %r8     # 0x57c563
movl $0xd9, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x263071
jmp 0x263073
movq 0x100(%rsp), %rdi
movq 0x110(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x110(%rsp)
imulq $0x30, %rax, %rax
addq %rax, %rdi
leaq 0x80(%rsp), %rsi
movl $0x30, %edx
callq 0x19610
jmp 0x2630ad
jmp 0x2630af
cmpq $0x0, 0xe8(%rsp)
jne 0x2630f2
movq 0x3d8edf(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2b2f48(%rip), %rsi    # 0x516013
leaq 0x3195bd(%rip), %rdx    # 0x57c68f
leaq 0x31949d(%rip), %rcx    # 0x57c576
leaq 0x319483(%rip), %r8     # 0x57c563
movl $0xdb, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2630f4
movq 0xe8(%rsp), %rax
imulq $0x18, 0xf8(%rsp), %rcx
addq %rcx, %rax
addq $-0x18, %rax
movq %rax, 0xe0(%rsp)
movq 0xe0(%rsp), %rax
cmpq 0xe8(%rsp), %rax
jb 0x26339a
movb $0x1, 0xa8(%rsp)
movq 0xc8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x98(%rsp)
movq 0xe0(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x80(%rsp)
movq 0xe0(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x88(%rsp)
movq 0xe0(%rsp), %rax
cmpq 0xe8(%rsp), %rax
jbe 0x263191
movq 0xc8(%rsp), %rax
movq %rax, 0xa0(%rsp)
jmp 0x2631a1
movq 0xd0(%rsp), %rax
movq %rax, 0xa0(%rsp)
jmp 0x2631a3
movq 0xe0(%rsp), %rax
movzbl 0x10(%rax), %eax
movl 0x13c(%rsp), %ecx
movzbl %cl, %ecx
cmpl %ecx, %eax
jl 0x2631f5
movq 0x3d8ddc(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2b2e45(%rip), %rsi    # 0x516013
leaq 0x3194db(%rip), %rdx    # 0x57c6b0
leaq 0x31939a(%rip), %rcx    # 0x57c576
leaq 0x319380(%rip), %r8     # 0x57c563
movl $0xeb, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2631f7
movq 0xe0(%rsp), %rax
movb 0x10(%rax), %al
movb %al, 0x90(%rsp)
movq 0x80(%rsp), %rax
cmpq 0x88(%rsp), %rax
jb 0x263253
movq 0x3d8d7e(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2b2de7(%rip), %rsi    # 0x516013
leaq 0x3194a4(%rip), %rdx    # 0x57c6d7
leaq 0x31933c(%rip), %rcx    # 0x57c576
leaq 0x319322(%rip), %r8     # 0x57c563
movl $0xee, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x263255
jmp 0x263257
jmp 0x263259
movq 0x110(%rsp), %rax
addq $0x0, %rax
cmpq 0x108(%rsp), %rax
jb 0x2632fe
movq $0x80, 0x28(%rsp)
xorl %eax, %eax
cmpq 0x28(%rsp), %rax
jbe 0x2632bd
movq 0x3d8d14(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2b2d7d(%rip), %rsi    # 0x516013
leaq 0x2b5f0a(%rip), %rdx    # 0x5191a7
leaq 0x3192d2(%rip), %rcx    # 0x57c576
leaq 0x3192b8(%rip), %r8     # 0x57c563
movl $0xf2, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2632bf
movq 0x28(%rsp), %rax
addq 0x108(%rsp), %rax
movq %rax, 0x108(%rsp)
movq 0x100(%rsp), %rdi
imulq $0x30, 0x108(%rsp), %rsi
leaq 0x319277(%rip), %rdx    # 0x57c563
movl $0xf2, %ecx
callq 0xe8540
movq %rax, 0x100(%rsp)
jmp 0x263300
cmpq $0x0, 0x100(%rsp)
jne 0x263343
movq 0x3d8c8e(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2b2cf7(%rip), %rsi    # 0x516013
leaq 0x31926a(%rip), %rdx    # 0x57c58d
leaq 0x31924c(%rip), %rcx    # 0x57c576
leaq 0x319232(%rip), %r8     # 0x57c563
movl $0xf2, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x263345
jmp 0x263347
movq 0x100(%rsp), %rdi
movq 0x110(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x110(%rsp)
imulq $0x30, %rax, %rax
addq %rax, %rdi
leaq 0x80(%rsp), %rsi
movl $0x30, %edx
callq 0x19610
jmp 0x263381
movq 0xe0(%rsp), %rax
addq $-0x18, %rax
movq %rax, 0xe0(%rsp)
jmp 0x263114
jmp 0x26339c
jmp 0x26339e
jmp 0x262b17
jmp 0x2633a5
cmpq $0x0, 0x100(%rsp)
je 0x2633ed
movq 0x100(%rsp), %rdi
leaq 0x3191a4(%rip), %rsi    # 0x57c563
movl $0xf7, %edx
callq 0xe88c0
movq $0x0, 0x108(%rsp)
movq $0x0, 0x110(%rsp)
movq $0x0, 0x100(%rsp)
jmp 0x2633ef
jmp 0x2633f1
cmpq $0x0, 0xe8(%rsp)
je 0x263439
movq 0xe8(%rsp), %rdi
leaq 0x319158(%rip), %rsi    # 0x57c563
movl $0xf8, %edx
callq 0xe88c0
movq $0x0, 0xf0(%rsp)
movq $0x0, 0xf8(%rsp)
movq $0x0, 0xe8(%rsp)
jmp 0x26343b
jmp 0x26343d
cmpq $0x0, 0x68(%rsp)
je 0x263476
movq 0x68(%rsp), %rdi
leaq 0x319112(%rip), %rsi    # 0x57c563
movl $0xf9, %edx
callq 0xe88c0
movq $0x0, 0x70(%rsp)
movq $0x0, 0x78(%rsp)
movq $0x0, 0x68(%rsp)
jmp 0x263478
movq 0x50(%rsp), %rdi
leaq 0x3190df(%rip), %rsi    # 0x57c563
movl $0xfa, %edx
callq 0xe88c0
movb 0x4f(%rsp), %dl
xorl %eax, %eax
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
testb $0x1, %dl
cmovnel %ecx, %eax
addq $0x148, %rsp            # imm = 0x148
retq
nopw (%rax,%rax)