// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/tools/gt_convertseq.c
// Function: gt_convertseq_option_parser_new
static GtOptionParser* gt_convertseq_option_parser_new(void *tool_arguments)
{
  GtConvertseqArguments *arguments = tool_arguments;
  GtOptionParser *op;
  GtOption *o;
  gt_assert(arguments);

  op = gt_option_parser_new("[options] file [...]",
                            "Parse and convert sequence file formats "
                            "(FASTA/FASTQ, GenBank, EMBL).");

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

  o = gt_option_new_bool("r","reverse complement sequences",
                         &arguments->revcomp, false);
  gt_option_parser_add_option(op, o);

  o = gt_option_new_bool("showfilelengthvalues","show filelengths",
                         &arguments->showflv, false);
  gt_option_parser_add_option(op, o);

  o = gt_option_new_bool("noseq","do not show sequences",
                         &arguments->showseq, false);
  gt_option_parser_add_option(op, o);

  o = gt_option_new_uword("fastawidth",
                          "FASTA output line width, 0 for unlimited",
                         &arguments->fastawidth, 60UL);
  gt_option_parser_add_option(op, o);

  o = gt_option_new_bool("contractdnawc", "replace stretches of DNA wildcards "
                                          "with a single 'N'",
                         &arguments->reduce_wc_dna, false);
  gt_option_parser_add_option(op, o);

  o = gt_option_new_bool("contractproteinwc", "replace stretches of protein "
                                              "wildcards with a single 'X'",
                         &arguments->reduce_wc_prot, false);
  gt_option_parser_add_option(op, o);

  gt_output_file_info_register_options(arguments->ofi, op, &arguments->outfp);

  gt_option_parser_set_min_args(op, 1U);

  return op;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
testq %rdi, %rdi
je 0x22e89
movq %rdi, %rbx
leaq 0x2c72ed(%rip), %rdi    # 0x2ea042
leaq 0x2c72fb(%rip), %rsi    # 0x2ea057
callq 0x97df5
movq %rax, %r14
leaq 0x5(%rbx), %rdx
leaq 0x30ce01(%rip), %rdi    # 0x32fb70
leaq 0x2c4374(%rip), %rsi    # 0x2e70ea
xorl %ecx, %ecx
callq 0x9a997
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
leaq 0x2(%rbx), %rdx
leaq 0x2d809a(%rip), %rdi    # 0x2fae2d
leaq 0x2c7303(%rip), %rsi    # 0x2ea09d
xorl %ecx, %ecx
callq 0x9a997
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
leaq 0x3(%rbx), %rdx
leaq 0x2c7303(%rip), %rdi    # 0x2ea0ba
leaq 0x2c7311(%rip), %rsi    # 0x2ea0cf
xorl %ecx, %ecx
callq 0x9a997
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
leaq 0x4(%rbx), %rdx
leaq 0x2c7305(%rip), %rdi    # 0x2ea0e0
leaq 0x2c7304(%rip), %rsi    # 0x2ea0e6
xorl %ecx, %ecx
callq 0x9a997
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
leaq 0x8(%rbx), %rdx
leaq 0x2c72fd(%rip), %rdi    # 0x2ea0fc
leaq 0x2c7301(%rip), %rsi    # 0x2ea107
pushq $0x3c
popq %rcx
callq 0x9a9e6
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
leaq 0x2c7310(%rip), %rdi    # 0x2ea130
leaq 0x2c7317(%rip), %rsi    # 0x2ea13e
movq %rbx, %rdx
xorl %ecx, %ecx
callq 0x9a997
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
leaq 0x1(%rbx), %rdx
leaq 0x2c732c(%rip), %rdi    # 0x2ea173
leaq 0x2c7337(%rip), %rsi    # 0x2ea185
xorl %ecx, %ecx
callq 0x9a997
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq 0x10(%rbx), %rdi
addq $0x18, %rbx
movq %r14, %rsi
movq %rbx, %rdx
callq 0x9b6d7
pushq $0x1
popq %rsi
movq %r14, %rdi
callq 0x98be7
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
movq 0x4150d8(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x2c2179(%rip), %rsi    # 0x2e5013
leaq 0x3257b2(%rip), %rdx    # 0x348653
leaq 0x2c717a(%rip), %rcx    # 0x2ea022
leaq 0x2c7159(%rip), %r8     # 0x2ea008
pushq $0x45
popq %r9
xorl %eax, %eax
callq 0x17a50
callq 0x17390