// File: /workspace/github_c_makefile_star2_O1/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:
pushq %rbp
pushq %r14
pushq %rbx
movq %rdx, %rbx
movq %rsi, %r14
testq %rdx, %rdx
je 0xb1878
movq %rbx, %rdi
callq 0x101a9a
testb %al, %al
jne 0xb19c3
testq %r14, %r14
je 0xb19be
movq (%r14), %rdi
callq 0x120d23
leaq 0x2a7d22(%rip), %rsi    # 0x3595b2
movq %rax, %rdi
callq 0x17a40
testl %eax, %eax
je 0xb18b7
movq (%r14), %rdi
callq 0x120d23
leaq 0x2a7d11(%rip), %rsi    # 0x3595bc
movq %rax, %rdi
callq 0x17a40
testl %eax, %eax
jne 0xb18c5
movq 0x8(%r14), %rdi
callq 0x120d4c
testq %rax, %rax
je 0xb18c9
xorl %ebp, %ebp
jmp 0xb18df
leaq 0x2a7f66(%rip), %rsi    # 0x359836
movq %rbx, %rdi
xorl %eax, %eax
callq 0x1019cf
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movq (%r14), %rdi
callq 0x120d23
leaq 0x2a7cd7(%rip), %rsi    # 0x3595c5
movq %rax, %rdi
callq 0x17a40
testl %eax, %eax
je 0xb1985
movq (%r14), %rdi
callq 0x120d23
leaq 0x2a7cc2(%rip), %rsi    # 0x3595cf
movq %rax, %rdi
callq 0x17a40
testl %eax, %eax
je 0xb1985
movq (%r14), %rdi
callq 0x120d23
leaq 0x2a7cb1(%rip), %rsi    # 0x3595d9
movq %rax, %rdi
callq 0x17a40
testl %eax, %eax
je 0xb1985
movq (%r14), %rdi
callq 0x120d23
leaq 0x2bf110(%rip), %rsi    # 0x370a53
movq %rax, %rdi
callq 0x17a40
testl %eax, %eax
je 0xb1985
movq (%r14), %rdi
callq 0x120d23
leaq 0x2a7c89(%rip), %rsi    # 0x3595e7
movq %rax, %rdi
callq 0x17a40
testl %eax, %eax
je 0xb1985
movq (%r14), %rdi
callq 0x120d23
leaq 0x2a7c67(%rip), %rsi    # 0x3595e0
movq %rax, %rdi
callq 0x17a40
testl %eax, %eax
jne 0xb19b7
movq 0x18(%r14), %rdi
callq 0x120d4c
testq %rax, %rax
je 0xb19a1
movq 0x10(%r14), %rdi
callq 0x120d4c
testq %rax, %rax
jne 0xb19b7
leaq 0x2a7ec9(%rip), %rsi    # 0x359871
movq %rbx, %rdi
xorl %eax, %eax
callq 0x1019cf
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movl %ebp, %eax
popq %rbx
popq %r14
popq %rbp
retq
callq 0x1c66e
callq 0x1c635