// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_embedded_data_s_expand_definition
er_t xoico_embedded_data_s_expand_definition( const xoico_embedded_data_s* o, const xoico_host* host, sz_t indent, x_sink* sink )
{
    // xoico_embedded_data.x:56:5
    
    if( o->embed_method == TYPEOF_as_string )
    {
        x_sink_push_fa(sink,"#rn{ }st_s* #<sc_t>( void )\n", indent, xoico_host_a_nameof(host,o->function_name ) );
        x_sink_push_fa(sink,"#rn{ }{\n"                            , indent );
    
        x_sink_push_fa(sink,"#rn{ }    sc_t sc[] =\n", indent );
        x_sink_push_fa(sink,"#rn{ }    {\n" , indent );
        x_sink_push_fa(sink,"#rn{ }        \"" , indent );
    
        sz_t lines = 0;
    
        for(sz_t i = 0; i < o->arr->size; i++ )
        {
            u0_t c = o->arr->data[ i ];
            switch( c )
            {
                case '\\': x_sink_push_sc(sink,"\\\\" ); break;
                case '"' : x_sink_push_sc(sink,"\\\"" ); break;
                case '\n':
                {
                    if( i + 1 < o->arr->size )
                    {
                        x_sink_push_fa(sink,"\\n\",\n" );
                        x_sink_push_fa(sink,"#rn{ }        \"" , indent );
                        lines++;
                    }
                }
                break;
    
                default: x_sink_push_char(sink,c );  break;
            }
        }
        x_sink_push_fa(sink,"\\n\"\n" );
        x_sink_push_fa(sink,"#rn{ }    };\n", indent );
        lines++;
    
        x_sink_push_fa(sink,"#rn{ }    st_s* st = st_s_create();\n", indent );
        x_sink_push_fa(sink,"#rn{ }    for( sz_t i = 0; i < #<sz_t>; i++ )\n", indent, lines );
        x_sink_push_fa(sink,"#rn{ }    {\n", indent );
        x_sink_push_fa(sink,"#rn{ }        st_s_push_sc( st, sc[ i ] );\n", indent );
        x_sink_push_fa(sink,"#rn{ }    }\n", indent );
        x_sink_push_fa(sink,"#rn{ }    return st;\n", indent );
        x_sink_push_fa(sink,"#rn{ }}\n", indent );
    }
    
    return  0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rax
movabsq $-0x4513c06eae19ddf9, %rcx # imm = 0xBAEC3F9151E62207
cmpq %rcx, 0x18(%rax)
jne 0x10002
movq -0x20(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rsi
callq 0x5a60
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rdx
movq %rax, %rcx
leaq 0x124364(%rip), %rsi    # 0x134147
movb $0x0, %al
callq 0x56e0
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq 0x12436b(%rip), %rsi    # 0x134164
movb $0x0, %al
callq 0x56e0
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq 0x12435e(%rip), %rsi    # 0x13416d
movb $0x0, %al
callq 0x56e0
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq 0x12435f(%rip), %rsi    # 0x134184
movb $0x0, %al
callq 0x56e0
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq 0x124356(%rip), %rsi    # 0x134191
movb $0x0, %al
callq 0x56e0
movq $0x0, -0x28(%rbp)
movq $0x0, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq -0x8(%rbp), %rcx
movq 0x10(%rcx), %rcx
cmpq 0x10(%rcx), %rax
jae 0xff30
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq -0x30(%rbp), %rcx
movb (%rax,%rcx), %al
movb %al, -0x31(%rbp)
movzbl -0x31(%rbp), %eax
movl %eax, -0x4c(%rbp)
subl $0xa, %eax
je 0xfec4
jmp 0xfe8c
movl -0x4c(%rbp), %eax
subl $0x22, %eax
je 0xfeb2
jmp 0xfe96
movl -0x4c(%rbp), %eax
subl $0x5c, %eax
jne 0xff10
jmp 0xfea0
movq -0x20(%rbp), %rdi
leaq 0x1242f6(%rip), %rsi    # 0x1341a1
callq 0xc460
jmp 0xff1d
movq -0x20(%rbp), %rdi
leaq 0x1242e7(%rip), %rsi    # 0x1341a4
callq 0xc460
jmp 0xff1d
movq -0x30(%rbp), %rax
addq $0x1, %rax
movq -0x8(%rbp), %rcx
movq 0x10(%rcx), %rcx
cmpq 0x10(%rcx), %rax
jae 0xff0e
movq -0x20(%rbp), %rdi
leaq 0x1242c2(%rip), %rsi    # 0x1341a7
movb $0x0, %al
callq 0x56e0
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq 0x124296(%rip), %rsi    # 0x134191
movb $0x0, %al
callq 0x56e0
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
jmp 0xff1d
movq -0x20(%rbp), %rdi
movsbl -0x31(%rbp), %esi
callq 0xb4d0
jmp 0xff1f
movq -0x30(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x30(%rbp)
jmp 0xfe52
movq -0x20(%rbp), %rdi
leaq 0x124272(%rip), %rsi    # 0x1341ad
movb $0x0, %al
callq 0x56e0
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq 0x124261(%rip), %rsi    # 0x1341b2
movb $0x0, %al
callq 0x56e0
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq 0x12424d(%rip), %rsi    # 0x1341c0
movb $0x0, %al
callq 0x56e0
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rdx
movq -0x28(%rbp), %rcx
leaq 0x124258(%rip), %rsi    # 0x1341e5
movb $0x0, %al
callq 0x56e0
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq 0x1241e1(%rip), %rsi    # 0x134184
movb $0x0, %al
callq 0x56e0
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq 0x12425b(%rip), %rsi    # 0x134214
movb $0x0, %al
callq 0x56e0
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq 0x124271(%rip), %rsi    # 0x134240
movb $0x0, %al
callq 0x56e0
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq 0x124268(%rip), %rsi    # 0x13424d
movb $0x0, %al
callq 0x56e0
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq 0x124268(%rip), %rsi    # 0x134263
movb $0x0, %al
callq 0x56e0
xorl %eax, %eax
addq $0x50, %rsp
popq %rbp
retq
nopw (%rax,%rax)