// File: /workspace/github_c_makefile_star2_O2/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 %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
pushq $0x60
popq %r15
xorl %edi, %edi
movq %r15, %rsi
callq 0x6023e
movq %rax, %r14
movq %rax, %rdi
movq %r15, %rsi
callq 0x6028b
leaq 0x3aced(%rip), %rdi     # 0xc4ea3
callq 0x89fb9
movq %rax, (%r14)
movq 0x8(%rbx), %rax
movq %rax, 0x8(%r14)
leaq 0x3b9de(%rip), %rdi     # 0xc5bab
callq 0x7227a
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x6458a
movq %rax, 0x10(%r14)
leaq 0x3bbce(%rip), %rdi     # 0xc5db8
callq 0x7227a
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x6449c
movq %rax, 0x18(%r14)
leaq 0x3ba8b(%rip), %rdi     # 0xc5c92
callq 0x7227a
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x6449c
movq %rax, 0x20(%r14)
leaq 0x3baa8(%rip), %rdi     # 0xc5ccc
callq 0x7227a
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x6449c
movq %rax, 0x28(%r14)
leaq 0x3bb93(%rip), %rdi     # 0xc5dd4
callq 0x7227a
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x6449c
movq %rax, 0x30(%r14)
leaq 0x3bb93(%rip), %rdi     # 0xc5df1
callq 0x7227a
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x6449c
movq %rax, 0x38(%r14)
leaq 0x3b95b(%rip), %rdi     # 0xc5bd6
callq 0x7227a
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x6458a
movq %rax, 0x40(%r14)
leaq 0x3b970(%rip), %rdi     # 0xc5c08
callq 0x7227a
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x6449c
movq %rax, 0x48(%r14)
leaq 0x3b98b(%rip), %rdi     # 0xc5c40
callq 0x7227a
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x6449c
movq %rax, 0x50(%r14)
leaq 0x3b988(%rip), %rdi     # 0xc5c5a
callq 0x7227a
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x6449c
movq %rax, 0x58(%r14)
movq %r14, %rax
popq %rbx
popq %r14
popq %r15
retq
nopl (%rax)