// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_source.c
// Function: create_from_self
static bcore_source_s* create_from_self( const bcore_self_s* self )
{
    assert( self != NULL );
    assert( bcore_self_s_is_aware( self ) );

    bcore_source_s* o = source_s_create();
    o->header.o_type = self->type;

    o->get_data        = ( bcore_fp_flow_src               )bcore_self_s_get_external_fp( self, bcore_name_enroll( "bcore_fp_flow_src" ), 0 );
    o->get_context     = ( bcore_source_fp_get_context     )bcore_self_s_try_external_fp( self, bcore_name_enroll( "bcore_source_fp_get_context" ), 0 );
    o->parse_fv        = ( bcore_source_fp_parse_fv        )bcore_self_s_try_external_fp( self, bcore_name_enroll( "bcore_source_fp_parse_fv" ), 0 );
    o->parse_em_fv     = ( bcore_source_fp_parse_em_fv     )bcore_self_s_try_external_fp( self, bcore_name_enroll( "bcore_source_fp_parse_em_fv" ), 0 );
    o->set_supplier    = ( bcore_source_fp_set_supplier    )bcore_self_s_try_external_fp( self, bcore_name_enroll( "bcore_source_fp_set_supplier" ), 0 );
    o->set_parent      = ( bcore_source_fp_set_parent      )bcore_self_s_try_external_fp( self, bcore_name_enroll( "bcore_source_fp_set_parent" ), 0 );
    o->eos             = ( bcore_source_fp_eos             )bcore_self_s_get_external_fp( self, bcore_name_enroll( "bcore_source_fp_eos" ), 0 );
    o->get_file        = ( bcore_source_fp_get_file        )bcore_self_s_try_external_fp( self, bcore_name_enroll( "bcore_source_fp_get_file" ), 0 );
    o->get_index       = ( bcore_source_fp_get_index       )bcore_self_s_try_external_fp( self, bcore_name_enroll( "bcore_source_fp_get_index" ), 0 );
    o->set_index       = ( bcore_source_fp_set_index       )bcore_self_s_try_external_fp( self, bcore_name_enroll( "bcore_source_fp_set_index" ), 0 );
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
callq 0xf5460
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x5cd7d(%rip), %rdi     # 0x152001
callq 0xc17b0
movq -0x60(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0xa6bb0
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x5cf5b(%rip), %rdi     # 0x15220e
callq 0xc17b0
movq -0x58(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0xa6a30
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x5ce06(%rip), %rdi     # 0x1520e8
callq 0xc17b0
movq -0x50(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0xa6a30
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x5ce11(%rip), %rdi     # 0x152122
callq 0xc17b0
movq -0x48(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0xa6a30
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x28(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x5ceea(%rip), %rdi     # 0x15222a
callq 0xc17b0
movq -0x40(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0xa6a30
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x30(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x5ced8(%rip), %rdi     # 0x152247
callq 0xc17b0
movq -0x38(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0xa6a30
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x38(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x5cc8e(%rip), %rdi     # 0x15202c
callq 0xc17b0
movq -0x30(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0xa6bb0
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x40(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x28(%rbp)
leaq 0x5cc91(%rip), %rdi     # 0x15205e
callq 0xc17b0
movq -0x28(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0xa6a30
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x48(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
leaq 0x5cc9a(%rip), %rdi     # 0x152096
callq 0xc17b0
movq -0x20(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0xa6a30
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x50(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
leaq 0x5cc85(%rip), %rdi     # 0x1520b0
callq 0xc17b0
movq -0x18(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0xa6a30
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x58(%rax)
movq -0x10(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)