// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/tools/gt_compreads_refdecompress.c
// Function: gt_compreads_refdecompress_option_parser_new
static GtOptionParser* gt_compreads_refdecompress_option_parser_new(
                                void *tool_arguments)
{
  GtCsrRcrDecodeArguments *arguments = tool_arguments;
  GtOptionParser *op;
  GtOption *option;
  gt_assert(arguments);

  /* init */
  op = gt_option_parser_new("[option ...] (-file file)",
                         "Decodes a given RCR (Reference 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("qnames", "decode read names, default is "
                              "to just number them",
                              &arguments->qnames, false);
  gt_option_parser_add_option(op, option);

  option = gt_option_new_string("ref", "Index file (generated by the gt encseq"
                                " tool) for reference genome.",
                                arguments->ref, NULL);
  gt_option_is_mandatory(option);
  gt_option_parser_add_option(op, option);

  option = gt_option_new_string("rcr", "specify base name of file containing"
                                " RCR.",
                                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 RCR"
                                " (suffix will be \".rcr.decoded\")",
                                arguments->name, NULL);
  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 0x1d03b
movq %rdi, %r14
leaq 0x2ca15e(%rip), %rdi    # 0x2e70ac
leaq 0x2ca84d(%rip), %rsi    # 0x2e77a2
callq 0x97df5
movq %rax, %rbx
leaq 0x18(%r14), %rdx
leaq 0x312c08(%rip), %rdi    # 0x32fb70
leaq 0x2ca17b(%rip), %rsi    # 0x2e70ea
xorl %ecx, %ecx
callq 0x9a997
movq %rbx, %rdi
movq %rax, %rsi
callq 0x97f31
leaq 0x19(%r14), %rdx
leaq 0x2ca848(%rip), %rdi    # 0x2e77d4
leaq 0x2ca848(%rip), %rsi    # 0x2e77db
xorl %ecx, %ecx
callq 0x9a997
movq %rbx, %rdi
movq %rax, %rsi
callq 0x97f31
movq 0x8(%r14), %rdx
leaq 0x2fa398(%rip), %rdi    # 0x317348
leaq 0x2ca63f(%rip), %rsi    # 0x2e75f6
xorl %ecx, %ecx
callq 0x9ad12
movq %rax, %r15
movq %rax, %rdi
callq 0x9ae37
movq %rbx, %rdi
movq %r15, %rsi
callq 0x97f31
movq (%r14), %rdx
leaq 0x312202(%rip), %rdi    # 0x32f1e0
leaq 0x2ca828(%rip), %rsi    # 0x2e780d
xorl %ecx, %ecx
callq 0x9ad12
movq %rax, %r15
movq %rax, %rdi
callq 0x9ae37
movq %rbx, %rdi
movq %r15, %rsi
callq 0x97f31
movq 0x10(%r14), %rdx
leaq 0x305b5e(%rip), %rdi    # 0x322b6b
leaq 0x2ca823(%rip), %rsi    # 0x2e7837
xorl %ecx, %ecx
callq 0x9ad12
movq %rbx, %rdi
movq %rax, %rsi
callq 0x97f31
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x98c6b
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
movq 0x41af26(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x2c7fc7(%rip), %rsi    # 0x2e5013
leaq 0x32b600(%rip), %rdx    # 0x348653
leaq 0x2ca71b(%rip), %rcx    # 0x2e7775
leaq 0x2ca6ed(%rip), %r8     # 0x2e774e
pushq $0x44
popq %r9
xorl %eax, %eax
callq 0x17a50
callq 0x17390