// File: Konano[P]UselessDatabase/Table.cpp
// Function: Table::printCol()
void Table::printCol() {
    std::vector<std::pair<std::string, int> > v;
    v.push_back(std::pair<std::string, int>("Field", 20));
    v.push_back(std::pair<std::string, int>("Type", 15));
    v.push_back(std::pair<std::string, int>("Null", 4));
    v.push_back(std::pair<std::string, int>("Key", 7));
    v.push_back(std::pair<std::string, int>("Default", 20));
    Print::title(v);
    Anys d;
    for (uint i = 0; i < col_num; i++) {
        d.push_back(Any((char*)col_ty[i].name));
        switch (col_ty[i].ty) {
        case INT:
            d.push_back(Any((char*)"INT"));
            break;
        case CHAR:
            d.push_back(Any((char*)(("CHAR(" + std::to_string(col_ty[i].char_len) + ")").c_str())));
            break;
        case VARCHAR:
            d.push_back(Any((char*)(("VARCHAR(" + std::to_string(col_ty[i].char_len) + ")").c_str())));
            break;
        case DATE:
            d.push_back(Any((char*)"DATE"));
            break;
        case DECIMAL:
            d.push_back(Any((char*)"DECIMAL"));
            break;
        };
        d.push_back(Any((char*)(col_ty[i].beNull() ? "YES" : "NO")));
        d.push_back(Any((char*)(col_ty[i].key == Primary ? "Primary" : col_ty[i].key == Foreign ? "Foreign" : "")));
        d.push_back(col_ty[i].def);
        Print::row(d);
        d.clear();
    }
    Print::end();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2e0, %rsp            # imm = 0x2E0
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x2c0(%rbp)
leaq -0x20(%rbp), %rdi
callq 0xc0d0
movl $0x14, -0x4c(%rbp)
leaq 0x35e95(%rip), %rsi     # 0x83c26
leaq -0x48(%rbp), %rdi
leaq -0x4c(%rbp), %rdx
callq 0xc120
jmp 0x4dda0
leaq -0x20(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0xc0f0
jmp 0x4ddaf
leaq -0x48(%rbp), %rdi
callq 0xc1a0
movl $0xf, -0x8c(%rbp)
leaq 0x35e63(%rip), %rsi     # 0x83c2c
leaq -0x88(%rbp), %rdi
leaq -0x8c(%rbp), %rdx
callq 0x53600
jmp 0x4ddde
leaq -0x20(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0xc0f0
jmp 0x4ddf0
leaq -0x88(%rbp), %rdi
callq 0xc1a0
movl $0x4, -0xbc(%rbp)
leaq 0x35e24(%rip), %rsi     # 0x83c31
leaq -0xb8(%rbp), %rdi
leaq -0xbc(%rbp), %rdx
callq 0x53600
jmp 0x4de22
leaq -0x20(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0xc0f0
jmp 0x4de34
leaq -0xb8(%rbp), %rdi
callq 0xc1a0
movl $0x7, -0xec(%rbp)
leaq 0x35de5(%rip), %rsi     # 0x83c36
leaq -0xe8(%rbp), %rdi
leaq -0xec(%rbp), %rdx
callq 0x53680
jmp 0x4de66
leaq -0x20(%rbp), %rdi
leaq -0xe8(%rbp), %rsi
callq 0xc0f0
jmp 0x4de78
leaq -0xe8(%rbp), %rdi
callq 0xc1a0
movl $0x14, -0x11c(%rbp)
leaq 0x35da5(%rip), %rsi     # 0x83c3a
leaq -0x118(%rbp), %rdi
leaq -0x11c(%rbp), %rdx
callq 0x53700
jmp 0x4deaa
leaq -0x20(%rbp), %rdi
leaq -0x118(%rbp), %rsi
callq 0xc0f0
jmp 0x4debc
leaq -0x118(%rbp), %rdi
callq 0xc1a0
leaq -0x138(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0xc1c0
jmp 0x4deda
leaq -0x138(%rbp), %rdi
callq 0x45590
jmp 0x4dee8
leaq -0x138(%rbp), %rdi
callq 0xc2b0
leaq -0x150(%rbp), %rdi
callq 0xc310
jmp 0x4df02
movl $0x0, -0x154(%rbp)
movq -0x2c0(%rbp), %rcx
movl -0x154(%rbp), %eax
cmpl 0x54(%rcx), %eax
jae 0x4e66a
movq -0x2c0(%rbp), %rax
movl -0x154(%rbp), %ecx
imulq $0x38, %rcx, %rcx
leaq 0x5a(%rax,%rcx), %rax
movq %rax, -0x168(%rbp)
leaq -0x160(%rbp), %rdi
leaq -0x168(%rbp), %rsi
callq 0xc350
jmp 0x4df54
leaq -0x150(%rbp), %rdi
leaq -0x160(%rbp), %rsi
callq 0xc330
jmp 0x4df69
leaq -0x160(%rbp), %rdi
callq 0xc3c0
movq -0x2c0(%rbp), %rax
movl -0x154(%rbp), %ecx
imulq $0x38, %rcx, %rcx
movl 0x7c(%rax,%rcx), %eax
movq %rax, -0x2c8(%rbp)
subq $0x4, %rax
ja 0x4e443
movq -0x2c8(%rbp), %rax
leaq 0x35b8f(%rip), %rcx     # 0x83b38
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4e69b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x48(%rbp), %rdi
callq 0xc1a0
jmp 0x4e69b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x88(%rbp), %rdi
callq 0xc1a0
jmp 0x4e69b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0xc1a0
jmp 0x4e69b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xe8(%rbp), %rdi
callq 0xc1a0
jmp 0x4e69b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x118(%rbp), %rdi
callq 0xc1a0
jmp 0x4e69b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x138(%rbp), %rdi
callq 0xc2b0
jmp 0x4e69b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4e68f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x160(%rbp), %rdi
callq 0xc3c0
jmp 0x4e68f
leaq 0x35a19(%rip), %rax     # 0x83abc
movq %rax, -0x178(%rbp)
leaq -0x170(%rbp), %rdi
leaq -0x178(%rbp), %rsi
callq 0xc350
jmp 0x4e0bf
leaq -0x150(%rbp), %rdi
leaq -0x170(%rbp), %rsi
callq 0xc330
jmp 0x4e0d4
leaq -0x170(%rbp), %rdi
callq 0xc3c0
jmp 0x4e443
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x170(%rbp), %rdi
callq 0xc3c0
jmp 0x4e68f
movq -0x2c0(%rbp), %rax
movl -0x154(%rbp), %ecx
imulq $0x38, %rcx, %rcx
movzbl 0x80(%rax,%rcx), %esi
leaq -0x1e8(%rbp), %rdi
callq 0x15610
jmp 0x4e129
leaq 0x35b15(%rip), %rsi     # 0x83c45
leaq -0x1c8(%rbp), %rdi
leaq -0x1e8(%rbp), %rdx
callq 0x150c0
jmp 0x4e145
leaq 0x31402(%rip), %rdx     # 0x7f54e
leaq -0x1a8(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
callq 0x15070
jmp 0x4e161
leaq -0x1a8(%rbp), %rdi
callq 0x6210
movq %rax, -0x188(%rbp)
leaq -0x180(%rbp), %rdi
leaq -0x188(%rbp), %rsi
callq 0xc350
jmp 0x4e189
leaq -0x150(%rbp), %rdi
leaq -0x180(%rbp), %rsi
callq 0xc330
jmp 0x4e19e
leaq -0x180(%rbp), %rdi
callq 0xc3c0
leaq -0x1a8(%rbp), %rdi
callq 0x6340
leaq -0x1c8(%rbp), %rdi
callq 0x6340
leaq -0x1e8(%rbp), %rdi
callq 0x6340
jmp 0x4e443
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4e22d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4e221
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4e215
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x180(%rbp), %rdi
callq 0xc3c0
leaq -0x1a8(%rbp), %rdi
callq 0x6340
leaq -0x1c8(%rbp), %rdi
callq 0x6340
leaq -0x1e8(%rbp), %rdi
callq 0x6340
jmp 0x4e68f
movq -0x2c0(%rbp), %rax
movl -0x154(%rbp), %ecx
imulq $0x38, %rcx, %rcx
movzbl 0x80(%rax,%rcx), %esi
leaq -0x258(%rbp), %rdi
callq 0x15610
jmp 0x4e265
leaq 0x359d6(%rip), %rsi     # 0x83c42
leaq -0x238(%rbp), %rdi
leaq -0x258(%rbp), %rdx
callq 0x150c0
jmp 0x4e281
leaq 0x312c6(%rip), %rdx     # 0x7f54e
leaq -0x218(%rbp), %rdi
leaq -0x238(%rbp), %rsi
callq 0x15070
jmp 0x4e29d
leaq -0x218(%rbp), %rdi
callq 0x6210
movq %rax, -0x1f8(%rbp)
leaq -0x1f0(%rbp), %rdi
leaq -0x1f8(%rbp), %rsi
callq 0xc350
jmp 0x4e2c5
leaq -0x150(%rbp), %rdi
leaq -0x1f0(%rbp), %rsi
callq 0xc330
jmp 0x4e2da
leaq -0x1f0(%rbp), %rdi
callq 0xc3c0
leaq -0x218(%rbp), %rdi
callq 0x6340
leaq -0x238(%rbp), %rdi
callq 0x6340
leaq -0x258(%rbp), %rdi
callq 0x6340
jmp 0x4e443
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4e369
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4e35d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4e351
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x1f0(%rbp), %rdi
callq 0xc3c0
leaq -0x218(%rbp), %rdi
callq 0x6340
leaq -0x238(%rbp), %rdi
callq 0x6340
leaq -0x258(%rbp), %rdi
callq 0x6340
jmp 0x4e68f
leaq 0x36047(%rip), %rax     # 0x843c8
movq %rax, -0x268(%rbp)
leaq -0x260(%rbp), %rdi
leaq -0x268(%rbp), %rsi
callq 0xc350
jmp 0x4e39d
leaq -0x150(%rbp), %rdi
leaq -0x260(%rbp), %rsi
callq 0xc330
jmp 0x4e3b2
leaq -0x260(%rbp), %rdi
callq 0xc3c0
jmp 0x4e443
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x260(%rbp), %rdi
callq 0xc3c0
jmp 0x4e68f
leaq 0x356e1(%rip), %rax     # 0x83ac8
movq %rax, -0x278(%rbp)
leaq -0x270(%rbp), %rdi
leaq -0x278(%rbp), %rsi
callq 0xc350
jmp 0x4e403
leaq -0x150(%rbp), %rdi
leaq -0x270(%rbp), %rsi
callq 0xc330
jmp 0x4e418
leaq -0x270(%rbp), %rdi
callq 0xc3c0
jmp 0x4e443
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x270(%rbp), %rdi
callq 0xc3c0
jmp 0x4e68f
movq -0x2c0(%rbp), %rax
movl -0x154(%rbp), %ecx
imulq $0x38, %rcx, %rcx
leaq 0x58(%rax,%rcx), %rdi
callq 0x53200
movb %al, -0x2c9(%rbp)
jmp 0x4e466
movb -0x2c9(%rbp), %dl
leaq 0x357d8(%rip), %rcx     # 0x83c4b
leaq 0x357d5(%rip), %rax     # 0x83c4f
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, -0x288(%rbp)
leaq -0x280(%rbp), %rdi
leaq -0x288(%rbp), %rsi
callq 0xc350
jmp 0x4e49d
leaq -0x150(%rbp), %rdi
leaq -0x280(%rbp), %rsi
callq 0xc330
jmp 0x4e4b2
leaq -0x280(%rbp), %rdi
callq 0xc3c0
movq -0x2c0(%rbp), %rax
addq $0x58, %rax
movl -0x154(%rbp), %ecx
imulq $0x38, %rcx, %rcx
addq %rcx, %rax
cmpl $0x0, 0x2c(%rax)
jne 0x4e4ec
leaq 0x3576f(%rip), %rax     # 0x83c52
movq %rax, -0x2d8(%rbp)
jmp 0x4e523
movq -0x2c0(%rbp), %rax
addq $0x58, %rax
movl -0x154(%rbp), %ecx
imulq $0x38, %rcx, %rcx
addq %rcx, %rax
movl 0x2c(%rax), %edx
leaq 0x3811c(%rip), %rax     # 0x8662a
leaq 0x35745(%rip), %rcx     # 0x83c5a
cmpl $0x1, %edx
cmoveq %rcx, %rax
movq %rax, -0x2d8(%rbp)
movq -0x2d8(%rbp), %rax
movq %rax, -0x298(%rbp)
leaq -0x290(%rbp), %rdi
leaq -0x298(%rbp), %rsi
callq 0xc350
jmp 0x4e546
leaq -0x150(%rbp), %rdi
leaq -0x290(%rbp), %rsi
callq 0xc330
jmp 0x4e55b
leaq -0x290(%rbp), %rdi
callq 0xc3c0
movq -0x2c0(%rbp), %rax
movl -0x154(%rbp), %ecx
imulq $0x38, %rcx, %rcx
leaq 0x88(%rax,%rcx), %rsi
leaq -0x2a0(%rbp), %rdi
callq 0xca00
jmp 0x4e58e
leaq -0x150(%rbp), %rdi
leaq -0x2a0(%rbp), %rsi
callq 0xc330
jmp 0x4e5a3
leaq -0x2a0(%rbp), %rdi
callq 0xc3c0
leaq -0x2b8(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0xc400
jmp 0x4e5c4
leaq -0x2b8(%rbp), %rdi
callq 0x45a80
jmp 0x4e5d2
leaq -0x2b8(%rbp), %rdi
callq 0xc430
leaq -0x150(%rbp), %rdi
callq 0xc450
jmp 0x4e5ec
jmp 0x4e5ee
movl -0x154(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x154(%rbp)
jmp 0x4df0c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x280(%rbp), %rdi
callq 0xc3c0
jmp 0x4e68f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x290(%rbp), %rdi
callq 0xc3c0
jmp 0x4e68f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x2a0(%rbp), %rdi
callq 0xc3c0
jmp 0x4e68f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x2b8(%rbp), %rdi
callq 0xc430
jmp 0x4e68f
callq 0x45cd0
jmp 0x4e671
leaq -0x150(%rbp), %rdi
callq 0xc430
leaq -0x20(%rbp), %rdi
callq 0xc2b0
addq $0x2e0, %rsp            # imm = 0x2E0
popq %rbp
retq
leaq -0x150(%rbp), %rdi
callq 0xc430
leaq -0x20(%rbp), %rdi
callq 0xc2b0
movq -0x58(%rbp), %rdi
callq 0x6890
nopl (%rax)