// File: /workspace/github_c_makefile_star2_O3/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:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movl %ecx, %ebp
movl %edx, %r14d
movq %rsi, %rbx
movss %xmm0, 0x4(%rsp)
movq 0x659e7(%rip), %r15     # 0x86ff0
movq (%r15), %rax
movslq 0x78(%rdi), %rdx
movq %rax, %rdi
movl $0xfff0b9d8, %esi       # imm = 0xFFF0B9D8
callq 0x12950
movq (%r15), %rdi
xorps %xmm0, %xmm0
cvtss2sd 0x4(%rsp), %xmm0
callq 0x13180
movq (%r15), %rdi
movl %r14d, %esi
callq 0x12b60
movq (%r15), %rdi
movl %ebp, %esi
callq 0x12b60
movq (%r15), %rdi
movl $0x3, %esi
movl $0x6, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x140b0
movq (%r15), %rdi
testl %eax, %eax
je 0x21673
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x13780
movl $0xfffffffa, %esi       # imm = 0xFFFFFFFA
movq %rbx, %rdx
callq 0x14160
testl %eax, %eax
je 0x216a6
movq (%r15), %r14
movq %r14, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x12630
movq %r14, %rdi
movl $0xfffffffa, %esi       # imm = 0xFFFFFFFA
movq %rax, %rdx
callq 0x12460
movq (%r15), %rdi
leaq 0x8(%rbx), %rdx
movl $0xfffffffb, %esi       # imm = 0xFFFFFFFB
callq 0x14160
testl %eax, %eax
je 0x216dd
movq (%r15), %r14
movq %r14, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x12630
movq %r14, %rdi
movl $0xfffffffb, %esi       # imm = 0xFFFFFFFB
movq %rax, %rdx
callq 0x12460
movq (%r15), %rdi
leaq 0x10(%rbx), %rdx
movl $0xfffffffc, %esi       # imm = 0xFFFFFFFC
callq 0x14160
testl %eax, %eax
je 0x21714
movq (%r15), %r14
movq %r14, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x12630
movq %r14, %rdi
movl $0xfffffffc, %esi       # imm = 0xFFFFFFFC
movq %rax, %rdx
callq 0x12460
movq (%r15), %rdi
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
callq 0x12870
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x18(%rbx)
movq (%r15), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12870
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x1c(%rbx)
movq (%r15), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x12870
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x20(%rbx)
movq (%r15), %rdi
movl $0xfffffff9, %esi       # imm = 0xFFFFFFF9
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x12180
nopl (%rax)