// File: /workspace/github_cpp_makefile_star2_O3/frainfreeze[P]tss/./shell.h
// Function: shell::parse(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
int parse(std::string input)
{
    std::string arg = input.substr(0, input.find(" "));
    if(arg=="exit"){
        return 0;
    } 
    else if(arg=="help"){
        return builtins::funcMap["help"]("");
    } 
    else if(arg=="cd"){
        builtins::tss_cd(input.substr(input.find_first_of(" \t")+1));
    } 
    else {
        std::cout << exec(input);   
        return 1; 
    }

    /// \todo Actual input parsing
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0xa8, %rsp
movq %rdi, %r14
leaq 0x1684(%rip), %rsi      # 0x40cd
xorl %ebx, %ebx
movl $0x1, %ecx
xorl %edx, %edx
callq 0x2280
leaq -0x98(%rbp), %r15
movq %r15, %rdi
movq %r14, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x2190
leaq 0x1671(%rip), %rsi      # 0x40e6
movq %r15, %rdi
callq 0x2080
testl %eax, %eax
je 0x2bbd
leaq 0x163b(%rip), %rsi      # 0x40c7
leaq -0x98(%rbp), %rdi
callq 0x2080
testl %eax, %eax
je 0x2b2f
leaq 0x161d(%rip), %rsi      # 0x40c4
leaq -0x98(%rbp), %rdi
callq 0x2080
testl %eax, %eax
je 0x2bec
leaq -0x48(%rbp), %r15
movq %r15, -0x10(%r15)
movq (%r14), %rsi
movq 0x8(%r14), %rdx
addq %rsi, %rdx
leaq -0x58(%rbp), %rdi
callq 0x350a
leaq -0x38(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x2906
movq -0x38(%rbp), %rsi
movq -0x30(%rbp), %rdx
movq 0x44ce(%rip), %rdi      # 0x6fc0
callq 0x21b0
leaq -0x28(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2b10
movq -0x28(%rbp), %rsi
incq %rsi
callq 0x2180
movq -0x58(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b25
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x2180
movl $0x1, %ebx
jmp 0x2bbd
leaq -0x28(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x1589(%rip), %rsi      # 0x40c7
leaq 0x1586(%rip), %rdx      # 0x40cb
leaq -0x38(%rbp), %rdi
callq 0x35a8
leaq 0x463b(%rip), %rdi      # 0x7190
leaq -0x38(%rbp), %rsi
callq 0x322e
movq %rax, %rbx
leaq -0x68(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x157d(%rip), %rdx      # 0x40ed
leaq -0x78(%rbp), %rdi
movq %rdx, %rsi
callq 0x35a8
cmpq $0x0, 0x10(%rbx)
je 0x2c28
leaq -0x78(%rbp), %rsi
movq %rbx, %rdi
callq *0x18(%rbx)
movl %eax, %ebx
movq -0x78(%rbp), %rdi
cmpq %r15, %rdi
je 0x2ba8
movq -0x68(%rbp), %rsi
incq %rsi
callq 0x2180
movq -0x38(%rbp), %rdi
cmpq %r14, %rdi
je 0x2bbd
movq -0x28(%rbp), %rsi
incq %rsi
callq 0x2180
leaq -0x88(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2bdc
movq -0x88(%rbp), %rsi
incq %rsi
callq 0x2180
movl %ebx, %eax
addq $0xa8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
leaq 0x14f8(%rip), %rsi      # 0x40eb
movl $0x2, %ecx
movq %r14, %rdi
xorl %edx, %edx
callq 0x2200
leaq 0x1(%rax), %rdx
leaq -0xb8(%rbp), %rdi
movq %r14, %rsi
movq $-0x1, %rcx
callq 0x2190
leaq -0xb8(%rbp), %rdi
callq 0x22e0
callq 0x20b0
jmp 0x2c68
jmp 0x2c31
movq %rax, %rbx
jmp 0x2c85
jmp 0x2c68
movq %rax, %rbx
leaq -0x28(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2c59
movq -0x28(%rbp), %rsi
incq %rsi
callq 0x2180
jmp 0x2c59
movq %rax, %rbx
movq -0x58(%rbp), %rdi
cmpq %r15, %rdi
je 0x2c9a
movq -0x48(%rbp), %rsi
jmp 0x2c92
movq %rax, %rbx
jmp 0x2c9a
movq %rax, %rbx
movq -0x78(%rbp), %rdi
cmpq %r15, %rdi
je 0x2c85
movq -0x68(%rbp), %rsi
incq %rsi
callq 0x2180
movq -0x38(%rbp), %rdi
cmpq %r14, %rdi
je 0x2c9a
movq -0x28(%rbp), %rsi
incq %rsi
callq 0x2180
leaq -0x88(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2cb9
movq -0x88(%rbp), %rsi
incq %rsi
callq 0x2180
movq %rbx, %rdi
callq 0x2290