// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_tallymer.c
// Function: gt_tyr_search_arguments_check
static int gt_tyr_search_arguments_check(int rest_argc,
                                         void *tool_arguments,
                                         GtError *err)
{
  Optionargmodedesc showmodedesctable[] =
  {
    {"qseqnum","query sequence number",SHOWQSEQNUM},
    {"qpos","query position",SHOWQPOS},
    {"counts","number of occurrence counts",SHOWCOUNTS},
    {"sequence","mer-sequence",SHOWSEQUENCE}
  };

  Optionargmodedesc stranddesctable[] =
  {
    {"f","forward strand",STRAND_FORWARD},
    {"p","reverse strand",STRAND_REVERSE},
    {"fp","forward and reverse strand",STRAND_FORWARD | STRAND_REVERSE}
  };
  GtUword idx;
  Tyr_search_options *arguments = tool_arguments;

  if (rest_argc != 0)
  {
    gt_error_set(err,"superfluous arguments");
    return -1;
  }
  for (idx=0; idx<gt_str_array_size(arguments->showmodespec); idx++)
  {
    if (gt_optionargaddbitmask(showmodedesctable,
                         sizeof (showmodedesctable)/
                         sizeof (showmodedesctable[0]),
                         &arguments->showmode,
                         "-output",
                         gt_str_array_get(arguments->showmodespec,idx),
                         err) != 0)
    {
      return -1;
    }
  }
  if (gt_optionargaddbitmask(stranddesctable,
                          sizeof (stranddesctable)/
                          sizeof (stranddesctable[0]),
                          &arguments->strand,
                          "-output",
                          gt_str_get(arguments->strandspec),err) != 0)
  {
    return -1;
  }
  return 0;
}

// Assembly:
subq $0x108, %rsp            # imm = 0x108
movl %edi, 0x100(%rsp)
movq %rsi, 0xf8(%rsp)
movq %rdx, 0xf0(%rsp)
leaq 0x90(%rsp), %rdi
leaq 0x5bb533(%rip), %rsi    # 0x636380
movl $0x60, %edx
callq 0x19610
leaq 0x40(%rsp), %rdi
leaq 0x5bb57d(%rip), %rsi    # 0x6363e0
movl $0x48, %edx
callq 0x19610
movq 0xf8(%rsp), %rax
movq %rax, 0x30(%rsp)
cmpl $0x0, 0x100(%rsp)
je 0x7aeaa
movq 0xf0(%rsp), %rdi
leaq 0x4a615e(%rip), %rsi    # 0x520ff1
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x104(%rsp) # imm = 0xFFFFFFFF
jmp 0x7afbc
movq $0x0, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x30(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x11fcc0
movq %rax, %rcx
movq 0x28(%rsp), %rax
cmpq %rcx, %rax
jae 0x7af53
leaq 0x90(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x30(%rsp), %rax
addq $0x24, %rax
movq %rax, 0x20(%rsp)
movq 0x30(%rsp), %rax
movq 0x18(%rax), %rdi
movq 0x38(%rsp), %rsi
callq 0x11f8c0
movq 0x18(%rsp), %rdi
movq 0x20(%rsp), %rdx
movq %rax, %r8
movq 0xf0(%rsp), %r9
movl $0x4, %esi
leaq 0x4a6e4b(%rip), %rcx    # 0x521d72
callq 0x261300
cmpl $0x0, %eax
je 0x7af3e
movl $0xffffffff, 0x104(%rsp) # imm = 0xFFFFFFFF
jmp 0x7afbc
jmp 0x7af40
movq 0x38(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x38(%rsp)
jmp 0x7aeb3
leaq 0x40(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rax
addq $0x20, %rax
movq %rax, 0x10(%rsp)
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x11dee0
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rdx
movq %rax, %r8
movq 0xf0(%rsp), %r9
movl $0x3, %esi
leaq 0x4a6dd8(%rip), %rcx    # 0x521d72
callq 0x261300
cmpl $0x0, %eax
je 0x7afb1
movl $0xffffffff, 0x104(%rsp) # imm = 0xFFFFFFFF
jmp 0x7afbc
movl $0x0, 0x104(%rsp)
movl 0x104(%rsp), %eax
addq $0x108, %rsp            # imm = 0x108
retq
nopl (%rax,%rax)