// File: /workspace/github_c_makefile_star2_O3/stetre[P]moonnuklear/src/./nuklear/nuklear.h
// Function: nk__begin
NK_API const struct nk_command*
nk__begin(struct nk_context *ctx)
{
    struct nk_window *iter;
    nk_byte *buffer;
    NK_ASSERT(ctx);
    if (!ctx) return 0;
    if (!ctx->count) return 0;

    buffer = (nk_byte*)ctx->memory.memory.ptr;
    if (!ctx->build) {
        nk_build(ctx);
        ctx->build = nk_true;
    }
    iter = ctx->begin;
    while (iter && ((iter->buffer.begin == iter->buffer.end) ||
        (iter->flags & NK_WINDOW_HIDDEN) || iter->seq != ctx->seq))
        iter = iter->next;
    if (!iter) return 0;
    return nk_ptr_add_const(struct nk_command, buffer, iter->buffer.begin);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
testq %rdi, %rdi
je 0x2c412
movq %rdi, %rbx
cmpl $0x0, 0x4790(%rdi)
je 0x2c620
movq 0x2548(%rbx), %r15
cmpl $0x0, 0x4718(%rbx)
je 0x2c446
movq 0x4768(%rbx), %rax
jmp 0x2c5ea
movq 0x5abd7(%rip), %rbx     # 0x86ff0
movq (%rbx), %rdi
leaq 0x44979(%rip), %rsi     # 0x70d9c
leaq 0x44990(%rip), %rdx     # 0x70dba
xorl %r14d, %r14d
movl $0x4b8e, %ecx           # imm = 0x4B8E
xorl %eax, %eax
callq 0x12d80
movq (%rbx), %rdi
callq 0x13780
jmp 0x2c623
movq 0x1a8(%rbx), %rsi
testq %rsi, %rsi
jne 0x2c46c
movq 0x170(%rbx), %rsi
movq %rsi, 0x1a8(%rbx)
movq %r15, %rcx
testq %rsi, %rsi
je 0x2c505
cmpb $0x0, 0x165(%rbx)
movq %r15, %rcx
jne 0x2c505
cmpl $0x0, 0x1b8(%rbx)
movq %r15, %rcx
je 0x2c505
leaq 0x46d8(%rbx), %rdi
leaq 0x2508(%rbx), %rax
movq %rax, 0x46d8(%rbx)
movl $0x0, 0x46f0(%rbx)
movq 0x2560(%rbx), %rax
movq %rax, 0x4700(%rbx)
movq %rax, 0x4708(%rbx)
movq %rax, 0x4710(%rbx)
movups 0x413c6(%rip), %xmm0    # 0x6d890
movups %xmm0, 0x46e0(%rbx)
movsd 0x144(%rbx), %xmm0
movsd 0x18(%rsi), %xmm1
movsd 0x20(%rsi), %xmm2
subps %xmm2, %xmm0
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x134d0
movq 0x2548(%rbx), %rcx
movq 0x2560(%rbx), %rax
movq %rax, 0x4708(%rbx)
movq 0x4768(%rbx), %rax
testq %rax, %rax
je 0x2c5e0
xorl %edi, %edi
movq %rax, %r8
movq 0xa0(%r8), %rdx
movq 0x1c8(%r8), %rsi
cmpq 0x90(%r8), %rdx
je 0x2c570
testb $0x20, 0x49(%r8)
jne 0x2c570
movl (%r8), %r8d
cmpl 0x4794(%rbx), %r8d
jne 0x2c570
addq %rcx, %rdx
testq %rsi, %rsi
je 0x2c586
movq 0x90(%rsi), %rdi
cmpq %rdi, 0xa0(%rsi)
je 0x2c567
testb $0x20, 0x49(%rsi)
jne 0x2c567
cmpl %r8d, (%rsi)
je 0x2c580
movq 0x1c8(%rsi), %rsi
jmp 0x2c547
movq %rdi, %rdx
movq %rsi, %r8
movq %rdx, %rdi
testq %rsi, %rsi
jne 0x2c51a
jmp 0x2c586
movq %rdi, 0x8(%rdx)
jmp 0x2c573
movq %rax, %rsi
movq 0x1c8(%rsi), %rdi
cmpl $0x0, 0x150(%rsi)
je 0x2c5b8
movq 0x130(%rsi), %r8
movq %r8, 0x8(%rdx)
movq 0x140(%rsi), %rdx
addq %rcx, %rdx
movl $0x0, 0x150(%rsi)
movq %rdi, %rsi
testq %rdi, %rdi
jne 0x2c589
testq %rdx, %rdx
je 0x2c5e0
movq 0x4700(%rbx), %rcx
cmpq %rcx, 0x4708(%rbx)
jne 0x2c5dc
movq 0x2560(%rbx), %rcx
movq %rcx, 0x8(%rdx)
movl $0x1, 0x4718(%rbx)
testq %rax, %rax
je 0x2c620
xorl %r14d, %r14d
movq 0x90(%rax), %rcx
cmpq 0x98(%rax), %rcx
je 0x2c612
testb $0x20, 0x49(%rax)
jne 0x2c612
movl (%rax), %edx
cmpl 0x4794(%rbx), %edx
je 0x2c62c
movq 0x1c8(%rax), %rax
testq %rax, %rax
jne 0x2c5f2
jmp 0x2c623
xorl %r14d, %r14d
movq %r14, %rax
popq %rbx
popq %r14
popq %r15
retq
addq %rcx, %r15
movq %r15, %r14
jmp 0x2c623