// File: /workspace/github_cpp_makefile_star2_O2/Rjerk[P]ratabase/RatabaseManager.cpp
// Function: ratabase::RatabaseManager::createDB(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
bool RatabaseManager::createDB(const string& dbname)
{
    resetMsg();
    size_t id;
    if (searchDB(dbname, id)) {
        msg << "[" << std::to_string(id) << "] " << dbname << " have existed." << endl;
        LOG_INFO << msg.str();
        return false;
    }
    if (dbcount == DB_NUM_MAX) {
        msg << "The Number of databases limited in "
             << std::to_string(DB_NUM_MAX) << "."<< endl;
        LOG_INFO << msg.str();
        return false;
    }
    dbtable[dbcount] = new Ratabase(dbname);
    current_db = dbtable[dbcount];
    msg << "create " << dbname << " [" << std::to_string(dbcount) << "] ok." << endl;
    LOG_INFO << msg.str();
    ++dbcount;
    return true;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x1b8, %rsp            # imm = 0x1B8
movq %rsi, %r14
movq %rdi, %rbx
callq 0x7d72
leaq 0x28(%rsp), %rdx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x7cf2
testb %al, %al
je 0x72cc
leaq 0x18(%rbx), %rdi
leaq 0x4285(%rip), %rsi      # 0xb48f
callq 0x3300
movq %rax, %r15
movq 0x28(%rsp), %rsi
leaq 0x30(%rsp), %r12
movq %r12, %rdi
callq 0x7dd8
movq %r15, %rdi
movq %r12, %rsi
callq 0x32b0
leaq 0x41fd(%rip), %rsi      # 0xb433
movq %rax, %rdi
callq 0x3300
movq %rax, %rdi
movq %r14, %rsi
callq 0x32b0
leaq 0x41e6(%rip), %rsi      # 0xb436
movq %rax, %rdi
callq 0x3300
movq %rax, %rdi
callq 0x3190
leaq 0x30(%rsp), %rdi
callq 0x3170
callq 0x9f0e
cmpl $0x2, %eax
jg 0x7393
leaq 0x41c6(%rip), %rsi      # 0xb445
leaq 0x41d3(%rip), %rcx      # 0xb459
leaq 0x30(%rsp), %r14
pushq $0x39
popq %rdx
pushq $0x2
popq %r8
movq %r14, %rdi
callq 0x9cd8
movq %r14, %rdi
callq 0x9f26
movq %rax, %r14
addq $0x20, %rbx
leaq 0x8(%rsp), %rdi
movq %rbx, %rsi
callq 0x3440
addq $0x10, %r14
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x32b0
jmp 0x737f
cmpq $0xa, 0x10(%rbx)
jne 0x739a
leaq 0x18(%rbx), %rdi
leaq 0x4180(%rip), %rsi      # 0xb462
callq 0x3300
movq %rax, %r14
leaq 0x30(%rsp), %r15
pushq $0xa
popq %rsi
movq %r15, %rdi
callq 0x7dd8
movq %r14, %rdi
movq %r15, %rsi
callq 0x32b0
leaq 0x3ecf(%rip), %rsi      # 0xb1db
movq %rax, %rdi
callq 0x3300
movq %rax, %rdi
callq 0x3190
leaq 0x30(%rsp), %rdi
callq 0x3170
callq 0x9f0e
cmpl $0x2, %eax
jg 0x7393
leaq 0x410e(%rip), %rsi      # 0xb445
leaq 0x411b(%rip), %rcx      # 0xb459
leaq 0x30(%rsp), %r14
pushq $0x3f
popq %rdx
pushq $0x2
popq %r8
movq %r14, %rdi
callq 0x9cd8
movq %r14, %rdi
callq 0x9f26
movq %rax, %r14
addq $0x20, %rbx
leaq 0x8(%rsp), %rdi
movq %rbx, %rsi
callq 0x3440
addq $0x10, %r14
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x32b0
leaq 0x8(%rsp), %rdi
callq 0x3170
leaq 0x30(%rsp), %rdi
callq 0x9e18
xorl %eax, %eax
jmp 0x74a0
pushq $0x48
popq %rdi
callq 0x3310
movq %rax, %r15
movq %rax, %rdi
movq %r14, %rsi
callq 0x7eb8
movq (%rbx), %rax
movq 0x10(%rbx), %rcx
movq %r15, (%rax,%rcx,8)
movq (%rbx), %rax
movq (%rax,%rcx,8), %rax
movq %rax, 0x8(%rbx)
leaq 0x18(%rbx), %rdi
leaq 0x40b5(%rip), %rsi      # 0xb486
callq 0x3300
movq %rax, %rdi
movq %r14, %rsi
callq 0x32b0
leaq 0x40a6(%rip), %rsi      # 0xb48e
movq %rax, %rdi
callq 0x3300
movq %rax, %r14
movq 0x10(%rbx), %rsi
leaq 0x30(%rsp), %r15
movq %r15, %rdi
callq 0x7dd8
movq %r14, %rdi
movq %r15, %rsi
callq 0x32b0
leaq 0x407b(%rip), %rsi      # 0xb491
movq %rax, %rdi
callq 0x3300
movq %rax, %rdi
callq 0x3190
leaq 0x30(%rsp), %rdi
callq 0x3170
callq 0x9f0e
cmpl $0x2, %eax
jg 0x749a
leaq 0x4004(%rip), %rsi      # 0xb445
leaq 0x4011(%rip), %rcx      # 0xb459
leaq 0x30(%rsp), %r14
pushq $0x45
popq %rdx
pushq $0x2
popq %r8
movq %r14, %rdi
callq 0x9cd8
movq %r14, %rdi
callq 0x9f26
movq %rax, %r14
leaq 0x20(%rbx), %rsi
leaq 0x8(%rsp), %rdi
callq 0x3440
addq $0x10, %r14
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x32b0
leaq 0x8(%rsp), %rdi
callq 0x3170
leaq 0x30(%rsp), %rdi
callq 0x9e18
incq 0x10(%rbx)
movb $0x1, %al
addq $0x1b8, %rsp            # imm = 0x1B8
popq %rbx
popq %r12
popq %r14
popq %r15
retq
jmp 0x74bb
jmp 0x74cc
jmp 0x74bb
jmp 0x74cc
jmp 0x74cc
jmp 0x74cc
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x3170
jmp 0x74cf
jmp 0x74cc
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0x9e18
jmp 0x74f9
movq %rax, %rbx
movq %r15, %rdi
callq 0x32e0
jmp 0x74f9
jmp 0x74ec
jmp 0x74ec
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0x3170
movq %rbx, %rdi
callq 0x34b0
nop