// File: /workspace/github_cpp_makefile_star2_O1/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 0x1672(%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 0x165f(%rip), %rsi      # 0x40e6
movq %r15, %rdi
callq 0x2080
testl %eax, %eax
je 0x2bcf
leaq 0x1629(%rip), %rsi      # 0x40c7
leaq -0x98(%rbp), %rdi
callq 0x2080
testl %eax, %eax
je 0x2b41
leaq 0x160b(%rip), %rsi      # 0x40c4
leaq -0x98(%rbp), %rdi
callq 0x2080
testl %eax, %eax
je 0x2bfe
leaq -0x48(%rbp), %r15
movq %r15, -0x10(%r15)
movq (%r14), %rsi
movq 0x8(%r14), %rdx
addq %rsi, %rdx
leaq -0x58(%rbp), %rdi
callq 0x351c
leaq -0x38(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x2916
movq -0x38(%rbp), %rsi
movq -0x30(%rbp), %rdx
movq 0x44bc(%rip), %rdi      # 0x6fc0
callq 0x21b0
leaq -0x28(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2b22
movq -0x28(%rbp), %rsi
incq %rsi
callq 0x2180
movq -0x58(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b37
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x2180
movl $0x1, %ebx
jmp 0x2bcf
leaq -0x28(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x1577(%rip), %rsi      # 0x40c7
leaq 0x1574(%rip), %rdx      # 0x40cb
leaq -0x38(%rbp), %rdi
callq 0x35b6
leaq 0x4629(%rip), %rdi      # 0x7190
leaq -0x38(%rbp), %rsi
callq 0x3240
movq %rax, %rbx
leaq -0x68(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x156b(%rip), %rdx      # 0x40ed
leaq -0x78(%rbp), %rdi
movq %rdx, %rsi
callq 0x35b6
cmpq $0x0, 0x10(%rbx)
je 0x2c3a
leaq -0x78(%rbp), %rsi
movq %rbx, %rdi
callq *0x18(%rbx)
movl %eax, %ebx
movq -0x78(%rbp), %rdi
cmpq %r15, %rdi
je 0x2bba
movq -0x68(%rbp), %rsi
incq %rsi
callq 0x2180
movq -0x38(%rbp), %rdi
cmpq %r14, %rdi
je 0x2bcf
movq -0x28(%rbp), %rsi
incq %rsi
callq 0x2180
leaq -0x88(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2bee
movq -0x88(%rbp), %rsi
incq %rsi
callq 0x2180
movl %ebx, %eax
addq $0xa8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
leaq 0x14e6(%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 0x22e6
callq 0x20b0
jmp 0x2c7a
jmp 0x2c43
movq %rax, %rbx
jmp 0x2c97
jmp 0x2c7a
movq %rax, %rbx
leaq -0x28(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2c6b
movq -0x28(%rbp), %rsi
incq %rsi
callq 0x2180
jmp 0x2c6b
movq %rax, %rbx
movq -0x58(%rbp), %rdi
cmpq %r15, %rdi
je 0x2cac
movq -0x48(%rbp), %rsi
jmp 0x2ca4
movq %rax, %rbx
jmp 0x2cac
movq %rax, %rbx
movq -0x78(%rbp), %rdi
cmpq %r15, %rdi
je 0x2c97
movq -0x68(%rbp), %rsi
incq %rsi
callq 0x2180
movq -0x38(%rbp), %rdi
cmpq %r14, %rdi
je 0x2cac
movq -0x28(%rbp), %rsi
incq %rsi
callq 0x2180
leaq -0x88(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2ccb
movq -0x88(%rbp), %rsi
incq %rsi
callq 0x2180
movq %rbx, %rdi
callq 0x2290