// File: Nallantli[P]Rossa/main/rossa/global/global.cpp
// Function: global::loadFunction(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, token_t const*)
extf_t global::loadFunction(const std::string &rawlibname, const std::string &fname, const token_t *token)
{
	if (loaded.find(rawlibname) == loaded.end())
	{
		trace_t stack_trace;
		throw rossa_error_t(util::format(_LIBRARY_NOT_IN_MEMORY_, {rawlibname}), *token, stack_trace);
	}
	if (loaded[rawlibname].find(fname) == loaded[rawlibname].end())
	{
		trace_t stack_trace;
		throw rossa_error_t(util::format(_LIBRARY_FUNCTION_NOT_EXIST_, {rawlibname, fname}), *token, stack_trace);
	}
	return loaded[rawlibname][fname];
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x260, %rsp            # imm = 0x260
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rsi
leaq 0x11deb6(%rip), %rdi    # 0x1e60f8
callq 0xc9b40
movq %rax, -0x20(%rbp)
leaq 0x11dea6(%rip), %rdi    # 0x1e60f8
callq 0xc9b70
movq %rax, -0x28(%rbp)
leaq -0x20(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0xc9b10
testb $0x1, %al
jne 0xc8271
jmp 0xc84d6
leaq -0x40(%rbp), %rdi
callq 0x24b80
movb $0x1, -0xea(%rbp)
movl $0xa8, %edi
callq 0x112b0
movq %rax, -0x1e8(%rbp)
leaq -0x81(%rbp), %rdi
movq %rdi, -0x1e0(%rbp)
callq 0x119d0
movq -0x1e0(%rbp), %rdx
leaq 0x8b00c(%rip), %rsi     # 0x1532bf
leaq -0x80(%rbp), %rdi
callq 0x24740
jmp 0xc82be
leaq -0xe0(%rbp), %rdi
movq %rdi, -0xe8(%rbp)
movq -0x8(%rbp), %rsi
callq 0x11250
jmp 0xc82d7
leaq -0xe0(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq $0x1, -0xb8(%rbp)
leaq -0xe9(%rbp), %rdi
movq %rdi, -0x1f0(%rbp)
callq 0x26e30
movq -0x1f0(%rbp), %rcx
movq -0xc0(%rbp), %rsi
movq -0xb8(%rbp), %rdx
leaq -0xb0(%rbp), %rdi
callq 0x2d6a0
jmp 0xc8326
leaq -0x60(%rbp), %rdi
leaq -0x80(%rbp), %rsi
leaq -0xb0(%rbp), %rdx
callq 0x9e250
jmp 0xc833c
movq -0x1e8(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq -0x60(%rbp), %rsi
leaq -0x40(%rbp), %rcx
callq 0x9c360
jmp 0xc8356
movq -0x1e8(%rbp), %rdi
movb $0x0, -0xea(%rbp)
leaq 0x118915(%rip), %rsi    # 0x1e0c80
leaq -0x6d9d2(%rip), %rdx    # 0x5a9a0
callq 0x11970
jmp 0xc87fe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0xc84a5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
movq -0xe8(%rbp), %rax
leaq -0xe0(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x1f8(%rbp)
je 0xc83f0
movq -0x1f8(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x200(%rbp)
callq 0x11360
movq -0x200(%rbp), %rax
leaq -0xe0(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x1f8(%rbp)
jne 0xc83bf
jmp 0xc849c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0xc8444
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0xc8438
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x11360
leaq -0xb0(%rbp), %rdi
callq 0x25b00
leaq -0xe9(%rbp), %rdi
callq 0x279c0
leaq -0xe0(%rbp), %rax
movq %rax, -0x210(%rbp)
addq $0x20, %rax
movq %rax, -0x208(%rbp)
movq -0x208(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x218(%rbp)
callq 0x11360
movq -0x210(%rbp), %rcx
movq -0x218(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x208(%rbp)
jne 0xc8469
jmp 0xc849c
leaq -0x80(%rbp), %rdi
callq 0x11360
leaq -0x81(%rbp), %rdi
callq 0x11600
testb $0x1, -0xea(%rbp)
jne 0xc84bc
jmp 0xc84c8
movq -0x1e8(%rbp), %rdi
callq 0x11420
leaq -0x40(%rbp), %rdi
callq 0x24e60
jmp 0xc87f2
movq -0x8(%rbp), %rsi
leaq 0x11dc17(%rip), %rdi    # 0x1e60f8
callq 0xc9bc0
movq %rax, %rdi
movq -0x10(%rbp), %rsi
callq 0xc9d20
movq %rax, -0xf8(%rbp)
movq -0x8(%rbp), %rsi
leaq 0x11dbf4(%rip), %rdi    # 0x1e60f8
callq 0xc9bc0
movq %rax, %rdi
callq 0xc9d50
movq %rax, -0x100(%rbp)
leaq -0xf8(%rbp), %rdi
leaq -0x100(%rbp), %rsi
callq 0xc9cf0
testb $0x1, %al
jne 0xc8534
jmp 0xc87ca
leaq -0x118(%rbp), %rdi
callq 0x24b80
movb $0x1, -0x1d2(%rbp)
movl $0xa8, %edi
callq 0x112b0
movq %rax, -0x228(%rbp)
leaq -0x159(%rbp), %rdi
movq %rdi, -0x220(%rbp)
callq 0x119d0
movq -0x220(%rbp), %rdx
leaq 0x8ad79(%rip), %rsi     # 0x1532f2
leaq -0x158(%rbp), %rdi
callq 0x24740
jmp 0xc8587
leaq -0x1c8(%rbp), %rdi
movq %rdi, -0x1d0(%rbp)
movq -0x8(%rbp), %rsi
callq 0x11250
jmp 0xc85a0
leaq -0x1a8(%rbp), %rdi
movq %rdi, -0x1d0(%rbp)
movq -0x10(%rbp), %rsi
callq 0x11250
jmp 0xc85b9
leaq -0x1c8(%rbp), %rax
movq %rax, -0x188(%rbp)
movq $0x2, -0x180(%rbp)
leaq -0x1d1(%rbp), %rdi
movq %rdi, -0x230(%rbp)
callq 0x26e30
movq -0x230(%rbp), %rcx
movq -0x188(%rbp), %rsi
movq -0x180(%rbp), %rdx
leaq -0x178(%rbp), %rdi
callq 0x2d6a0
jmp 0xc8608
leaq -0x138(%rbp), %rdi
leaq -0x158(%rbp), %rsi
leaq -0x178(%rbp), %rdx
callq 0x9e250
jmp 0xc8624
movq -0x228(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq -0x138(%rbp), %rsi
leaq -0x118(%rbp), %rcx
callq 0x9c360
jmp 0xc8644
movq -0x228(%rbp), %rdi
movb $0x0, -0x1d2(%rbp)
leaq 0x118627(%rip), %rsi    # 0x1e0c80
leaq -0x6dcc0(%rip), %rdx    # 0x5a9a0
callq 0x11970
jmp 0xc87fe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0xc8799
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
movq -0x1d0(%rbp), %rax
leaq -0x1c8(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x238(%rbp)
je 0xc86de
movq -0x238(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x240(%rbp)
callq 0x11360
movq -0x240(%rbp), %rax
leaq -0x1c8(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x238(%rbp)
jne 0xc86ad
jmp 0xc878d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0xc8735
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0xc8729
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x138(%rbp), %rdi
callq 0x11360
leaq -0x178(%rbp), %rdi
callq 0x25b00
leaq -0x1d1(%rbp), %rdi
callq 0x279c0
leaq -0x1c8(%rbp), %rax
movq %rax, -0x250(%rbp)
addq $0x40, %rax
movq %rax, -0x248(%rbp)
movq -0x248(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x258(%rbp)
callq 0x11360
movq -0x250(%rbp), %rcx
movq -0x258(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x248(%rbp)
jne 0xc875a
jmp 0xc878d
leaq -0x158(%rbp), %rdi
callq 0x11360
leaq -0x159(%rbp), %rdi
callq 0x11600
testb $0x1, -0x1d2(%rbp)
jne 0xc87b0
jmp 0xc87bc
movq -0x228(%rbp), %rdi
callq 0x11420
leaq -0x118(%rbp), %rdi
callq 0x24e60
jmp 0xc87f2
movq -0x8(%rbp), %rsi
leaq 0x11d923(%rip), %rdi    # 0x1e60f8
callq 0xc9bc0
movq %rax, %rdi
movq -0x10(%rbp), %rsi
callq 0xc9d80
movq (%rax), %rax
addq $0x260, %rsp            # imm = 0x260
popq %rbp
retq
movq -0x90(%rbp), %rdi
callq 0x119c0
nop