// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/extended/anno_db_gfflike.c
// Function: anno_db_gfflike_init_mysql
int anno_db_gfflike_init_mysql(GT_UNUSED GtRDBVisitor *rdbv, GtRDBMySQL *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_mysql(db, err);
    }
  }
  gt_cstr_table_delete(cst);
  gt_str_array_delete(arr);
  if (!had_err)
    had_err = anno_db_gfflike_validate_mysql(db, err, &check);
  if (!had_err && !check) {
    gt_error_set(err, "corrupt database schema: tables are missing");
    had_err = -1;
  }
  if (!had_err) {
    had_err = anno_db_gfflike_create_indexes_mysql(db, err);
  }

  return had_err;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
testq %rsi, %rsi
je 0xb72e7
movq %rdx, %rbx
movq %rsi, %r14
movq %rsi, %rdi
movq %rdx, %rsi
callq 0x10d38e
movq %rax, %r15
pushq $-0x1
popq %rbp
testq %rax, %rax
je 0xb6df0
movq %r15, %rdi
callq 0x6cbf8
testq %rax, %rax
je 0xb6df0
movq %rax, %r12
movq %rax, %rdi
callq 0xae61c
testq %rax, %rax
je 0xb6e10
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 0xb6f78
leaq 0x269e6d(%rip), %rsi    # 0x320bb7
movq %r15, %rdi
callq 0x6cb9a
testq %rax, %rax
je 0xb6f73
leaq 0x280a26(%rip), %rsi    # 0x337788
movq %r15, %rdi
callq 0x6cb9a
testq %rax, %rax
je 0xb6f73
leaq 0x25f78f(%rip), %rsi    # 0x316509
movq %r15, %rdi
callq 0x6cb9a
testq %rax, %rax
je 0xb6f73
setne %r13b
leaq 0x286dfc(%rip), %rsi    # 0x33db92
movq %r15, %rdi
callq 0x6cb9a
testq %rax, %rax
setne %r12b
andb %r13b, %r12b
je 0xb6dc6
leaq 0x26714d(%rip), %rsi    # 0x31defe
movq %r15, %rdi
callq 0x6cb9a
xorl %ecx, %ecx
testq %rax, %rax
movzbl %r12b, %r12d
cmovel %ecx, %r12d
testb %r12b, %r12b
je 0xb6f7b
leaq 0x2b46f7(%rip), %rsi    # 0x36b4cd
movq %r15, %rdi
callq 0x6cb9a
xorl %ecx, %ecx
testq %rax, %rax
movzbl %r12b, %r12d
cmovel %ecx, %r12d
jmp 0xb6f7b
movq %r15, %rdi
callq 0x6cf6b
xorl %edi, %edi
callq 0xae662
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x25f1dd(%rip), %rsi    # 0x315ff4
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
testq %rax, %rax
je 0xb6f63
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb6f63
movq %r13, %rdi
callq 0x10d6dc
leaq 0x25f397(%rip), %rsi    # 0x3161e9
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
testq %rax, %rax
je 0xb6f63
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb6f63
movq %r13, %rdi
callq 0x10d6dc
leaq 0x25ecba(%rip), %rsi    # 0x315b47
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
testq %rax, %rax
je 0xb6f63
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb6f63
movq %r13, %rdi
callq 0x10d6dc
leaq 0x25f387(%rip), %rsi    # 0x31624f
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
testq %rax, %rax
je 0xb6f63
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb6f63
movq %r13, %rdi
callq 0x10d6dc
leaq 0x25f3bc(%rip), %rsi    # 0x3162bb
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
testq %rax, %rax
je 0xb6f63
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb6f63
movq %r13, %rdi
callq 0x10d6dc
leaq 0x25f42a(%rip), %rsi    # 0x31635c
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
testq %rax, %rax
je 0xb6f63
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb6f63
movq %r13, %rdi
callq 0x10d6dc
jmp 0xb6d1c
movq %r15, %rdi
callq 0x6cf6b
movq %r12, %rdi
jmp 0xb6dfa
xorl %r12d, %r12d
jmp 0xb6f7b
movb $0x1, %r12b
movq %r15, %rdi
callq 0x6cf6b
testq %r15, %r15
je 0xb6dff
testb %r12b, %r12b
je 0xb70cb
movq %r14, %rdi
movq %rbx, %rsi
callq 0x10d33a
testq %rax, %rax
je 0xb6dff
movq %rax, %r15
leaq 0x25f44d(%rip), %rsi    # 0x316400
movq %rax, %rdi
callq 0x6cb9a
testq %rax, %rax
je 0xb70e1
leaq 0x25f488(%rip), %rsi    # 0x316453
movq %r15, %rdi
callq 0x6cb9a
testq %rax, %rax
je 0xb7121
leaq 0x25f4a6(%rip), %rsi    # 0x316489
movq %r15, %rdi
callq 0x6cb9a
testq %rax, %rax
je 0xb7161
leaq 0x25f4cc(%rip), %rsi    # 0x3164c7
movq %r15, %rdi
callq 0x6cb9a
testq %rax, %rax
je 0xb71a1
leaq 0x25f4f1(%rip), %rsi    # 0x316504
movq %r15, %rdi
callq 0x6cb9a
testq %rax, %rax
je 0xb71e1
leaq 0x25f537(%rip), %rsi    # 0x316562
movq %r15, %rdi
callq 0x6cb9a
testq %rax, %rax
je 0xb7221
leaq 0x25f55e(%rip), %rsi    # 0x3165a1
movq %r15, %rdi
callq 0x6cb9a
testq %rax, %rax
je 0xb725d
leaq 0x25f582(%rip), %rsi    # 0x3165dd
movq %r15, %rdi
callq 0x6cb9a
testq %rax, %rax
je 0xb7295
leaq 0x2c8762(%rip), %rsi    # 0x37f7d5
movq %r15, %rdi
callq 0x6cb9a
movq %rax, %rcx
xorl %eax, %eax
testq %rcx, %rcx
jne 0xb6e01
leaq 0x25f595(%rip), %rsi    # 0x316625
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
movq %rax, %r14
testq %rax, %rax
je 0xb72e2
movq %r14, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb72e2
movq %r14, %rdi
callq 0x10d6dc
xorl %eax, %eax
jmp 0xb6e01
leaq 0x25e4b7(%rip), %rsi    # 0x315589
movq %rbx, %rdi
xorl %eax, %eax
callq 0x89dbb
jmp 0xb6dff
leaq 0x25f324(%rip), %rsi    # 0x31640c
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
movq %rax, %r12
testq %rax, %rax
je 0xb72cd
movq %r12, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb72cd
movq %r12, %rdi
callq 0x10d6dc
jmp 0xb6fc4
leaq 0x25f335(%rip), %rsi    # 0x31645d
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
movq %rax, %r12
testq %rax, %rax
je 0xb72cd
movq %r12, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb72cd
movq %r12, %rdi
callq 0x10d6dc
jmp 0xb6fdc
leaq 0x25f32d(%rip), %rsi    # 0x316495
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
movq %rax, %r12
testq %rax, %rax
je 0xb72cd
movq %r12, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb72cd
movq %r12, %rdi
callq 0x10d6dc
jmp 0xb6ff4
leaq 0x25f32d(%rip), %rsi    # 0x3164d5
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
movq %rax, %r12
testq %rax, %rax
je 0xb72cd
movq %r12, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb72cd
movq %r12, %rdi
callq 0x10d6dc
jmp 0xb700c
leaq 0x25f330(%rip), %rsi    # 0x316518
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
movq %rax, %r12
testq %rax, %rax
je 0xb72cd
movq %r12, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb72cd
movq %r12, %rdi
callq 0x10d6dc
jmp 0xb7024
leaq 0x25f348(%rip), %rsi    # 0x316570
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
movq %rax, %r12
testq %rax, %rax
je 0xb72cd
movq %r12, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb72cd
movq %r12, %rdi
callq 0x10d6dc
jmp 0xb703c
leaq 0x25f349(%rip), %rsi    # 0x3165ad
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
movq %rax, %r12
testq %rax, %rax
je 0xb72cd
movq %r12, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb72cd
movq %r12, %rdi
callq 0x10d6dc
jmp 0xb7054
leaq 0x25f351(%rip), %rsi    # 0x3165ed
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10d490
movq %rax, %r12
testq %rax, %rax
je 0xb72cd
movq %r12, %rdi
movq %rbx, %rsi
callq 0x10d688
testl %eax, %eax
js 0xb72cd
movq %r12, %rdi
callq 0x10d6dc
jmp 0xb706c
movq %r12, %rdi
callq 0x10d6dc
movq %r15, %rdi
callq 0x6cf6b
jmp 0xb6dff
movq %r14, %rdi
jmp 0xb72d0
movq 0x380c7a(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x22dd1b(%rip), %rsi    # 0x2e5013
leaq 0x25e50a(%rip), %rdx    # 0x315809
leaq 0x25e268(%rip), %rcx    # 0x31556e
leaq 0x25e209(%rip), %r8     # 0x315516
movl $0x253, %r9d            # imm = 0x253
xorl %eax, %eax
callq 0x17a50
callq 0x17390