// File: /workspace/github_c_makefile_star2_O3/genometools[P]genometools/src/tools/gt_packedindex_chk_integrity.c
// Function: parseChkIndexOptions
static GtOPrval
parseChkIndexOptions(int *parsed_args, int argc, const char *argv[],
                     struct chkIndexOptions *params, GtError *err)
{
  GtOptionParser *op;
  GtOption *option;
  GtOPrval oprval;
  bool extRankCheck;

  gt_error_check(err);
  op = gt_option_parser_new("indexname",
                         "Map <indexname> block composition index"
                         "and bwt and check index integrity.");

  option = gt_option_new_bool("v",
                           "print verbose progress information",
                           &params->verboseOutput,
                           false);
  gt_option_parser_add_option(op, option);

  option = gt_option_new_uword("skip", "number of symbols to skip",
                            &params->skipCount, 0);
  gt_option_parser_add_option(op, option);

  option = gt_option_new_uword("ticks", "print dot after this many symbols"
                            " tested okay", &params->progressInterval,
                            DEFAULT_PROGRESS_INTERVAL);
  gt_option_parser_add_option(op, option);

  option = gt_option_new_bool("ext-rank-check",
                           "do additional checks of rank query results",
                           &extRankCheck, false);
  gt_option_parser_add_option(op, option);

  gt_option_parser_set_min_max_args(op, 1, 1);
  oprval = gt_option_parser_parse(op, parsed_args, argc, (const char**) argv,
                               gt_versionfunc, err);
  gt_option_parser_delete(op);
  params->checkFlags = EIS_VERIFY_BASIC | (extRankCheck?EIS_VERIFY_EXT_RANK:0);
  params->EISFeatureSet = EIS_FEATURE_REGION_SUMS;
  params->encType = BWT_ON_BLOCK_ENC;
  return oprval;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %r8, %r14
movq %rcx, %rbx
movq %rdx, 0x10(%rsp)
movl %esi, %ebp
movq %rdi, %r12
testq %r8, %r8
je 0xb1d66
movq %r14, %rdi
callq 0xfcc32
testb %al, %al
jne 0xb1e70
leaq 0x2b3dc0(%rip), %rdi    # 0x365b2d
leaq 0x29f86a(%rip), %rsi    # 0x3515de
callq 0x107bfe
movq %rax, %r13
leaq 0x14(%rbx), %rdx
leaq 0x2ddaab(%rip), %rdi    # 0x38f832
leaq 0x29f89a(%rip), %rsi    # 0x351628
xorl %ecx, %ecx
callq 0x10a235
movq %r13, %rdi
movq %rax, %rsi
callq 0x107cc0
leaq 0x29f8b9(%rip), %rdi    # 0x351660
leaq 0x29f89d(%rip), %rsi    # 0x35164b
movq %rbx, %rdx
xorl %ecx, %ecx
callq 0x10a2ab
movq %r13, %rdi
movq %rax, %rsi
callq 0x107cc0
leaq 0x8(%rbx), %rdx
leaq 0x29f897(%rip), %rdi    # 0x351665
leaq 0x29f896(%rip), %rsi    # 0x35166b
movl $0x186a0, %ecx          # imm = 0x186A0
callq 0x10a2ab
movq %r13, %rdi
movq %rax, %rsi
callq 0x107cc0
leaq 0x29f8a8(%rip), %rdi    # 0x351699
leaq 0x29f8b0(%rip), %rsi    # 0x3516a8
leaq 0xf(%rsp), %r15
movq %r15, %rdx
xorl %ecx, %ecx
callq 0x10a235
movq %r13, %rdi
movq %rax, %rsi
callq 0x107cc0
movq %r13, %rdi
movl $0x1, %esi
movl $0x1, %edx
callq 0x10874b
leaq 0x6d7e1(%rip), %r8      # 0x11f60c
movq %r13, %rdi
movq %r12, %rsi
movl %ebp, %edx
movq 0x10(%rsp), %rcx
movq %r14, %r9
callq 0x10875d
movl %eax, %ebp
movq %r13, %rdi
callq 0x10a0b4
movzbl (%r15), %eax
movl %eax, 0x10(%rbx)
movabsq $0x100000002, %rax      # imm = 0x100000002
movq %rax, 0x18(%rbx)
movl %ebp, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x1ce7f
nopl (%rax)