// File: /workspace/github_c_makefile_star2_O1/almk277[P]ROSE/rasm/scanner.cpp
// Function: tokname[abi:cxx11](tok)
string tokname(tok t)
{
	struct tokhash {
		std::size_t operator()(tok t) const
		{ return static_cast<std::size_t>(t); }
	};

	static const std::unordered_map<tok, string, tokhash> names = {
		{ tok::STRING,  "string" },
		{ tok::LABEL,   "label" },
		{ tok::BYTE,    "byte" },
		{ tok::INT,     "int" },
		{ tok::FLOAT,   "float" },
		{ tok::ARRAY,   "array" },
		{ tok::NEWLINE, "new line" },
		{ tok::END,     "end of file" },
		{ tok::ARG,     ".arg" },
		{ tok::DATA,    ".data" },
		{ tok::EXPORT,  ".export" },
		{ tok::EXTERN,  ".extern" },
		{ tok::IMPORT,  ".import" },
		{ tok::MODULE,  ".module" },
		{ tok::STR,     ".str" },
		{ tok::SUB,     ".sub" },
		{ tok::VAR,     ".var" },
	};

	return names.at(t);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x2f0, %rsp            # imm = 0x2F0
movq %rdi, %r15
movl %esi, (%rsp)
movb 0xf378(%rip), %al       # 0x14358
testb %al, %al
je 0x5034
movq %rsp, %rsi
movslq (%rsi), %rcx
movq %rcx, %rax
xorl %edx, %edx
divq 0xf332(%rip)            # 0x14328
movq %rdx, %rdi
movq %rcx, %rdx
callq 0x650a
testq %rax, %rax
je 0x52e2
leaq 0x10(%r15), %rcx
movq %rcx, (%r15)
movq 0x10(%rax), %rsi
movq 0x18(%rax), %rdx
addq %rsi, %rdx
movq %r15, %rdi
callq 0x4e76
movq %r15, %rax
addq $0x2f0, %rsp            # imm = 0x2F0
popq %rbx
popq %r14
popq %r15
retq
leaq 0xf31d(%rip), %rdi      # 0x14358
callq 0x34d0
testl %eax, %eax
je 0x4fe4
leaq 0x44(%rsp), %rsi
movl $0x0, (%rsi)
leaq 0x931f(%rip), %rdx      # 0xe375
leaq 0x48(%rsp), %r14
movq %r14, %rdi
callq 0x6592
leaq 0x70(%rsp), %rbx
leaq 0x40(%rsp), %rsi
movl $0x1, (%rsi)
leaq 0x908e(%rip), %rdx      # 0xe108
movq %rbx, %rdi
callq 0x65c8
leaq 0x98(%rsp), %rbx
leaq 0x3c(%rsp), %rsi
movl $0x2, (%rsi)
leaq 0x9072(%rip), %rdx      # 0xe10e
movq %rbx, %rdi
callq 0x65fe
leaq 0xc0(%rsp), %rbx
leaq 0x38(%rsp), %rsi
movl $0x3, (%rsi)
leaq 0x93ac(%rip), %rdx      # 0xe46a
movq %rbx, %rdi
callq 0x6634
leaq 0xe8(%rsp), %rbx
leaq 0x34(%rsp), %rsi
movl $0x4, (%rsi)
leaq 0x9033(%rip), %rdx      # 0xe113
movq %rbx, %rdi
callq 0x65c8
leaq 0x110(%rsp), %rbx
leaq 0x30(%rsp), %rsi
movl $0x5, (%rsi)
leaq 0x9585(%rip), %rdx      # 0xe687
movq %rbx, %rdi
callq 0x65c8
leaq 0x138(%rsp), %rbx
leaq 0x2c(%rsp), %rsi
movl $0x6, (%rsi)
leaq 0x8ff5(%rip), %rdx      # 0xe119
movq %rbx, %rdi
callq 0x666a
leaq 0x160(%rsp), %rbx
leaq 0x28(%rsp), %rsi
movl $0x7, (%rsi)
leaq 0x9064(%rip), %rdx      # 0xe1aa
movq %rbx, %rdi
callq 0x66a0
leaq 0x188(%rsp), %rbx
leaq 0x24(%rsp), %rsi
movl $0x8, (%rsi)
leaq 0x8fba(%rip), %rdx      # 0xe122
movq %rbx, %rdi
callq 0x65fe
leaq 0x1b0(%rsp), %rbx
leaq 0x20(%rsp), %rsi
movl $0x9, (%rsi)
leaq 0x8f9d(%rip), %rdx      # 0xe127
movq %rbx, %rdi
callq 0x65c8
leaq 0x1d8(%rsp), %rbx
leaq 0x1c(%rsp), %rsi
movl $0xa, (%rsi)
leaq 0x8f81(%rip), %rdx      # 0xe12d
movq %rbx, %rdi
callq 0x66d6
leaq 0x200(%rsp), %rbx
leaq 0x18(%rsp), %rsi
movl $0xb, (%rsi)
leaq 0x8f67(%rip), %rdx      # 0xe135
movq %rbx, %rdi
callq 0x66d6
leaq 0x228(%rsp), %rbx
leaq 0x14(%rsp), %rsi
movl $0xc, (%rsi)
leaq 0x8f4d(%rip), %rdx      # 0xe13d
movq %rbx, %rdi
callq 0x66d6
leaq 0x250(%rsp), %rbx
leaq 0x10(%rsp), %rsi
movl $0xd, (%rsi)
leaq 0x8f33(%rip), %rdx      # 0xe145
movq %rbx, %rdi
callq 0x66d6
leaq 0x278(%rsp), %rbx
leaq 0xc(%rsp), %rsi
movl $0xe, (%rsi)
leaq 0x923d(%rip), %rdx      # 0xe471
movq %rbx, %rdi
callq 0x65fe
leaq 0x2a0(%rsp), %rbx
leaq 0x8(%rsp), %rsi
movl $0xf, (%rsi)
leaq 0x9280(%rip), %rdx      # 0xe4d6
movq %rbx, %rdi
callq 0x65fe
leaq 0x2c8(%rsp), %rbx
leaq 0x4(%rsp), %rsi
movl $0x10, (%rsi)
leaq 0x8ed5(%rip), %rdx      # 0xe14d
movq %rbx, %rdi
callq 0x65fe
leaq 0x48(%rsp), %rdi
callq 0x5384
movq $-0x2a8, %rbx           # imm = 0xFD58
leaq 0x2e0(%rsp), %r14
movq -0x10(%r14), %rdi
cmpq %rdi, %r14
je 0x52ad
movq (%r14), %rsi
incq %rsi
callq 0x3260
addq $-0x28, %r14
addq $0x28, %rbx
jne 0x5299
leaq 0x3f0(%rip), %rdi       # 0x56ae
leaq 0xf05b(%rip), %rsi      # 0x14320
leaq 0xefcc(%rip), %rdx      # 0x14298
callq 0x3230
leaq 0xf080(%rip), %rdi      # 0x14358
callq 0x31c0
jmp 0x4fe4
leaq 0x8f16(%rip), %rdi      # 0xe1ff
callq 0x33c0
movq %rax, %r15
leaq 0x2f0(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x3530
movb $0x1, %al
jmp 0x532a
jmp 0x5325
jmp 0x5325
jmp 0x5325
jmp 0x5325
jmp 0x5325
jmp 0x5325
jmp 0x5325
jmp 0x5325
jmp 0x5325
jmp 0x5325
jmp 0x5325
jmp 0x5325
jmp 0x5325
jmp 0x5325
jmp 0x5325
movq %rax, %r15
xorl %eax, %eax
cmpq %rbx, %r14
sete %cl
testb %al, %al
jne 0x5365
testb %cl, %cl
jne 0x5365
addq $-0x10, %rbx
leaq 0x48(%rsp), %r14
movq -0x10(%rbx), %rdi
cmpq %rdi, %rbx
je 0x5355
movq (%rbx), %rsi
incq %rsi
callq 0x3260
leaq -0x28(%rbx), %rax
addq $-0x18, %rbx
cmpq %r14, %rbx
movq %rax, %rbx
jne 0x5341
leaq 0xefec(%rip), %rdi      # 0x14358
callq 0x31a0
movq %r15, %rdi
callq 0x34a0
movq %rax, %r15
xorl %eax, %eax
movq %r14, %rbx
jmp 0x532a
nop