// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/extended/anno_db_gfflike.c
// Function: anno_db_gfflike_init_sqlite
int anno_db_gfflike_init_sqlite(GT_UNUSED GtRDBVisitor *rdbv, GtRDBSqlite *db,
                                GtError *err)
{
  GtCstrTable *cst = NULL;
  GtStrArray *arr = NULL;
  bool check = true;
  int had_err = 0;
  gt_assert(db);

  cst = gt_rdb_get_tables((GtRDB*) db, err);
  if (!cst) {
    had_err = -1;
  }
  if (!had_err) {
    arr = gt_cstr_table_get_all(cst);
    if (!arr)
      had_err = -1;
  }
  if (!had_err) {
    if (gt_str_array_size(arr) == 0) {
      had_err = anno_db_gfflike_create_tables_sqlite(db, err);
    }
  }
  gt_cstr_table_delete(cst);
  gt_str_array_delete(arr);
  if (!had_err)
    had_err = anno_db_gfflike_validate_sqlite(db, err, &check);
  if (!had_err && !check) {
    gt_error_set(err, "possible corruption in database file: "
                      "tables are missing");
    had_err = -1;
  }
  if (!had_err) {
    had_err = anno_db_gfflike_create_indexes_sqlite(db, err);
  }

  return had_err;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
testq %rsi, %rsi
je 0xb6c8b
movq %rdx, %rbx
movq %rsi, %r14
movq %rsi, %rdi
movq %rdx, %rsi
callq 0x10d38e
movq %rax, %r15
testq %rax, %rax
je 0xb67d2
movq %r15, %rdi
callq 0x6cbf8
testq %rax, %rax
je 0xb67d2
movq %rax, %r12
movq %rax, %rdi
callq 0xae61c
testq %rax, %rax
je 0xb67f5
movq %r15, %rdi
callq 0x6cf6b
movq %r12, %rdi
callq 0xae662
movq %r14, %rdi
movq %rbx, %rsi
callq 0x10d38e
movq %rax, %r15
testq %rax, %rax
je 0xb6a3b
leaq 0x22f898(%rip), %rsi    # 0x2e5fc4
movq %r15, %rdi
callq 0x6cb9a
testq %rax, %rax
je 0xb6a36
leaq 0x24c5e2(%rip), %rsi    # 0x302d26
movq %r15, %rdi
callq 0x6cb9a
testq %rax, %rax
je 0xb6a36
leaq 0x260783(%rip), %rsi    # 0x316edf
movq %r15, %rdi
callq 0x6cb9a
testq %rax, %rax
je 0xb6a36
setne %bpl
leaq 0x25fef2(%rip), %rsi    # 0x31666a
movq %r15, %rdi
callq 0x6cb9a
testq %rax, %rax
setne %r12b
andb %bpl, %r12b
je 0xb67a8
leaq 0x27e750(%rip), %rsi    # 0x334ee3
movq %r15, %rdi
callq 0x6cb9a
xorl %ecx, %ecx
testq %rax, %rax
movzbl %r12b, %r12d
cmovel %ecx, %r12d
testb %r12b, %r12b
je 0xb6a3e
leaq 0x236480(%rip), %rsi    # 0x2ecc38
movq %r15, %rdi
callq 0x6cb9a
xorl %ecx, %ecx
testq %rax, %rax
movzbl %r12b, %r12d
cmovel %ecx, %r12d
jmp 0xb6a3e
movq %r15, %rdi
callq 0x6cf6b
xorl %edi, %edi
callq 0xae662
pushq $-0x1
popq %rbp
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x25f05b(%rip), %rsi    # 0x315857
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
testq %rax, %rax
je 0xb6a26
movq %rax, %rdi
callq 0x10d6dc
leaq 0x25f04d(%rip), %rsi    # 0x31586e
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
testq %rax, %rax
je 0xb6a26
movq %rax, %rdi
callq 0x10d6dc
leaq 0x25f049(%rip), %rsi    # 0x31588f
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
testq %rax, %rax
je 0xb6a26
movq %rax, %rdi
callq 0x10d6dc
leaq 0x25f03d(%rip), %rsi    # 0x3158a8
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
testq %rax, %rax
je 0xb6a26
movq %rax, %rdi
callq 0x10d6dc
leaq 0x25f031(%rip), %rsi    # 0x3158c1
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
testq %rax, %rax
je 0xb6a26
movq %rax, %rdi
callq 0x10d6dc
leaq 0x25f025(%rip), %rsi    # 0x3158da
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
testq %rax, %rax
je 0xb6a26
movq %rax, %rdi
callq 0x10d6dc
leaq 0x25f01b(%rip), %rsi    # 0x3158f5
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
testq %rax, %rax
je 0xb6a26
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb6a26
movq %r13, %rdi
callq 0x10d6dc
leaq 0x25f1cd(%rip), %rsi    # 0x315ae2
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
testq %rax, %rax
je 0xb6a26
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb6a26
movq %r13, %rdi
callq 0x10d6dc
leaq 0x25f1f7(%rip), %rsi    # 0x315b47
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
testq %rax, %rax
je 0xb6a26
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb6a26
movq %r13, %rdi
callq 0x10d6dc
leaq 0x25f258(%rip), %rsi    # 0x315be3
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
testq %rax, %rax
je 0xb6a26
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb6a26
movq %r13, %rdi
callq 0x10d6dc
leaq 0x25f28c(%rip), %rsi    # 0x315c4e
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
testq %rax, %rax
je 0xb6a26
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb6a26
movq %r13, %rdi
callq 0x10d6dc
leaq 0x25f2f9(%rip), %rsi    # 0x315cee
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
testq %rax, %rax
je 0xb6a26
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb6a26
movq %r13, %rdi
callq 0x10d6dc
jmp 0xb66fe
movq %r15, %rdi
callq 0x6cf6b
movq %r12, %rdi
jmp 0xb67dc
xorl %r12d, %r12d
jmp 0xb6a3e
movb $0x1, %r12b
movq %r15, %rdi
callq 0x6cf6b
pushq $-0x1
popq %rbp
testq %r15, %r15
je 0xb67e4
testb %r12b, %r12b
je 0xb6c75
leaq 0x25f32a(%rip), %rsi    # 0x315d8c
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
testq %rax, %rax
je 0xb67e4
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb67e4
movq %r15, %rdi
callq 0x10d6dc
leaq 0x25f348(%rip), %rsi    # 0x315de5
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
testq %rax, %rax
je 0xb67e4
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb67e4
movq %r15, %rdi
callq 0x10d6dc
leaq 0x25f347(%rip), %rsi    # 0x315e1f
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
testq %rax, %rax
je 0xb67e4
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb67e4
movq %r15, %rdi
callq 0x10d6dc
leaq 0x25f34c(%rip), %rsi    # 0x315e5f
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
testq %rax, %rax
je 0xb67e4
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb67e4
movq %r15, %rdi
callq 0x10d6dc
leaq 0x25f34e(%rip), %rsi    # 0x315e9c
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
testq %rax, %rax
je 0xb67e4
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb67e4
movq %r15, %rdi
callq 0x10d6dc
leaq 0x25f36b(%rip), %rsi    # 0x315ef4
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
testq %rax, %rax
je 0xb67e4
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb67e4
movq %r15, %rdi
callq 0x10d6dc
leaq 0x25f36f(%rip), %rsi    # 0x315f33
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
testq %rax, %rax
je 0xb67e4
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb67e4
movq %r15, %rdi
callq 0x10d6dc
leaq 0x25f372(%rip), %rsi    # 0x315f71
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
testq %rax, %rax
je 0xb67e4
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb67e4
movq %r15, %rdi
callq 0x10d6dc
leaq 0x25f37d(%rip), %rsi    # 0x315fb7
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
testq %rax, %rax
je 0xb67e4
movq %rax, %r14
movq %rax, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb67e4
movq %r14, %rdi
callq 0x10d6dc
xorl %ebp, %ebp
jmp 0xb67e4
leaq 0x25e8b9(%rip), %rsi    # 0x315535
movq %rbx, %rdi
xorl %eax, %eax
callq 0x89dbb
jmp 0xb67e4
movq 0x3812d6(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x22e377(%rip), %rsi    # 0x2e5013
leaq 0x25eb66(%rip), %rdx    # 0x315809
leaq 0x25e850(%rip), %rcx    # 0x3154fa
leaq 0x25e865(%rip), %r8     # 0x315516
movl $0x22c, %r9d            # imm = 0x22C
xorl %eax, %eax
callq 0x17a50
callq 0x17390