// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_stamp_create_embedded_string
st_s* xoico_stamp_create_embedded_string( const st_s* s )
{
    // xoico_stamp.x:163:1
    
    st_s* out = st_s_create();
    for(sz_t i = 0; i < s->size; i++ )
    {
        if( s->data[ i ] == '/' && s->data[ i + 1 ] == '/' )
        {
            while( i < s->size && s->data[ i ] != '\n' ) i++;
        }
        else if( s->data[ i ] == '/' && s->data[ i + 1 ] == '*' )
        {
            while( i < s->size )
            {
                if( s->data[ i ] == '*' && s->data[ i + 1 ] == '/' )
                {
                    if( out->data[ out->size - 1 ] != ' ' ) st_s_push_char(out,' ' );
                    i += 2;
                    break;
                }
                i++;
            }
        }
        else if( s->data[ i ] == '"' )
        {
            st_s_push_char(out,'\\' );
            st_s_push_char(out,'"' );
            i++;
            while( i < s->size && s->data[ i ] != '"' ) st_s_push_char(out,s->data[ i++ ] );
            if( s->data[ i ] == '"' )
            {
                st_s_push_char(out,'\\' );
                st_s_push_char(out,'"' );
            }
        }
        else if( s->data[ i ] == '\n' )
        {
            if( out->data[ out->size - 1 ] != ' ' ) st_s_push_char(out,' ' );
        }
        else if( s->data[ i ] == '\t' )
        {
            if( out->data[ out->size - 1 ] != ' ' ) st_s_push_char(out,' ' );
        }
        else if( s->data[ i ] == ' ' )
        {
            if( out->data[ out->size - 1 ] != ' ' ) st_s_push_char(out,' ' );
        }
        else
        {
            st_s_push_char(out,s->data[ i ] );
        }
    }
    if( out->size > 0 && out->data[ out->size - 1 ] == ' ' )
    {
        out->data[ out->size - 1 ] = 0;
        out->size--;
    }
    return  out;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %r14
xorl %r13d, %r13d
xorl %eax, %eax
callq 0x8eb65
movq %rax, %rbx
pushq $0x20
popq %rbp
pushq $0x5c
popq %r15
pushq $0x22
popq %r12
movq 0x10(%r14), %rax
cmpq %rax, %r13
jae 0x1917b
movq 0x8(%r14), %rcx
movzbl (%rcx,%r13), %edx
cmpl $0x9, %edx
je 0x190de
cmpl $0xa, %edx
je 0x190de
cmpl $0x20, %edx
je 0x190de
cmpl $0x22, %edx
je 0x190fc
cmpl $0x2f, %edx
jne 0x190f4
movzbl 0x1(%rcx,%r13), %esi
cmpl $0x2f, %esi
je 0x190cc
cmpl $0x2a, %esi
jne 0x190f4
cmpq %rax, %r13
jae 0x19157
cmpb $0x2a, (%rcx,%r13)
jne 0x190c4
cmpb $0x2f, 0x1(%rcx,%r13)
je 0x1915c
incq %r13
jmp 0x190a8
incq %r13
cmpq %rax, %r13
jae 0x19157
cmpb $0xa, (%rcx,%r13)
jne 0x190c9
jmp 0x1914f
movq 0x8(%rbx), %rax
movq 0x10(%rbx), %rcx
cmpb $0x20, -0x1(%rax,%rcx)
je 0x1914f
movq %rbx, %rdi
movl %ebp, %esi
jmp 0x1914a
movsbl %dl, %esi
movq %rbx, %rdi
jmp 0x1914a
movq %rbx, %rdi
movl %r15d, %esi
callq 0x8f0ee
incq %r13
movb $0x22, %al
movq %r13, %rcx
movq %rcx, %r13
movsbl %al, %esi
movq %rbx, %rdi
callq 0x8f0ee
movq 0x8(%r14), %rax
movb (%rax,%r13), %al
cmpq 0x10(%r14), %r13
jae 0x19135
leaq 0x1(%r13), %rcx
cmpb $0x22, %al
jne 0x1910f
jmp 0x19139
cmpb $0x22, %al
jne 0x1914f
movq %rbx, %rdi
movl %r15d, %esi
callq 0x8f0ee
movq %rbx, %rdi
movl %r12d, %esi
callq 0x8f0ee
incq %r13
jmp 0x19069
movq %rax, %r13
jmp 0x1914f
movq 0x8(%rbx), %rax
movq 0x10(%rbx), %rcx
cmpb $0x20, -0x1(%rax,%rcx)
je 0x19175
movq %rbx, %rdi
movl %ebp, %esi
callq 0x8f0ee
addq $0x2, %r13
jmp 0x1914f
movq 0x10(%rbx), %rax
testq %rax, %rax
je 0x19198
movq 0x8(%rbx), %rcx
cmpb $0x20, -0x1(%rcx,%rax)
jne 0x19198
movb $0x0, -0x1(%rcx,%rax)
decq 0x10(%rbx)
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq