// File: /workspace/github_c_makefile_star2_O0/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:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movl %esi, 0x3c(%rsp)
movq %rdx, 0x30(%rsp)
movq %rcx, 0x28(%rsp)
movq %r8, 0x20(%rsp)
cmpq $0x0, 0x20(%rsp)
je 0x484ec
movq 0x20(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x484b4
jmp 0x484ec
movq 0x5f3ae5(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4cdb4e(%rip), %rsi    # 0x516013
leaq 0x4cdcf3(%rip), %rdx    # 0x5161bf
leaq 0x4da175(%rip), %rcx    # 0x522648
leaq 0x4da0d8(%rip), %r8     # 0x5225b2
movl $0x6e, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x484ee
leaq 0x4ee8ea(%rip), %rdi    # 0x536ddf
leaq 0x4da161(%rip), %rsi    # 0x52265d
callq 0xf1420
movq %rax, 0x18(%rsp)
movq 0x28(%rsp), %rdx
addq $0x14, %rdx
leaq 0x519b0d(%rip), %rdi    # 0x562023
leaq 0x4da18a(%rip), %rsi    # 0x5226a7
xorl %ecx, %ecx
callq 0xf5f20
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0xf1600
movq 0x28(%rsp), %rdx
leaq 0x4da19b(%rip), %rdi    # 0x5226df
leaq 0x4da17f(%rip), %rsi    # 0x5226ca
xorl %eax, %eax
movl %eax, %ecx
callq 0xf5fe0
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0xf1600
movq 0x28(%rsp), %rdx
addq $0x8, %rdx
leaq 0x4da16c(%rip), %rdi    # 0x5226e4
leaq 0x4da16b(%rip), %rsi    # 0x5226ea
movl $0x186a0, %ecx          # imm = 0x186A0
callq 0xf5fe0
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0xf1600
leaq 0x4da174(%rip), %rdi    # 0x522718
leaq 0x4da17c(%rip), %rsi    # 0x522727
leaq 0xb(%rsp), %rdx
xorl %ecx, %ecx
callq 0xf5f20
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0xf1600
movq 0x18(%rsp), %rdi
movl $0x1, %edx
movl %edx, %esi
callq 0xf2a40
movq 0x18(%rsp), %rdi
movq 0x40(%rsp), %rsi
movl 0x3c(%rsp), %edx
movq 0x30(%rsp), %rcx
movq 0x20(%rsp), %r9
leaq 0xde135(%rip), %r8      # 0x126730
callq 0xf2ab0
movl %eax, 0xc(%rsp)
movq 0x18(%rsp), %rdi
callq 0xf5cf0
movb 0xb(%rsp), %dl
xorl %ecx, %ecx
movl $0x1, %eax
testb $0x1, %dl
cmovnel %eax, %ecx
orl $0x0, %ecx
movq 0x28(%rsp), %rax
movl %ecx, 0x10(%rax)
movq 0x28(%rsp), %rax
movl $0x1, 0x1c(%rax)
movq 0x28(%rsp), %rax
movl $0x2, 0x18(%rax)
movl 0xc(%rsp), %eax
addq $0x48, %rsp
retq
nopl (%rax,%rax)