// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/./nuklear/nuklear.h
// Function: nk_insert_window
NK_LIB void
nk_insert_window(struct nk_context *ctx, struct nk_window *win,
    enum nk_window_insert_location loc)
{
    const struct nk_window *iter;
    NK_ASSERT(ctx);
    NK_ASSERT(win);
    if (!win || !ctx) return;

    iter = ctx->begin;
    while (iter) {
        NK_ASSERT(iter != iter->next);
        NK_ASSERT(iter != win);
        if (iter == win) return;
        iter = iter->next;
    }

    if (!ctx->begin) {
        win->next = 0;
        win->prev = 0;
        ctx->begin = win;
        ctx->end = win;
        ctx->count = 1;
        return;
    }
    if (loc == NK_INSERT_BACK) {
        struct nk_window *end;
        end = ctx->end;
        end->flags |= NK_WINDOW_ROM;
        end->next = win;
        win->prev = ctx->end;
        win->next = 0;
        ctx->end = win;
        ctx->active = ctx->end;
        ctx->end->flags &= ~(nk_flags)NK_WINDOW_ROM;
    } else {
        /*ctx->end->flags |= NK_WINDOW_ROM;*/
        ctx->begin->prev = win;
        win->next = ctx->begin;
        win->prev = 0;
        ctx->begin = win;
        ctx->begin->flags &= ~(nk_flags)NK_WINDOW_ROM;
    }
    ctx->count++;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movl %edx, 0x14(%rsp)
cmpq $0x0, 0x20(%rsp)
jne 0x5588d
movq 0x6f78f(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x5bb35(%rip), %rsi     # 0xb13a0
leaq 0x5bb4c(%rip), %rdx     # 0xb13be
movl $0x4f3a, %ecx           # imm = 0x4F3A
movb $0x0, %al
callq 0x13ec0
movq 0x6f76b(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x5588f
jmp 0x55891
cmpq $0x0, 0x18(%rsp)
jne 0x558cc
movq 0x6f750(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x5baf6(%rip), %rsi     # 0xb13a0
leaq 0x5bb0d(%rip), %rdx     # 0xb13be
movl $0x4f3b, %ecx           # imm = 0x4F3B
movb $0x0, %al
callq 0x13ec0
movq 0x6f72c(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x558ce
cmpq $0x0, 0x18(%rsp)
je 0x558de
cmpq $0x0, 0x20(%rsp)
jne 0x558e3
jmp 0x55b3c
movq 0x20(%rsp), %rax
movq 0x4768(%rax), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x559b4
jmp 0x55902
movq 0x8(%rsp), %rax
movq 0x8(%rsp), %rcx
cmpq 0x1c8(%rcx), %rax
jne 0x55948
movq 0x6f6d4(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x5ba7a(%rip), %rsi     # 0xb13a0
leaq 0x5ba91(%rip), %rdx     # 0xb13be
movl $0x4f40, %ecx           # imm = 0x4F40
movb $0x0, %al
callq 0x13ec0
movq 0x6f6b0(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x5594a
jmp 0x5594c
movq 0x8(%rsp), %rax
cmpq 0x18(%rsp), %rax
jne 0x5598b
movq 0x6f691(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x5ba37(%rip), %rsi     # 0xb13a0
leaq 0x5ba4e(%rip), %rdx     # 0xb13be
movl $0x4f41, %ecx           # imm = 0x4F41
movb $0x0, %al
callq 0x13ec0
movq 0x6f66d(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x5598d
movq 0x8(%rsp), %rax
cmpq 0x18(%rsp), %rax
jne 0x5599e
jmp 0x55b3c
movq 0x8(%rsp), %rax
movq 0x1c8(%rax), %rax
movq %rax, 0x8(%rsp)
jmp 0x558f4
movq 0x20(%rsp), %rax
cmpq $0x0, 0x4768(%rax)
jne 0x55a19
movq 0x18(%rsp), %rax
movq $0x0, 0x1c8(%rax)
movq 0x18(%rsp), %rax
movq $0x0, 0x1d0(%rax)
movq 0x18(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x4768(%rax)
movq 0x18(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x4770(%rax)
movq 0x20(%rsp), %rax
movl $0x1, 0x4790(%rax)
jmp 0x55b3c
cmpl $0x0, 0x14(%rsp)
jne 0x55abf
movq 0x20(%rsp), %rax
movq 0x4770(%rax), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
movl 0x48(%rax), %ecx
orl $0x1000, %ecx           # imm = 0x1000
movl %ecx, 0x48(%rax)
movq 0x18(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x1c8(%rax)
movq 0x20(%rsp), %rax
movq 0x4770(%rax), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x1d0(%rax)
movq 0x18(%rsp), %rax
movq $0x0, 0x1c8(%rax)
movq 0x18(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x4770(%rax)
movq 0x20(%rsp), %rax
movq 0x4770(%rax), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x4778(%rax)
movq 0x20(%rsp), %rax
movq 0x4770(%rax), %rax
movl 0x48(%rax), %ecx
andl $0xffffefff, %ecx       # imm = 0xFFFFEFFF
movl %ecx, 0x48(%rax)
jmp 0x55b28
movq 0x18(%rsp), %rcx
movq 0x20(%rsp), %rax
movq 0x4768(%rax), %rax
movq %rcx, 0x1d0(%rax)
movq 0x20(%rsp), %rax
movq 0x4768(%rax), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x1c8(%rax)
movq 0x18(%rsp), %rax
movq $0x0, 0x1d0(%rax)
movq 0x18(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x4768(%rax)
movq 0x20(%rsp), %rax
movq 0x4768(%rax), %rax
movl 0x48(%rax), %ecx
andl $0xffffefff, %ecx       # imm = 0xFFFFEFFF
movl %ecx, 0x48(%rax)
movq 0x20(%rsp), %rax
movl 0x4790(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x4790(%rax)
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)