// File: /workspace/github_c_makefile_star2_O1/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 %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movl $0x60, %esi
xorl %edi, %edi
callq 0xc8315
movq %rax, %r14
movl $0x60, %esi
movq %rax, %rdi
callq 0xc8366
movabsq $-0x7e8ee9b9b4bbaa8, %rax # imm = 0xF817116464B44558
movq %rax, (%r14)
movq 0x8(%rbx), %rax
movq %rax, 0x8(%r14)
leaq 0x464c5(%rip), %rdi     # 0x152ce3
callq 0xe1270
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0xce9cd
movq %rax, 0x10(%r14)
leaq 0x466b5(%rip), %rdi     # 0x152ef0
callq 0xe1270
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0xce882
movq %rax, 0x18(%r14)
leaq 0x46572(%rip), %rdi     # 0x152dca
callq 0xe1270
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0xce882
movq %rax, 0x20(%r14)
leaq 0x4658f(%rip), %rdi     # 0x152e04
callq 0xe1270
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0xce882
movq %rax, 0x28(%r14)
leaq 0x4667a(%rip), %rdi     # 0x152f0c
callq 0xe1270
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0xce882
movq %rax, 0x30(%r14)
leaq 0x4667a(%rip), %rdi     # 0x152f29
callq 0xe1270
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0xce882
movq %rax, 0x38(%r14)
leaq 0x46442(%rip), %rdi     # 0x152d0e
callq 0xe1270
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0xce9cd
movq %rax, 0x40(%r14)
leaq 0x46457(%rip), %rdi     # 0x152d40
callq 0xe1270
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0xce882
movq %rax, 0x48(%r14)
leaq 0x46472(%rip), %rdi     # 0x152d78
callq 0xe1270
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0xce882
movq %rax, 0x50(%r14)
leaq 0x4646f(%rip), %rdi     # 0x152d92
callq 0xe1270
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0xce882
movq %rax, 0x58(%r14)
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq