// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_sfxmap.c
// Function: gt_sfxmap_checkentiresuftab
static int gt_sfxmap_checkentiresuftab(const char *filename,
                                int line,
                                const GtEncseq *encseq,
                                GtReadmode readmode,
                                const ESASuffixptr *suftab,
                                GtUword numberofsuffixes,
                                bool wholeleafcheck,
                                Sequentialsuffixarrayreader *ssar,
                                GT_UNUSED bool specialsareequal,
                                GT_UNUSED bool specialsareequalatdepth0,
                                GtUword depth,
                                GT_UNUSED GtError *err)
{
  GtUword idx, maxlcp,
                currentlcp = 0,
                countbitsset = 0,
                wholeleafcount = 0,
                totallength = gt_encseq_total_length(encseq);
  int cmp;
  GtEncseqReader *esr1, *esr2;
  bool haserr = false;
  GtBitsequence *startposoccurs;
  GtEncseqReader *esr;
  /*
#define MAXDIST 100
  GtUword countdist[MAXDIST+1] = {0};
  */

  gt_error_check(err);
  gt_assert(!specialsareequal || specialsareequalatdepth0);
  if (numberofsuffixes == 0)
  {
    return 0;
  }
  GT_INITBITTAB(startposoccurs,totallength+1);
  esr = gt_encseq_create_reader_with_readmode(encseq,readmode,0);
  for (idx = 0; idx < numberofsuffixes; idx++)
  {
    GtUword position = ESASUFFIXPTRGET(suftab,idx);
    if (GT_ISIBITSET(startposoccurs,position))
    {
      fprintf(stderr,"ERROR: suffix with startpos "GT_WU" already occurs\n",
              ESASUFFIXPTRGET(suftab,idx));
      exit(GT_EXIT_PROGRAMMING_ERROR);
    }
    GT_SETIBIT(startposoccurs,position);
    countbitsset++;
    if (wholeleafcheck)
    {
      if (position == 0 || gt_encseq_position_is_separator(encseq,
                                                           position - 1,
                                                           readmode))
      {
        /*printf("whole "GT_WU"\n",position);*/
        wholeleafcount++;
      }
    }
  }
  gt_encseq_reader_delete(esr);
  gt_free(startposoccurs);
  if (wholeleafcheck)
  {
    GtUword expectednumofwholeleaves
      = gt_sfxmap_determinenumberofwholeleaves(encseq,readmode);
    if (wholeleafcount != expectednumofwholeleaves)
    {
      fprintf(stderr,
              "wholeleafcount="GT_WU" != "GT_WU"=expectednumofwholeleaves\n",
              wholeleafcount,expectednumofwholeleaves);
      exit(EXIT_FAILURE);
    }
  }
  if (numberofsuffixes == totallength + 1 && countbitsset != numberofsuffixes)
  {
    fprintf(stderr,"ERROR: not all bits are set\n");
    exit(GT_EXIT_PROGRAMMING_ERROR);
  }
  esr1 = gt_encseq_create_reader_with_readmode(encseq, readmode, 0);
  esr2 = gt_encseq_create_reader_with_readmode(encseq, readmode, 0);
  gt_assert(numberofsuffixes > 0);
  gt_assert(ESASUFFIXPTRGET(suftab,0) < totallength);
  for (idx = 1UL; !haserr && idx < numberofsuffixes; idx++)
  {
    if (idx < totallength)
    {
      gt_assert(ESASUFFIXPTRGET(suftab,idx) < totallength);
      cmp = gt_sfxmap_comparefullsuffixes(encseq,
                                          readmode,
                                          &maxlcp,
                                          ESASUFFIXPTRGET(suftab,idx-1),
                                          ESASUFFIXPTRGET(suftab,idx),
                                          esr1,
                                          esr2);
      if (cmp >= 0)
      {
        gt_sfxmap_showcomparisonfailureESA(filename,
                                 line,
                                 __func__,
                                 encseq,
                                 readmode,
                                 suftab,
                                 depth,
                                 idx-1,
                                 idx,
                                 cmp,
                                 maxlcp);
        haserr = true;
        break;
      }
    } else
    {
      maxlcp = 0;
      if (numberofsuffixes == totallength+1)
      {
        gt_assert(ESASUFFIXPTRGET(suftab,idx) == totallength);
      }
    }
    if (ssar != NULL)
    {
      SSAR_NEXTSEQUENTIALLCPTABVALUE(currentlcp,ssar);
      if (maxlcp != currentlcp)
      {
        fprintf(stderr,""GT_WU": startpos="GT_WU", firstchar=%u, "
                "startpos="GT_WU",firstchar=%u",
                idx,
                ESASUFFIXPTRGET(suftab,idx-1),
                (unsigned int)
                gt_encseq_get_encoded_char(encseq,
                                           ESASUFFIXPTRGET(suftab,idx-1),
                                           readmode),
                ESASUFFIXPTRGET(suftab,idx),
                (ESASUFFIXPTRGET(suftab,idx) < totallength)
                   ? (unsigned int) gt_encseq_get_encoded_char(encseq,
                                                     ESASUFFIXPTRGET(suftab,
                                                                     idx),
                                                     readmode)
                   : GT_SEPARATOR);
        fprintf(stderr,", maxlcp(bruteforce) = "GT_WU" != "GT_WU"(fast)\n",
                          maxlcp, currentlcp);
        exit(GT_EXIT_PROGRAMMING_ERROR);
      }
    }
  }
  gt_encseq_reader_delete(esr1);
  gt_encseq_reader_delete(esr2);
  return haserr ? -1 : 0;
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x148, %rsp            # imm = 0x148
movl %ecx, 0x6c(%rsp)
movq %rdx, 0x70(%rsp)
movl %esi, %r10d
movl 0x6c(%rsp), %esi
movq %rdi, %r11
movq 0x70(%rsp), %rdi
movq 0x188(%rsp), %rax
movq 0x180(%rsp), %rax
movb 0x178(%rsp), %al
movb 0x170(%rsp), %cl
movq 0x168(%rsp), %rdx
movb 0x160(%rsp), %dl
movq %r11, 0x138(%rsp)
movl %r10d, 0x134(%rsp)
movq %rdi, 0x128(%rsp)
movl %esi, 0x124(%rsp)
movq %r8, 0x118(%rsp)
movq %r9, 0x110(%rsp)
andb $0x1, %dl
movb %dl, 0x10f(%rsp)
andb $0x1, %cl
movb %cl, 0x10e(%rsp)
andb $0x1, %al
movb %al, 0x10d(%rsp)
movq $0x0, 0xf0(%rsp)
movq $0x0, 0xe8(%rsp)
movq $0x0, 0xe0(%rsp)
movq 0x128(%rsp), %rdi
callq 0xa9d00
movq %rax, 0xd8(%rsp)
movb $0x0, 0xbf(%rsp)
cmpq $0x0, 0x188(%rsp)
je 0x6c232
movq 0x188(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x6c1fa
jmp 0x6c232
movq 0x5cfd9f(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4a9e08(%rip), %rsi    # 0x516013
leaq 0x4a9fad(%rip), %rdx    # 0x5161bf
leaq 0x4bec5c(%rip), %rcx    # 0x52ae75
leaq 0x4be3ca(%rip), %r8     # 0x52a5ea
movl $0x213, %r9d            # imm = 0x213
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x6c234
jmp 0x6c236
testb $0x1, 0x10e(%rsp)
je 0x6c282
testb $0x1, 0x10d(%rsp)
jne 0x6c282
movq 0x5cfd4f(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4a9db8(%rip), %rsi    # 0x516013
leaq 0x4bec2f(%rip), %rdx    # 0x52ae91
leaq 0x4bec0c(%rip), %rcx    # 0x52ae75
leaq 0x4be37a(%rip), %r8     # 0x52a5ea
movl $0x214, %r9d            # imm = 0x214
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x6c284
cmpq $0x0, 0x110(%rsp)
jne 0x6c29f
movl $0x0, 0x144(%rsp)
jmp 0x6cc56
movq 0xd8(%rsp), %rax
addq $0x1, %rax
shrq $0x6, %rax
cmpq $0x0, %rax
jne 0x6c2c1
movl $0x1, %eax
movq %rax, 0x60(%rsp)
jmp 0x6c2de
movq 0xd8(%rsp), %rax
addq $0x1, %rax
subq $0x1, %rax
shrq $0x6, %rax
addq $0x1, %rax
movq %rax, 0x60(%rsp)
movq 0x60(%rsp), %rax
movq %rax, 0xa0(%rsp)
movq 0xa0(%rsp), %rsi
shlq $0x3, %rsi
xorl %eax, %eax
movl %eax, %edi
leaq 0x4be2e8(%rip), %rdx    # 0x52a5ea
movl $0x219, %ecx            # imm = 0x219
callq 0xe8540
movq %rax, 0xb0(%rsp)
movq 0xb0(%rsp), %rdi
movq 0xa0(%rsp), %rdx
shlq $0x3, %rdx
xorl %esi, %esi
callq 0x19360
movq 0x128(%rsp), %rdi
movl 0x124(%rsp), %esi
xorl %eax, %eax
movl %eax, %edx
callq 0xac380
movq %rax, 0xa8(%rsp)
movq $0x0, 0x100(%rsp)
movq 0x100(%rsp), %rax
cmpq 0x110(%rsp), %rax
jae 0x6c4b5
movq 0x118(%rsp), %rax
movq 0x100(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x98(%rsp)
movq 0xb0(%rsp), %rax
movq 0x98(%rsp), %rcx
shrq $0x6, %rcx
movq (%rax,%rcx,8), %rax
movq 0x98(%rsp), %rcx
andq $0x3f, %rcx
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
shrq %cl, %rdx
movq %rdx, %rcx
andq %rcx, %rax
cmpq $0x0, %rax
je 0x6c400
movq 0x5cfbcf(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
movq 0x118(%rsp), %rax
movq 0x100(%rsp), %rcx
movq (%rax,%rcx,8), %rdx
leaq 0x4bead0(%rip), %rsi    # 0x52aebf
movb $0x0, %al
callq 0x199f0
movl $0x2, %edi
callq 0x19890
movq 0x98(%rsp), %rcx
andq $0x3f, %rcx
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
shrq %cl, %rdx
movq 0xb0(%rsp), %rax
movq 0x98(%rsp), %rcx
shrq $0x6, %rcx
orq (%rax,%rcx,8), %rdx
movq %rdx, (%rax,%rcx,8)
movq 0xe8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0xe8(%rsp)
testb $0x1, 0x10f(%rsp)
je 0x6c49a
cmpq $0x0, 0x98(%rsp)
je 0x6c484
movq 0x128(%rsp), %rdi
movq 0x98(%rsp), %rsi
subq $0x1, %rsi
movl 0x124(%rsp), %edx
callq 0xaaca0
testb $0x1, %al
jne 0x6c484
jmp 0x6c498
movq 0xe0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0xe0(%rsp)
jmp 0x6c49a
jmp 0x6c49c
movq 0x100(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x100(%rsp)
jmp 0x6c35b
movq 0xa8(%rsp), %rdi
callq 0xac3f0
movq 0xb0(%rsp), %rdi
leaq 0x4be119(%rip), %rsi    # 0x52a5ea
movl $0x232, %edx            # imm = 0x232
callq 0xe88c0
testb $0x1, 0x10f(%rsp)
je 0x6c547
movq 0x128(%rsp), %rdi
movl 0x124(%rsp), %esi
callq 0x6cc70
movq %rax, 0x90(%rsp)
movq 0xe0(%rsp), %rax
cmpq 0x90(%rsp), %rax
je 0x6c545
movq 0x5cfa86(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
movq 0xe0(%rsp), %rdx
movq 0x90(%rsp), %rcx
leaq 0x4be9bb(%rip), %rsi    # 0x52aeef
movb $0x0, %al
callq 0x199f0
movl $0x1, %edi
callq 0x19890
jmp 0x6c547
movq 0x110(%rsp), %rax
movq 0xd8(%rsp), %rcx
addq $0x1, %rcx
cmpq %rcx, %rax
jne 0x6c594
movq 0xe8(%rsp), %rax
cmpq 0x110(%rsp), %rax
je 0x6c594
movq 0x5cfa27(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4be9a0(%rip), %rsi    # 0x52af23
movb $0x0, %al
callq 0x199f0
movl $0x2, %edi
callq 0x19890
movq 0x128(%rsp), %rdi
movl 0x124(%rsp), %esi
xorl %eax, %eax
movl %eax, %edx
callq 0xac380
movq %rax, 0xc8(%rsp)
movq 0x128(%rsp), %rdi
movl 0x124(%rsp), %esi
xorl %eax, %eax
movl %eax, %edx
callq 0xac380
movq %rax, 0xc0(%rsp)
cmpq $0x0, 0x110(%rsp)
ja 0x6c617
movq 0x5cf9ba(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4a9a23(%rip), %rsi    # 0x516013
leaq 0x50b1fb(%rip), %rdx    # 0x5777f2
leaq 0x4be877(%rip), %rcx    # 0x52ae75
leaq 0x4bdfe5(%rip), %r8     # 0x52a5ea
movl $0x246, %r9d            # imm = 0x246
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x6c619
jmp 0x6c61b
movq 0x118(%rsp), %rax
movq (%rax), %rax
cmpq 0xd8(%rsp), %rax
jb 0x6c668
movq 0x5cf969(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4a99d2(%rip), %rsi    # 0x516013
leaq 0x4be8f8(%rip), %rdx    # 0x52af40
leaq 0x4be826(%rip), %rcx    # 0x52ae75
leaq 0x4bdf94(%rip), %r8     # 0x52a5ea
movl $0x247, %r9d            # imm = 0x247
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x6c66a
movq $0x1, 0x100(%rsp)
xorl %eax, %eax
testb $0x1, 0xbf(%rsp)
movb %al, 0x5f(%rsp)
jne 0x6c69d
movq 0x100(%rsp), %rax
cmpq 0x110(%rsp), %rax
setb %al
movb %al, 0x5f(%rsp)
movb 0x5f(%rsp), %al
testb $0x1, %al
jne 0x6c6aa
jmp 0x6cc21
movq 0x100(%rsp), %rax
cmpq 0xd8(%rsp), %rax
jae 0x6c814
jmp 0x6c6c2
movq 0x118(%rsp), %rax
movq 0x100(%rsp), %rcx
movq (%rax,%rcx,8), %rax
cmpq 0xd8(%rsp), %rax
jb 0x6c718
movq 0x5cf8b9(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4a9922(%rip), %rsi    # 0x516013
leaq 0x4be870(%rip), %rdx    # 0x52af68
leaq 0x4be776(%rip), %rcx    # 0x52ae75
leaq 0x4bdee4(%rip), %r8     # 0x52a5ea
movl $0x24c, %r9d            # imm = 0x24C
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x6c71a
movq 0x128(%rsp), %rdi
movl 0x124(%rsp), %esi
movq 0x118(%rsp), %rax
movq 0x100(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rcx
movq 0x118(%rsp), %rax
movq 0x100(%rsp), %rdx
movq (%rax,%rdx,8), %r8
movq 0xc8(%rsp), %r9
movq 0xc0(%rsp), %rax
leaq 0xf8(%rsp), %rdx
movq %rax, (%rsp)
callq 0x6cd40
movl %eax, 0xd4(%rsp)
cmpl $0x0, 0xd4(%rsp)
jl 0x6c80f
movq 0x138(%rsp), %rdi
movl 0x134(%rsp), %esi
movq 0x128(%rsp), %rcx
movl 0x124(%rsp), %r8d
movq 0x118(%rsp), %r9
movq 0x180(%rsp), %r14
movq 0x100(%rsp), %rbx
subq $0x1, %rbx
movq 0x100(%rsp), %r11
movl 0xd4(%rsp), %r10d
movq 0xf8(%rsp), %rax
leaq 0x4be690(%rip), %rdx    # 0x52ae75
movq %r14, (%rsp)
movq %rbx, 0x8(%rsp)
movq %r11, 0x10(%rsp)
movl %r10d, 0x18(%rsp)
movq %rax, 0x20(%rsp)
callq 0x6d020
movb $0x1, 0xbf(%rsp)
jmp 0x6cc21
jmp 0x6c897
movq $0x0, 0xf8(%rsp)
movq 0x110(%rsp), %rax
movq 0xd8(%rsp), %rcx
addq $0x1, %rcx
cmpq %rcx, %rax
jne 0x6c895
jmp 0x6c83b
movq 0x118(%rsp), %rax
movq 0x100(%rsp), %rcx
movq (%rax,%rcx,8), %rax
cmpq 0xd8(%rsp), %rax
je 0x6c891
movq 0x5cf740(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4a97a9(%rip), %rsi    # 0x516013
leaq 0x4be721(%rip), %rdx    # 0x52af92
leaq 0x4be5fd(%rip), %rcx    # 0x52ae75
leaq 0x4bdd6b(%rip), %r8     # 0x52a5ea
movl $0x269, %r9d            # imm = 0x269
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x6c893
jmp 0x6c895
jmp 0x6c897
cmpq $0x0, 0x168(%rsp)
je 0x6cc06
movq 0x168(%rsp), %rax
testb $0x1, 0x40(%rax)
je 0x6c985
movq 0x168(%rsp), %rax
movq (%rax), %rsi
addq $0xd0, %rsi
leaq 0x8f(%rsp), %rdi
callq 0x6bdb0
movl %eax, 0x88(%rsp)
cmpl $0x0, 0x88(%rsp)
jle 0x6c97b
movzbl 0x8f(%rsp), %eax
cmpl $0xff, %eax
jge 0x6c90d
movzbl 0x8f(%rsp), %eax
movq %rax, 0xf0(%rsp)
jmp 0x6c979
movq 0x168(%rsp), %rax
movq (%rax), %rsi
addq $0xe8, %rsi
leaq 0x78(%rsp), %rdi
callq 0x6be90
movl %eax, 0x88(%rsp)
cmpl $0x0, 0x88(%rsp)
jne 0x6c969
movq 0x188(%rsp), %rdi
leaq 0x4be31f(%rip), %rsi    # 0x52ac68
leaq 0x4bdc9a(%rip), %rdx    # 0x52a5ea
movl $0x26e, %ecx            # imm = 0x26E
movb $0x0, %al
callq 0xd88c0
movb $0x1, 0xbf(%rsp)
jmp 0x6cc21
movq 0x80(%rsp), %rax
movq %rax, 0xf0(%rsp)
jmp 0x6c980
jmp 0x6cc21
jmp 0x6caaf
movq 0x168(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x168(%rsp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x6caa8
movq 0x168(%rsp), %rax
movq (%rax), %rax
movq 0x60(%rax), %rax
movq 0x168(%rsp), %rdx
movq 0x20(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x20(%rdx)
movb (%rax,%rcx), %al
movb %al, 0x8f(%rsp)
movzbl 0x8f(%rsp), %eax
cmpl $0xff, %eax
jge 0x6c9f7
movzbl 0x8f(%rsp), %eax
movq %rax, 0xf0(%rsp)
jmp 0x6caa6
jmp 0x6c9f9
movq 0x168(%rsp), %rax
movq (%rax), %rax
movq 0x68(%rax), %rax
movq 0x168(%rsp), %rcx
movq 0x28(%rcx), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
movq 0x168(%rsp), %rcx
movq 0x20(%rcx), %rcx
subq $0x1, %rcx
cmpq %rcx, %rax
je 0x6ca6b
movq 0x5cf566(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4a95cf(%rip), %rsi    # 0x516013
leaq 0x4be25a(%rip), %rdx    # 0x52aca5
leaq 0x4be423(%rip), %rcx    # 0x52ae75
leaq 0x4bdb91(%rip), %r8     # 0x52a5ea
movl $0x26e, %r9d            # imm = 0x26E
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x6ca6d
movq 0x168(%rsp), %rax
movq (%rax), %rax
movq 0x68(%rax), %rax
movq 0x168(%rsp), %rdx
movq 0x28(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x28(%rdx)
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
movq %rax, 0xf0(%rsp)
jmp 0x6caad
jmp 0x6cc21
jmp 0x6caaf
movq 0xf8(%rsp), %rax
cmpq 0xf0(%rsp), %rax
je 0x6cc04
movq 0x5cf4d4(%rip), %rax    # 0x63bfa0
movq (%rax), %rax
movq %rax, 0x30(%rsp)
movq 0x100(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0x118(%rsp), %rax
movq 0x100(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x40(%rsp)
movq 0x128(%rsp), %rdi
movq 0x118(%rsp), %rax
movq 0x100(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rsi
movl 0x124(%rsp), %edx
callq 0xa9da0
movzbl %al, %eax
movl %eax, 0x4c(%rsp)
movq 0x118(%rsp), %rax
movq 0x100(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x50(%rsp)
movq 0x118(%rsp), %rax
movq 0x100(%rsp), %rcx
movq (%rax,%rcx,8), %rax
cmpq 0xd8(%rsp), %rax
jae 0x6cb99
movq 0x128(%rsp), %rdi
movq 0x118(%rsp), %rax
movq 0x100(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
movl 0x124(%rsp), %edx
callq 0xa9da0
movzbl %al, %eax
movl %eax, 0x2c(%rsp)
jmp 0x6cba4
movl $0xff, %eax
movl %eax, 0x2c(%rsp)
jmp 0x6cba4
movq 0x50(%rsp), %r9
movl 0x4c(%rsp), %r8d
movq 0x40(%rsp), %rcx
movq 0x38(%rsp), %rdx
movq 0x30(%rsp), %rdi
movl 0x2c(%rsp), %eax
leaq 0x4be3f5(%rip), %rsi    # 0x52afbd
movl %eax, (%rsp)
movb $0x0, %al
callq 0x199f0
movq 0x5cf3c7(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
movq 0xf8(%rsp), %rdx
movq 0xf0(%rsp), %rcx
leaq 0x4be405(%rip), %rsi    # 0x52aff8
movb $0x0, %al
callq 0x199f0
movl $0x2, %edi
callq 0x19890
jmp 0x6cc06
jmp 0x6cc08
movq 0x100(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x100(%rsp)
jmp 0x6c676
movq 0xc8(%rsp), %rdi
callq 0xac3f0
movq 0xc0(%rsp), %rdi
callq 0xac3f0
movb 0xbf(%rsp), %dl
xorl %eax, %eax
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
testb $0x1, %dl
cmovnel %ecx, %eax
movl %eax, 0x144(%rsp)
movl 0x144(%rsp), %eax
addq $0x148, %rsp            # imm = 0x148
popq %rbx
popq %r14
retq
nopl (%rax,%rax)