// File: /workspace/github_c_makefile_star2_O1/genometools[P]genometools/src/extended/script_filter.c
// Function: gt_script_filter_validate
bool gt_script_filter_validate(GtScriptFilter *script_filter, GtError *err)
{
  const char *result;

#ifndef NDEBUG
  GT_UNUSED int stack_size;
#endif
  gt_assert(script_filter);
  gt_error_check(err);

#ifndef NDEBUG
  stack_size = lua_gettop(script_filter->L);
#endif

  result = gt_script_filter_get_name(script_filter, err);
  if (result == gt_symbol("undefined")) {
    gt_error_set(err, "metadata 'name' not found");
    return false;
  }
  result = gt_script_filter_get_description(script_filter, err);
  if (result == gt_symbol("undefined")) {
    gt_error_set(err, "metadata 'description' not found");
    return false;
  }
  result = gt_script_filter_get_short_description(script_filter, err);
  if (result == gt_symbol("undefined")) {
    gt_error_set(err, "metadata 'short_descr' not found");
    return false;
  }
  result = gt_script_filter_get_author(script_filter, err);
  if (result == gt_symbol("undefined")) {
    gt_error_set(err, "metadata 'author' not found");
    return false;
  }
  result = gt_script_filter_get_email(script_filter, err);
  if (result == gt_symbol("undefined")) {
    gt_error_set(err, "metadata 'email' not found");
    return false;
  }
  result = gt_script_filter_get_version(script_filter, err);
  if (result == gt_symbol("undefined")) {
    gt_error_set(err, "metadata 'version' not found");
    return false;
  }

  lua_getglobal(script_filter->L, "filter");
  if (lua_isnil(script_filter->L, -1)) {
    gt_error_set(err, "function 'filter' is not defined");
    lua_pop(script_filter->L, 1);
    return false;
  }
  return true;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
testq %rdi, %rdi
je 0x17a0e9
movq %rsi, %rbx
movq %rdi, %r14
testq %rsi, %rsi
je 0x179f52
movq %rbx, %rdi
callq 0x101a9a
testb %al, %al
jne 0x17a0ee
movq (%r14), %rdi
callq 0x22d421
leaq 0x211bc1(%rip), %rsi    # 0x38bb22
movq %r14, %rdi
movq %rbx, %rdx
callq 0x179d5a
movq %rax, %r15
leaq 0x1ec497(%rip), %rdi    # 0x36640d
callq 0x12234f
cmpq %rax, %r15
je 0x17a09c
leaq 0x21f992(%rip), %rsi    # 0x39991d
movq %r14, %rdi
movq %rbx, %rdx
callq 0x179d5a
movq %rax, %r15
leaq 0x1ec46d(%rip), %rdi    # 0x36640d
callq 0x12234f
cmpq %rax, %r15
je 0x17a0a5
leaq 0x221667(%rip), %rsi    # 0x39b61c
movq %r14, %rdi
movq %rbx, %rdx
callq 0x179d5a
movq %rax, %r15
leaq 0x1ec443(%rip), %rdi    # 0x36640d
callq 0x12234f
cmpq %rax, %r15
je 0x17a0ae
leaq 0x221649(%rip), %rsi    # 0x39b628
movq %r14, %rdi
movq %rbx, %rdx
callq 0x179d5a
movq %rax, %r15
leaq 0x1ec419(%rip), %rdi    # 0x36640d
callq 0x12234f
cmpq %rax, %r15
je 0x17a0b7
leaq 0x221626(%rip), %rsi    # 0x39b62f
movq %r14, %rdi
movq %rbx, %rdx
callq 0x179d5a
movq %rax, %r15
leaq 0x1ec3ef(%rip), %rdi    # 0x36640d
callq 0x12234f
cmpq %rax, %r15
je 0x17a0c0
leaq 0x25eaa6(%rip), %rsi    # 0x3d8ad9
movq %r14, %rdi
movq %rbx, %rdx
callq 0x179d5a
movq %rax, %r15
leaq 0x1ec3c5(%rip), %rdi    # 0x36640d
callq 0x12234f
cmpq %rax, %r15
je 0x17a0c9
movq (%r14), %rdi
leaq 0x1e774c(%rip), %rdx    # 0x3617a8
movl $0xffffd8ee, %esi       # imm = 0xFFFFD8EE
callq 0x22e6f4
movq (%r14), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x22d7b8
movb $0x1, %bpl
testl %eax, %eax
jne 0x17a0dc
leaq 0x22168c(%rip), %rsi    # 0x39b70d
xorl %ebp, %ebp
movq %rbx, %rdi
xorl %eax, %eax
callq 0x1019cf
movq (%r14), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x22d42e
jmp 0x17a0dc
leaq 0x2215ba(%rip), %rsi    # 0x39b65d
jmp 0x17a0d0
leaq 0x2215cb(%rip), %rsi    # 0x39b677
jmp 0x17a0d0
leaq 0x2215e3(%rip), %rsi    # 0x39b698
jmp 0x17a0d0
leaq 0x2215fb(%rip), %rsi    # 0x39b6b9
jmp 0x17a0d0
leaq 0x22160e(%rip), %rsi    # 0x39b6d5
jmp 0x17a0d0
leaq 0x221620(%rip), %rsi    # 0x39b6f0
xorl %ebp, %ebp
movq %rbx, %rdi
xorl %eax, %eax
callq 0x1019cf
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
callq 0x5481a
callq 0x547e1