// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/./nuklear/nuklear.h
// Function: nk_group_scrolled_offset_begin
NK_API nk_bool
nk_group_scrolled_offset_begin(struct nk_context *ctx,
    nk_uint *x_offset, nk_uint *y_offset, const char *title, nk_flags flags)
{
    struct nk_rect bounds;
    struct nk_window panel;
    struct nk_window *win;

    win = ctx->current;
    nk_panel_alloc_space(&bounds, ctx);
    {const struct nk_rect *c = &win->layout->clip;
    if (!NK_INTERSECT(c->x, c->y, c->w, c->h, bounds.x, bounds.y, bounds.w, bounds.h) &&
        !(flags & NK_WINDOW_MOVABLE)) {
        return 0;
    }}
    if (win->flags & NK_WINDOW_ROM)
        flags |= NK_WINDOW_ROM;

    /* initialize a fake window to create the panel from */
    nk_zero(&panel, sizeof(panel));
    panel.bounds = bounds;
    panel.flags = flags;
    panel.scrollbar.x = *x_offset;
    panel.scrollbar.y = *y_offset;
    panel.buffer = win->buffer;
    panel.layout = (struct nk_panel*)nk_create_panel(ctx);
    ctx->current = &panel;
    nk_panel_begin(ctx, (flags & NK_WINDOW_TITLE) ? title: 0, NK_PANEL_GROUP);

    win->buffer = panel.buffer;
    win->buffer.clip = panel.layout->clip;
    panel.layout->offset_x = x_offset;
    panel.layout->offset_y = y_offset;
    panel.layout->parent = win->layout;
    win->layout = panel.layout;

    ctx->current = win;
    if ((panel.layout->flags & NK_WINDOW_CLOSED) ||
        (panel.layout->flags & NK_WINDOW_MINIMIZED))
    {
        nk_flags f = panel.layout->flags;
        nk_group_scrolled_end(ctx);
        if (f & NK_WINDOW_CLOSED)
            return NK_WINDOW_CLOSED;
        if (f & NK_WINDOW_MINIMIZED)
            return NK_WINDOW_MINIMIZED;
    }
    return 1;
}

// Assembly:
subq $0x248, %rsp            # imm = 0x248
movq %rdi, 0x238(%rsp)
movq %rsi, 0x230(%rsp)
movq %rdx, 0x228(%rsp)
movq %rcx, 0x220(%rsp)
movl %r8d, 0x21c(%rsp)
movq 0x238(%rsp), %rax
movq 0x4780(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x238(%rsp), %rsi
leaq 0x20c(%rsp), %rdi
callq 0x62030
movq 0x20(%rsp), %rax
movq 0xa8(%rax), %rax
addq $0x44, %rax
movq %rax, 0x18(%rsp)
movss 0x20c(%rsp), %xmm1
movq 0x18(%rsp), %rax
movss (%rax), %xmm0
movq 0x18(%rsp), %rax
addss 0x8(%rax), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x633a1
movq 0x18(%rsp), %rax
movss (%rax), %xmm1
movss 0x20c(%rsp), %xmm0
addss 0x214(%rsp), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x633a1
movss 0x210(%rsp), %xmm1
movq 0x18(%rsp), %rax
movss 0x4(%rax), %xmm0
movq 0x18(%rsp), %rax
addss 0xc(%rax), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x633a1
movq 0x18(%rsp), %rax
movss 0x4(%rax), %xmm1
movss 0x210(%rsp), %xmm0
addss 0x218(%rsp), %xmm0
ucomiss %xmm1, %xmm0
ja 0x633c0
movl 0x21c(%rsp), %eax
andl $0x2, %eax
cmpl $0x0, %eax
jne 0x633c0
movl $0x0, 0x244(%rsp)
jmp 0x635f2
movq 0x20(%rsp), %rax
movl 0x48(%rax), %eax
andl $0x1000, %eax           # imm = 0x1000
cmpl $0x0, %eax
je 0x633e5
movl 0x21c(%rsp), %eax
orl $0x1000, %eax           # imm = 0x1000
movl %eax, 0x21c(%rsp)
leaq 0x28(%rsp), %rdi
movl $0x1e0, %esi            # imm = 0x1E0
callq 0x2f0e0
movq 0x20c(%rsp), %rax
movq %rax, 0x74(%rsp)
movq 0x214(%rsp), %rax
movq %rax, 0x7c(%rsp)
movl 0x21c(%rsp), %eax
movl %eax, 0x70(%rsp)
movq 0x230(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x84(%rsp)
movq 0x228(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x88(%rsp)
leaq 0x28(%rsp), %rdi
addq $0x68, %rdi
movq 0x20(%rsp), %rsi
addq $0x68, %rsi
movl $0x40, %edx
callq 0x14160
movq 0x238(%rsp), %rdi
callq 0x55d00
movq %rax, 0xd0(%rsp)
movq 0x238(%rsp), %rax
leaq 0x28(%rsp), %rcx
movq %rcx, 0x4780(%rax)
movq 0x238(%rsp), %rax
movq %rax, 0x8(%rsp)
movl 0x21c(%rsp), %eax
andl $0x40, %eax
cmpl $0x0, %eax
je 0x634aa
movq 0x220(%rsp), %rax
movq %rax, (%rsp)
jmp 0x634b2
xorl %eax, %eax
movq %rax, (%rsp)
jmp 0x634b2
movq 0x8(%rsp), %rdi
movq (%rsp), %rsi
movl $0x2, %edx
callq 0x55d50
movq 0x20(%rsp), %rdi
addq $0x68, %rdi
leaq 0x28(%rsp), %rsi
addq $0x68, %rsi
movl $0x40, %edx
callq 0x14160
movq 0x20(%rsp), %rax
movq 0xd0(%rsp), %rcx
movq 0x44(%rcx), %rdx
movq %rdx, 0x70(%rax)
movq 0x4c(%rcx), %rcx
movq %rcx, 0x78(%rax)
movq 0x230(%rsp), %rcx
movq 0xd0(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x228(%rsp), %rcx
movq 0xd0(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x20(%rsp), %rax
movq 0xa8(%rax), %rcx
movq 0xd0(%rsp), %rax
movq %rcx, 0x1c8(%rax)
movq 0xd0(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0xa8(%rax)
movq 0x20(%rsp), %rcx
movq 0x238(%rsp), %rax
movq %rcx, 0x4780(%rax)
movq 0xd0(%rsp), %rax
movl 0x4(%rax), %eax
andl $0x4000, %eax           # imm = 0x4000
cmpl $0x0, %eax
jne 0x63593
movq 0xd0(%rsp), %rax
movl 0x4(%rax), %eax
andl $0x8000, %eax           # imm = 0x8000
cmpl $0x0, %eax
je 0x635e7
movq 0xd0(%rsp), %rax
movl 0x4(%rax), %eax
movl %eax, 0x14(%rsp)
movq 0x238(%rsp), %rdi
callq 0x13180
movl 0x14(%rsp), %eax
andl $0x4000, %eax           # imm = 0x4000
cmpl $0x0, %eax
je 0x635ca
movl $0x4000, 0x244(%rsp) # imm = 0x4000
jmp 0x635f2
movl 0x14(%rsp), %eax
andl $0x8000, %eax           # imm = 0x8000
cmpl $0x0, %eax
je 0x635e5
movl $0x8000, 0x244(%rsp) # imm = 0x8000
jmp 0x635f2
jmp 0x635e7
movl $0x1, 0x244(%rsp)
movl 0x244(%rsp), %eax
addq $0x248, %rsp            # imm = 0x248
retq
nopw %cs:(%rax,%rax)