LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/seq_iterator_fastq.c
// Function: gt_seq_iterator_fastq_delete
void gt_seq_iterator_fastq_delete(GtSeqIterator *si)
{
  GtSeqIteratorFastQ *seqit;
  if (!si) return;
  seqit = gt_seq_iterator_fastq_cast(si);
  gt_str_delete(seqit->qdescbuffer);
  gt_str_delete(seqit->sequencebuffer);
  gt_str_delete(seqit->qualsbuffer);
  gt_str_delete(seqit->descbuffer);
  if (seqit->curfile)
    gt_file_delete(seqit->curfile);
  seqit->currentread = seqit->maxread;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0xe41c6
jmp 0xe4247
callq 0xe3940
movq %rax, %rdi
movq 0x10(%rsp), %rsi
callq 0xe33f0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x40(%rax), %rdi
callq 0x1afc0
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rdi
callq 0x1afc0
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rdi
callq 0x1afc0
movq 0x8(%rsp), %rax
movq 0x30(%rax), %rdi
callq 0x1afc0
movq 0x8(%rsp), %rax
cmpq $0x0, 0x48(%rax)
je 0xe422f
movq 0x8(%rsp), %rax
movq 0x48(%rax), %rdi
callq 0x83f40
movq 0x8(%rsp), %rax
movq 0x80(%rax), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x88(%rax)
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/seq_iterator_fastq.c
// Function: seqiterator_fastq_new_gen
static GtSeqIterator* seqiterator_fastq_new_gen(const GtStrArray *filenametab,
                                                bool is_color_space,
                                                GT_UNUSED GtError *err)
{
  GtSeqIterator *seqit;
  GtSeqIteratorFastQ *seqitf;
  gt_assert(filenametab);
  seqit = gt_seq_iterator_create(gt_seq_iterator_fastq_class());
  seqitf = gt_seq_iterator_fastq_cast(seqit);
  seqitf->qdescbuffer = gt_str_new();
  seqitf->curfile = gt_file_xopen(gt_str_array_get(filenametab, 0), "r");
  seqitf->filenametab = filenametab;
  seqitf->curline = 1;
  seqitf->sequencebuffer = gt_str_new();
  seqitf->qualsbuffer = gt_str_new();
  seqitf->descbuffer = gt_str_new();
  seqitf->is_color_space = is_color_space;
  seqitf->relax_qualdesc_check = false;
  return seqit;
}

// Assembly:
subq $0x28, %rsp
movb %sil, %al
movq %rdi, 0x20(%rsp)
andb $0x1, %al
movb %al, 0x1f(%rsp)
movq %rdx, 0x10(%rsp)
cmpq $0x0, 0x20(%rsp)
jne 0xe4327
movq 0xcfce2(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x79d66(%rip), %rsi     # 0x15e066
leaq 0xa445b(%rip), %rdx     # 0x188762
leaq 0x95003(%rip), %rcx     # 0x179311
leaq 0x94b85(%rip), %r8      # 0x178e9a
movl $0x1c9, %r9d            # imm = 0x1C9
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe4329
callq 0xe3940
movq %rax, %rdi
callq 0xe3360
movq %rax, 0x8(%rsp)
callq 0xe3940
movq %rax, %rdi
movq 0x8(%rsp), %rsi
callq 0xe33f0
movq %rax, (%rsp)
callq 0x18f00
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x40(%rax)
movq 0x20(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x1b320
movq %rax, %rdi
leaq 0x87e93(%rip), %rsi     # 0x16c20c
callq 0x834c0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x48(%rax)
movq 0x20(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x90(%rax)
movq (%rsp), %rax
movq $0x1, 0x68(%rax)
callq 0x18f00
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x28(%rax)
callq 0x18f00
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x38(%rax)
callq 0x18f00
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x30(%rax)
movb 0x1f(%rsp), %cl
movq (%rsp), %rax
andb $0x1, %cl
movb %cl, 0x22(%rax)
movq (%rsp), %rax
movb $0x0, 0x23(%rax)
movq 0x8(%rsp), %rax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/seq_iterator_fastq.c
// Function: fastq_buf_getchar
static inline int fastq_buf_getchar(GtSeqIteratorFastQ *seqit)
{
  if (seqit->use_ungetchar) {
    seqit->use_ungetchar = false;
    return seqit->ungetchar;
  } else {
    if (seqit->currentinpos >= seqit->currentfillpos) {
      seqit->currentfillpos = gt_file_xread(seqit->curfile, seqit->inbuf,
                                             GT_SEQIT_QUAL_INBUFSIZE);
      if (seqit->currentfillpos == 0)
         return EOF;
      seqit->currentinpos = 0;
    }
    seqit->ungetchar = seqit->inbuf[seqit->currentinpos++];
    return seqit->ungetchar;
  }
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0x8(%rsp), %rax
testb $0x1, 0x21(%rax)
je 0xe4d02
movq 0x8(%rsp), %rax
movb $0x0, 0x21(%rax)
movq 0x8(%rsp), %rax
movzbl 0x98(%rax), %eax
movl %eax, 0x14(%rsp)
jmp 0xe4d9f
movq 0x8(%rsp), %rax
movq 0x60(%rax), %rax
movq 0x8(%rsp), %rcx
cmpq 0x58(%rcx), %rax
jb 0xe4d64
movq 0x8(%rsp), %rax
movq 0x48(%rax), %rdi
movq 0x8(%rsp), %rsi
addq $0x99, %rsi
movl $0x2000, %edx           # imm = 0x2000
callq 0x83c20
movslq %eax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x58(%rax)
movq 0x8(%rsp), %rax
cmpq $0x0, 0x58(%rax)
jne 0xe4d57
movl $0xffffffff, 0x14(%rsp) # imm = 0xFFFFFFFF
jmp 0xe4d9f
movq 0x8(%rsp), %rax
movq $0x0, 0x60(%rax)
movq 0x8(%rsp), %rax
movq 0x8(%rsp), %rdx
movq 0x60(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x60(%rdx)
movb 0x99(%rax,%rcx), %cl
movq 0x8(%rsp), %rax
movb %cl, 0x98(%rax)
movq 0x8(%rsp), %rax
movzbl 0x98(%rax), %eax
movl %eax, 0x14(%rsp)
movl 0x14(%rsp), %eax
addq $0x18, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/tokenizer.c
// Function: gt_tokenizer_new
GtTokenizer* gt_tokenizer_new(GtIO *io)
{
  GtTokenizer *t;
  gt_assert(io);
  t = gt_calloc(1, sizeof *t);
  t->io = io;
  return t;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0xe4e59
movq 0xcf1b0(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x79234(%rip), %rsi     # 0x15e066
leaq 0x84e6e(%rip), %rdx     # 0x169ca7
leaq 0x944eb(%rip), %rcx     # 0x17932b
leaq 0x944f5(%rip), %r8      # 0x17933c
movl $0x22, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe4e5b
movl $0x1, %edi
movl $0x18, %esi
leaq 0x944d0(%rip), %rdx     # 0x17933c
movl $0x23, %ecx
callq 0xd5b0
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, (%rax)
movq 0x8(%rsp), %rax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/tokenizer.c
// Function: gt_tokenizer_has_token
bool gt_tokenizer_has_token(GtTokenizer *t)
{
  bool has_token = false;
  GtStr *token;
  gt_assert(t);
  token = gt_tokenizer_get_token(t);
  if (token) {
    has_token = true;
    gt_str_delete(token);
  }
  return has_token;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movb $0x0, 0xf(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0xe524e
movq 0xcedbb(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x78e3f(%rip), %rsi     # 0x15e066
leaq 0x82c50(%rip), %rdx     # 0x167e7e
leaq 0x94174(%rip), %rcx     # 0x1793a9
leaq 0x94100(%rip), %r8      # 0x17933c
movl $0x6f, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe5250
movq 0x10(%rsp), %rdi
callq 0xe4ef0
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
je 0xe5273
movb $0x1, 0xf(%rsp)
movq (%rsp), %rdi
callq 0x1afc0
movb 0xf(%rsp), %al
andb $0x1, %al
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/tokenizer.c
// Function: gt_tokenizer_delete
void gt_tokenizer_delete(GtTokenizer *t)
{
  if (!t) return;
  gt_io_delete(t->io);
  gt_str_delete(t->token);
  gt_free(t);
}

// Assembly:
pushq %rax
movq %rdi, (%rsp)
cmpq $0x0, (%rsp)
jne 0xe58ce
jmp 0xe58fc
movq (%rsp), %rax
movq (%rax), %rdi
callq 0xe1820
movq (%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x1afc0
movq (%rsp), %rdi
leaq 0x93a4a(%rip), %rsi     # 0x17933c
movl $0xd1, %edx
callq 0xdab0
popq %rax
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/translator.c
// Function: gt_translator_new_with_table
GtTranslator* gt_translator_new_with_table(GtTransTable *tt,
                                           GtCodonIterator *ci)
{
  GtTranslator *tr;
  gt_assert(tt && ci);
  tr = gt_calloc((size_t) 1, sizeof (GtTranslator));
  tr->transtable = tt;
  tr->ci = ci;
  tr->owntable = false;
  return tr;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0xe591e
cmpq $0x0, 0x8(%rsp)
jne 0xe5956
movq 0xce6b3(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x78737(%rip), %rsi     # 0x15e066
leaq 0x93bf3(%rip), %rdx     # 0x179529
leaq 0x93bf5(%rip), %rcx     # 0x179532
leaq 0x93c0b(%rip), %r8      # 0x17954f
movl $0x25, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe5958
movl $0x1, %edi
movl $0x18, %esi
leaq 0x93be6(%rip), %rdx     # 0x17954f
movl $0x26, %ecx
callq 0xd5b0
movq %rax, (%rsp)
movq 0x10(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
movq 0x8(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
movq (%rsp), %rax
movb $0x0, 0x8(%rax)
movq (%rsp), %rax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/translator.c
// Function: gt_translator_new
GtTranslator* gt_translator_new(GtCodonIterator *ci)
{
  GtTranslator *tr;
  gt_assert(ci);
  tr = gt_translator_new_with_table(gt_trans_table_new_standard(NULL), ci);
  tr->owntable = true;
  return tr;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0xe59f9
movq 0xce610(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x78694(%rip), %rsi     # 0x15e066
leaq 0x93bac(%rip), %rdx     # 0x179585
leaq 0x93b85(%rip), %rcx     # 0x179565
leaq 0x93b68(%rip), %r8      # 0x17954f
movl $0x30, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe59fb
xorl %eax, %eax
movl %eax, %edi
callq 0x14c4d0
movq %rax, %rdi
movq 0x10(%rsp), %rsi
callq 0xe5900
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movb $0x1, 0x8(%rax)
movq 0x8(%rsp), %rax
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/translator.c
// Function: gt_translator_set_translation_table
void gt_translator_set_translation_table(GtTranslator *translator,
                                         GtTransTable *tt)
{
  gt_assert(translator && tt);
  if (translator->owntable) {
    gt_trans_table_delete(translator->transtable);
    translator->owntable = false;
  }
  translator->transtable = tt;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0xe5b2e
cmpq $0x0, 0x8(%rsp)
jne 0xe5b66
movq 0xce4a3(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x78527(%rip), %rsi     # 0x15e066
leaq 0x93a77(%rip), %rdx     # 0x1795bd
leaq 0x93a81(%rip), %rcx     # 0x1795ce
leaq 0x939fb(%rip), %r8      # 0x17954f
movl $0x46, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe5b68
movq 0x10(%rsp), %rax
testb $0x1, 0x8(%rax)
je 0xe5b89
movq 0x10(%rsp), %rax
movq (%rax), %rdi
callq 0x14cb30
movq 0x10(%rsp), %rax
movb $0x0, 0x8(%rax)
movq 0x8(%rsp), %rcx
movq 0x10(%rsp), %rax
movq %rcx, (%rax)
addq $0x18, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/translator.c
// Function: gt_translator_find_startcodon
GtTranslatorStatus gt_translator_find_startcodon(GtTranslator *translator,
                                                 GtUword *pos,
                                                 GtError *err)
{
  char n1, n2, n3;
  unsigned int frame;
  GtCodonIteratorStatus retval;
  gt_assert(translator && pos);
  gt_error_check(err);

  while (!(retval =
             gt_codon_iterator_next(translator->ci,
                                    &n1, &n2, &n3, &frame, err))) {
    if (gt_trans_table_is_start_codon(translator->transtable, n1, n2, n3)) {
      *pos = gt_codon_iterator_current_position(translator->ci)-1;
      return GT_TRANSLATOR_OK;
    }
  }
  if (retval == GT_CODON_ITERATOR_END)
    return GT_TRANSLATOR_END;
  else
    return GT_TRANSLATOR_ERROR;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movq %rdx, 0x18(%rsp)
cmpq $0x0, 0x28(%rsp)
je 0xe5bc3
cmpq $0x0, 0x20(%rsp)
jne 0xe5bfb
movq 0xce40e(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x78492(%rip), %rsi     # 0x15e066
leaq 0x93a17(%rip), %rdx     # 0x1795f2
leaq 0x93a22(%rip), %rcx     # 0x179604
leaq 0x93966(%rip), %r8      # 0x17954f
movl $0x55, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe5bfd
jmp 0xe5bff
cmpq $0x0, 0x18(%rsp)
je 0xe5c4f
movq 0x18(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0xe5c17
jmp 0xe5c4f
movq 0xce3ba(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x7843e(%rip), %rsi     # 0x15e066
leaq 0x78a19(%rip), %rdx     # 0x15e648
leaq 0x939ce(%rip), %rcx     # 0x179604
leaq 0x93912(%rip), %r8      # 0x17954f
movl $0x56, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe5c51
jmp 0xe5c53
movq 0x28(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x18(%rsp), %r9
leaq 0x17(%rsp), %rsi
leaq 0x16(%rsp), %rdx
leaq 0x15(%rsp), %rcx
leaq 0x10(%rsp), %r8
callq 0xdfd20
movl %eax, 0xc(%rsp)
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0xe5c8c
jmp 0xe5cde
movq 0x28(%rsp), %rax
movq (%rax), %rdi
movb 0x17(%rsp), %cl
movb 0x16(%rsp), %al
movsbl %cl, %esi
movsbl %al, %edx
movsbl 0x15(%rsp), %ecx
callq 0x14c9a0
testb $0x1, %al
jne 0xe5cb2
jmp 0xe5cd9
movq 0x28(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0xdfb60
movq %rax, %rcx
subq $0x1, %rcx
movq 0x20(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x34(%rsp)
jmp 0xe5cf7
jmp 0xe5c53
cmpl $-0x1, 0xc(%rsp)
jne 0xe5cef
movl $0xffffffff, 0x34(%rsp) # imm = 0xFFFFFFFF
jmp 0xe5cf7
movl $0xfffffffe, 0x34(%rsp) # imm = 0xFFFFFFFE
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/translator.c
// Function: gt_translator_find_stopcodon
GtTranslatorStatus gt_translator_find_stopcodon(GtTranslator *translator,
                                                GtUword *pos,
                                                GtError *err)
{
  char n1, n2, n3;
  unsigned int frame;
  GtCodonIteratorStatus retval;
  gt_assert(translator && pos);
  gt_error_check(err);

  while (!(retval =
             gt_codon_iterator_next(translator->ci,
                                    &n1, &n2, &n3, &frame, err))) {
    if (gt_trans_table_is_stop_codon(translator->transtable, n1, n2, n3)) {
      *pos = gt_codon_iterator_current_position(translator->ci)-1;
      return GT_TRANSLATOR_OK;
    }
  }
  if (retval == GT_CODON_ITERATOR_END)
    return GT_TRANSLATOR_END;
  else
    return GT_TRANSLATOR_ERROR;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movq %rdx, 0x18(%rsp)
cmpq $0x0, 0x28(%rsp)
je 0xe5d23
cmpq $0x0, 0x20(%rsp)
jne 0xe5d5b
movq 0xce2ae(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x78332(%rip), %rsi     # 0x15e066
leaq 0x938b7(%rip), %rdx     # 0x1795f2
leaq 0x938e0(%rip), %rcx     # 0x179622
leaq 0x93806(%rip), %r8      # 0x17954f
movl $0x6d, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe5d5d
jmp 0xe5d5f
cmpq $0x0, 0x18(%rsp)
je 0xe5daf
movq 0x18(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0xe5d77
jmp 0xe5daf
movq 0xce25a(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x782de(%rip), %rsi     # 0x15e066
leaq 0x788b9(%rip), %rdx     # 0x15e648
leaq 0x9388c(%rip), %rcx     # 0x179622
leaq 0x937b2(%rip), %r8      # 0x17954f
movl $0x6e, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe5db1
jmp 0xe5db3
movq 0x28(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x18(%rsp), %r9
leaq 0x17(%rsp), %rsi
leaq 0x16(%rsp), %rdx
leaq 0x15(%rsp), %rcx
leaq 0x10(%rsp), %r8
callq 0xdfd20
movl %eax, 0xc(%rsp)
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0xe5dec
jmp 0xe5e3e
movq 0x28(%rsp), %rax
movq (%rax), %rdi
movb 0x17(%rsp), %cl
movb 0x16(%rsp), %al
movsbl %cl, %esi
movsbl %al, %edx
movsbl 0x15(%rsp), %ecx
callq 0x14ca70
testb $0x1, %al
jne 0xe5e12
jmp 0xe5e39
movq 0x28(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0xdfb60
movq %rax, %rcx
subq $0x1, %rcx
movq 0x20(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x34(%rsp)
jmp 0xe5e57
jmp 0xe5db3
cmpl $-0x1, 0xc(%rsp)
jne 0xe5e4f
movl $0xffffffff, 0x34(%rsp) # imm = 0xFFFFFFFF
jmp 0xe5e57
movl $0xfffffffe, 0x34(%rsp) # imm = 0xFFFFFFFE
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/translator.c
// Function: gt_translator_delete
void gt_translator_delete(GtTranslator *translator)
{
  if (!translator) return;
  if (translator->owntable)
    gt_trans_table_delete(translator->transtable);
  gt_free(translator);
}

// Assembly:
pushq %rax
movq %rdi, (%rsp)
cmpq $0x0, (%rsp)
jne 0xe631e
jmp 0xe6349
movq (%rsp), %rax
testb $0x1, 0x8(%rax)
je 0xe6334
movq (%rsp), %rax
movq (%rax), %rdi
callq 0x14cb30
movq (%rsp), %rdi
leaq 0x93210(%rip), %rsi     # 0x17954f
movl $0xce, %edx
callq 0xdab0
popq %rax
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/luahelper.c
// Function: gt_lua_set_script_dir
void gt_lua_set_script_dir(lua_State *L, const char *scriptpath)
{
  GtStr *scriptdir = gt_str_new();
  gt_file_dirname(scriptdir, scriptpath);
  if (gt_str_length(scriptdir) == 0)
    gt_str_append_cstr(scriptdir, ".");
  lua_getglobal(L, "gt");
  gt_assert(lua_istable(L, -1));
  lua_pushstring(L, gt_str_get(scriptdir));
  lua_setfield(L, -2, "script_dir");
  lua_pop(L, 1);
  gt_str_delete(scriptdir);
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
callq 0x18f00
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0x84730
movq 0x10(%rsp), %rdi
callq 0x19a00
cmpq $0x0, %rax
jne 0xe7fe8
movq 0x10(%rsp), %rdi
leaq 0x7f603(%rip), %rsi     # 0x1675e6
callq 0x18fb0
movq 0x20(%rsp), %rdi
movl $0xffffd8ee, %esi       # imm = 0xFFFFD8EE
leaq 0x9bc7e(%rip), %rdx     # 0x183c77
callq 0x51640
movq 0x20(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x4f800
cmpl $0x5, %eax
je 0xe804a
movq 0xcbfbf(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x76043(%rip), %rsi     # 0x15e066
leaq 0x8ac69(%rip), %rdx     # 0x172c93
leaq 0x91bbb(%rip), %rcx     # 0x179bec
leaq 0x91b74(%rip), %r8      # 0x179bac
movl $0x46, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe804c
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
callq 0x19940
movq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x50970
movq 0x20(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x91b79(%rip), %rdx     # 0x179bf7
callq 0x51fc0
movq 0x20(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x4f100
movq 0x10(%rsp), %rdi
callq 0x1afc0
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/luahelper.c
// Function: gt_lua_set_arg
void gt_lua_set_arg(lua_State *L, const char *argv_0, const char **argv)
{
  lua_Integer n = 0;
  gt_assert(L && argv_0);
  /* create table */
  lua_newtable(L);
  /* set arg[0] */
  lua_pushinteger(L, 0);
  lua_pushstring(L, argv_0);
  lua_rawset(L, -3);
  /* set other arguments */
  while (argv[n]) {
    lua_pushinteger(L, n+1);
    lua_pushstring(L, argv[n]);
    lua_rawset(L, -3);
    n++;
  }
  /* register table globally */
  lua_setglobal(L, "arg");
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movq $0x0, 0x8(%rsp)
cmpq $0x0, 0x20(%rsp)
je 0xe80dc
cmpq $0x0, 0x18(%rsp)
jne 0xe8114
movq 0xcbef5(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x75f79(%rip), %rsi     # 0x15e066
leaq 0x91b0e(%rip), %rdx     # 0x179c02
leaq 0x91b13(%rip), %rcx     # 0x179c0e
leaq 0x91aaa(%rip), %r8      # 0x179bac
movl $0x50, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe8116
movq 0x20(%rsp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x519c0
movq 0x20(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x50720
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0x50970
movq 0x20(%rsp), %rdi
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
callq 0x52070
movq 0x10(%rsp), %rax
movq 0x8(%rsp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0xe81ab
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
addq $0x1, %rsi
callq 0x50720
movq 0x20(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
callq 0x50970
movq 0x20(%rsp), %rdi
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
callq 0x52070
movq 0x8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8(%rsp)
jmp 0xe8150
movq 0x20(%rsp), %rdi
movl $0xffffd8ee, %esi       # imm = 0xFFFFD8EE
leaq 0x85be4(%rip), %rdx     # 0x16dda0
callq 0x51fc0
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/luahelper.c
// Function: gt_lua_export_metatable
void gt_lua_export_metatable(lua_State *L, const char *metatable_desc)
{
  char *dot, *mt;
  gt_assert(L && metatable_desc);
  mt = gt_cstr_dup(metatable_desc);
  dot = strchr(mt, '.');
  gt_assert(dot);
  *dot = '_';
  lua_setglobal(L, mt);
  gt_free(mt);
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
cmpq $0x0, 0x20(%rsp)
je 0xe81ee
cmpq $0x0, 0x18(%rsp)
jne 0xe8226
movq 0xcbde3(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x75e67(%rip), %rsi     # 0x15e066
leaq 0x91a17(%rip), %rdx     # 0x179c1d
leaq 0x91a24(%rip), %rcx     # 0x179c31
leaq 0x91998(%rip), %r8      # 0x179bac
movl $0x65, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe8228
movq 0x18(%rsp), %rdi
callq 0x7c400
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rdi
movl $0x2e, %esi
callq 0xb1f0
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0xe828b
movq 0xcbd7e(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x75e02(%rip), %rsi     # 0x15e066
leaq 0x919de(%rip), %rdx     # 0x179c49
leaq 0x919bf(%rip), %rcx     # 0x179c31
leaq 0x91933(%rip), %r8      # 0x179bac
movl $0x68, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe828d
movq 0x10(%rsp), %rax
movb $0x5f, (%rax)
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rdx
movl $0xffffd8ee, %esi       # imm = 0xFFFFD8EE
callq 0x51fc0
movq 0x8(%rsp), %rdi
leaq 0x918f7(%rip), %rsi     # 0x179bac
movl $0x6b, %edx
callq 0xdab0
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/luahelper.c
// Function: gt_lua_push_strarray_as_table
void gt_lua_push_strarray_as_table(lua_State *L, GtStrArray *sa)
{
  GtUword i;
  gt_assert(L && sa);
  lua_newtable(L);
  for (i = 0; i < gt_str_array_size(sa); i++) {
    lua_pushinteger(L, i+1); /* in Lua we index from 1 on */
    lua_pushstring(L, gt_str_array_get(sa, i));
    lua_rawset(L, -3);
  }
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
cmpq $0x0, 0x20(%rsp)
je 0xe82ee
cmpq $0x0, 0x18(%rsp)
jne 0xe8326
movq 0xcbce3(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x75d67(%rip), %rsi     # 0x15e066
leaq 0x91947(%rip), %rdx     # 0x179c4d
leaq 0x91948(%rip), %rcx     # 0x179c55
leaq 0x91898(%rip), %r8      # 0x179bac
movl $0x71, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe8328
movq 0x20(%rsp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x519c0
movq $0x0, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rdi
callq 0x1b720
movq %rax, %rcx
movq 0x8(%rsp), %rax
cmpq %rcx, %rax
jae 0xe83b6
movq 0x20(%rsp), %rdi
movq 0x10(%rsp), %rsi
addq $0x1, %rsi
callq 0x50720
movq 0x20(%rsp), %rax
movq %rax, (%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x1b320
movq (%rsp), %rdi
movq %rax, %rsi
callq 0x50970
movq 0x20(%rsp), %rdi
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
callq 0x52070
movq 0x10(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x10(%rsp)
jmp 0xe833f
addq $0x28, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/luahelper.c
// Function: gt_lua_get_table_as_strarray
int gt_lua_get_table_as_strarray(lua_State *L, int index, GtStrArray *outarray,
                                 GtError *err)
{
  int had_err = 0;
  gt_assert(lua_istable(L, index));
  lua_pushnil(L);
  while (!had_err && (lua_next(L, index) != 0))
  {
    if (!lua_isstring(L, -1)) {
      had_err = -1;
      gt_error_set(err, "table contains non-string value!");
      break;
    }
    gt_str_array_add_cstr(outarray, lua_tostring(L, -1));
    lua_pop(L, 1);
  }
  return had_err;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movl %esi, 0x2c(%rsp)
movq %rdx, 0x20(%rsp)
movq %rcx, 0x18(%rsp)
movl $0x0, 0x14(%rsp)
movq 0x30(%rsp), %rdi
movl 0x2c(%rsp), %esi
callq 0x4f800
cmpl $0x5, %eax
je 0xe842a
movq 0xcbbdf(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x75c63(%rip), %rsi     # 0x15e066
leaq 0x8a812(%rip), %rdx     # 0x172c1c
leaq 0x91862(%rip), %rcx     # 0x179c73
leaq 0x91794(%rip), %r8      # 0x179bac
movl $0x7e, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe842c
movq 0x30(%rsp), %rdi
callq 0x506a0
xorl %eax, %eax
cmpl $0x0, 0x14(%rsp)
movb %al, 0x13(%rsp)
jne 0xe845b
movq 0x30(%rsp), %rdi
movl 0x2c(%rsp), %esi
callq 0x53230
cmpl $0x0, %eax
setne %al
movb %al, 0x13(%rsp)
movb 0x13(%rsp), %al
testb $0x1, %al
jne 0xe8465
jmp 0xe84d4
movq 0x30(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x4f9e0
cmpl $0x0, %eax
jne 0xe8496
movl $0xffffffff, 0x14(%rsp) # imm = 0xFFFFFFFF
movq 0x18(%rsp), %rdi
leaq 0x91803(%rip), %rsi     # 0x179c90
movb $0x0, %al
callq 0xc0d0
jmp 0xe84d4
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %eax, %eax
movl %eax, %edx
callq 0x50180
movq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x1b180
movq 0x30(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x4f100
jmp 0xe8436
movl 0x14(%rsp), %eax
addq $0x38, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/luahelper.c
// Function: gt_lua_error
int gt_lua_error(lua_State *L, GtError *err)
{
  gt_assert(L && err);
  gt_assert(gt_error_is_set(err));
  luaL_where(L, 1);
  lua_pushstring(L, gt_error_get(err));
  gt_error_delete(err);
  lua_concat(L, 2);
  return lua_error(L);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0xe84fe
cmpq $0x0, 0x8(%rsp)
jne 0xe8536
movq 0xcbad3(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x75b57(%rip), %rsi     # 0x15e066
leaq 0x9179b(%rip), %rdx     # 0x179cb1
leaq 0x9179d(%rip), %rcx     # 0x179cba
leaq 0x91688(%rip), %r8      # 0x179bac
movl $0x8f, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe8538
jmp 0xe853a
movq 0x8(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0xe8580
movq 0xcba89(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x75b0d(%rip), %rsi     # 0x15e066
leaq 0xa24d8(%rip), %rdx     # 0x18aa38
leaq 0x91753(%rip), %rcx     # 0x179cba
leaq 0x9163e(%rip), %r8      # 0x179bac
movl $0x90, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe8582
movq 0x10(%rsp), %rdi
movl $0x1, %esi
callq 0x556c0
movq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq 0x8(%rsp), %rdi
callq 0xc330
movq (%rsp), %rdi
movq %rax, %rsi
callq 0x50970
movq 0x8(%rsp), %rdi
callq 0xc490
movq 0x10(%rsp), %rdi
movl $0x2, %esi
callq 0x534b0
movq 0x10(%rsp), %rdi
callq 0x530d0
addq $0x18, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/luahelper.c
// Function: gt_lua_try_checkudata
void* gt_lua_try_checkudata(lua_State *L, int ud, const char *tname)
{
  void *p;
  gt_assert(L && tname);
  p = lua_touserdata(L, ud);
  if (p != NULL) {  /* value is a userdata? */
    if (lua_getmetatable(L, ud)) {  /* does it have a metatable? */
      lua_getfield(L, LUA_REGISTRYINDEX, tname);  /* get correct metatable */
      if (lua_rawequal(L, -1, -2)) {  /* does it have the correct mt? */
        lua_pop(L, 2);  /* remove both metatables */
        return p;
      }
    }
  }
  return NULL;  /* to avoid warnings */
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movl %esi, 0x14(%rsp)
movq %rdx, 0x8(%rsp)
cmpq $0x0, 0x18(%rsp)
je 0xe8602
cmpq $0x0, 0x8(%rsp)
jne 0xe863a
movq 0xcb9cf(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x75a53(%rip), %rsi     # 0x15e066
leaq 0x916ad(%rip), %rdx     # 0x179cc7
leaq 0x916b1(%rip), %rcx     # 0x179cd2
leaq 0x91584(%rip), %r8      # 0x179bac
movl $0x9b, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe863c
movq 0x18(%rsp), %rdi
movl 0x14(%rsp), %esi
callq 0x50530
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
je 0xe86b3
movq 0x18(%rsp), %rdi
movl 0x14(%rsp), %esi
callq 0x51b00
cmpl $0x0, %eax
je 0xe86b1
movq 0x18(%rsp), %rdi
movq 0x8(%rsp), %rdx
movl $0xffffd8f0, %esi       # imm = 0xFFFFD8F0
callq 0x51640
movq 0x18(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movl $0xfffffffe, %edx       # imm = 0xFFFFFFFE
callq 0x4fa80
cmpl $0x0, %eax
je 0xe86af
movq 0x18(%rsp), %rdi
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
callq 0x4f100
movq (%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0xe86bc
jmp 0xe86b1
jmp 0xe86b3
movq $0x0, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/region_mapping.c
// Function: gt_region_mapping_new_mapping
GtRegionMapping* gt_region_mapping_new_mapping(GtStr *mapping_filename,
                                               GtError *err)
{
  GtRegionMapping *rm;
  gt_error_check(err);
  gt_assert(mapping_filename);
  rm = gt_calloc(1, sizeof (GtRegionMapping));
  rm->mapping = gt_mapping_new(mapping_filename, "mapping",
                               GT_MAPPINGTYPE_STRING, err);
  if (!rm->mapping) {
    gt_region_mapping_delete(rm);
    return NULL;
  }
  return rm;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0xe872e
movq 0x10(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0xe86f6
jmp 0xe872e
movq 0xcb8db(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x7595f(%rip), %rsi     # 0x15e066
leaq 0x75f3a(%rip), %rdx     # 0x15e648
leaq 0x915d3(%rip), %rcx     # 0x179ce8
leaq 0x915ea(%rip), %r8      # 0x179d06
movl $0x3e, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe8730
jmp 0xe8732
cmpq $0x0, 0x18(%rsp)
jne 0xe8772
movq 0xcb897(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x7591b(%rip), %rsi     # 0x15e066
leaq 0x915d2(%rip), %rdx     # 0x179d24
leaq 0x9158f(%rip), %rcx     # 0x179ce8
leaq 0x915a6(%rip), %r8      # 0x179d06
movl $0x3f, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe8774
movl $0x1, %edi
movl $0x68, %esi
leaq 0x91581(%rip), %rdx     # 0x179d06
movl $0x40, %ecx
callq 0xd5b0
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rcx
leaq 0xa387e(%rip), %rsi     # 0x18c023
xorl %edx, %edx
callq 0x32e30
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x8(%rsp), %rax
cmpq $0x0, 0x20(%rax)
jne 0xe87d9
movq 0x8(%rsp), %rdi
callq 0xe87f0
movq $0x0, 0x20(%rsp)
jmp 0xe87e3
movq 0x8(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/region_mapping.c
// Function: gt_region_mapping_delete
void gt_region_mapping_delete(GtRegionMapping *rm)
{
  if (!rm) return;
  if (rm->reference_count) {
    rm->reference_count--;
    return;
  }
  gt_str_array_delete(rm->sequence_filenames);
  gt_str_delete(rm->sequence_file);
  gt_str_delete(rm->sequence_name);
  gt_mapping_delete(rm->mapping);
  gt_bioseq_delete(rm->bioseq);
  gt_encseq_delete(rm->encseq);
  gt_seq_col_delete(rm->seq_col);
  gt_seqid2seqnum_mapping_delete(rm->seqid2seqnum_mapping);
  gt_free(rm);
}

// Assembly:
pushq %rax
movq %rdi, (%rsp)
cmpq $0x0, (%rsp)
jne 0xe8801
jmp 0xe8896
movq (%rsp), %rax
cmpl $0x0, 0x60(%rax)
je 0xe881a
movq (%rsp), %rax
movl 0x60(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x60(%rax)
jmp 0xe8896
movq (%rsp), %rax
movq (%rax), %rdi
callq 0x1b780
movq (%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x1afc0
movq (%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x1afc0
movq (%rsp), %rax
movq 0x20(%rax), %rdi
callq 0x33270
movq (%rsp), %rax
movq 0x28(%rax), %rdi
callq 0x10c1d0
movq (%rsp), %rax
movq 0x30(%rax), %rdi
callq 0x118250
movq (%rsp), %rax
movq 0x38(%rax), %rdi
callq 0x14a2c0
movq (%rsp), %rax
movq 0x40(%rax), %rdi
callq 0xeb520
movq (%rsp), %rdi
leaq 0x9147a(%rip), %rsi     # 0x179d06
movl $0x247, %edx            # imm = 0x247
callq 0xdab0
popq %rax
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/region_mapping.c
// Function: gt_region_mapping_new_seqfiles
GtRegionMapping* gt_region_mapping_new_seqfiles(GtStrArray *sequence_filenames,
                                                bool matchdesc, bool usedesc)
{
  GtRegionMapping *rm;
  gt_assert(sequence_filenames);
  gt_assert(!(matchdesc && usedesc));
  rm = gt_calloc(1, sizeof (GtRegionMapping));
  rm->sequence_filenames = gt_str_array_ref(sequence_filenames);
  rm->matchdesc = matchdesc;
  rm->matchdescstart = false;
  rm->usedesc = usedesc;
  return rm;
}

// Assembly:
subq $0x18, %rsp
movb %dl, %al
movb %sil, %cl
movq %rdi, 0x10(%rsp)
andb $0x1, %cl
movb %cl, 0xf(%rsp)
andb $0x1, %al
movb %al, 0xe(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0xe88fb
movq 0xcb70e(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x75792(%rip), %rsi     # 0x15e066
leaq 0x919d7(%rip), %rdx     # 0x17a2b2
leaq 0x91453(%rip), %rcx     # 0x179d35
leaq 0x9141d(%rip), %r8      # 0x179d06
movl $0x4e, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe88fd
jmp 0xe88ff
testb $0x1, 0xf(%rsp)
je 0xe8945
testb $0x1, 0xe(%rsp)
je 0xe8945
movq 0xcb6c4(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x75748(%rip), %rsi     # 0x15e066
leaq 0x9142f(%rip), %rdx     # 0x179d54
leaq 0x91409(%rip), %rcx     # 0x179d35
leaq 0x913d3(%rip), %r8      # 0x179d06
movl $0x4f, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe8947
movl $0x1, %edi
movl $0x68, %esi
leaq 0x913ae(%rip), %rdx     # 0x179d06
movl $0x50, %ecx
callq 0xd5b0
movq %rax, (%rsp)
movq 0x10(%rsp), %rdi
callq 0x1b060
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
movb 0xf(%rsp), %cl
movq (%rsp), %rax
andb $0x1, %cl
movb %cl, 0x18(%rax)
movq (%rsp), %rax
movb $0x0, 0x1a(%rax)
movb 0xe(%rsp), %cl
movq (%rsp), %rax
andb $0x1, %cl
movb %cl, 0x19(%rax)
movq (%rsp), %rax
addq $0x18, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/region_mapping.c
// Function: gt_region_mapping_new_encseq
GtRegionMapping* gt_region_mapping_new_encseq(GtEncseq *encseq, bool matchdesc,
                                              bool usedesc)
{
  GtRegionMapping *rm;
  gt_assert(encseq);
  gt_assert(!(matchdesc && usedesc));
  rm = gt_calloc(1, sizeof (GtRegionMapping));
  rm->encseq = gt_encseq_ref(encseq);
  rm->matchdesc = matchdesc;
  rm->usedesc = usedesc;
  rm->matchdescstart = false;
  return rm;
}

// Assembly:
subq $0x18, %rsp
movb %dl, %al
movb %sil, %cl
movq %rdi, 0x10(%rsp)
andb $0x1, %cl
movb %cl, 0xf(%rsp)
andb $0x1, %al
movb %al, 0xe(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0xe8a0b
movq 0xcb5fe(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x75682(%rip), %rsi     # 0x15e066
leaq 0x932eb(%rip), %rdx     # 0x17bcd6
leaq 0x9137a(%rip), %rcx     # 0x179d6c
leaq 0x9130d(%rip), %r8      # 0x179d06
movl $0x5c, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe8a0d
jmp 0xe8a0f
testb $0x1, 0xf(%rsp)
je 0xe8a55
testb $0x1, 0xe(%rsp)
je 0xe8a55
movq 0xcb5b4(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x75638(%rip), %rsi     # 0x15e066
leaq 0x9131f(%rip), %rdx     # 0x179d54
leaq 0x91330(%rip), %rcx     # 0x179d6c
leaq 0x912c3(%rip), %r8      # 0x179d06
movl $0x5d, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe8a57
movl $0x1, %edi
movl $0x68, %esi
leaq 0x9129e(%rip), %rdx     # 0x179d06
movl $0x5e, %ecx
callq 0xd5b0
movq %rax, (%rsp)
movq 0x10(%rsp), %rdi
callq 0x118da0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x30(%rax)
movb 0xf(%rsp), %cl
movq (%rsp), %rax
andb $0x1, %cl
movb %cl, 0x18(%rax)
movb 0xe(%rsp), %cl
movq (%rsp), %rax
andb $0x1, %cl
movb %cl, 0x19(%rax)
movq (%rsp), %rax
movb $0x0, 0x1a(%rax)
movq (%rsp), %rax
addq $0x18, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/region_mapping.c
// Function: gt_region_mapping_new_rawseq
GtRegionMapping* gt_region_mapping_new_rawseq(const char *rawseq,
                                              GtUword length,
                                              GtUword offset)
{
  GtRegionMapping *rm;
  gt_assert(rawseq);
  rm = gt_calloc(1, sizeof (GtRegionMapping));
  rm->userawseq = true;
  rm->rawseq = rawseq;
  rm->rawlength = length;
  rm->rawoffset = offset;
  rm->matchdescstart = false;
  return rm;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
cmpq $0x0, 0x20(%rsp)
jne 0xe8b43
movq 0xcb4c6(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x7554a(%rip), %rsi     # 0x15e066
leaq 0x9127c(%rip), %rdx     # 0x179d9f
leaq 0x9125f(%rip), %rcx     # 0x179d89
leaq 0x911d5(%rip), %r8      # 0x179d06
movl $0x73, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe8b45
movl $0x1, %edi
movl $0x68, %esi
leaq 0x911b0(%rip), %rdx     # 0x179d06
movl $0x74, %ecx
callq 0xd5b0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movb $0x1, 0x1b(%rax)
movq 0x20(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x48(%rax)
movq 0x18(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x50(%rax)
movq 0x10(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x58(%rax)
movq 0x8(%rsp), %rax
movb $0x0, 0x1a(%rax)
movq 0x8(%rsp), %rax
addq $0x28, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/region_mapping.c
// Function: region_mapping_map
static GtStr* region_mapping_map(GtRegionMapping *rm,
                                 const char *sequence_region, GtError *err)
{
  gt_error_check(err);
  gt_assert(rm && sequence_region);
  if (!rm->mapping)
    return gt_str_ref(gt_str_array_get_str(rm->sequence_filenames, 0));
  else
    return gt_mapping_map_string(rm->mapping, sequence_region, err);
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq %rdx, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0xeaec3
movq 0x8(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0xeae8b
jmp 0xeaec3
movq 0xc9146(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x731ca(%rip), %rsi     # 0x15e066
leaq 0x737a5(%rip), %rdx     # 0x15e648
leaq 0x8f41b(%rip), %rcx     # 0x17a2c5
leaq 0x8ee55(%rip), %r8      # 0x179d06
movl $0x8d, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xeaec5
jmp 0xeaec7
cmpq $0x0, 0x18(%rsp)
je 0xeaed7
cmpq $0x0, 0x10(%rsp)
jne 0xeaf0f
movq 0xc90fa(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x7317e(%rip), %rsi     # 0x15e066
leaq 0x8f3e9(%rip), %rdx     # 0x17a2d8
leaq 0x8f3cf(%rip), %rcx     # 0x17a2c5
leaq 0x8ee09(%rip), %r8      # 0x179d06
movl $0x8e, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xeaf11
movq 0x18(%rsp), %rax
cmpq $0x0, 0x20(%rax)
jne 0xeaf3d
movq 0x18(%rsp), %rax
movq (%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x1b3c0
movq %rax, %rdi
callq 0x19dc0
movq %rax, 0x20(%rsp)
jmp 0xeaf5a
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rdi
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdx
callq 0x332e0
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/reverse.c
// Function: gt_reverse_complement
int gt_reverse_complement(char *dna_seq, GtUword seqlen, GtError *err)
{
  char *front_char, *back_char, tmp_char;
  int had_err = 0;
  gt_error_check(err);
  gt_assert(dna_seq);
  for (front_char = dna_seq, back_char = dna_seq + seqlen - 1;
       front_char <= back_char;
       front_char++, back_char--) {
    had_err = gt_complement(&tmp_char, *front_char, err);
    if (!had_err)
      had_err = gt_complement(front_char, *back_char, err);
    if (!had_err)
      *back_char = tmp_char;
    if (had_err)
      break;
  }
  return had_err;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
movl $0x0, 0x8(%rsp)
cmpq $0x0, 0x20(%rsp)
je 0xeafdb
movq 0x20(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0xeafa3
jmp 0xeafdb
movq 0xc902e(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x730b2(%rip), %rsi     # 0x15e066
leaq 0x7368d(%rip), %rdx     # 0x15e648
leaq 0x8f32c(%rip), %rcx     # 0x17a2ee
leaq 0x8f33b(%rip), %r8      # 0x17a304
movl $0x1a, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xeafdd
jmp 0xeafdf
cmpq $0x0, 0x30(%rsp)
jne 0xeb01f
movq 0xc8fea(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x7306e(%rip), %rsi     # 0x15e066
leaq 0x8f31c(%rip), %rdx     # 0x17a31b
leaq 0x8f2e8(%rip), %rcx     # 0x17a2ee
leaq 0x8f2f7(%rip), %r8      # 0x17a304
movl $0x1b, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xeb021
movq 0x30(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x30(%rsp), %rax
addq 0x28(%rsp), %rax
addq $-0x1, %rax
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rax
cmpq 0x10(%rsp), %rax
ja 0xeb0c9
movq 0x18(%rsp), %rax
movb (%rax), %al
movq 0x20(%rsp), %rdx
leaq 0xf(%rsp), %rdi
movsbl %al, %esi
callq 0x112480
movl %eax, 0x8(%rsp)
cmpl $0x0, 0x8(%rsp)
jne 0xeb08b
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rax
movb (%rax), %al
movq 0x20(%rsp), %rdx
movsbl %al, %esi
callq 0x112480
movl %eax, 0x8(%rsp)
cmpl $0x0, 0x8(%rsp)
jne 0xeb09d
movb 0xf(%rsp), %cl
movq 0x10(%rsp), %rax
movb %cl, (%rax)
cmpl $0x0, 0x8(%rsp)
je 0xeb0a6
jmp 0xeb0c9
jmp 0xeb0a8
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
movq 0x10(%rsp), %rax
addq $-0x1, %rax
movq %rax, 0x10(%rsp)
jmp 0xeb03e
movl 0x8(%rsp), %eax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/seqid2seqnum_mapping.c
// Function: gt_seqid2seqnum_mapping_new_bioseq
GtSeqid2SeqnumMapping* gt_seqid2seqnum_mapping_new_bioseq(GtBioseq *bioseq,
                                                          GtError *err)
{
  GtSeqid2SeqnumMapping *mapping;
  gt_error_check(err);
  gt_assert(bioseq);
  mapping = gt_malloc(sizeof *mapping);
  mapping->filename = gt_cstr_dup(gt_bioseq_filename(bioseq));
  mapping->map = gt_hashmap_new(GT_HASH_STRING, gt_free_func,
                                (GtFree) seqid_info_delete);
  if (fill_mapping(mapping, bioseq, NULL, err)) {
    gt_seqid2seqnum_mapping_delete(mapping);
    return NULL;
  }
  mapping->cached_seqid = NULL;
  return mapping;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0xeb13e
movq 0x10(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0xeb106
jmp 0xeb13e
movq 0xc8ecb(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x72f4f(%rip), %rsi     # 0x15e066
leaq 0x7352a(%rip), %rdx     # 0x15e648
leaq 0x8f1fe(%rip), %rcx     # 0x17a323
leaq 0x8f21a(%rip), %r8      # 0x17a346
movl $0xc2, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xeb140
jmp 0xeb142
cmpq $0x0, 0x18(%rsp)
jne 0xeb182
movq 0xc8e87(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x72f0b(%rip), %rsi     # 0x15e066
leaq 0x8f1dd(%rip), %rdx     # 0x17a33f
leaq 0x8f1ba(%rip), %rcx     # 0x17a323
leaq 0x8f1d6(%rip), %r8      # 0x17a346
movl $0xc3, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xeb184
movl $0x38, %edi
leaq 0x8f1b6(%rip), %rsi     # 0x17a346
movl $0xc4, %edx
callq 0xd2e0
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rdi
callq 0x10d1e0
movq %rax, %rdi
callq 0x7c400
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, (%rax)
movl $0x1, %edi
leaq -0xdd5a8(%rip), %rsi    # 0xdc20
leaq 0x71(%rip), %rdx        # 0xeb240
callq 0x86190
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x8(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rcx
xorl %eax, %eax
movl %eax, %edx
callq 0xeb260
cmpl $0x0, %eax
je 0xeb212
movq 0x8(%rsp), %rdi
callq 0xeb520
movq $0x0, 0x20(%rsp)
jmp 0xeb229
movq 0x8(%rsp), %rax
movq $0x0, 0x10(%rax)
movq 0x8(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/seqid2seqnum_mapping.c
// Function: gt_seqid2seqnum_mapping_delete
void gt_seqid2seqnum_mapping_delete(GtSeqid2SeqnumMapping *mapping)
{
  if (!mapping) return;
  gt_hashmap_delete(mapping->map);
  gt_free(mapping->filename);
  gt_free(mapping);
}

// Assembly:
pushq %rax
movq %rdi, (%rsp)
cmpq $0x0, (%rsp)
jne 0xeb52e
jmp 0xeb568
movq (%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x86cc0
movq (%rsp), %rax
movq (%rax), %rdi
leaq 0x8edfd(%rip), %rsi     # 0x17a346
movl $0xe6, %edx
callq 0xdab0
movq (%rsp), %rdi
leaq 0x8ede8(%rip), %rsi     # 0x17a346
movl $0xe7, %edx
callq 0xdab0
popq %rax
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/seqid2seqnum_mapping.c
// Function: gt_seqid2seqnum_mapping_new_seqcol
GtSeqid2SeqnumMapping* gt_seqid2seqnum_mapping_new_seqcol(GtSeqCol *seqcol,
                                                          GtError *err)
{
  GtSeqid2SeqnumMapping *mapping;
  gt_error_check(err);
  gt_assert(seqcol);
  mapping = gt_malloc(sizeof *mapping);
  mapping->filename = NULL;
  mapping->map = gt_hashmap_new(GT_HASH_STRING, gt_free_func,
                                (GtFree) seqid_info_delete);
  if (fill_mapping(mapping, NULL, seqcol, err)) {
    gt_seqid2seqnum_mapping_delete(mapping);
    return NULL;
  }
  mapping->cached_seqid = NULL;
  return mapping;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0xeb5ce
movq 0x10(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0xeb596
jmp 0xeb5ce
movq 0xc8a3b(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x72abf(%rip), %rsi     # 0x15e066
leaq 0x7309a(%rip), %rdx     # 0x15e648
leaq 0x8edb5(%rip), %rcx     # 0x17a36a
leaq 0x8ed8a(%rip), %r8      # 0x17a346
movl $0xd4, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xeb5d0
jmp 0xeb5d2
cmpq $0x0, 0x18(%rsp)
jne 0xeb612
movq 0xc89f7(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x72a7b(%rip), %rsi     # 0x15e066
leaq 0x8ed94(%rip), %rdx     # 0x17a386
leaq 0x8ed71(%rip), %rcx     # 0x17a36a
leaq 0x8ed46(%rip), %r8      # 0x17a346
movl $0xd5, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xeb614
movl $0x38, %edi
leaq 0x8ed26(%rip), %rsi     # 0x17a346
movl $0xd6, %edx
callq 0xd2e0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq $0x0, (%rax)
movl $0x1, %edi
leaq -0xdda27(%rip), %rsi    # 0xdc20
leaq -0x40e(%rip), %rdx      # 0xeb240
callq 0x86190
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x8(%rsp), %rdi
movq 0x18(%rsp), %rdx
movq 0x10(%rsp), %rcx
xorl %eax, %eax
movl %eax, %esi
callq 0xeb260
cmpl $0x0, %eax
je 0xeb691
movq 0x8(%rsp), %rdi
callq 0xeb520
movq $0x0, 0x20(%rsp)
jmp 0xeb6a8
movq 0x8(%rsp), %rax
movq $0x0, 0x10(%rax)
movq 0x8(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)