LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/sampling.c
// Function: gt_sampling_io_page_sampling
static inline void gt_sampling_io_page_sampling(GtSampling *sampling,
                                             FILE *fp,
                                             SamplingIOFunc io_func)
{
  if (sampling->page_sampling == NULL) {
    sampling->page_sampling = gt_malloc((size_t) sampling->arraysize *
                                        sizeof (*sampling->page_sampling));
  }
  io_func(sampling->page_sampling,
          sizeof (*sampling->page_sampling),
          (size_t) sampling->numofsamples,
          fp);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movq %rdx, (%rsp)
movq 0x10(%rsp), %rax
cmpq $0x0, 0x38(%rax)
jne 0x1d0228
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rdi
shlq $0x3, %rdi
leaq 0x3942e1(%rip), %rsi    # 0x5644f3
movl $0x7e, %edx
callq 0xe80f0
movq %rax, %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x38(%rax)
movq (%rsp), %rax
movq 0x10(%rsp), %rcx
movq 0x38(%rcx), %rdi
movq 0x10(%rsp), %rcx
movq 0x20(%rcx), %rdx
movq 0x8(%rsp), %rcx
movl $0x8, %esi
callq *%rax
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/sampling.c
// Function: gt_sampling_read
GtSampling *gt_sampling_read(FILE *fp)
{
  GtSampling *sampling;

  gt_assert(fp);

  sampling = gt_malloc(sizeof (*sampling));
  sampling->samplingtab = NULL;
  sampling->page_sampling = NULL;
  sampling->current_sample_num =
    sampling->current_sample_elementnum = 0;
  sampling->pagesize = gt_pagesize();

  gt_sampling_io_header_samplingtab(sampling, fp, gt_sampling_xfread);
  if (sampling->method == GT_SAMPLING_PAGES)
    gt_sampling_io_page_sampling(sampling, fp, gt_sampling_xfread);
  gt_assert(sampling->arraysize == sampling->numofsamples);

  return sampling;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x1d0299
movq 0x46bd38(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x345da1(%rip), %rsi    # 0x516013
leaq 0x3854d2(%rip), %rdx    # 0x55574b
leaq 0x3942f1(%rip), %rcx    # 0x564571
leaq 0x39426c(%rip), %r8     # 0x5644f3
movl $0xba, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1d029b
movl $0x48, %edi
leaq 0x39424c(%rip), %rsi    # 0x5644f3
movl $0xbc, %edx
callq 0xe80f0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq $0x0, (%rax)
movq 0x8(%rsp), %rax
movq $0x0, 0x38(%rax)
movq 0x8(%rsp), %rax
movq $0x0, 0x10(%rax)
movq 0x8(%rsp), %rax
movq $0x0, 0x18(%rax)
callq 0xa2640
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x28(%rax)
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
leaq 0x85(%rip), %rdx        # 0x1d0390
callq 0x1d0090
movq 0x8(%rsp), %rax
cmpl $0x1, 0x40(%rax)
jne 0x1d0331
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
leaq 0x64(%rip), %rdx        # 0x1d0390
callq 0x1d01e0
jmp 0x1d0333
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rsp), %rcx
cmpq 0x20(%rcx), %rax
je 0x1d037f
movq 0x46bc52(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x345cbb(%rip), %rsi    # 0x516013
leaq 0x394223(%rip), %rdx    # 0x564582
leaq 0x39420b(%rip), %rcx    # 0x564571
leaq 0x394186(%rip), %r8     # 0x5644f3
movl $0xc6, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1d0381
movq 0x8(%rsp), %rax
addq $0x18, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/sampling.c
// Function: gt_sampling_xfread
static inline void gt_sampling_xfread(void *ptr,
                                      size_t size,
                                      size_t nmemb,
                                      FILE *stream)
{
  if (nmemb != fread(ptr, size, nmemb, stream)) {
    gt_assert(feof(stream) == 0);
    if (ferror(stream) != 0)
      perror("gt_sampling_xfread could not read from file");
    exit(EXIT_FAILURE);
  };
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movq %rcx, 0x8(%rsp)
movq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x8(%rsp), %rcx
callq 0x19a70
movq %rax, %rcx
movq (%rsp), %rax
cmpq %rcx, %rax
je 0x1d0446
jmp 0x1d03d8
movq 0x8(%rsp), %rdi
callq 0x19b10
cmpl $0x0, %eax
je 0x1d041f
movq 0x46bbb2(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x345c1b(%rip), %rsi    # 0x516013
leaq 0x394408(%rip), %rdx    # 0x564807
leaq 0x394413(%rip), %rcx    # 0x564819
leaq 0x3940e6(%rip), %r8     # 0x5644f3
movl $0x69, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1d0421
movq 0x8(%rsp), %rdi
callq 0x19e10
cmpl $0x0, %eax
je 0x1d043c
leaq 0x3943f5(%rip), %rdi    # 0x56482c
callq 0x19640
movl $0x1, %edi
callq 0x19890
addq $0x28, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/sampling.c
// Function: gt_sampling_get_page
void gt_sampling_get_page(GtSampling *sampling,
                          GtUword element_num,
                          GtUword *sampled_element,
                          size_t *position)
{
  gt_assert(sampling != NULL);
  gt_assert(sampled_element != NULL);
  gt_assert(position != NULL);

  switch (sampling->method) {
    case GT_SAMPLING_REGULAR:
      get_regular_page(sampling, element_num, sampled_element, position);
      break;

    case GT_SAMPLING_PAGES:
      get_pagewise_page(sampling, element_num, sampled_element, position);
      break;
  }
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movq %rcx, 0x8(%rsp)
cmpq $0x0, 0x20(%rsp)
jne 0x1d04a8
movq 0x46bb29(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x345b92(%rip), %rsi    # 0x516013
leaq 0x394128(%rip), %rdx    # 0x5645b0
leaq 0x394132(%rip), %rcx    # 0x5645c1
leaq 0x39405d(%rip), %r8     # 0x5644f3
movl $0x100, %r9d            # imm = 0x100
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1d04aa
jmp 0x1d04ac
cmpq $0x0, 0x10(%rsp)
jne 0x1d04ec
movq 0x46bae5(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x345b4e(%rip), %rsi    # 0x516013
leaq 0x39410a(%rip), %rdx    # 0x5645d6
leaq 0x3940ee(%rip), %rcx    # 0x5645c1
leaq 0x394019(%rip), %r8     # 0x5644f3
movl $0x101, %r9d            # imm = 0x101
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1d04ee
jmp 0x1d04f0
cmpq $0x0, 0x8(%rsp)
jne 0x1d0530
movq 0x46baa1(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x345b0a(%rip), %rsi    # 0x516013
leaq 0x3b970a(%rip), %rdx    # 0x589c1a
leaq 0x3940aa(%rip), %rcx    # 0x5645c1
leaq 0x393fd5(%rip), %r8     # 0x5644f3
movl $0x102, %r9d            # imm = 0x102
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1d0532
movq 0x20(%rsp), %rax
movl 0x40(%rax), %eax
movl %eax, 0x4(%rsp)
testl %eax, %eax
je 0x1d054f
jmp 0x1d0544
movl 0x4(%rsp), %eax
subl $0x1, %eax
je 0x1d056a
jmp 0x1d0583
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x8(%rsp), %rcx
callq 0x1d0590
jmp 0x1d0583
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x8(%rsp), %rcx
callq 0x1d0610
addq $0x28, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/sampling.c
// Function: get_regular_page
static void get_regular_page(GtSampling *sampling,
                             GtUword element_num,
                             GtUword *sampled_element,
                             size_t *position)
{
  sampling->current_sample_num = element_num/sampling->sampling_rate;

  *sampled_element =
    sampling->current_sample_elementnum =
    sampling->current_sample_num * sampling->sampling_rate;

  *position = sampling->samplingtab[sampling->current_sample_num];
}

// Assembly:
movq %rdi, -0x8(%rsp)
movq %rsi, -0x10(%rsp)
movq %rdx, -0x18(%rsp)
movq %rcx, -0x20(%rsp)
movq -0x10(%rsp), %rax
movq -0x8(%rsp), %rcx
xorl %edx, %edx
divq 0x30(%rcx)
movq %rax, %rcx
movq -0x8(%rsp), %rax
movq %rcx, 0x18(%rax)
movq -0x8(%rsp), %rax
movq 0x18(%rax), %rcx
movq -0x8(%rsp), %rax
imulq 0x30(%rax), %rcx
movq -0x8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq -0x18(%rsp), %rax
movq %rcx, (%rax)
movq -0x8(%rsp), %rax
movq (%rax), %rax
movq -0x8(%rsp), %rcx
movq 0x18(%rcx), %rcx
movq (%rax,%rcx,8), %rcx
movq -0x20(%rsp), %rax
movq %rcx, (%rax)
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/sampling.c
// Function: gt_sampling_get_next_elementnum
GtUword gt_sampling_get_next_elementnum(GtSampling *sampling)
{
  gt_assert(sampling->arraysize == sampling->numofsamples);
  gt_assert(sampling->current_sample_num < sampling->numofsamples);
  if (sampling->current_sample_num + 1 == sampling->numofsamples)
    return 0;
  gt_assert((sampling->current_sample_num + 1) < sampling->arraysize);
  switch (sampling->method) {
    case GT_SAMPLING_REGULAR:
      return sampling->current_sample_elementnum + sampling->sampling_rate;
    case GT_SAMPLING_PAGES:
      return sampling->page_sampling[sampling->current_sample_num + 1];
    default:
      return GT_UNDEF_UWORD;
  }
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rsp), %rcx
cmpq 0x20(%rcx), %rax
je 0x1d0855
movq 0x46b77c(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3457e5(%rip), %rsi    # 0x516013
leaq 0x393d4d(%rip), %rdx    # 0x564582
leaq 0x393db2(%rip), %rcx    # 0x5645ee
leaq 0x393cb0(%rip), %r8     # 0x5644f3
movl $0x116, %r9d            # imm = 0x116
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1d0857
jmp 0x1d0859
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x8(%rsp), %rcx
cmpq 0x20(%rcx), %rax
jb 0x1d08a5
movq 0x46b72c(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x345795(%rip), %rsi    # 0x516013
leaq 0x393d89(%rip), %rdx    # 0x56460e
leaq 0x393d62(%rip), %rcx    # 0x5645ee
leaq 0x393c60(%rip), %r8     # 0x5644f3
movl $0x117, %r9d            # imm = 0x117
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1d08a7
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rax
addq $0x1, %rax
movq 0x8(%rsp), %rcx
cmpq 0x20(%rcx), %rax
jne 0x1d08cd
movq $0x0, 0x10(%rsp)
jmp 0x1d097e
jmp 0x1d08cf
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rax
addq $0x1, %rax
movq 0x8(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jb 0x1d091f
movq 0x46b6b2(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x34571b(%rip), %rsi    # 0x516013
leaq 0x393d45(%rip), %rdx    # 0x564644
leaq 0x393ce8(%rip), %rcx    # 0x5645ee
leaq 0x393be6(%rip), %r8     # 0x5644f3
movl $0x11a, %r9d            # imm = 0x11A
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1d0921
movq 0x8(%rsp), %rax
movl 0x40(%rax), %eax
movl %eax, 0x4(%rsp)
testl %eax, %eax
je 0x1d093e
jmp 0x1d0933
movl 0x4(%rsp), %eax
subl $0x1, %eax
je 0x1d0957
jmp 0x1d0975
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rsp), %rcx
addq 0x30(%rcx), %rax
movq %rax, 0x10(%rsp)
jmp 0x1d097e
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x18(%rcx), %rcx
movq 0x8(%rax,%rcx,8), %rax
movq %rax, 0x10(%rsp)
jmp 0x1d097e
movq $-0x1, 0x10(%rsp)
movq 0x10(%rsp), %rax
addq $0x18, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/sampling.c
// Function: gt_sampling_get_next_sample
int gt_sampling_get_next_sample(GtSampling *sampling,
                                GtUword *sampled_element,
                                size_t *position)
{
  enum state {
    ERROR = -1,
    END,
    SUCCESS
  };
  enum state status = END;

  if (sampling->current_sample_num + 1 == sampling->numofsamples) {
    sampling->current_sample_num = 0;
    *sampled_element = sampling->current_sample_elementnum = 0;
  }
  else {
    status = SUCCESS;
    sampling->current_sample_num++;
    switch (sampling->method) {
      case GT_SAMPLING_REGULAR:
        *sampled_element =
          sampling->current_sample_elementnum += sampling->sampling_rate;
        break;
      case GT_SAMPLING_PAGES:
        *sampled_element = sampling->current_sample_elementnum =
          sampling->page_sampling[sampling->current_sample_num];
        break;
      default:
        status = ERROR;
    }
  }
  if (status != ERROR)
    *position = sampling->samplingtab[sampling->current_sample_num];
  return (int) status;
}

// Assembly:
movq %rdi, -0x8(%rsp)
movq %rsi, -0x10(%rsp)
movq %rdx, -0x18(%rsp)
movl $0x0, -0x1c(%rsp)
movq -0x8(%rsp), %rax
movq 0x18(%rax), %rax
addq $0x1, %rax
movq -0x8(%rsp), %rcx
cmpq 0x20(%rcx), %rax
jne 0x1d09ea
movq -0x8(%rsp), %rax
movq $0x0, 0x18(%rax)
movq -0x8(%rsp), %rax
movq $0x0, 0x10(%rax)
movq -0x10(%rsp), %rax
movq $0x0, (%rax)
jmp 0x1d0a72
movl $0x1, -0x1c(%rsp)
movq -0x8(%rsp), %rax
movq 0x18(%rax), %rcx
incq %rcx
movq %rcx, 0x18(%rax)
movq -0x8(%rsp), %rax
movl 0x40(%rax), %eax
movl %eax, -0x20(%rsp)
testl %eax, %eax
je 0x1d0a1f
jmp 0x1d0a14
movl -0x20(%rsp), %eax
subl $0x1, %eax
je 0x1d0a3f
jmp 0x1d0a68
movq -0x8(%rsp), %rax
movq 0x30(%rax), %rcx
movq -0x8(%rsp), %rax
addq 0x10(%rax), %rcx
movq %rcx, 0x10(%rax)
movq -0x10(%rsp), %rax
movq %rcx, (%rax)
jmp 0x1d0a70
movq -0x8(%rsp), %rax
movq 0x38(%rax), %rax
movq -0x8(%rsp), %rcx
movq 0x18(%rcx), %rcx
movq (%rax,%rcx,8), %rcx
movq -0x8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rsp), %rax
movq %rcx, (%rax)
jmp 0x1d0a70
movl $0xffffffff, -0x1c(%rsp) # imm = 0xFFFFFFFF
jmp 0x1d0a72
cmpl $-0x1, -0x1c(%rsp)
je 0x1d0a96
movq -0x8(%rsp), %rax
movq (%rax), %rax
movq -0x8(%rsp), %rcx
movq 0x18(%rcx), %rcx
movq (%rax,%rcx,8), %rcx
movq -0x18(%rsp), %rax
movq %rcx, (%rax)
movl -0x1c(%rsp), %eax
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/sampling.c
// Function: gt_sampling_is_next_element_sample
bool gt_sampling_is_next_element_sample(GtSampling *sampling,
                                        GtUword pages_written,
                                        GtUword elements_written,
                                        GtUword elem_bit_size,
                                        GtUword free_pagespace_bitsize)
{
  if (sampling->method == GT_SAMPLING_REGULAR)
    return elements_written >= sampling->sampling_rate;
  else {
    if (pages_written >= sampling->sampling_rate) {
      return free_pagespace_bitsize < elem_bit_size;
    }
  }
  return false;
}

// Assembly:
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movq %rdx, -0x20(%rsp)
movq %rcx, -0x28(%rsp)
movq %r8, -0x30(%rsp)
movq -0x10(%rsp), %rax
cmpl $0x0, 0x40(%rax)
jne 0x1d0ddd
movq -0x20(%rsp), %rax
movq -0x10(%rsp), %rcx
cmpq 0x30(%rcx), %rax
setae %al
andb $0x1, %al
movb %al, -0x1(%rsp)
jmp 0x1d0e09
movq -0x18(%rsp), %rax
movq -0x10(%rsp), %rcx
cmpq 0x30(%rcx), %rax
jb 0x1d0e02
movq -0x30(%rsp), %rax
cmpq -0x28(%rsp), %rax
setb %al
andb $0x1, %al
movb %al, -0x1(%rsp)
jmp 0x1d0e09
jmp 0x1d0e04
movb $0x0, -0x1(%rsp)
movb -0x1(%rsp), %al
andb $0x1, %al
retq
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/sampling.c
// Function: gt_sampling_delete
void gt_sampling_delete(GtSampling *sampling)
{
  if (!sampling) return;
  gt_free(sampling->samplingtab);
  gt_free(sampling->page_sampling);
  gt_free(sampling);
}

// Assembly:
pushq %rax
movq %rdi, (%rsp)
cmpq $0x0, (%rsp)
jne 0x1d0e1e
jmp 0x1d0e64
movq (%rsp), %rax
movq (%rax), %rdi
leaq 0x3936c7(%rip), %rsi    # 0x5644f3
movl $0x184, %edx            # imm = 0x184
callq 0xe88c0
movq (%rsp), %rax
movq 0x38(%rax), %rdi
leaq 0x3936ae(%rip), %rsi    # 0x5644f3
movl $0x185, %edx            # imm = 0x185
callq 0xe88c0
movq (%rsp), %rdi
leaq 0x393699(%rip), %rsi    # 0x5644f3
movl $0x186, %edx            # imm = 0x186
callq 0xe88c0
popq %rax
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/sampling.c
// Function: gt_sampling_io_header
static inline void gt_sampling_io_header(GtSampling *sampling,
                                      FILE *fp,
                                      SamplingIOFunc io_func)
{
  SAMPLING_IO_ONE(sampling->numofsamples, fp);
  gt_assert(sampling->numofsamples != 0);
  SAMPLING_IO_ONE(sampling->method, fp);
  SAMPLING_IO_ONE(sampling->sampling_rate, fp);
  gt_assert(sampling->sampling_rate != 0);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movq %rdx, (%rsp)
movq (%rsp), %rax
movq 0x10(%rsp), %rdi
addq $0x20, %rdi
movq 0x8(%rsp), %rcx
movl $0x8, %esi
movl $0x1, %edx
callq *%rax
movq 0x10(%rsp), %rax
cmpq $0x0, 0x20(%rax)
jne 0x1d0ee4
movq 0x46b0ed(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x345156(%rip), %rsi    # 0x516013
leaq 0x3938c8(%rip), %rdx    # 0x56478c
leaq 0x3938dd(%rip), %rcx    # 0x5647a8
leaq 0x393621(%rip), %r8     # 0x5644f3
movl $0x95, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1d0ee6
movq (%rsp), %rax
movq 0x10(%rsp), %rdi
addq $0x40, %rdi
movq 0x8(%rsp), %rcx
movl $0x4, %esi
movl $0x1, %edx
callq *%rax
movq (%rsp), %rax
movq 0x10(%rsp), %rdi
addq $0x30, %rdi
movq 0x8(%rsp), %rcx
movl $0x8, %esi
movl $0x1, %edx
callq *%rax
movq 0x10(%rsp), %rax
cmpq $0x0, 0x30(%rax)
jne 0x1d0f66
movq 0x46b06b(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3450d4(%rip), %rsi    # 0x516013
leaq 0x393878(%rip), %rdx    # 0x5647be
leaq 0x39385b(%rip), %rcx    # 0x5647a8
leaq 0x39359f(%rip), %r8     # 0x5644f3
movl $0x98, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1d0f68
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/sampling.c
// Function: gt_sampling_io_samplingtab
static inline void gt_sampling_io_samplingtab(GtSampling *sampling,
                                           FILE *fp,
                                           SamplingIOFunc io_func)
{
  io_func(sampling->samplingtab,
          sizeof (*sampling->samplingtab),
          (size_t) sampling->numofsamples,
          fp);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movq %rdx, (%rsp)
movq (%rsp), %rax
movq 0x10(%rsp), %rcx
movq (%rcx), %rdi
movq 0x10(%rsp), %rcx
movq 0x20(%rcx), %rdx
movq 0x8(%rsp), %rcx
movl $0x8, %esi
callq *%rax
addq $0x18, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/scorehandler.c
// Function: gt_scorehandler_new
GtScoreHandler* gt_scorehandler_new(GtWord matchscore,
                                    GtWord mismatchscore,
                                    GtWord gap_opening,
                                    GtWord gap_extension)
{
  GtScoreHandler *scorehandler = gt_malloc(sizeof *scorehandler);

  scorehandler->scorematrix = NULL;
  scorehandler->mappedsequence = true;
  scorehandler->matchscore = matchscore;
  scorehandler->mismatchscore = mismatchscore;
  scorehandler->gap_opening = gap_opening;
  scorehandler->gap_extension = gap_extension;
  scorehandler->downcase = false;
  return scorehandler;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movq %rcx, 0x8(%rsp)
movl $0x30, %edi
leaq 0x393896(%rip), %rsi    # 0x56486a
movl $0x29, %edx
callq 0xe80f0
movq %rax, (%rsp)
movq (%rsp), %rax
movq $0x0, 0x20(%rax)
movq (%rsp), %rax
movb $0x1, 0x28(%rax)
movq 0x20(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
movq 0x18(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x10(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x8(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x18(%rax)
movq (%rsp), %rax
movb $0x0, 0x29(%rax)
movq (%rsp), %rax
addq $0x28, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/scorehandler.c
// Function: gt_scorehandler_get_replacement
GtWord gt_scorehandler_get_replacement(const GtScoreHandler *scorehandler,
                                       GtUchar a, GtUchar b)
{
  gt_assert(scorehandler != NULL);
  if (scorehandler->scorematrix == NULL)
  {
    if (scorehandler->mappedsequence)
    {
      return GT_ISSPECIAL(a) || GT_ISSPECIAL(b) || a != b
               ? scorehandler->mismatchscore
               : scorehandler->matchscore;
    }
    if (scorehandler->downcase)
    {
      a = tolower((int) a);
      b = tolower((int) b);
    }
    return a != b ? scorehandler->mismatchscore
                  : scorehandler->matchscore;
  }
  gt_assert(scorehandler->mappedsequence);
  return gt_score_matrix_get_score(scorehandler->scorematrix,a,b);
}

// Assembly:
subq $0x28, %rsp
movb %dl, %al
movb %sil, %cl
movq %rdi, 0x18(%rsp)
movb %cl, 0x17(%rsp)
movb %al, 0x16(%rsp)
cmpq $0x0, 0x18(%rsp)
jne 0x1d1316
movq 0x46acbb(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x344d24(%rip), %rsi    # 0x516013
leaq 0x393590(%rip), %rdx    # 0x564886
leaq 0x39366b(%rip), %rcx    # 0x564968
leaq 0x393566(%rip), %r8     # 0x56486a
movl $0x6c, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1d1318
movq 0x18(%rsp), %rax
cmpq $0x0, 0x20(%rax)
jne 0x1d13e0
movq 0x18(%rsp), %rax
testb $0x1, 0x28(%rax)
je 0x1d1385
movzbl 0x17(%rsp), %eax
cmpl $0xfe, %eax
jge 0x1d1359
movzbl 0x16(%rsp), %eax
cmpl $0xfe, %eax
jge 0x1d1359
movzbl 0x17(%rsp), %eax
movzbl 0x16(%rsp), %ecx
cmpl %ecx, %eax
je 0x1d1369
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x8(%rsp)
jmp 0x1d1376
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0x1d1446
movq 0x18(%rsp), %rax
testb $0x1, 0x29(%rax)
je 0x1d13ac
movzbl 0x17(%rsp), %edi
callq 0x19a20
movb %al, 0x17(%rsp)
movzbl 0x16(%rsp), %edi
callq 0x19a20
movb %al, 0x16(%rsp)
movzbl 0x17(%rsp), %eax
movzbl 0x16(%rsp), %ecx
cmpl %ecx, %eax
je 0x1d13c9
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, (%rsp)
jmp 0x1d13d5
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0x1d1446
jmp 0x1d13e2
movq 0x18(%rsp), %rax
testb $0x1, 0x28(%rax)
jne 0x1d1425
movq 0x46abac(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x344c15(%rip), %rsi    # 0x516013
leaq 0x393583(%rip), %rdx    # 0x564988
leaq 0x39355c(%rip), %rcx    # 0x564968
leaq 0x393457(%rip), %r8     # 0x56486a
movl $0x7d, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1d1427
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rdi
movzbl 0x17(%rsp), %esi
movzbl 0x16(%rsp), %edx
callq 0x10f680
cltq
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/scorehandler.c
// Function: gt_scorehandler_eval_alignmentscore
GtWord gt_scorehandler_eval_alignmentscore(const GtScoreHandler *scorehandler,
                                           const GtAlignment *alignment,
                                           const GtUchar *characters)
{
  gt_assert(scorehandler && alignment && characters);
  if (scorehandler->scorematrix != NULL)
  {
    return gt_alignment_eval_with_affine_scorematrix(characters, alignment,
                                                   scorehandler->scorematrix,
                                                   scorehandler->gap_opening,
                                                   scorehandler->gap_extension);
  } else
  {
    return gt_alignment_eval_with_mapped_affine_score(characters, alignment,
                                                   scorehandler->matchscore,
                                                   scorehandler->mismatchscore,
                                                   scorehandler->gap_opening,
                                                   scorehandler->gap_extension);
  }
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq %rdx, 0x8(%rsp)
cmpq $0x0, 0x18(%rsp)
je 0x1d18cb
cmpq $0x0, 0x10(%rsp)
je 0x1d18cb
cmpq $0x0, 0x8(%rsp)
jne 0x1d1903
movq 0x46a6ce(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x344737(%rip), %rsi    # 0x516013
leaq 0x3930de(%rip), %rdx    # 0x5649c1
leaq 0x3930ff(%rip), %rcx    # 0x5649e9
leaq 0x392f79(%rip), %r8     # 0x56486a
movl $0xc4, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1d1905
movq 0x18(%rsp), %rax
cmpq $0x0, 0x20(%rax)
je 0x1d1942
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rdx
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x18(%rsp), %rax
movq 0x18(%rax), %r8
callq 0x12b3d0
movq %rax, 0x20(%rsp)
jmp 0x1d1979
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rax
movq (%rax), %rdx
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x18(%rsp), %rax
movq 0x10(%rax), %r8
movq 0x18(%rsp), %rax
movq 0x18(%rax), %r9
callq 0x12b360
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/script_filter.c
// Function: gt_script_filter_new_from_string
GtScriptFilter *gt_script_filter_new_from_string(const char *script_string,
                                                 GtError *err)
{
  GtScriptFilter *script_filter;
  gt_assert(script_string);
  script_filter = gt_malloc(sizeof (GtScriptFilter));
  script_filter->filename = NULL;
  script_filter->L = luaL_newstate();
  script_filter->reference_count = 0;
  if (!script_filter->L) {
    gt_error_set(err, "out of memory (cannot create new Lua state)");
    gt_free(script_filter);
    return NULL;
  }
  script_filter_luaL_opencustomlibs(script_filter->L,
                                     script_filter_luasecurelibs);
  if (luaL_loadstring(script_filter->L, script_string) ||
                               lua_pcall(script_filter->L, 0, 0, 0)) {
    gt_error_set(err, "cannot run file: %s",
                 lua_tostring(script_filter->L, -1));
    lua_pop(script_filter->L, 1);
    lua_close(script_filter->L);
    gt_free(script_filter);
    return NULL;
  }
  return script_filter;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
cmpq $0x0, 0x18(%rsp)
jne 0x1d1c2e
movq 0x46a3a3(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x34440c(%rip), %rsi    # 0x516013
leaq 0x392dff(%rip), %rdx    # 0x564a0d
leaq 0x392e06(%rip), %rcx    # 0x564a1b
leaq 0x392e20(%rip), %r8     # 0x564a3c
movl $0x6f, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1d1c30
movl $0x18, %edi
leaq 0x392e00(%rip), %rsi    # 0x564a3c
movl $0x70, %edx
callq 0xe80f0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq $0x0, 0x8(%rax)
callq 0x33bb50
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, (%rax)
movq 0x8(%rsp), %rax
movq $0x0, 0x10(%rax)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0x1d1cb7
movq 0x10(%rsp), %rdi
leaq 0x382965(%rip), %rsi    # 0x5545f1
movb $0x0, %al
callq 0xd88c0
movq 0x8(%rsp), %rdi
leaq 0x392d9d(%rip), %rsi    # 0x564a3c
movl $0x76, %edx
callq 0xe88c0
movq $0x0, 0x20(%rsp)
jmp 0x1d1d78
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x46490a(%rip), %rsi    # 0x6365d0
callq 0x1d1d90
movq 0x8(%rsp), %rax
movq (%rax), %rdi
movq 0x18(%rsp), %rsi
callq 0x33bb00
cmpl $0x0, %eax
jne 0x1d1cfa
movq 0x8(%rsp), %rax
movq (%rax), %rdi
xorl %ecx, %ecx
movl %ecx, %esi
movl %ecx, %edx
callq 0x3375c0
cmpl $0x0, %eax
je 0x1d1d6e
movq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %eax, %eax
movl %eax, %edx
callq 0x334f50
movq (%rsp), %rdi
movq %rax, %rdx
leaq 0x387394(%rip), %rsi    # 0x5590bb
movb $0x0, %al
callq 0xd88c0
movq 0x8(%rsp), %rax
movq (%rax), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x333ed0
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x339e40
movq 0x8(%rsp), %rdi
leaq 0x392ce3(%rip), %rsi    # 0x564a3c
movl $0x81, %edx
callq 0xe88c0
movq $0x0, 0x20(%rsp)
jmp 0x1d1d78
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/script_filter.c
// Function: script_filter_luaL_opencustomlibs
static void script_filter_luaL_opencustomlibs(lua_State *L,
                                              const luaL_Reg *lib)
{
  for (; lib->func; lib++) {
    lua_pushcfunction(L, lib->func);
    lua_pushstring(L, lib->name);
    lua_call(L, 1, 0);
  }
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, 0x8(%rax)
je 0x1d1df2
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rsi
xorl %edx, %edx
callq 0x335ef0
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movq (%rax), %rsi
callq 0x335740
movq 0x10(%rsp), %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x337460
movq 0x8(%rsp), %rax
addq $0x10, %rax
movq %rax, 0x8(%rsp)
jmp 0x1d1d9e
addq $0x18, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/script_filter.c
// Function: gt_script_filter_delete
void gt_script_filter_delete(GtScriptFilter *script_filter)
{
  if (!script_filter) return;
  if (script_filter->reference_count) {
    script_filter->reference_count--;
    return;
  }
  gt_str_delete(script_filter->filename);
  lua_close(script_filter->L);
  gt_free(script_filter);
}

// Assembly:
pushq %rax
movq %rdi, (%rsp)
cmpq $0x0, (%rsp)
jne 0x1d279e
jmp 0x1d27e9
movq (%rsp), %rax
cmpq $0x0, 0x10(%rax)
je 0x1d27bb
movq (%rsp), %rax
movq 0x10(%rax), %rcx
addq $-0x1, %rcx
movq %rcx, 0x10(%rax)
jmp 0x1d27e9
movq (%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x11f560
movq (%rsp), %rax
movq (%rax), %rdi
callq 0x339e40
movq (%rsp), %rdi
leaq 0x39225d(%rip), %rsi    # 0x564a3c
movl $0x14f, %edx            # imm = 0x14F
callq 0xe88c0
popq %rax
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/select_stream.c
// Function: gt_select_stream_class
const GtNodeStreamClass* gt_select_stream_class(void)
{
  static const GtNodeStreamClass *nsc = NULL;
  gt_class_alloc_lock_enter();
  if (!nsc) {
    nsc = gt_node_stream_class_new(sizeof (GtSelectStream),
                                   select_stream_free,
                                   select_stream_next);
  }
  gt_class_alloc_lock_leave();
  return nsc;
}

// Assembly:
pushq %rax
callq 0x9f220
cmpq $0x0, 0x4706ba(%rip)    # 0x642eb8
jne 0x1d281f
movl $0x20, %edi
leaq 0x24(%rip), %rsi        # 0x1d2830
leaq 0x6d(%rip), %rdx        # 0x1d2880
callq 0x1b1ae0
movq %rax, 0x470699(%rip)    # 0x642eb8
callq 0x9f280
movq 0x47068d(%rip), %rax    # 0x642eb8
popq %rcx
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/select_visitor.c
// Function: gt_select_visitor_class
const GtNodeVisitorClass* gt_select_visitor_class()
{
  static GtNodeVisitorClass *nvc = NULL;
  if (!nvc) {
    nvc = gt_node_visitor_class_new(sizeof (GtSelectVisitor),
                                    select_visitor_free,
                                    select_visitor_comment_node,
                                    select_visitor_feature_node,
                                    select_visitor_region_node,
                                    select_visitor_sequence_node,
                                    select_visitor_eof_node);
    gt_node_visitor_class_set_meta_node_func(nvc, select_visitor_meta_node);
  }
  return nvc;
}

// Assembly:
pushq %rax
cmpq $0x0, 0x4700f7(%rip)    # 0x642ec0
jne 0x1d2e1d
movl $0xc8, %edi
leaq 0x59(%rip), %rsi        # 0x1d2e30
leaq 0x132(%rip), %rdx       # 0x1d2f10
leaq 0x1cb(%rip), %rcx       # 0x1d2fb0
leaq 0x5d4(%rip), %r8        # 0x1d33c0
leaq 0x7dd(%rip), %r9        # 0x1d35d0
leaq 0x8e6(%rip), %rax       # 0x1d36e0
movq %rax, (%rsp)
callq 0x1b2170
movq %rax, 0x4700b6(%rip)    # 0x642ec0
movq 0x4700af(%rip), %rdi    # 0x642ec0
leaq 0x968(%rip), %rsi       # 0x1d3780
callq 0x1b2250
movq 0x47009c(%rip), %rax    # 0x642ec0
popq %rcx
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/select_visitor.c
// Function: select_visitor_free
static void select_visitor_free(GtNodeVisitor *nv)
{
  int i;
  GtSelectVisitor *select_visitor = select_visitor_cast(nv);
  gt_str_delete(select_visitor->source);
  gt_str_delete(select_visitor->seqid);
  if (gt_array_size(select_visitor->script_filters) > 0) {
    for (i = 0; i < gt_array_size(select_visitor->script_filters); i++) {
      GtScriptFilter *todelete =
            *(GtScriptFilter**) gt_array_get(select_visitor->script_filters, i);
      gt_script_filter_delete(todelete);
    }
  }
  gt_array_delete(select_visitor->script_filters);
  gt_queue_delete(select_visitor->node_buffer);
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
callq 0x1d2dc0
movq %rax, %rdi
movq 0x20(%rsp), %rsi
callq 0x1b2350
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x20(%rax), %rdi
callq 0x11f560
movq 0x10(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x11f560
movq 0x10(%rsp), %rax
movq 0xb0(%rax), %rdi
callq 0x81370
cmpq $0x0, %rax
jbe 0x1d2ee8
movl $0x0, 0x1c(%rsp)
movslq 0x1c(%rsp), %rax
movq %rax, (%rsp)
movq 0x10(%rsp), %rax
movq 0xb0(%rax), %rdi
callq 0x81370
movq %rax, %rcx
movq (%rsp), %rax
cmpq %rcx, %rax
jae 0x1d2ee6
movq 0x10(%rsp), %rax
movq 0xb0(%rax), %rdi
movslq 0x1c(%rsp), %rsi
callq 0x80b60
movq (%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rdi
callq 0x1d2790
movl 0x1c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x1c(%rsp)
jmp 0x1d2e8b
jmp 0x1d2ee8
movq 0x10(%rsp), %rax
movq 0xb0(%rax), %rdi
callq 0x81f80
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0xfdf10
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/select_visitor.c
// Function: select_visitor_comment_node
static int select_visitor_comment_node(GtNodeVisitor *nv, GtCommentNode *c,
                                       GT_UNUSED GtError *err)
{
  GtSelectVisitor *select_visitor;
  gt_error_check(err);
  select_visitor = select_visitor_cast(nv);
  gt_queue_add(select_visitor->node_buffer, c);
  return 0;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x1d2f73
movq 0x10(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x1d2f3b
jmp 0x1d2f73
movq 0x46905e(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3430c7(%rip), %rsi    # 0x516013
leaq 0x34326c(%rip), %rdx    # 0x5161bf
leaq 0x391e39(%rip), %rcx    # 0x564d93
leaq 0x391de1(%rip), %r8     # 0x564d42
movl $0x58, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1d2f75
callq 0x1d2dc0
movq %rax, %rdi
movq 0x20(%rsp), %rsi
callq 0x1b2350
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x18(%rsp), %rsi
callq 0xfd170
xorl %eax, %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/select_visitor.c
// Function: select_visitor_sequence_node
static int select_visitor_sequence_node(GtNodeVisitor *nv, GtSequenceNode *sn,
                                        GT_UNUSED GtError *err)
{
  GtSelectVisitor *select_visitor;
  gt_error_check(err);
  select_visitor = select_visitor_cast(nv);
  if (!gt_str_length(select_visitor->seqid) || /* no seqid was specified */
      !gt_str_cmp(select_visitor->seqid,       /* or seqids are equal */
                  gt_genome_node_get_seqid((GtGenomeNode*) sn))) {
    gt_queue_add(select_visitor->node_buffer, sn);
  }
  else {
    select_visitor->drophandler((GtGenomeNode*) sn, select_visitor->data, err);
    gt_genome_node_delete((GtGenomeNode*) sn);
  }
  return 0;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x1d3633
movq 0x10(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x1d35fb
jmp 0x1d3633
movq 0x46899e(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x342a07(%rip), %rsi    # 0x516013
leaq 0x342bac(%rip), %rdx    # 0x5161bf
leaq 0x391866(%rip), %rcx    # 0x564e80
leaq 0x391721(%rip), %r8     # 0x564d42
movl $0x14b, %r9d            # imm = 0x14B
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1d3635
callq 0x1d2dc0
movq %rax, %rdi
movq 0x20(%rsp), %rsi
callq 0x1b2350
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x11dfa0
cmpq $0x0, %rax
je 0x1d3688
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, (%rsp)
movq 0x18(%rsp), %rdi
callq 0x171b70
movq (%rsp), %rdi
movq %rax, %rsi
callq 0x11e170
cmpl $0x0, %eax
jne 0x1d369d
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x18(%rsp), %rsi
callq 0xfd170
jmp 0x1d36cb
movq 0x8(%rsp), %rax
movq 0xb8(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x8(%rsp), %rcx
movq 0xc0(%rcx), %rsi
movq 0x10(%rsp), %rdx
callq *%rax
movq 0x18(%rsp), %rdi
callq 0x173180
xorl %eax, %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/select_visitor.c
// Function: select_visitor_eof_node
static int select_visitor_eof_node(GtNodeVisitor *nv, GtEOFNode *eofn,
                                   GT_UNUSED GtError *err)
{
  GtSelectVisitor *select_visitor;
  gt_error_check(err);
  select_visitor = select_visitor_cast(nv);
  gt_queue_add(select_visitor->node_buffer, eofn);
  return 0;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x1d3743
movq 0x10(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x1d370b
jmp 0x1d3743
movq 0x46888e(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3428f7(%rip), %rsi    # 0x516013
leaq 0x342a9c(%rip), %rdx    # 0x5161bf
leaq 0x391773(%rip), %rcx    # 0x564e9d
leaq 0x391611(%rip), %r8     # 0x564d42
movl $0x15d, %r9d            # imm = 0x15D
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1d3745
callq 0x1d2dc0
movq %rax, %rdi
movq 0x20(%rsp), %rsi
callq 0x1b2350
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x18(%rsp), %rsi
callq 0xfd170
xorl %eax, %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/select_visitor.c
// Function: select_visitor_meta_node
static int select_visitor_meta_node(GtNodeVisitor *nv, GtMetaNode *mn,
                                    GT_UNUSED GtError *err)
{
  GtSelectVisitor *select_visitor;
  gt_error_check(err);
  select_visitor = select_visitor_cast(nv);
  gt_queue_add(select_visitor->node_buffer, mn);
  return 0;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x1d37e3
movq 0x10(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x1d37ab
jmp 0x1d37e3
movq 0x4687ee(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x342857(%rip), %rsi    # 0x516013
leaq 0x3429fc(%rip), %rdx    # 0x5161bf
leaq 0x3916eb(%rip), %rcx    # 0x564eb5
leaq 0x391571(%rip), %r8     # 0x564d42
movl $0x62, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1d37e5
callq 0x1d2dc0
movq %rax, %rdi
movq 0x20(%rsp), %rsi
callq 0x1b2350
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x18(%rsp), %rsi
callq 0xfd170
xorl %eax, %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/select_visitor.c
// Function: filter_contain_range
static bool filter_contain_range(GtFeatureNode *fn, GtRange contain_range)
{
  GtRange range;
  gt_assert(fn);
  range = gt_genome_node_get_range((GtGenomeNode*) fn);
  if (contain_range.start != GT_UNDEF_UWORD &&
      !gt_range_contains(&contain_range, &range)) {
    return true;
  }
  return false;
}

// Assembly:
subq $0x48, %rsp
movq %rsi, 0x30(%rsp)
movq %rdx, 0x38(%rsp)
movq %rdi, 0x28(%rsp)
cmpq $0x0, 0x28(%rsp)
jne 0x1d3d73
movq 0x46825e(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3422c7(%rip), %rsi    # 0x516013
leaq 0x3df19d(%rip), %rdx    # 0x5b2ef0
leaq 0x391071(%rip), %rcx    # 0x564dcb
leaq 0x390fe1(%rip), %r8     # 0x564d42
movl $0x6b, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1d3d75
movq 0x28(%rsp), %rdi
callq 0x171cc0
movq %rax, 0x8(%rsp)
movq %rdx, 0x10(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x20(%rsp)
cmpq $-0x1, 0x30(%rsp)
je 0x1d3dbf
leaq 0x30(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x1075f0
testb $0x1, %al
jne 0x1d3dbf
movb $0x1, 0x47(%rsp)
jmp 0x1d3dc4
movb $0x0, 0x47(%rsp)
movb 0x47(%rsp), %al
andb $0x1, %al
addq $0x48, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/select_visitor.c
// Function: filter_overlap_range
static bool filter_overlap_range(GtFeatureNode *fn, GtRange overlap_range)
{
  GtRange feature_range;
  gt_assert(fn);
  feature_range = gt_genome_node_get_range((GtGenomeNode*) fn);
  if (overlap_range.start != GT_UNDEF_UWORD &&
      !gt_range_overlap(&overlap_range, &feature_range))
    return true;
  return false;
}

// Assembly:
subq $0x48, %rsp
movq %rsi, 0x30(%rsp)
movq %rdx, 0x38(%rsp)
movq %rdi, 0x28(%rsp)
cmpq $0x0, 0x28(%rsp)
jne 0x1d3e23
movq 0x4681ae(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x342217(%rip), %rsi    # 0x516013
leaq 0x3df0ed(%rip), %rdx    # 0x5b2ef0
leaq 0x390fd6(%rip), %rcx    # 0x564de0
leaq 0x390f31(%rip), %r8     # 0x564d42
movl $0x77, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1d3e25
movq 0x28(%rsp), %rdi
callq 0x171cc0
movq %rax, 0x8(%rsp)
movq %rdx, 0x10(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x20(%rsp)
cmpq $-0x1, 0x30(%rsp)
je 0x1d3e6f
leaq 0x30(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x107390
testb $0x1, %al
jne 0x1d3e6f
movb $0x1, 0x47(%rsp)
jmp 0x1d3e74
movb $0x0, 0x47(%rsp)
movb 0x47(%rsp), %al
andb $0x1, %al
addq $0x48, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/select_visitor.c
// Function: filter_strand
static bool filter_strand(GtFeatureNode *fn, GtStrand strand)
{
  gt_assert(fn);
  if (strand != GT_NUM_OF_STRAND_TYPES &&
      gt_feature_node_get_strand(fn) != strand)
    return true;
  return false;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movl %esi, 0x4(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x1d3ecd
movq 0x468104(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x34216d(%rip), %rsi    # 0x516013
leaq 0x3df043(%rip), %rdx    # 0x5b2ef0
leaq 0x390f41(%rip), %rcx    # 0x564df5
leaq 0x390e87(%rip), %r8     # 0x564d42
movl $0x81, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1d3ecf
cmpl $0x4, 0x4(%rsp)
je 0x1d3eed
movq 0x8(%rsp), %rdi
callq 0x16cc70
cmpl 0x4(%rsp), %eax
je 0x1d3eed
movb $0x1, 0x17(%rsp)
jmp 0x1d3ef2
movb $0x0, 0x17(%rsp)
movb 0x17(%rsp), %al
andb $0x1, %al
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/select_visitor.c
// Function: filter_targetstrand
static bool filter_targetstrand(GtFeatureNode *fn, GtStrand targetstrand)
{
  const char *target;
  gt_assert(fn);
  if (targetstrand != GT_NUM_OF_STRAND_TYPES &&
      (target = gt_feature_node_get_attribute(fn, GT_GFF_TARGET))) {
    GtUword num_of_targets;
    GtStrand parsed_strand;
    GT_UNUSED int had_err;
    had_err = gt_gff3_parser_parse_target_attributes(target, &num_of_targets,
                                                     NULL, NULL, &parsed_strand,
                                                     "", 0, NULL);
    gt_assert(!had_err);
    if (num_of_targets == 1 && parsed_strand != GT_NUM_OF_STRAND_TYPES &&
        parsed_strand != targetstrand) {
      return true;
    }
  }
  return false;
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movl %esi, 0x34(%rsp)
cmpq $0x0, 0x38(%rsp)
jne 0x1d3f4d
movq 0x468084(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3420ed(%rip), %rsi    # 0x516013
leaq 0x3defc3(%rip), %rdx    # 0x5b2ef0
leaq 0x390ecf(%rip), %rcx    # 0x564e03
leaq 0x390e07(%rip), %r8     # 0x564d42
movl $0x8b, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1d3f4f
cmpl $0x4, 0x34(%rsp)
je 0x1d4015
movq 0x38(%rsp), %rdi
leaq 0x349a3a(%rip), %rsi    # 0x51d9a0
callq 0x16c040
movq %rax, 0x28(%rsp)
cmpq $0x0, %rax
je 0x1d4015
movq 0x28(%rsp), %rdi
leaq 0x20(%rsp), %rsi
xorl %eax, %eax
movl %eax, %ecx
leaq 0x1c(%rsp), %r8
leaq 0x3c9694(%rip), %r9     # 0x59d628
xorl %eax, %eax
movq %rcx, %rdx
movl $0x0, (%rsp)
movq $0x0, 0x8(%rsp)
callq 0x1774b0
movl %eax, 0x18(%rsp)
cmpl $0x0, 0x18(%rsp)
je 0x1d3ff1
movq 0x467fe0(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x342049(%rip), %rsi    # 0x516013
leaq 0x378c36(%rip), %rdx    # 0x54cc07
leaq 0x390e2b(%rip), %rcx    # 0x564e03
leaq 0x390d63(%rip), %r8     # 0x564d42
movl $0x94, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1d3ff3
cmpq $0x1, 0x20(%rsp)
jne 0x1d4013
cmpl $0x4, 0x1c(%rsp)
je 0x1d4013
movl 0x1c(%rsp), %eax
cmpl 0x34(%rsp), %eax
je 0x1d4013
movb $0x1, 0x47(%rsp)
jmp 0x1d401a
jmp 0x1d4015
movb $0x0, 0x47(%rsp)
movb 0x47(%rsp), %al
andb $0x1, %al
addq $0x48, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/select_visitor.c
// Function: filter_has_CDS
static bool filter_has_CDS(GtFeatureNode *fn, bool has_CDS)
{
  gt_assert(fn);
  if (has_CDS && !gt_feature_node_has_CDS(fn))
    return true;
  return false;
}

// Assembly:
subq $0x18, %rsp
movb %sil, %al
movq %rdi, 0x8(%rsp)
andb $0x1, %al
movb %al, 0x7(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x1d4082
movq 0x467f4f(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x341fb8(%rip), %rsi    # 0x516013
leaq 0x3dee8e(%rip), %rdx    # 0x5b2ef0
leaq 0x390dae(%rip), %rcx    # 0x564e17
leaq 0x390cd2(%rip), %r8     # 0x564d42
movl $0x9f, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1d4084
testb $0x1, 0x7(%rsp)
je 0x1d40a0
movq 0x8(%rsp), %rdi
callq 0x16f170
testb $0x1, %al
jne 0x1d40a0
movb $0x1, 0x17(%rsp)
jmp 0x1d40a5
movb $0x0, 0x17(%rsp)
movb 0x17(%rsp), %al
andb $0x1, %al
addq $0x18, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/select_visitor.c
// Function: filter_min_average_ssp
static bool filter_min_average_ssp(GtFeatureNode *fn, double minaveragessp,
                                   double singleintronfactor)
{
  gt_assert(fn);
  if (minaveragessp != GT_UNDEF_DOUBLE && gt_feature_node_has_splice_site(fn)) {
    GtUword num_ss;
    double avg_ssp = gt_feature_node_average_splice_site_prob(fn, &num_ss);
    if (num_ss <= 2 && avg_ssp < singleintronfactor * minaveragessp)
      return true;
    else if (avg_ssp < minaveragessp)
      return true;
  }
  return false;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movsd %xmm0, 0x20(%rsp)
movsd %xmm1, 0x18(%rsp)
cmpq $0x0, 0x28(%rsp)
jne 0x1d4105
movq 0x467ecc(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x341f35(%rip), %rsi    # 0x516013
leaq 0x3dee0b(%rip), %rdx    # 0x5b2ef0
leaq 0x390d3a(%rip), %rcx    # 0x564e26
leaq 0x390c4f(%rip), %r8     # 0x564d42
movl $0xa8, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1d4107
movsd 0x20(%rsp), %xmm0
movsd 0x344c3b(%rip), %xmm1   # 0x518d50
ucomisd %xmm1, %xmm0
jne 0x1d411f
jp 0x1d411f
jmp 0x1d4188
movq 0x28(%rsp), %rdi
callq 0x16f290
testb $0x1, %al
jne 0x1d412f
jmp 0x1d4188
movq 0x28(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x16f2b0
movsd %xmm0, 0x8(%rsp)
cmpq $0x2, 0x10(%rsp)
ja 0x1d416b
movsd 0x8(%rsp), %xmm1
movsd 0x18(%rsp), %xmm0
mulsd 0x20(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x1d416b
movb $0x1, 0x37(%rsp)
jmp 0x1d418d
movsd 0x8(%rsp), %xmm1
movsd 0x20(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x1d4184
movb $0x1, 0x37(%rsp)
jmp 0x1d418d
jmp 0x1d4186
jmp 0x1d4188
movb $0x0, 0x37(%rsp)
movb 0x37(%rsp), %al
andb $0x1, %al
addq $0x38, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/seqid2file.c
// Function: gt_seqid2file_info_new
GtSeqid2FileInfo* gt_seqid2file_info_new(void)
{
  GtSeqid2FileInfo *s2fi = gt_calloc(1, sizeof *s2fi);
  s2fi->seqfiles = gt_str_array_new();
  s2fi->seqfile = gt_str_new();
  s2fi->encseq = gt_str_new();
  s2fi->region_mapping = gt_str_new();
  return s2fi;
}

// Assembly:
pushq %rax
movl $0x1, %edi
movl $0x28, %esi
leaq 0x390b0c(%rip), %rdx    # 0x564ece
movl $0x23, %ecx
callq 0xe83c0
movq %rax, (%rsp)
callq 0x11f5c0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
callq 0x11d4a0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
callq 0x11d4a0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x18(%rax)
callq 0x11d4a0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x20(%rax)
movq (%rsp), %rax
popq %rcx
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/seqid2file.c
// Function: gt_seqid2file_info_delete
void gt_seqid2file_info_delete(GtSeqid2FileInfo *s2fi)
{
  if (!s2fi) return;
  gt_str_delete(s2fi->region_mapping);
  gt_str_delete(s2fi->seqfile);
  gt_str_delete(s2fi->encseq);
  gt_str_array_delete(s2fi->seqfiles);
  gt_free(s2fi);
}

// Assembly:
pushq %rax
movq %rdi, (%rsp)
cmpq $0x0, (%rsp)
jne 0x1d442e
jmp 0x1d4476
movq (%rsp), %rax
movq 0x20(%rax), %rdi
callq 0x11f560
movq (%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x11f560
movq (%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x11f560
movq (%rsp), %rax
movq (%rax), %rdi
callq 0x11fd20
movq (%rsp), %rdi
leaq 0x390a62(%rip), %rsi    # 0x564ece
movl $0x32, %edx
callq 0xe88c0
popq %rax
retq
nopl (%rax,%rax)