LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_sortbench.c
// Function: gt_sortbench_verify
static void gt_sortbench_verify(GT_UNUSED const GtUword *arr,
                                GT_UNUSED const GtUword *arr_copy,
                                GtUword len)
{
  GtUword idx;

  for (idx = 1UL; idx < len; idx++)
  {
    gt_assert(arr[idx-1] <= arr[idx]);
  }
  for (idx = 0UL; idx < len; idx++)
  {
    gt_assert(arr[idx] <= arr_copy[idx]);
  }
  printf("verified\n");
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movq $0x1, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq 0x10(%rsp), %rax
jae 0x72e98
jmp 0x72e2a
movq 0x20(%rsp), %rax
movq 0x8(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq 0x20(%rsp), %rcx
movq 0x8(%rsp), %rdx
cmpq (%rcx,%rdx,8), %rax
jbe 0x72e84
movq 0x5c914d(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4a31b6(%rip), %rsi    # 0x516013
leaq 0x4b9bb7(%rip), %rdx    # 0x52ca1b
leaq 0x4b9bc7(%rip), %rcx    # 0x52ca32
leaq 0x4b93bb(%rip), %r8     # 0x52c22d
movl $0x127, %r9d            # imm = 0x127
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x72e86
jmp 0x72e88
movq 0x8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8(%rsp)
jmp 0x72e1c
movq $0x0, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq 0x10(%rsp), %rax
jae 0x72f19
jmp 0x72eaf
movq 0x20(%rsp), %rax
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x18(%rsp), %rcx
movq 0x8(%rsp), %rdx
cmpq (%rcx,%rdx,8), %rax
jbe 0x72f05
movq 0x5c90cc(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4a3135(%rip), %rsi    # 0x516013
leaq 0x4b9b61(%rip), %rdx    # 0x52ca46
leaq 0x4b9b46(%rip), %rcx    # 0x52ca32
leaq 0x4b933a(%rip), %r8     # 0x52c22d
movl $0x12b, %r9d            # imm = 0x12B
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x72f07
jmp 0x72f09
movq 0x8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8(%rsp)
jmp 0x72ea1
leaq 0x4b9ac6(%rip), %rdi    # 0x52c9e6
movb $0x0, %al
callq 0x19070
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_sortbench.c
// Function: gt_sortbench_cmp
static int gt_sortbench_cmp(const void *px, const void *py)
{
  const GtUword x = *(const GtUword*)px;
  const GtUword y = *(const GtUword*)py;
  ncmp++;
  if (val[x]==gas && val[y]==gas) {
    if (x == candidate) {
      freeze(x);
    } else {
      freeze(y);
    }
  }
  if (val[x] == gas)
    candidate = x;
  else if (val[y] == gas)
    candidate = y;
  if (val[x] < val[y])
  {
    return -1;
  }
  if (val[x] > val[y])
  {
    return 1;
  }
  return 0;
}

// Assembly:
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movq -0x10(%rsp), %rax
movq (%rax), %rax
movq %rax, -0x20(%rsp)
movq -0x18(%rsp), %rax
movq (%rax), %rax
movq %rax, -0x28(%rsp)
leaq 0x5cfb7d(%rip), %rax    # 0x642ad8
movq (%rax), %rcx
addq $0x1, %rcx
leaq 0x5cfb6f(%rip), %rax    # 0x642ad8
movq %rcx, (%rax)
leaq 0x5cfb5d(%rip), %rax    # 0x642ad0
movq (%rax), %rax
movq -0x20(%rsp), %rcx
movq (%rax,%rcx,8), %rax
leaq 0x5cfb6a(%rip), %rcx    # 0x642af0
cmpq (%rcx), %rax
jne 0x7301f
leaq 0x5cfb3a(%rip), %rax    # 0x642ad0
movq (%rax), %rax
movq -0x28(%rsp), %rcx
movq (%rax,%rcx,8), %rax
leaq 0x5cfb47(%rip), %rcx    # 0x642af0
cmpq (%rcx), %rax
jne 0x7301f
movq -0x20(%rsp), %rax
leaq 0x5cfb2e(%rip), %rcx    # 0x642ae8
cmpq (%rcx), %rax
jne 0x72fef
leaq 0x5cfb1a(%rip), %rax    # 0x642ae0
movq (%rax), %rdx
movq %rdx, %rcx
addq $0x1, %rcx
leaq 0x5cfb09(%rip), %rax    # 0x642ae0
movq %rcx, (%rax)
leaq 0x5cfaef(%rip), %rax    # 0x642ad0
movq (%rax), %rax
movq -0x20(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
jmp 0x7301d
leaq 0x5cfaea(%rip), %rax    # 0x642ae0
movq (%rax), %rdx
movq %rdx, %rcx
addq $0x1, %rcx
leaq 0x5cfad9(%rip), %rax    # 0x642ae0
movq %rcx, (%rax)
leaq 0x5cfabf(%rip), %rax    # 0x642ad0
movq (%rax), %rax
movq -0x28(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
jmp 0x7301f
leaq 0x5cfaaa(%rip), %rax    # 0x642ad0
movq (%rax), %rax
movq -0x20(%rsp), %rcx
movq (%rax,%rcx,8), %rax
leaq 0x5cfab7(%rip), %rcx    # 0x642af0
cmpq (%rcx), %rax
jne 0x7304f
movq -0x20(%rsp), %rcx
leaq 0x5cfa9e(%rip), %rax    # 0x642ae8
movq %rcx, (%rax)
jmp 0x7307f
leaq 0x5cfa7a(%rip), %rax    # 0x642ad0
movq (%rax), %rax
movq -0x28(%rsp), %rcx
movq (%rax,%rcx,8), %rax
leaq 0x5cfa87(%rip), %rcx    # 0x642af0
cmpq (%rcx), %rax
jne 0x7307d
movq -0x28(%rsp), %rcx
leaq 0x5cfa6e(%rip), %rax    # 0x642ae8
movq %rcx, (%rax)
jmp 0x7307f
leaq 0x5cfa4a(%rip), %rax    # 0x642ad0
movq (%rax), %rax
movq -0x20(%rsp), %rcx
movq (%rax,%rcx,8), %rax
leaq 0x5cfa37(%rip), %rcx    # 0x642ad0
movq (%rcx), %rcx
movq -0x28(%rsp), %rdx
cmpq (%rcx,%rdx,8), %rax
jae 0x730b1
movl $0xffffffff, -0x4(%rsp) # imm = 0xFFFFFFFF
jmp 0x730eb
leaq 0x5cfa18(%rip), %rax    # 0x642ad0
movq (%rax), %rax
movq -0x20(%rsp), %rcx
movq (%rax,%rcx,8), %rax
leaq 0x5cfa05(%rip), %rcx    # 0x642ad0
movq (%rcx), %rcx
movq -0x28(%rsp), %rdx
cmpq (%rcx,%rdx,8), %rax
jbe 0x730e3
movl $0x1, -0x4(%rsp)
jmp 0x730eb
movl $0x0, -0x4(%rsp)
movl -0x4(%rsp), %eax
retq
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_sortbench.c
// Function: sortcmpwithdata
static int sortcmpwithdata(const void *a,const void *b, GT_UNUSED void *data)
{
  cmpcount++;
  if (*(Sorttype*)a < *((Sorttype*)b))
  {
    return -1;
  }
  if (*(Sorttype*)a > *(Sorttype*)b)
  {
    return 1;
  }
  return 0;
}

// Assembly:
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movq %rdx, -0x20(%rsp)
movq 0x5cf8f2(%rip), %rax    # 0x642af8
addq $0x1, %rax
movq %rax, 0x5cf8e7(%rip)    # 0x642af8
movq -0x10(%rsp), %rax
movq (%rax), %rax
movq -0x18(%rsp), %rcx
cmpq (%rcx), %rax
jae 0x7322d
movl $0xffffffff, -0x4(%rsp) # imm = 0xFFFFFFFF
jmp 0x73251
movq -0x10(%rsp), %rax
movq (%rax), %rax
movq -0x18(%rsp), %rcx
cmpq (%rcx), %rax
jbe 0x73249
movl $0x1, -0x4(%rsp)
jmp 0x73251
movl $0x0, -0x4(%rsp)
movl -0x4(%rsp), %eax
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_sortbench.c
// Function: sortcmpnodata
static int sortcmpnodata(const void *a,const void *b)
{
  cmpcount++;
  if (*(Sorttype*)a < *((Sorttype*)b))
  {
    return -1;
  }
  if (*(Sorttype*)a > *(Sorttype*)b)
  {
    return 1;
  }
  return 0;
}

// Assembly:
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movq 0x5cf887(%rip), %rax    # 0x642af8
addq $0x1, %rax
movq %rax, 0x5cf87c(%rip)    # 0x642af8
movq -0x10(%rsp), %rax
movq (%rax), %rax
movq -0x18(%rsp), %rcx
cmpq (%rcx), %rax
jae 0x73298
movl $0xffffffff, -0x4(%rsp) # imm = 0xFFFFFFFF
jmp 0x732bc
movq -0x10(%rsp), %rax
movq (%rax), %rax
movq -0x18(%rsp), %rcx
cmpq (%rcx), %rax
jbe 0x732b4
movl $0x1, -0x4(%rsp)
jmp 0x732bc
movl $0x0, -0x4(%rsp)
movl -0x4(%rsp), %eax
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_sortbench.c
// Function: qsortcmp
static int qsortcmp(const Sorttype *a,const Sorttype *b,
                    const GT_UNUSED void *data)
{
  cmpcount++;
  if ((*a) < (*b))
  {
    return -1;
  }
  if ((*a) > (*b))
  {
    return 1;
  }
  return 0;
}

// Assembly:
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movq %rdx, -0x20(%rsp)
movq 0x5ce782(%rip), %rax    # 0x642af8
addq $0x1, %rax
movq %rax, 0x5ce777(%rip)    # 0x642af8
movq -0x10(%rsp), %rax
movq (%rax), %rax
movq -0x18(%rsp), %rcx
cmpq (%rcx), %rax
jae 0x7439d
movl $0xffffffff, -0x4(%rsp) # imm = 0xFFFFFFFF
jmp 0x743c1
movq -0x10(%rsp), %rax
movq (%rax), %rax
movq -0x18(%rsp), %rcx
cmpq (%rcx), %rax
jbe 0x743b9
movl $0x1, -0x4(%rsp)
jmp 0x743c1
movl $0x0, -0x4(%rsp)
movl -0x4(%rsp), %eax
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_sortbench.c
// Function: sortbench_qsortcmparr
static int QSORTNAME(qsortcmparr)(const QSORTNAME(Sorttype) *arr,
                                  GtUword a,
                                  GtUword b,
                                  const GT_UNUSED void *data)
{
  cmpcount++;
  if (arr[a] < arr[b])
  {
    return -1;
  }
  if (arr[a] > arr[b])
  {
    return 1;
  }
  return 0;
}

// Assembly:
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movq %rdx, -0x20(%rsp)
movq %rcx, -0x28(%rsp)
movq 0x5ccfcd(%rip), %rax    # 0x642af8
addq $0x1, %rax
movq %rax, 0x5ccfc2(%rip)    # 0x642af8
movq -0x10(%rsp), %rax
movq -0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq -0x10(%rsp), %rcx
movq -0x20(%rsp), %rdx
cmpq (%rcx,%rdx,8), %rax
jae 0x75b5e
movl $0xffffffff, -0x4(%rsp) # imm = 0xFFFFFFFF
jmp 0x75b8e
movq -0x10(%rsp), %rax
movq -0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq -0x10(%rsp), %rcx
movq -0x20(%rsp), %rdx
cmpq (%rcx,%rdx,8), %rax
jbe 0x75b86
movl $0x1, -0x4(%rsp)
jmp 0x75b8e
movl $0x0, -0x4(%rsp)
movl -0x4(%rsp), %eax
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_sortbench.c
// Function: compareseedextendseedpair
static int compareseedextendseedpair(const GtSeedExtendSeedPair *p1,
                                     const GtSeedExtendSeedPair *p2)
{
  if (p1->aseqnum < p2->aseqnum)
  {
    return -1;
  }
  if (p1->aseqnum > p2->aseqnum)
  {
    return 1;
  }
  if (p1->bseqnum < p2->bseqnum)
  {
    return -1;
  }
  if (p1->bseqnum > p2->bseqnum)
  {
    return 1;
  }
  if (p1->apos < p2->apos)
  {
    return -1;
  }
  if (p1->apos > p2->apos)
  {
    return 1;
  }
  if (p1->bpos < p2->bpos)
  {
    return -1;
  }
  if (p1->bpos > p2->bpos)
  {
    return 1;
  }
  return 0;
}

// Assembly:
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movq -0x10(%rsp), %rax
movl 0x4(%rax), %eax
movq -0x18(%rsp), %rcx
cmpl 0x4(%rcx), %eax
jae 0x75cf9
movl $0xffffffff, -0x4(%rsp) # imm = 0xFFFFFFFF
jmp 0x75dc7
movq -0x10(%rsp), %rax
movl 0x4(%rax), %eax
movq -0x18(%rsp), %rcx
cmpl 0x4(%rcx), %eax
jbe 0x75d18
movl $0x1, -0x4(%rsp)
jmp 0x75dc7
movq -0x10(%rsp), %rax
movl (%rax), %eax
movq -0x18(%rsp), %rcx
cmpl (%rcx), %eax
jae 0x75d35
movl $0xffffffff, -0x4(%rsp) # imm = 0xFFFFFFFF
jmp 0x75dc7
movq -0x10(%rsp), %rax
movl (%rax), %eax
movq -0x18(%rsp), %rcx
cmpl (%rcx), %eax
jbe 0x75d4f
movl $0x1, -0x4(%rsp)
jmp 0x75dc7
movq -0x10(%rsp), %rax
movl 0xc(%rax), %eax
movq -0x18(%rsp), %rcx
cmpl 0xc(%rcx), %eax
jae 0x75d6b
movl $0xffffffff, -0x4(%rsp) # imm = 0xFFFFFFFF
jmp 0x75dc7
movq -0x10(%rsp), %rax
movl 0xc(%rax), %eax
movq -0x18(%rsp), %rcx
cmpl 0xc(%rcx), %eax
jbe 0x75d87
movl $0x1, -0x4(%rsp)
jmp 0x75dc7
movq -0x10(%rsp), %rax
movl 0x8(%rax), %eax
movq -0x18(%rsp), %rcx
cmpl 0x8(%rcx), %eax
jae 0x75da3
movl $0xffffffff, -0x4(%rsp) # imm = 0xFFFFFFFF
jmp 0x75dc7
movq -0x10(%rsp), %rax
movl 0x8(%rax), %eax
movq -0x18(%rsp), %rcx
cmpl 0x8(%rcx), %eax
jbe 0x75dbf
movl $0x1, -0x4(%rsp)
jmp 0x75dc7
movl $0x0, -0x4(%rsp)
movl -0x4(%rsp), %eax
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_sortbench.c
// Function: gt_flba2uword
static GtUword gt_flba2uword(const uint8_t *buffer,size_t unitsize)
{
  GtUword idx, value = 0;

  gt_assert(unitsize > 0 && unitsize <= sizeof (GtUword));
  for (idx = 0; idx < unitsize; idx++)
  {
    value = (value << CHAR_BIT) | (GtUword) buffer[idx];
  }
  return value;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq $0x0, 0x8(%rsp)
cmpq $0x0, 0x18(%rsp)
jbe 0x75df7
cmpq $0x8, 0x18(%rsp)
jbe 0x75e2f
movq 0x5c61a2(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4a020b(%rip), %rsi    # 0x516013
leaq 0x4b68fd(%rip), %rdx    # 0x52c70c
leaq 0x4b6bf7(%rip), %rcx    # 0x52ca0d
leaq 0x4b6410(%rip), %r8     # 0x52c22d
movl $0x21b, %r9d            # imm = 0x21B
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x75e31
movq $0x0, 0x10(%rsp)
movq 0x10(%rsp), %rax
cmpq 0x18(%rsp), %rax
jae 0x75e75
movq 0x8(%rsp), %rax
shlq $0x8, %rax
movq 0x20(%rsp), %rcx
movq 0x10(%rsp), %rdx
movzbl (%rcx,%rdx), %ecx
orq %rcx, %rax
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x10(%rsp)
jmp 0x75e3a
movq 0x8(%rsp), %rax
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_speck.c
// Function: gt_speck_arguments_new
static void *gt_speck_arguments_new(void)
{
  SpeccheckArguments *arguments = gt_calloc(1, sizeof *arguments);
  arguments->specfile = gt_str_new();
  arguments->format = gt_str_new();
  arguments->s2fi = gt_seqid2file_info_new();
  arguments->ofi = gt_output_file_info_new();
  arguments->tci = gt_typecheck_info_new();
  arguments->outfp = NULL;
  return arguments;
}

// Assembly:
pushq %rax
movl $0x1, %edi
movl $0x38, %esi
leaq 0x4b6b9e(%rip), %rdx    # 0x52ca60
movl $0x38, %ecx
callq 0xe83c0
movq %rax, (%rsp)
callq 0x11d4a0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
callq 0x11d4a0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x8(%rax)
callq 0x1d43b0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x18(%rax)
callq 0xf7d20
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x20(%rax)
callq 0x1f4840
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x28(%rax)
movq (%rsp), %rax
movq $0x0, 0x30(%rax)
movq (%rsp), %rax
popq %rcx
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_speck.c
// Function: gt_speck_arguments_delete
static void gt_speck_arguments_delete(void *tool_arguments)
{
  SpeccheckArguments *arguments = tool_arguments;
  if (!arguments) return;
  gt_str_delete(arguments->specfile);
  gt_str_delete(arguments->format);
  gt_file_delete(arguments->outfp);
  gt_seqid2file_info_delete(arguments->s2fi);
  gt_output_file_info_delete(arguments->ofi);
  gt_typecheck_info_delete(arguments->tci);
  gt_free(arguments);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x75f5d
jmp 0x75fc6
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rax
movq 0x30(%rax), %rdi
callq 0xde430
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x1d4420
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rdi
callq 0xf8210
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rdi
callq 0x1f4880
movq 0x8(%rsp), %rdi
leaq 0x4b6aa4(%rip), %rsi    # 0x52ca60
movl $0x4c, %edx
callq 0xe88c0
addq $0x18, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_speck.c
// Function: gt_speck_arguments_check
static int gt_speck_arguments_check(GT_UNUSED int rest_argc,
                                    void *tool_arguments,
                                    GT_UNUSED GtError *err)
{
  SpeccheckArguments *arguments = tool_arguments;
  int had_err = 0;
  gt_error_check(err);
  gt_assert(arguments);

  if ((arguments->outfp || (!arguments->outfp && !isatty(STDOUT_FILENO)))
      && arguments->colored) {
    gt_warning("not printing to terminal, disabling colored output");
    arguments->colored = false;
  }

  return had_err = 0;
}

// Assembly:
subq $0x28, %rsp
movl %edi, 0x24(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movl $0x0, 0x4(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x76224
movq 0x10(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x761ec
jmp 0x76224
movq 0x5c5dad(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x49fe16(%rip), %rsi    # 0x516013
leaq 0x49ffbb(%rip), %rdx    # 0x5161bf
leaq 0x4b6a4b(%rip), %rcx    # 0x52cc56
leaq 0x4b684e(%rip), %r8     # 0x52ca60
movl $0x89, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x76226
jmp 0x76228
cmpq $0x0, 0x8(%rsp)
jne 0x76268
movq 0x5c5d69(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x49fdd2(%rip), %rsi    # 0x516013
leaq 0x504917(%rip), %rdx    # 0x57ab5f
leaq 0x4b6a07(%rip), %rcx    # 0x52cc56
leaq 0x4b680a(%rip), %r8     # 0x52ca60
movl $0x8a, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x7626a
movq 0x8(%rsp), %rax
cmpq $0x0, 0x30(%rax)
jne 0x76291
movq 0x8(%rsp), %rax
cmpq $0x0, 0x30(%rax)
jne 0x762b3
movl $0x1, %edi
callq 0x19ca0
cmpl $0x0, %eax
jne 0x762b3
movq 0x8(%rsp), %rax
testb $0x1, 0x11(%rax)
je 0x762b3
leaq 0x4b69cc(%rip), %rdi    # 0x52cc6f
movb $0x0, %al
callq 0x1267d0
movq 0x8(%rsp), %rax
movb $0x0, 0x11(%rax)
movl $0x0, 0x4(%rsp)
xorl %eax, %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_splicesiteinfo.c
// Function: gt_splicesiteinfo_arguments_new
static void* gt_splicesiteinfo_arguments_new(void)
{
  SpliceSiteInfoArguments *arguments = gt_calloc(1, sizeof *arguments);
  arguments->s2fi = gt_seqid2file_info_new();
  arguments->ofi = gt_output_file_info_new();
  return arguments;
}

// Assembly:
pushq %rax
movl $0x1, %edi
movl $0x20, %esi
leaq 0x4b5ffe(%rip), %rdx    # 0x52cd20
movl $0x28, %ecx
callq 0xe83c0
movq %rax, (%rsp)
callq 0x1d43b0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x8(%rax)
callq 0xf7d20
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
movq (%rsp), %rax
popq %rcx
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_splicesiteinfo.c
// Function: gt_splicesiteinfo_arguments_delete
static void gt_splicesiteinfo_arguments_delete(void *tool_arguments)
{
  SpliceSiteInfoArguments *arguments = tool_arguments;
  if (!arguments) return;
  gt_file_delete(arguments->outfp);
  gt_output_file_info_delete(arguments->ofi);
  gt_seqid2file_info_delete(arguments->s2fi);
  gt_free(arguments);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x76d7d
jmp 0x76dbd
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0xde430
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0xf8210
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x1d4420
movq 0x8(%rsp), %rdi
leaq 0x4b5f6d(%rip), %rsi    # 0x52cd20
movl $0x35, %edx
callq 0xe88c0
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_splicesiteinfo.c
// Function: gt_splicesiteinfo_option_parser_new
static GtOptionParser* gt_splicesiteinfo_option_parser_new(void *tool_arguments)
{
  SpliceSiteInfoArguments *arguments = tool_arguments;
  GtOptionParser *op;
  GtOption *option;
  gt_assert(arguments);

  op = gt_option_parser_new("[option ...] [GFF3_file ...]", "Show information "
                            "about splice sites given in GFF3 files.");

  /* -seqfile, -matchdesc, -usedesc and -regionmapping */
  gt_seqid2file_register_options(op, arguments->s2fi);

  /* -addintrons */
  option = gt_option_new_bool("addintrons", "add intron features between "
                              "existing exon features\n(before computing the "
                              "information to be shown)",
                              &arguments->addintrons, false);
  gt_option_parser_add_option(op, option);

  /* output file options */
  gt_output_file_info_register_options(arguments->ofi, op, &arguments->outfp);

  gt_option_parser_set_comment_func(op, gt_gtdata_show_help, NULL);

  return op;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
jne 0x76e23
movq 0x5c51ae(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x49f217(%rip), %rsi    # 0x516013
leaq 0x503d5c(%rip), %rdx    # 0x57ab5f
leaq 0x4b5f34(%rip), %rcx    # 0x52cd3e
leaq 0x4b5f0f(%rip), %r8     # 0x52cd20
movl $0x3d, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x76e25
leaq 0x4a4716(%rip), %rdi    # 0x51b542
leaq 0x4b5f2f(%rip), %rsi    # 0x52cd62
callq 0xf1420
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rsi
callq 0x1d48c0
movq 0x18(%rsp), %rdx
leaq 0x4a80d5(%rip), %rdi    # 0x51ef31
leaq 0x4b5f38(%rip), %rsi    # 0x52cd9b
xorl %ecx, %ecx
callq 0xf5f20
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf1600
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
addq $0x18, %rdx
callq 0xf7d50
movq 0x10(%rsp), %rdi
leaq 0x10ae3a(%rip), %rsi    # 0x181ce0
xorl %eax, %eax
movl %eax, %edx
callq 0xf1770
movq 0x10(%rsp), %rax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_splitfasta.c
// Function: gt_splitfasta_arguments_delete
void gt_splitfasta_arguments_delete(void *tool_arguments)
{
  SplitfastaArguments *arguments = tool_arguments;
  if (!arguments) return;
  gt_str_delete(arguments->splitdesc);
  gt_free(arguments);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x770cd
jmp 0x770f1
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rdi
leaq 0x4b5d86(%rip), %rsi    # 0x52ce6d
movl $0x31, %edx
callq 0xe88c0
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_splitfasta.c
// Function: gt_splitfasta_runner
static int gt_splitfasta_runner(GT_UNUSED int argc, const char **argv,
                                int parsed_args, void *tool_arguments,
                                GtError *err)
{
  SplitfastaArguments *arguments = tool_arguments;
  unsigned int num_files;
  int had_err;
  off_t file_size;
  const char* filename;
  gt_error_check(err);
  gt_assert(arguments);

  num_files = arguments->num_files;
  filename = argv[parsed_args];

  if (gt_str_length(arguments->splitdesc)) {
    had_err = split_description(filename, arguments->splitdesc,
                                arguments->width, arguments->force, err);
  }
  else {
    GtUword max_filesize;
    if (num_files) {
      /* set the maxfile size based on requested number of files */
      file_size = gt_file_estimate_size(filename);
      max_filesize= file_size / num_files ;
    }
    else
      max_filesize= arguments->max_filesize_in_MB << 20;
    had_err = split_fasta_file(filename, max_filesize, arguments->force, err);
  }

  return had_err;
}

// Assembly:
subq $0x58, %rsp
movl %edi, 0x54(%rsp)
movq %rsi, 0x48(%rsp)
movl %edx, 0x44(%rsp)
movq %rcx, 0x38(%rsp)
movq %r8, 0x30(%rsp)
movq 0x38(%rsp), %rax
movq %rax, 0x28(%rsp)
cmpq $0x0, 0x30(%rsp)
je 0x77395
movq 0x30(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x7735d
jmp 0x77395
movq 0x5c4c3c(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x49eca5(%rip), %rsi    # 0x516013
leaq 0x49ee4a(%rip), %rdx    # 0x5161bf
leaq 0x4b5c17(%rip), %rcx    # 0x52cf93
leaq 0x4b5aea(%rip), %r8     # 0x52ce6d
movl $0xf9, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x77397
jmp 0x77399
cmpq $0x0, 0x28(%rsp)
jne 0x773d9
movq 0x5c4bf8(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x49ec61(%rip), %rsi    # 0x516013
leaq 0x5037a6(%rip), %rdx    # 0x57ab5f
leaq 0x4b5bd3(%rip), %rcx    # 0x52cf93
leaq 0x4b5aa6(%rip), %r8     # 0x52ce6d
movl $0xfa, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x773db
movq 0x28(%rsp), %rax
movl 0x10(%rax), %eax
movl %eax, 0x24(%rsp)
movq 0x48(%rsp), %rax
movslq 0x44(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x10(%rsp)
movq 0x28(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x11dfa0
cmpq $0x0, %rax
je 0x77442
movq 0x10(%rsp), %rdi
movq 0x28(%rsp), %rax
movq 0x18(%rax), %rsi
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rdx
movq 0x28(%rsp), %rax
movb 0x20(%rax), %al
movq 0x30(%rsp), %r8
andb $0x1, %al
movzbl %al, %ecx
callq 0x774b0
movl %eax, 0x20(%rsp)
jmp 0x774a3
cmpl $0x0, 0x24(%rsp)
je 0x7746d
movq 0x10(%rsp), %rdi
callq 0xdf1d0
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movl 0x24(%rsp), %ecx
cqto
idivq %rcx
movq %rax, 0x8(%rsp)
jmp 0x7747e
movq 0x28(%rsp), %rax
movq (%rax), %rax
shlq $0x14, %rax
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
movq 0x28(%rsp), %rax
movb 0x20(%rax), %al
movq 0x30(%rsp), %rcx
andb $0x1, %al
movzbl %al, %edx
callq 0x77770
movl %eax, 0x20(%rsp)
movl 0x20(%rsp), %eax
addq $0x58, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_splitfasta.c
// Function: buf_contains_separator
static GtUword buf_contains_separator(char *buf, int offset,
                                            int read_bytes)
{
  char *cc;
  gt_assert(buf && offset < read_bytes);
  for (cc = buf + offset; cc < buf + read_bytes; cc++) {
    if (*cc == '>')
      return cc - buf + 1;
  }
  return 0;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movl %esi, 0x14(%rsp)
movl %edx, 0x10(%rsp)
cmpq $0x0, 0x18(%rsp)
je 0x77e23
movl 0x14(%rsp), %eax
cmpl 0x10(%rsp), %eax
jl 0x77e5b
movq 0x5c4176(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x49e1df(%rip), %rsi    # 0x516013
leaq 0x4b5232(%rip), %rdx    # 0x52d06d
leaq 0x4b5246(%rip), %rcx    # 0x52d088
leaq 0x4b5024(%rip), %r8     # 0x52ce6d
movl $0x60, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x77e5d
movq 0x18(%rsp), %rax
movslq 0x14(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x18(%rsp), %rcx
movslq 0x10(%rsp), %rdx
addq %rdx, %rcx
cmpq %rcx, %rax
jae 0x77ebd
movq 0x8(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x3e, %eax
jne 0x77eab
movq 0x8(%rsp), %rax
movq 0x18(%rsp), %rcx
subq %rcx, %rax
addq $0x1, %rax
movq %rax, 0x20(%rsp)
jmp 0x77ec6
jmp 0x77ead
movq 0x8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8(%rsp)
jmp 0x77e6f
movq $0x0, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_stat.c
// Function: gt_stat_arguments_delete
static void gt_stat_arguments_delete(void *tool_arguments)
{
  StatArguments *arguments = tool_arguments;
  if (!arguments) return;
  gt_file_delete(arguments->outfp);
  gt_output_file_info_delete(arguments->ofi);
  gt_free(arguments);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x77f5d
jmp 0x77f8f
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0xde430
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0xf8210
movq 0x8(%rsp), %rdi
leaq 0x4b511a(%rip), %rsi    # 0x52d09f
movl $0x37, %edx
callq 0xe88c0
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_tagerator.c
// Function: gt_tagerator_arguments_new
static void *gt_tagerator_arguments_new(void)
{
  TageratorOptions *arguments;

  arguments = gt_malloc(sizeof (TageratorOptions));
  arguments->indexname = gt_str_new();
  arguments->tagfiles = gt_str_array_new();
  arguments->outputspec = gt_str_array_new();
  arguments->outputmode = 0;
  arguments->numberofmodedescentries = sizeof (outputmodedesctable)/
                                       sizeof (outputmodedesctable[0]);
  arguments->outputhelp
    = gt_getargmodekeywords(outputmodedesctable,
                            arguments->numberofmodedescentries,
                            "output");
  arguments->modedesc = outputmodedesctable;
  return arguments;
}

// Assembly:
pushq %rax
movl $0x68, %edi
leaq 0x4b4ebb(%rip), %rsi    # 0x52d2e8
movl $0x30, %edx
callq 0xe80f0
movq %rax, (%rsp)
callq 0x11d4a0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
callq 0x11f5c0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
callq 0x11f5c0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x8(%rax)
movq (%rsp), %rax
movl $0x0, 0x54(%rax)
movq (%rsp), %rax
movq $0xb, 0x60(%rax)
movq (%rsp), %rax
movq 0x60(%rax), %rsi
leaq 0x5bdd60(%rip), %rdi    # 0x6361f0
leaq 0x4c57e8(%rip), %rdx    # 0x53dc7f
callq 0x261570
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x18(%rax)
movq (%rsp), %rax
leaq 0x5bdd3e(%rip), %rcx    # 0x6361f0
movq %rcx, 0x30(%rax)
movq (%rsp), %rax
popq %rcx
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_tagerator.c
// Function: gt_tagerator_arguments_delete
static void gt_tagerator_arguments_delete(void *tool_arguments)
{
  TageratorOptions *arguments = tool_arguments;

  if (!arguments)
  {
    return;
  }
  gt_str_delete(arguments->indexname);
  gt_str_delete(arguments->outputhelp);
  gt_str_array_delete(arguments->tagfiles);
  gt_str_array_delete(arguments->outputspec);
  gt_option_delete(arguments->refoptionesaindex);
  gt_option_delete(arguments->refoptionpckindex);
  gt_free(arguments);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x784dd
jmp 0x78546
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x11fd20
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x11fd20
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rdi
callq 0xf5df0
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rdi
callq 0xf5df0
movq 0x8(%rsp), %rdi
leaq 0x4b4dac(%rip), %rsi    # 0x52d2e8
movl $0x4d, %edx
callq 0xe88c0
addq $0x18, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_tallymer.c
// Function: gt_tyr_arguments_new
static void *gt_tyr_arguments_new(void)
{
  GtToolbox *tyr_toolbox = gt_toolbox_new();
  gt_toolbox_add_tool(tyr_toolbox, "mkindex", gt_tyr_mkindex());
  gt_toolbox_add_tool(tyr_toolbox, "occratio", gt_tyr_occratio());
  gt_toolbox_add_tool(tyr_toolbox, "search", gt_tyr_search());
  return tyr_toolbox;
}

// Assembly:
subq $0x28, %rsp
callq 0x1235b0
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
callq 0x792b0
movq 0x8(%rsp), %rdi
movq %rax, %rdx
leaq 0x4a9559(%rip), %rsi    # 0x522475
callq 0x1235f0
movq 0x20(%rsp), %rax
movq %rax, 0x10(%rsp)
callq 0x792e0
movq 0x10(%rsp), %rdi
movq %rax, %rdx
leaq 0x4b49c9(%rip), %rsi    # 0x52d908
callq 0x1235f0
movq 0x20(%rsp), %rax
movq %rax, 0x18(%rsp)
callq 0x79310
movq 0x18(%rsp), %rdi
movq %rax, %rdx
leaq 0x4a0208(%rip), %rsi    # 0x51916a
callq 0x1235f0
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_tallymer.c
// Function: gt_tyr_option_parser_new
static GtOptionParser* gt_tyr_option_parser_new(void *tool_arguments)
{
  GtToolbox *index_toolbox = tool_arguments;
  GtOptionParser *op;

  gt_assert(index_toolbox != NULL);
  op = gt_option_parser_new(
                    "[option ...] tallymer_tool [argument ...]",
                    "Call a tallymer subtool and pass argument(s) to it.");
  gt_option_parser_set_comment_func(op, gt_toolbox_show, index_toolbox);
  gt_option_parser_set_min_args(op, 1U);
  gt_option_parser_refer_to_manual(op);
  return op;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x79003
movq 0x5c2fce(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x49d037(%rip), %rsi    # 0x516013
leaq 0x4a1ec2(%rip), %rdx    # 0x51aea5
leaq 0x4b5580(%rip), %rcx    # 0x52e56a
leaq 0x4b4920(%rip), %r8     # 0x52d911
movl $0x3d7, %r9d            # imm = 0x3D7
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x79005
leaq 0x4b5577(%rip), %rdi    # 0x52e583
leaq 0x4b559a(%rip), %rsi    # 0x52e5ad
callq 0xf1420
movq %rax, (%rsp)
movq (%rsp), %rdi
movq 0x8(%rsp), %rdx
leaq 0xaa974(%rip), %rsi     # 0x1239a0
callq 0xf1770
movq (%rsp), %rdi
movl $0x1, %esi
callq 0xf2980
movq (%rsp), %rdi
callq 0xf1720
movq (%rsp), %rax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_tallymer.c
// Function: gt_tyr_mkindex_arguments_new
static void *gt_tyr_mkindex_arguments_new(void)
{
  Tyr_mkindex_options *arguments
    = gt_malloc(sizeof (Tyr_mkindex_options));
  arguments->str_storeindex = gt_str_new();
  arguments->str_inputindex = gt_str_new();
  return arguments;
}

// Assembly:
pushq %rax
movl $0x48, %edi
leaq 0x4b45c4(%rip), %rsi    # 0x52d911
movl $0x48, %edx
callq 0xe80f0
movq %rax, (%rsp)
callq 0x11d4a0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x30(%rax)
callq 0x11d4a0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x38(%rax)
movq (%rsp), %rax
popq %rcx
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_tallymer.c
// Function: gt_tyr_mkindex_arguments_delete
static void gt_tyr_mkindex_arguments_delete(void *tool_arguments)
{
  Tyr_mkindex_options *arguments = tool_arguments;

  if (!arguments)
  {
    return;
  }
  gt_str_delete(arguments->str_storeindex);
  gt_str_delete(arguments->str_inputindex);
  gt_option_delete(arguments->refoptionpl);
  gt_free(arguments);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x793ad
jmp 0x793ed
movq 0x8(%rsp), %rax
movq 0x30(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rdi
callq 0xf5df0
movq 0x8(%rsp), %rdi
leaq 0x4b452e(%rip), %rsi    # 0x52d911
movl $0x59, %edx
callq 0xe88c0
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_tallymer.c
// Function: gt_tyr_mkindex_arguments_check
static int gt_tyr_mkindex_arguments_check(int rest_argc,
                                          void *tool_arguments,
                                          GtError *err)
{
  Tyr_mkindex_options *arguments = tool_arguments;

  if (rest_argc != 0)
  {
    gt_error_set(err,"superfluous arguments");
    return -1;
  }
  if (gt_option_is_set(arguments->refoptionpl))
  {
    if (arguments->userdefinedprefixlength == 0)
    {
      arguments->prefixlength.flag = Autoprefixlength;
      arguments->prefixlength.value = 0;
    } else
    {
      arguments->prefixlength.flag = Determinedprefixlength;
      arguments->prefixlength.value = arguments->userdefinedprefixlength;
    }
  } else
  {
    arguments->prefixlength.flag = Undeterminedprefixlength;
    arguments->prefixlength.value = 0;
  }
  return 0;
}

// Assembly:
subq $0x28, %rsp
movl %edi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpl $0x0, 0x20(%rsp)
je 0x796e0
movq 0x10(%rsp), %rdi
leaq 0x4a7922(%rip), %rsi    # 0x520ff1
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x24(%rsp) # imm = 0xFFFFFFFF
jmp 0x79757
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rdi
callq 0xf74a0
testb $0x1, %al
jne 0x796f4
jmp 0x79737
movq 0x8(%rsp), %rax
cmpl $0x0, 0x18(%rax)
jne 0x79719
movq 0x8(%rsp), %rax
movl $0x0, 0x20(%rax)
movq 0x8(%rsp), %rax
movl $0x0, 0x1c(%rax)
jmp 0x79735
movq 0x8(%rsp), %rax
movl $0x2, 0x20(%rax)
movq 0x8(%rsp), %rax
movl 0x18(%rax), %ecx
movq 0x8(%rsp), %rax
movl %ecx, 0x1c(%rax)
jmp 0x7974f
movq 0x8(%rsp), %rax
movl $0x1, 0x20(%rax)
movq 0x8(%rsp), %rax
movl $0x0, 0x1c(%rax)
movl $0x0, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_tallymer.c
// Function: gt_tyr_occratio_arguments_new
static void *gt_tyr_occratio_arguments_new(void)
{
  Tyr_occratio_options *arguments
    = gt_malloc(sizeof (Tyr_occratio_options));
  arguments->mersizesstrings = gt_str_array_new();
  arguments->outputspec = gt_str_array_new();
  arguments->str_inputindex = gt_str_new();
  arguments->outputvector = NULL;
  arguments->outputmode = 0;
  return arguments;
}

// Assembly:
pushq %rax
movl $0x48, %edi
leaq 0x4b3ea4(%rip), %rsi    # 0x52d911
movl $0x142, %edx            # imm = 0x142
callq 0xe80f0
movq %rax, (%rsp)
callq 0x11f5c0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
callq 0x11f5c0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x8(%rax)
callq 0x11d4a0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
movq (%rsp), %rax
movq $0x0, 0x38(%rax)
movq (%rsp), %rax
movl $0x0, 0x40(%rax)
movq (%rsp), %rax
popq %rcx
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_tallymer.c
// Function: gt_tyr_occratio_arguments_delete
static void gt_tyr_occratio_arguments_delete(void *tool_arguments)
{
  Tyr_occratio_options *arguments = tool_arguments;

  if (!arguments)
  {
    return;
  }
  gt_str_array_delete(arguments->mersizesstrings);
  gt_str_array_delete(arguments->outputspec);
  gt_str_delete(arguments->str_inputindex);
  gt_option_delete(arguments->refoptionmersizes);
  gt_free(arguments->outputvector);
  gt_free(arguments);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x79aed
jmp 0x79b54
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x11fd20
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x11fd20
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0xf5df0
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rdi
leaq 0x4b3ddd(%rip), %rsi    # 0x52d911
movl $0x157, %edx            # imm = 0x157
callq 0xe88c0
movq 0x8(%rsp), %rdi
leaq 0x4b3dc7(%rip), %rsi    # 0x52d911
movl $0x158, %edx            # imm = 0x158
callq 0xe88c0
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_tallymer.c
// Function: showitvdistribution
static void showitvdistribution(const GtArrayuint64_t *dist,
                                const GtBitsequence *outputvector)
{
  GtUword idx;

  gt_assert(outputvector != NULL);
  for (idx=0; idx < dist->nextfreeuint64_t; idx++)
  {
    if (GT_ISIBITSET(outputvector,idx) && dist->spaceuint64_t[idx] > 0)
    {
      /*@ignore@*/
      printf(""GT_WU" " Formatuint64_t "\n",
              idx,
              PRINTuint64_tcast(dist->spaceuint64_t[idx]));
      /*@end@*/
    }
  }
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x7aafe
movq 0x5c14d3(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x49b53c(%rip), %rsi    # 0x516013
leaq 0x4b3849(%rip), %rdx    # 0x52e327
leaq 0x4b3881(%rip), %rcx    # 0x52e366
leaq 0x4b2e25(%rip), %r8     # 0x52d911
movl $0x246, %r9d            # imm = 0x246
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x7ab00
movq $0x0, (%rsp)
movq (%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x7ab91
movq 0x8(%rsp), %rax
movq (%rsp), %rcx
shrq $0x6, %rcx
movq (%rax,%rcx,8), %rax
movq (%rsp), %rcx
andq $0x3f, %rcx
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
shrq %cl, %rdx
movq %rdx, %rcx
andq %rcx, %rax
cmpq $0x0, %rax
je 0x7ab7e
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq (%rsp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jbe 0x7ab7e
movq (%rsp), %rsi
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq (%rsp), %rcx
movq (%rax,%rcx,8), %rdx
leaq 0x4d9906(%rip), %rdi    # 0x55447d
movb $0x0, %al
callq 0x19070
jmp 0x7ab80
movq (%rsp), %rax
addq $0x1, %rax
movq %rax, (%rsp)
jmp 0x7ab08
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_tallymer.c
// Function: gt_tyr_search_arguments_new
static void *gt_tyr_search_arguments_new(void)
{
  Tyr_search_options *arguments
    = gt_malloc(sizeof (Tyr_search_options));
  arguments->str_inputindex = gt_str_new();
  arguments->strandspec = gt_str_new();
  arguments->queryfilenames = gt_str_array_new();
  arguments->showmodespec = gt_str_array_new();
  arguments->showmode = 0;
  arguments->strand = 0;
  return arguments;
}

// Assembly:
pushq %rax
movl $0x30, %edi
leaq 0x4b2d64(%rip), %rsi    # 0x52d911
movl $0x326, %edx            # imm = 0x326
callq 0xe80f0
movq %rax, (%rsp)
callq 0x11d4a0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
callq 0x11d4a0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
callq 0x11f5c0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x8(%rax)
callq 0x11f5c0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x18(%rax)
movq (%rsp), %rax
movl $0x0, 0x24(%rax)
movq (%rsp), %rax
movl $0x0, 0x20(%rax)
movq (%rsp), %rax
popq %rcx
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_tallymer.c
// Function: gt_tyr_search_arguments_delete
static void gt_tyr_search_arguments_delete(void *tool_arguments)
{
  Tyr_search_options *arguments = tool_arguments;

  if (!arguments)
  {
    return;
  }
  gt_str_delete(arguments->str_inputindex);
  gt_str_delete(arguments->strandspec);
  gt_str_array_delete(arguments->queryfilenames);
  gt_str_array_delete(arguments->showmodespec);
  gt_free(arguments);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x7ac3d
jmp 0x7ac8a
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x11fd20
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x11fd20
movq 0x8(%rsp), %rdi
leaq 0x4b2c91(%rip), %rsi    # 0x52d911
movl $0x33c, %edx            # imm = 0x33C
callq 0xe88c0
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_tallymer.c
// Function: gt_tyr_search_runner
static int gt_tyr_search_runner(GT_UNUSED int argc,
                                GT_UNUSED const char **argv,
                                GT_UNUSED int parsed_args,
                                void *tool_arguments,
                                GtError *err)
{
  Tyr_search_options *arguments = tool_arguments;

  if (gt_tyrsearch(gt_str_get(arguments->str_inputindex),
                   arguments->queryfilenames,
                   arguments->showmode,
                   arguments->strand,
                   arguments->verbose,
                   arguments->performtest,
                   err) != 0)
  {
    return -1;
  }
  return 0;
}

// Assembly:
subq $0x38, %rsp
movl %edi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movl %edx, 0x24(%rsp)
movq %rcx, 0x18(%rsp)
movq %r8, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x11dee0
movq %rax, %rdi
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rsi
movq 0x8(%rsp), %rax
movl 0x24(%rax), %edx
movq 0x8(%rsp), %rax
movl 0x20(%rax), %ecx
movq 0x8(%rsp), %rax
movb 0x28(%rax), %r8b
movq 0x8(%rsp), %rax
movb 0x29(%rax), %r9b
movq 0x10(%rsp), %rax
andb $0x1, %r8b
andb $0x1, %r9b
movzbl %r8b, %r8d
movzbl %r9b, %r9d
movq %rax, (%rsp)
callq 0x2f7520
cmpl $0x0, %eax
je 0x7b05d
movl $0xffffffff, 0x34(%rsp) # imm = 0xFFFFFFFF
jmp 0x7b065
movl $0x0, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_template.c
// Function: gt_template_arguments_delete
static void gt_template_arguments_delete(void *tool_arguments)
{
  TemplateArguments *arguments = tool_arguments;
  if (arguments != NULL) {
    gt_str_delete(arguments->str_option_template);
    gt_free(arguments);
  }
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x7b11f
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rdi
leaq 0x4b351a(%rip), %rsi    # 0x52e62f
movl $0x27, %edx
callq 0xe88c0
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_template.c
// Function: gt_template_option_parser_new
static GtOptionParser* gt_template_option_parser_new(void *tool_arguments)
{
  TemplateArguments *arguments = tool_arguments;
  GtOptionParser *op;
  GtOption *option;
  gt_assert(arguments);

  /* init */
  op = gt_option_parser_new("[option ...] [file]", /* XXX */
                            "DESCRIBE YOUR TOOL IN ONE LINE HERE."); /* XXX */

  /* -bool */
  option = gt_option_new_bool("bool", "bool option template",
                              &arguments->bool_option_template, false);
  gt_option_parser_add_option(op, option);

  /* -str */
  option = gt_option_new_string("str", "str option template",
                                arguments->str_option_template, NULL);
  gt_option_parser_add_option(op, option);

  return op;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
jne 0x7b183
movq 0x5c0e4e(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x49aeb7(%rip), %rsi    # 0x516013
leaq 0x4ff9fc(%rip), %rdx    # 0x57ab5f
leaq 0x4b34dd(%rip), %rcx    # 0x52e647
leaq 0x4b34be(%rip), %r8     # 0x52e62f
movl $0x30, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x7b185
leaq 0x4a056e(%rip), %rdi    # 0x51b6fa
leaq 0x4b34d2(%rip), %rsi    # 0x52e665
callq 0xf1420
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdx
leaq 0x51e4ed(%rip), %rdi    # 0x599696
leaq 0x4b34da(%rip), %rsi    # 0x52e68a
xorl %ecx, %ecx
callq 0xf5f20
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf1600
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rdx
leaq 0x4c8e82(%rip), %rdi    # 0x54405d
leaq 0x4b34bd(%rip), %rsi    # 0x52e69f
xorl %eax, %eax
movl %eax, %ecx
callq 0xf69f0
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf1600
movq 0x10(%rsp), %rax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_template.c
// Function: gt_template_arguments_check
static int gt_template_arguments_check(GT_UNUSED int rest_argc,
                                       void *tool_arguments,
                                       GT_UNUSED GtError *err)
{
  TemplateArguments *arguments = tool_arguments;
  int had_err = 0;
  gt_error_check(err);
  gt_assert(arguments);

  /* XXX: do some checking after the option have been parsed (usally this is not
     necessary and this function can be removed completely). */
  if (gt_str_length(arguments->str_option_template))
    printf("%s\n", gt_str_get(arguments->str_option_template));

  return had_err;
}

// Assembly:
subq $0x28, %rsp
movl %edi, 0x24(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movl $0x0, 0x4(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x7b284
movq 0x10(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x7b24c
jmp 0x7b284
movq 0x5c0d4d(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x49adb6(%rip), %rsi    # 0x516013
leaq 0x49af5b(%rip), %rdx    # 0x5161bf
leaq 0x4b3448(%rip), %rcx    # 0x52e6b3
leaq 0x4b33bd(%rip), %r8     # 0x52e62f
movl $0x49, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x7b286
jmp 0x7b288
cmpq $0x0, 0x8(%rsp)
jne 0x7b2c8
movq 0x5c0d09(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x49ad72(%rip), %rsi    # 0x516013
leaq 0x4ff8b7(%rip), %rdx    # 0x57ab5f
leaq 0x4b3404(%rip), %rcx    # 0x52e6b3
leaq 0x4b3379(%rip), %r8     # 0x52e62f
movl $0x4a, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x7b2ca
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x11dfa0
cmpq $0x0, %rax
je 0x7b2fd
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x11dee0
movq %rax, %rsi
leaq 0x4abbf6(%rip), %rdi    # 0x526eec
movb $0x0, %al
callq 0x19070
movl 0x4(%rsp), %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_template.c
// Function: gt_template_runner
static int gt_template_runner(int argc, const char **argv, int parsed_args,
                              void *tool_arguments, GT_UNUSED GtError *err)
{
  TemplateArguments *arguments = tool_arguments;
  int had_err = 0;

  gt_error_check(err);
  gt_assert(arguments);

  /* XXX */
  if (arguments->bool_option_template)
    printf("argc=%d, parsed_args=%d\n", argc, parsed_args);
  printf("argv[0]=%s\n", argv[0]);

  return had_err;
}

// Assembly:
subq $0x38, %rsp
movl %edi, 0x34(%rsp)
movq %rsi, 0x28(%rsp)
movl %edx, 0x24(%rsp)
movq %rcx, 0x18(%rsp)
movq %r8, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movl $0x0, 0x4(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x7b38d
movq 0x10(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x7b355
jmp 0x7b38d
movq 0x5c0c44(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x49acad(%rip), %rsi    # 0x516013
leaq 0x49ae52(%rip), %rdx    # 0x5161bf
leaq 0x4b335b(%rip), %rcx    # 0x52e6cf
leaq 0x4b32b4(%rip), %r8     # 0x52e62f
movl $0x5a, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x7b38f
jmp 0x7b391
cmpq $0x0, 0x8(%rsp)
jne 0x7b3d1
movq 0x5c0c00(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x49ac69(%rip), %rsi    # 0x516013
leaq 0x4ff7ae(%rip), %rdx    # 0x57ab5f
leaq 0x4b3317(%rip), %rcx    # 0x52e6cf
leaq 0x4b3270(%rip), %r8     # 0x52e62f
movl $0x5b, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x7b3d3
movq 0x8(%rsp), %rax
testb $0x1, (%rax)
je 0x7b3f3
movl 0x34(%rsp), %esi
movl 0x24(%rsp), %edx
leaq 0x4b32f6(%rip), %rdi    # 0x52e6e2
movb $0x0, %al
callq 0x19070
movq 0x28(%rsp), %rax
movq (%rax), %rsi
leaq 0x4b32f9(%rip), %rdi    # 0x52e6fb
movb $0x0, %al
callq 0x19070
movl 0x4(%rsp), %eax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
nopl (%rax)