// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_frame_s_eval_op_func_list_unfold_transform
er_t x_btcl_frame_s_eval_op_func_list_unfold_transform( x_btcl_frame_s* o, s2_t op_priority, x_source* source, sr_s* sr )
{
    // bcore_x_btcl_op.x:290:1
    BLM_INIT_LEVEL(0);
    sr_s sb;BLM_T_INIT_SPUSH(sr_s, &sb);; BLM_TRY(x_btcl_frame_s_eval(o,op_priority, source,&( sb )))
    
    if( sr_s_type(sr) == ((tp_t)(TYPEOF_x_btcl_function_s)) && sr_s_type(&(sb)) == ((tp_t)(TYPEOF_x_btcl_list_s)) )
    {BLM_INIT_LEVEL(1);
        x_btcl_function_s* f = ((x_btcl_function_s*)BLM_LEVEL_T_PUSH(1,x_btcl_function_s,((x_btcl_function_s*)bcore_fork(((x_btcl_function_s*)(sr->o))))));
        x_btcl_list_s* list = ((x_btcl_list_s*)BLM_LEVEL_T_PUSH(1,x_btcl_list_s,((x_btcl_list_s*)bcore_fork(((x_btcl_list_s*)(sb.o))))));
        x_btcl_list_s* list_r = ((x_btcl_list_s*)BLM_LEVEL_T_PUSH(1,x_btcl_list_s,x_btcl_list_s_create()));
        x_btcl_list_s_set_size(list_r,x_btcl_list_s_size(list) );
        for(sz_t i = 0; i < x_btcl_list_s_size(list); i++ )
        {BLM_INIT_LEVEL(3);
            if( sr_s_type(&(list->arr.data[ i ])) != ((tp_t)(TYPEOF_x_btcl_list_s)) ) BLM_RETURNV(er_t, x_source_parse_error_fa(source,"Operator '*.:' : List element '#<sz_t>' of type '#<sc_t>' is not a list.\n", i, bnameof( sr_s_type(&(list->arr.data[ i ])) ) ))
            BLM_TRY(x_btcl_function_s_call_via_arg_list(f,x_source_point_s__(((x_source_point_s*)BLM_LEVEL_T_PUSH(3,x_source_point_s,x_source_point_s_create())),source ), o, ((x_btcl_list_s*)(list->arr.data[ i ].o)),&( list_r->arr.data[ i ] )))
        BLM_DOWN();}
    
        sr_s_asm(sr,((x_btcl_list_s*)bcore_fork(list_r)) );
    
        BLM_RETURNV(er_t, 0)
    BLM_DOWN();}
    
    BLM_RETURNV(er_t, x_source_parse_error_fa(source,"Operator #<sc_t> * #<sc_t> is not defined.\n", bnameof( sr_s_o_type(sr) ), bnameof( sr_s_o_type(&(sb)) ) ))
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1c0, %rsp            # imm = 0x1C0
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
leaq 0x14ca5f(%rip), %rax    # 0x1b2330
movq (%rax), %rax
movq %rax, -0x30(%rbp)
leaq -0x60(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0xbfe80
movq -0x68(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq $0x0, 0x10(%rax)
leaq -0x80(%rbp), %rdi
callq 0xfbe40
movq -0x30(%rbp), %rdi
movabsq $0x79b76918ff0af12a, %rsi # imm = 0x79B76918FF0AF12A
leaq -0x80(%rbp), %rdx
callq 0xc0220
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
movq -0x20(%rbp), %rdx
leaq -0x80(%rbp), %rcx
callq 0x5b950
movq %rax, -0x88(%rbp)
cmpq $0x0, -0x88(%rbp)
je 0x6596d
movq -0x88(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x68(%rbp), %rdi
callq 0xc0720
movq -0x90(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x65d99
movq -0x28(%rbp), %rdi
callq 0x45450
movabsq $-0x19831b480b40fba0, %rcx # imm = 0xE67CE4B7F4BF0460
cmpq %rcx, %rax
jne 0x65d2b
leaq -0x80(%rbp), %rdi
callq 0x45450
movabsq $-0x240ec4eb25c1f3e8, %rcx # imm = 0xDBF13B14DA3E0C18
cmpq %rcx, %rax
jne 0x65d2b
movq -0x68(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq -0xc8(%rbp), %rax
movq %rax, -0xd0(%rbp)
movq -0xd0(%rbp), %rdi
movq -0x98(%rbp), %rsi
callq 0xbfe80
movq -0xd0(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x98(%rbp), %rax
movq $0x1, 0x10(%rax)
movq -0x98(%rbp), %rax
movq %rax, -0x178(%rbp)
movq -0x28(%rbp), %rax
movq (%rax), %rdi
callq 0x9d3d0
movq -0x178(%rbp), %rdi
movq %rax, %rcx
movl $0x1, %esi
movabsq $-0x19831b480b40fba0, %rdx # imm = 0xE67CE4B7F4BF0460
callq 0xc01a0
movq %rax, -0xd8(%rbp)
movq -0x98(%rbp), %rax
movq %rax, -0x170(%rbp)
movq -0x80(%rbp), %rdi
callq 0x9d3d0
movq -0x170(%rbp), %rdi
movq %rax, %rcx
movl $0x1, %esi
movabsq $-0x240ec4eb25c1f3e8, %rdx # imm = 0xDBF13B14DA3E0C18
callq 0xc01a0
movq %rax, -0xe0(%rbp)
movq -0x98(%rbp), %rax
movq %rax, -0x168(%rbp)
callq 0x67200
movq -0x168(%rbp), %rdi
movq %rax, %rcx
movl $0x1, %esi
movabsq $-0x240ec4eb25c1f3e8, %rdx # imm = 0xDBF13B14DA3E0C18
callq 0xc01a0
movq %rax, -0xe8(%rbp)
movq -0xe8(%rbp), %rax
movq %rax, -0x160(%rbp)
movq -0xe0(%rbp), %rdi
callq 0x65770
movq -0x160(%rbp), %rdi
movq %rax, %rsi
callq 0x65740
movq $0x0, -0xf0(%rbp)
movq -0xf0(%rbp), %rax
movq %rax, -0x180(%rbp)
movq -0xe0(%rbp), %rdi
callq 0x65770
movq %rax, %rcx
movq -0x180(%rbp), %rax
cmpq %rcx, %rax
jge 0x65ce1
movq -0xd0(%rbp), %rax
movq %rax, -0xf8(%rbp)
leaq -0x128(%rbp), %rax
movq %rax, -0x130(%rbp)
movq -0x130(%rbp), %rdi
movq -0xf8(%rbp), %rsi
callq 0xbfe80
movq -0x130(%rbp), %rax
movq %rax, -0xf8(%rbp)
movq -0xf8(%rbp), %rax
movq $0x3, 0x10(%rax)
movq -0xe0(%rbp), %rax
movq 0x10(%rax), %rdi
imulq $0x18, -0xf0(%rbp), %rax
addq %rax, %rdi
callq 0x45450
movabsq $-0x240ec4eb25c1f3e8, %rcx # imm = 0xDBF13B14DA3E0C18
cmpq %rcx, %rax
je 0x65bf6
movq -0x20(%rbp), %rax
movq %rax, -0x190(%rbp)
movq -0xf0(%rbp), %rax
movq %rax, -0x188(%rbp)
movq -0xe0(%rbp), %rax
movq 0x10(%rax), %rdi
imulq $0x18, -0xf0(%rbp), %rax
addq %rax, %rdi
callq 0x45450
movq %rax, %rdi
callq 0x44d00
movq -0x190(%rbp), %rdi
movq -0x188(%rbp), %rdx
movq %rax, %rcx
leaq 0xdabb9(%rip), %rsi     # 0x140785
movb $0x0, %al
callq 0x53850
movq %rax, -0x138(%rbp)
movq -0x130(%rbp), %rdi
callq 0xc0720
movq -0x138(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x65d99
movq -0xd8(%rbp), %rax
movq %rax, -0x198(%rbp)
movq -0xf8(%rbp), %rax
movq %rax, -0x1a0(%rbp)
callq 0x42f50
movq -0x1a0(%rbp), %rdi
movq %rax, %rcx
movl $0x3, %esi
movabsq $0x717ff038b7471b82, %rdx # imm = 0x717FF038B7471B82
callq 0xc01a0
movq %rax, %rdi
movq -0x20(%rbp), %rsi
callq 0x61ae0
movq -0x198(%rbp), %rdi
movq %rax, %rsi
movq -0x10(%rbp), %rdx
movq -0xe0(%rbp), %rax
movq 0x10(%rax), %rax
imulq $0x18, -0xf0(%rbp), %rcx
addq %rcx, %rax
movq (%rax), %rcx
movq -0xe8(%rbp), %rax
movq 0x10(%rax), %r8
imulq $0x18, -0xf0(%rbp), %rax
addq %rax, %r8
callq 0x65150
movq %rax, -0x140(%rbp)
cmpq $0x0, -0x140(%rbp)
je 0x65cbe
movq -0x140(%rbp), %rax
movq %rax, -0x148(%rbp)
movq -0x130(%rbp), %rdi
callq 0xc0720
movq -0x148(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x65d99
leaq -0x130(%rbp), %rdi
callq 0xc06e0
movq -0xf0(%rbp), %rax
addq $0x1, %rax
movq %rax, -0xf0(%rbp)
jmp 0x65ad5
movq -0x28(%rbp), %rax
movq %rax, -0x1a8(%rbp)
movq -0xe8(%rbp), %rdi
callq 0x9d3d0
movq -0x1a8(%rbp), %rdi
movq %rax, %rsi
callq 0x5e240
movq $0x0, -0x150(%rbp)
movq -0xd0(%rbp), %rdi
callq 0xc0720
movq -0x150(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x65d99
movq -0x20(%rbp), %rax
movq %rax, -0x1b8(%rbp)
movq -0x28(%rbp), %rdi
callq 0x52c00
movq %rax, %rdi
callq 0x44d00
movq %rax, -0x1b0(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x52c00
movq %rax, %rdi
callq 0x44d00
movq -0x1b8(%rbp), %rdi
movq -0x1b0(%rbp), %rdx
movq %rax, %rcx
leaq 0xda9ba(%rip), %rsi     # 0x140731
movb $0x0, %al
callq 0x53850
movq %rax, -0x158(%rbp)
movq -0x68(%rbp), %rdi
callq 0xc0720
movq -0x158(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x1c0, %rsp            # imm = 0x1C0
popq %rbp
retq
nopw %cs:(%rax,%rax)