LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/csvline_reader.c
// Function: gt_csvline_reader_new
GtCsvlineReader *gt_csvline_reader_new(void)
{
  GtCsvlineReader *csvline_reader = gt_malloc(sizeof *csvline_reader);
  gt_assert(csvline_reader != NULL);
  GT_INITARRAY(&csvline_reader->line,char);
  GT_INITARRAY(&csvline_reader->dist.alphabet,char);
  GT_INITARRAY(&csvline_reader->columnoffset,GtUword);
  csvline_reader->empty = true;
  csvline_reader->separator = 0;
  csvline_reader->dist.charcount
    = gt_calloc(UCHAR_MAX+1,sizeof *csvline_reader->dist.charcount);
  return csvline_reader;
}

// Assembly:
pushq %rax
movl $0x58, %edi
leaq 0x3e4c7f(%rip), %rsi    # 0x501afc
movl $0x29, %edx
callq 0x2f600
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
jne 0x11ceca
movq 0x4df12f(%rip), %rax    # 0x5fbfc8
movq (%rax), %rdi
leaq 0x3de6fa(%rip), %rsi    # 0x4fb59d
leaq 0x3e4c6c(%rip), %rdx    # 0x501b16
leaq 0x3e4c7c(%rip), %rcx    # 0x501b2d
leaq 0x3e4c44(%rip), %r8     # 0x501afc
movl $0x2a, %r9d
movb $0x0, %al
callq 0x33960
callq 0x2f830
jmp 0x11cecc
jmp 0x11cece
movq (%rsp), %rax
movq $0x0, (%rax)
movq (%rsp), %rax
movq $0x0, 0x10(%rax)
movq (%rsp), %rax
movq $0x0, 0x8(%rax)
jmp 0x11cef3
movq (%rsp), %rax
movq $0x0, 0x30(%rax)
movq (%rsp), %rax
movq $0x0, 0x40(%rax)
movq (%rsp), %rax
movq $0x0, 0x38(%rax)
jmp 0x11cf19
movq (%rsp), %rax
movq $0x0, 0x18(%rax)
movq (%rsp), %rax
movq $0x0, 0x28(%rax)
movq (%rsp), %rax
movq $0x0, 0x20(%rax)
movq (%rsp), %rax
movb $0x1, 0x50(%rax)
movq (%rsp), %rax
movb $0x0, 0x51(%rax)
movl $0x100, %edi            # imm = 0x100
movl $0x8, %esi
leaq 0x3e4b9e(%rip), %rdx    # 0x501afc
movl $0x31, %ecx
callq 0x31f50
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x48(%rax)
movq (%rsp), %rax
popq %rcx
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/csvline_reader.c
// Function: gt_csvline_reader_delete
void gt_csvline_reader_delete(GtCsvlineReader *csvline_reader)
{
  if (csvline_reader != NULL)
  {
    GT_FREEARRAY(&csvline_reader->columnoffset,GtUword);
    GT_FREEARRAY(&csvline_reader->line,char);
    GT_FREEARRAY(&csvline_reader->dist.alphabet,char);
    gt_free(csvline_reader->dist.charcount);
    gt_free(csvline_reader);
  }
}

// Assembly:
pushq %rax
movq %rdi, (%rsp)
cmpq $0x0, (%rsp)
je 0x11d09f
jmp 0x11cf92
movq (%rsp), %rax
cmpq $0x0, 0x18(%rax)
je 0x11cfda
movq (%rsp), %rax
movq 0x18(%rax), %rdi
leaq 0x3e4b50(%rip), %rsi    # 0x501afc
movl $0x43, %edx
callq 0x31f10
movq (%rsp), %rax
movq $0x0, 0x20(%rax)
movq (%rsp), %rax
movq $0x0, 0x28(%rax)
movq (%rsp), %rax
movq $0x0, 0x18(%rax)
jmp 0x11cfdc
jmp 0x11cfde
movq (%rsp), %rax
cmpq $0x0, (%rax)
je 0x11d023
movq (%rsp), %rax
movq (%rax), %rdi
leaq 0x3e4b06(%rip), %rsi    # 0x501afc
movl $0x44, %edx
callq 0x31f10
movq (%rsp), %rax
movq $0x0, 0x8(%rax)
movq (%rsp), %rax
movq $0x0, 0x10(%rax)
movq (%rsp), %rax
movq $0x0, (%rax)
jmp 0x11d025
jmp 0x11d027
movq (%rsp), %rax
cmpq $0x0, 0x30(%rax)
je 0x11d06f
movq (%rsp), %rax
movq 0x30(%rax), %rdi
leaq 0x3e4abb(%rip), %rsi    # 0x501afc
movl $0x45, %edx
callq 0x31f10
movq (%rsp), %rax
movq $0x0, 0x38(%rax)
movq (%rsp), %rax
movq $0x0, 0x40(%rax)
movq (%rsp), %rax
movq $0x0, 0x30(%rax)
jmp 0x11d071
movq (%rsp), %rax
movq 0x48(%rax), %rdi
leaq 0x3e4a7c(%rip), %rsi    # 0x501afc
movl $0x46, %edx
callq 0x31f10
movq (%rsp), %rdi
leaq 0x3e4a67(%rip), %rsi    # 0x501afc
movl $0x47, %edx
callq 0x31f10
popq %rax
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/csvline_reader.c
// Function: gt_csvline_reader_clear
void gt_csvline_reader_clear(GtCsvlineReader *csvline_reader)
{
  GtUword idx;

  csvline_reader->line.nextfreechar = 0;
  for (idx = 0; idx < csvline_reader->dist.alphabet.nextfreechar; idx++)
  {
    char cc = csvline_reader->dist.alphabet.spacechar[idx];
    csvline_reader->dist.charcount[(int) cc] = 0;
  }
  csvline_reader->dist.alphabet.nextfreechar = 0;
  for (idx = 0; idx <= UCHAR_MAX; idx++)
  {
    gt_assert(csvline_reader->dist.charcount[idx] == 0);
  }
  csvline_reader->columnoffset.nextfreeGtUword = 0;
  csvline_reader->empty = true;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq $0x0, 0x10(%rax)
movq $0x0, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq 0x40(%rcx), %rax
jae 0x11d11d
movq 0x10(%rsp), %rax
movq 0x30(%rax), %rax
movq 0x8(%rsp), %rcx
movb (%rax,%rcx), %al
movb %al, 0x7(%rsp)
movq 0x10(%rsp), %rax
movq 0x48(%rax), %rax
movsbl 0x7(%rsp), %ecx
movslq %ecx, %rcx
movq $0x0, (%rax,%rcx,8)
movq 0x8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8(%rsp)
jmp 0x11d0cf
movq 0x10(%rsp), %rax
movq $0x0, 0x40(%rax)
movq $0x0, 0x8(%rsp)
cmpq $0xff, 0x8(%rsp)
ja 0x11d1a1
jmp 0x11d140
movq 0x10(%rsp), %rax
movq 0x48(%rax), %rax
movq 0x8(%rsp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x11d18d
movq 0x4dee6c(%rip), %rax    # 0x5fbfc8
movq (%rax), %rdi
leaq 0x3de437(%rip), %rsi    # 0x4fb59d
leaq 0x3e49d6(%rip), %rdx    # 0x501b43
leaq 0x3e49f8(%rip), %rcx    # 0x501b6c
leaq 0x3e4981(%rip), %r8     # 0x501afc
movl $0x58, %r9d
movb $0x0, %al
callq 0x33960
callq 0x2f830
jmp 0x11d18f
jmp 0x11d191
movq 0x8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8(%rsp)
jmp 0x11d133
movq 0x10(%rsp), %rax
movq $0x0, 0x28(%rax)
movq 0x10(%rsp), %rax
movb $0x1, 0x50(%rax)
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/csvline_reader.c
// Function: gt_csvline_reader_check
void gt_csvline_reader_check(const GtCsvlineReader *csvline_reader)
{
  GtUword idx, bfdist[UCHAR_MAX+1] = {0};

  for (idx = 0; idx < csvline_reader->line.nextfreechar; idx++)
  {
    bfdist[(int) csvline_reader->line.spacechar[idx]]++;
  }
  for (idx = 0; idx <= UCHAR_MAX; idx++)
  {
    if (bfdist[idx] != csvline_reader->dist.charcount[idx])
    {
      fprintf(stderr,"%s\nidx=" GT_WU ",bfdist=" GT_WU " != "
                                                 GT_WU " = chardist\n",
                csvline_reader->line.spacechar,idx,bfdist[idx],
                csvline_reader->dist.charcount[idx]);
      exit(GT_EXIT_PROGRAMMING_ERROR);
    }
  }
}

// Assembly:
subq $0x818, %rsp            # imm = 0x818
movq %rdi, 0x810(%rsp)
movq %rsp, %rdi
xorl %esi, %esi
movl $0x800, %edx            # imm = 0x800
callq 0x2f4c0
movq $0x0, 0x808(%rsp)
movq 0x808(%rsp), %rax
movq 0x810(%rsp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x11d8fb
movq 0x810(%rsp), %rax
movq (%rax), %rax
movq 0x808(%rsp), %rcx
movsbl (%rax,%rcx), %eax
cltq
movq (%rsp,%rax,8), %rcx
addq $0x1, %rcx
movq %rcx, (%rsp,%rax,8)
movq 0x808(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x808(%rsp)
jmp 0x11d8aa
movq $0x0, 0x808(%rsp)
cmpq $0xff, 0x808(%rsp)
ja 0x11d9b3
movq 0x808(%rsp), %rax
movq (%rsp,%rax,8), %rax
movq 0x810(%rsp), %rcx
movq 0x48(%rcx), %rcx
movq 0x808(%rsp), %rdx
cmpq (%rcx,%rdx,8), %rax
je 0x11d998
movq 0x4de682(%rip), %rax    # 0x5fbfc8
movq (%rax), %rdi
movq 0x810(%rsp), %rax
movq (%rax), %rdx
movq 0x808(%rsp), %rcx
movq 0x808(%rsp), %rax
movq (%rsp,%rax,8), %r8
movq 0x810(%rsp), %rax
movq 0x48(%rax), %rax
movq 0x808(%rsp), %rsi
movq (%rax,%rsi,8), %r9
leaq 0x3e4325(%rip), %rsi    # 0x501cac
movb $0x0, %al
callq 0x33960
movl $0x2, %edi
callq 0x2fd60
jmp 0x11d99a
movq 0x808(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x808(%rsp)
jmp 0x11d907
addq $0x818, %rsp            # imm = 0x818
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/csvline_reader.c
// Function: gt_csvline_reader_dist_show
void gt_csvline_reader_dist_show(const GtCsvlineReader *csvline_reader)
{
  GtUword idx;

  for (idx = 0; idx < csvline_reader->dist.alphabet.nextfreechar; idx++)
  {
    char cc = csvline_reader->dist.alphabet.spacechar[idx];
    printf("%c/" GT_WU,cc,csvline_reader->dist.charcount[(int) cc]);
    if (idx + 1 < csvline_reader->dist.alphabet.nextfreechar)
    {
      printf("%c",csvline_reader->separator);
    } else
    {
      printf("\n");
    }
  }
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq $0x0, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq 0x40(%rcx), %rax
jae 0x11dfd3
movq 0x10(%rsp), %rax
movq 0x30(%rax), %rax
movq 0x8(%rsp), %rcx
movb (%rax,%rcx), %al
movb %al, 0x7(%rsp)
movsbl 0x7(%rsp), %esi
movq 0x10(%rsp), %rax
movq 0x48(%rax), %rax
movsbl 0x7(%rsp), %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdx
leaq 0x3e3f12(%rip), %rdi    # 0x501e8e
movb $0x0, %al
callq 0x2f300
movq 0x8(%rsp), %rax
addq $0x1, %rax
movq 0x10(%rsp), %rcx
cmpq 0x40(%rcx), %rax
jae 0x11dfb0
movq 0x10(%rsp), %rax
movsbl 0x51(%rax), %esi
leaq 0x415e55(%rip), %rdi    # 0x533dfc
movb $0x0, %al
callq 0x2f300
jmp 0x11dfbe
leaq 0x450090(%rip), %rdi    # 0x56e047
movb $0x0, %al
callq 0x2f300
jmp 0x11dfc0
movq 0x8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8(%rsp)
jmp 0x11df32
addq $0x18, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/csvline_reader.c
// Function: gt_csvline_reader_dist_accumulate
void gt_csvline_reader_dist_accumulate(GtUword *charcount,
                                       GT_UNUSED GtUword max_character,
                                       const GtCsvlineReader *csvline_reader)
{
  GtUword idx;

  for (idx = 0; idx < csvline_reader->dist.alphabet.nextfreechar; idx++)
  {
    char cc = csvline_reader->dist.alphabet.spacechar[idx];
    gt_assert(cc <= max_character);
    charcount[(int) cc] += csvline_reader->dist.charcount[(int) cc];
  }
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movq $0x0, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq 0x40(%rcx), %rax
jae 0x11e0a9
movq 0x10(%rsp), %rax
movq 0x30(%rax), %rax
movq 0x8(%rsp), %rcx
movb (%rax,%rcx), %al
movb %al, 0x7(%rsp)
movsbq 0x7(%rsp), %rax
cmpq 0x18(%rsp), %rax
jbe 0x11e06a
movq 0x4ddf8f(%rip), %rax    # 0x5fbfc8
movq (%rax), %rdi
leaq 0x3dd55a(%rip), %rsi    # 0x4fb59d
leaq 0x3e3e4b(%rip), %rdx    # 0x501e95
leaq 0x3e3e58(%rip), %rcx    # 0x501ea9
leaq 0x3e3aa4(%rip), %r8     # 0x501afc
movl $0x12b, %r9d            # imm = 0x12B
movb $0x0, %al
callq 0x33960
callq 0x2f830
jmp 0x11e06c
movq 0x10(%rsp), %rax
movq 0x48(%rax), %rax
movsbl 0x7(%rsp), %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdx
movq 0x20(%rsp), %rax
movsbl 0x7(%rsp), %ecx
movslq %ecx, %rcx
addq (%rax,%rcx,8), %rdx
movq %rdx, (%rax,%rcx,8)
movq 0x8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8(%rsp)
jmp 0x11dffc
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/example.c
// Function: gt_example_delete
void gt_example_delete(GtExample *e)
{
  if (!e) return;
  gt_assert(e && e->c_class);
  if (e->c_class->delete != NULL) {
    e->c_class->delete(e);                 /* delete implementation-specific
                                              members */
  }
  gt_free(e);                              /* delete interface */
}

// Assembly:
pushq %rax
movq %rdi, (%rsp)
cmpq $0x0, (%rsp)
jne 0x155261
jmp 0x1552e2
jmp 0x155263
cmpq $0x0, (%rsp)
je 0x155274
movq (%rsp), %rax
cmpq $0x0, (%rax)
jne 0x1552ac
movq 0x4a6d4d(%rip), %rax    # 0x5fbfc8
movq (%rax), %rdi
leaq 0x3a6318(%rip), %rsi    # 0x4fb59d
leaq 0x3b4574(%rip), %rdx    # 0x509800
leaq 0x3b457d(%rip), %rcx    # 0x509810
leaq 0x3b4521(%rip), %r8     # 0x5097bb
movl $0x26, %r9d
movb $0x0, %al
callq 0x33960
callq 0x2f830
jmp 0x1552ae
movq (%rsp), %rax
movq (%rax), %rax
cmpq $0x0, 0x10(%rax)
je 0x1552cd
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq (%rsp), %rdi
callq *%rax
movq (%rsp), %rdi
leaq 0x3b44e3(%rip), %rsi    # 0x5097bb
movl $0x2b, %edx
callq 0x31f10
popq %rax
retq
nopw %cs:(%rax,%rax)
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/example_a.c
// Function: gt_example_a_new
GtExample* gt_example_a_new(void)
{
  GtExample *e = gt_example_create(gt_example_a_class());
  GtExampleA *ea = (GtExampleA*) e;       /* downcast to specific type */
  ea->my_property = 3;                    /* access private implementation
                                             member */
  return e;
}

// Assembly:
subq $0x18, %rsp
callq 0x1552f0
movq %rax, %rdi
callq 0x155180
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq $0x3, 0x8(%rax)
movq 0x10(%rsp), %rax
addq $0x18, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/example_b.c
// Function: gt_example_b_new
GtExample* gt_example_b_new(void)
{
  GtExample *e = gt_example_create(gt_example_b_class());
  GtExampleB *eb = (GtExampleB*) e;       /* downcast to specific type */
  /* initialize private implementation member */
  eb->my_property = gt_str_new_cstr("This is Example B!");
  return e;
}

// Assembly:
subq $0x18, %rsp
callq 0x155380
movq %rax, %rdi
callq 0x155180
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
leaq 0x3b43fb(%rip), %rdi    # 0x509822
callq 0x310f0
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x10(%rsp), %rax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/fasta_reader_fsm.c
// Function: gt_fasta_reader_fsm_new
GtFastaReader* gt_fasta_reader_fsm_new(GtStr *sequence_filename)
{
  GtFastaReader *fr = gt_fasta_reader_create(gt_fasta_reader_fsm_class());
  GtFastaReaderFSM *gt_fasta_reader_fsm = gt_fasta_reader_fsm_cast(fr);
  gt_fasta_reader_fsm->sequence_filename = gt_str_ref(sequence_filename);
  if (sequence_filename) {
    gt_fasta_reader_fsm->sequence_file =
      gt_file_xopen(gt_str_get(sequence_filename), "r");
  }
  else
    gt_fasta_reader_fsm->sequence_filename = gt_str_new_cstr("stdin");
  return fr;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
callq 0x158f30
movq %rax, %rdi
callq 0x158c80
movq %rax, 0x8(%rsp)
callq 0x158f30
movq %rax, %rdi
movq 0x8(%rsp), %rsi
callq 0x158eb0
movq %rax, (%rsp)
movq 0x10(%rsp), %rdi
callq 0x31300
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x8(%rax)
cmpq $0x0, 0x10(%rsp)
je 0x159854
movq 0x10(%rsp), %rdi
callq 0x33b70
movq %rax, %rdi
leaq 0x3a5af9(%rip), %rsi    # 0x4ff33b
callq 0x303d0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
jmp 0x15986b
leaq 0x41dc4c(%rip), %rdi    # 0x5774a7
callq 0x310f0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x8(%rsp), %rax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/fasta_reader_seqit.c
// Function: gt_fasta_reader_seqit_new
GtFastaReader* gt_fasta_reader_seqit_new(GtStr *sequence_filename)
{
  GtFastaReader *fr;
  GtFastaReaderSeqIt *gt_fasta_reader_seqit;
  gt_assert(sequence_filename);
  fr = gt_fasta_reader_create(gt_fasta_reader_seqit_class());
  gt_fasta_reader_seqit = gt_fasta_reader_seqit_cast(fr);
  gt_fasta_reader_seqit->filenametab = gt_str_array_new();
  gt_str_array_add_cstr(gt_fasta_reader_seqit->filenametab,
                       gt_str_get(sequence_filename));
  gt_fasta_reader_seqit->seqit = gt_seq_iterator_sequence_buffer_new(
                                             gt_fasta_reader_seqit->filenametab,
                                             NULL);
  return fr;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
cmpq $0x0, 0x20(%rsp)
jne 0x15a339
movq 0x4a1cc0(%rip), %rax    # 0x5fbfc8
movq (%rax), %rdi
leaq 0x3a128b(%rip), %rsi    # 0x4fb59d
leaq 0x3afee9(%rip), %rdx    # 0x50a202
leaq 0x3afef4(%rip), %rcx    # 0x50a214
leaq 0x3aff07(%rip), %r8     # 0x50a22e
movl $0x5f, %r9d
movb $0x0, %al
callq 0x33960
callq 0x2f830
jmp 0x15a33b
callq 0x15a090
movq %rax, %rdi
callq 0x158c80
movq %rax, 0x18(%rsp)
callq 0x15a090
movq %rax, %rdi
movq 0x18(%rsp), %rsi
callq 0x158eb0
movq %rax, 0x10(%rsp)
callq 0x325c0
movq %rax, %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rdi
callq 0x33b70
movq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x2f580
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x33f80
movq %rax, %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x18(%rsp), %rax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/str_cache.c
// Function: gt_str_cache_new
GtStrCache* gt_str_cache_new(void *str_source,
                             GtStrConstructorFunc str_constructor,
                             GtUword num_of_strings)
{
  GtStrCache *str_cache;
  gt_assert(str_source && str_constructor && num_of_strings);
  str_cache = gt_malloc(sizeof *str_cache);
  str_cache->cache = gt_calloc(num_of_strings, sizeof (GtStr*));
  str_cache->source = str_source;
  str_cache->constructor = str_constructor;
  str_cache->num_of_strings = num_of_strings;
  return str_cache;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
cmpq $0x0, 0x20(%rsp)
je 0x19d84b
cmpq $0x0, 0x18(%rsp)
je 0x19d84b
cmpq $0x0, 0x10(%rsp)
jne 0x19d883
movq 0x45e776(%rip), %rax    # 0x5fbfc8
movq (%rax), %rdi
leaq 0x35dd41(%rip), %rsi    # 0x4fb59d
leaq 0x375112(%rip), %rdx    # 0x512975
leaq 0x37513b(%rip), %rcx    # 0x5129a5
leaq 0x375145(%rip), %r8     # 0x5129b6
movl $0x20, %r9d
movb $0x0, %al
callq 0x33960
callq 0x2f830
jmp 0x19d885
movl $0x20, %edi
leaq 0x375125(%rip), %rsi    # 0x5129b6
movl $0x21, %edx
callq 0x2f600
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movl $0x8, %esi
leaq 0x375105(%rip), %rdx    # 0x5129b6
movl $0x22, %ecx
callq 0x31f50
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, (%rax)
movq 0x20(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x10(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x8(%rsp), %rax
addq $0x28, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/str_cache.c
// Function: gt_str_cache_delete
void gt_str_cache_delete(GtStrCache *str_cache)
{
  GtUword i;
  if (!str_cache) return;
  for (i = 0; i < str_cache->num_of_strings; i++)
    gt_str_delete(str_cache->cache[i]);
  gt_free(str_cache->cache);
  gt_free(str_cache);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x19d913
jmp 0x19d981
movq $0x0, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq 0x18(%rcx), %rax
jae 0x19d952
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x34040
movq 0x8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8(%rsp)
jmp 0x19d91c
movq 0x10(%rsp), %rax
movq (%rax), %rdi
leaq 0x375055(%rip), %rsi    # 0x5129b6
movl $0x2f, %edx
callq 0x31f10
movq 0x10(%rsp), %rdi
leaq 0x37503f(%rip), %rsi    # 0x5129b6
movl $0x30, %edx
callq 0x31f10
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/str_cache.c
// Function: gt_str_cache_get
GtStr* gt_str_cache_get(GtStrCache *str_cache, GtUword index)
{
  gt_assert(str_cache && index < str_cache->num_of_strings);
  if (!str_cache->cache[index])
    str_cache->cache[index] = str_cache->constructor(str_cache->source, index);
  gt_assert(str_cache->cache[index]);
  return gt_str_ref(str_cache->cache[index]);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x19d9b6
movq 0x8(%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq 0x18(%rcx), %rax
jb 0x19d9ee
movq 0x45e60b(%rip), %rax    # 0x5fbfc8
movq (%rax), %rdi
leaq 0x35dbd6(%rip), %rsi    # 0x4fb59d
leaq 0x374ffd(%rip), %rdx    # 0x5129cb
leaq 0x375025(%rip), %rcx    # 0x5129fa
leaq 0x374fda(%rip), %r8     # 0x5129b6
movl $0x35, %r9d
movb $0x0, %al
callq 0x33960
callq 0x2f830
jmp 0x19d9f0
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x19da31
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rsp), %rcx
movq 0x8(%rcx), %rdi
movq 0x8(%rsp), %rsi
callq *%rax
movq %rax, %rdx
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
jmp 0x19da33
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x19da7f
movq 0x45e57a(%rip), %rax    # 0x5fbfc8
movq (%rax), %rdi
leaq 0x35db45(%rip), %rsi    # 0x4fb59d
leaq 0x374fac(%rip), %rdx    # 0x512a0b
leaq 0x374f94(%rip), %rcx    # 0x5129fa
leaq 0x374f49(%rip), %r8     # 0x5129b6
movl $0x38, %r9d
movb $0x0, %al
callq 0x33960
callq 0x2f830
jmp 0x19da81
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x31300
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/tooldriver.c
// Function: gt_tooldriver
int gt_tooldriver(GtToolFunc tool, int argc, char *argv[])
{
  gt_assert(tool && argv);
  GtError *err;
  int had_err;
  gt_lib_init();
  gt_assert(tool && argv);
  err = gt_error_new();
  gt_error_set_progname(err, argv[0]);
  had_err = tool(argc, (const char**) argv, err);
  if (gt_error_is_set(err)) {
    fprintf(stderr, "%s: error: %s\n", gt_error_get_progname(err),
            gt_error_get(err));
    gt_assert(had_err);
  }
  gt_error_delete(err);
  if (gt_lib_clean())
    return GT_EXIT_PROGRAMMING_ERROR; /* programmer error */
  if (had_err)
    return EXIT_FAILURE;
  return EXIT_SUCCESS;
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movl %esi, 0x34(%rsp)
movq %rdx, 0x28(%rsp)
cmpq $0x0, 0x38(%rsp)
je 0x1a1b12
cmpq $0x0, 0x28(%rsp)
jne 0x1a1b4a
movq 0x45a4af(%rip), %rax    # 0x5fbfc8
movq (%rax), %rdi
leaq 0x359a7a(%rip), %rsi    # 0x4fb59d
leaq 0x3718d3(%rip), %rdx    # 0x5133fd
leaq 0x3718d9(%rip), %rcx    # 0x51340a
leaq 0x3718e0(%rip), %r8     # 0x513418
movl $0x19, %r9d
movb $0x0, %al
callq 0x33960
callq 0x2f830
jmp 0x1a1b4c
callq 0x31590
cmpq $0x0, 0x38(%rsp)
je 0x1a1b61
cmpq $0x0, 0x28(%rsp)
jne 0x1a1b99
movq 0x45a460(%rip), %rax    # 0x5fbfc8
movq (%rax), %rdi
leaq 0x359a2b(%rip), %rsi    # 0x4fb59d
leaq 0x371884(%rip), %rdx    # 0x5133fd
leaq 0x37188a(%rip), %rcx    # 0x51340a
leaq 0x371891(%rip), %r8     # 0x513418
movl $0x1d, %r9d
movb $0x0, %al
callq 0x33960
callq 0x2f830
jmp 0x1a1b9b
callq 0x30150
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
movq (%rax), %rsi
callq 0x33a50
movq 0x38(%rsp), %rax
movl 0x34(%rsp), %edi
movq 0x28(%rsp), %rsi
movq 0x20(%rsp), %rdx
callq *%rax
movl %eax, 0x1c(%rsp)
movq 0x20(%rsp), %rdi
callq 0x33160
testb $0x1, %al
jne 0x1a1be3
jmp 0x1a1c69
movq 0x45a3de(%rip), %rax    # 0x5fbfc8
movq (%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rdi
callq 0x327d0
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rdi
callq 0x32a80
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rdx
movq %rax, %rcx
leaq 0x37180f(%rip), %rsi    # 0x51342e
movb $0x0, %al
callq 0x33960
cmpl $0x0, 0x1c(%rsp)
jne 0x1a1c65
movq 0x45a394(%rip), %rax    # 0x5fbfc8
movq (%rax), %rdi
leaq 0x35995f(%rip), %rsi    # 0x4fb59d
leaq 0x37b169(%rip), %rdx    # 0x51cdae
leaq 0x3717be(%rip), %rcx    # 0x51340a
leaq 0x3717c5(%rip), %r8     # 0x513418
movl $0x24, %r9d
movb $0x0, %al
callq 0x33960
callq 0x2f830
jmp 0x1a1c67
jmp 0x1a1c69
movq 0x20(%rsp), %rdi
callq 0x33fe0
callq 0x32c10
cmpl $0x0, %eax
je 0x1a1c87
movl $0x2, 0x44(%rsp)
jmp 0x1a1ca0
cmpl $0x0, 0x1c(%rsp)
je 0x1a1c98
movl $0x1, 0x44(%rsp)
jmp 0x1a1ca0
movl $0x0, 0x44(%rsp)
movl 0x44(%rsp), %eax
addq $0x48, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/buffer_stream.c
// Function: gt_buffer_stream_class
const GtNodeStreamClass* gt_buffer_stream_class(void)
{
  static const GtNodeStreamClass *nsc = NULL;
  gt_class_alloc_lock_enter();
  if (!nsc) {
    nsc = gt_node_stream_class_new(sizeof (GtBufferStream),
                                   buffer_stream_free,
                                   buffer_stream_next);
  }
  gt_class_alloc_lock_leave();
  return nsc;
}

// Assembly:
pushq %rax
callq 0x117bf0
cmpq $0x0, 0x448d3a(%rip)    # 0x6052e8
jne 0x1bc5cf
movl $0x28, %edi
leaq 0x24(%rip), %rsi        # 0x1bc5e0
leaq 0x8d(%rip), %rdx        # 0x1bc650
callq 0x30700
movq %rax, 0x448d19(%rip)    # 0x6052e8
callq 0x117c50
movq 0x448d0d(%rip), %rax    # 0x6052e8
popq %rcx
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/buffer_stream.c
// Function: buffer_stream_free
static void buffer_stream_free(GtNodeStream *ns)
{
  GtBufferStream *bs = buffer_stream_cast(ns);
  while (gt_queue_size(bs->node_buffer))
    gt_genome_node_delete(gt_queue_get(bs->node_buffer));
  gt_queue_delete(bs->node_buffer);
  gt_node_stream_delete(bs->in_stream);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
callq 0x31d80
movq %rax, %rdi
movq 0x10(%rsp), %rsi
callq 0x30f90
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x328c0
cmpq $0x0, %rax
je 0x1bc62c
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x32230
movq %rax, %rdi
callq 0x34098
jmp 0x1bc600
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x2f080
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x33d80
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/buffer_stream.c
// Function: buffer_stream_next
static int buffer_stream_next(GtNodeStream *ns, GtGenomeNode **gn, GtError *err)
{
  GtBufferStream *bs;
  gt_error_check(err);
  bs = buffer_stream_cast(ns);
  if (bs->buffering) {
    int had_err = gt_node_stream_next(bs->in_stream, gn, err);
    if (!had_err && *gn)
      gt_queue_add(bs->node_buffer, gt_genome_node_ref(*gn));
    return had_err;
  }
  else {
    *gn = gt_queue_size(bs->node_buffer) ? gt_queue_get(bs->node_buffer) : NULL;
    return 0;
  }
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq %rsi, 0x30(%rsp)
movq %rdx, 0x28(%rsp)
cmpq $0x0, 0x28(%rsp)
je 0x1bc6b3
movq 0x28(%rsp), %rdi
callq 0x33160
testb $0x1, %al
jne 0x1bc67b
jmp 0x1bc6b3
movq 0x43f946(%rip), %rax    # 0x5fbfc8
movq (%rax), %rdi
leaq 0x33ef11(%rip), %rsi    # 0x4fb59d
leaq 0x33f0dd(%rip), %rdx    # 0x4fb770
leaq 0x35d00b(%rip), %rcx    # 0x5196a5
leaq 0x35cfce(%rip), %r8     # 0x51966f
movl $0x23, %r9d
movb $0x0, %al
callq 0x33960
callq 0x2f830
jmp 0x1bc6b5
callq 0x31d80
movq %rax, %rdi
movq 0x38(%rsp), %rsi
callq 0x30f90
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
testb $0x1, 0x20(%rax)
je 0x1bc737
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x30(%rsp), %rsi
movq 0x28(%rsp), %rdx
callq 0x314d0
movl %eax, 0x1c(%rsp)
cmpl $0x0, 0x1c(%rsp)
jne 0x1bc72d
movq 0x30(%rsp), %rax
cmpq $0x0, (%rax)
je 0x1bc72d
movq 0x20(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x30(%rsp), %rax
movq (%rax), %rdi
callq 0x30ec0
movq 0x10(%rsp), %rdi
movq %rax, %rsi
callq 0x33c00
movl 0x1c(%rsp), %eax
movl %eax, 0x44(%rsp)
jmp 0x1bc77e
movq 0x20(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x328c0
cmpq $0x0, %rax
je 0x1bc760
movq 0x20(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x32230
movq %rax, 0x8(%rsp)
jmp 0x1bc769
xorl %eax, %eax
movq %rax, 0x8(%rsp)
jmp 0x1bc769
movq 0x8(%rsp), %rcx
movq 0x30(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x44(%rsp)
movl 0x44(%rsp), %eax
addq $0x48, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/buffer_stream.c
// Function: gt_buffer_stream_new
GtNodeStream* gt_buffer_stream_new(GtNodeStream *in_stream)
{
  GtBufferStream *bs;
  GtNodeStream *ns;
  gt_assert(in_stream);
  ns = gt_node_stream_create(gt_buffer_stream_class(), false);
  bs = buffer_stream_cast(ns);
  bs->in_stream = gt_node_stream_ref(in_stream);
  bs->node_buffer = gt_queue_new();
  bs->buffering = true;
  return ns;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x1bc7d9
movq 0x43f820(%rip), %rax    # 0x5fbfc8
movq (%rax), %rdi
leaq 0x33edeb(%rip), %rsi    # 0x4fb59d
leaq 0x35c31f(%rip), %rdx    # 0x518ad8
leaq 0x35ce9a(%rip), %rcx    # 0x51965a
leaq 0x35cea8(%rip), %r8     # 0x51966f
movl $0x4b, %r9d
movb $0x0, %al
callq 0x33960
callq 0x2f830
jmp 0x1bc7db
callq 0x31d80
movq %rax, %rdi
xorl %esi, %esi
callq 0x322b0
movq %rax, (%rsp)
callq 0x31d80
movq %rax, %rdi
movq (%rsp), %rsi
callq 0x30f90
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
callq 0x2f9c0
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x10(%rax)
callq 0x2f930
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x8(%rsp), %rax
movb $0x1, 0x20(%rax)
movq (%rsp), %rax
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/permute_words.c
// Function: gt_permute_word_next
unsigned int gt_permute_word_next(char *w, GtUword l,
                               GtUword alphabet_size)
{
  GtUword i;
  unsigned int next = 1;

  gt_assert(w && l && alphabet_size);

  for (i = 0; i < l; i++) {
    if (w[i] < alphabet_size - 1) {
      w[i]++;
      break;
    }
    else {
      w[i] = 0;
      if (i == l - 1)
        next = 0;
    }
  }

  return next;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movl $0x1, 0x4(%rsp)
cmpq $0x0, 0x20(%rsp)
je 0x2499f3
cmpq $0x0, 0x18(%rsp)
je 0x2499f3
cmpq $0x0, 0x10(%rsp)
jne 0x249a2b
movq 0x3b25ce(%rip), %rax    # 0x5fbfc8
movq (%rax), %rdi
leaq 0x2b1b99(%rip), %rsi    # 0x4fb59d
leaq 0x2e893b(%rip), %rdx    # 0x532346
leaq 0x2e894c(%rip), %rcx    # 0x53235e
leaq 0x2e895a(%rip), %r8     # 0x532373
movl $0x21, %r9d
movb $0x0, %al
callq 0x33960
callq 0x2f830
jmp 0x249a2d
movq $0x0, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq 0x18(%rsp), %rax
jae 0x249ab1
movq 0x20(%rsp), %rax
movq 0x8(%rsp), %rcx
movsbq (%rax,%rcx), %rax
movq 0x10(%rsp), %rcx
subq $0x1, %rcx
cmpq %rcx, %rax
jae 0x249a74
movq 0x20(%rsp), %rax
movq 0x8(%rsp), %rcx
movb (%rax,%rcx), %dl
addb $0x1, %dl
movb %dl, (%rax,%rcx)
jmp 0x249ab1
movq 0x20(%rsp), %rax
movq 0x8(%rsp), %rcx
movb $0x0, (%rax,%rcx)
movq 0x8(%rsp), %rax
movq 0x18(%rsp), %rcx
subq $0x1, %rcx
cmpq %rcx, %rax
jne 0x249a9d
movl $0x0, 0x4(%rsp)
jmp 0x249a9f
jmp 0x249aa1
movq 0x8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8(%rsp)
jmp 0x249a36
movl 0x4(%rsp), %eax
addq $0x28, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/script_wrapper_stream.c
// Function: gt_script_wrapper_stream_class
const GtNodeStreamClass* gt_script_wrapper_stream_class(void)
{
  static const GtNodeStreamClass *nsc = NULL;
  gt_class_alloc_lock_enter();
  if (!nsc) {
    nsc = gt_node_stream_class_new(sizeof (GtScriptWrapperStream),
                                   script_wrapper_stream_free,
                                   script_wrapper_stream_next);
  }
  gt_class_alloc_lock_leave();
  return nsc;
}

// Assembly:
pushq %rax
callq 0x117bf0
cmpq $0x0, 0x39d67a(%rip)    # 0x6054c8
jne 0x267e6f
movl $0x20, %edi
leaq 0x24(%rip), %rsi        # 0x267e80
leaq 0x6d(%rip), %rdx        # 0x267ed0
callq 0x30700
movq %rax, 0x39d659(%rip)    # 0x6054c8
callq 0x117c50
movq 0x39d64d(%rip), %rax    # 0x6054c8
popq %rcx
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/script_wrapper_stream.c
// Function: script_wrapper_stream_free
static void script_wrapper_stream_free(GtNodeStream *ns)
{
  GtScriptWrapperStream *script_wrapper_stream;
  if (!ns) return;
  script_wrapper_stream = script_wrapper_stream_cast(ns);
  if (script_wrapper_stream->free_func)
    script_wrapper_stream->free_func(NULL);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x267e93
jmp 0x267ec2
callq 0x267e40
movq %rax, %rdi
movq 0x10(%rsp), %rsi
callq 0x30f90
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, 0x18(%rax)
je 0x267ec2
movq 0x8(%rsp), %rax
xorl %ecx, %ecx
movl %ecx, %edi
callq *0x18(%rax)
addq $0x18, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/script_wrapper_stream.c
// Function: script_wrapper_stream_next
static int script_wrapper_stream_next(GtNodeStream *ns,
                                      GtGenomeNode **gn,
                                      GtError *err)
{
  GtScriptWrapperStream *script_wrapper_stream;
  int had_err = 0;
  gt_error_check(err);
  script_wrapper_stream = script_wrapper_stream_cast(ns);
  had_err = script_wrapper_stream->next_func(gn, err);
  return had_err;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movl $0x0, 0x4(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x267f3b
movq 0x10(%rsp), %rdi
callq 0x33160
testb $0x1, %al
jne 0x267f03
jmp 0x267f3b
movq 0x3940be(%rip), %rax    # 0x5fbfc8
movq (%rax), %rdi
leaq 0x293689(%rip), %rsi    # 0x4fb59d
leaq 0x293855(%rip), %rdx    # 0x4fb770
leaq 0x2ceee7(%rip), %rcx    # 0x536e09
leaq 0x2ceebb(%rip), %r8     # 0x536de4
movl $0x29, %r9d
movb $0x0, %al
callq 0x33960
callq 0x2f830
jmp 0x267f3d
callq 0x267e40
movq %rax, %rdi
movq 0x20(%rsp), %rsi
callq 0x30f90
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq *%rax
movl %eax, 0x4(%rsp)
movl 0x4(%rsp), %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/script_wrapper_stream.c
// Function: gt_script_wrapper_stream_new
GtNodeStream* gt_script_wrapper_stream_new(GtScriptWrapperStreamNextFunc next,
                                           GtScriptWrapperStreamFreeFunc free)
{
  GtNodeStream *ns;
  GtScriptWrapperStream *script_wrapper_stream;
  gt_assert(next);
  ns = gt_node_stream_create(gt_script_wrapper_stream_class(), false);
  script_wrapper_stream = script_wrapper_stream_cast(ns);
  script_wrapper_stream->next_func = next;
  script_wrapper_stream->free_func = free;
  return ns;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
cmpq $0x0, 0x20(%rsp)
jne 0x267fce
movq 0x39402b(%rip), %rax    # 0x5fbfc8
movq (%rax), %rdi
leaq 0x2935f6(%rip), %rsi    # 0x4fb59d
leaq 0x2c994f(%rip), %rdx    # 0x5318fd
leaq 0x2cee12(%rip), %rcx    # 0x536dc7
leaq 0x2cee28(%rip), %r8     # 0x536de4
movl $0x4a, %r9d
movb $0x0, %al
callq 0x33960
callq 0x2f830
jmp 0x267fd0
callq 0x267e40
movq %rax, %rdi
xorl %esi, %esi
callq 0x322b0
movq %rax, 0x10(%rsp)
callq 0x267e40
movq %rax, %rdi
movq 0x10(%rsp), %rsi
callq 0x30f90
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x18(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x10(%rsp), %rax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/script_wrapper_visitor.c
// Function: gt_script_wrapper_visitor_class
const GtNodeVisitorClass* gt_script_wrapper_visitor_class()
{
  static GtNodeVisitorClass *nvc = NULL;
  gt_class_alloc_lock_enter();
  if (!nvc) {
    nvc = gt_node_visitor_class_new(sizeof (GtScriptWrapperVisitor),
                                    script_wrapper_visitor_free,
                                    script_wrapper_visitor_comment_node,
                                    script_wrapper_visitor_feature_node,
                                    script_wrapper_visitor_region_node,
                                    script_wrapper_visitor_sequence_node,
                                    script_wrapper_visitor_eof_node);
    gt_node_visitor_class_set_meta_node_func(nvc,
                                             script_wrapper_visitor_meta_node);
  }
  gt_class_alloc_lock_leave();
  return nvc;
}

// Assembly:
pushq %rax
callq 0x117bf0
cmpq $0x0, 0x39d492(%rip)    # 0x6054d0
jne 0x268092
movl $0x48, %edi
leaq 0x54(%rip), %rsi        # 0x2680a0
leaq 0xcd(%rip), %rdx        # 0x268120
leaq 0x186(%rip), %rcx       # 0x2681e0
leaq 0x23f(%rip), %r8        # 0x2682a0
leaq 0x2f8(%rip), %r9        # 0x268360
leaq 0x3b1(%rip), %rax       # 0x268420
movq %rax, (%rsp)
callq 0x2fb80
movq %rax, 0x39d451(%rip)    # 0x6054d0
movq 0x39d44a(%rip), %rdi    # 0x6054d0
leaq 0x453(%rip), %rsi       # 0x2684e0
callq 0x2f5a0
callq 0x117c50
movq 0x39d432(%rip), %rax    # 0x6054d0
popq %rcx
retq
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/script_wrapper_visitor.c
// Function: script_wrapper_visitor_free
static void script_wrapper_visitor_free(GtNodeVisitor *nv)
{
  GtScriptWrapperVisitor *swv;
  gt_assert(nv);
  swv  = gt_script_wrapper_visitor_cast(nv);
  if (swv->free_func)
    swv->free_func(NULL);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x2680e9
movq 0x393f10(%rip), %rax    # 0x5fbfc8
movq (%rax), %rdi
leaq 0x2934db(%rip), %rsi    # 0x4fb59d
leaq 0x2dbe90(%rip), %rdx    # 0x543f59
leaq 0x2ced54(%rip), %rcx    # 0x536e24
leaq 0x2ced69(%rip), %r8     # 0x536e40
movl $0x2a, %r9d
movb $0x0, %al
callq 0x33960
callq 0x2f830
jmp 0x2680eb
callq 0x268030
movq %rax, %rdi
movq 0x10(%rsp), %rsi
callq 0x304f0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, 0x40(%rax)
je 0x26811a
movq 0x8(%rsp), %rax
xorl %ecx, %ecx
movl %ecx, %edi
callq *0x40(%rax)
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/script_wrapper_visitor.c
// Function: script_wrapper_visitor_comment_node
static int script_wrapper_visitor_comment_node(GtNodeVisitor *nv,
                                               GtCommentNode *cn,
                                               GtError *err)
{
  GtScriptWrapperVisitor *swv;
  int had_err = 0;
  gt_error_check(err);
  swv = gt_script_wrapper_visitor_cast(nv);
  if (swv->comment_node_func)
    had_err = swv->comment_node_func(cn, err);
  return had_err;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movl $0x0, 0x4(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x26818b
movq 0x10(%rsp), %rdi
callq 0x33160
testb $0x1, %al
jne 0x268153
jmp 0x26818b
movq 0x393e6e(%rip), %rax    # 0x5fbfc8
movq (%rax), %rdi
leaq 0x293439(%rip), %rsi    # 0x4fb59d
leaq 0x293605(%rip), %rdx    # 0x4fb770
leaq 0x2cecf4(%rip), %rcx    # 0x536e66
leaq 0x2cecc7(%rip), %r8     # 0x536e40
movl $0x50, %r9d
movb $0x0, %al
callq 0x33960
callq 0x2f830
jmp 0x26818d
callq 0x268030
movq %rax, %rdi
movq 0x20(%rsp), %rsi
callq 0x304f0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, 0x10(%rax)
je 0x2681c9
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq *%rax
movl %eax, 0x4(%rsp)
movl 0x4(%rsp), %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/script_wrapper_visitor.c
// Function: script_wrapper_visitor_feature_node
static int script_wrapper_visitor_feature_node(GtNodeVisitor *nv,
                                               GtFeatureNode *fn,
                                               GtError *err)
{
  GtScriptWrapperVisitor *swv;
  int had_err = 0;
  gt_error_check(err);
  swv = gt_script_wrapper_visitor_cast(nv);
  if (swv->feature_node_func)
    had_err = swv->feature_node_func(fn, err);
  return had_err;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movl $0x0, 0x4(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x26824b
movq 0x10(%rsp), %rdi
callq 0x33160
testb $0x1, %al
jne 0x268213
jmp 0x26824b
movq 0x393dae(%rip), %rax    # 0x5fbfc8
movq (%rax), %rdi
leaq 0x293379(%rip), %rsi    # 0x4fb59d
leaq 0x293545(%rip), %rdx    # 0x4fb770
leaq 0x2cec58(%rip), %rcx    # 0x536e8a
leaq 0x2cec07(%rip), %r8     # 0x536e40
movl $0x36, %r9d
movb $0x0, %al
callq 0x33960
callq 0x2f830
jmp 0x26824d
callq 0x268030
movq %rax, %rdi
movq 0x20(%rsp), %rsi
callq 0x304f0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, 0x18(%rax)
je 0x268289
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq *%rax
movl %eax, 0x4(%rsp)
movl 0x4(%rsp), %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/script_wrapper_visitor.c
// Function: script_wrapper_visitor_region_node
static int script_wrapper_visitor_region_node(GtNodeVisitor *nv,
                                              GtRegionNode *rn,
                                              GtError *err)
{
  GtScriptWrapperVisitor *swv;
  int had_err = 0;
  gt_error_check(err);
  swv = gt_script_wrapper_visitor_cast(nv);
  if (swv->region_node_func)
    had_err = swv->region_node_func(rn, err);
  return had_err;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movl $0x0, 0x4(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x26830b
movq 0x10(%rsp), %rdi
callq 0x33160
testb $0x1, %al
jne 0x2682d3
jmp 0x26830b
movq 0x393cee(%rip), %rax    # 0x5fbfc8
movq (%rax), %rdi
leaq 0x2932b9(%rip), %rsi    # 0x4fb59d
leaq 0x293485(%rip), %rdx    # 0x4fb770
leaq 0x2cebbc(%rip), %rcx    # 0x536eae
leaq 0x2ceb47(%rip), %r8     # 0x536e40
movl $0x43, %r9d
movb $0x0, %al
callq 0x33960
callq 0x2f830
jmp 0x26830d
callq 0x268030
movq %rax, %rdi
movq 0x20(%rsp), %rsi
callq 0x304f0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, 0x20(%rax)
je 0x268349
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq *%rax
movl %eax, 0x4(%rsp)
movl 0x4(%rsp), %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/script_wrapper_visitor.c
// Function: script_wrapper_visitor_sequence_node
static int script_wrapper_visitor_sequence_node(GtNodeVisitor *nv,
                                                GtSequenceNode *sn,
                                                GtError *err)
{
  GtScriptWrapperVisitor *swv;
  int had_err = 0;
  gt_error_check(err);
  swv = gt_script_wrapper_visitor_cast(nv);
  if (swv->sequence_node_func)
    had_err = swv->sequence_node_func(sn, err);
  return had_err;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movl $0x0, 0x4(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x2683cb
movq 0x10(%rsp), %rdi
callq 0x33160
testb $0x1, %al
jne 0x268393
jmp 0x2683cb
movq 0x393c2e(%rip), %rax    # 0x5fbfc8
movq (%rax), %rdi
leaq 0x2931f9(%rip), %rsi    # 0x4fb59d
leaq 0x2933c5(%rip), %rdx    # 0x4fb770
leaq 0x2ceb1f(%rip), %rcx    # 0x536ed1
leaq 0x2cea87(%rip), %r8     # 0x536e40
movl $0x5d, %r9d
movb $0x0, %al
callq 0x33960
callq 0x2f830
jmp 0x2683cd
callq 0x268030
movq %rax, %rdi
movq 0x20(%rsp), %rsi
callq 0x304f0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, 0x28(%rax)
je 0x268409
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq *%rax
movl %eax, 0x4(%rsp)
movl 0x4(%rsp), %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/script_wrapper_visitor.c
// Function: script_wrapper_visitor_eof_node
static int script_wrapper_visitor_eof_node(GtNodeVisitor *nv,
                                           GtEOFNode *rn,
                                           GtError *err)
{
  GtScriptWrapperVisitor *swv;
  int had_err = 0;
  gt_error_check(err);
  swv = gt_script_wrapper_visitor_cast(nv);
  if (swv->eof_node_func)
    had_err = swv->eof_node_func(rn, err);
  return had_err;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movl $0x0, 0x4(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x26848b
movq 0x10(%rsp), %rdi
callq 0x33160
testb $0x1, %al
jne 0x268453
jmp 0x26848b
movq 0x393b6e(%rip), %rax    # 0x5fbfc8
movq (%rax), %rdi
leaq 0x293139(%rip), %rsi    # 0x4fb59d
leaq 0x293305(%rip), %rdx    # 0x4fb770
leaq 0x2cea84(%rip), %rcx    # 0x536ef6
leaq 0x2ce9c7(%rip), %r8     # 0x536e40
movl $0x77, %r9d
movb $0x0, %al
callq 0x33960
callq 0x2f830
jmp 0x26848d
callq 0x268030
movq %rax, %rdi
movq 0x20(%rsp), %rsi
callq 0x304f0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, 0x38(%rax)
je 0x2684c9
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq *%rax
movl %eax, 0x4(%rsp)
movl 0x4(%rsp), %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/script_wrapper_visitor.c
// Function: script_wrapper_visitor_meta_node
static int script_wrapper_visitor_meta_node(GtNodeVisitor *nv,
                                            GtMetaNode *rn,
                                            GtError *err)
{
  GtScriptWrapperVisitor *swv;
  int had_err = 0;
  gt_error_check(err);
  swv = gt_script_wrapper_visitor_cast(nv);
  if (swv->meta_node_func)
    had_err = swv->meta_node_func(rn, err);
  return had_err;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movl $0x0, 0x4(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x26854b
movq 0x10(%rsp), %rdi
callq 0x33160
testb $0x1, %al
jne 0x268513
jmp 0x26854b
movq 0x393aae(%rip), %rax    # 0x5fbfc8
movq (%rax), %rdi
leaq 0x293079(%rip), %rsi    # 0x4fb59d
leaq 0x293245(%rip), %rdx    # 0x4fb770
leaq 0x2ce9e4(%rip), %rcx    # 0x536f16
leaq 0x2ce907(%rip), %r8     # 0x536e40
movl $0x6a, %r9d
movb $0x0, %al
callq 0x33960
callq 0x2f830
jmp 0x26854d
callq 0x268030
movq %rax, %rdi
movq 0x20(%rsp), %rsi
callq 0x304f0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, 0x30(%rax)
je 0x268589
movq 0x8(%rsp), %rax
movq 0x30(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq *%rax
movl %eax, 0x4(%rsp)
movl 0x4(%rsp), %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/script_wrapper_visitor.c
// Function: gt_script_wrapper_visitor_new
GtNodeVisitor*
gt_script_wrapper_visitor_new(GtScriptWrapperVisitorCommentNodeFunc cn,
                              GtScriptWrapperVisitorFeatureNodeFunc fn,
                              GtScriptWrapperVisitorRegionNodeFunc rn,
                              GtScriptWrapperVisitorSequenceNodeFunc sn,
                              GtScriptWrapperVisitorMetaNodeFunc mn,
                              GtScriptWrapperVisitorEOFNodeFunc en,
                              GtScriptWrapperVisitorFreeFunc free_func)
{
  GtNodeVisitor *nv;
  GtScriptWrapperVisitor *swv;
  nv = gt_node_visitor_create(gt_script_wrapper_visitor_class());

  swv = gt_script_wrapper_visitor_cast(nv);
  swv->comment_node_func = cn;
  swv->feature_node_func = fn;
  swv->region_node_func = rn;
  swv->sequence_node_func = sn;
  swv->meta_node_func = mn;
  swv->eof_node_func = en;
  swv->free_func = free_func;
  return nv;
}

// Assembly:
subq $0x48, %rsp
movq 0x50(%rsp), %rax
movq %rdi, 0x40(%rsp)
movq %rsi, 0x38(%rsp)
movq %rdx, 0x30(%rsp)
movq %rcx, 0x28(%rsp)
movq %r8, 0x20(%rsp)
movq %r9, 0x18(%rsp)
callq 0x268030
movq %rax, %rdi
callq 0x32820
movq %rax, 0x10(%rsp)
callq 0x268030
movq %rax, %rdi
movq 0x10(%rsp), %rsi
callq 0x304f0
movq %rax, 0x8(%rsp)
movq 0x40(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x38(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x30(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x28(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x28(%rax)
movq 0x20(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x30(%rax)
movq 0x18(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x38(%rax)
movq 0x50(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x40(%rax)
movq 0x10(%rsp), %rax
addq $0x48, %rsp
retq
nopl (%rax)