// File: FalconUA[P]vfs/./utility/shell.h
// Function: virt::util::shell::launch(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
std::string launch(std::string param){
			std::string command;

			std::cout << "[" << param << "]~> ";
			while (std::getline(std::cin, command)){
				if (command == "exit")
					break;

				std::size_t p = std::min(command.find(' '), command.length());	
				std::string appname = command.substr(0, p);
				command.erase(0, p+1);
				process_command(appname, command);
				std::cout << "[" << param << "]~> ";
			}
			return "";
		}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x130, %rsp            # imm = 0x130
movq %rdx, -0xf0(%rbp)
movq %rdi, -0xe8(%rbp)
movq %rdi, %rax
movq %rax, -0xe0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x3360
movq 0xcde6(%rip), %rdi      # 0x1bfd0
leaq 0x4261(%rip), %rsi      # 0x13452
callq 0x3240
movq %rax, -0xd0(%rbp)
jmp 0xf1ff
movq -0xf0(%rbp), %rsi
movq -0xd0(%rbp), %rdi
callq 0x3210
movq %rax, -0xf8(%rbp)
jmp 0xf21b
movq -0xf8(%rbp), %rdi
leaq 0x422b(%rip), %rsi      # 0x13454
callq 0x3240
jmp 0xf230
jmp 0xf232
movq 0xcda7(%rip), %rdi      # 0x1bfe0
leaq -0x38(%rbp), %rsi
callq 0x3080
movq %rax, -0x100(%rbp)
jmp 0xf24b
movq -0x100(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x3320
movb %al, -0x101(%rbp)
jmp 0xf269
movb -0x101(%rbp), %al
testb $0x1, %al
jne 0xf278
jmp 0xf42e
leaq 0x4ffa(%rip), %rsi      # 0x14279
leaq -0x38(%rbp), %rdi
callq 0x5200
movb %al, -0x102(%rbp)
jmp 0xf290
movb -0x102(%rbp), %al
testb $0x1, %al
jne 0xf29c
jmp 0xf2b2
jmp 0xf42e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xf49a
xorl %eax, %eax
movl %eax, %edx
leaq -0x38(%rbp), %rdi
movq %rdi, -0x118(%rbp)
movl $0x20, %esi
callq 0x3340
movq -0x118(%rbp), %rdi
movq %rax, -0x58(%rbp)
callq 0x3380
movq %rax, -0x60(%rbp)
leaq -0x58(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x7f90
movq %rax, -0x110(%rbp)
jmp 0xf2f5
movq -0x110(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rcx
xorl %eax, %eax
movl %eax, %edx
leaq -0x80(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x3270
jmp 0xf31a
movq -0x50(%rbp), %rdx
incq %rdx
xorl %eax, %eax
movl %eax, %esi
leaq -0x38(%rbp), %rdi
callq 0x3090
jmp 0xf330
leaq -0xa0(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x30f0
jmp 0xf342
leaq -0xc0(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x30f0
jmp 0xf354
movq -0xd8(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
leaq -0xc0(%rbp), %rdx
callq 0xf4b0
jmp 0xf370
leaq -0xc0(%rbp), %rdi
callq 0x3160
leaq -0xa0(%rbp), %rdi
callq 0x3160
movq 0xcc41(%rip), %rdi      # 0x1bfd0
leaq 0x40bc(%rip), %rsi      # 0x13452
callq 0x3240
movq %rax, -0x120(%rbp)
jmp 0xf3a4
movq -0xf0(%rbp), %rsi
movq -0x120(%rbp), %rdi
callq 0x3210
movq %rax, -0x128(%rbp)
jmp 0xf3c0
movq -0x128(%rbp), %rdi
leaq 0x4086(%rip), %rsi      # 0x13454
callq 0x3240
jmp 0xf3d5
leaq -0x80(%rbp), %rdi
callq 0x3160
jmp 0xf232
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xf423
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xf417
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x3160
leaq -0xa0(%rbp), %rdi
callq 0x3160
leaq -0x80(%rbp), %rdi
callq 0x3160
jmp 0xf49a
leaq -0xc1(%rbp), %rdi
movq %rdi, -0x130(%rbp)
callq 0x3400
movq -0xe8(%rbp), %rdi
movq -0x130(%rbp), %rdx
leaq 0x4977(%rip), %rsi      # 0x13dcd
callq 0x4980
jmp 0xf45d
leaq -0xc1(%rbp), %rdi
callq 0x32b0
leaq -0x38(%rbp), %rdi
callq 0x3160
movq -0xe0(%rbp), %rax
addq $0x130, %rsp            # imm = 0x130
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xc1(%rbp), %rdi
callq 0x32b0
leaq -0x38(%rbp), %rdi
callq 0x3160
movq -0x40(%rbp), %rdi
callq 0x33f0
nopl (%rax)