// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/xrfcheck_info.c
// Function: gt_xrfcheck_info_create_xrf_checker
GtXRFChecker* gt_xrfcheck_info_create_xrf_checker(const GtXRFCheckInfo *xci,
                                                  GtError *err)
{
  GtXRFChecker *xrf_checker = NULL;
  int had_err = 0;
  GtStr *xrf_file;
  gt_error_check(err);
  gt_assert(xci);
  gt_assert(gt_option_is_set(xci->xrfcheck_option));
  if (!gt_str_length(xci->xrfcheck)) {
    /* a. */
    if (!(xrf_file = get_xrf_path(err)))
      had_err = -1;
    if (!had_err)
      gt_str_append_cstr(xrf_file, "GO.xrf_abbr");
  }
  else if (gt_file_exists(gt_str_get(xci->xrfcheck))) {
    /* b. */
    xrf_file = gt_str_new_cstr(gt_str_get(xci->xrfcheck));
  }
  else {
    /* c. */
    if (!(xrf_file = get_xrf_path(err)))
      had_err = -1;
    if (!had_err) {
      gt_str_append_str(xrf_file, xci->xrfcheck);
      gt_str_append_cstr(xrf_file, ".xrf_abbr");
    }
  }

  if (!had_err)
    xrf_checker = gt_xrf_checker_new(gt_str_get(xrf_file), err);

  gt_str_delete(xrf_file);
  return xrf_checker;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
movl $0x0, 0xc(%rsp)
cmpq $0x0, 0x18(%rsp)
je 0x1fa9df
movq 0x18(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x1fa9a7
jmp 0x1fa9df
movq 0x4415f2(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x31b65b(%rip), %rsi    # 0x516013
leaq 0x31b800(%rip), %rdx    # 0x5161bf
leaq 0x375522(%rip), %rcx    # 0x56fee8
leaq 0x3752ba(%rip), %r8     # 0x56fc87
movl $0x63, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1fa9e1
jmp 0x1fa9e3
cmpq $0x0, 0x20(%rsp)
jne 0x1faa23
movq 0x4415ae(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x31b617(%rip), %rsi    # 0x516013
leaq 0x375509(%rip), %rdx    # 0x56ff0c
leaq 0x3754de(%rip), %rcx    # 0x56fee8
leaq 0x375276(%rip), %r8     # 0x56fc87
movl $0x64, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1faa25
jmp 0x1faa27
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0xf74a0
testb $0x1, %al
jne 0x1faa71
movq 0x441560(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x31b5c9(%rip), %rsi    # 0x516013
leaq 0x3754bf(%rip), %rdx    # 0x56ff10
leaq 0x375490(%rip), %rcx    # 0x56fee8
leaq 0x375228(%rip), %r8     # 0x56fc87
movl $0x65, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1faa73
movq 0x20(%rsp), %rax
movq (%rax), %rdi
callq 0x11dfa0
cmpq $0x0, %rax
jne 0x1faabb
movq 0x18(%rsp), %rdi
callq 0x1fab70
movq %rax, (%rsp)
cmpq $0x0, %rax
jne 0x1faaa2
movl $0xffffffff, 0xc(%rsp)  # imm = 0xFFFFFFFF
cmpl $0x0, 0xc(%rsp)
jne 0x1faab9
movq (%rsp), %rdi
leaq 0x375483(%rip), %rsi    # 0x56ff37
callq 0x11d550
jmp 0x1fab39
movq 0x20(%rsp), %rax
movq (%rax), %rdi
callq 0x11dee0
movq %rax, %rdi
callq 0xde820
testb $0x1, %al
jne 0x1faad6
jmp 0x1faaf1
movq 0x20(%rsp), %rax
movq (%rax), %rdi
callq 0x11dee0
movq %rax, %rdi
callq 0x11d510
movq %rax, (%rsp)
jmp 0x1fab37
movq 0x18(%rsp), %rdi
callq 0x1fab70
movq %rax, (%rsp)
cmpq $0x0, %rax
jne 0x1fab0d
movl $0xffffffff, 0xc(%rsp)  # imm = 0xFFFFFFFF
cmpl $0x0, 0xc(%rsp)
jne 0x1fab35
movq (%rsp), %rdi
movq 0x20(%rsp), %rax
movq (%rax), %rsi
callq 0x11d750
movq (%rsp), %rdi
leaq 0x375409(%rip), %rsi    # 0x56ff39
callq 0x11d550
jmp 0x1fab37
jmp 0x1fab39
cmpl $0x0, 0xc(%rsp)
jne 0x1fab5b
movq (%rsp), %rdi
callq 0x11dee0
movq %rax, %rdi
movq 0x18(%rsp), %rsi
callq 0x1fa500
movq %rax, 0x10(%rsp)
movq (%rsp), %rdi
callq 0x11f560
movq 0x10(%rsp), %rax
addq $0x28, %rsp
retq
nop