// File: /workspace/github_c_makefile_star2_O1/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 0x1283f3
movq %rdx, %rbx
movq %rsi, %r14
movq %rsi, %rdi
movq %rdx, %rsi
callq 0x17409d
movq %rax, %r12
testq %rax, %rax
je 0x127e30
movq %r12, %rdi
callq 0xe8e8e
movq %rax, %r15
testq %rax, %rax
setne %al
jmp 0x127e35
xorl %r15d, %r15d
xorl %eax, %eax
testb %al, %al
je 0x1280bd
movq %r15, %rdi
callq 0x121e78
testq %rax, %rax
je 0x127e8c
movq %r12, %rdi
callq 0xe9120
movq %r15, %rdi
callq 0x121e8b
movq %r14, %rdi
movq %rbx, %rsi
callq 0x17409d
movq %rax, %r15
testq %rax, %rax
je 0x1280e3
leaq 0x22714c(%rip), %rsi    # 0x34efc4
movq %r15, %rdi
callq 0xe8e61
testq %rax, %rax
setne %r12b
jmp 0x1280e6
leaq 0x256934(%rip), %rsi    # 0x37e7c7
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
testq %rax, %rax
je 0x1280bd
movq %rax, %rdi
callq 0x1741ef
leaq 0x256926(%rip), %rsi    # 0x37e7de
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
testq %rax, %rax
je 0x1280bd
movq %rax, %rdi
callq 0x1741ef
leaq 0x256922(%rip), %rsi    # 0x37e7ff
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
testq %rax, %rax
je 0x1280bd
movq %rax, %rdi
callq 0x1741ef
leaq 0x256916(%rip), %rsi    # 0x37e818
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
testq %rax, %rax
je 0x1280bd
movq %rax, %rdi
callq 0x1741ef
leaq 0x25690a(%rip), %rsi    # 0x37e831
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
testq %rax, %rax
je 0x1280bd
movq %rax, %rdi
callq 0x1741ef
leaq 0x2568fe(%rip), %rsi    # 0x37e84a
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
testq %rax, %rax
je 0x1280bd
movq %rax, %rdi
callq 0x1741ef
leaq 0x2568f4(%rip), %rsi    # 0x37e865
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
testq %rax, %rax
je 0x1280bd
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x1280bd
movq %r13, %rdi
callq 0x1741ef
leaq 0x256aa6(%rip), %rsi    # 0x37ea52
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
testq %rax, %rax
je 0x1280bd
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x1280bd
movq %r13, %rdi
callq 0x1741ef
leaq 0x256ad0(%rip), %rsi    # 0x37eab7
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
testq %rax, %rax
je 0x1280bd
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x1280bd
movq %r13, %rdi
callq 0x1741ef
leaq 0x256b31(%rip), %rsi    # 0x37eb53
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
testq %rax, %rax
je 0x1280bd
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x1280bd
movq %r13, %rdi
callq 0x1741ef
leaq 0x256b65(%rip), %rsi    # 0x37ebbe
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
testq %rax, %rax
je 0x1280bd
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x1280bd
movq %r13, %rdi
callq 0x1741ef
leaq 0x256bd2(%rip), %rsi    # 0x37ec5e
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
testq %rax, %rax
je 0x1280bd
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x1280bd
movq %r13, %rdi
callq 0x1741ef
jmp 0x127e4a
movq %r12, %rdi
callq 0xe9120
movq %r15, %rdi
callq 0x121e8b
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movb $0x1, %r12b
testq %r15, %r15
je 0x12810c
testb %r12b, %r12b
je 0x12810c
leaq 0x243e0f(%rip), %rsi    # 0x36bf06
movq %r15, %rdi
callq 0xe8e61
xorl %ecx, %ecx
testq %rax, %rax
movzbl %r12b, %r12d
cmovel %ecx, %r12d
testq %r15, %r15
je 0x128132
testb %r12b, %r12b
je 0x128132
leaq 0x257d44(%rip), %rsi    # 0x37fe61
movq %r15, %rdi
callq 0xe8e61
xorl %ecx, %ecx
testq %rax, %rax
movzbl %r12b, %r12d
cmovel %ecx, %r12d
testq %r15, %r15
je 0x128158
testb %r12b, %r12b
je 0x128158
leaq 0x257497(%rip), %rsi    # 0x37f5da
movq %r15, %rdi
callq 0xe8e61
xorl %ecx, %ecx
testq %rax, %rax
movzbl %r12b, %r12d
cmovel %ecx, %r12d
testq %r15, %r15
je 0x12817e
testb %r12b, %r12b
je 0x12817e
leaq 0x275eb2(%rip), %rsi    # 0x39e01b
movq %r15, %rdi
callq 0xe8e61
xorl %ecx, %ecx
testq %rax, %rax
movzbl %r12b, %r12d
cmovel %ecx, %r12d
testq %r15, %r15
je 0x1281a4
testb %r12b, %r12b
je 0x1281a4
leaq 0x22dad8(%rip), %rsi    # 0x355c67
movq %r15, %rdi
callq 0xe8e61
xorl %ecx, %ecx
testq %rax, %rax
movzbl %r12b, %r12d
cmovel %ecx, %r12d
movq %r15, %rdi
callq 0xe9120
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
testq %r15, %r15
je 0x1280d2
testb %r12b, %r12b
je 0x1283dd
leaq 0x256b32(%rip), %rsi    # 0x37ecfc
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
testq %rax, %rax
je 0x1280d2
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x1280d2
movq %r15, %rdi
callq 0x1741ef
leaq 0x256b50(%rip), %rsi    # 0x37ed55
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
testq %rax, %rax
je 0x1280d2
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x1280d2
movq %r15, %rdi
callq 0x1741ef
leaq 0x256b4f(%rip), %rsi    # 0x37ed8f
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
testq %rax, %rax
je 0x1280d2
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x1280d2
movq %r15, %rdi
callq 0x1741ef
leaq 0x256b54(%rip), %rsi    # 0x37edcf
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
testq %rax, %rax
je 0x1280d2
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x1280d2
movq %r15, %rdi
callq 0x1741ef
leaq 0x256b56(%rip), %rsi    # 0x37ee0c
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
testq %rax, %rax
je 0x1280d2
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x1280d2
movq %r15, %rdi
callq 0x1741ef
leaq 0x256b73(%rip), %rsi    # 0x37ee64
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
testq %rax, %rax
je 0x1280d2
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x1280d2
movq %r15, %rdi
callq 0x1741ef
leaq 0x256b77(%rip), %rsi    # 0x37eea3
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
testq %rax, %rax
je 0x1280d2
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x1280d2
movq %r15, %rdi
callq 0x1741ef
leaq 0x256b7a(%rip), %rsi    # 0x37eee1
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
testq %rax, %rax
je 0x1280d2
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x1280d2
movq %r15, %rdi
callq 0x1741ef
leaq 0x256b85(%rip), %rsi    # 0x37ef27
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
testq %rax, %rax
je 0x1280d2
movq %rax, %r14
movq %rax, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x1280d2
movq %r14, %rdi
callq 0x1741ef
xorl %ebp, %ebp
jmp 0x1280d2
leaq 0x2560c1(%rip), %rsi    # 0x37e4a5
movq %rbx, %rdi
xorl %eax, %eax
callq 0x1019cf
jmp 0x1280d2
callq 0x3adb0