// File: Nallantli[P]Rossa/main/rossa/global/global.cpp
// Function: global::getTypeString[abi:cxx11](std::vector<long long, std::allocator<long long>> const&)
const std::string global::getTypeString(const aug_type_t &t)
{
	std::string ret = "";
	int j = 0;
	for (auto &i : t)
	{
		if (j++ > 0)
			ret += ".";
		if (i >= 0)
			ret += ROSSA_DEHASH(i);
		else
		{
			switch (i)
			{
			case value_type_enum::NIL:
				ret += KEYWORD_NIL_NAME;
				break;
			case value_type_enum::ANY:
				ret += KEYWORD_ANY;
				break;
			case value_type_enum::NUMBER:
				ret += KEYWORD_NUMBER;
				break;
			case value_type_enum::STRING:
				ret += KEYWORD_STRING;
				break;
			case value_type_enum::BOOLEAN_D:
				ret += KEYWORD_BOOLEAN;
				break;
			case value_type_enum::ARRAY:
				ret += KEYWORD_ARRAY;
				break;
			case value_type_enum::FUNCTION:
				ret += KEYWORD_FUNCTION;
				break;
			case value_type_enum::DICTIONARY:
				ret += KEYWORD_DICTIONARY;
				break;
			case value_type_enum::OBJECT:
				ret += KEYWORD_OBJECT;
				break;
			case value_type_enum::POINTER:
				ret += KEYWORD_POINTER;
				break;
			case value_type_enum::TYPE_NAME:
				ret += KEYWORD_TYPE;
				break;
			default:
				return "<error-type>";
			}
		}
	}
	return ret;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0xb0(%rbp)
movq %rdi, %rax
movq %rax, -0xa8(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq -0x31(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
callq 0x119d0
movq -0xa0(%rbp), %rdx
leaq 0x87950(%rip), %rsi     # 0x150192
leaq -0x30(%rbp), %rdi
callq 0x24740
jmp 0xc884d
leaq -0x31(%rbp), %rdi
callq 0x11600
movl $0x0, -0x48(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rdi
callq 0x5c740
movq %rax, -0x58(%rbp)
movq -0x50(%rbp), %rdi
callq 0x5c770
movq %rax, -0x60(%rbp)
leaq -0x58(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x80d30
testb $0x1, %al
jne 0xc8895
jmp 0xc8b02
leaq -0x58(%rbp), %rdi
callq 0x80d70
movq %rax, -0x68(%rbp)
movl -0x48(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x48(%rbp)
cmpl $0x0, %eax
jle 0xc88f1
leaq 0x87acf(%rip), %rsi     # 0x150388
leaq -0x30(%rbp), %rdi
callq 0x11540
jmp 0xc88c4
jmp 0xc88f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x31(%rbp), %rdi
callq 0x11600
jmp 0xc8b3e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xc8b35
movq -0x68(%rbp), %rax
cmpq $0x0, (%rax)
jl 0xc8965
movq -0x68(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x90(%rbp)
leaq 0x11d188(%rip), %rsi    # 0x1e5a98
leaq -0x88(%rbp), %rdi
leaq -0x90(%rbp), %rdx
callq 0x2d270
jmp 0xc8925
leaq -0x30(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x11750
jmp 0xc8937
leaq -0x88(%rbp), %rdi
callq 0x11360
jmp 0xc8af2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x11360
jmp 0xc8b35
movq -0x68(%rbp), %rax
movq (%rax), %rax
addq $0xb, %rax
movq %rax, -0xb8(%rbp)
subq $0xa, %rax
ja 0xc8a8f
movq -0xb8(%rbp), %rax
leaq 0x8a829(%rip), %rcx     # 0x1531b8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x87e57(%rip), %rsi     # 0x1507f6
leaq -0x30(%rbp), %rdi
callq 0x11540
jmp 0xc89aa
jmp 0xc8af0
leaq 0x87e94(%rip), %rsi     # 0x15084a
leaq -0x30(%rbp), %rdi
callq 0x11540
jmp 0xc89c1
jmp 0xc8af0
leaq 0x8c825(%rip), %rsi     # 0x1551f2
leaq -0x30(%rbp), %rdi
callq 0x11540
jmp 0xc89d8
jmp 0xc8af0
leaq 0x8c85f(%rip), %rsi     # 0x155243
leaq -0x30(%rbp), %rdi
callq 0x11540
jmp 0xc89ef
jmp 0xc8af0
leaq 0x87d95(%rip), %rsi     # 0x150790
leaq -0x30(%rbp), %rdi
callq 0x11540
jmp 0xc8a06
jmp 0xc8af0
leaq 0x87d78(%rip), %rsi     # 0x15078a
leaq -0x30(%rbp), %rdi
callq 0x11540
jmp 0xc8a1d
jmp 0xc8af0
leaq 0x87d7a(%rip), %rsi     # 0x1507a3
leaq -0x30(%rbp), %rdi
callq 0x11540
jmp 0xc8a34
jmp 0xc8af0
leaq 0x87d58(%rip), %rsi     # 0x150798
leaq -0x30(%rbp), %rdi
callq 0x11540
jmp 0xc8a4b
jmp 0xc8af0
leaq 0x8c770(%rip), %rsi     # 0x1551c7
leaq -0x30(%rbp), %rdi
callq 0x11540
jmp 0xc8a62
jmp 0xc8af0
leaq 0x87d8c(%rip), %rsi     # 0x1507fa
leaq -0x30(%rbp), %rdi
callq 0x11540
jmp 0xc8a79
jmp 0xc8af0
leaq 0x87d2a(%rip), %rsi     # 0x1507ac
leaq -0x30(%rbp), %rdi
callq 0x11540
jmp 0xc8a8d
jmp 0xc8af0
leaq -0x91(%rbp), %rdi
movq %rdi, -0xc0(%rbp)
callq 0x119d0
movq -0xb0(%rbp), %rdi
movq -0xc0(%rbp), %rdx
leaq 0x8976c(%rip), %rsi     # 0x152223
callq 0x24740
jmp 0xc8abe
leaq -0x91(%rbp), %rdi
callq 0x11600
movl $0x1, -0x98(%rbp)
jmp 0xc8b1c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x91(%rbp), %rdi
callq 0x11600
jmp 0xc8b35
jmp 0xc8af2
jmp 0xc8af4
leaq -0x58(%rbp), %rdi
callq 0x80db0
jmp 0xc887f
movq -0xb0(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x11320
movl $0x1, -0x98(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x11360
movq -0xa8(%rbp), %rax
addq $0xc0, %rsp
popq %rbp
retq
leaq -0x30(%rbp), %rdi
callq 0x11360
movq -0x40(%rbp), %rdi
callq 0x119c0
nopw (%rax,%rax)