LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/utils.c
// Function: moonnuklear_checkvec2ilist
float* checkvec2ilist(lua_State *L, int arg, int *count, int *err)
    {
    nk_vec2i_t* list;
    int i;

    *count = 0;
    *err = 0;
    if(lua_isnoneornil(L, arg))
        { *err = ERR_NOTPRESENT; return NULL; }
    if(lua_type(L, arg) != LUA_TTABLE)
        { *err = ERR_TABLE; return NULL; }

    *count = luaL_len(L, arg);
    if(*count == 0)
        { *err = ERR_EMPTY; return NULL; }

    list = (nk_vec2i_t*)MallocNoErr(L, sizeof(nk_vec2i_t)*(*count));
    if(!list)
        { *count = 0; *err = ERR_MEMORY; return NULL; }

    for(i=0; i<*count; i++)
        {
        lua_rawgeti(L, arg, i+1);
        *err = echeckvec2i(L, -1, &list[i]);
        if(*err)
            { lua_pop(L, 2); Free(L, list); *count = 0; *err=ERR_TYPE; return NULL; }
        lua_pop(L, 1);
        }
    return (float*)list;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movl %esi, 0x24(%rsp)
movq %rdx, 0x18(%rsp)
movq %rcx, 0x10(%rsp)
movq 0x18(%rsp), %rax
movl $0x0, (%rax)
movq 0x10(%rsp), %rax
movl $0x0, (%rax)
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x15090
cmpl $0x0, %eax
jg 0xa1a19
movq 0x10(%rsp), %rax
movl $0x1, (%rax)
movq $0x0, 0x30(%rsp)
jmp 0xa1b92
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x15090
cmpl $0x5, %eax
je 0xa1a45
movq 0x10(%rsp), %rax
movl $0xfffffffc, (%rax)     # imm = 0xFFFFFFFC
movq $0x0, 0x30(%rsp)
jmp 0xa1b92
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x150b0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, (%rax)
movq 0x18(%rsp), %rax
cmpl $0x0, (%rax)
jne 0xa1a7f
movq 0x10(%rsp), %rax
movl $0xfffffffb, (%rax)     # imm = 0xFFFFFFFB
movq $0x0, 0x30(%rsp)
jmp 0xa1b92
movq 0x28(%rsp), %rdi
movq 0x18(%rsp), %rax
movslq (%rax), %rsi
shlq $0x2, %rsi
callq 0x13ca0
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0xa1ac6
movq 0x18(%rsp), %rax
movl $0x0, (%rax)
movq 0x10(%rsp), %rax
movl $0xfffffffa, (%rax)     # imm = 0xFFFFFFFA
movq $0x0, 0x30(%rsp)
jmp 0xa1b92
movl $0x0, 0x4(%rsp)
movl 0x4(%rsp), %eax
movq 0x18(%rsp), %rcx
cmpl (%rcx), %eax
jge 0xa1b88
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
movl 0x4(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rdx
callq 0x13a30
movq 0x28(%rsp), %rdi
movq 0x8(%rsp), %rdx
movslq 0x4(%rsp), %rax
shlq $0x2, %rax
addq %rax, %rdx
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x14100
movl %eax, %ecx
movq 0x10(%rsp), %rax
movl %ecx, (%rax)
movq 0x10(%rsp), %rax
cmpl $0x0, (%rax)
je 0xa1b69
movq 0x28(%rsp), %rdi
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
callq 0x131a0
movq 0x28(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0x14230
movq 0x18(%rsp), %rax
movl $0x0, (%rax)
movq 0x10(%rsp), %rax
movl $0xfffffffe, (%rax)     # imm = 0xFFFFFFFE
movq $0x0, 0x30(%rsp)
jmp 0xa1b92
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
movl 0x4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x4(%rsp)
jmp 0xa1ace
movq 0x8(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
addq $0x38, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/utils.c
// Function: moonnuklear_checkrunelist
nk_rune* checkrunelist(lua_State *L, int arg, int *count, int *err)
    {
    nk_rune* list;
    int i, isnum;

    *count = 0;
    *err = 0;
    if(lua_isnoneornil(L, arg))
        { *err = ERR_NOTPRESENT; return NULL; }
    if(lua_type(L, arg) != LUA_TTABLE)
        { *err = ERR_TABLE; return NULL; }

    *count = luaL_len(L, arg);
    if(*count == 0)
        { *err = ERR_EMPTY; return NULL; }

    list = (nk_rune*)MallocNoErr(L, sizeof(nk_rune) * (*count + 1));
    if(!list)
        { *count = 0; *err = ERR_MEMORY; return NULL; }

    for(i=0; i<*count; i++)
        {
        lua_rawgeti(L, arg, i+1);
        list[i] = lua_tointegerx(L, -1, &isnum);
        lua_pop(L, 1);
        if(!isnum)
            { Free(L, list); *count = 0; *err = ERR_TYPE; return NULL; }
        }
    list[*count] = 0; /* terminating rune */
    return list;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movl %esi, 0x24(%rsp)
movq %rdx, 0x18(%rsp)
movq %rcx, 0x10(%rsp)
movq 0x18(%rsp), %rax
movl $0x0, (%rax)
movq 0x10(%rsp), %rax
movl $0x0, (%rax)
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x15090
cmpl $0x0, %eax
jg 0xa1c29
movq 0x10(%rsp), %rax
movl $0x1, (%rax)
movq $0x0, 0x30(%rsp)
jmp 0xa1da2
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x15090
cmpl $0x5, %eax
je 0xa1c55
movq 0x10(%rsp), %rax
movl $0xfffffffc, (%rax)     # imm = 0xFFFFFFFC
movq $0x0, 0x30(%rsp)
jmp 0xa1da2
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x150b0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, (%rax)
movq 0x18(%rsp), %rax
cmpl $0x0, (%rax)
jne 0xa1c8f
movq 0x10(%rsp), %rax
movl $0xfffffffb, (%rax)     # imm = 0xFFFFFFFB
movq $0x0, 0x30(%rsp)
jmp 0xa1da2
movq 0x28(%rsp), %rdi
movq 0x18(%rsp), %rax
movl (%rax), %eax
addl $0x1, %eax
movslq %eax, %rsi
shlq $0x2, %rsi
callq 0x13ca0
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0xa1cdb
movq 0x18(%rsp), %rax
movl $0x0, (%rax)
movq 0x10(%rsp), %rax
movl $0xfffffffa, (%rax)     # imm = 0xFFFFFFFA
movq $0x0, 0x30(%rsp)
jmp 0xa1da2
movl $0x0, 0x4(%rsp)
movl 0x4(%rsp), %eax
movq 0x18(%rsp), %rcx
cmpl (%rcx), %eax
jge 0xa1d84
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
movl 0x4(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rdx
callq 0x13a30
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movq %rsp, %rdx
callq 0x13670
movl %eax, %edx
movq 0x8(%rsp), %rax
movslq 0x4(%rsp), %rcx
movl %edx, (%rax,%rcx,4)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
cmpl $0x0, (%rsp)
jne 0xa1d72
movq 0x28(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0x14230
movq 0x18(%rsp), %rax
movl $0x0, (%rax)
movq 0x10(%rsp), %rax
movl $0xfffffffe, (%rax)     # imm = 0xFFFFFFFE
movq $0x0, 0x30(%rsp)
jmp 0xa1da2
jmp 0xa1d74
movl 0x4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x4(%rsp)
jmp 0xa1ce3
movq 0x8(%rsp), %rax
movq 0x18(%rsp), %rcx
movslq (%rcx), %rcx
movl $0x0, (%rax,%rcx,4)
movq 0x8(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
addq $0x38, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/utils.c
// Function: moonnuklear_pushrunelist
void pushrunelist(lua_State *L, const nk_rune *list)
    {
    int i = 0;
    lua_newtable(L);
    if(!list) return; /* empty table */
    while(list[i]!=0)
        {
        lua_pushinteger(L, list[i]);
        lua_rawseti(L, -2, ++i);
        }
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movl $0x0, 0x4(%rsp)
movq 0x10(%rsp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x138b0
cmpq $0x0, 0x8(%rsp)
jne 0xa1e0e
jmp 0xa1e58
jmp 0xa1e10
movq 0x8(%rsp), %rax
movslq 0x4(%rsp), %rcx
cmpl $0x0, (%rax,%rcx,4)
je 0xa1e58
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movslq 0x4(%rsp), %rcx
movl (%rax,%rcx,4), %eax
movl %eax, %esi
callq 0x13c50
movq 0x10(%rsp), %rdi
movl 0x4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x4(%rsp)
movslq %eax, %rdx
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x140e0
jmp 0xa1e10
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/versions.c
// Function: AddVersions
static int AddVersions(lua_State *L)
    {
    lua_pushstring(L, "_VERSION");
    lua_pushstring(L, "MoonNuklear "MOONNUKLEAR_VERSION);
    lua_settable(L, -3);
    lua_pushstring(L, "_NK_VERSION");
    lua_pushstring(L, "Nuklear "MOONNUKLEAR_NK_VERSION);
    lua_settable(L, -3);
    return 0;
    }

// Assembly:
pushq %rax
movq %rdi, (%rsp)
movq (%rsp), %rdi
leaq 0x135d3(%rip), %rsi     # 0xb54d3
callq 0x15240
movq (%rsp), %rdi
leaq 0x135b0(%rip), %rsi     # 0xb54c0
callq 0x15240
movq (%rsp), %rdi
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
callq 0x14300
movq (%rsp), %rdi
leaq 0x135a2(%rip), %rsi     # 0xb54d0
callq 0x15240
movq (%rsp), %rdi
leaq 0x1359e(%rip), %rsi     # 0xb54dc
callq 0x15240
movq (%rsp), %rdi
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
callq 0x14300
xorl %eax, %eax
popq %rcx
retq
nopw %cs:(%rax,%rax)
nop
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/widgets.c
// Function: Widget
static int Widget(lua_State *L)
/* widget(context, bounds, [padding]) */
    {
    nk_rect_t bounds;
    nk_vec2_t padding;
    nk_flags state;
    nk_context_t *context = checkcontext(L, 1, NULL);
    if(echeckrect(L, 2, &bounds)) return argerror(L, 2);
    if(lua_isnoneornil(L, 3))
        state = nk_widget(&bounds, context);
    else
        {
        if(echeckvec2(L, 3, &padding)) return argerror(L, 3);
        state = nk_widget_fitting(&bounds, context, padding);
        }
    pushflags(L, state); /* widgetlayoutstates */
    pushrect(L, &bounds);
    return 2;
    }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq 0x38(%rsp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
leaq 0x52e2(%rip), %rcx      # 0xa7280
callq 0x130f0
movq %rax, 0x10(%rsp)
movq 0x38(%rsp), %rdi
movl $0x2, %esi
leaq 0x28(%rsp), %rdx
callq 0x14c30
cmpl $0x0, %eax
je 0xa1ff9
movq 0x38(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x38(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %eax, %eax
movl %eax, %edx
callq 0x136c0
movq 0x8(%rsp), %rdi
movq %rax, %rdx
movl $0x2, %esi
callq 0x134c0
movl %eax, 0x44(%rsp)
jmp 0xa20ae
movq 0x38(%rsp), %rdi
movl $0x3, %esi
callq 0x15090
cmpl $0x0, %eax
jg 0xa2022
movq 0x10(%rsp), %rsi
leaq 0x28(%rsp), %rdi
callq 0x139c0
movl %eax, 0x1c(%rsp)
jmp 0xa2087
movq 0x38(%rsp), %rdi
movl $0x3, %esi
leaq 0x20(%rsp), %rdx
callq 0x15460
cmpl $0x0, %eax
je 0xa206e
movq 0x38(%rsp), %rax
movq %rax, (%rsp)
movq 0x38(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %eax, %eax
movl %eax, %edx
callq 0x136c0
movq (%rsp), %rdi
movq %rax, %rdx
movl $0x3, %esi
callq 0x134c0
movl %eax, 0x44(%rsp)
jmp 0xa20ae
movq 0x10(%rsp), %rsi
movsd 0x20(%rsp), %xmm0
leaq 0x28(%rsp), %rdi
callq 0x132b0
movl %eax, 0x1c(%rsp)
movq 0x38(%rsp), %rdi
movl 0x1c(%rsp), %eax
movl %eax, %esi
callq 0x13c50
movq 0x38(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x137c0
movl $0x2, 0x44(%rsp)
movl 0x44(%rsp), %eax
addq $0x48, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/widgets.c
// Function: Widget_is_mouse_clicked
static int Widget_is_mouse_clicked(lua_State *L)
    {
    nk_context_t *context = checkcontext(L, 1, NULL);
    enum nk_buttons button = checkbuttons(L, 2);
    lua_pushboolean(L, nk_widget_is_mouse_clicked(context, button));
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
leaq 0x4f92(%rip), %rcx      # 0xa7280
callq 0x130f0
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rdi
movl $0x3, %esi
movl $0x2, %edx
callq 0x14470
movl %eax, 0x14(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rdi
movl 0x14(%rsp), %esi
callq 0x13310
movq 0x8(%rsp), %rdi
movl %eax, %esi
callq 0x143e0
movl $0x1, %eax
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/widgets.c
// Function: Widget_has_mouse_click_down
static int Widget_has_mouse_click_down(lua_State *L)
    {
    nk_context_t *context = checkcontext(L, 1, NULL);
    enum nk_buttons button = checkbuttons(L, 2);
    int down = checkboolean(L, 3);
    lua_pushboolean(L, nk_widget_has_mouse_click_down(context, button, down));
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
leaq 0x4f22(%rip), %rcx      # 0xa7280
callq 0x130f0
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rdi
movl $0x3, %esi
movl $0x2, %edx
callq 0x14470
movl %eax, 0x14(%rsp)
movq 0x20(%rsp), %rdi
movl $0x3, %esi
callq 0x14990
movl %eax, 0x10(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rdi
movl 0x14(%rsp), %esi
movl 0x10(%rsp), %edx
callq 0x13a40
movq 0x8(%rsp), %rdi
movl %eax, %esi
callq 0x143e0
movl $0x1, %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/widgets.c
// Function: Spacing
static int Spacing(lua_State *L)
    {
    nk_context_t *context = checkcontext(L, 1, NULL);
    int cols = luaL_checkinteger(L, 2);
    nk_spacing(context, cols);
    return 0;
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
leaq 0x4e92(%rip), %rcx      # 0xa7280
callq 0x130f0
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movl $0x2, %esi
callq 0x14070
movl %eax, 0x4(%rsp)
movq 0x8(%rsp), %rdi
movl 0x4(%rsp), %esi
callq 0x13080
xorl %eax, %eax
addq $0x18, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/widgets.c
// Function: Button_set_behavior
static int Button_set_behavior(lua_State *L)
    {
    nk_context_t *context = checkcontext(L, 1, NULL);
    enum nk_button_behavior behavior = checkbuttonbehavior(L, 2);
    nk_button_set_behavior(context, behavior);
    return 0;
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
leaq 0x4b42(%rip), %rcx      # 0xa7280
callq 0x130f0
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movl $0x8, %esi
movl $0x2, %edx
callq 0x14470
movl %eax, 0x4(%rsp)
movq 0x8(%rsp), %rdi
movl 0x4(%rsp), %esi
callq 0x13930
xorl %eax, %eax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/widgets.c
// Function: Button_push_behavior
static int Button_push_behavior(lua_State *L)
    {
    nk_context_t *context = checkcontext(L, 1, NULL);
    enum nk_button_behavior behavior = checkbuttonbehavior(L, 2);
    lua_pushboolean(L, nk_button_push_behavior(context, behavior));
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
leaq 0x4ae2(%rip), %rcx      # 0xa7280
callq 0x130f0
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rdi
movl $0x8, %esi
movl $0x2, %edx
callq 0x14470
movl %eax, 0x14(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rdi
movl 0x14(%rsp), %esi
callq 0x15280
movq 0x8(%rsp), %rdi
movl %eax, %esi
callq 0x143e0
movl $0x1, %eax
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/widgets.c
// Function: Chart_begin
static int Chart_begin(lua_State *L)
    {
    int rc;
    nk_color_t color, highlight;
    nk_context_t *context = checkcontext(L, 1, NULL);
    enum nk_chart_type chart_type = checkcharttype(L, 2);
    int count = luaL_checkinteger(L, 3);
    float min = luaL_checknumber(L, 4);
    float max = luaL_checknumber(L, 5);
    if(lua_isnoneornil(L, 6))
        rc = nk_chart_begin(context, chart_type, count, min, max);
    else
        {
        if(echeckcolor(L, 6, &color)) return argerror(L, 6);
        if(echeckcolor(L, 7, &highlight)) return argerror(L, 7);
        rc = nk_chart_begin_colored(context, chart_type, color, highlight, count, min, max);
        }
    lua_pushboolean(L, rc);
    return 1;
    }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq 0x38(%rsp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
leaq 0x4a22(%rip), %rcx      # 0xa7280
callq 0x130f0
movq %rax, 0x20(%rsp)
movq 0x38(%rsp), %rdi
movl $0xa, %esi
movl $0x2, %edx
callq 0x14470
movl %eax, 0x1c(%rsp)
movq 0x38(%rsp), %rdi
movl $0x3, %esi
callq 0x14070
movl %eax, 0x18(%rsp)
movq 0x38(%rsp), %rdi
movl $0x4, %esi
callq 0x13950
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x14(%rsp)
movq 0x38(%rsp), %rdi
movl $0x5, %esi
callq 0x13950
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x10(%rsp)
movq 0x38(%rsp), %rdi
movl $0x6, %esi
callq 0x15090
cmpl $0x0, %eax
jg 0xa2900
movq 0x20(%rsp), %rdi
movl 0x1c(%rsp), %esi
movl 0x18(%rsp), %edx
movss 0x14(%rsp), %xmm0
movss 0x10(%rsp), %xmm1
callq 0x13970
movl %eax, 0x34(%rsp)
jmp 0xa29c8
movq 0x38(%rsp), %rdi
movl $0x6, %esi
leaq 0x30(%rsp), %rdx
callq 0x13120
cmpl $0x0, %eax
je 0xa2951
movq 0x38(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x38(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %eax, %eax
movl %eax, %edx
callq 0x136c0
movq 0x8(%rsp), %rdi
movq %rax, %rdx
movl $0x6, %esi
callq 0x134c0
movl %eax, 0x44(%rsp)
jmp 0xa29de
movq 0x38(%rsp), %rdi
movl $0x7, %esi
leaq 0x2c(%rsp), %rdx
callq 0x13120
cmpl $0x0, %eax
je 0xa299d
movq 0x38(%rsp), %rax
movq %rax, (%rsp)
movq 0x38(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %eax, %eax
movl %eax, %edx
callq 0x136c0
movq (%rsp), %rdi
movq %rax, %rdx
movl $0x7, %esi
callq 0x134c0
movl %eax, 0x44(%rsp)
jmp 0xa29de
movq 0x20(%rsp), %rdi
movl 0x1c(%rsp), %esi
movl 0x18(%rsp), %r8d
movss 0x14(%rsp), %xmm0
movss 0x10(%rsp), %xmm1
movl 0x30(%rsp), %edx
movl 0x2c(%rsp), %ecx
callq 0x13380
movl %eax, 0x34(%rsp)
movq 0x38(%rsp), %rdi
movl 0x34(%rsp), %esi
callq 0x143e0
movl $0x1, 0x44(%rsp)
movl 0x44(%rsp), %eax
addq $0x48, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/widgets.c
// Function: Chart_add_slot
static int Chart_add_slot(lua_State *L)
    {
    nk_color_t color, highlight;
    nk_context_t *context = checkcontext(L, 1, NULL);
    enum nk_chart_type chart_type = checkcharttype(L, 2);
    int count = luaL_checkinteger(L, 3);
    float min = luaL_checknumber(L, 4);
    float max = luaL_checknumber(L, 5);
    if(lua_isnoneornil(L, 6))
        nk_chart_add_slot(context, chart_type, count, min, max);
    else
        {
        if(echeckcolor(L, 6, &color)) return argerror(L, 6);
        if(echeckcolor(L, 7, &highlight)) return argerror(L, 7);
        nk_chart_add_slot_colored(context, chart_type, color, highlight, count, min, max);
        }
    return 0;
    }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq 0x38(%rsp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
leaq 0x4872(%rip), %rcx      # 0xa7280
callq 0x130f0
movq %rax, 0x28(%rsp)
movq 0x38(%rsp), %rdi
movl $0xa, %esi
movl $0x2, %edx
callq 0x14470
movl %eax, 0x24(%rsp)
movq 0x38(%rsp), %rdi
movl $0x3, %esi
callq 0x14070
movl %eax, 0x20(%rsp)
movq 0x38(%rsp), %rdi
movl $0x4, %esi
callq 0x13950
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x1c(%rsp)
movq 0x38(%rsp), %rdi
movl $0x5, %esi
callq 0x13950
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x18(%rsp)
movq 0x38(%rsp), %rdi
movl $0x6, %esi
callq 0x15090
cmpl $0x0, %eax
jg 0xa2aac
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
movl 0x20(%rsp), %edx
movss 0x1c(%rsp), %xmm0
movss 0x18(%rsp), %xmm1
callq 0x149b0
jmp 0xa2b6f
movq 0x38(%rsp), %rdi
movl $0x6, %esi
leaq 0x34(%rsp), %rdx
callq 0x13120
cmpl $0x0, %eax
je 0xa2afa
movq 0x38(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x38(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %eax, %eax
movl %eax, %edx
callq 0x136c0
movq 0x10(%rsp), %rdi
movq %rax, %rdx
movl $0x6, %esi
callq 0x134c0
movl %eax, 0x44(%rsp)
jmp 0xa2b77
movq 0x38(%rsp), %rdi
movl $0x7, %esi
leaq 0x30(%rsp), %rdx
callq 0x13120
cmpl $0x0, %eax
je 0xa2b48
movq 0x38(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x38(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %eax, %eax
movl %eax, %edx
callq 0x136c0
movq 0x8(%rsp), %rdi
movq %rax, %rdx
movl $0x7, %esi
callq 0x134c0
movl %eax, 0x44(%rsp)
jmp 0xa2b77
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
movl 0x20(%rsp), %r8d
movss 0x1c(%rsp), %xmm0
movss 0x18(%rsp), %xmm1
movl 0x34(%rsp), %edx
movl 0x30(%rsp), %ecx
callq 0x14730
movl $0x0, 0x44(%rsp)
movl 0x44(%rsp), %eax
addq $0x48, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/widgets.c
// Function: Chart_push
static int Chart_push(lua_State *L)
    {
    nk_context_t *context = checkcontext(L, 1, NULL);
    float value = luaL_checknumber(L, 2);
    int slot = optindex(L, 3, 0);
    pushflags(L, nk_chart_push_slot(context, value, slot)); /* charteventflags */
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
leaq 0x46e2(%rip), %rcx      # 0xa7280
callq 0x130f0
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rdi
movl $0x2, %esi
callq 0x13950
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x14(%rsp)
movq 0x20(%rsp), %rdi
movl $0x3, %esi
xorl %edx, %edx
callq 0x15490
movl %eax, 0x10(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rdi
movss 0x14(%rsp), %xmm0
movl 0x10(%rsp), %esi
callq 0x13450
movq 0x8(%rsp), %rdi
movl %eax, %eax
movl %eax, %esi
callq 0x13c50
movl $0x1, %eax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/widgets.c
// Function: Plot
static int Plot(lua_State *L)
    {
    int nvalues, err;
    nk_context_t *context = checkcontext(L, 1, NULL);
    enum nk_chart_type chart_type = checkcharttype(L, 2);
    int count = luaL_checkinteger(L, 4);
    int offset = luaL_checkinteger(L, 5);
    float *values = checkfloatlist(L, 3, &nvalues, &err);
    if(err) return argerrorc(L, 3, err);
    /* plots values[offset] to values[offset+count-1] */
    if(offset < 0 || (offset+count) > nvalues)
        {
        freefloatlist(L, values, count);
        return argerrorc(L, 4, ERR_BOUNDARIES);
        }
    nk_plot(context, chart_type, values, count, offset);
    freefloatlist(L, values, count);
    return 0;
    }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq 0x38(%rsp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
leaq 0x4612(%rip), %rcx      # 0xa7280
callq 0x130f0
movq %rax, 0x28(%rsp)
movq 0x38(%rsp), %rdi
movl $0xa, %esi
movl $0x2, %edx
callq 0x14470
movl %eax, 0x24(%rsp)
movq 0x38(%rsp), %rdi
movl $0x4, %esi
callq 0x14070
movl %eax, 0x20(%rsp)
movq 0x38(%rsp), %rdi
movl $0x5, %esi
callq 0x14070
movl %eax, 0x1c(%rsp)
movq 0x38(%rsp), %rdi
movl $0x3, %esi
leaq 0x34(%rsp), %rdx
leaq 0x30(%rsp), %rcx
callq 0x152f0
movq %rax, 0x10(%rsp)
cmpl $0x0, 0x30(%rsp)
je 0xa2d09
movq 0x38(%rsp), %rax
movq %rax, 0x8(%rsp)
movl 0x30(%rsp), %edi
callq 0x14d10
movq 0x8(%rsp), %rdi
movq %rax, %rdx
movl $0x3, %esi
callq 0x134c0
movl %eax, 0x44(%rsp)
jmp 0xa2d92
cmpl $0x0, 0x1c(%rsp)
jl 0xa2d1e
movl 0x1c(%rsp), %eax
addl 0x20(%rsp), %eax
cmpl 0x34(%rsp), %eax
jle 0xa2d5b
movq 0x38(%rsp), %rdi
movq 0x10(%rsp), %rsi
movl 0x20(%rsp), %edx
callq 0x13be0
movq 0x38(%rsp), %rax
movq %rax, (%rsp)
movl $0xfffffff6, %edi       # imm = 0xFFFFFFF6
callq 0x14d10
movq (%rsp), %rdi
movq %rax, %rdx
movl $0x4, %esi
callq 0x134c0
movl %eax, 0x44(%rsp)
jmp 0xa2d92
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
movq 0x10(%rsp), %rdx
movl 0x20(%rsp), %ecx
movl 0x1c(%rsp), %r8d
callq 0x13e90
movq 0x38(%rsp), %rdi
movq 0x10(%rsp), %rsi
movl 0x20(%rsp), %edx
callq 0x13be0
movl $0x0, 0x44(%rsp)
movl 0x44(%rsp), %eax
addq $0x48, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/widgets.c
// Function: Plot_function
static int Plot_function(lua_State *L)
    {
    cbinfo_t info;
    nk_context_t *context = checkcontext(L, 1, NULL);
    enum nk_chart_type chart_type = checkcharttype(L, 2);
    int count = luaL_checkinteger(L, 4);
    int offset = luaL_checkinteger(L, 5);
    if(!lua_isfunction(L, 3))
        return argerrorc(L, 3, ERR_TYPE);
    lua_pushvalue(L, 3);
    info.ref = luaL_ref(L, LUA_REGISTRYINDEX);
    nk_plot_function(context, chart_type, &info, ValueGetter, count, offset);
    luaL_unref(L, LUA_REGISTRYINDEX, info.ref);
    return 0;
    }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq 0x38(%rsp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
leaq 0x44c2(%rip), %rcx      # 0xa7280
callq 0x130f0
movq %rax, 0x20(%rsp)
movq 0x38(%rsp), %rdi
movl $0xa, %esi
movl $0x2, %edx
callq 0x14470
movl %eax, 0x1c(%rsp)
movq 0x38(%rsp), %rdi
movl $0x4, %esi
callq 0x14070
movl %eax, 0x18(%rsp)
movq 0x38(%rsp), %rdi
movl $0x5, %esi
callq 0x14070
movl %eax, 0x14(%rsp)
movq 0x38(%rsp), %rdi
movl $0x3, %esi
callq 0x15090
cmpl $0x6, %eax
je 0xa2e46
movq 0x38(%rsp), %rax
movq %rax, 0x8(%rsp)
movl $0xfffffffe, %edi       # imm = 0xFFFFFFFE
callq 0x14d10
movq 0x8(%rsp), %rdi
movq %rax, %rdx
movl $0x3, %esi
callq 0x134c0
movl %eax, 0x44(%rsp)
jmp 0xa2ea7
movq 0x38(%rsp), %rdi
movl $0x3, %esi
callq 0x13eb0
movq 0x38(%rsp), %rdi
movl $0xfff0b9d8, %esi       # imm = 0xFFF0B9D8
callq 0x13840
movl %eax, 0x28(%rsp)
movq 0x20(%rsp), %rdi
movl 0x1c(%rsp), %esi
movl 0x18(%rsp), %r8d
movl 0x14(%rsp), %r9d
leaq 0x28(%rsp), %rdx
leaq 0x2819(%rip), %rcx      # 0xa56a0
callq 0x152d0
movq 0x38(%rsp), %rdi
movl 0x28(%rsp), %edx
movl $0xfff0b9d8, %esi       # imm = 0xFFF0B9D8
callq 0x15200
movl $0x0, 0x44(%rsp)
movl 0x44(%rsp), %eax
addq $0x48, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/widgets.c
// Function: Check
static int Check(lua_State *L)
    {
    size_t len;
    nk_context_t *context = checkcontext(L, 1, NULL);
    const char* s = luaL_checklstring(L, 2, &len);
    int active = checkboolean(L, 3);
    lua_pushboolean(L, nk_check_text(context, s, (int)len, active));
    return 1;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
leaq 0x43b2(%rip), %rcx      # 0xa7280
callq 0x130f0
movq %rax, 0x20(%rsp)
movq 0x30(%rsp), %rdi
movl $0x2, %esi
leaq 0x28(%rsp), %rdx
callq 0x13df0
movq %rax, 0x18(%rsp)
movq 0x30(%rsp), %rdi
movl $0x3, %esi
callq 0x14990
movl %eax, 0x14(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq 0x28(%rsp), %rax
movl %eax, %edx
movl 0x14(%rsp), %ecx
callq 0x14560
movq 0x8(%rsp), %rdi
movl %eax, %esi
callq 0x143e0
movl $0x1, %eax
addq $0x38, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/widgets.c
// Function: Check_flags
static int Check_flags(lua_State *L)
    {
    size_t len;
    nk_context_t *context = checkcontext(L, 1, NULL);
    const char* s = luaL_checklstring(L, 2, &len);
    unsigned int flags = luaL_checkinteger(L, 3);
    unsigned int value = luaL_checkinteger(L, 4);
    lua_pushinteger(L, nk_check_flags_text(context, s, len, flags, value));
    return 1;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
leaq 0x4322(%rip), %rcx      # 0xa7280
callq 0x130f0
movq %rax, 0x20(%rsp)
movq 0x30(%rsp), %rdi
movl $0x2, %esi
leaq 0x28(%rsp), %rdx
callq 0x13df0
movq %rax, 0x18(%rsp)
movq 0x30(%rsp), %rdi
movl $0x3, %esi
callq 0x14070
movl %eax, 0x14(%rsp)
movq 0x30(%rsp), %rdi
movl $0x4, %esi
callq 0x14070
movl %eax, 0x10(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq 0x28(%rsp), %rax
movl %eax, %edx
movl 0x14(%rsp), %ecx
movl 0x10(%rsp), %r8d
callq 0x13c30
movq 0x8(%rsp), %rdi
movl %eax, %eax
movl %eax, %esi
callq 0x13c50
movl $0x1, %eax
addq $0x38, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/widgets.c
// Function: Check_align
static int Check_align(lua_State *L)
    {
    size_t len;
    nk_context_t *context = checkcontext(L, 1, NULL);
    const char* s = luaL_checklstring(L, 2, &len);
    int active = checkboolean(L, 3);
    unsigned int widgetalignflags = luaL_checkinteger(L, 4);
    unsigned int textalignflags = luaL_checkinteger(L, 5);
    lua_pushboolean(L, nk_check_text_align(context, s, (int)len, active, widgetalignflags, textalignflags));
    return 1;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
leaq 0x4272(%rip), %rcx      # 0xa7280
callq 0x130f0
movq %rax, 0x20(%rsp)
movq 0x30(%rsp), %rdi
movl $0x2, %esi
leaq 0x28(%rsp), %rdx
callq 0x13df0
movq %rax, 0x18(%rsp)
movq 0x30(%rsp), %rdi
movl $0x3, %esi
callq 0x14990
movl %eax, 0x14(%rsp)
movq 0x30(%rsp), %rdi
movl $0x4, %esi
callq 0x14070
movl %eax, 0x10(%rsp)
movq 0x30(%rsp), %rdi
movl $0x5, %esi
callq 0x14070
movl %eax, 0xc(%rsp)
movq 0x30(%rsp), %rax
movq %rax, (%rsp)
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq 0x28(%rsp), %rax
movl %eax, %edx
movl 0x14(%rsp), %ecx
movl 0x10(%rsp), %r8d
movl 0xc(%rsp), %r9d
callq 0x14280
movq (%rsp), %rdi
movl %eax, %esi
callq 0x143e0
movl $0x1, %eax
addq $0x38, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/widgets.c
// Function: Checkbox
static int Checkbox(lua_State *L)
    {
    size_t len;
    nk_context_t *context = checkcontext(L, 1, NULL);
    const char* s = luaL_checklstring(L, 2, &len);
    int active = checkboolean(L, 3);
    nk_checkbox_text(context, s, len, &active);
    lua_pushboolean(L, active);
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
leaq 0x41b2(%rip), %rcx      # 0xa7280
callq 0x130f0
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rdi
movl $0x2, %esi
leaq 0x18(%rsp), %rdx
callq 0x13df0
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rdi
movl $0x3, %esi
callq 0x14990
movl %eax, 0x4(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
movq 0x18(%rsp), %rax
movl %eax, %edx
leaq 0x4(%rsp), %rcx
callq 0x13350
movq 0x20(%rsp), %rdi
movl 0x4(%rsp), %esi
callq 0x143e0
movl $0x1, %eax
addq $0x28, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/widgets.c
// Function: Checkbox_flags
static int Checkbox_flags(lua_State *L)
    {
    size_t len;
    nk_context_t *context = checkcontext(L, 1, NULL);
    const char* s = luaL_checklstring(L, 2, &len);
    unsigned int flags = luaL_checkinteger(L, 3);
    unsigned int value = luaL_checkinteger(L, 4);
    nk_checkbox_flags_text(context, s, len, &flags, value);
    lua_pushinteger(L, flags);
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
leaq 0x4122(%rip), %rcx      # 0xa7280
callq 0x130f0
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rdi
movl $0x2, %esi
leaq 0x18(%rsp), %rdx
callq 0x13df0
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rdi
movl $0x3, %esi
callq 0x14070
movl %eax, 0x4(%rsp)
movq 0x20(%rsp), %rdi
movl $0x4, %esi
callq 0x14070
movl %eax, (%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
movq 0x18(%rsp), %rax
movl %eax, %edx
movl (%rsp), %r8d
leaq 0x4(%rsp), %rcx
callq 0x141d0
movq 0x20(%rsp), %rdi
movl 0x4(%rsp), %eax
movl %eax, %esi
callq 0x13c50
movl $0x1, %eax
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/widgets.c
// Function: Checkbox_align
static int Checkbox_align(lua_State *L)
    {
    size_t len;
    nk_context_t *context = checkcontext(L, 1, NULL);
    const char* s = luaL_checklstring(L, 2, &len);
    int active = checkboolean(L, 3);
    unsigned int widgetalignflags = luaL_checkinteger(L, 4);
    unsigned int textalignflags = luaL_checkinteger(L, 5);
    nk_checkbox_text_align(context, s, len, &active, widgetalignflags, textalignflags);
    lua_pushboolean(L, active);
    return 1;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
leaq 0x4082(%rip), %rcx      # 0xa7280
callq 0x130f0
movq %rax, 0x20(%rsp)
movq 0x30(%rsp), %rdi
movl $0x2, %esi
leaq 0x28(%rsp), %rdx
callq 0x13df0
movq %rax, 0x18(%rsp)
movq 0x30(%rsp), %rdi
movl $0x3, %esi
callq 0x14990
movl %eax, 0x14(%rsp)
movq 0x30(%rsp), %rdi
movl $0x4, %esi
callq 0x14070
movl %eax, 0x10(%rsp)
movq 0x30(%rsp), %rdi
movl $0x5, %esi
callq 0x14070
movl %eax, 0xc(%rsp)
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq 0x28(%rsp), %rax
movl %eax, %edx
movl 0x10(%rsp), %r8d
movl 0xc(%rsp), %r9d
leaq 0x14(%rsp), %rcx
callq 0x14880
movq 0x30(%rsp), %rdi
movl 0x14(%rsp), %esi
callq 0x143e0
movl $0x1, %eax
addq $0x38, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/widgets.c
// Function: Color_picker
static int Color_picker(lua_State *L)
    {
    nk_colorf_t color;
    enum nk_color_format fmt;
    nk_context_t *context = checkcontext(L, 1, NULL);
    if(echeckcolorf(L, 2, &color)) return argerror(L, 2);
    fmt = checkcolorformat(L, 3);
    color = nk_color_picker(context, color, fmt);
    return pushcolorf(L, &color);
    }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq 0x38(%rsp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
leaq 0x3fc2(%rip), %rcx      # 0xa7280
callq 0x130f0
movq %rax, 0x18(%rsp)
movq 0x38(%rsp), %rdi
movl $0x2, %esi
leaq 0x28(%rsp), %rdx
callq 0x14370
cmpl $0x0, %eax
je 0xa3314
movq 0x38(%rsp), %rax
movq %rax, (%rsp)
movq 0x38(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %eax, %eax
movl %eax, %edx
callq 0x136c0
movq (%rsp), %rdi
movq %rax, %rdx
movl $0x2, %esi
callq 0x134c0
movl %eax, 0x44(%rsp)
jmp 0xa3379
movq 0x38(%rsp), %rdi
movl $0xb, %esi
movl $0x3, %edx
callq 0x14470
movl %eax, 0x24(%rsp)
movq 0x18(%rsp), %rdi
movl 0x24(%rsp), %esi
movsd 0x28(%rsp), %xmm0
movsd 0x30(%rsp), %xmm1
callq 0x14ab0
movlpd %xmm0, 0x8(%rsp)
movlpd %xmm1, 0x10(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x38(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x15010
movl %eax, 0x44(%rsp)
movl 0x44(%rsp), %eax
addq $0x48, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/widgets.c
// Function: Combo
static int Combo(lua_State *L)
    {
    nk_vec2_t size;
    char **items;
    int count, err;
    nk_context_t *context = checkcontext(L, 1, NULL);
    int selected = luaL_checkinteger(L, 3);
    int item_height = luaL_checkinteger(L, 4);
    if(echeckvec2(L, 5, &size)) return argerror(L, 5);
    items = checkstringlist(L, 2, &count, &err);
    if(err) return argerrorc(L, 2, err);
    if(selected < 1 || selected > count)
        { freestringlist(L, items, count); return argerrorc(L, 3, ERR_RANGE); }
    selected = nk_combo(context, (const char**)items, count, selected - 1, item_height, size) + 1;
    //int nk_combo_separator(struct nk_context *ctx, const char *items_separated_by_separator,
    //    int separator, int selected, int count, int item_height, struct nk_vec2 size)
    freestringlist(L, items, count);
    lua_pushinteger(L, selected);
    return 1;
    }

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x48(%rsp)
movq 0x48(%rsp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
leaq 0x3ed2(%rip), %rcx      # 0xa7280
callq 0x130f0
movq %rax, 0x28(%rsp)
movq 0x48(%rsp), %rdi
movl $0x3, %esi
callq 0x14070
movl %eax, 0x24(%rsp)
movq 0x48(%rsp), %rdi
movl $0x4, %esi
callq 0x14070
movl %eax, 0x20(%rsp)
movq 0x48(%rsp), %rdi
movl $0x5, %esi
leaq 0x40(%rsp), %rdx
callq 0x15460
cmpl $0x0, %eax
je 0xa342f
movq 0x48(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x48(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %eax, %eax
movl %eax, %edx
callq 0x136c0
movq 0x18(%rsp), %rdi
movq %rax, %rdx
movl $0x5, %esi
callq 0x134c0
movl %eax, 0x54(%rsp)
jmp 0xa3527
movq 0x48(%rsp), %rdi
movl $0x2, %esi
leaq 0x34(%rsp), %rdx
leaq 0x30(%rsp), %rcx
callq 0x14320
movq %rax, 0x38(%rsp)
cmpl $0x0, 0x30(%rsp)
je 0xa3482
movq 0x48(%rsp), %rax
movq %rax, 0x10(%rsp)
movl 0x30(%rsp), %edi
callq 0x14d10
movq 0x10(%rsp), %rdi
movq %rax, %rdx
movl $0x2, %esi
callq 0x134c0
movl %eax, 0x54(%rsp)
jmp 0xa3527
cmpl $0x1, 0x24(%rsp)
jl 0xa3493
movl 0x24(%rsp), %eax
cmpl 0x34(%rsp), %eax
jle 0xa34d2
movq 0x48(%rsp), %rdi
movq 0x38(%rsp), %rsi
movl 0x34(%rsp), %edx
callq 0x13dc0
movq 0x48(%rsp), %rax
movq %rax, 0x8(%rsp)
movl $0xfffffff2, %edi       # imm = 0xFFFFFFF2
callq 0x14d10
movq 0x8(%rsp), %rdi
movq %rax, %rdx
movl $0x3, %esi
callq 0x134c0
movl %eax, 0x54(%rsp)
jmp 0xa3527
movq 0x28(%rsp), %rdi
movq 0x38(%rsp), %rsi
movl 0x34(%rsp), %edx
movl 0x24(%rsp), %ecx
decl %ecx
movl 0x20(%rsp), %r8d
movsd 0x40(%rsp), %xmm0
callq 0x136b0
addl $0x1, %eax
movl %eax, 0x24(%rsp)
movq 0x48(%rsp), %rdi
movq 0x38(%rsp), %rsi
movl 0x34(%rsp), %edx
callq 0x13dc0
movq 0x48(%rsp), %rdi
movslq 0x24(%rsp), %rsi
callq 0x13c50
movl $0x1, 0x54(%rsp)
movl 0x54(%rsp), %eax
addq $0x58, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/widgets.c
// Function: Combo_callback
static int Combo_callback(lua_State *L)
    {
    cbinfo_t info;
    nk_vec2_t size;
    nk_context_t *context = checkcontext(L, 1, NULL);
    int selected = luaL_checkinteger(L, 3);
    int count = luaL_checkinteger(L, 4);
    int item_height = luaL_checkinteger(L, 5);
    if(echeckvec2(L, 6, &size)) return argerror(L, 6);
    if(!lua_isfunction(L, 2))
        return argerrorc(L, 2, ERR_TYPE);
    lua_pushvalue(L, 2);
    info.ref = luaL_ref(L, LUA_REGISTRYINDEX);
    info.item = NULL;
    selected = nk_combo_callback(context, ItemGetter, &info, selected-1, count, item_height, size);
    if(info.item) Free(L, info.item);
    luaL_unref(L, LUA_REGISTRYINDEX, info.ref);
    lua_pushinteger(L, selected+1);
    return 1;
    }

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x48(%rsp)
movq 0x48(%rsp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
leaq 0x3d32(%rip), %rcx      # 0xa7280
callq 0x130f0
movq %rax, 0x28(%rsp)
movq 0x48(%rsp), %rdi
movl $0x3, %esi
callq 0x14070
movl %eax, 0x24(%rsp)
movq 0x48(%rsp), %rdi
movl $0x4, %esi
callq 0x14070
movl %eax, 0x20(%rsp)
movq 0x48(%rsp), %rdi
movl $0x5, %esi
callq 0x14070
movl %eax, 0x1c(%rsp)
movq 0x48(%rsp), %rdi
movl $0x6, %esi
leaq 0x30(%rsp), %rdx
callq 0x15460
cmpl $0x0, %eax
je 0xa35e2
movq 0x48(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x48(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %eax, %eax
movl %eax, %edx
callq 0x136c0
movq 0x10(%rsp), %rdi
movq %rax, %rdx
movl $0x6, %esi
callq 0x134c0
movl %eax, 0x54(%rsp)
jmp 0xa36c6
movq 0x48(%rsp), %rdi
movl $0x2, %esi
callq 0x15090
cmpl $0x6, %eax
je 0xa3625
movq 0x48(%rsp), %rax
movq %rax, 0x8(%rsp)
movl $0xfffffffe, %edi       # imm = 0xFFFFFFFE
callq 0x14d10
movq 0x8(%rsp), %rdi
movq %rax, %rdx
movl $0x2, %esi
callq 0x134c0
movl %eax, 0x54(%rsp)
jmp 0xa36c6
movq 0x48(%rsp), %rdi
movl $0x2, %esi
callq 0x13eb0
movq 0x48(%rsp), %rdi
movl $0xfff0b9d8, %esi       # imm = 0xFFF0B9D8
callq 0x13840
movl %eax, 0x38(%rsp)
movq $0x0, 0x40(%rsp)
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %ecx
decl %ecx
movl 0x20(%rsp), %r8d
movl 0x1c(%rsp), %r9d
movsd 0x30(%rsp), %xmm0
leaq 0x20fe(%rip), %rsi      # 0xa5770
leaq 0x38(%rsp), %rdx
callq 0x15380
movl %eax, 0x24(%rsp)
cmpq $0x0, 0x40(%rsp)
je 0xa3697
movq 0x48(%rsp), %rdi
movq 0x40(%rsp), %rsi
callq 0x14230
movq 0x48(%rsp), %rdi
movl 0x38(%rsp), %edx
movl $0xfff0b9d8, %esi       # imm = 0xFFF0B9D8
callq 0x15200
movq 0x48(%rsp), %rdi
movl 0x24(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rsi
callq 0x13c50
movl $0x1, 0x54(%rsp)
movl 0x54(%rsp), %eax
addq $0x58, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/widgets.c
// Function: Combo_item
static int Combo_item(lua_State *L)
    {
    int rc;
    size_t len;
    enum nk_symbol_type symbol;
    nk_image_t *image;
    nk_context_t *context = checkcontext(L, 1, NULL);
    const char *s = luaL_checklstring(L, 3, &len);
    nk_flags alignment = checkflags(L, 4); /* textalign */
    int arg_type = lua_type(L, 2);
    if(arg_type == LUA_TNIL)
        rc = nk_combo_item_text(context, s, len, alignment);
    else if((image = testimage(L, 2, NULL)) != NULL)
        rc = nk_combo_item_image_text(context, *image, s, len, alignment);
    else
        {
        symbol = checksymboltype(L, 2);
        rc = nk_combo_item_symbol_text(context, symbol, s, len, alignment);
        }
    lua_pushboolean(L, rc);
    return 1;
    }

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x50(%rsp)
movq 0x50(%rsp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
leaq 0x3912(%rip), %rcx      # 0xa7280
callq 0x130f0
movq %rax, 0x28(%rsp)
movq 0x50(%rsp), %rdi
movl $0x3, %esi
leaq 0x40(%rsp), %rdx
callq 0x13df0
movq %rax, 0x20(%rsp)
movq 0x50(%rsp), %rdi
movl $0x4, %esi
callq 0x14070
movl %eax, 0x1c(%rsp)
movq 0x50(%rsp), %rdi
movl $0x2, %esi
callq 0x15090
movl %eax, 0x18(%rsp)
cmpl $0x0, 0x18(%rsp)
jne 0xa39e1
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
movq 0x40(%rsp), %rax
movl %eax, %edx
movl 0x1c(%rsp), %ecx
callq 0x14430
movl %eax, 0x4c(%rsp)
jmp 0xa3a81
movq 0x50(%rsp), %rdi
movl $0x2, %esi
xorl %eax, %eax
movl %eax, %edx
leaq 0x384e(%rip), %rcx      # 0xa7244
callq 0x15450
movq %rax, 0x30(%rsp)
cmpq $0x0, %rax
je 0xa3a44
movq 0x28(%rsp), %rdi
movq 0x30(%rsp), %rax
movq 0x20(%rsp), %rsi
movq 0x40(%rsp), %rcx
movl %ecx, %edx
movl 0x1c(%rsp), %ecx
movq (%rax), %r8
movq %r8, (%rsp)
movq 0x8(%rax), %r8
movq %r8, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x14df0
movl %eax, 0x4c(%rsp)
jmp 0xa3a7f
movq 0x50(%rsp), %rdi
movl $0xe, %esi
movl $0x2, %edx
callq 0x14470
movl %eax, 0x3c(%rsp)
movq 0x28(%rsp), %rdi
movl 0x3c(%rsp), %esi
movq 0x20(%rsp), %rdx
movq 0x40(%rsp), %rax
movl %eax, %ecx
movl 0x1c(%rsp), %r8d
callq 0x13cb0
movl %eax, 0x4c(%rsp)
jmp 0xa3a81
movq 0x50(%rsp), %rdi
movl 0x4c(%rsp), %esi
callq 0x143e0
movl $0x1, %eax
addq $0x58, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/widgets.c
// Function: Contextual_begin
static int Contextual_begin(lua_State *L)
    {
    nk_vec2_t size;
    nk_rect_t trigger_bounds;
    nk_context_t *context = checkcontext(L, 1, NULL);
    nk_flags flags = checkflags(L, 2); /* panelflags */
    if(echeckvec2(L, 3, &size)) return argerror(L, 3);
    if(echeckrect(L, 4, &trigger_bounds)) return argerror(L, 4);
    lua_pushboolean(L, nk_contextual_begin(context, flags, size, trigger_bounds));
    return 1;
    }

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x48(%rsp)
movq 0x48(%rsp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
leaq 0x3742(%rip), %rcx      # 0xa7280
callq 0x130f0
movq %rax, 0x28(%rsp)
movq 0x48(%rsp), %rdi
movl $0x2, %esi
callq 0x14070
movl %eax, 0x24(%rsp)
movq 0x48(%rsp), %rdi
movl $0x3, %esi
leaq 0x40(%rsp), %rdx
callq 0x15460
cmpl $0x0, %eax
je 0xa3bac
movq 0x48(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x48(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %eax, %eax
movl %eax, %edx
callq 0x136c0
movq 0x18(%rsp), %rdi
movq %rax, %rdx
movl $0x3, %esi
callq 0x134c0
movl %eax, 0x54(%rsp)
jmp 0xa3c38
movq 0x48(%rsp), %rdi
movl $0x4, %esi
leaq 0x30(%rsp), %rdx
callq 0x14c30
cmpl $0x0, %eax
je 0xa3bfa
movq 0x48(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x48(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %eax, %eax
movl %eax, %edx
callq 0x136c0
movq 0x10(%rsp), %rdi
movq %rax, %rdx
movl $0x4, %esi
callq 0x134c0
movl %eax, 0x54(%rsp)
jmp 0xa3c38
movq 0x48(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
movsd 0x40(%rsp), %xmm0
movsd 0x30(%rsp), %xmm1
movsd 0x38(%rsp), %xmm2
callq 0x13bc0
movq 0x8(%rsp), %rdi
movl %eax, %esi
callq 0x143e0
movl $0x1, 0x54(%rsp)
movl 0x54(%rsp), %eax
addq $0x58, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/widgets.c
// Function: Contextual_item
static int Contextual_item(lua_State *L)
    {
    int rc;
    size_t len;
    enum nk_symbol_type symbol;
    nk_image_t *image;
    nk_context_t *context = checkcontext(L, 1, NULL);
    const char *s = luaL_checklstring(L, 3, &len);
    nk_flags alignment = checkflags(L, 4); /* textalign */
    if(lua_isnoneornil(L, 2))
        rc = nk_contextual_item_text(context, s, len, alignment);
    else if((image = testimage(L, 2, NULL)) != NULL)
        rc = nk_contextual_item_image_text(context, *image, s, len, alignment);
    else
        {
        symbol = checksymboltype(L, 2);
        rc = nk_contextual_item_symbol_text(context, symbol, s, len, alignment);
        }
    lua_pushboolean(L, rc);
    return 1;
    }

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x50(%rsp)
movq 0x50(%rsp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
leaq 0x3612(%rip), %rcx      # 0xa7280
callq 0x130f0
movq %rax, 0x28(%rsp)
movq 0x50(%rsp), %rdi
movl $0x3, %esi
leaq 0x40(%rsp), %rdx
callq 0x13df0
movq %rax, 0x20(%rsp)
movq 0x50(%rsp), %rdi
movl $0x4, %esi
callq 0x14070
movl %eax, 0x1c(%rsp)
movq 0x50(%rsp), %rdi
movl $0x2, %esi
callq 0x15090
cmpl $0x0, %eax
jg 0xa3cdb
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
movq 0x40(%rsp), %rax
movl %eax, %edx
movl 0x1c(%rsp), %ecx
callq 0x14a90
movl %eax, 0x4c(%rsp)
jmp 0xa3d7b
movq 0x50(%rsp), %rdi
movl $0x2, %esi
xorl %eax, %eax
movl %eax, %edx
leaq 0x3554(%rip), %rcx      # 0xa7244
callq 0x15450
movq %rax, 0x30(%rsp)
cmpq $0x0, %rax
je 0xa3d3e
movq 0x28(%rsp), %rdi
movq 0x30(%rsp), %rax
movq 0x20(%rsp), %rsi
movq 0x40(%rsp), %rcx
movl %ecx, %edx
movl 0x1c(%rsp), %ecx
movq (%rax), %r8
movq %r8, (%rsp)
movq 0x8(%rax), %r8
movq %r8, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x142f0
movl %eax, 0x4c(%rsp)
jmp 0xa3d79
movq 0x50(%rsp), %rdi
movl $0xe, %esi
movl $0x2, %edx
callq 0x14470
movl %eax, 0x3c(%rsp)
movq 0x28(%rsp), %rdi
movl 0x3c(%rsp), %esi
movq 0x20(%rsp), %rdx
movq 0x40(%rsp), %rax
movl %eax, %ecx
movl 0x1c(%rsp), %r8d
callq 0x14ae0
movl %eax, 0x4c(%rsp)
jmp 0xa3d7b
movq 0x50(%rsp), %rdi
movl 0x4c(%rsp), %esi
callq 0x143e0
movl $0x1, %eax
addq $0x58, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/widgets.c
// Function: Image
static int Image(lua_State *L)
    {
    nk_context_t *context = checkcontext(L, 1, NULL);
    nk_image_t *image = checkimage(L, 2, NULL);
    nk_image(context, *image);
    return 0;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
leaq 0x3442(%rip), %rcx      # 0xa7280
callq 0x130f0
movq %rax, 0x28(%rsp)
movq 0x30(%rsp), %rdi
movl $0x2, %esi
xorl %eax, %eax
movl %eax, %edx
leaq 0x33e7(%rip), %rcx      # 0xa7244
callq 0x130f0
movq %rax, 0x20(%rsp)
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x13ff0
xorl %eax, %eax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/widgets.c
// Function: Label
static int Label(lua_State *L)
    {
    size_t len;
    nk_color_t color;
    nk_context_t *context = checkcontext(L, 1, NULL);
    const char* s = luaL_checklstring(L, 2, &len);
    nk_flags alignment = checkflags(L, 3); /* textalign */
    if(lua_isnoneornil(L, 4))
        nk_text(context, s, len, alignment);
    else
        {
        if(echeckcolor(L, 4, &color)) return argerror(L, 4);
        nk_text_colored(context, s, len, alignment, color);
        }
    return 0;
    }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq 0x38(%rsp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
leaq 0x33c2(%rip), %rcx      # 0xa7280
callq 0x130f0
movq %rax, 0x20(%rsp)
movq 0x38(%rsp), %rdi
movl $0x2, %esi
leaq 0x30(%rsp), %rdx
callq 0x13df0
movq %rax, 0x18(%rsp)
movq 0x38(%rsp), %rdi
movl $0x3, %esi
callq 0x14070
movl %eax, 0x14(%rsp)
movq 0x38(%rsp), %rdi
movl $0x4, %esi
callq 0x15090
cmpl $0x0, %eax
jg 0xa3f24
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq 0x30(%rsp), %rax
movl %eax, %edx
movl 0x14(%rsp), %ecx
callq 0x14b90
jmp 0xa3f91
movq 0x38(%rsp), %rdi
movl $0x4, %esi
leaq 0x2c(%rsp), %rdx
callq 0x13120
cmpl $0x0, %eax
je 0xa3f72
movq 0x38(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x38(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %eax, %eax
movl %eax, %edx
callq 0x136c0
movq 0x8(%rsp), %rdi
movq %rax, %rdx
movl $0x4, %esi
callq 0x134c0
movl %eax, 0x44(%rsp)
jmp 0xa3f99
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq 0x30(%rsp), %rax
movl %eax, %edx
movl 0x14(%rsp), %ecx
movl 0x2c(%rsp), %r8d
callq 0x139d0
movl $0x0, 0x44(%rsp)
movl 0x44(%rsp), %eax
addq $0x48, %rsp
retq
nopw %cs:(%rax,%rax)