// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_shell_run_expression
bl_t bcore_shell_run_expression( bcore_shell* o, const bcore_main_frame_s* frame, bcore_shell_control_s* control, x_source* expression )
{
    // bcore_shell.h:382:1
    BLM_INIT_LEVEL(0);
    bl_t found = false;
    
    BLM_TRY_EXIT(x_source_parse_fa(expression," #-?';' " ))
    
    {BLM_INIT_LEVEL(1);const bcore_arr_tp_s* __a=((bcore_arr_tp_s*)BLM_LEVEL_T_PUSH(1,bcore_arr_tp_s,bcore_shell_get_op_stamps(o))) ;if(__a)for(sz_t __i=0;__i<__a->size;__i++){tp_t t=__a->data[__i];
    {
        bcore_shell_op* op =((bcore_shell_op*)( ((x_inst*)BLM_LEVEL_TV_PUSH(0,t ,x_inst_t_create(t )))));
        if( bcore_shell_op_parse_match(op,expression ) )
        {
            if( bcore_shell_op_parse_param(op,expression,((bcore_sink*)( control->sink ))) )
            {
                bcore_shell_op_a_run(op,o,
                    frame,
                    control ? control->source : x_source_stdin(),((bcore_sink*)(
                    control ? control->sink   : x_sink_stdout())),
                    control
                );
            }
            found = true;
            break;
        }
    }
    
    }BLM_DOWN();}BLM_TRY_EXIT(x_source_parse_fa(expression," " ))
    BLM_RETURNV(bl_t, ( found && !x_source_eos(expression) ) ? bcore_shell_run_expression(o,frame, control, expression ) || found : found)
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x130, %rsp            # imm = 0x130
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
leaq 0x1677de(%rip), %rax    # 0x1b2330
movq (%rax), %rax
movq %rax, -0x28(%rbp)
leaq -0x58(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0xbfe80
movq -0x60(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x10(%rax)
movb $0x0, -0x61(%rbp)
movq -0x20(%rbp), %rdi
leaq 0xe8edf(%rip), %rsi     # 0x133a70
movb $0x0, %al
callq 0x44f70
movq %rax, -0x70(%rbp)
cmpq $0x0, -0x70(%rbp)
je 0x4abb7
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x70(%rbp), %rax
movl %eax, %edi
callq 0x425e0
movq -0x60(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq -0xa8(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rdi
movq -0x78(%rbp), %rsi
callq 0xbfe80
movq -0xb0(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
movq $0x1, 0x10(%rax)
movq -0x78(%rbp), %rax
movq %rax, -0xe8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x4a0d0
movq -0xe8(%rbp), %rdi
movq %rax, %rcx
movl $0x1, %esi
movabsq $-0x79c1eb0a2e5b4c6b, %rdx # imm = 0x863E14F5D1A4B395
callq 0xc01a0
movq %rax, -0xb8(%rbp)
cmpq $0x0, -0xb8(%rbp)
je 0x4adc2
movq $0x0, -0xc0(%rbp)
movq -0xc0(%rbp), %rax
movq -0xb8(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x4adc0
movq -0xb8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0xc0(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0xc8(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0xf8(%rbp)
movq -0xc8(%rbp), %rax
movq %rax, -0xf0(%rbp)
movq -0xc8(%rbp), %rdi
callq 0x4a7f0
movq -0xf8(%rbp), %rdi
movq -0xf0(%rbp), %rdx
movq %rax, %rcx
xorl %eax, %eax
movl %eax, %esi
callq 0xc01a0
movq %rax, -0xd0(%rbp)
movq -0xd0(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x4aea0
testb $0x1, %al
jne 0x4acda
jmp 0x4ada7
movq -0xd0(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdx
callq 0x4b000
testb $0x1, %al
jne 0x4acfb
jmp 0x4ada1
movq -0xd0(%rbp), %rax
movq %rax, -0x110(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x108(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x100(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x4ad37
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x118(%rbp)
jmp 0x4ad43
callq 0x4bac0
movq %rax, -0x118(%rbp)
movq -0x118(%rbp), %rax
movq %rax, -0x120(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x4ad69
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x128(%rbp)
jmp 0x4ad75
callq 0x43130
movq %rax, -0x128(%rbp)
movq -0x120(%rbp), %rcx
movq -0x100(%rbp), %rdx
movq -0x108(%rbp), %rsi
movq -0x110(%rbp), %rdi
movq -0x128(%rbp), %r8
movq -0x18(%rbp), %r9
callq 0x4ba60
movb $0x1, -0x61(%rbp)
jmp 0x4adc0
jmp 0x4ada9
movq -0xc0(%rbp), %rax
addq $0x1, %rax
movq %rax, -0xc0(%rbp)
jmp 0x4ac46
jmp 0x4adc2
leaq -0xb0(%rbp), %rdi
callq 0xc06e0
movq -0x20(%rbp), %rdi
leaq 0x102da8(%rip), %rsi    # 0x14db81
movb $0x0, %al
callq 0x44f70
movq %rax, -0xd8(%rbp)
cmpq $0x0, -0xd8(%rbp)
je 0x4ae08
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0xd8(%rbp), %rax
movl %eax, %edi
callq 0x425e0
testb $0x1, -0x61(%rbp)
je 0x4ae5b
movq -0x20(%rbp), %rdi
callq 0x44f20
testb $0x1, %al
jne 0x4ae5b
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
callq 0x4ab30
movb %al, %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0x129(%rbp)
jne 0x4ae48
movb -0x61(%rbp), %al
movb %al, -0x129(%rbp)
movb -0x129(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x130(%rbp)
jmp 0x4ae69
movb -0x61(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x130(%rbp)
movl -0x130(%rbp), %eax
cmpl $0x0, %eax
setne %al
andb $0x1, %al
movb %al, -0xd9(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movb -0xd9(%rbp), %al
andb $0x1, %al
addq $0x130, %rsp            # imm = 0x130
popq %rbp
retq
nopw (%rax,%rax)