// File: /workspace/github_c_makefile_star2_O3/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdx, %r15
movq %rsi, %r14
leaq 0x167015(%rip), %rax    # 0x19bdd0
movq (%rax), %rsi
leaq 0x18(%rsp), %rbx
movq %rbx, %rdi
callq 0xd6675
movq $0x0, 0x10(%rbx)
testq %r15, %r15
movq %r15, 0x10(%rsp)
je 0x34e02
xorl %eax, %eax
callq 0x109c82
leaq 0x18(%rsp), %rdi
movabsq $-0x503db0e6e1c2e704, %rdx # imm = 0xAFC24F191E3D18FC
xorl %esi, %esi
movq %rax, %rcx
callq 0xd68a8
movq %rax, %r15
jmp 0x34e05
xorl %r15d, %r15d
movabsq $-0x7e8ee9b9b4bbaa8, %r12 # imm = 0xF817116464B44558
leaq 0x167eb2(%rip), %r13    # 0x19ccc8
movq (%r14), %rbp
movl (%r13), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r13,%rax,8), %rcx
movq 0x18(%r13,%rax,8), %rdx
andq %rbp, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %rbp, %rdx
je 0x34e70
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %rbp, %rdx
je 0x34e70
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %rbp, %rdx
je 0x34e70
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %rbp, %rdx
jne 0x34e79
movq (%rax,%rcx), %rbx
testq %rbx, %rbx
jne 0x34e95
movq %r12, %rdi
movq %rbp, %rsi
callq 0xe9bc5
movq %rax, %rbx
movq %r13, %rdi
movq %rbp, %rsi
movq %rax, %rdx
callq 0x115fac
movq 0x40(%rbx), %rax
testq %rax, %rax
jne 0x34eb1
movq %rbx, %rdi
leaq 0x104ee1(%rip), %rsi    # 0x139d89
callq 0xeb49c
movq 0x40(%rbx), %rax
movq %r14, %rdi
callq *%rax
testb %al, %al
jne 0x354e2
movq (%r14), %rbp
movl (%r13), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r13,%rax,8), %rcx
movq 0x18(%r13,%rax,8), %rdx
andq %rbp, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %rbp, %rdx
je 0x34f18
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %rbp, %rdx
je 0x34f18
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %rbp, %rdx
je 0x34f18
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %rbp, %rdx
jne 0x34f21
movq (%rax,%rcx), %rbx
testq %rbx, %rbx
jne 0x34f3d
movq %r12, %rdi
movq %rbp, %rsi
callq 0xe9bc5
movq %rax, %rbx
movq %r13, %rdi
movq %rbp, %rsi
movq %rax, %rdx
callq 0x115fac
movq %rbx, %rdi
movq %r14, %rsi
callq 0xff8b6
movzbl %al, %eax
leal -0x9(%rax), %ecx
cmpl $0x2, %ecx
jb 0x34f65
cmpl $0x2f, %eax
je 0x35017
cmpl $0x20, %eax
jne 0x354e2
movq (%r14), %rbp
movl (%r13), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r13,%rax,8), %rcx
movq 0x18(%r13,%rax,8), %rdx
andq %rbp, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %rbp, %rdx
je 0x34fbf
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %rbp, %rdx
je 0x34fbf
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %rbp, %rdx
je 0x34fbf
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %rbp, %rdx
jne 0x34fc8
movq (%rax,%rcx), %rbx
testq %rbx, %rbx
jne 0x34fe4
movq %r12, %rdi
movq %rbp, %rsi
callq 0xe9bc5
movq %rax, %rbx
movq %r13, %rdi
movq %rbp, %rsi
movq %rax, %rdx
callq 0x115fac
movq 0x10(%rbx), %rax
movb $0x0, 0xf(%rsp)
movl $0x1, %edx
movq %r14, %rdi
leaq 0xf(%rsp), %rsi
callq *%rax
testq %r15, %r15
je 0x34e16
movsbl 0xf(%rsp), %esi
movq %r15, %rdi
callq 0x10a448
jmp 0x34e16
movq (%r14), %rbp
movl (%r13), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r13,%rax,8), %rcx
movq 0x18(%r13,%rax,8), %rdx
andq %rbp, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %rbp, %rdx
je 0x35071
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %rbp, %rdx
je 0x35071
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %rbp, %rdx
je 0x35071
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %rbp, %rdx
jne 0x3507a
movq (%rax,%rcx), %rbx
testq %rbx, %rbx
jne 0x35096
movq %r12, %rdi
movq %rbp, %rsi
callq 0xe9bc5
movq %rax, %rbx
movq %r13, %rdi
movq %rbp, %rsi
movq %rax, %rdx
callq 0x115fac
movq %rbx, %rdi
movq %r14, %rsi
leaq 0xfb42f(%rip), %rdx     # 0x1304d2
callq 0xffe2b
testb %al, %al
je 0x35225
testq %r15, %r15
je 0x350c4
movq %r15, %rdi
leaq 0xfb41a(%rip), %rsi     # 0x1304d9
callq 0x10a6fa
movq (%r14), %rbp
movl (%r13), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r13,%rax,8), %rcx
movq 0x18(%r13,%rax,8), %rdx
andq %rbp, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %rbp, %rdx
je 0x3511e
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %rbp, %rdx
je 0x3511e
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %rbp, %rdx
je 0x3511e
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %rbp, %rdx
jne 0x35127
movq (%rax,%rcx), %rbx
testq %rbx, %rbx
jne 0x35143
movq %r12, %rdi
movq %rbp, %rsi
callq 0xe9bc5
movq %rax, %rbx
movq %r13, %rdi
movq %rbp, %rsi
movq %rax, %rdx
callq 0x115fac
movq 0x40(%rbx), %rax
testq %rax, %rax
jne 0x3515f
movq %rbx, %rdi
leaq 0x104c33(%rip), %rsi    # 0x139d89
callq 0xeb49c
movq 0x40(%rbx), %rax
movq %r14, %rdi
callq *%rax
testb %al, %al
jne 0x34e16
movq (%r14), %rbp
movl (%r13), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r13,%rax,8), %rcx
movq 0x18(%r13,%rax,8), %rdx
andq %rbp, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %rbp, %rdx
je 0x351c6
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %rbp, %rdx
je 0x351c6
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %rbp, %rdx
je 0x351c6
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %rbp, %rdx
jne 0x351cf
movq (%rax,%rcx), %rbx
testq %rbx, %rbx
jne 0x351eb
movq %r12, %rdi
movq %rbp, %rsi
callq 0xe9bc5
movq %rax, %rbx
movq %r13, %rdi
movq %rbp, %rsi
movq %rax, %rdx
callq 0x115fac
movq 0x10(%rbx), %rax
movb $0x0, 0xf(%rsp)
movl $0x1, %edx
movq %r14, %rdi
leaq 0xf(%rsp), %rsi
callq *%rax
movb 0xf(%rsp), %bl
testq %r15, %r15
je 0x35217
movsbl %bl, %esi
movq %r15, %rdi
callq 0x10a448
cmpb $0xa, %bl
jne 0x350c4
jmp 0x34e16
movq (%r14), %rbp
movl (%r13), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r13,%rax,8), %rcx
movq 0x18(%r13,%rax,8), %rdx
andq %rbp, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %rbp, %rdx
je 0x3527f
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %rbp, %rdx
je 0x3527f
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %rbp, %rdx
je 0x3527f
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %rbp, %rdx
jne 0x35288
movq (%rax,%rcx), %rbx
testq %rbx, %rbx
jne 0x352a4
movq %r12, %rdi
movq %rbp, %rsi
callq 0xe9bc5
movq %rax, %rbx
movq %r13, %rdi
movq %rbp, %rsi
movq %rax, %rdx
callq 0x115fac
movq %rbx, %rdi
movq %r14, %rsi
leaq 0xfb22b(%rip), %rdx     # 0x1304dc
callq 0xffe2b
testb %al, %al
je 0x354e2
testq %r15, %r15
je 0x352d2
movq %r15, %rdi
leaq 0xfb216(%rip), %rsi     # 0x1304e3
callq 0x10a6fa
movq (%r14), %rbp
movl (%r13), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r13,%rax,8), %rcx
movq 0x18(%r13,%rax,8), %rdx
andq %rbp, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %rbp, %rdx
je 0x3532c
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %rbp, %rdx
je 0x3532c
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %rbp, %rdx
je 0x3532c
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %rbp, %rdx
jne 0x35335
movq (%rax,%rcx), %rbx
testq %rbx, %rbx
jne 0x35351
movq %r12, %rdi
movq %rbp, %rsi
callq 0xe9bc5
movq %rax, %rbx
movq %r13, %rdi
movq %rbp, %rsi
movq %rax, %rdx
callq 0x115fac
movq 0x40(%rbx), %rax
testq %rax, %rax
jne 0x3536d
movq %rbx, %rdi
leaq 0x104a25(%rip), %rsi    # 0x139d89
callq 0xeb49c
movq 0x40(%rbx), %rax
movq %r14, %rdi
callq *%rax
testb %al, %al
jne 0x34e16
movq (%r14), %rbp
movl (%r13), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r13,%rax,8), %rcx
movq 0x18(%r13,%rax,8), %rdx
andq %rbp, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %rbp, %rdx
je 0x353d4
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %rbp, %rdx
je 0x353d4
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %rbp, %rdx
je 0x353d4
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %rbp, %rdx
jne 0x353dd
movq (%rax,%rcx), %rbx
testq %rbx, %rbx
jne 0x353f9
movq %r12, %rdi
movq %rbp, %rsi
callq 0xe9bc5
movq %rax, %rbx
movq %r13, %rdi
movq %rbp, %rsi
movq %rax, %rdx
callq 0x115fac
movq %rbx, %rdi
movq %r14, %rsi
leaq 0xf8170(%rip), %rdx     # 0x12d576
callq 0xffe2b
testb %al, %al
jne 0x354c5
movq (%r14), %rbp
movl (%r13), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r13,%rax,8), %rcx
movq 0x18(%r13,%rax,8), %rdx
andq %rbp, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %rbp, %rdx
je 0x3546d
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %rbp, %rdx
je 0x3546d
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %rbp, %rdx
je 0x3546d
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %rbp, %rdx
jne 0x35476
movq (%rax,%rcx), %rbx
testq %rbx, %rbx
jne 0x35492
movq %r12, %rdi
movq %rbp, %rsi
callq 0xe9bc5
movq %rax, %rbx
movq %r13, %rdi
movq %rbp, %rsi
movq %rax, %rdx
callq 0x115fac
movq 0x10(%rbx), %rax
movb $0x0, 0xf(%rsp)
movl $0x1, %edx
movq %r14, %rdi
leaq 0xf(%rsp), %rsi
callq *%rax
testq %r15, %r15
je 0x352d2
movsbl 0xf(%rsp), %esi
movq %r15, %rdi
callq 0x10a448
jmp 0x352d2
testq %r15, %r15
je 0x34e16
movq %r15, %rdi
leaq 0xf80a5(%rip), %rsi     # 0x12d57d
callq 0x10a6fa
jmp 0x34e16
movq 0x10(%rsp), %r12
testq %r12, %r12
je 0x355ba
cmpq $0x0, 0x10(%r15)
je 0x355ba
callq 0x46270
movq %rax, %rbx
movq %r15, %rdi
callq 0xbe7e4
movq %rax, %r14
movq 0x8(%rbx), %rdi
callq 0x10a028
movq %r14, 0x8(%rbx)
movq (%r12), %r14
leaq 0x15ff8a(%rip), %rax    # 0x1954b0
movl 0x15ff84(%rip), %ecx    # 0x1954b0
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r14, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r14, %rdx
je 0x35580
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r14, %rdx
je 0x35580
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r14, %rdx
je 0x35580
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r14, %rdx
jne 0x35589
movq (%rax,%rcx), %r15
testq %r15, %r15
jne 0x355b0
movabsq $-0x3dfc7e0a250a30dc, %rdi # imm = 0xC20381F5DAF5CF24
movq %r14, %rsi
callq 0xe9bc5
movq %rax, %r15
leaq 0x15ff0b(%rip), %rdi    # 0x1954b0
movq %r14, %rsi
movq %rax, %rdx
callq 0x115fac
movq %r12, %rdi
movq %rbx, %rsi
callq *0x38(%r15)
leaq 0x18(%rsp), %rdi
callq 0xd6d2c
xorl %eax, %eax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq