// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_sources.c
// Function: bcore_sources_signal_handler
vd_t bcore_sources_signal_handler( const bcore_signal_s* o )
{
    switch( bcore_signal_s_handle_type( o, typeof( "bcore_sources" ) ) )
    {
        case TYPEOF_init1:
        {
            bcore_flect_define_creator( typeof( "bcore_source_string_s"  ), string_s_create_self );
            bcore_flect_define_creator( typeof( "bcore_source_buffer_s"  ), buffer_s_create_self );
            bcore_flect_define_creator( typeof( "bcore_source_file_s"    ), file_s_create_self   );
            bcore_flect_define_creator( typeof( "bcore_source_chain_s"   ), chain_s_create_self  );

            BCORE_REGISTER_FFUNC( bcore_fp_flow_src, bcore_source_stdin_s_get_data );
            BCORE_REGISTER_FFUNC( bcore_source_fp_eos, bcore_source_stdin_s_eos );
            BCORE_REGISTER_FFUNC( bcore_source_fp_get_file, bcore_source_stdin_s_get_file );
            BCORE_REGISTER_FFUNC( bcore_source_fp_get_index, bcore_source_stdin_s_get_index );
            BCORE_REGISTER_FFUNC( bcore_source_fp_set_index, bcore_source_stdin_s_set_index );
            BCORE_REGISTER_FFUNC( bcore_source_fp_parse_fv, bcore_source_stdin_s_parse_fv );
            BCORE_REGISTER_FFUNC( bcore_source_fp_parse_em_fv, bcore_source_stdin_s_parse_em_fv );
            BCORE_REGISTER_OBJECT( bcore_source_stdin_s );
            BCORE_REGISTER_OBJECT( bcore_source_point_s );

            bcore_source_stdin_g = ( bcore_source* )bcore_source_open_stdin();
        }
        break;

        case TYPEOF_down1:
        {
             bcore_source_a_detach( &bcore_source_stdin_g );
        }
        break;

        case TYPEOF_selftest:
        {
            return sources_selftest();
        }
        break;

        default: break;
    }

    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
leaq 0x83daa(%rip), %rdi     # 0x151fd5
callq 0xcce50
movq -0x20(%rbp), %rdi
movq %rax, %rsi
callq 0xc7f40
movq %rax, %rcx
movq %rcx, -0x18(%rbp)
movabsq $-0x69a05654ee793a14, %rcx # imm = 0x965FA9AB1186C5EC
subq %rcx, %rax
je 0xce50e
jmp 0xce258
movq -0x18(%rbp), %rax
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
subq %rcx, %rax
je 0xce289
jmp 0xce26d
movq -0x18(%rbp), %rax
movabsq $0x7ee758bbfced33e3, %rcx # imm = 0x7EE758BBFCED33E3
subq %rcx, %rax
je 0xce51c
jmp 0xce527
leaq 0x83107(%rip), %rdi     # 0x151397
callq 0xcce50
movq %rax, %rdi
leaq 0x2a1(%rip), %rsi       # 0xce540
callq 0xa7b60
leaq 0x83102(%rip), %rdi     # 0x1513ad
callq 0xcce50
movq %rax, %rdi
leaq 0x406(%rip), %rsi       # 0xce6c0
callq 0xa7b60
leaq 0x830fd(%rip), %rdi     # 0x1513c3
callq 0xcce50
movq %rax, %rdi
leaq 0x51b(%rip), %rsi       # 0xce7f0
callq 0xa7b60
leaq 0x83b98(%rip), %rdi     # 0x151e79
callq 0xcce50
movq %rax, %rdi
leaq 0x650(%rip), %rsi       # 0xce940
callq 0xa7b60
leaq 0x83ce7(%rip), %rdi     # 0x151fe3
callq 0xceaf0
movq %rax, -0x58(%rbp)
leaq 0x83cf5(%rip), %rdi     # 0x152001
callq 0xceaf0
movq -0x58(%rbp), %rdi
movq %rax, %rsi
callq 0x1134f0
leaq 0x83cbf(%rip), %rdi     # 0x151fe3
callq 0xceaf0
movq %rax, %rdi
leaq -0x13b3(%rip), %rsi     # 0xccf80
callq 0xaa780
leaq 0x83cd4(%rip), %rdi     # 0x152013
callq 0xceaf0
movq %rax, -0x50(%rbp)
leaq 0x83cdd(%rip), %rdi     # 0x15202c
callq 0xceaf0
movq -0x50(%rbp), %rdi
movq %rax, %rsi
callq 0x1134f0
leaq 0x83cac(%rip), %rdi     # 0x152013
callq 0xceaf0
movq %rax, %rdi
leaq -0xde6(%rip), %rsi      # 0xcd590
callq 0xaa780
leaq 0x83cbe(%rip), %rdi     # 0x152040
callq 0xceaf0
movq %rax, -0x48(%rbp)
leaq 0x83ccc(%rip), %rdi     # 0x15205e
callq 0xceaf0
movq -0x48(%rbp), %rdi
movq %rax, %rsi
callq 0x1134f0
leaq 0x83c96(%rip), %rdi     # 0x152040
callq 0xceaf0
movq %rax, %rdi
leaq -0xdd9(%rip), %rsi      # 0xcd5e0
callq 0xaa780
leaq 0x83cb2(%rip), %rdi     # 0x152077
callq 0xceaf0
movq %rax, -0x40(%rbp)
leaq 0x83cc1(%rip), %rdi     # 0x152096
callq 0xceaf0
movq -0x40(%rbp), %rdi
movq %rax, %rsi
callq 0x1134f0
leaq 0x83c8a(%rip), %rdi     # 0x152077
callq 0xceaf0
movq %rax, %rdi
leaq -0xdfc(%rip), %rsi      # 0xcd600
callq 0xaa780
leaq 0x83b4f(%rip), %rdi     # 0x151f57
callq 0xceaf0
movq %rax, -0x38(%rbp)
leaq 0x83c98(%rip), %rdi     # 0x1520b0
callq 0xceaf0
movq -0x38(%rbp), %rdi
movq %rax, %rsi
callq 0x1134f0
leaq 0x83b27(%rip), %rdi     # 0x151f57
callq 0xceaf0
movq %rax, %rdi
leaq -0xe1f(%rip), %rsi      # 0xcd620
callq 0xaa780
leaq 0x83c7f(%rip), %rdi     # 0x1520ca
callq 0xceaf0
movq %rax, -0x30(%rbp)
leaq 0x83c8d(%rip), %rdi     # 0x1520e8
callq 0xceaf0
movq -0x30(%rbp), %rdi
movq %rax, %rsi
callq 0x1134f0
leaq 0x83c57(%rip), %rdi     # 0x1520ca
callq 0xceaf0
movq %rax, %rdi
leaq -0xf42(%rip), %rsi      # 0xcd540
callq 0xaa780
leaq 0x83c73(%rip), %rdi     # 0x152101
callq 0xceaf0
movq %rax, -0x28(%rbp)
leaq 0x83c84(%rip), %rdi     # 0x152122
callq 0xceaf0
movq -0x28(%rbp), %rdi
movq %rax, %rsi
callq 0x1134f0
leaq 0x83c4b(%rip), %rdi     # 0x152101
callq 0xceaf0
movq %rax, %rdi
leaq -0x1235(%rip), %rsi     # 0xcd290
callq 0xaa780
leaq 0x83a61(%rip), %rdi     # 0x151f32
callq 0xcce50
movq %rax, %rdi
leaq 0x630(%rip), %rsi       # 0xceb10
callq 0xa7b60
leaq 0x82eeb(%rip), %rdi     # 0x1513d7
callq 0xcce50
movq %rax, %rdi
leaq 0x635(%rip), %rsi       # 0xceb30
callq 0xa7b60
callq 0xce110
movq %rax, 0xe3e54(%rip)     # 0x1b2360
jmp 0xce529
leaq 0xe3e4b(%rip), %rdi     # 0x1b2360
callq 0xceb50
jmp 0xce529
callq 0xceb90
movq %rax, -0x8(%rbp)
jmp 0xce531
jmp 0xce529
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopl (%rax,%rax)