// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_matchtool.c
// Function: gt_matchtool_arguments_check
static int gt_matchtool_arguments_check(GT_UNUSED int rest_argc,
                                          void *tool_arguments,
                                          GtError *err)
{
  GtMatchtoolArguments *arguments = tool_arguments;
  int had_err = 0;
  gt_error_check(err);
  gt_assert(arguments);

  if (strcmp(gt_str_get(arguments->type), "OPENMATCH") == 0 ||
      strcmp(gt_str_get(arguments->type), "BLASTOUT") == 0) {
    if (gt_str_length(arguments->matchfile) == 0) {
      gt_error_set(err, "types OPENMATCH and BLASTOUT require the "
                        "option -matchfile");
      had_err = -1;
    }
  }
  if (strcmp(gt_str_get(arguments->type), "BLASTALLP") == 0 ||
      strcmp(gt_str_get(arguments->type), "BLASTALLN") == 0 ||
      strcmp(gt_str_get(arguments->type), "BLASTP") == 0 ||
      strcmp(gt_str_get(arguments->type), "SW") == 0 ||
      strcmp(gt_str_get(arguments->type), "LAST") == 0 ||
      strcmp(gt_str_get(arguments->type), "BLASTN") == 0) {
    if (gt_str_length(arguments->db) == 0
        || gt_str_length(arguments->query) == 0) {
      gt_error_set(err, "types BLASTALLP, BLASTALLN, BLASTP, BLASTN, LAST, SW "
                        "require the options -db and -query");
      had_err = -1;
    }
  }

  return had_err;
}

// Assembly:
subq $0x28, %rsp
movl %edi, 0x24(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movl $0x0, 0x4(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x439e4
movq 0x10(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x439ac
jmp 0x439e4
movq 0x5f85ed(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4d2656(%rip), %rsi    # 0x516013
leaq 0x4d27fb(%rip), %rdx    # 0x5161bf
leaq 0x4dde91(%rip), %rcx    # 0x52185c
leaq 0x4ddbf0(%rip), %r8     # 0x5215c2
movl $0x9b, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x439e6
jmp 0x439e8
cmpq $0x0, 0x8(%rsp)
jne 0x43a28
movq 0x5f85a9(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4d2612(%rip), %rsi    # 0x516013
leaq 0x537157(%rip), %rdx    # 0x57ab5f
leaq 0x4dde4d(%rip), %rcx    # 0x52185c
leaq 0x4ddbac(%rip), %r8     # 0x5215c2
movl $0x9c, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x43a2a
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x11dee0
movq %rax, %rdi
leaq 0x4ddbb9(%rip), %rsi    # 0x5215fa
callq 0x19980
cmpl $0x0, %eax
je 0x43a6c
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x11dee0
movq %rax, %rdi
leaq 0x4ddba2(%rip), %rsi    # 0x521604
callq 0x19980
cmpl $0x0, %eax
jne 0x43a9d
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x11dfa0
cmpq $0x0, %rax
jne 0x43a9b
movq 0x10(%rsp), %rdi
leaq 0x4ddded(%rip), %rsi    # 0x521879
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x4(%rsp)  # imm = 0xFFFFFFFF
jmp 0x43a9d
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x11dee0
movq %rax, %rdi
leaq 0x4ddb59(%rip), %rsi    # 0x52160d
callq 0x19980
cmpl $0x0, %eax
je 0x43b6b
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x11dee0
movq %rax, %rdi
leaq 0x4ddb3e(%rip), %rsi    # 0x521617
callq 0x19980
cmpl $0x0, %eax
je 0x43b6b
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x11dee0
movq %rax, %rdi
leaq 0x4ddb23(%rip), %rsi    # 0x521621
callq 0x19980
cmpl $0x0, %eax
je 0x43b6b
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x11dee0
movq %rax, %rdi
leaq 0x4f5091(%rip), %rsi    # 0x538bb0
callq 0x19980
cmpl $0x0, %eax
je 0x43b6b
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x11dee0
movq %rax, %rdi
leaq 0x55e44b(%rip), %rsi    # 0x5a1f8b
callq 0x19980
cmpl $0x0, %eax
je 0x43b6b
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x11dee0
movq %rax, %rdi
leaq 0x4ddac7(%rip), %rsi    # 0x521628
callq 0x19980
cmpl $0x0, %eax
jne 0x43bb0
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x11dfa0
cmpq $0x0, %rax
je 0x43b93
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x11dfa0
cmpq $0x0, %rax
jne 0x43bae
movq 0x10(%rsp), %rdi
leaq 0x4ddd15(%rip), %rsi    # 0x5218b4
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x4(%rsp)  # imm = 0xFFFFFFFF
jmp 0x43bb0
movl 0x4(%rsp), %eax
addq $0x28, %rsp
retq
nopl (%rax)