// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/font.c
// Function: QueryCallback
static void QueryCallback(nk_handle handle, float height, nk_user_font_glyph_t *glyph, nk_rune codepoint, nk_rune next_codepoint) // nk_query_font_glyph_f
    {
#define L moonnuklear_L
    ud_t *ud = (ud_t*)(handle.ptr);
    pushvalue(L, ud->ref2);             // function
    lua_pushnumber(L, height);          // arg1
    lua_pushinteger(L, codepoint);      // arg2
    lua_pushinteger(L, next_codepoint); // arg3
    if(lua_pcall(L, 3, 6, 0) != LUA_OK)
        { lua_error(L); return; }
    /* fill glyph with the returned values */
    if(echeckvec2(L, -6, &glyph->uv[0])) argerror(L, -6);  // retval1
    if(echeckvec2(L, -5, &glyph->uv[1])) argerror(L, -5);  // retval2
    if(echeckvec2(L, -4, &glyph->offset)) argerror(L, -4); // retval3
    glyph->width = luaL_checknumber(L, -3);                // retval4
    glyph->height = luaL_checknumber(L, -2);               // retval5
    glyph->xadvance = luaL_checknumber(L, -1);             // retval6
    lua_pop(L, 6);
    return;
#undef L
    }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movss %xmm0, 0x3c(%rsp)
movq %rsi, 0x30(%rsp)
movl %edx, 0x2c(%rsp)
movl %ecx, 0x28(%rsp)
movq 0x40(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x9d013(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
movq 0x20(%rsp), %rax
movslq 0x78(%rax), %rdx
movl $0xfff0b9d8, %esi       # imm = 0xFFF0B9D8
callq 0x13a30
movq 0x9cff6(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
movss 0x3c(%rsp), %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x142e0
movq 0x9cfdd(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
movl 0x2c(%rsp), %eax
movl %eax, %esi
callq 0x13c50
movq 0x9cfc8(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
movl 0x28(%rsp), %eax
movl %eax, %esi
callq 0x13c50
movq 0x9cfb3(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
movl $0x3, %esi
movl $0x6, %edx
xorl %ecx, %ecx
xorl %eax, %eax
movl %eax, %r9d
movq %r9, %r8
callq 0x153a0
cmpl $0x0, %eax
je 0x28072
movq 0x9cf8b(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x281f9
movq 0x9cf77(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
movq 0x30(%rsp), %rdx
movl $0xfffffffa, %esi       # imm = 0xFFFFFFFA
callq 0x15460
cmpl $0x0, %eax
je 0x280c9
movq 0x9cf59(%rip), %rax     # 0xc4ff0
movq (%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x9cf4a(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %eax, %eax
movl %eax, %edx
callq 0x136c0
movq 0x18(%rsp), %rdi
movq %rax, %rdx
movl $0xfffffffa, %esi       # imm = 0xFFFFFFFA
callq 0x134c0
movq 0x9cf20(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
movq 0x30(%rsp), %rdx
addq $0x8, %rdx
movl $0xfffffffb, %esi       # imm = 0xFFFFFFFB
callq 0x15460
cmpl $0x0, %eax
je 0x28124
movq 0x9cefe(%rip), %rax     # 0xc4ff0
movq (%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x9ceef(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %eax, %eax
movl %eax, %edx
callq 0x136c0
movq 0x10(%rsp), %rdi
movq %rax, %rdx
movl $0xfffffffb, %esi       # imm = 0xFFFFFFFB
callq 0x134c0
movq 0x9cec5(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
movq 0x30(%rsp), %rdx
addq $0x10, %rdx
movl $0xfffffffc, %esi       # imm = 0xFFFFFFFC
callq 0x15460
cmpl $0x0, %eax
je 0x2817f
movq 0x9cea3(%rip), %rax     # 0xc4ff0
movq (%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x9ce94(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %eax, %eax
movl %eax, %edx
callq 0x136c0
movq 0x8(%rsp), %rdi
movq %rax, %rdx
movl $0xfffffffc, %esi       # imm = 0xFFFFFFFC
callq 0x134c0
movq 0x9ce6a(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
callq 0x13950
cvtsd2ss %xmm0, %xmm0
movq 0x30(%rsp), %rax
movss %xmm0, 0x18(%rax)
movq 0x9ce48(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x13950
cvtsd2ss %xmm0, %xmm0
movq 0x30(%rsp), %rax
movss %xmm0, 0x1c(%rax)
movq 0x9ce26(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x13950
cvtsd2ss %xmm0, %xmm0
movq 0x30(%rsp), %rax
movss %xmm0, 0x20(%rax)
movq 0x9ce04(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
movl $0xfffffff9, %esi       # imm = 0xFFFFFFF9
callq 0x131a0
addq $0x48, %rsp
retq
nop