// File: /workspace/github_c_makefile_star2_O1/genometools[P]genometools/src/tools/gt_compreads_decompress.c
// Function: gt_compreads_decompress_option_parser_new
static GtOptionParser*
gt_compreads_decompress_option_parser_new(void *tool_arguments)
{
  GtCsrHcrDecodeArguments *arguments = tool_arguments;
  GtOptionParser *op;
  GtOption *option;
  gt_assert(arguments);

  /* init */
  op = gt_option_parser_new("[option ...] (-file file)",
                         "Decodes a file of compressed reads.");

  option = gt_option_new_bool("v", "be verbose",
                              &arguments->verbose, false);
  gt_option_parser_add_option(op, option);

  option = gt_option_new_bool("descs","enable description decoding",
                              &arguments->descs, false);
  gt_option_parser_add_option(op, option);

  option = gt_option_new_string("file", "specify base name of files containing"
                                " HCR.",
                                arguments->file, NULL);
  gt_option_is_mandatory(option);
  gt_option_parser_add_option(op, option);

  option = gt_option_new_string("name", "specify base name for decoded hcr"
                                " (suffix will be \".fastq\")",
                                arguments->name, NULL);
  gt_option_parser_add_option(op, option);

  option = gt_option_new_string("smap", "specify file containing alphabet"
                                "description (file must be an .al1 file)."
                                " If \"-smap\" is not set, dna alphabet is"
                                " used.",
                                arguments->smap, NULL);
  gt_option_parser_add_option(op, option);

  option = gt_option_new_range("range", "decode multiple consecutive reads."
                               " If range is not specified, the "
                               " entire file will be decoded.",
                               &arguments->rng, NULL);
  gt_option_parser_add_option(op, option);

  option = gt_option_new_uword("benchmark", "decode given number random reads "
                               "and report the time to do this",
                               &arguments->bench, 0);
  gt_option_is_development_option(option);
  gt_option_parser_add_option(op, option);

  option = gt_option_new_uword("width",
                               "set width of output, 0 disables formatting. "
                               "line breaks in quality strings can cause "
                               "problems with parsers, use with care",
                               &arguments->width, 0);
  gt_option_parser_add_option(op, option);

  gt_option_parser_set_min_max_args(op, 0U, 0U);
  return op;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
testq %rdi, %rdi
je 0x9d949
movq %rdi, %r14
leaq 0x2b28bf(%rip), %rdi    # 0x3500ac
leaq 0x2b28d2(%rip), %rsi    # 0x3500c6
callq 0x10cc4e
movq %rax, %rbx
leaq 0x1(%r14), %rdx
leaq 0x2fb453(%rip), %rdi    # 0x398c5a
leaq 0x2b28dc(%rip), %rsi    # 0x3500ea
xorl %ecx, %ecx
callq 0x10f451
movq %rbx, %rdi
movq %rax, %rsi
callq 0x10cd10
leaq 0x31e63f(%rip), %rdi    # 0x3bbe66
leaq 0x2b28c7(%rip), %rsi    # 0x3500f5
movq %r14, %rdx
xorl %ecx, %ecx
callq 0x10f451
movq %rbx, %rdi
movq %rax, %rsi
callq 0x10cd10
movq 0x18(%r14), %rdx
leaq 0x2b506e(%rip), %rdi    # 0x3528bc
leaq 0x2b28bc(%rip), %rsi    # 0x350111
xorl %ecx, %ecx
callq 0x10f987
movq %rax, %r15
movq %rax, %rdi
callq 0x10fa96
movq %rbx, %rdi
movq %r15, %rsi
callq 0x10cd10
movq 0x30(%r14), %rdx
leaq 0x2ee2a5(%rip), %rdi    # 0x38bb22
leaq 0x2b28b8(%rip), %rsi    # 0x35013c
xorl %ecx, %ecx
callq 0x10f987
movq %rbx, %rdi
movq %rax, %rsi
callq 0x10cd10
movq 0x20(%r14), %rdx
leaq 0x2d10f9(%rip), %rdi    # 0x36e99a
leaq 0x2b28d0(%rip), %rsi    # 0x350178
xorl %ecx, %ecx
callq 0x10f987
movq %rbx, %rdi
movq %rax, %rsi
callq 0x10cd10
leaq 0x38(%r14), %rdx
leaq 0x2e8ef7(%rip), %rdi    # 0x3867bc
leaq 0x2b2922(%rip), %rsi    # 0x3501ee
xorl %ecx, %ecx
callq 0x10f913
movq %rbx, %rdi
movq %rax, %rsi
callq 0x10cd10
leaq 0x8(%r14), %rdx
leaq 0x2b31e1(%rip), %rdi    # 0x350aca
leaq 0x2b295e(%rip), %rsi    # 0x35024e
xorl %ecx, %ecx
callq 0x10f4c7
movq %rax, %r15
movq %rax, %rdi
callq 0x10fbef
movq %rbx, %rdi
movq %r15, %rsi
callq 0x10cd10
addq $0x10, %r14
leaq 0x322fee(%rip), %rdi    # 0x3c0906
leaq 0x2b296f(%rip), %rsi    # 0x35028e
movq %r14, %rdx
xorl %ecx, %ecx
callq 0x10f4c7
movq %rbx, %rdi
movq %rax, %rsi
callq 0x10cd10
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x10d784
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
callq 0x1899b