// File: /workspace/github_c_makefile_star2_O3/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 0x1225d4
movq %rdx, %rbx
movq %rsi, %r14
movq %rsi, %rdi
movq %rdx, %rsi
callq 0x16be8d
movq %rax, %r15
testq %rax, %rax
je 0x122344
movq %r15, %rdi
callq 0xe49c2
testq %rax, %rax
je 0x122344
movq %rax, %r12
movq %rax, %rdi
callq 0x11c131
testq %rax, %rax
je 0x122369
movq %r15, %rdi
callq 0xe4c43
movq %r12, %rdi
callq 0x11c144
movq %r14, %rdi
movq %rbx, %rsi
callq 0x16be8d
testq %rax, %rax
je 0x1225c8
movq %rax, %r15
leaq 0x223f38(%rip), %rsi    # 0x345fc4
movq %rax, %rdi
callq 0xe4995
testq %rax, %rax
je 0x1225aa
leaq 0x240d52(%rip), %rsi    # 0x362df6
movq %r15, %rdi
callq 0xe4995
testq %rax, %rax
je 0x1225aa
leaq 0x254b13(%rip), %rsi    # 0x376bcf
movq %r15, %rdi
callq 0xe4995
testq %rax, %rax
je 0x1225aa
setne %r12b
leaq 0x254282(%rip), %rsi    # 0x37635a
movq %r15, %rdi
callq 0xe4995
testq %rax, %rax
setne %bpl
andb %r12b, %bpl
je 0x122107
leaq 0x272a81(%rip), %rsi    # 0x394b74
movq %r15, %rdi
callq 0xe4995
xorl %ecx, %ecx
testq %rax, %rax
movzbl %bpl, %ebp
cmovel %ecx, %ebp
testb %bpl, %bpl
je 0x122127
leaq 0x22ab25(%rip), %rsi    # 0x34cc38
movq %r15, %rdi
callq 0xe4995
xorl %ecx, %ecx
testq %rax, %rax
movzbl %bpl, %ebp
cmovel %ecx, %ebp
movq %r15, %rdi
callq 0xe4c43
testb %bpl, %bpl
je 0x1225b2
leaq 0x25393d(%rip), %rsi    # 0x375a7c
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x16bef8
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
testq %rax, %rax
je 0x122358
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
callq 0x16bfbe
testl %eax, %eax
js 0x122358
movq %r15, %rdi
callq 0x16bfdf
leaq 0x253956(%rip), %rsi    # 0x375ad5
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x16bef8
testq %rax, %rax
je 0x122358
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
callq 0x16bfbe
testl %eax, %eax
js 0x122358
movq %r15, %rdi
callq 0x16bfdf
leaq 0x253955(%rip), %rsi    # 0x375b0f
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x16bef8
testq %rax, %rax
je 0x122358
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
callq 0x16bfbe
testl %eax, %eax
js 0x122358
movq %r15, %rdi
callq 0x16bfdf
leaq 0x25395a(%rip), %rsi    # 0x375b4f
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x16bef8
testq %rax, %rax
je 0x122358
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
callq 0x16bfbe
testl %eax, %eax
js 0x122358
movq %r15, %rdi
callq 0x16bfdf
leaq 0x25395c(%rip), %rsi    # 0x375b8c
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x16bef8
testq %rax, %rax
je 0x122358
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
callq 0x16bfbe
testl %eax, %eax
js 0x122358
movq %r15, %rdi
callq 0x16bfdf
leaq 0x253979(%rip), %rsi    # 0x375be4
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x16bef8
testq %rax, %rax
je 0x122358
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
callq 0x16bfbe
testl %eax, %eax
js 0x122358
movq %r15, %rdi
callq 0x16bfdf
leaq 0x25397d(%rip), %rsi    # 0x375c23
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x16bef8
testq %rax, %rax
je 0x122358
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
callq 0x16bfbe
testl %eax, %eax
js 0x122358
movq %r15, %rdi
callq 0x16bfdf
leaq 0x253980(%rip), %rsi    # 0x375c61
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x16bef8
testq %rax, %rax
je 0x122358
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
callq 0x16bfbe
testl %eax, %eax
js 0x122358
movq %r15, %rdi
callq 0x16bfdf
leaq 0x253993(%rip), %rsi    # 0x375ca7
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x16bef8
testq %rax, %rax
je 0x122358
movq %rax, %r14
movq %rax, %rdi
movq %rbx, %rsi
callq 0x16bfbe
testl %eax, %eax
js 0x122358
movq %r14, %rdi
callq 0x16bfdf
xorl %ebp, %ebp
jmp 0x122358
movq %r15, %rdi
callq 0xe4c43
xorl %edi, %edi
callq 0x11c144
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x2531d7(%rip), %rsi    # 0x375547
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x16bef8
testq %rax, %rax
je 0x12259a
movq %rax, %rdi
callq 0x16bfdf
leaq 0x2531c9(%rip), %rsi    # 0x37555e
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x16bef8
testq %rax, %rax
je 0x12259a
movq %rax, %rdi
callq 0x16bfdf
leaq 0x2531c5(%rip), %rsi    # 0x37557f
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x16bef8
testq %rax, %rax
je 0x12259a
movq %rax, %rdi
callq 0x16bfdf
leaq 0x2531b9(%rip), %rsi    # 0x375598
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x16bef8
testq %rax, %rax
je 0x12259a
movq %rax, %rdi
callq 0x16bfdf
leaq 0x2531ad(%rip), %rsi    # 0x3755b1
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x16bef8
testq %rax, %rax
je 0x12259a
movq %rax, %rdi
callq 0x16bfdf
leaq 0x2531a1(%rip), %rsi    # 0x3755ca
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x16bef8
testq %rax, %rax
je 0x12259a
movq %rax, %rdi
callq 0x16bfdf
leaq 0x253197(%rip), %rsi    # 0x3755e5
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x16bef8
testq %rax, %rax
je 0x12259a
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x16bfbe
testl %eax, %eax
js 0x12259a
movq %r13, %rdi
callq 0x16bfdf
leaq 0x253349(%rip), %rsi    # 0x3757d2
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x16bef8
testq %rax, %rax
je 0x12259a
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x16bfbe
testl %eax, %eax
js 0x12259a
movq %r13, %rdi
callq 0x16bfdf
leaq 0x253373(%rip), %rsi    # 0x375837
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x16bef8
testq %rax, %rax
je 0x12259a
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x16bfbe
testl %eax, %eax
js 0x12259a
movq %r13, %rdi
callq 0x16bfdf
leaq 0x2533d4(%rip), %rsi    # 0x3758d3
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x16bef8
testq %rax, %rax
je 0x12259a
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x16bfbe
testl %eax, %eax
js 0x12259a
movq %r13, %rdi
callq 0x16bfdf
leaq 0x253408(%rip), %rsi    # 0x37593e
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x16bef8
testq %rax, %rax
je 0x12259a
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x16bfbe
testl %eax, %eax
js 0x12259a
movq %r13, %rdi
callq 0x16bfdf
leaq 0x253475(%rip), %rsi    # 0x3759de
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x16bef8
testq %rax, %rax
je 0x12259a
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x16bfbe
testl %eax, %eax
js 0x12259a
movq %r13, %rdi
callq 0x16bfdf
jmp 0x12205e
movq %r15, %rdi
callq 0xe4c43
movq %r12, %rdi
jmp 0x12234e
movq %r15, %rdi
callq 0xe4c43
leaq 0x252c6c(%rip), %rsi    # 0x375225
movq %rbx, %rdi
xorl %eax, %eax
callq 0xfcb67
jmp 0x122353
xorl %edi, %edi
callq 0xe4c43
jmp 0x122353
callq 0x3a3db