LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-contfind-bottomup.c
// Function: processleafedge_rdjcv
static inline int processleafedge_rdjcv(GT_UNUSED bool firstsucc,
    GtUword fatherdepth,
    GT_UNUSED GtBUinfo_rdjcv *father, GtUword leafnumber,
    GtBUstate_rdjcv *state, GT_UNUSED GtError *err)
{
  GtUword seqnum;

  if (fatherdepth >= state->shortest)
  {
    if ((leafnumber == 0 ||
        GT_ISIBITSET(state->sspbittab, leafnumber-1)) &&
        GT_ISIBITSET(state->sspbittab, leafnumber + fatherdepth))
    {
      seqnum = gt_encseq_seqnum(state->encseq, leafnumber);
      processcontained(seqnum, state);
    }
  }
  if (state->show_progressbar) state->progress++;
  return 0;
}

// Assembly:
subq $0x38, %rsp
movb %dil, %al
andb $0x1, %al
movb %al, 0x37(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
movq %rcx, 0x18(%rsp)
movq %r8, 0x10(%rsp)
movq %r9, 0x8(%rsp)
movq 0x28(%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq (%rcx), %rax
jb 0x2760da
cmpq $0x0, 0x18(%rsp)
je 0x276071
movq 0x10(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x18(%rsp), %rcx
subq $0x1, %rcx
shrq $0x6, %rcx
movq (%rax,%rcx,8), %rax
movq 0x18(%rsp), %rcx
subq $0x1, %rcx
andq $0x3f, %rcx
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
shrq %cl, %rdx
movq %rdx, %rcx
andq %rcx, %rax
cmpq $0x0, %rax
je 0x2760d8
movq 0x10(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x18(%rsp), %rcx
addq 0x28(%rsp), %rcx
shrq $0x6, %rcx
movq (%rax,%rcx,8), %rax
movq 0x18(%rsp), %rcx
addq 0x28(%rsp), %rcx
andq $0x3f, %rcx
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
shrq %cl, %rdx
movq %rdx, %rcx
andq %rcx, %rax
cmpq $0x0, %rax
je 0x2760d8
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x18(%rsp), %rsi
callq 0xb03a0
movq %rax, (%rsp)
movq (%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x278ad0
jmp 0x2760da
movq 0x10(%rsp), %rax
testb $0x1, 0x38(%rax)
je 0x2760f6
movq 0x10(%rsp), %rax
movq 0x40(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x40(%rax)
xorl %eax, %eax
addq $0x38, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-contfind-bottomup.c
// Function: processbranchingedge_rdjcv
static inline int processbranchingedge_rdjcv(GT_UNUSED bool firstsucc,
    GT_UNUSED GtUword fatherdepth,
    GT_UNUSED GtBUinfo_rdjcv *father, GtUword sondepth,
    GtUword sonwidth, GT_UNUSED GtBUinfo_rdjcv *son,
    GtBUstate_rdjcv *state, GT_UNUSED GtError *err)
{
  if (sondepth >= state->shortest)
  {
    /* keep one copy if several copies of a sequence are present
       and the sequence is not contained in any other */
    if (state->csize == sonwidth)
    {
      gt_assert(state->csize > 0);
      GT_UNSETIBIT(state->contained, state->cmin);
      state->counter--;
    }
  }
  state->csize = 0;
  return 0;
}

// Assembly:
subq $0x38, %rsp
movb %dil, %al
movq 0x48(%rsp), %rdi
movq 0x40(%rsp), %rdi
andb $0x1, %al
movb %al, 0x37(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
movq %rcx, 0x18(%rsp)
movq %r8, 0x10(%rsp)
movq %r9, 0x8(%rsp)
movq 0x18(%rsp), %rax
movq 0x40(%rsp), %rcx
cmpq (%rcx), %rax
jb 0x2761ee
movq 0x40(%rsp), %rax
movq 0x30(%rax), %rax
cmpq 0x10(%rsp), %rax
jne 0x2761ec
jmp 0x276159
movq 0x40(%rsp), %rax
cmpq $0x0, 0x30(%rax)
ja 0x27619d
movq 0x3c5e34(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x29fe9d(%rip), %rsi    # 0x516013
leaq 0x309841(%rip), %rdx    # 0x57f9be
leaq 0x30984b(%rip), %rcx    # 0x57f9cf
leaq 0x3097ff(%rip), %r8     # 0x57f98a
movl $0xa4, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x27619f
movq 0x40(%rsp), %rax
movq 0x28(%rax), %rcx
andq $0x3f, %rcx
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
shrq %cl, %rdx
xorq $-0x1, %rdx
movq 0x40(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x40(%rsp), %rcx
movq 0x28(%rcx), %rcx
shrq $0x6, %rcx
andq (%rax,%rcx,8), %rdx
movq %rdx, (%rax,%rcx,8)
movq 0x40(%rsp), %rax
movq 0x58(%rax), %rcx
addq $-0x1, %rcx
movq %rcx, 0x58(%rax)
jmp 0x2761ee
movq 0x40(%rsp), %rax
movq $0x0, 0x30(%rax)
xorl %eax, %eax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-contfind-bottomup.c
// Function: processleafedge_rdjce
static inline int processleafedge_rdjce(GT_UNUSED bool firstsucc,
    GtUword fatherdepth,
    GT_UNUSED GtBUinfo_rdjce *father, GtUword leafnumber,
    GtBUstate_rdjce *state, GT_UNUSED GtError *err)
{
  GtUword seqnum;

  if (fatherdepth == state->shortest && (leafnumber % state->spacing) == 0)
  {
    seqnum = leafnumber / state->spacing;
    processcontained(seqnum, state);
  }
  if (state->show_progressbar) state->progress++;
  return 0;
}

// Assembly:
subq $0x38, %rsp
movb %dil, %al
andb $0x1, %al
movb %al, 0x37(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
movq %rcx, 0x18(%rsp)
movq %r8, 0x10(%rsp)
movq %r9, 0x8(%rsp)
movq 0x28(%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq (%rcx), %rax
jne 0x27636d
movq 0x18(%rsp), %rax
movq 0x10(%rsp), %rcx
xorl %edx, %edx
divq 0x8(%rcx)
cmpq $0x0, %rdx
jne 0x27636d
movq 0x18(%rsp), %rax
movq 0x10(%rsp), %rcx
xorl %edx, %edx
divq 0x8(%rcx)
movq %rax, (%rsp)
movq (%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x278ad0
movq 0x10(%rsp), %rax
testb $0x1, 0x38(%rax)
je 0x276389
movq 0x10(%rsp), %rax
movq 0x40(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x40(%rax)
xorl %eax, %eax
addq $0x38, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-contfind-bottomup.c
// Function: processbranchingedge_rdjce
static inline int processbranchingedge_rdjce(GT_UNUSED bool firstsucc,
    GT_UNUSED GtUword fatherdepth,
    GT_UNUSED GtBUinfo_rdjce *father, GtUword sondepth,
    GT_UNUSED GtUword sonwidth,
    GT_UNUSED GtBUinfo_rdjce *son, GtBUstate_rdjce *state,
    GT_UNUSED GtError *err)
{
  if (sondepth == state->shortest /* == read length */)
  {
    /* keep one copy */
    if (state->csize > 0)
    {
      GT_UNSETIBIT(state->contained, state->cmin);
      state->counter--;
    }
  }
  state->csize = 0;
  return 0;
}

// Assembly:
movb %dil, %al
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rdi
andb $0x1, %al
movb %al, -0x1(%rsp)
movq %rsi, -0x10(%rsp)
movq %rdx, -0x18(%rsp)
movq %rcx, -0x20(%rsp)
movq %r8, -0x28(%rsp)
movq %r9, -0x30(%rsp)
movq -0x20(%rsp), %rax
movq 0x8(%rsp), %rcx
cmpq (%rcx), %rax
jne 0x276426
movq 0x8(%rsp), %rax
cmpq $0x0, 0x30(%rax)
jbe 0x276424
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rcx
andq $0x3f, %rcx
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
shrq %cl, %rdx
xorq $-0x1, %rdx
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x28(%rcx), %rcx
shrq $0x6, %rcx
andq (%rax,%rcx,8), %rdx
movq %rdx, (%rax,%rcx,8)
movq 0x8(%rsp), %rax
movq 0x58(%rax), %rcx
addq $-0x1, %rcx
movq %rcx, 0x58(%rax)
jmp 0x276426
movq 0x8(%rsp), %rax
movq $0x0, 0x30(%rax)
xorl %eax, %eax
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-contfind-bottomup.c
// Function: prepare_sspbittab_and_shortest
static void prepare_sspbittab_and_shortest(GtUword totallength,
    ContfindBUstate *state)
{
  GtUword length, lastseqstart, i, ssp;

  GT_INITBITTAB(state->sspbittab, totallength + 1);
  lastseqstart = 0;
  state->shortest = totallength;
  for (i = 1UL; i <= state->nofsequences - 1; i++)
  {
    ssp = gt_encseq_seqstartpos(state->encseq, i) - 1;
    GT_SETIBIT(state->sspbittab, ssp);
    length = ssp - lastseqstart;
    lastseqstart = ssp + 1;
    if (length < state->shortest)
      state->shortest = length;
  }
  GT_SETIBIT(state->sspbittab, totallength);
  length = totallength - lastseqstart;
  if (length < state->shortest)
    state->shortest = length;
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq %rsi, 0x38(%rsp)
movq 0x40(%rsp), %rax
addq $0x1, %rax
shrq $0x6, %rax
cmpq $0x0, %rax
jne 0x27678d
movl $0x1, %eax
movq %rax, 0x8(%rsp)
jmp 0x2767a7
movq 0x40(%rsp), %rax
addq $0x1, %rax
subq $0x1, %rax
shrq $0x6, %rax
addq $0x1, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rsi
shlq $0x3, %rsi
xorl %eax, %eax
movl %eax, %edi
leaq 0x3091c5(%rip), %rdx    # 0x57f98a
movl $0xb7, %ecx
callq 0xe8540
movq %rax, %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x38(%rsp), %rax
movq 0x18(%rax), %rdi
movq 0x10(%rsp), %rdx
shlq $0x3, %rdx
xorl %esi, %esi
callq 0x19360
movq $0x0, 0x28(%rsp)
movq 0x40(%rsp), %rcx
movq 0x38(%rsp), %rax
movq %rcx, (%rax)
movq $0x1, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq 0x38(%rsp), %rcx
movq 0x50(%rcx), %rcx
subq $0x1, %rcx
cmpq %rcx, %rax
ja 0x2768c8
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0xb0530
subq $0x1, %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rcx
andq $0x3f, %rcx
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
shrq %cl, %rdx
movq 0x38(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x18(%rsp), %rcx
shrq $0x6, %rcx
orq (%rax,%rcx,8), %rdx
movq %rdx, (%rax,%rcx,8)
movq 0x18(%rsp), %rax
subq 0x28(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x28(%rsp)
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
cmpq (%rcx), %rax
jae 0x2768b3
movq 0x30(%rsp), %rcx
movq 0x38(%rsp), %rax
movq %rcx, (%rax)
jmp 0x2768b5
movq 0x20(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x20(%rsp)
jmp 0x276813
movq 0x40(%rsp), %rcx
andq $0x3f, %rcx
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
shrq %cl, %rdx
movq 0x38(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x40(%rsp), %rcx
shrq $0x6, %rcx
orq (%rax,%rcx,8), %rdx
movq %rdx, (%rax,%rcx,8)
movq 0x40(%rsp), %rax
subq 0x28(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
cmpq (%rcx), %rax
jae 0x276923
movq 0x30(%rsp), %rcx
movq 0x38(%rsp), %rax
movq %rcx, (%rax)
addq $0x48, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-contfind-bottomup.c
// Function: processcontained
static inline void processcontained(GtUword seqnum,
    ContfindBUstate *state)
{
  if (state->firstrevcompl > 0)
    seqnum = GT_READJOINER_READNUM(seqnum, state->firstrevcompl,
        state->nofsequences);
  if (!GT_ISIBITSET(state->contained, seqnum))
  {
    GT_SETIBIT(state->contained, seqnum);
    state->counter++;
  }
  if (state->csize == 0 || seqnum < state->cmin)
    state->cmin = seqnum;
  state->csize++;
}

// Assembly:
movq %rdi, -0x8(%rsp)
movq %rsi, -0x10(%rsp)
movq -0x10(%rsp), %rax
cmpq $0x0, 0x48(%rax)
jbe 0x278b2f
movq -0x10(%rsp), %rax
cmpq $0x0, 0x48(%rax)
jbe 0x278b1b
movq -0x8(%rsp), %rax
movq -0x10(%rsp), %rcx
cmpq 0x48(%rcx), %rax
jb 0x278b1b
movq -0x10(%rsp), %rax
movq 0x50(%rax), %rax
subq $0x1, %rax
subq -0x8(%rsp), %rax
movq %rax, -0x18(%rsp)
jmp 0x278b25
movq -0x8(%rsp), %rax
movq %rax, -0x18(%rsp)
movq -0x18(%rsp), %rax
movq %rax, -0x8(%rsp)
movq -0x10(%rsp), %rax
movq 0x20(%rax), %rax
movq -0x8(%rsp), %rcx
shrq $0x6, %rcx
movq (%rax,%rcx,8), %rax
movq -0x8(%rsp), %rcx
andq $0x3f, %rcx
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
shrq %cl, %rdx
movq %rdx, %rcx
andq %rcx, %rax
cmpq $0x0, %rax
jne 0x278ba8
movq -0x8(%rsp), %rcx
andq $0x3f, %rcx
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
shrq %cl, %rdx
movq -0x10(%rsp), %rax
movq 0x20(%rax), %rax
movq -0x8(%rsp), %rcx
shrq $0x6, %rcx
orq (%rax,%rcx,8), %rdx
movq %rdx, (%rax,%rcx,8)
movq -0x10(%rsp), %rax
movq 0x58(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x58(%rax)
movq -0x10(%rsp), %rax
cmpq $0x0, 0x30(%rax)
je 0x278bc4
movq -0x8(%rsp), %rax
movq -0x10(%rsp), %rcx
cmpq 0x28(%rcx), %rax
jae 0x278bd2
movq -0x8(%rsp), %rcx
movq -0x10(%rsp), %rax
movq %rcx, 0x28(%rax)
movq -0x10(%rsp), %rax
movq 0x30(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x30(%rax)
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-contfinder.c
// Function: gt_contfinder_write_seqnums
int gt_contfinder_write_seqnums(GtContfinder *contfinder, bool sorted,
    GtFile *outfp, GT_UNUSED GtError *err)
{
  int had_err = 0;
  gt_contfinder_seqnum_t i;
  if (sorted)
  {
    for (i = 0; i < contfinder->logicalnofseqs; i++)
      if (!GT_ISIBITSET(contfinder->contained,
            GT_READJOINER_CONTFINDER_GET_SEQNUM(contfinder->seqnums, i)))
        gt_file_xprintf(outfp, ""GT_WU"\n", (GtUword)
            GT_READJOINER_CONTFINDER_GET_SEQNUM(contfinder->seqnums, i));
  }
  else
  {
    for (i = 0; i < contfinder->nofseqs; i++)
      if (!GT_ISIBITSET(contfinder->contained, i))
        gt_file_xprintf(outfp, ""GT_WU"\n", (GtUword)i);
  }
  return had_err;
}

// Assembly:
subq $0x28, %rsp
movb %sil, %al
movq %rdi, 0x20(%rsp)
andb $0x1, %al
movb %al, 0x1f(%rsp)
movq %rdx, 0x10(%rsp)
movq %rcx, 0x8(%rsp)
movl $0x0, 0x4(%rsp)
testb $0x1, 0x1f(%rsp)
je 0x2790cb
movl $0x0, (%rsp)
movl (%rsp), %eax
movq 0x20(%rsp), %rcx
cmpl 0x8(%rcx), %eax
jae 0x2790c9
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x20(%rsp), %rcx
movq 0x48(%rcx), %rcx
movl (%rsp), %edx
movl (%rcx,%rdx,4), %ecx
shrl $0x6, %ecx
movl %ecx, %ecx
movq (%rax,%rcx,8), %rax
movq 0x20(%rsp), %rcx
movq 0x48(%rcx), %rcx
movl (%rsp), %edx
movl (%rcx,%rdx,4), %ecx
andl $0x3f, %ecx
movl %ecx, %ecx
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
shrq %cl, %rdx
movq %rdx, %rcx
andq %rcx, %rax
cmpq $0x0, %rax
jne 0x2790b9
movq 0x10(%rsp), %rdi
movq 0x20(%rsp), %rax
movq 0x48(%rax), %rax
movl (%rsp), %ecx
movl (%rax,%rcx,4), %eax
movl %eax, %edx
leaq 0x2a89f4(%rip), %rsi    # 0x521aa6
movb $0x0, %al
callq 0xddca0
jmp 0x2790bb
movl (%rsp), %eax
addl $0x1, %eax
movl %eax, (%rsp)
jmp 0x279036
jmp 0x27913c
movl $0x0, (%rsp)
movl (%rsp), %eax
movq 0x20(%rsp), %rcx
cmpl 0xc(%rcx), %eax
jae 0x27913a
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movl (%rsp), %ecx
shrl $0x6, %ecx
movl %ecx, %ecx
movq (%rax,%rcx,8), %rax
movl (%rsp), %ecx
andl $0x3f, %ecx
movl %ecx, %ecx
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
shrq %cl, %rdx
movq %rdx, %rcx
andq %rcx, %rax
cmpq $0x0, %rax
jne 0x27912d
movq 0x10(%rsp), %rdi
movl (%rsp), %eax
movl %eax, %edx
leaq 0x2a8980(%rip), %rsi    # 0x521aa6
movb $0x0, %al
callq 0xddca0
jmp 0x27912f
movl (%rsp), %eax
addl $0x1, %eax
movl %eax, (%rsp)
jmp 0x2790d2
jmp 0x27913c
movl 0x4(%rsp), %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-contfinder.c
// Function: gt_contfinder_write_sorted_seqnums
int gt_contfinder_write_sorted_seqnums(GtContfinder *contfinder, char* path,
    GtError *err)
{
  int had_err = 0;
  GtFile *file;
  file = gt_file_new(path, "wb", err);
  if (file == NULL)
    had_err = -1;
  if (!had_err)
  {
    had_err = gt_contfinder_write_seqnums(contfinder, true, file, err);
  }
  gt_file_delete(file);
  return had_err;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movl $0x0, 0xc(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rdx
leaq 0x2ada21(%rip), %rsi    # 0x526b9d
callq 0xdd320
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
jne 0x279194
movl $0xffffffff, 0xc(%rsp)  # imm = 0xFFFFFFFF
cmpl $0x0, 0xc(%rsp)
jne 0x2791b7
movq 0x20(%rsp), %rdi
movq (%rsp), %rdx
movq 0x10(%rsp), %rcx
movl $0x1, %esi
callq 0x279000
movl %eax, 0xc(%rsp)
movq (%rsp), %rdi
callq 0xde430
movl 0xc(%rsp), %eax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-contfinder.c
// Function: gt_contfinder_write_cntlist
int gt_contfinder_write_cntlist(GtContfinder *contfinder, char* path,
    GtError *err)
{
  int had_err;
  had_err = gt_cntlist_show(contfinder->contained,
      (GtUword)contfinder->nofseqs, path, true, err);
  return had_err;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x20(%rsp), %rax
movl 0xc(%rax), %eax
movl %eax, %esi
movq 0x18(%rsp), %rdx
movq 0x10(%rsp), %r8
movl $0x1, %ecx
callq 0x275100
movl %eax, 0xc(%rsp)
movl 0xc(%rsp), %eax
addq $0x28, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-contfinder.c
// Function: gt_contfinder_nofcontained
GtUword gt_contfinder_nofcontained(GtContfinder *contfinder)
{
  size_t i;
  GtBitsequence v;
  GtUword nofcontained;
  const size_t tabsize = GT_NUMOFINTSFORBITS(contfinder->nofseqs);
  if (contfinder->contained == NULL)
    return 0;
  nofcontained = 0;
  for (i = 0; i < tabsize; i++)
  {
    v = contfinder->contained[i];
    for (/**/; v; nofcontained++)
      v &= v - 1;
  }
  return nofcontained;
}

// Assembly:
movq %rdi, -0x10(%rsp)
movq -0x10(%rsp), %rax
movl 0xc(%rax), %eax
shrl $0x6, %eax
cmpl $0x0, %eax
jne 0x279421
movl $0x1, %eax
movq %rax, -0x38(%rsp)
jmp 0x27943a
movq -0x10(%rsp), %rax
movl 0xc(%rax), %eax
subl $0x1, %eax
shrl $0x6, %eax
movl %eax, %eax
addq $0x1, %rax
movq %rax, -0x38(%rsp)
movq -0x38(%rsp), %rax
movq %rax, -0x30(%rsp)
movq -0x10(%rsp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x27945b
movq $0x0, -0x8(%rsp)
jmp 0x2794d7
movq $0x0, -0x28(%rsp)
movq $0x0, -0x18(%rsp)
movq -0x18(%rsp), %rax
cmpq -0x30(%rsp), %rax
jae 0x2794cd
movq -0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq -0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x20(%rsp)
cmpq $0x0, -0x20(%rsp)
je 0x2794bb
movq -0x20(%rsp), %rax
subq $0x1, %rax
andq -0x20(%rsp), %rax
movq %rax, -0x20(%rsp)
movq -0x28(%rsp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rsp)
jmp 0x279490
jmp 0x2794bd
movq -0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rsp)
jmp 0x27946d
movq -0x28(%rsp), %rax
movq %rax, -0x8(%rsp)
movq -0x8(%rsp), %rax
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-contfinder.c
// Function: gt_contfinder_init_copynum
static void gt_contfinder_init_copynum(GtContfinder *contfinder)
{
  gt_contfinder_seqnum_t idx;
  /* the mark_as_contained function is currently not able to set
   * correctly the copynum if sequences have variable length,
   * thus: */
  gt_assert(contfinder->len > 0);
  contfinder->copynum = gt_malloc(sizeof (*contfinder->copynum) *
      contfinder->nofseqs);
  for (idx = 0; idx < contfinder->nofseqs; idx++)
    contfinder->copynum[idx] = (gt_contfinder_seqnum_t)1;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
cmpq $0x0, 0x18(%rax)
ja 0x2797bd
movq 0x3c2814(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x29c87d(%rip), %rsi    # 0x516013
leaq 0x306386(%rip), %rdx    # 0x57fb23
leaq 0x306393(%rip), %rcx    # 0x57fb37
leaq 0x306297(%rip), %r8     # 0x57fa42
movl $0x35c, %r9d            # imm = 0x35C
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2797bf
movq 0x10(%rsp), %rax
movl 0xc(%rax), %eax
movl %eax, %edi
shlq $0x0, %rdi
leaq 0x30626e(%rip), %rsi    # 0x57fa42
movl $0x35e, %edx            # imm = 0x35E
callq 0xe80f0
movq %rax, %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x40(%rax)
movl $0x0, 0xc(%rsp)
movl 0xc(%rsp), %eax
movq 0x10(%rsp), %rcx
cmpl 0xc(%rcx), %eax
jae 0x27981e
movq 0x10(%rsp), %rax
movq 0x40(%rax), %rax
movl 0xc(%rsp), %ecx
movb $0x1, (%rax,%rcx)
movl 0xc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xc(%rsp)
jmp 0x2797f2
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-contfinder.c
// Function: gt_contfinder_delete
void gt_contfinder_delete(GtContfinder *contfinder)
{
  if (contfinder != NULL)
  {
    GT_READJOINER_CONTFINDER_FREE_SEQNUMS(contfinder->seqnums);
    gt_free(contfinder->contained);
    gt_free(contfinder->copynum);
    gt_free(contfinder);
  }
}

// Assembly:
pushq %rax
movq %rdi, (%rsp)
cmpq $0x0, (%rsp)
je 0x27b48c
movq (%rsp), %rax
movq 0x48(%rax), %rdi
leaq 0x304607(%rip), %rsi    # 0x57fa42
movl $0x387, %edx            # imm = 0x387
callq 0xe88c0
movq (%rsp), %rax
movq 0x10(%rax), %rdi
leaq 0x3045ee(%rip), %rsi    # 0x57fa42
movl $0x388, %edx            # imm = 0x388
callq 0xe88c0
movq (%rsp), %rax
movq 0x40(%rax), %rdi
leaq 0x3045d5(%rip), %rsi    # 0x57fa42
movl $0x389, %edx            # imm = 0x389
callq 0xe88c0
movq (%rsp), %rdi
leaq 0x3045c0(%rip), %rsi    # 0x57fa42
movl $0x38a, %edx            # imm = 0x38A
callq 0xe88c0
popq %rax
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-contfinder.c
// Function: gt_contfinder_new
GtContfinder* gt_contfinder_new(GtReads2Twobit *r2t)
{
  GtContfinder *contfinder;
  contfinder = gt_malloc(sizeof (*contfinder));
  contfinder->contained = NULL;
  contfinder->copynum = NULL;
  contfinder->seqnums = NULL;
  contfinder->twobitencoding = gt_reads2twobit_export_twobitencoding(r2t);
  contfinder->seppos = (size_t*)gt_reads2twobit_export_seppos(r2t);
  contfinder->nofseqs = (gt_contfinder_seqnum_t)gt_reads2twobit_nofseqs(r2t);
  contfinder->logicalnofseqs = contfinder->nofseqs;
  contfinder->len = (size_t)gt_reads2twobit_seqlen_eqlen(r2t);
  return contfinder;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movl $0x50, %edi
leaq 0x30459d(%rip), %rsi    # 0x57fa42
movl $0x3a3, %edx            # imm = 0x3A3
callq 0xe80f0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq $0x0, 0x10(%rax)
movq 0x8(%rsp), %rax
movq $0x0, 0x40(%rax)
movq 0x8(%rsp), %rax
movq $0x0, 0x48(%rax)
movq 0x10(%rsp), %rdi
callq 0x2a4d00
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, (%rax)
movq 0x10(%rsp), %rdi
callq 0x2a4d50
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x10(%rsp), %rdi
callq 0x2a4e40
movl %eax, %ecx
movq 0x8(%rsp), %rax
movl %ecx, 0xc(%rax)
movq 0x8(%rsp), %rax
movl 0xc(%rax), %ecx
movq 0x8(%rsp), %rax
movl %ecx, 0x8(%rax)
movq 0x10(%rsp), %rdi
callq 0x2a4e90
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x8(%rsp), %rax
addq $0x18, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-contfinder.c
// Function: gt_contfinder_radixsort_str_eqlen_tester
void gt_contfinder_radixsort_str_eqlen_tester(GtContfinder *contfinder,
    bool mirrored, GtUword depth,
    GtUword maxdepth, bool print)
{
  GtUword *suffixes, totallength, width, i;
  GtRadixsortstringinfo *rsi;

  totallength = (GtUword) contfinder->nofseqs * contfinder->len - 1;
  width = mirrored ? GT_MULT2(totallength + 1) : (totallength + 1);
  rsi = gt_radixsort_str_new(contfinder->twobitencoding,
                             totallength,
                             (GtUword) contfinder->len,
                             GT_MULT2(width));
  suffixes = gt_malloc(sizeof (GtUword) * width);
  for (i = 0; i < width; i++)
  {
    suffixes[i] = i;
  }
  gt_radixsort_str_eqlen(rsi, suffixes, NULL, 0, depth, maxdepth, width);
  if (print)
  {
    for (i = 0; i < width; i++)
    {
      printf(""GT_WU"\n", suffixes[i]);
    }
  }
  gt_free(suffixes);
  gt_radixsort_str_delete(rsi);
}

// Assembly:
subq $0x68, %rsp
movb %r8b, %al
movq %rdi, 0x60(%rsp)
andb $0x1, %sil
movb %sil, 0x5f(%rsp)
movq %rdx, 0x50(%rsp)
movq %rcx, 0x48(%rsp)
andb $0x1, %al
movb %al, 0x47(%rsp)
movq 0x60(%rsp), %rax
movl 0xc(%rax), %eax
movq 0x60(%rsp), %rcx
imulq 0x18(%rcx), %rax
subq $0x1, %rax
movq %rax, 0x30(%rsp)
testb $0x1, 0x5f(%rsp)
je 0x27b5aa
movq 0x30(%rsp), %rax
addq $0x1, %rax
shlq %rax
movq %rax, 0x10(%rsp)
jmp 0x27b5b8
movq 0x30(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x60(%rsp), %rax
movq (%rax), %rdi
movq 0x30(%rsp), %rsi
movq 0x60(%rsp), %rax
movq 0x18(%rax), %rdx
movq 0x28(%rsp), %rcx
shlq %rcx
callq 0x4d4010
movq %rax, 0x18(%rsp)
movq 0x28(%rsp), %rdi
shlq $0x3, %rdi
leaq 0x304448(%rip), %rsi    # 0x57fa42
movl $0x3c0, %edx            # imm = 0x3C0
callq 0xe80f0
movq %rax, 0x38(%rsp)
movq $0x0, 0x20(%rsp)
movq 0x20(%rsp), %rax
cmpq 0x28(%rsp), %rax
jae 0x27b641
movq 0x20(%rsp), %rdx
movq 0x38(%rsp), %rax
movq 0x20(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x20(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x20(%rsp)
jmp 0x27b612
movq 0x18(%rsp), %rdi
movq 0x38(%rsp), %rsi
movq 0x50(%rsp), %r8
movq 0x48(%rsp), %r9
movq 0x28(%rsp), %rax
xorl %ecx, %ecx
movq %rcx, %rdx
movq %rax, (%rsp)
callq 0x4d4430
testb $0x1, 0x47(%rsp)
je 0x27b6b2
movq $0x0, 0x20(%rsp)
movq 0x20(%rsp), %rax
cmpq 0x28(%rsp), %rax
jae 0x27b6b0
movq 0x38(%rsp), %rax
movq 0x20(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
leaq 0x2a640d(%rip), %rdi    # 0x521aa6
movb $0x0, %al
callq 0x19070
movq 0x20(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x20(%rsp)
jmp 0x27b678
jmp 0x27b6b2
movq 0x38(%rsp), %rdi
leaq 0x304384(%rip), %rsi    # 0x57fa42
movl $0x3cd, %edx            # imm = 0x3CD
callq 0xe88c0
movq 0x18(%rsp), %rdi
callq 0x4d4340
addq $0x68, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-contfinder.c
// Function: gt_contfinder_code_at_position
static inline gt_contfinder_kmercode_t gt_contfinder_code_at_position(
    const GtTwobitencoding *twobitencoding, size_t pos)
{
  unsigned int unitoffset = (unsigned int) GT_MODBYUNITSIN2BITENC(pos);
  size_t unitindex = GT_DIVBYUNITSIN2BITENC(pos);

  if (unitoffset <=
      (unsigned int)(GT_UNITSIN2BITENC - GT_CONTFINDER_KMERSIZE))
  {
    return (gt_contfinder_kmercode_t)
      (twobitencoding[unitindex] >>
       GT_MULT2(GT_UNITSIN2BITENC - GT_CONTFINDER_KMERSIZE -
         unitoffset))
      & GT_CONTFINDER_KMERCODE_MAX;
  }
  else
  {
    unsigned int shiftleft = GT_MULT2(unitoffset +
        (unsigned int)GT_CONTFINDER_KMERSIZE -
        (unsigned int)GT_UNITSIN2BITENC);
    return (gt_contfinder_kmercode_t)
      ((twobitencoding[unitindex] << shiftleft) |
       (twobitencoding[unitindex + 1] >>
           (GT_MULT2(GT_UNITSIN2BITENC) - shiftleft)))
      & GT_CONTFINDER_KMERCODE_MAX;
  }
}

// Assembly:
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movq -0x18(%rsp), %rax
andq $0x1f, %rax
movl %eax, -0x1c(%rsp)
movq -0x18(%rsp), %rax
shrq $0x5, %rax
movq %rax, -0x28(%rsp)
cmpl $0x1c, -0x1c(%rsp)
ja 0x27c48c
movq -0x10(%rsp), %rax
movq -0x28(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x1c(%rsp), %ecx
movl %ecx, %edx
movl $0x1c, %ecx
subq %rdx, %rcx
shlq %rcx
shrq %cl, %rax
movzbl %al, %eax
andl $0xff, %eax
movb %al, -0x1(%rsp)
jmp 0x27c4e0
movl -0x1c(%rsp), %eax
addl $0x4, %eax
subl $0x20, %eax
shll %eax
movl %eax, -0x2c(%rsp)
movq -0x10(%rsp), %rax
movq -0x28(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x2c(%rsp), %ecx
shlq %cl, %rax
movq -0x10(%rsp), %rcx
movq -0x28(%rsp), %rdx
movq 0x8(%rcx,%rdx,8), %rdx
movl $0x40, %ecx
subl -0x2c(%rsp), %ecx
movl %ecx, %ecx
shrq %cl, %rdx
movq %rdx, %rcx
orq %rcx, %rax
movzbl %al, %eax
andl $0xff, %eax
movb %al, -0x1(%rsp)
movb -0x1(%rsp), %al
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-contigpaths.c
// Function: gt_contigpaths_get_file
static GtFile* gt_contigpaths_get_file(const char *indexname,
    const char *suffix, const char* mode, GtError *err)
{
  GtStr *path;
  GtFile *file;

  path = gt_str_new_cstr(indexname);
  gt_str_append_cstr(path, suffix);
  file = gt_file_new(gt_str_get(path), mode, err);
  gt_str_delete(path);
  return file;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
movq %rcx, 0x18(%rsp)
movq 0x30(%rsp), %rdi
callq 0x11d510
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movq 0x28(%rsp), %rsi
callq 0x11d550
movq 0x10(%rsp), %rdi
callq 0x11dee0
movq %rax, %rdi
movq 0x20(%rsp), %rsi
movq 0x18(%rsp), %rdx
callq 0xdd320
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
callq 0x11f560
movq 0x8(%rsp), %rax
addq $0x38, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-contigs-graph.c
// Function: gt_contigs_graph_new
GtContigsGraph* gt_contigs_graph_new(FILE *cjl_i_fp, FILE *cjl_o_fp,
    FILE *junctions_fp, FILE *rlt_fp, FILE *depthinfo_fp, GtError *err)
{
  GtContigsGraph *cg;
  GtUword nofjinfos;
  GtContigJunctionInfo *j_info = NULL;
  int had_err = 0;

  cg = gt_contigs_graph_init();

  had_err = gt_contigs_graph_load_reads_libraries_table(cg, rlt_fp, err);

  if (!had_err)
    had_err = gt_contigs_graph_create_vertices(cg, cjl_i_fp, cjl_o_fp,
        depthinfo_fp, err);

  if (!had_err)
    had_err = gt_contigs_graph_read_junctions(&j_info, &nofjinfos,
        junctions_fp, err);

  if (!had_err)
  {
    unsigned int incoming;
    for (incoming = 0; incoming < 2U; incoming++)
    {
      gt_contigs_graph_create_e_spm(cg->nof_v, cg->v_spm[incoming],
          &(cg->e_spm[incoming]), &(cg->nof_spm_edges[incoming]),
          &(cg->alloc_spm_edges[incoming]), j_info, nofjinfos, (bool)incoming);
    }
  }

  gt_free(j_info);
  if (had_err)
  {
    gt_contigs_graph_delete(cg);
    return NULL;
  }
  return cg;
}

// Assembly:
subq $0x68, %rsp
movq %rdi, 0x58(%rsp)
movq %rsi, 0x50(%rsp)
movq %rdx, 0x48(%rsp)
movq %rcx, 0x40(%rsp)
movq %r8, 0x38(%rsp)
movq %r9, 0x30(%rsp)
movq $0x0, 0x18(%rsp)
movl $0x0, 0x14(%rsp)
callq 0x27dd70
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rdi
movq 0x40(%rsp), %rsi
movq 0x30(%rsp), %rdx
callq 0x27df30
movl %eax, 0x14(%rsp)
cmpl $0x0, 0x14(%rsp)
jne 0x27dc4e
movq 0x28(%rsp), %rdi
movq 0x58(%rsp), %rsi
movq 0x50(%rsp), %rdx
movq 0x38(%rsp), %rcx
movq 0x30(%rsp), %r8
callq 0x27e010
movl %eax, 0x14(%rsp)
cmpl $0x0, 0x14(%rsp)
jne 0x27dc72
movq 0x48(%rsp), %rdx
movq 0x30(%rsp), %rcx
leaq 0x18(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x27e510
movl %eax, 0x14(%rsp)
cmpl $0x0, 0x14(%rsp)
jne 0x27dd21
movl $0x0, 0x10(%rsp)
cmpl $0x2, 0x10(%rsp)
jae 0x27dd1f
movq 0x28(%rsp), %rax
movq (%rax), %rdi
movq 0x28(%rsp), %rax
movl 0x10(%rsp), %ecx
movq 0x18(%rax,%rcx,8), %rsi
movq 0x28(%rsp), %rdx
addq $0x80, %rdx
movl 0x10(%rsp), %eax
shlq $0x3, %rax
addq %rax, %rdx
movq 0x28(%rsp), %rcx
addq $0x60, %rcx
movl 0x10(%rsp), %eax
shlq $0x3, %rax
addq %rax, %rcx
movq 0x28(%rsp), %r8
addq $0x70, %r8
movl 0x10(%rsp), %eax
shlq $0x3, %rax
addq %rax, %r8
movq 0x18(%rsp), %r9
movq 0x20(%rsp), %r11
cmpl $0x0, 0x10(%rsp)
setne %r10b
movq %rsp, %rax
movq %r11, (%rax)
movzbl %r10b, %r10d
andl $0x1, %r10d
movl %r10d, 0x8(%rax)
callq 0x27e750
movl 0x10(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x10(%rsp)
jmp 0x27dc85
jmp 0x27dd21
movq 0x18(%rsp), %rdi
leaq 0x302004(%rip), %rsi    # 0x57fd31
movl $0x206, %edx            # imm = 0x206
callq 0xe88c0
cmpl $0x0, 0x14(%rsp)
je 0x27dd53
movq 0x28(%rsp), %rdi
callq 0x27e8b0
movq $0x0, 0x60(%rsp)
jmp 0x27dd5d
movq 0x28(%rsp), %rax
movq %rax, 0x60(%rsp)
movq 0x60(%rsp), %rax
addq $0x68, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-contigs-graph.c
// Function: gt_contigs_graph_init
static GtContigsGraph* gt_contigs_graph_init(void)
{
  GtContigsGraph *cg;
  cg = gt_malloc(sizeof (GtContigsGraph));
  cg->nof_v = 0;
  cg->alloc_v = 0;
  cg->nof_simple_v = 0;
  cg->v_spm[0] = NULL;
  cg->v_spm[1] = NULL;
  cg->v_scf = NULL;
  cg->v_d   = NULL;
  cg->v_m   = NULL;
  cg->v_cmp = NULL;
  cg->nof_units = 0;
  cg->alloc_units = 0;
  cg->units = NULL;
  cg->nof_spm_edges[0] = 0;
  cg->nof_spm_edges[1] = 0;
  cg->alloc_spm_edges[0] = 0;
  cg->alloc_spm_edges[1] = 0;
  cg->e_spm[0] = NULL;
  cg->e_spm[1] = NULL;
  cg->nofscfedges = 0;
  cg->e_scf = NULL;
  cg->rlt = NULL;
  gt_log_log("sizeof (GtContigEdgesLink) = "GT_WU"",
      (GtUword) sizeof (GtContigEdgesLink));
  gt_log_log("sizeof (GtContigJunctionInfo) = "GT_WU"",
      (GtUword) sizeof (GtContigJunctionInfo));
  gt_log_log("sizeof (GtContigDepthInfo) = "GT_WU"",
      (GtUword) sizeof (GtContigDepthInfo));
  gt_log_log("sizeof (GtContigsGraphSpmEdge) = "GT_WU"",
      (GtUword) sizeof (GtContigsGraphSpmEdge));
  gt_log_log("sizeof (GtContigsGraphScfEdge) = "GT_WU"",
      (GtUword) sizeof (GtContigsGraphScfEdge));
  gt_log_log("sizeof (GtContigsGraphMarks) = "GT_WU"",
      (GtUword) sizeof (GtContigsGraphMarks));
  gt_log_log("sizeof (GtContigsGraphSeqUnit) = "GT_WU"",
      (GtUword) sizeof (GtContigsGraphSeqUnit));
  cg->dot_show_deleted = false;
  return cg;
}

// Assembly:
pushq %rax
movl $0xb0, %edi
leaq 0x301fb4(%rip), %rsi    # 0x57fd31
movl $0x9a, %edx
callq 0xe80f0
movq %rax, (%rsp)
movq (%rsp), %rax
movq $0x0, (%rax)
movq (%rsp), %rax
movq $0x0, 0x8(%rax)
movq (%rsp), %rax
movq $0x0, 0x10(%rax)
movq (%rsp), %rax
movq $0x0, 0x18(%rax)
movq (%rsp), %rax
movq $0x0, 0x20(%rax)
movq (%rsp), %rax
movq $0x0, 0x28(%rax)
movq (%rsp), %rax
movq $0x0, 0x30(%rax)
movq (%rsp), %rax
movq $0x0, 0x38(%rax)
movq (%rsp), %rax
movq $0x0, 0x40(%rax)
movq (%rsp), %rax
movq $0x0, 0x48(%rax)
movq (%rsp), %rax
movq $0x0, 0x50(%rax)
movq (%rsp), %rax
movq $0x0, 0x58(%rax)
movq (%rsp), %rax
movq $0x0, 0x60(%rax)
movq (%rsp), %rax
movq $0x0, 0x68(%rax)
movq (%rsp), %rax
movq $0x0, 0x70(%rax)
movq (%rsp), %rax
movq $0x0, 0x78(%rax)
movq (%rsp), %rax
movq $0x0, 0x80(%rax)
movq (%rsp), %rax
movq $0x0, 0x88(%rax)
movq (%rsp), %rax
movq $0x0, 0x90(%rax)
movq (%rsp), %rax
movq $0x0, 0x98(%rax)
movq (%rsp), %rax
movq $0x0, 0xa0(%rax)
leaq 0x302581(%rip), %rdi    # 0x58041d
movl $0x8, %esi
movb $0x0, %al
callq 0xe7740
leaq 0x30258f(%rip), %rdi    # 0x58043e
movl $0x10, %esi
movb $0x0, %al
callq 0xe7740
leaq 0x3025a0(%rip), %rdi    # 0x580462
movl $0x20, %esi
movb $0x0, %al
callq 0xe7740
leaq 0x3025ae(%rip), %rdi    # 0x580483
movl $0x8, %esi
movb $0x0, %al
callq 0xe7740
leaq 0x3025c0(%rip), %rdi    # 0x5804a8
movl $0x18, %esi
movb $0x0, %al
callq 0xe7740
leaq 0x3025d2(%rip), %rdi    # 0x5804cd
movl $0x1, %esi
movb $0x0, %al
callq 0xe7740
leaq 0x3025e2(%rip), %rdi    # 0x5804f0
movl $0x10, %esi
movb $0x0, %al
callq 0xe7740
movq (%rsp), %rax
movb $0x0, 0xa8(%rax)
movq (%rsp), %rax
popq %rcx
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-contigs-graph.c
// Function: gt_contigs_graph_load_reads_libraries_table
static int gt_contigs_graph_load_reads_libraries_table(GtContigsGraph *cg,
    FILE *rlt_fp, GtError *err)
{
  gt_assert(cg != NULL);
  gt_assert(rlt_fp != NULL);
  cg->rlt = gt_reads_libraries_table_load(rlt_fp, err);
  return (cg->rlt == NULL) ? -1 : 0;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movq %rdx, (%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x27df82
movq 0x3be04f(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2980b8(%rip), %rsi    # 0x516013
leaq 0x301da6(%rip), %rdx    # 0x57fd08
leaq 0x3025ac(%rip), %rcx    # 0x580515
leaq 0x301dc1(%rip), %r8     # 0x57fd31
movl $0x1e1, %r9d            # imm = 0x1E1
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x27df84
jmp 0x27df86
cmpq $0x0, 0x8(%rsp)
jne 0x27dfc6
movq 0x3be00b(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x298074(%rip), %rsi    # 0x516013
leaq 0x30259b(%rip), %rdx    # 0x580541
leaq 0x302568(%rip), %rcx    # 0x580515
leaq 0x301d7d(%rip), %r8     # 0x57fd31
movl $0x1e2, %r9d            # imm = 0x1E2
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x27dfc8
movq 0x8(%rsp), %rdi
movq (%rsp), %rsi
callq 0x2a92b0
movq %rax, %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0xa0(%rax)
movq 0x10(%rsp), %rax
movq 0xa0(%rax), %rdx
xorl %eax, %eax
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
cmpq $0x0, %rdx
cmovel %ecx, %eax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-contigs-graph.c
// Function: gt_contigs_graph_create_e_spm
static void gt_contigs_graph_create_e_spm(GtUword nof_v,
    GtContigEdgesLink *v, GtContigsGraphSpmEdge **e,
    GtUword *nof_e, GtUword *alloc_e, GtContigJunctionInfo *j_info,
    GtUword nofjinfos, bool incoming)
{
  GtUword cnum, nextfree_edge;
  *nof_e = 0;
  for (cnum = 0; cnum < nof_v; cnum++)
  {
    *nof_e += v[cnum].deg;
  }
  *alloc_e = *nof_e;

  *e = gt_malloc(sizeof (**e) * (*alloc_e));
  nextfree_edge = 0;
  for (cnum = 0; cnum < nof_v; cnum++)
  {
    gt_contigs_graph_create_spm_edges_for_vertex(v, *e,
        cnum, &nextfree_edge, j_info, nofjinfos, incoming);
  }
  v[nof_v].ptr = (uint64_t)nextfree_edge;
}

// Assembly:
subq $0x58, %rsp
movb 0x68(%rsp), %al
movq 0x60(%rsp), %r10
movq %rdi, 0x50(%rsp)
movq %rsi, 0x48(%rsp)
movq %rdx, 0x40(%rsp)
movq %rcx, 0x38(%rsp)
movq %r8, 0x30(%rsp)
movq %r9, 0x28(%rsp)
andb $0x1, %al
movb %al, 0x27(%rsp)
movq 0x38(%rsp), %rax
movq $0x0, (%rax)
movq $0x0, 0x18(%rsp)
movq 0x18(%rsp), %rax
cmpq 0x50(%rsp), %rax
jae 0x27e7d2
movq 0x48(%rsp), %rax
movq 0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rcx
andq $0xffff, %rcx           # imm = 0xFFFF
movq 0x38(%rsp), %rax
addq (%rax), %rcx
movq %rcx, (%rax)
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
jmp 0x27e796
movq 0x38(%rsp), %rax
movq (%rax), %rcx
movq 0x30(%rsp), %rax
movq %rcx, (%rax)
movq 0x30(%rsp), %rax
movq (%rax), %rdi
shlq $0x3, %rdi
leaq 0x30153c(%rip), %rsi    # 0x57fd31
movl $0x1d4, %edx            # imm = 0x1D4
callq 0xe80f0
movq %rax, %rcx
movq 0x40(%rsp), %rax
movq %rcx, (%rax)
movq $0x0, 0x10(%rsp)
movq $0x0, 0x18(%rsp)
movq 0x18(%rsp), %rax
cmpq 0x50(%rsp), %rax
jae 0x27e86a
movq 0x48(%rsp), %rdi
movq 0x40(%rsp), %rax
movq (%rax), %rsi
movq 0x18(%rsp), %rdx
movq 0x28(%rsp), %r8
movq 0x60(%rsp), %r9
movb 0x27(%rsp), %al
leaq 0x10(%rsp), %rcx
andb $0x1, %al
movzbl %al, %eax
movl %eax, (%rsp)
callq 0x281660
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
jmp 0x27e81c
movq 0x10(%rsp), %rsi
movq 0x48(%rsp), %rax
movq 0x50(%rsp), %rcx
movq (%rax,%rcx,8), %rdx
movabsq $0xffffffffffff, %rdi   # imm = 0xFFFFFFFFFFFF
andq %rdi, %rsi
shlq $0x10, %rsi
andq $0xffff, %rdx           # imm = 0xFFFF
orq %rsi, %rdx
movq %rdx, (%rax,%rcx,8)
addq $0x58, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-contigs-graph.c
// Function: gt_contigs_graph_delete
void gt_contigs_graph_delete(GtContigsGraph *cg)
{
  if (cg != NULL)
  {
    gt_free(cg->v_spm[0]);
    gt_free(cg->v_spm[1]);
    gt_free(cg->v_scf);
    gt_free(cg->v_d);
    gt_free(cg->v_m);
    gt_free(cg->e_spm[0]);
    gt_free(cg->e_spm[1]);
    gt_free(cg->e_scf);
    gt_free(cg->v_cmp);
    gt_free(cg->units);
    gt_reads_libraries_table_delete(cg->rlt);
    gt_free(cg);
  }
}

// Assembly:
pushq %rax
movq %rdi, (%rsp)
cmpq $0x0, (%rsp)
je 0x27e9e8
movq (%rsp), %rax
movq 0x18(%rax), %rdi
leaq 0x301462(%rip), %rsi    # 0x57fd31
movl $0x4c3, %edx            # imm = 0x4C3
callq 0xe88c0
movq (%rsp), %rax
movq 0x20(%rax), %rdi
leaq 0x301449(%rip), %rsi    # 0x57fd31
movl $0x4c4, %edx            # imm = 0x4C4
callq 0xe88c0
movq (%rsp), %rax
movq 0x28(%rax), %rdi
leaq 0x301430(%rip), %rsi    # 0x57fd31
movl $0x4c5, %edx            # imm = 0x4C5
callq 0xe88c0
movq (%rsp), %rax
movq 0x30(%rax), %rdi
leaq 0x301417(%rip), %rsi    # 0x57fd31
movl $0x4c6, %edx            # imm = 0x4C6
callq 0xe88c0
movq (%rsp), %rax
movq 0x38(%rax), %rdi
leaq 0x3013fe(%rip), %rsi    # 0x57fd31
movl $0x4c7, %edx            # imm = 0x4C7
callq 0xe88c0
movq (%rsp), %rax
movq 0x80(%rax), %rdi
leaq 0x3013e2(%rip), %rsi    # 0x57fd31
movl $0x4c8, %edx            # imm = 0x4C8
callq 0xe88c0
movq (%rsp), %rax
movq 0x88(%rax), %rdi
leaq 0x3013c6(%rip), %rsi    # 0x57fd31
movl $0x4c9, %edx            # imm = 0x4C9
callq 0xe88c0
movq (%rsp), %rax
movq 0x98(%rax), %rdi
leaq 0x3013aa(%rip), %rsi    # 0x57fd31
movl $0x4ca, %edx            # imm = 0x4CA
callq 0xe88c0
movq (%rsp), %rax
movq 0x40(%rax), %rdi
leaq 0x301391(%rip), %rsi    # 0x57fd31
movl $0x4cb, %edx            # imm = 0x4CB
callq 0xe88c0
movq (%rsp), %rax
movq 0x58(%rax), %rdi
leaq 0x301378(%rip), %rsi    # 0x57fd31
movl $0x4cc, %edx            # imm = 0x4CC
callq 0xe88c0
movq (%rsp), %rax
movq 0xa0(%rax), %rdi
callq 0x2a8d80
movq (%rsp), %rdi
leaq 0x301353(%rip), %rsi    # 0x57fd31
movl $0x4ce, %edx            # imm = 0x4CE
callq 0xe88c0
popq %rax
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-contigs-graph.c
// Function: gt_contigs_graph_rm_vertex
void gt_contigs_graph_rm_vertex(GtContigsGraph *cg, GtUword cnum)
{
  GtContigsGraphSpmEdge *edge;
  unsigned int incoming;
  gt_log_log("rm vertex "GT_WU"", cnum);
  for (incoming = 0; incoming < 2U; incoming++)
  {
    for (GT_CONTIGS_GRAPH_EACH_SPM_EDGE(cg, cnum, incoming, edge))
    {
      if (edge->deleted)
        continue;
      gt_contigs_graph_rm_spm_edge(cg, cnum, incoming, edge);
    }
  }
  cg->v_m[cnum].deleted = true;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq 0x18(%rsp), %rsi
leaq 0x300c12(%rip), %rdi    # 0x58005c
movb $0x0, %al
callq 0xe7740
movl $0x0, 0xc(%rsp)
cmpl $0x2, 0xc(%rsp)
jae 0x27f52b
movq 0x20(%rsp), %rax
movl 0xc(%rsp), %ecx
movq 0x80(%rax,%rcx,8), %rax
movq 0x20(%rsp), %rcx
movl 0xc(%rsp), %edx
movq 0x18(%rcx,%rdx,8), %rcx
movq 0x18(%rsp), %rdx
movq (%rcx,%rdx,8), %rcx
shrq $0x10, %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x20(%rsp), %rcx
movl 0xc(%rsp), %edx
movq 0x80(%rcx,%rdx,8), %rcx
movq 0x20(%rsp), %rdx
movl 0xc(%rsp), %esi
movq 0x18(%rdx,%rsi,8), %rdx
movq 0x18(%rsp), %rsi
movq 0x8(%rdx,%rsi,8), %rdx
shrq $0x10, %rdx
shlq $0x3, %rdx
addq %rdx, %rcx
cmpq %rcx, %rax
jae 0x27f519
movq 0x10(%rsp), %rax
movl 0x4(%rax), %eax
shrl $0x1e, %eax
andl $0x1, %eax
testl $0x1, %eax
je 0x27f4f1
jmp 0x27f509
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
movl 0xc(%rsp), %edx
movq 0x10(%rsp), %rcx
callq 0x27f140
movq 0x10(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x10(%rsp)
jmp 0x27f49c
jmp 0x27f51b
movl 0xc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xc(%rsp)
jmp 0x27f459
movq 0x20(%rsp), %rax
movq 0x38(%rax), %rax
movq 0x18(%rsp), %rcx
movb (%rax,%rcx), %dl
andb $-0x2, %dl
orb $0x1, %dl
movb %dl, (%rax,%rcx)
addq $0x28, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-contigs-graph.c
// Function: gt_contigs_graph_nof_optional_neighbours
uint64_t gt_contigs_graph_nof_optional_neighbours(GtContigsGraph *cg,
    GtUword cnum, unsigned int incoming)
{
  uint64_t n = 0;
  GtContigsGraphSpmEdge *edge;
  for (GT_CONTIGS_GRAPH_EACH_SPM_EDGE(cg, cnum, incoming, edge))
  {
    if (edge->deleted)
      continue;
    if (GT_CONTIGS_GRAPH_IS_OPTIONAL(cg, edge->dest))
      n++;
  }
  return n;
}

// Assembly:
movq %rdi, -0x8(%rsp)
movq %rsi, -0x10(%rsp)
movl %edx, -0x14(%rsp)
movq $0x0, -0x20(%rsp)
movq -0x8(%rsp), %rax
movl -0x14(%rsp), %ecx
movq 0x80(%rax,%rcx,8), %rax
movq -0x8(%rsp), %rcx
movl -0x14(%rsp), %edx
movq 0x18(%rcx,%rdx,8), %rcx
movq -0x10(%rsp), %rdx
movq (%rcx,%rdx,8), %rcx
shrq $0x10, %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x28(%rsp)
movq -0x28(%rsp), %rax
movq -0x8(%rsp), %rcx
movl -0x14(%rsp), %edx
movq 0x80(%rcx,%rdx,8), %rcx
movq -0x8(%rsp), %rdx
movl -0x14(%rsp), %esi
movq 0x18(%rdx,%rsi,8), %rdx
movq -0x10(%rsp), %rsi
movq 0x8(%rdx,%rsi,8), %rdx
shrq $0x10, %rdx
shlq $0x3, %rdx
addq %rdx, %rcx
cmpq %rcx, %rax
jae 0x27f632
movq -0x28(%rsp), %rax
movl 0x4(%rax), %eax
shrl $0x1e, %eax
andl $0x1, %eax
testl $0x1, %eax
je 0x27f5f4
jmp 0x27f61f
movq -0x8(%rsp), %rax
movq 0x38(%rax), %rax
movq -0x28(%rsp), %rcx
movl (%rcx), %ecx
movb (%rax,%rcx), %al
shrb %al
andb $0x1, %al
testb $0x1, %al
je 0x27f61d
movq -0x20(%rsp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rsp)
jmp 0x27f61f
movq -0x28(%rsp), %rax
addq $0x8, %rax
movq %rax, -0x28(%rsp)
jmp 0x27f59f
movq -0x20(%rsp), %rax
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-contigs-graph.c
// Function: gt_contigs_graph_rm_optional_neighbours
void gt_contigs_graph_rm_optional_neighbours(GtContigsGraph *cg,
    GtUword cnum, unsigned int incoming)
{
  GtContigsGraphSpmEdge *edge;
  for (GT_CONTIGS_GRAPH_EACH_SPM_EDGE(cg, cnum, incoming, edge))
  {
    if (edge->deleted)
      continue;
    if (GT_CONTIGS_GRAPH_IS_OPTIONAL(cg, edge->dest))
    {
      /*gt_log_log("rm edge "GT_WU" -- %u", cnum, edge->dest);*/
      gt_contigs_graph_rm_spm_edge(cg, cnum, incoming, edge);
      /* if optional is now untraversable, rm it */
      if (cg->v_spm[0][edge->dest].deg == 0 ||
          cg->v_spm[1][edge->dest].deg == 0)
      {
        gt_contigs_graph_rm_vertex(cg, (GtUword)edge->dest);
      }
    }
  }
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movl %edx, 0x14(%rsp)
movq 0x20(%rsp), %rax
movl 0x14(%rsp), %ecx
movq 0x80(%rax,%rcx,8), %rax
movq 0x20(%rsp), %rcx
movl 0x14(%rsp), %edx
movq 0x18(%rcx,%rdx,8), %rcx
movq 0x18(%rsp), %rdx
movq (%rcx,%rdx,8), %rcx
shrq $0x10, %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x20(%rsp), %rcx
movl 0x14(%rsp), %edx
movq 0x80(%rcx,%rdx,8), %rcx
movq 0x20(%rsp), %rdx
movl 0x14(%rsp), %esi
movq 0x18(%rdx,%rsi,8), %rdx
movq 0x18(%rsp), %rsi
movq 0x8(%rdx,%rsi,8), %rdx
shrq $0x10, %rdx
shlq $0x3, %rdx
addq %rdx, %rcx
cmpq %rcx, %rax
jae 0x27f781
movq 0x8(%rsp), %rax
movl 0x4(%rax), %eax
shrl $0x1e, %eax
andl $0x1, %eax
testl $0x1, %eax
je 0x27f6e6
jmp 0x27f76e
movq 0x20(%rsp), %rax
movq 0x38(%rax), %rax
movq 0x8(%rsp), %rcx
movl (%rcx), %ecx
movb (%rax,%rcx), %al
shrb %al
andb $0x1, %al
testb $0x1, %al
je 0x27f76c
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
movl 0x14(%rsp), %edx
movq 0x8(%rsp), %rcx
callq 0x27f140
movq 0x20(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x8(%rsp), %rcx
movl (%rcx), %ecx
movq (%rax,%rcx,8), %rax
andq $0xffff, %rax           # imm = 0xFFFF
cmpl $0x0, %eax
je 0x27f757
movq 0x20(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x8(%rsp), %rcx
movl (%rcx), %ecx
movq (%rax,%rcx,8), %rax
andq $0xffff, %rax           # imm = 0xFFFF
cmpl $0x0, %eax
jne 0x27f76a
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rax
movl (%rax), %eax
movl %eax, %esi
callq 0x27f430
jmp 0x27f76c
jmp 0x27f76e
movq 0x8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
jmp 0x27f68a
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-contigs-graph.c
// Function: gt_contigs_graph_simplify
void gt_contigs_graph_simplify(GtContigsGraph *cg, bool restrict_rm_optionals)
{
  GtUword cnum;
  gt_assert(cg != NULL);
  for (cnum = 0; cnum < cg->nof_v; cnum++)
  {
    cg->v_m[cnum].mark0 = false;
    cg->v_m[cnum].mark1 = false;
    cg->v_m[cnum].visited = false;
  }
  for (cnum = 0; cnum < cg->nof_v; cnum++)
  {
    if (!cg->v_m[cnum].deleted &&
        GT_CONTIGS_GRAPH_IS_SINGLE_COPY(cg, cnum))
    {
      if (!cg->v_m[cnum].mark0)
      {
        /*gt_log_log("simplify from contig "GT_WU" (incoming=0, deg=%u)", cnum,
              cg->v_spm[0U][cnum].deg);*/
        gt_contigs_graph_simplify_from_contig(cg, cnum, 0U,
            restrict_rm_optionals);
      }
      if (!cg->v_m[cnum].mark1)
      {
        /*gt_log_log("simplify from contig "GT_WU" (incoming=1, deg=%u)", cnum,
              cg->v_spm[1U][cnum].deg);*/
        gt_contigs_graph_simplify_from_contig(cg, cnum, 1U,
            restrict_rm_optionals);
      }
    }
  }
}

// Assembly:
subq $0x18, %rsp
movb %sil, %al
movq %rdi, 0x10(%rsp)
andb $0x1, %al
movb %al, 0xf(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x27fb22
movq 0x3bc4af(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x296518(%rip), %rsi    # 0x516013
leaq 0x300206(%rip), %rdx    # 0x57fd08
leaq 0x300561(%rip), %rcx    # 0x58006a
leaq 0x300221(%rip), %r8     # 0x57fd31
movl $0x32e, %r9d            # imm = 0x32E
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x27fb24
movq $0x0, (%rsp)
movq (%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq (%rcx), %rax
jae 0x27fb93
movq 0x10(%rsp), %rax
movq 0x38(%rax), %rax
movq (%rsp), %rcx
movb (%rax,%rcx), %dl
andb $-0x41, %dl
orb $0x0, %dl
movb %dl, (%rax,%rcx)
movq 0x10(%rsp), %rax
movq 0x38(%rax), %rax
movq (%rsp), %rcx
movb (%rax,%rcx), %dl
andb $0x7f, %dl
orb $0x0, %dl
movb %dl, (%rax,%rcx)
movq 0x10(%rsp), %rax
movq 0x38(%rax), %rax
movq (%rsp), %rcx
movb (%rax,%rcx), %dl
andb $-0x11, %dl
orb $0x0, %dl
movb %dl, (%rax,%rcx)
movq (%rsp), %rax
addq $0x1, %rax
movq %rax, (%rsp)
jmp 0x27fb2c
movq $0x0, (%rsp)
movq (%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq (%rcx), %rax
jae 0x27fc6c
movq 0x10(%rsp), %rax
movq 0x38(%rax), %rax
movq (%rsp), %rcx
movb (%rax,%rcx), %al
andb $0x1, %al
testb $0x1, %al
jne 0x27fc59
movq 0x10(%rsp), %rax
movq 0x30(%rax), %rax
movq (%rsp), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
movss 0x1c(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x300114(%rip), %xmm1   # 0x57fd00
ucomisd %xmm1, %xmm0
jb 0x27fc59
movq 0x10(%rsp), %rax
movq 0x38(%rax), %rax
movq (%rsp), %rcx
movb (%rax,%rcx), %al
shrb $0x6, %al
andb $0x1, %al
testb $0x1, %al
jne 0x27fc24
movq 0x10(%rsp), %rdi
movq (%rsp), %rsi
movb 0xf(%rsp), %al
xorl %edx, %edx
andb $0x1, %al
movzbl %al, %ecx
callq 0x27f790
movq 0x10(%rsp), %rax
movq 0x38(%rax), %rax
movq (%rsp), %rcx
movb (%rax,%rcx), %al
shrb $0x7, %al
testb $0x1, %al
jne 0x27fc57
movq 0x10(%rsp), %rdi
movq (%rsp), %rsi
movb 0xf(%rsp), %al
movl $0x1, %edx
andb $0x1, %al
movzbl %al, %ecx
callq 0x27f790
jmp 0x27fc59
jmp 0x27fc5b
movq (%rsp), %rax
addq $0x1, %rax
movq %rax, (%rsp)
jmp 0x27fb9b
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)