// File: acliusBackHome[P]kamaya/dist/ParseType.cpp
// Function: ParseType::get_base_type_name[abi:cxx11](BaseType, int)
string ParseType::get_base_type_name(BaseType base_type, int specifier) {
    string res;
    if (specifier & S_UNSIGNED) {
        res += "unsigned ";
    }
    if (specifier & S_LONG) {
        res += "long ";
    }
    switch (base_type) {
        case T_UNKNOWN:
            return "unknown";
        case T_SHORT:
            return res + "short";
        case T_INT:
            return res + "int";
        case T_LONG:
            return res + "long";
        case T_FLOAT:
            return res + "float";
        case T_DOUBLE:
            return res + "double";
        case T_BOOL:
            return "bool";
        case T_CHAR:
            return "char";
        case T_ENUM:
            return "enum";
        case T_VOID:
            return "void";
    }
    return "unknown";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x60(%rbp)
movq %rdi, %rax
movq %rax, -0x58(%rbp)
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x4460
movl -0x10(%rbp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x56f49
leaq 0x38ef2(%rip), %rsi     # 0x8fe1d
leaq -0x30(%rbp), %rdi
callq 0x42e0
jmp 0x56f36
jmp 0x56f49
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x5723f
movl -0x10(%rbp), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x56f68
leaq 0x38ecc(%rip), %rsi     # 0x8fe27
leaq -0x30(%rbp), %rdi
callq 0x42e0
jmp 0x56f66
jmp 0x56f68
movl -0xc(%rbp), %eax
movq %rax, -0x68(%rbp)
subq $0x9, %rax
ja 0x571d7
movq -0x68(%rbp), %rax
leaq 0x38e30(%rip), %rcx     # 0x8fdb4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq -0x3d(%rbp), %rdi
movq %rdi, -0x70(%rbp)
callq 0x45f0
movq -0x60(%rbp), %rdi
movq -0x70(%rbp), %rdx
leaq 0x3864e(%rip), %rsi     # 0x8f5f7
callq 0x4450
jmp 0x56fb0
leaq -0x3d(%rbp), %rdi
callq 0x4380
movl $0x1, -0x44(%rbp)
jmp 0x57229
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x3d(%rbp), %rdi
callq 0x4380
jmp 0x5723f
movq -0x60(%rbp), %rdi
leaq 0x38e43(%rip), %rdx     # 0x8fe2d
leaq -0x30(%rbp), %rsi
callq 0x162a0
jmp 0x56ff5
movl $0x1, -0x44(%rbp)
jmp 0x57229
movq -0x60(%rbp), %rdi
leaq 0x399c1(%rip), %rdx     # 0x909cd
leaq -0x30(%rbp), %rsi
callq 0x162a0
jmp 0x57017
movl $0x1, -0x44(%rbp)
jmp 0x57229
movq -0x60(%rbp), %rdi
leaq 0x38e05(%rip), %rdx     # 0x8fe33
leaq -0x30(%rbp), %rsi
callq 0x162a0
jmp 0x57039
movl $0x1, -0x44(%rbp)
jmp 0x57229
movq -0x60(%rbp), %rdi
leaq 0x3999a(%rip), %rdx     # 0x909ea
leaq -0x30(%rbp), %rsi
callq 0x162a0
jmp 0x5705b
movl $0x1, -0x44(%rbp)
jmp 0x57229
movq -0x60(%rbp), %rdi
leaq 0x38dc6(%rip), %rdx     # 0x8fe38
leaq -0x30(%rbp), %rsi
callq 0x162a0
jmp 0x5707d
movl $0x1, -0x44(%rbp)
jmp 0x57229
leaq -0x45(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x45f0
movq -0x60(%rbp), %rdi
movq -0x78(%rbp), %rdx
leaq 0x39951(%rip), %rsi     # 0x909f6
callq 0x4450
jmp 0x570ac
leaq -0x45(%rbp), %rdi
callq 0x4380
movl $0x1, -0x44(%rbp)
jmp 0x57229
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x45(%rbp), %rdi
callq 0x4380
jmp 0x5723f
leaq -0x46(%rbp), %rdi
movq %rdi, -0x80(%rbp)
callq 0x45f0
movq -0x60(%rbp), %rdi
movq -0x80(%rbp), %rdx
leaq 0x38d48(%rip), %rsi     # 0x8fe3f
callq 0x4450
jmp 0x570fe
leaq -0x46(%rbp), %rdi
callq 0x4380
movl $0x1, -0x44(%rbp)
jmp 0x57229
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x46(%rbp), %rdi
callq 0x4380
jmp 0x5723f
leaq -0x47(%rbp), %rdi
movq %rdi, -0x88(%rbp)
callq 0x45f0
movq -0x60(%rbp), %rdi
movq -0x88(%rbp), %rdx
leaq 0x388c8(%rip), %rsi     # 0x8fa17
callq 0x4450
jmp 0x57156
leaq -0x47(%rbp), %rdi
callq 0x4380
movl $0x1, -0x44(%rbp)
jmp 0x57229
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x47(%rbp), %rdi
callq 0x4380
jmp 0x5723f
leaq -0x48(%rbp), %rdi
movq %rdi, -0x90(%rbp)
callq 0x45f0
movq -0x60(%rbp), %rdi
movq -0x90(%rbp), %rdx
leaq 0x38c9d(%rip), %rsi     # 0x8fe44
callq 0x4450
jmp 0x571ae
leaq -0x48(%rbp), %rdi
callq 0x4380
movl $0x1, -0x44(%rbp)
jmp 0x57229
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x4380
jmp 0x5723f
leaq -0x49(%rbp), %rdi
movq %rdi, -0x98(%rbp)
callq 0x45f0
movq -0x60(%rbp), %rdi
movq -0x98(%rbp), %rdx
leaq 0x383fe(%rip), %rsi     # 0x8f5f7
callq 0x4450
jmp 0x57200
leaq -0x49(%rbp), %rdi
callq 0x4380
movl $0x1, -0x44(%rbp)
jmp 0x57229
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x49(%rbp), %rdi
callq 0x4380
jmp 0x5723f
leaq -0x30(%rbp), %rdi
callq 0x4688
movq -0x58(%rbp), %rax
addq $0xa0, %rsp
popq %rbp
retq
leaq -0x30(%rbp), %rdi
callq 0x4688
movq -0x38(%rbp), %rdi
callq 0x45e0
nopw %cs:(%rax,%rax)