LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_compreads.c
// Function: gt_compreads_arguments_delete
static void gt_compreads_arguments_delete(void *tool_arguments)
{
  GtToolbox *compreads_toolbox = tool_arguments;
  if (!compreads_toolbox)
    return;
  gt_toolbox_delete(compreads_toolbox);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x1f5dd
jmp 0x1f5e7
movq 0x8(%rsp), %rdi
callq 0x123de0
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_compreads.c
// Function: gt_compreads_option_parser_new
static GtOptionParser* gt_compreads_option_parser_new(void *tool_arguments)
{
  GtToolbox *compreads_toolbox = tool_arguments;
  GtOptionParser *op;
  gt_assert(compreads_toolbox);
  op = gt_option_parser_new("[option ...] tool [argument ...]",
                            "Call a fastq file compression tool.");
  gt_option_parser_set_comment_func(op, gt_toolbox_show, compreads_toolbox);
  gt_option_parser_set_min_args(op, 1U);
  return op;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x1f643
movq 0x61c98e(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4f69f7(%rip), %rsi    # 0x516013
leaq 0x4f849d(%rip), %rdx    # 0x517ac0
leaq 0x4f84a8(%rip), %rcx    # 0x517ad2
leaq 0x4f84c0(%rip), %r8     # 0x517af1
movl $0x38, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1f645
leaq 0x4f84be(%rip), %rdi    # 0x517b0a
leaq 0x4f84d8(%rip), %rsi    # 0x517b2b
callq 0xf1420
movq %rax, (%rsp)
movq (%rsp), %rdi
movq 0x8(%rsp), %rdx
leaq 0x104334(%rip), %rsi    # 0x1239a0
callq 0xf1770
movq (%rsp), %rdi
movl $0x1, %esi
callq 0xf2980
movq (%rsp), %rax
addq $0x18, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_compreads_compress.c
// Function: gt_compreads_compress_arguments_new
static void* gt_compreads_compress_arguments_new(void)
{
  GtCsrHcrEncodeArguments *arguments = gt_calloc((size_t) 1, sizeof *arguments);
  arguments->smap = gt_str_new();
  arguments->name = gt_str_new();
  arguments->files = gt_str_array_new();
  arguments->qrng.start = GT_UNDEF_UINT;
  arguments->qrng.end = GT_UNDEF_UINT;
  arguments->arg_range.start = GT_UNDEF_UWORD;
  arguments->arg_range.end = GT_UNDEF_UWORD;
  arguments->method = gt_str_new();
  arguments->pagewise = false;
  arguments->regular = false;
  return arguments;
}

// Assembly:
pushq %rax
movl $0x1, %edi
movl $0x48, %esi
leaq 0x4f8282(%rip), %rdx    # 0x517ba4
movl $0x34, %ecx
callq 0xe83c0
movq %rax, (%rsp)
callq 0x11d4a0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x8(%rax)
callq 0x11d4a0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x18(%rax)
callq 0x11f5c0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x20(%rax)
movq (%rsp), %rax
movl $0xffffffff, 0x30(%rax) # imm = 0xFFFFFFFF
movq (%rsp), %rax
movl $0xffffffff, 0x34(%rax) # imm = 0xFFFFFFFF
movq (%rsp), %rax
movq $-0x1, 0x38(%rax)
movq (%rsp), %rax
movq $-0x1, 0x40(%rax)
callq 0x11d4a0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
movq (%rsp), %rax
movb $0x0, 0x1(%rax)
movq (%rsp), %rax
movb $0x0, 0x2(%rax)
movq (%rsp), %rax
popq %rcx
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_compreads_compress.c
// Function: gt_compreads_compress_arguments_delete
static void gt_compreads_compress_arguments_delete(void *tool_arguments)
{
  GtCsrHcrEncodeArguments *arguments = tool_arguments;
  if (!arguments) return;
  gt_str_delete(arguments->name);
  gt_str_array_delete(arguments->files);
  gt_str_delete(arguments->smap);
  gt_str_delete(arguments->method);
  gt_free(arguments);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x1f9dd
jmp 0x1fa2b
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rdi
callq 0x11fd20
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rdi
leaq 0x4f8183(%rip), %rsi    # 0x517ba4
movl $0x4a, %edx
callq 0xe88c0
addq $0x18, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_compreads_decompress.c
// Function: gt_compreads_decompress_arguments_new
static void* gt_compreads_decompress_arguments_new(void)
{
  GtCsrHcrDecodeArguments *arguments = gt_calloc((size_t) 1, sizeof *arguments);
  arguments->file = gt_str_new();
  arguments->smap = gt_str_new();
  arguments->name = gt_str_new();
  arguments->rng.start = GT_UNDEF_UWORD;
  arguments->rng.end = GT_UNDEF_UWORD;
  arguments->bench = 0;

  return arguments;
}

// Assembly:
pushq %rax
movl $0x1, %edi
movl $0x48, %esi
leaq 0x4f7a96(%rip), %rdx    # 0x518098
movl $0x32, %ecx
callq 0xe83c0
movq %rax, (%rsp)
callq 0x11d4a0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x18(%rax)
callq 0x11d4a0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x20(%rax)
callq 0x11d4a0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x30(%rax)
movq (%rsp), %rax
movq $-0x1, 0x38(%rax)
movq (%rsp), %rax
movq $-0x1, 0x40(%rax)
movq (%rsp), %rax
movq $0x0, 0x8(%rax)
movq (%rsp), %rax
popq %rcx
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_compreads_decompress.c
// Function: gt_compreads_decompress_arguments_delete
static void gt_compreads_decompress_arguments_delete(void *tool_arguments)
{
  GtCsrHcrDecodeArguments *arguments = tool_arguments;
  if (!arguments) return;
  gt_str_delete(arguments->file);
  gt_str_delete(arguments->name);
  gt_str_delete(arguments->smap);
  gt_free(arguments);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x2068d
jmp 0x206cd
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rax
movq 0x30(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rdi
leaq 0x4f79d5(%rip), %rsi    # 0x518098
movl $0x44, %edx
callq 0xe88c0
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_compreads_refcompress.c
// Function: gt_compreads_refcompress_arguments_new
static void* gt_compreads_refcompress_arguments_new(void)
{
  GtCsrRcrEncodeArguments *arguments = gt_calloc((size_t) 1, sizeof *arguments);
  arguments->name = gt_str_new();
  arguments->ref = gt_str_new();
  arguments->align = gt_str_new();
  arguments->qrng.start = GT_UNDEF_UWORD;
  arguments->qrng.end = GT_UNDEF_UWORD;

  return arguments;
}

// Assembly:
pushq %rax
movl $0x1, %edi
movl $0x38, %esi
leaq 0x4f7369(%rip), %rdx    # 0x5183fb
movl $0x35, %ecx
callq 0xe83c0
movq %rax, (%rsp)
callq 0x11d4a0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x8(%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)
movq (%rsp), %rax
movq $-0x1, 0x28(%rax)
movq (%rsp), %rax
movq $-0x1, 0x30(%rax)
movq (%rsp), %rax
popq %rcx
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_compreads_refcompress.c
// Function: gt_compreads_refcompress_arguments_delete
static void gt_compreads_refcompress_arguments_delete(void *tool_arguments)
{
  GtCsrRcrEncodeArguments *arguments = tool_arguments;
  if (!arguments) return;
  gt_str_delete(arguments->name);
  gt_str_delete(arguments->ref);
  gt_str_delete(arguments->align);
  gt_free(arguments);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x2110d
jmp 0x2114d
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rdi
leaq 0x4f72b8(%rip), %rsi    # 0x5183fb
movl $0x46, %edx
callq 0xe88c0
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_compreads_refdecompress.c
// Function: gt_compreads_refdecompress_arguments_new
static void* gt_compreads_refdecompress_arguments_new(void)
{
  GtCsrRcrDecodeArguments *arguments = gt_calloc((size_t) 1, sizeof *arguments);
  arguments->file = gt_str_new();
  arguments->ref = gt_str_new();
  arguments->name = gt_str_new();

  return arguments;
}

// Assembly:
pushq %rax
movl $0x1, %edi
movl $0x20, %esi
leaq 0x4f6dc6(%rip), %rdx    # 0x518788
movl $0x2c, %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 0x11d4a0
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_compreads_refdecompress.c
// Function: gt_compreads_refdecompress_arguments_delete
static void gt_compreads_refdecompress_arguments_delete(void *tool_arguments)
{
  GtCsrRcrDecodeArguments *arguments = tool_arguments;
  if (!arguments) return;
  gt_str_delete(arguments->file);
  gt_str_delete(arguments->name);
  gt_str_delete(arguments->ref);
  gt_free(arguments);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x21a2d
jmp 0x21a6c
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 0x11f560
movq 0x8(%rsp), %rdi
leaq 0x4f6d26(%rip), %rsi    # 0x518788
movl $0x3b, %edx
callq 0xe88c0
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_compressedbits.c
// Function: gt_compressedbits_arguments_new
static void* gt_compressedbits_arguments_new(void)
{
  GtCompressdbitsArguments *arguments =
    gt_calloc((size_t) 1, sizeof *arguments);
  arguments->filename = gt_str_new();
  return arguments;
}

// Assembly:
pushq %rax
movl $0x1, %edi
movl $0x40, %esi
leaq 0x4f693e(%rip), %rdx    # 0x518950
movl $0x31, %ecx
callq 0xe83c0
movq %rax, (%rsp)
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/tools/gt_compressedbits.c
// Function: gt_compressedbits_arguments_delete
static void gt_compressedbits_arguments_delete(void *tool_arguments)
{
  GtCompressdbitsArguments *arguments = tool_arguments;
  if (arguments != NULL) {
    gt_str_delete(arguments->filename);
    gt_free(arguments);
  }
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x2207f
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rdi
leaq 0x4f68db(%rip), %rsi    # 0x518950
movl $0x3b, %edx
callq 0xe88c0
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_condenseq.c
// Function: gt_condenseq_toolbox_new
static void* gt_condenseq_toolbox_new(void)
{
  GtToolbox *condenseq_toolbox = gt_toolbox_new();
  gt_toolbox_add_tool(condenseq_toolbox, "compress", gt_condenseq_compress());
  gt_toolbox_add_tool(condenseq_toolbox, "search", gt_condenseq_search());
  gt_toolbox_add_tool(condenseq_toolbox, "extract", gt_condenseq_extract());
  gt_toolbox_add_tool(condenseq_toolbox, "info", gt_condenseq_info());
  return condenseq_toolbox;
}

// Assembly:
subq $0x28, %rsp
callq 0x1235b0
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq %rax, (%rsp)
callq 0x25bd0
movq (%rsp), %rdi
movq %rax, %rdx
leaq 0x4f4f8d(%rip), %rsi    # 0x517ab7
callq 0x1235f0
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
callq 0x29cf0
movq 0x8(%rsp), %rdi
movq %rax, %rdx
leaq 0x4f661d(%rip), %rsi    # 0x51916a
callq 0x1235f0
movq 0x20(%rsp), %rax
movq %rax, 0x10(%rsp)
callq 0x26a20
movq 0x10(%rsp), %rdi
movq %rax, %rdx
leaq 0x4fa81d(%rip), %rsi    # 0x51d38d
callq 0x1235f0
movq 0x20(%rsp), %rax
movq %rax, 0x18(%rsp)
callq 0x293c0
movq 0x18(%rsp), %rdi
movq %rax, %rdx
leaq 0x54350d(%rip), %rsi    # 0x5660a0
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_condenseq.c
// Function: gt_condenseq_option_parser_new
static GtOptionParser* gt_condenseq_option_parser_new(void *tool_arguments)
{
  GtToolbox *condenseq_toolbox = tool_arguments;
  GtOptionParser *op;
  gt_assert(condenseq_toolbox);

  /* init */
  op = gt_option_parser_new("tool [option ...]",
                            "Call one of the CONDENSER tools to prepare "
                            "or manipulate redundancy compressed genomic data."
                            );
  gt_option_parser_set_comment_func(op, gt_toolbox_show, condenseq_toolbox);
  gt_option_parser_set_min_args(op, 1U);
  return op;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x22c33
movq 0x61939e(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4f3407(%rip), %rsi    # 0x516013
leaq 0x4f6028(%rip), %rdx    # 0x518c3b
leaq 0x4f6033(%rip), %rcx    # 0x518c4d
leaq 0x4f604b(%rip), %r8     # 0x518c6c
movl $0x31, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x22c35
leaq 0x4f6049(%rip), %rdi    # 0x518c85
leaq 0x4f6054(%rip), %rsi    # 0x518c97
callq 0xf1420
movq %rax, (%rsp)
movq (%rsp), %rdi
movq 0x8(%rsp), %rdx
leaq 0x100d44(%rip), %rsi    # 0x1239a0
callq 0xf1770
movq (%rsp), %rdi
movl $0x1, %esi
callq 0xf2980
movq (%rsp), %rax
addq $0x18, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_condenseq_blast.c
// Function: gt_condenseq_blast_arguments_new
static void* gt_condenseq_blast_arguments_new(void)
{
  GtCondenseqBlastArguments *arguments =
    gt_calloc((size_t) 1, sizeof *arguments);
  arguments->csa = gt_condenseq_search_arguments_new();
  arguments->extraopts = gt_str_new();
  arguments->gff = gt_str_new();
  arguments->ofi = gt_output_file_info_new();
  arguments->querypath = gt_str_new();
  return arguments;
}

// Assembly:
pushq %rax
movl $0x1, %edi
movl $0x50, %esi
leaq 0x4f5ed6(%rip), %rdx    # 0x518d78
movl $0x6b, %ecx
callq 0xe83c0
movq %rax, (%rsp)
callq 0x148a30
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
callq 0x11d4a0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x28(%rax)
callq 0x11d4a0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x20(%rax)
callq 0xf7d20
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x8(%rax)
callq 0x11d4a0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x18(%rax)
movq (%rsp), %rax
popq %rcx
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_condenseq_blast.c
// Function: gt_condenseq_blast_arguments_delete
static void gt_condenseq_blast_arguments_delete(void *tool_arguments)
{
  GtCondenseqBlastArguments *arguments = tool_arguments;
  if (arguments != NULL) {
    gt_condenseq_search_arguments_delete(arguments->csa);
    gt_file_delete(arguments->outfp);
    gt_output_file_info_delete(arguments->ofi);
    gt_str_delete(arguments->extraopts);
    gt_str_delete(arguments->gff);
    gt_str_delete(arguments->querypath);
    gt_free(arguments);
  }
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x22f94
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x148a60
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0xde430
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0xf8210
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rdi
leaq 0x4f5dee(%rip), %rsi    # 0x518d78
movl $0x7e, %edx
callq 0xe88c0
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_condenseq_blast.c
// Function: gt_condenseq_blast_arguments_check
static int gt_condenseq_blast_arguments_check(GT_UNUSED int rest_argc,
                                              void *tool_arguments,
                                              GT_UNUSED GtError *err)
{
  GtCondenseqBlastArguments *arguments = tool_arguments;
  int had_err = 0;
  if (!(arguments->blastn || arguments->blastp)) {
    gt_error_set(err, "no other searches then blast implemented yet, please "
                 "provide either -blastn or -blastp");
    had_err = -1;
  }
  gt_error_check(err);
  gt_assert(arguments);

  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)
movq 0x8(%rsp), %rax
testb $0x1, 0x4d(%rax)
jne 0x23315
movq 0x8(%rsp), %rax
testb $0x1, 0x4c(%rax)
jne 0x23315
movq 0x10(%rsp), %rdi
leaq 0x4f5d42(%rip), %rsi    # 0x519048
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x4(%rsp)  # imm = 0xFFFFFFFF
jmp 0x23317
cmpq $0x0, 0x10(%rsp)
je 0x23367
movq 0x10(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x2332f
jmp 0x23367
movq 0x618c6a(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4f2cd3(%rip), %rsi    # 0x516013
leaq 0x4f2e78(%rip), %rdx    # 0x5161bf
leaq 0x4f5d51(%rip), %rcx    # 0x51909f
leaq 0x4f5a23(%rip), %r8     # 0x518d78
movl $0xe1, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x23369
jmp 0x2336b
cmpq $0x0, 0x8(%rsp)
jne 0x233ab
movq 0x618c26(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4f2c8f(%rip), %rsi    # 0x516013
leaq 0x5577d4(%rip), %rdx    # 0x57ab5f
leaq 0x4f5d0d(%rip), %rcx    # 0x51909f
leaq 0x4f59df(%rip), %r8     # 0x518d78
movl $0xe2, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x233ad
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_condenseq_blast.c
// Function: gt_ces_blast_range_compare
static int gt_ces_blast_range_compare(const void *a, const void *b,
                                      GT_UNUSED void* data)
{
  const HitRange *rangeA = a,
        *rangeB = b;
  gt_assert(data == NULL);

  if (rangeA->seqid < rangeB->seqid)
    return -1;
  if (rangeA->seqid > rangeB->seqid)
    return 1;
  if (rangeA->range.start < rangeB->range.start)
    return -1;
  if (rangeA->range.start > rangeB->range.start)
    return 1;
  if (rangeA->range.end < rangeB->range.end)
    return -1;
  if (rangeA->range.end > rangeB->range.end)
    return 1;
  return 0;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movq %rdx, 0x18(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x18(%rsp)
je 0x25657
movq 0x61697a(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4f09e3(%rip), %rsi    # 0x516013
leaq 0x55b968(%rip), %rdx    # 0x580f9f
leaq 0x4f3f34(%rip), %rcx    # 0x519572
leaq 0x4f3733(%rip), %r8     # 0x518d78
movl $0x144, %r9d            # imm = 0x144
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x25659
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rsp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x2567a
movl $0xffffffff, 0x34(%rsp) # imm = 0xFFFFFFFF
jmp 0x25714
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rsp), %rcx
cmpq 0x10(%rcx), %rax
jbe 0x25698
movl $0x1, 0x34(%rsp)
jmp 0x25714
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
cmpq (%rcx), %rax
jae 0x256b4
movl $0xffffffff, 0x34(%rsp) # imm = 0xFFFFFFFF
jmp 0x25714
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
cmpq (%rcx), %rax
jbe 0x256d0
movl $0x1, 0x34(%rsp)
jmp 0x25714
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jae 0x256ee
movl $0xffffffff, 0x34(%rsp) # imm = 0xFFFFFFFF
jmp 0x25714
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jbe 0x2570c
movl $0x1, 0x34(%rsp)
jmp 0x25714
movl $0x0, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_condenseq_blast.c
// Function: gt_condenseq_blast_process_hit
static int gt_condenseq_blast_process_hit(void *data,
                                          GtUword seqid,
                                          GtRange seqrange,
                                          GT_UNUSED GtError *err)
{
  GtCondenseqBlastPrintHitInfo *info =
    (GtCondenseqBlastPrintHitInfo *) data;
  bool nodecreated;
  HitRange *key = gt_malloc(sizeof(*key));

  gt_error_check(err);

  key->range = seqrange;
  key->seqid = seqid;
  key = gt_rbtree_search(info->to_extract_rbt, key, &nodecreated);
  if (!nodecreated)
    gt_free(key);

  return 0;
}

// Assembly:
subq $0x48, %rsp
movq %rdx, 0x38(%rsp)
movq %rcx, 0x40(%rsp)
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq %r8, 0x20(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x18(%rsp)
movl $0x18, %edi
leaq 0x4f3605(%rip), %rsi    # 0x518d78
movl $0x15d, %edx            # imm = 0x15D
callq 0xe80f0
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x20(%rsp)
je 0x257d2
movq 0x20(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x2579a
jmp 0x257d2
movq 0x6167ff(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4f0868(%rip), %rsi    # 0x516013
leaq 0x4f0a0d(%rip), %rdx    # 0x5161bf
leaq 0x4f3dd4(%rip), %rcx    # 0x51958d
leaq 0x4f35b8(%rip), %r8     # 0x518d78
movl $0x15f, %r9d            # imm = 0x15F
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x257d4
movq 0x8(%rsp), %rax
movq 0x38(%rsp), %rcx
movq %rcx, (%rax)
movq 0x40(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq 0x28(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rdi
movq 0x8(%rsp), %rsi
leaq 0x17(%rsp), %rdx
callq 0x1b8790
movq %rax, 0x8(%rsp)
testb $0x1, 0x17(%rsp)
jne 0x25832
movq 0x8(%rsp), %rdi
leaq 0x4f3550(%rip), %rsi    # 0x518d78
movl $0x165, %edx            # imm = 0x165
callq 0xe88c0
xorl %eax, %eax
addq $0x48, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_condenseq_blast.c
// Function: gt_condenseq_avg_helper
static inline int gt_condenseq_avg_helper(GtUword current_len,
                                          void *data,
                                          GT_UNUSED GtError *err)
{
  GtCondenseqBlastQInfo *qinfo = (GtCondenseqBlastQInfo *) data;
  qinfo->avg += current_len;
  qinfo->count++;
  gt_assert(qinfo->avg >= current_len);
  qinfo->max = qinfo->max < current_len ? current_len : qinfo->max;
  return 0;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rcx
movq 0x8(%rsp), %rax
addq (%rax), %rcx
movq %rcx, (%rax)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x10(%rax)
movq 0x8(%rsp), %rax
movq (%rax), %rax
cmpq 0x20(%rsp), %rax
jae 0x258c5
movq 0x61670c(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4f0775(%rip), %rsi    # 0x516013
leaq 0x4f3acb(%rip), %rdx    # 0x519370
leaq 0x4f3ade(%rip), %rcx    # 0x51938a
leaq 0x4f34c5(%rip), %r8     # 0x518d78
movl $0x12a, %r9d            # imm = 0x12A
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x258c7
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
cmpq 0x20(%rsp), %rax
jae 0x258e2
movq 0x20(%rsp), %rax
movq %rax, (%rsp)
jmp 0x258ef
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, (%rsp)
movq (%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x8(%rax)
xorl %eax, %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_condenseq_compress.c
// Function: gt_condenseq_compress_arguments_new
static void* gt_condenseq_compress_arguments_new(void)
{
  GtCondenseqCompressArguments *arguments = gt_calloc((size_t) 1,
                                                      sizeof *arguments);
  arguments->indexname = gt_str_new();
  arguments->input_es = NULL;
  return arguments;
}

// Assembly:
pushq %rax
movl $0x1, %edi
movl $0x60, %esi
leaq 0x4f39c6(%rip), %rdx    # 0x5195d8
movl $0x39, %ecx
callq 0xe83c0
movq %rax, (%rsp)
callq 0x11d4a0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x8(%rax)
movq (%rsp), %rax
movq $0x0, (%rax)
movq (%rsp), %rax
popq %rcx
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_condenseq_compress.c
// Function: gt_condenseq_compress_arguments_delete
static void gt_condenseq_compress_arguments_delete(void *tool_arguments)
{
  GtCondenseqCompressArguments *arguments = tool_arguments;
  if (arguments != NULL) {
    gt_str_delete(arguments->indexname);
    gt_encseq_delete(arguments->input_es);
    gt_free(arguments);
  }
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x25c9c
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0xae070
movq 0x8(%rsp), %rdi
leaq 0x4f3946(%rip), %rsi    # 0x5195d8
movl $0x45, %edx
callq 0xe88c0
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_condenseq_extract.c
// Function: gt_condenseq_extract_arguments_new
static void* gt_condenseq_extract_arguments_new(void)
{
  GtCondenserExtractArguments *arguments = gt_calloc((size_t) 1,
                                                     sizeof *arguments);
  arguments->range.start =
    arguments->range.end = GT_UNDEF_UWORD;
  arguments->seqrange.start =
    arguments->seqrange.end = GT_UNDEF_UWORD;
  arguments->ofi = gt_output_file_info_new();
  arguments->mode = gt_str_new();
  arguments->sepchar = gt_str_new();
  arguments->sepchar_opt = NULL;
  return arguments;
}

// Assembly:
pushq %rax
movl $0x1, %edi
movl $0x60, %esi
leaq 0x4f346f(%rip), %rdx    # 0x519ed1
movl $0x33, %ecx
callq 0xe83c0
movq %rax, (%rsp)
movq (%rsp), %rax
movq $-0x1, 0x30(%rax)
movq (%rsp), %rax
movq $-0x1, 0x28(%rax)
movq (%rsp), %rax
movq $-0x1, 0x40(%rax)
movq (%rsp), %rax
movq $-0x1, 0x38(%rax)
callq 0xf7d20
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x8(%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)
movq (%rsp), %rax
movq $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_condenseq_extract.c
// Function: gt_condenseq_extract_arguments_delete
static void gt_condenseq_extract_arguments_delete(void *tool_arguments)
{
  GtCondenserExtractArguments *arguments = tool_arguments;
  if (arguments != NULL) {
    gt_file_delete(arguments->outfp);
    gt_output_file_info_delete(arguments->ofi);
    gt_str_delete(arguments->mode);
    gt_str_delete(arguments->sepchar);
    gt_option_delete(arguments->sepchar_opt);
    gt_free(arguments);
  }
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x26b66
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0xde430
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0xf8210
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 0x20(%rax), %rdi
callq 0xf5df0
movq 0x8(%rsp), %rdi
leaq 0x4f3375(%rip), %rsi    # 0x519ed1
movl $0x48, %edx
callq 0xe88c0
addq $0x18, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_condenseq_hmmsearch.c
// Function: gt_condenseq_hmmsearch_arguments_new
static void* gt_condenseq_hmmsearch_arguments_new(void)
{
  GtCondenseqHmmsearchArguments *arguments =
    gt_calloc((size_t) 1, sizeof *arguments);
  arguments->csa = gt_condenseq_search_arguments_new();
  arguments->hmm = gt_str_new();
  arguments->hmmsearch_path = gt_str_new();
  arguments->outtable_filename = gt_str_new();
  return arguments;
}

// Assembly:
pushq %rax
movl $0x1, %edi
movl $0x30, %esi
leaq 0x4f29f8(%rip), %rdx    # 0x51a30a
movl $0x3c, %ecx
callq 0xe83c0
movq %rax, (%rsp)
callq 0x148a30
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
callq 0x11d4a0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x8(%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)
movq (%rsp), %rax
popq %rcx
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_condenseq_hmmsearch.c
// Function: gt_condenseq_hmmsearch_arguments_delete
static void gt_condenseq_hmmsearch_arguments_delete(void *tool_arguments)
{
  GtCondenseqHmmsearchArguments *arguments = tool_arguments;
  if (arguments != NULL) {
    gt_condenseq_search_arguments_delete(arguments->csa);
    gt_str_delete(arguments->hmm);
    gt_str_delete(arguments->hmmsearch_path);
    gt_str_delete(arguments->outtable_filename);
    gt_free(arguments);
  }
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x279d8
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x148a60
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rdi
leaq 0x4f293c(%rip), %rsi    # 0x51a30a
movl $0x4c, %edx
callq 0xe88c0
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_condenseq_hmmsearch.c
// Function: hmmsearch_cmp_seqnum
static int hmmsearch_cmp_seqnum(const void *a, const void *b,
                                GT_UNUSED void *data) {
  GtUword *a_w = (GtUword *) a,
  *b_w = (GtUword *) b;
  gt_assert(data == NULL);
  if (*a_w < *b_w)
    return -1;
  if (*a_w > *b_w)
    return 1;
  return 0;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movq %rdx, 0x18(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x18(%rsp)
je 0x28ec7
movq 0x61310a(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4ed173(%rip), %rsi    # 0x516013
leaq 0x5580f8(%rip), %rdx    # 0x580f9f
leaq 0x4f1941(%rip), %rcx    # 0x51a7ef
leaq 0x4f1455(%rip), %r8     # 0x51a30a
movl $0xca, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x28ec9
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
cmpq (%rcx), %rax
jae 0x28ee5
movl $0xffffffff, 0x34(%rsp) # imm = 0xFFFFFFFF
jmp 0x28f09
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
cmpq (%rcx), %rax
jbe 0x28f01
movl $0x1, 0x34(%rsp)
jmp 0x28f09
movl $0x0, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_condenseq_hmmsearch.c
// Function: hmmsearch_create_fine_fas
static void hmmsearch_create_fine_fas(GtStr *fine_fasta_filename,
                                      GtRBTree *seqnums,
                                      GtCondenseq *ces) {
  GtRBTreeIter *tree_iter;
  GtUword *seqnum;
  GtFile *gt_outfp;
  FILE *outfp;

  tree_iter = gt_rbtree_iter_new_from_first(seqnums);
  outfp = gt_xtmpfp_generic(fine_fasta_filename, GT_TMPFP_USETEMPLATE);
  gt_outfp = gt_file_new_from_fileptr(outfp);
  seqnum = gt_rbtree_iter_data(tree_iter);
  while (seqnum != NULL) {
    const char *seq, *desc;
    GtUword seqlen, desclen;
    seq = gt_condenseq_extract_decoded(ces, &seqlen, *seqnum);
    desc = gt_condenseq_description(ces, &desclen, *seqnum);
    gt_fasta_show_entry_nt(desc, desclen, seq, seqlen,
                           GT_FASTA_DEFAULT_WIDTH, gt_outfp);
    seqnum = gt_rbtree_iter_next(tree_iter);
  }
  gt_file_delete(gt_outfp);
  gt_rbtree_iter_delete(tree_iter);
}

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x50(%rsp)
movq %rsi, 0x48(%rsp)
movq %rdx, 0x40(%rsp)
movq 0x48(%rsp), %rdi
callq 0x1ba1b0
movq %rax, 0x38(%rsp)
movq 0x50(%rsp), %rdi
movl $0x2, %esi
leaq 0x4f1397(%rip), %rdx    # 0x51a30a
movl $0xdb, %ecx
callq 0xd9e50
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rdi
callq 0xdda20
movq %rax, 0x28(%rsp)
movq 0x38(%rsp), %rdi
callq 0x1ba6d0
movq %rax, 0x30(%rsp)
cmpq $0x0, 0x30(%rsp)
je 0x29012
movq 0x40(%rsp), %rdi
movq 0x30(%rsp), %rax
movq (%rax), %rdx
leaq 0x8(%rsp), %rsi
callq 0x1414c0
movq %rax, 0x18(%rsp)
movq 0x40(%rsp), %rdi
movq 0x30(%rsp), %rax
movq (%rax), %rdx
movq %rsp, %rsi
callq 0x13e570
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movq (%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x8(%rsp), %rcx
movq 0x28(%rsp), %r9
movl $0x50, %r8d
callq 0xdbeb0
movq 0x38(%rsp), %rdi
callq 0x1ba470
movq %rax, 0x30(%rsp)
jmp 0x28fa0
movq 0x28(%rsp), %rdi
callq 0xde430
movq 0x38(%rsp), %rdi
callq 0x1ba760
addq $0x58, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_condenseq_hmmsearch.c
// Function: hmmsearch_process_seq
static int hmmsearch_process_seq(void *data,
                                 GtUword seqnum,
                                 GT_UNUSED GtError *err)
{
  int had_err = 0;
  bool nodecreated = false;
  GtUword *seqnum_p = gt_malloc(sizeof (*seqnum_p));
  GtRBTree *tree = data;
  *seqnum_p = seqnum;
  (void) gt_rbtree_search(tree,
                          seqnum_p,
                          &nodecreated);
  if (!nodecreated)
    gt_free(seqnum_p);
  return had_err;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
movl $0x0, 0x1c(%rsp)
movb $0x0, 0x1b(%rsp)
movl $0x8, %edi
leaq 0x4f0fae(%rip), %rsi    # 0x51a30a
movl $0xbb, %edx
callq 0xe80f0
movq %rax, 0x10(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x28(%rsp), %rcx
movq 0x10(%rsp), %rax
movq %rcx, (%rax)
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
leaq 0x1b(%rsp), %rdx
callq 0x1b8790
testb $0x1, 0x1b(%rsp)
jne 0x293b3
movq 0x10(%rsp), %rdi
leaq 0x4f0f61(%rip), %rsi    # 0x51a30a
movl $0xc2, %edx
callq 0xe88c0
movl 0x1c(%rsp), %eax
addq $0x38, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_condenseq_search.c
// Function: gt_condenseq_search_toolbox_new
static void* gt_condenseq_search_toolbox_new(void)
{
  GtToolbox *condenseq_search_toolbox = gt_toolbox_new();
  gt_toolbox_add_tool(condenseq_search_toolbox,
                      "blast", gt_condenseq_blast());
  gt_toolbox_add_tool(condenseq_search_toolbox,
                      "hmmsearch", gt_condenseq_hmmsearch());
  return condenseq_search_toolbox;
}

// Assembly:
subq $0x18, %rsp
callq 0x1235b0
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, (%rsp)
callq 0x22e60
movq (%rsp), %rdi
movq %rax, %rdx
leaq 0x53019f(%rip), %rsi    # 0x559ee9
callq 0x1235f0
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
callq 0x278d0
movq 0x8(%rsp), %rdi
movq %rax, %rdx
leaq 0x4f09d1(%rip), %rsi    # 0x51a73e
callq 0x1235f0
movq 0x10(%rsp), %rax
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_condenseq_search.c
// Function: gt_condenseq_search_option_parser_new
static GtOptionParser*
  gt_condenseq_search_option_parser_new(void *toolbox)
{
  GtToolbox *search_toolbox = toolbox;
  GtOptionParser *option_parser;
  gt_assert(search_toolbox);

  /* init */
  option_parser = gt_option_parser_new("tool [option ...]",
                            "Call one of the CONDENSER search tools to query "
                            "redundancy compressed genomic data.");
  gt_option_parser_set_comment_func(option_parser, gt_toolbox_show,
                                    search_toolbox);
  gt_option_parser_set_min_args(option_parser, 1U);
  return option_parser;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x29e03
movq 0x6121ce(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4ec237(%rip), %rsi    # 0x516013
leaq 0x4f0e34(%rip), %rdx    # 0x51ac17
leaq 0x4f0e3c(%rip), %rcx    # 0x51ac26
leaq 0x4f0e5b(%rip), %r8     # 0x51ac4c
movl $0x3c, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x29e05
leaq 0x4eee79(%rip), %rdi    # 0x518c85
leaq 0x4f0e59(%rip), %rsi    # 0x51ac6c
callq 0xf1420
movq %rax, (%rsp)
movq (%rsp), %rdi
movq 0x8(%rsp), %rdx
leaq 0xf9b74(%rip), %rsi     # 0x1239a0
callq 0xf1770
movq (%rsp), %rdi
movl $0x1, %esi
callq 0xf2980
movq (%rsp), %rax
addq $0x18, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_congruence.c
// Function: gt_cge_option_parser_new
static GtOptionParser* gt_cge_option_parser_new(void *tool_arguments)
{
  GtToolbox *index_toolbox = tool_arguments;
  GtOptionParser *op;

  gt_assert(index_toolbox != NULL);
  op = gt_option_parser_new(
                    "[option ...] congruence_tool [argument ...]",
                    "Call a congruence 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 0x2a133
movq 0x611e9e(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4ebf07(%rip), %rsi    # 0x516013
leaq 0x4f0d92(%rip), %rdx    # 0x51aea5
leaq 0x4f0da1(%rip), %rcx    # 0x51aebb
leaq 0x4f0c02(%rip), %r8     # 0x51ad23
movl $0xc8, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2a135
leaq 0x4f0d98(%rip), %rdi    # 0x51aed4
leaq 0x4f0dbd(%rip), %rsi    # 0x51af00
callq 0xf1420
movq %rax, (%rsp)
movq (%rsp), %rdi
movq 0x8(%rsp), %rdx
leaq 0xf9844(%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_congruence.c
// Function: gt_cge_spacedseed_arguments_new
static void *gt_cge_spacedseed_arguments_new(void)
{
  Cge_spacedseed_options *arguments
    = gt_malloc(sizeof (Cge_spacedseed_options));
  arguments->str_inputindex = gt_str_new();
  arguments->queryfilenames = gt_str_array_new();
  return arguments;
}

// Assembly:
pushq %rax
movl $0x28, %edi
leaq 0x4f0906(%rip), %rsi    # 0x51ad23
movl $0x2a, %edx
callq 0xe80f0
movq %rax, (%rsp)
callq 0x11d4a0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x8(%rax)
callq 0x11f5c0
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_congruence.c
// Function: gt_cge_spacedseed_arguments_delete
static void gt_cge_spacedseed_arguments_delete(void *tool_arguments)
{
  Cge_spacedseed_options *arguments = tool_arguments;

  if (!arguments)
  {
    return;
  }
  gt_str_delete(arguments->str_inputindex);
  gt_str_array_delete(arguments->queryfilenames);
  gt_option_delete(arguments->refoptionpckindex);
  gt_option_delete(arguments->refoptionesaindex);
  gt_free(arguments);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x2a47d
jmp 0x2a4cb
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x11fd20
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rdi
callq 0xf5df0
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0xf5df0
movq 0x8(%rsp), %rdi
leaq 0x4f0862(%rip), %rsi    # 0x51ad23
movl $0x3c, %edx
callq 0xe88c0
addq $0x18, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_congruence.c
// Function: gt_cge_spacedseed_arguments_check
static int gt_cge_spacedseed_arguments_check(int rest_argc,
                                             void *tool_arguments,
                                             GtError *err)
{
  Cge_spacedseed_options *arguments = tool_arguments;

  if (gt_str_length(arguments->str_inputindex) == 0)
  {
    gt_error_set(err,"missing indexname");
    return -1;
  }
  if (gt_option_is_set(arguments->refoptionesaindex))
  {
    arguments->withesa = true;
  } else
  {
    gt_assert(gt_option_is_set(arguments->refoptionpckindex));
    arguments->withesa = false;
  }
  if (rest_argc != 0)
  {
    gt_error_set(err,"superfluous file arguments");
    return -1;
  }
  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)
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x11dfa0
cmpq $0x0, %rax
jne 0x2a6b0
movq 0x10(%rsp), %rdi
leaq 0x4f0754(%rip), %rsi    # 0x51adf0
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x24(%rsp) # imm = 0xFFFFFFFF
jmp 0x2a750
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0xf74a0
testb $0x1, %al
jne 0x2a6c4
jmp 0x2a6ce
movq 0x8(%rsp), %rax
movb $0x1, (%rax)
jmp 0x2a724
jmp 0x2a6d0
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rdi
callq 0xf74a0
testb $0x1, %al
jne 0x2a71a
movq 0x6118b7(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4eb920(%rip), %rsi    # 0x516013
leaq 0x4f0708(%rip), %rdx    # 0x51ae02
leaq 0x4f0730(%rip), %rcx    # 0x51ae31
leaq 0x4f061b(%rip), %r8     # 0x51ad23
movl $0x7c, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2a71c
movq 0x8(%rsp), %rax
movb $0x0, (%rax)
cmpl $0x0, 0x20(%rsp)
je 0x2a748
movq 0x10(%rsp), %rdi
leaq 0x4f071c(%rip), %rsi    # 0x51ae53
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x24(%rsp) # imm = 0xFFFFFFFF
jmp 0x2a750
movl $0x0, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_consensus_sa.c
// Function: get_strand
static GtStrand get_strand(const void *sa)
{
  GtSSplicedAlignment *alignment = *(GtSSplicedAlignment**) sa;
  if (gt_sspliced_alignment_is_forward(alignment))
    return GT_STRAND_FORWARD;
  return GT_STRAND_REVERSE;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq %rax, (%rsp)
movq (%rsp), %rdi
callq 0x1e1fc0
testb $0x1, %al
jne 0x2ac24
jmp 0x2ac2e
movl $0x0, 0x14(%rsp)
jmp 0x2ac36
movl $0x1, 0x14(%rsp)
movl 0x14(%rsp), %eax
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_consensus_sa.c
// Function: get_exons
static void get_exons(GtArray *exon_ranges, const void *sa)
{
  GtSSplicedAlignment *alignment = *(GtSSplicedAlignment**) sa;
  GtRange exon;
  GtUword i;
  gt_assert(alignment);
  for (i = 0; i < gt_sspliced_alignment_num_of_exons(alignment); i++) {
    exon = gt_sspliced_alignment_get_exon(alignment, i);
    gt_array_add(exon_ranges, exon);
  }
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq %rsi, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x30(%rsp)
cmpq $0x0, 0x30(%rsp)
jne 0x2ac9b
movq 0x611336(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4eb39f(%rip), %rsi    # 0x516013
leaq 0x4f5f62(%rip), %rdx    # 0x520bdd
leaq 0x521bb2(%rip), %rcx    # 0x54c834
leaq 0x4f03a1(%rip), %r8     # 0x51b02a
movl $0x2e, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2ac9d
movq $0x0, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq 0x30(%rsp), %rdi
callq 0x1e2090
movq %rax, %rcx
movq (%rsp), %rax
cmpq %rcx, %rax
jae 0x2ad16
movq 0x30(%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0x1e20f0
movq %rax, 0x8(%rsp)
movq %rdx, 0x10(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
movl $0x10, %edx
callq 0x81100
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
jmp 0x2aca6
addq $0x48, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_consensus_sa.c
// Function: process_splice_form
static void process_splice_form(GtArray *spliced_alignments_in_form,
                                GT_UNUSED const void *set_of_sas,
                                GT_UNUSED GtUword number_of_sas,
                                GT_UNUSED size_t size_of_sa,
                                GT_UNUSED void *userdata)
{
  GtUword i;

  printf("contains [");
  for (i = 0; i < gt_array_size(spliced_alignments_in_form); i++) {
    if (i)
      gt_xputchar(',');
    printf(""GT_WU"",
           *((GtUword*) gt_array_get(spliced_alignments_in_form, i)));
  }
  printf("]\n");
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
movq %rcx, 0x18(%rsp)
movq %r8, 0x10(%rsp)
leaq 0x4f0302(%rip), %rdi    # 0x51b046
movb $0x0, %al
callq 0x19070
movq $0x0, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, (%rsp)
movq 0x30(%rsp), %rdi
callq 0x81370
movq %rax, %rcx
movq (%rsp), %rax
cmpq %rcx, %rax
jae 0x2adb5
cmpq $0x0, 0x8(%rsp)
je 0x2ad85
movl $0x2c, %edi
callq 0x126e30
movq 0x30(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0x80b60
movq (%rax), %rsi
leaq 0x56426b(%rip), %rdi    # 0x58f009
movb $0x0, %al
callq 0x19070
movq 0x8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8(%rsp)
jmp 0x2ad54
leaq 0x522a90(%rip), %rdi    # 0x54d84c
movb $0x0, %al
callq 0x19070
addq $0x38, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_convertseq.c
// Function: gt_convertseq_arguments_new
static void* gt_convertseq_arguments_new(void)
{
  GtConvertseqArguments *arguments = gt_calloc((size_t) 1, sizeof *arguments);
  arguments->ofi = gt_output_file_info_new();
  arguments->outfp = NULL;
  return arguments;
}

// Assembly:
pushq %rax
movl $0x1, %edi
movl $0x20, %esi
leaq 0x4f023f(%rip), %rdx    # 0x51b051
movl $0x31, %ecx
callq 0xe83c0
movq %rax, (%rsp)
callq 0xf7d20
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
movq (%rsp), %rax
movq $0x0, 0x18(%rax)
movq (%rsp), %rax
popq %rcx
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_convertseq.c
// Function: gt_convertseq_arguments_delete
static void gt_convertseq_arguments_delete(void *tool_arguments)
{
  GtConvertseqArguments *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 0x2ae6d
jmp 0x2ae9f
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 0x4f01bc(%rip), %rsi    # 0x51b051
movl $0x3d, %edx
callq 0xe88c0
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_csa.c
// Function: gt_csa_arguments_delete
static void gt_csa_arguments_delete(void *tool_arguments)
{
  CSAArguments *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 0x2b8bd
jmp 0x2b8ef
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 0x4ef954(%rip), %rsi    # 0x51b239
movl $0x31, %edx
callq 0xe88c0
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)