// File: Konano[P]UselessDatabase/Print.cpp
// Function: Any2Str[abi:cxx11](Any)
string Any2Str(Any val) {
    if (val.anyCast<int>() != NULL) {
        return to_string(*val.anyCast<int>());
    } else if (val.anyCast<char*>() != NULL) {
        return string(*val.anyCast<char*>());
    } else if (val.anyCast<uint32_t>() != NULL) {
        string str = to_string(*val.anyCast<uint32_t>());
        return str.substr(0, 4) + "-" + str.substr(4, 2) + "-" + str.substr(6, 2);
    } else if (val.anyCast<long double>() != NULL) {
        return to_string(*val.anyCast<long double>());
    } else return "NULL";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x160, %rsp            # imm = 0x160
movq %rsi, -0x128(%rbp)
movq %rdi, %rax
movq -0x128(%rbp), %rdi
movq %rax, -0x120(%rbp)
movq %rax, %rcx
movq %rcx, -0x118(%rbp)
movq %rax, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
callq 0x10b40
cmpq $0x0, %rax
je 0x4526f
movq -0x128(%rbp), %rdi
callq 0x10b40
movq -0x120(%rbp), %rdi
movl (%rax), %esi
callq 0x15610
jmp 0x45572
movq -0x128(%rbp), %rdi
callq 0x10a50
cmpq $0x0, %rax
je 0x452eb
movq -0x128(%rbp), %rdi
callq 0x10a50
movq (%rax), %rax
movq %rax, -0x138(%rbp)
leaq -0x11(%rbp), %rdi
movq %rdi, -0x130(%rbp)
callq 0x68a0
movq -0x120(%rbp), %rdi
movq -0x138(%rbp), %rsi
movq -0x130(%rbp), %rdx
callq 0xc020
jmp 0x452c3
leaq -0x11(%rbp), %rdi
callq 0x6530
jmp 0x45572
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x11(%rbp), %rdi
callq 0x6530
jmp 0x45582
movq -0x128(%rbp), %rdi
callq 0x10d20
cmpq $0x0, %rax
je 0x454e8
movq -0x128(%rbp), %rdi
callq 0x10d20
movl (%rax), %esi
leaq -0x48(%rbp), %rdi
movq %rdi, -0x140(%rbp)
callq 0x45ee0
movq -0x140(%rbp), %rsi
xorl %eax, %eax
movl %eax, %edx
leaq -0xc8(%rbp), %rdi
movl $0x4, %ecx
callq 0x64d0
jmp 0x4533d
leaq 0x3e7ac(%rip), %rdx     # 0x83af0
leaq -0xa8(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
callq 0x15070
jmp 0x45359
leaq -0xe8(%rbp), %rdi
leaq -0x48(%rbp), %rsi
movl $0x4, %edx
movl $0x2, %ecx
callq 0x64d0
jmp 0x45375
leaq -0x88(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
leaq -0xe8(%rbp), %rdx
callq 0x15540
jmp 0x45391
leaq 0x3e758(%rip), %rdx     # 0x83af0
leaq -0x68(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x15070
jmp 0x453aa
leaq -0x108(%rbp), %rdi
leaq -0x48(%rbp), %rsi
movl $0x6, %edx
movl $0x2, %ecx
callq 0x64d0
jmp 0x453c6
movq -0x120(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x108(%rbp), %rdx
callq 0x15540
jmp 0x453df
leaq -0x108(%rbp), %rdi
callq 0x6340
leaq -0x68(%rbp), %rdi
callq 0x6340
leaq -0x88(%rbp), %rdi
callq 0x6340
leaq -0xe8(%rbp), %rdi
callq 0x6340
leaq -0xa8(%rbp), %rdi
callq 0x6340
leaq -0xc8(%rbp), %rdi
callq 0x6340
leaq -0x48(%rbp), %rdi
callq 0x6340
jmp 0x45572
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x454da
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x454ce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x454c2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x454b6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x454aa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x454a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x108(%rbp), %rdi
callq 0x6340
leaq -0x68(%rbp), %rdi
callq 0x6340
leaq -0x88(%rbp), %rdi
callq 0x6340
leaq -0xe8(%rbp), %rdi
callq 0x6340
leaq -0xa8(%rbp), %rdi
callq 0x6340
leaq -0xc8(%rbp), %rdi
callq 0x6340
leaq -0x48(%rbp), %rdi
callq 0x6340
jmp 0x45582
movq -0x128(%rbp), %rdi
callq 0x10c30
cmpq $0x0, %rax
je 0x4551b
movq -0x128(%rbp), %rdi
callq 0x10c30
movq -0x120(%rbp), %rdi
fldt (%rax)
movq %rsp, %rax
fstpt (%rax)
callq 0x45fc0
jmp 0x45572
leaq -0x109(%rbp), %rdi
movq %rdi, -0x148(%rbp)
callq 0x68a0
movq -0x120(%rbp), %rdi
movq -0x148(%rbp), %rdx
leaq 0x413d8(%rip), %rsi     # 0x8691b
callq 0xc020
jmp 0x4554a
leaq -0x109(%rbp), %rdi
callq 0x6530
jmp 0x45572
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x109(%rbp), %rdi
callq 0x6530
jmp 0x45582
movq -0x118(%rbp), %rax
addq $0x160, %rsp            # imm = 0x160
popq %rbp
retq
movq -0x20(%rbp), %rdi
callq 0x6890
nopl (%rax,%rax)