// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_shell_op_default_ls_s_run
BCORE_DEFINE_OBJECT_INST_P_NASC_END( bcore_shell_op_default_ls_s )

void bcore_shell_op_default_ls_s_run( bcore_shell_op_default_ls_s* o, bcore_shell* obj, const bcore_main_frame_s* main_frame, x_source* source, bcore_sink* sink, bcore_shell_control_s* control )
{
    // bcore_shell.h:479:9
    BLM_INIT_LEVEL(0);
    x_stamp_path_s path;BLM_T_INIT_SPUSH(x_stamp_path_s, &path);x_stamp_path_s_parse(&(path),((x_source*)BLM_LEVEL_A_PUSH(0,x_source_create_from_sc(o->path.sc ))) );
    sr_s sr = x_stamp_path_s_get_sr_in(&(path),((const x_inst*)(obj )));
    
    if( sr.o )
    {BLM_INIT_LEVEL(1);
        tp_t t = sr_s_type(&( sr ));
        const x_stamp* v =((const x_stamp*)( sr.o));
        sz_t size = x_stamp_t_size(t );
        bcore_arr_st_s table;BLM_T_INIT_SPUSH(bcore_arr_st_s, &table);;
        for(sz_t i = 0; i < size; i++ )
        {
            tp_t name = x_stamp_t_name(t, i );
            tp_t type = x_stamp_t_type( v,t, name );
            bcore_arr_st_s_push_fa(&(table),"#<sc_t>", bnameof( name ) );
            bcore_arr_st_s_push_fa(&(table),": #<sc_t>", bnameof( type ) );
            st_s* st = bcore_arr_st_s_push(&(table));
    
            switch( type )
            {
                case ((tp_t)(TYPEOF_u0_t)): case ((tp_t)(TYPEOF_u1_t)): case ((tp_t)(TYPEOF_u2_t)): case ((tp_t)(TYPEOF_u3_t)):
                case ((tp_t)(TYPEOF_s0_t)): case ((tp_t)(TYPEOF_s1_t)): case ((tp_t)(TYPEOF_s2_t)): case ((tp_t)(TYPEOF_s3_t)):
                case ((tp_t)(TYPEOF_bl_t)): case ((tp_t)(TYPEOF_uz_t)): case ((tp_t)(TYPEOF_sz_t)): case ((tp_t)(TYPEOF_tp_t)):
                case ((tp_t)(TYPEOF_f2_t)): case ((tp_t)(TYPEOF_f3_t)):
                {BLM_INIT_LEVEL(19);
                    sr_s sr;BLM_T_INIT_SPUSH(sr_s, &sr);;
                    sr = x_stamp_t_c_get_sr( v,t, name );
                    if( sr.o )
                    {
                        st_s_push_sc(st,": " );
                        st_s_push_st_d(st,st_s_create_typed(type, sr.o ) );
                    }
                BLM_DOWN();}
                break;
    
                default: break;
            }
        }
        bcore_arr_st_s_table_to_sink(&(table),size, -1, sink );
    BLM_DOWN();}
    else
    {
        bcore_sink_a_push_fa(sink,"Path not found.\n" );
    }
    BLM_DOWN();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x158, %rsp            # imm = 0x158
movq %r8, %r13
movq %rsi, %rbx
movq %rdi, %r15
leaq 0xe5325(%rip), %rax     # 0x117dd0
movq (%rax), %rsi
leaq 0xd8(%rsp), %r12
movq %r12, 0x38(%rsp)
movq %r12, %rdi
callq 0x717f5
andq $0x0, 0x10(%r12)
leaq 0x108(%rsp), %r14
movq %r14, %rdi
callq 0x2ec83
movabsq $-0x74dceedd59a2bd6f, %rsi # imm = 0x8B231122A65D4291
movq %r12, %rdi
movq %r14, %rdx
callq 0x71998
movq 0x10(%r15), %rdi
callq 0x76c9e
movq %r12, %rdi
xorl %esi, %esi
movq %rax, %rdx
callq 0x71a90
movq %r14, %rdi
movq %rax, %rsi
callq 0x2edcf
leaq 0x90(%rsp), %r15
movq %r15, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x2fefc
movq (%r15), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
je 0x32b6e
movq %r13, (%rsp)
leaq 0xa8(%rsp), %rbx
movq %rbx, 0x30(%rsp)
leaq 0xd8(%rsp), %rsi
movq %rbx, %rdi
callq 0x717f5
movq $0x1, 0x10(%rbx)
movq 0x98(%rsp), %rax
testq %rax, %rax
je 0x32b84
movq 0x8(%rax), %r15
jmp 0x32b87
leaq 0x82090(%rip), %rsi     # 0xb4c05
movq %r13, %rdi
xorl %eax, %eax
callq 0x87cf1
jmp 0x32e1a
xorl %r15d, %r15d
movq (%rsp), %r14
movq %r15, %rdi
callq 0x32e3b
movq %rax, %rbx
leaq 0x70(%rsp), %r12
movq %r12, %rdi
callq 0x5c299
leaq 0xa8(%rsp), %rdi
movabsq $-0x3a338903c1418376, %rsi # imm = 0xC5CC76FC3EBE7C8A
movq %r12, %rdx
callq 0x71998
xorl %eax, %eax
testq %rbx, %rbx
movq %rbx, 0x18(%rsp)
cmovleq %rax, %rbx
movq %rbx, 0x20(%rsp)
xorl %r12d, %r12d
cmpq %r12, 0x20(%rsp)
je 0x32dfb
movq %r15, %rdi
movq %r12, %rsi
callq 0x32e47
movq %rax, %rbx
movq 0x8(%rsp), %rdi
movq %r15, %rsi
movq %rax, %rdx
callq 0x32e5c
movq %rax, %rbp
movq %rbx, %rdi
callq 0x71db6
leaq 0x70(%rsp), %r13
movq %r13, %rdi
leaq 0x8fef3(%rip), %rsi     # 0xc2b09
movq %rax, %rdx
xorl %eax, %eax
callq 0x5c5d2
movq %rbp, %rdi
callq 0x71db6
movq %r13, %rdi
leaq 0x8e83e(%rip), %rsi     # 0xc1470
movq %rax, %rdx
xorl %eax, %eax
callq 0x5c5d2
movq %r13, %rdi
callq 0x5c492
movq %rax, %rcx
movabsq $-0x73f6ae1ad309fd45, %rax # imm = 0x8C0951E52CF602BB
cmpq %rax, %rbp
je 0x32d31
movabsq $-0x6bce971ace902370, %rax # imm = 0x943168E5316FDC90
cmpq %rax, %rbp
je 0x32d31
movabsq $-0x6119581ac7eacd63, %rax # imm = 0x9EE6A7E53815329D
cmpq %rax, %rbp
je 0x32d31
movabsq $-0x5fc2af85f419929b, %rax # imm = 0xA03D507A0BE66D65
cmpq %rax, %rbp
je 0x32d31
movabsq $-0x5aa4411ac4e2880e, %rax # imm = 0xA55BBEE53B1D77F2
cmpq %rax, %rbp
je 0x32d31
movabsq $-0x58737885f0577326, %rax # imm = 0xA78C877A0FA88CDA
cmpq %rax, %rbp
je 0x32d31
movabsq $-0x4882601bdca6aefb, %rax # imm = 0xB77D9FE423595105
cmpq %rax, %rbp
je 0x32d31
movabsq $-0x3f1363e6d8155aed, %rax # imm = 0xC0EC9C1927EAA513
cmpq %rax, %rbp
je 0x32d31
movabsq $-0x3ac242643d9c35a8, %rax # imm = 0xC53DBD9BC263CA58
cmpq %rax, %rbp
je 0x32d31
movabsq $0x510c2417c67dabeb, %rax # imm = 0x510C2417C67DABEB
cmpq %rax, %rbp
je 0x32d31
movabsq $0x585a3b17ca3de200, %rax # imm = 0x585A3B17CA3DE200
cmpq %rax, %rbp
je 0x32d31
movabsq $0x62367a17d02b474d, %rax # imm = 0x62367A17D02B474D
cmpq %rax, %rbp
je 0x32d31
movabsq $0x6d07f9ef5b68e8a2, %rax # imm = 0x6D07F9EF5B68E8A2
cmpq %rax, %rbp
je 0x32d31
movabsq $0x69849117d3eb7d62, %rax # imm = 0x69849117D3EB7D62
cmpq %rax, %rbp
jne 0x32df3
movq %r12, 0x28(%rsp)
movq %rcx, %r12
leaq 0x128(%rsp), %rdi
movq %rdi, 0x10(%rsp)
leaq 0xa8(%rsp), %rsi
callq 0x717f5
movq 0x10(%rsp), %r14
movq $0x13, 0x10(%r14)
movq %r15, %r13
leaq 0x40(%rsp), %r15
movq %r15, %rdi
callq 0x8d1bc
movq %r14, %rdi
movabsq $0x79b76918ff0af12a, %rsi # imm = 0x79B76918FF0AF12A
movq %r15, %rdx
movq %r13, %r15
callq 0x71998
leaq 0x58(%rsp), %rdi
movq 0x8(%rsp), %rsi
movq %r13, %rdx
movq %rbx, %rcx
callq 0x2f99e
movq 0x68(%rsp), %rax
movq %rax, 0x50(%rsp)
movups 0x58(%rsp), %xmm0
movaps %xmm0, 0x40(%rsp)
cmpq $0x0, 0x40(%rsp)
je 0x32de0
movq %r12, %rdi
leaq 0x7b0f9(%rip), %rsi     # 0xadebc
callq 0x8f392
movq 0x40(%rsp), %rsi
movq %rbp, %rdi
callq 0x8eeed
movq %r12, %rdi
movq %rax, %rsi
callq 0x8f2e5
leaq 0x10(%rsp), %rdi
callq 0x71b48
movq (%rsp), %r14
movq 0x28(%rsp), %r12
incq %r12
jmp 0x32bd3
leaq 0x70(%rsp), %rdi
pushq $-0x1
popq %rdx
movq 0x18(%rsp), %rsi
movq %r14, %rcx
callq 0x5c8ad
leaq 0x30(%rsp), %rdi
callq 0x71b48
leaq 0x38(%rsp), %rdi
callq 0x71b48
addq $0x158, %rsp            # imm = 0x158
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq