// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/./nuklear/nuklear.h
// Function: nk_tooltip_begin
NK_API nk_bool
nk_tooltip_begin(struct nk_context *ctx, float width)
{
    int x,y,w,h;
    struct nk_window *win;
    const struct nk_input *in;
    struct nk_rect bounds;
    int ret;

    NK_ASSERT(ctx);
    NK_ASSERT(ctx->current);
    NK_ASSERT(ctx->current->layout);
    if (!ctx || !ctx->current || !ctx->current->layout)
        return 0;

    /* make sure that no nonblocking popup is currently active */
    win = ctx->current;
    in = &ctx->input;
    if (win->popup.win && ((int)win->popup.type & (int)NK_PANEL_SET_NONBLOCK))
        return 0;

    w = nk_iceilf(width);
    h = nk_iceilf(nk_null_rect.h);
    x = nk_ifloorf(in->mouse.pos.x + 1) - (int)win->layout->clip.x;
    y = nk_ifloorf(in->mouse.pos.y + 1) - (int)win->layout->clip.y;

    bounds.x = (float)x;
    bounds.y = (float)y;
    bounds.w = (float)w;
    bounds.h = (float)h;

    ret = nk_popup_begin(ctx, NK_POPUP_DYNAMIC,
        "__##Tooltip##__", NK_WINDOW_NO_SCROLLBAR|NK_WINDOW_BORDER, bounds);
    if (ret) win->layout->flags &= ~(nk_flags)NK_WINDOW_ROM;
    win->popup.type = NK_PANEL_TOOLTIP;
    ctx->current->layout->type = NK_PANEL_TOOLTIP;
    return ret;
}

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x48(%rsp)
movss %xmm0, 0x44(%rsp)
cmpq $0x0, 0x48(%rsp)
jne 0x7c35a
movq 0x48cc2(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x35068(%rip), %rsi     # 0xb13a0
leaq 0x3507f(%rip), %rdx     # 0xb13be
movl $0x7521, %ecx           # imm = 0x7521
movb $0x0, %al
callq 0x13ec0
movq 0x48c9e(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x7c35c
jmp 0x7c35e
movq 0x48(%rsp), %rax
cmpq $0x0, 0x4780(%rax)
jne 0x7c3a0
movq 0x48c7c(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x35022(%rip), %rsi     # 0xb13a0
leaq 0x35039(%rip), %rdx     # 0xb13be
movl $0x7522, %ecx           # imm = 0x7522
movb $0x0, %al
callq 0x13ec0
movq 0x48c58(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x7c3a2
jmp 0x7c3a4
movq 0x48(%rsp), %rax
movq 0x4780(%rax), %rax
cmpq $0x0, 0xa8(%rax)
jne 0x7c3ed
movq 0x48c2f(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x34fd5(%rip), %rsi     # 0xb13a0
leaq 0x34fec(%rip), %rdx     # 0xb13be
movl $0x7523, %ecx           # imm = 0x7523
movb $0x0, %al
callq 0x13ec0
movq 0x48c0b(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x7c3ef
cmpq $0x0, 0x48(%rsp)
je 0x7c41c
movq 0x48(%rsp), %rax
cmpq $0x0, 0x4780(%rax)
je 0x7c41c
movq 0x48(%rsp), %rax
movq 0x4780(%rax), %rax
cmpq $0x0, 0xa8(%rax)
jne 0x7c429
movl $0x0, 0x54(%rsp)
jmp 0x7c5ad
movq 0x48(%rsp), %rax
movq 0x4780(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x48(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x28(%rsp), %rax
cmpq $0x0, 0x120(%rax)
je 0x7c475
movq 0x28(%rsp), %rax
movl 0x128(%rax), %eax
andl $0xf0, %eax
cmpl $0x0, %eax
je 0x7c475
movl $0x0, 0x54(%rsp)
jmp 0x7c5ad
movss 0x44(%rsp), %xmm0
callq 0x64e00
movl %eax, 0x38(%rsp)
movss 0x313e4(%rip), %xmm0    # 0xad870
callq 0x64e00
movl %eax, 0x34(%rsp)
movq 0x20(%rsp), %rax
movss 0x144(%rax), %xmm0
movss 0x3103e(%rip), %xmm1    # 0xad4e8
movss %xmm1, 0x8(%rsp)
addss %xmm1, %xmm0
callq 0x7c5c0
movss 0x8(%rsp), %xmm1
movq 0x28(%rsp), %rcx
movq 0xa8(%rcx), %rcx
cvttss2si 0x44(%rcx), %ecx
subl %ecx, %eax
movl %eax, 0x40(%rsp)
movq 0x20(%rsp), %rax
movss 0x148(%rax), %xmm0
addss %xmm1, %xmm0
callq 0x7c5c0
movq 0x28(%rsp), %rcx
movq 0xa8(%rcx), %rcx
cvttss2si 0x48(%rcx), %ecx
subl %ecx, %eax
movl %eax, 0x3c(%rsp)
cvtsi2ssl 0x40(%rsp), %xmm0
movss %xmm0, 0x10(%rsp)
cvtsi2ssl 0x3c(%rsp), %xmm0
movss %xmm0, 0x14(%rsp)
cvtsi2ssl 0x38(%rsp), %xmm0
movss %xmm0, 0x18(%rsp)
cvtsi2ssl 0x34(%rsp), %xmm0
movss %xmm0, 0x1c(%rsp)
movq 0x48(%rsp), %rdi
movsd 0x10(%rsp), %xmm0
movsd 0x18(%rsp), %xmm1
leaq 0x351b6(%rip), %rdx     # 0xb1701
movl $0x1, %esi
movl $0x21, %ecx
callq 0x13220
movl %eax, 0xc(%rsp)
cmpl $0x0, 0xc(%rsp)
je 0x7c57d
movq 0x28(%rsp), %rax
movq 0xa8(%rax), %rax
movl 0x4(%rax), %ecx
andl $0xffffefff, %ecx       # imm = 0xFFFFEFFF
movl %ecx, 0x4(%rax)
movq 0x28(%rsp), %rax
movl $0x80, 0x128(%rax)
movq 0x48(%rsp), %rax
movq 0x4780(%rax), %rax
movq 0xa8(%rax), %rax
movl $0x80, (%rax)
movl 0xc(%rsp), %eax
movl %eax, 0x54(%rsp)
movl 0x54(%rsp), %eax
addq $0x58, %rsp
retq
nopw %cs:(%rax,%rax)