// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_body_s_expand
er_t xoico_body_s_expand( const xoico_body_s* o, const xoico_host* host, const xoico_signature_s* signature, sz_t indent, x_sink* sink )
{
    // xoico_body.x:406:1
    BLM_INIT_LEVEL(0);
    const st_s* final_code = NULL;
    st_s* st_out = ((st_s*)BLM_LEVEL_T_PUSH(0,st_s,st_s_create()));
    
    xoico_cengine* cengine = xoico_host_a_cengine(host);
    ASSERT( cengine );
    
    if( o->code )
    {
        BLM_TRY(xoico_cengine_a_translate(cengine,host, o, signature, ( x_sink* )st_out ))
        final_code = st_out;
    }
    
    if( o->go_inline )
    {
        x_sink_push_fa(sink,"{#<sc_t>}", final_code->sc );
    }
    else
    {
        x_sink_push_fa(sink,"{\n#rn{ }", indent + 4 );
        for(sz_t i = 0; i < final_code->size; i++ )
        {
            char c = final_code->sc[ i ];
            x_sink_push_char(sink,c );
            if( c == '\n' ) x_sink_push_fa(sink,"#rn{ }", indent + 4 );
        }
        x_sink_push_fa(sink,"\n#rn{ }}", indent );
    }
    BLM_RETURNV(er_t, 0)
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
leaq 0x1a70fa(%rip), %rax    # 0x1b2330
movq (%rax), %rax
movq %rax, -0x38(%rbp)
leaq -0x68(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rdi
movq -0x38(%rbp), %rsi
callq 0xbfe80
movq -0x70(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq $0x0, 0x10(%rax)
movq $0x0, -0x78(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0xb8(%rbp)
movb $0x0, %al
callq 0xff2e0
movq -0xb8(%rbp), %rdi
movq %rax, %rcx
xorl %eax, %eax
movl %eax, %esi
movabsq $-0x503db0e6e1c2e704, %rdx # imm = 0xAFC24F191E3D18FC
callq 0xc01a0
movq %rax, -0x80(%rbp)
movq -0x18(%rbp), %rdi
callq 0xb450
movq %rax, -0x88(%rbp)
cmpq $0x0, -0x88(%rbp)
jne 0xb2e4
leaq 0x1286dd(%rip), %rdi    # 0x13399f
leaq 0x12e9e6(%rip), %rsi    # 0x139caf
leaq 0x128702(%rip), %rdx    # 0x1339d2
leaq 0x128311(%rip), %rcx    # 0x1335e8
movl $0x65a, %r8d            # imm = 0x65A
movb $0x0, %al
callq 0x9cea0
movq -0x10(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0xb34b
movq -0x88(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq -0x20(%rbp), %rcx
movq -0x80(%rbp), %r8
callq 0xb480
movq %rax, -0x90(%rbp)
cmpq $0x0, -0x90(%rbp)
je 0xb343
movq -0x90(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x70(%rbp), %rdi
callq 0xc0720
movq -0x98(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xb443
movq -0x80(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x10(%rbp), %rax
testb $0x1, 0x20(%rax)
je 0xb374
movq -0x30(%rbp), %rdi
movq -0x78(%rbp), %rax
movq 0x8(%rax), %rdx
leaq 0x12867e(%rip), %rsi    # 0x1339e6
movb $0x0, %al
callq 0x56e0
jmp 0xb424
movq -0x30(%rbp), %rdi
movq -0x28(%rbp), %rdx
addq $0x4, %rdx
leaq 0x128669(%rip), %rsi    # 0x1339f0
movb $0x0, %al
callq 0x56e0
movq $0x0, -0xa0(%rbp)
movq -0xa0(%rbp), %rax
movq -0x78(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0xb40e
movq -0x78(%rbp), %rax
movq 0x8(%rax), %rax
movq -0xa0(%rbp), %rcx
movb (%rax,%rcx), %al
movb %al, -0xa1(%rbp)
movq -0x30(%rbp), %rdi
movsbl -0xa1(%rbp), %esi
callq 0xb4d0
movsbl -0xa1(%rbp), %eax
cmpl $0xa, %eax
jne 0xb3f8
movq -0x30(%rbp), %rdi
movq -0x28(%rbp), %rdx
addq $0x4, %rdx
leaq 0x1286de(%rip), %rsi    # 0x133acf
movb $0x0, %al
callq 0x56e0
jmp 0xb3fa
movq -0xa0(%rbp), %rax
addq $0x1, %rax
movq %rax, -0xa0(%rbp)
jmp 0xb399
movq -0x30(%rbp), %rdi
movq -0x28(%rbp), %rdx
leaq 0x1285dc(%rip), %rsi    # 0x1339f9
movb $0x0, %al
callq 0x56e0
movq $0x0, -0xb0(%rbp)
movq -0x70(%rbp), %rdi
callq 0xc0720
movq -0xb0(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0xc0, %rsp
popq %rbp
retq