// File: /workspace/github_c_makefile_star2_O1/stetre[P]moonnuklear/src/./nuklear/nuklear.h
// Function: nk_group_get_scroll
NK_API void
nk_group_get_scroll(struct nk_context *ctx, const char *id, nk_uint *x_offset, nk_uint *y_offset)
{
    int id_len;
    nk_hash id_hash;
    struct nk_window *win;
    nk_uint *x_offset_ptr;
    nk_uint *y_offset_ptr;

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

    /* find persistent group scrollbar value */
    win = ctx->current;
    id_len = (int)nk_strlen(id);
    id_hash = nk_murmur_hash(id, (int)id_len, NK_PANEL_GROUP);
    x_offset_ptr = nk_find_value(win, id_hash);
    if (!x_offset_ptr) {
        x_offset_ptr = nk_add_value(ctx, win, id_hash, 0);
        y_offset_ptr = nk_add_value(ctx, win, id_hash+1, 0);

        NK_ASSERT(x_offset_ptr);
        NK_ASSERT(y_offset_ptr);
        if (!x_offset_ptr || !y_offset_ptr) return;
        *x_offset_ptr = *y_offset_ptr = 0;
    } else y_offset_ptr = nk_find_value(win, id_hash+1);
    if (x_offset)
      *x_offset = *x_offset_ptr;
    if (y_offset)
      *y_offset = *y_offset_ptr;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rcx, %rbx
movq %rdx, %r14
movq %rsi, %r12
movq %rdi, %r15
testq %rdi, %rdi
jne 0x44429
movq 0x43bee(%rip), %r13     # 0x87ff0
movq (%r13), %rdi
leaq 0x2d97f(%rip), %rsi     # 0x71d8c
leaq 0x2d996(%rip), %rdx     # 0x71daa
movl $0x59ca, %ecx           # imm = 0x59CA
xorl %eax, %eax
callq 0x12d80
movq (%r13), %rdi
callq 0x13780
testq %r12, %r12
jne 0x4445c
movq 0x43bbb(%rip), %r13     # 0x87ff0
movq (%r13), %rdi
leaq 0x2d94c(%rip), %rsi     # 0x71d8c
leaq 0x2d963(%rip), %rdx     # 0x71daa
movl $0x59cb, %ecx           # imm = 0x59CB
xorl %eax, %eax
callq 0x12d80
movq (%r13), %rdi
callq 0x13780
cmpq $0x0, 0x4780(%r15)
jne 0x44494
movq 0x43b83(%rip), %r13     # 0x87ff0
movq (%r13), %rdi
leaq 0x2d914(%rip), %rsi     # 0x71d8c
leaq 0x2d92b(%rip), %rdx     # 0x71daa
movl $0x59cc, %ecx           # imm = 0x59CC
xorl %eax, %eax
callq 0x12d80
movq (%r13), %rdi
callq 0x13780
movq 0x4780(%r15), %rax
cmpq $0x0, 0xa8(%rax)
jne 0x444d3
movq 0x43b44(%rip), %r13     # 0x87ff0
movq (%r13), %rdi
leaq 0x2d8d5(%rip), %rsi     # 0x71d8c
leaq 0x2d8ec(%rip), %rdx     # 0x71daa
movl $0x59cd, %ecx           # imm = 0x59CD
xorl %eax, %eax
callq 0x12d80
movq (%r13), %rdi
callq 0x13780
testq %r15, %r15
je 0x446c6
movq 0x4780(%r15), %r13
testq %r13, %r13
je 0x446c6
testq %r12, %r12
je 0x446c6
cmpq $0x0, 0xa8(%r13)
je 0x446c6
cmpb $0x0, (%r12)
je 0x4451a
xorl %esi, %esi
cmpb $0x0, 0x1(%r12,%rsi)
leaq 0x1(%rsi), %rsi
jne 0x4450c
jmp 0x4451c
xorl %esi, %esi
movq %r12, %rdi
movl $0x2, %edx
callq 0x12560
movl %eax, %ebp
movq 0x1b8(%r13), %rax
movq %rax, %rcx
testq %rcx, %rcx
je 0x44597
movl 0x4(%rcx), %esi
testq %rsi, %rsi
setne %dl
je 0x4458a
cmpl %ebp, 0x8(%rcx)
jne 0x44550
movb $0x1, %dl
xorl %edi, %edi
jmp 0x4456e
leaq -0x1(%rsi), %r8
xorl %edx, %edx
cmpq %rdx, %r8
je 0x44581
leaq 0x1(%rdx), %rdi
cmpl %ebp, 0xc(%rcx,%rdx,4)
movq %rdi, %rdx
jne 0x44556
cmpq %rsi, %rdi
setb %dl
movl (%r13), %esi
movl %esi, (%rcx)
leaq (%rcx,%rdi,4), %r12
addq $0xf8, %r12
jmp 0x44591
incq %rdx
cmpq %rsi, %rdx
setb %dl
movq 0x1e8(%rcx), %rcx
testb %dl, %dl
je 0x44535
jmp 0x4459a
xorl %r12d, %r12d
testq %r12, %r12
je 0x4460a
incl %ebp
testq %rax, %rax
je 0x446ad
movl 0x4(%rax), %edx
testq %rdx, %rdx
setne %cl
je 0x445fa
cmpl %ebp, 0x8(%rax)
jne 0x445c0
movb $0x1, %cl
xorl %esi, %esi
jmp 0x445de
leaq -0x1(%rdx), %rdi
xorl %ecx, %ecx
cmpq %rcx, %rdi
je 0x445f1
leaq 0x1(%rcx), %rsi
cmpl %ebp, 0xc(%rax,%rcx,4)
movq %rsi, %rcx
jne 0x445c6
cmpq %rdx, %rsi
setb %cl
movl (%r13), %edx
movl %edx, (%rax)
leaq (%rax,%rsi,4), %r15
addq $0xf8, %r15
jmp 0x44601
incq %rcx
cmpq %rdx, %rcx
setb %cl
movq 0x1e8(%rax), %rax
testb %cl, %cl
je 0x445a1
jmp 0x446b0
movq %r15, %rdi
movq %r13, %rsi
movl %ebp, %edx
callq 0x441e0
movq %rax, %r12
incl %ebp
movq %r15, %rdi
movq %r13, %rsi
movl %ebp, %edx
callq 0x441e0
movq %rax, %r15
testq %r12, %r12
jne 0x4465f
movq 0x439b8(%rip), %r13     # 0x87ff0
movq (%r13), %rdi
leaq 0x2d749(%rip), %rsi     # 0x71d8c
leaq 0x2d760(%rip), %rdx     # 0x71daa
movl $0x59da, %ecx           # imm = 0x59DA
xorl %eax, %eax
callq 0x12d80
movq (%r13), %rdi
callq 0x13780
testq %r15, %r15
jne 0x44692
movq 0x43985(%rip), %r13     # 0x87ff0
movq (%r13), %rdi
leaq 0x2d716(%rip), %rsi     # 0x71d8c
leaq 0x2d72d(%rip), %rdx     # 0x71daa
movl $0x59db, %ecx           # imm = 0x59DB
xorl %eax, %eax
callq 0x12d80
movq (%r13), %rdi
callq 0x13780
testq %r15, %r15
sete %al
testq %r12, %r12
sete %cl
orb %al, %cl
jne 0x446c6
xorl %eax, %eax
movl %eax, (%r15)
movl %eax, (%r12)
jmp 0x446b0
xorl %r15d, %r15d
testq %r14, %r14
je 0x446bc
movl (%r12), %eax
movl %eax, (%r14)
testq %rbx, %rbx
je 0x446c6
movl (%r15), %eax
movl %eax, (%rbx)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq