// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_s_trans_whitespace
er_t xoico_che_s_trans_whitespace( xoico_che_s* o, x_source* source, xoico_che_result* result )
{
    // xoico_che.x:561:1
    BLM_INIT_LEVEL(0);
    bl_t exit_loop = false;
    
    st_s* st = result ? ((st_s*)BLM_LEVEL_T_PUSH(0,st_s,st_s_create())) : NULL;
    
    while( !exit_loop && !x_source_eos(source) )
    {
        char c =  x_source_inspect_char(source);
        switch( c )
        {
            case ' ' :
            case '\t':
            case '\n':
            {
                char c =  x_source_get_char(source);
                if( st ) st_s_push_char(st,c );
            }
            break;
    
            case '/':
            {
                if( x_source_parse_bl(source,"#?'//'" ) )
                {
                    if( st ) st_s_push_sc(st,"//" );
                    while( !x_source_eos(source) )
                    {
                        char c =  x_source_get_char(source);
                        if( st ) st_s_push_char(st,c );
                        if( c == '\n' ) break;
                    }
                }
                else if( x_source_parse_bl(source,"#?'/*'" ) )
                {
                    if( st ) st_s_push_sc(st,"/*" );
                    while( !x_source_eos(source) )
                    {
                        if( x_source_parse_bl(source,"#?'*/'" ) )
                        {
                            if( st ) st_s_push_sc(st,"*/" );
                            break;
                        }
                        char c =  x_source_get_char(source);
                        if( st ) st_s_push_char(st,c );
                    }
                }
                else
                {
                    exit_loop = true;
                }
            }
            break;
    
            default:
            {
                exit_loop = true;
            }
            break;
        }
    }
    
    if( result && st->size > 0 ) xoico_che_result_a_push_result_d(result,((xoico_che_result*)(xoico_che_result_whitespace_s__(xoico_che_result_whitespace_s_create(),((st_s*)bcore_fork(st)) ) )));
    BLM_RETURNV(er_t, 0)
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
leaq 0x18e342(%rip), %rax    # 0x1b2330
movq (%rax), %rax
movq %rax, -0x20(%rbp)
leaq -0x50(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0xbfe80
movq -0x58(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq $0x0, 0x10(%rax)
movb $0x0, -0x59(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x2405e
movq -0x20(%rbp), %rax
movq %rax, -0x88(%rbp)
movb $0x0, %al
callq 0xff2e0
movq -0x88(%rbp), %rdi
movq %rax, %rcx
xorl %eax, %eax
movl %eax, %esi
movabsq $-0x503db0e6e1c2e704, %rdx # imm = 0xAFC24F191E3D18FC
callq 0xc01a0
movq %rax, -0x80(%rbp)
jmp 0x24066
xorl %eax, %eax
movq %rax, -0x80(%rbp)
jmp 0x24066
movq -0x80(%rbp), %rax
movq %rax, -0x68(%rbp)
xorl %eax, %eax
testb $0x1, -0x59(%rbp)
movb %al, -0x89(%rbp)
jne 0x2408d
movq -0x10(%rbp), %rdi
callq 0x6730
xorb $-0x1, %al
movb %al, -0x89(%rbp)
movb -0x89(%rbp), %al
testb $0x1, %al
jne 0x2409c
jmp 0x24214
movq -0x10(%rbp), %rdi
callq 0xa440
movb %al, -0x69(%rbp)
movsbl -0x69(%rbp), %eax
movl %eax, -0x90(%rbp)
addl $-0x9, %eax
subl $0x2, %eax
jb 0x240d9
jmp 0x240bc
movl -0x90(%rbp), %eax
subl $0x20, %eax
je 0x240d9
jmp 0x240c9
movl -0x90(%rbp), %eax
subl $0x2f, %eax
je 0x240fe
jmp 0x2420b
movq -0x10(%rbp), %rdi
callq 0xa490
movb %al, -0x6a(%rbp)
cmpq $0x0, -0x68(%rbp)
je 0x240f9
movq -0x68(%rbp), %rdi
movsbl -0x6a(%rbp), %esi
callq 0xffba0
jmp 0x2420f
movq -0x10(%rbp), %rdi
leaq 0x1126d4(%rip), %rsi    # 0x1367dd
callq 0x6700
testb $0x1, %al
jne 0x24114
jmp 0x24170
cmpq $0x0, -0x68(%rbp)
je 0x2412b
movq -0x68(%rbp), %rdi
leaq 0x1126be(%rip), %rsi    # 0x1367e4
callq 0x100040
jmp 0x2412d
movq -0x10(%rbp), %rdi
callq 0x6730
xorb $-0x1, %al
testb $0x1, %al
jne 0x2413e
jmp 0x2416b
movq -0x10(%rbp), %rdi
callq 0xa490
movb %al, -0x6b(%rbp)
cmpq $0x0, -0x68(%rbp)
je 0x2415e
movq -0x68(%rbp), %rdi
movsbl -0x6b(%rbp), %esi
callq 0xffba0
movsbl -0x6b(%rbp), %eax
cmpl $0xa, %eax
jne 0x24169
jmp 0x2416b
jmp 0x2412d
jmp 0x24209
movq -0x10(%rbp), %rdi
leaq 0x11266c(%rip), %rsi    # 0x1367e7
callq 0x6700
testb $0x1, %al
jne 0x24186
jmp 0x24203
cmpq $0x0, -0x68(%rbp)
je 0x2419d
movq -0x68(%rbp), %rdi
leaq 0x112656(%rip), %rsi    # 0x1367ee
callq 0x100040
jmp 0x2419f
movq -0x10(%rbp), %rdi
callq 0x6730
xorb $-0x1, %al
testb $0x1, %al
jne 0x241b0
jmp 0x24201
movq -0x10(%rbp), %rdi
leaq 0x10f713(%rip), %rsi    # 0x1338ce
callq 0x6700
testb $0x1, %al
jne 0x241c6
jmp 0x241df
cmpq $0x0, -0x68(%rbp)
je 0x241dd
movq -0x68(%rbp), %rdi
leaq 0x10f6fd(%rip), %rsi    # 0x1338d5
callq 0x100040
jmp 0x24201
movq -0x10(%rbp), %rdi
callq 0xa490
movb %al, -0x6c(%rbp)
cmpq $0x0, -0x68(%rbp)
je 0x241ff
movq -0x68(%rbp), %rdi
movsbl -0x6c(%rbp), %esi
callq 0xffba0
jmp 0x2419f
jmp 0x24207
movb $0x1, -0x59(%rbp)
jmp 0x24209
jmp 0x2420f
movb $0x1, -0x59(%rbp)
jmp 0x2406e
cmpq $0x0, -0x18(%rbp)
je 0x24264
movq -0x68(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jbe 0x24264
movq -0x18(%rbp), %rax
movq %rax, -0x98(%rbp)
callq 0x35b50
movq %rax, -0xa0(%rbp)
movq -0x68(%rbp), %rdi
callq 0x9d3d0
movq -0xa0(%rbp), %rdi
movq %rax, %rsi
callq 0x242d0
movq -0x98(%rbp), %rdi
movq %rax, %rsi
callq 0x24290
movq $0x0, -0x78(%rbp)
movq -0x58(%rbp), %rdi
callq 0xc0720
movq -0x78(%rbp), %rax
addq $0xa0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)