// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/./nuklear/nuklear.h
// Function: nk_begin_titled
NK_API nk_bool
nk_begin_titled(struct nk_context *ctx, const char *name, const char *title,
    struct nk_rect bounds, nk_flags flags)
{
    struct nk_window *win;
    struct nk_style *style;
    nk_hash name_hash;
    int name_len;
    int ret = 0;

    NK_ASSERT(ctx);
    NK_ASSERT(name);
    NK_ASSERT(title);
    NK_ASSERT(ctx->style.font && ctx->style.font->width && "if this triggers you forgot to add a font");
    NK_ASSERT(!ctx->current && "if this triggers you missed a `nk_end` call");
    if (!ctx || ctx->current || !title || !name)
        return 0;

    /* find or create window */
    style = &ctx->style;
    name_len = (int)nk_strlen(name);
    name_hash = nk_murmur_hash(name, (int)name_len, NK_WINDOW_TITLE);
    win = nk_find_window(ctx, name_hash, name);
    if (!win) {
        /* create new window */
        nk_size name_length = (nk_size)name_len;
        win = (struct nk_window*)nk_create_window(ctx);
        NK_ASSERT(win);
        if (!win) return 0;

        if (flags & NK_WINDOW_BACKGROUND)
            nk_insert_window(ctx, win, NK_INSERT_FRONT);
        else nk_insert_window(ctx, win, NK_INSERT_BACK);
        nk_command_buffer_init(&win->buffer, &ctx->memory, NK_CLIPPING_ON);

        win->flags = flags;
        win->bounds = bounds;
        win->name = name_hash;
        name_length = NK_MIN(name_length, NK_WINDOW_MAX_NAME-1);
        NK_MEMCPY(win->name_string, name, name_length);
        win->name_string[name_length] = 0;
        win->popup.win = 0;
        win->widgets_disabled = nk_false;
        if (!ctx->active)
            ctx->active = win;
    } else {
        /* update window */
        win->flags &= ~(nk_flags)(NK_WINDOW_PRIVATE-1);
        win->flags |= flags;
        if (!(win->flags & (NK_WINDOW_MOVABLE | NK_WINDOW_SCALABLE)))
            win->bounds = bounds;
        /* If this assert triggers you either:
         *
         * I.) Have more than one window with the same name or
         * II.) You forgot to actually draw the window.
         *      More specific you did not call `nk_clear` (nk_clear will be
         *      automatically called for you if you are using one of the
         *      provided demo backends). */
        NK_ASSERT(win->seq != ctx->seq);
        win->seq = ctx->seq;
        if (!ctx->active && !(win->flags & NK_WINDOW_HIDDEN)) {
            ctx->active = win;
            ctx->end = win;
        }
    }
    if (win->flags & NK_WINDOW_HIDDEN) {
        ctx->current = win;
        win->layout = 0;
        return 0;
    } else nk_start(ctx, win);

    /* window overlapping */
    if (!(win->flags & NK_WINDOW_HIDDEN) && !(win->flags & NK_WINDOW_NO_INPUT))
    {
        int inpanel, ishovered;
        struct nk_window *iter = win;
        float h = ctx->style.font->height + 2.0f * style->window.header.padding.y +
            (2.0f * style->window.header.label_padding.y);
        struct nk_rect win_bounds = (!(win->flags & NK_WINDOW_MINIMIZED))?
            win->bounds: nk_rect(win->bounds.x, win->bounds.y, win->bounds.w, h);

        /* activate window if hovered and no other window is overlapping this window */
        inpanel = nk_input_has_mouse_click_down_in_rect(&ctx->input, NK_BUTTON_LEFT, win_bounds, nk_true);
        inpanel = inpanel && ctx->input.mouse.buttons[NK_BUTTON_LEFT].clicked;
        ishovered = nk_input_is_mouse_hovering_rect(&ctx->input, win_bounds);
        if ((win != ctx->active) && ishovered && !ctx->input.mouse.buttons[NK_BUTTON_LEFT].down) {
            iter = win->next;
            while (iter) {
                struct nk_rect iter_bounds = (!(iter->flags & NK_WINDOW_MINIMIZED))?
                    iter->bounds: nk_rect(iter->bounds.x, iter->bounds.y, iter->bounds.w, h);
                if (NK_INTERSECT(win_bounds.x, win_bounds.y, win_bounds.w, win_bounds.h,
                    iter_bounds.x, iter_bounds.y, iter_bounds.w, iter_bounds.h) &&
                    (!(iter->flags & NK_WINDOW_HIDDEN)))
                    break;

                if (iter->popup.win && iter->popup.active && !(iter->flags & NK_WINDOW_HIDDEN) &&
                    NK_INTERSECT(win->bounds.x, win_bounds.y, win_bounds.w, win_bounds.h,
                    iter->popup.win->bounds.x, iter->popup.win->bounds.y,
                    iter->popup.win->bounds.w, iter->popup.win->bounds.h))
                    break;
                iter = iter->next;
            }
        }

        /* activate window if clicked */
        if (iter && inpanel && (win != ctx->end)) {
            iter = win->next;
            while (iter) {
                /* try to find a panel with higher priority in the same position */
                struct nk_rect iter_bounds = (!(iter->flags & NK_WINDOW_MINIMIZED))?
                iter->bounds: nk_rect(iter->bounds.x, iter->bounds.y, iter->bounds.w, h);
                if (NK_INBOX(ctx->input.mouse.pos.x, ctx->input.mouse.pos.y,
                    iter_bounds.x, iter_bounds.y, iter_bounds.w, iter_bounds.h) &&
                    !(iter->flags & NK_WINDOW_HIDDEN))
                    break;
                if (iter->popup.win && iter->popup.active && !(iter->flags & NK_WINDOW_HIDDEN) &&
                    NK_INTERSECT(win_bounds.x, win_bounds.y, win_bounds.w, win_bounds.h,
                    iter->popup.win->bounds.x, iter->popup.win->bounds.y,
                    iter->popup.win->bounds.w, iter->popup.win->bounds.h))
                    break;
                iter = iter->next;
            }
        }
        if (iter && !(win->flags & NK_WINDOW_ROM) && (win->flags & NK_WINDOW_BACKGROUND)) {
            win->flags |= (nk_flags)NK_WINDOW_ROM;
            iter->flags &= ~(nk_flags)NK_WINDOW_ROM;
            ctx->active = iter;
            if (!(iter->flags & NK_WINDOW_BACKGROUND)) {
                /* current window is active in that position so transfer to top
                 * at the highest priority in stack */
                nk_remove_window(ctx, iter);
                nk_insert_window(ctx, iter, NK_INSERT_BACK);
            }
        } else {
            if (!iter && ctx->end != win) {
                if (!(win->flags & NK_WINDOW_BACKGROUND)) {
                    /* current window is active in that position so transfer to top
                     * at the highest priority in stack */
                    nk_remove_window(ctx, win);
                    nk_insert_window(ctx, win, NK_INSERT_BACK);
                }
                win->flags &= ~(nk_flags)NK_WINDOW_ROM;
                ctx->active = win;
            }
            if (ctx->end != win && !(win->flags & NK_WINDOW_BACKGROUND))
                win->flags |= NK_WINDOW_ROM;
        }
    }
    win->layout = (struct nk_panel*)nk_create_panel(ctx);
    ctx->current = win;
    ret = nk_panel_begin(ctx, title, NK_PANEL_WINDOW);
    win->layout->offset_x = &win->scrollbar.x;
    win->layout->offset_y = &win->scrollbar.y;
    return ret;
}

// Assembly:
subq $0xb8, %rsp
movlpd %xmm0, 0xa4(%rsp)
movlpd %xmm1, 0xac(%rsp)
movq %rdi, 0x98(%rsp)
movq %rsi, 0x90(%rsp)
movq %rdx, 0x88(%rsp)
movl %ecx, 0x84(%rsp)
movl $0x0, 0x64(%rsp)
cmpq $0x0, 0x98(%rsp)
jne 0x54a8e
movq 0x7058e(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x5c934(%rip), %rsi     # 0xb13a0
leaq 0x5c94b(%rip), %rdx     # 0xb13be
movl $0x4f8f, %ecx           # imm = 0x4F8F
movb $0x0, %al
callq 0x13ec0
movq 0x7056a(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x54a90
jmp 0x54a92
cmpq $0x0, 0x90(%rsp)
jne 0x54ad0
movq 0x7054c(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x5c8f2(%rip), %rsi     # 0xb13a0
leaq 0x5c909(%rip), %rdx     # 0xb13be
movl $0x4f90, %ecx           # imm = 0x4F90
movb $0x0, %al
callq 0x13ec0
movq 0x70528(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x54ad2
jmp 0x54ad4
cmpq $0x0, 0x88(%rsp)
jne 0x54b12
movq 0x7050a(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x5c8b0(%rip), %rsi     # 0xb13a0
leaq 0x5c8c7(%rip), %rdx     # 0xb13be
movl $0x4f91, %ecx           # imm = 0x4F91
movb $0x0, %al
callq 0x13ec0
movq 0x704e6(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x54b14
jmp 0x54b16
movq 0x98(%rsp), %rax
cmpq $0x0, 0x168(%rax)
je 0x54b46
movq 0x98(%rsp), %rax
movq 0x168(%rax), %rax
cmpq $0x0, 0x10(%rax)
je 0x54b46
movb $0x1, %al
testb $0x1, %al
jne 0x54b79
jmp 0x54b46
movq 0x704a3(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x5c849(%rip), %rsi     # 0xb13a0
leaq 0x5c860(%rip), %rdx     # 0xb13be
movl $0x4f92, %ecx           # imm = 0x4F92
movb $0x0, %al
callq 0x13ec0
movq 0x7047f(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x54b7b
jmp 0x54b7d
movq 0x98(%rsp), %rax
cmpq $0x0, 0x4780(%rax)
jne 0x54b97
movb $0x1, %al
testb $0x1, %al
jne 0x54bca
jmp 0x54b97
movq 0x70452(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x5c7f8(%rip), %rsi     # 0xb13a0
leaq 0x5c80f(%rip), %rdx     # 0xb13be
movl $0x4f93, %ecx           # imm = 0x4F93
movb $0x0, %al
callq 0x13ec0
movq 0x7042e(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x54bcc
cmpq $0x0, 0x98(%rsp)
je 0x54bff
movq 0x98(%rsp), %rax
cmpq $0x0, 0x4780(%rax)
jne 0x54bff
cmpq $0x0, 0x88(%rsp)
je 0x54bff
cmpq $0x0, 0x90(%rsp)
jne 0x54c0f
movl $0x0, 0xb4(%rsp)
jmp 0x556ee
movq 0x98(%rsp), %rax
addq $0x168, %rax            # imm = 0x168
movq %rax, 0x70(%rsp)
movq 0x90(%rsp), %rdi
callq 0x14050
movl %eax, 0x68(%rsp)
movq 0x90(%rsp), %rdi
movl 0x68(%rsp), %esi
movl $0x40, %edx
callq 0x135e0
movl %eax, 0x6c(%rsp)
movq 0x98(%rsp), %rdi
movl 0x6c(%rsp), %esi
movq 0x90(%rsp), %rdx
callq 0x55700
movq %rax, 0x78(%rsp)
cmpq $0x0, 0x78(%rsp)
jne 0x54e1e
movslq 0x68(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0x98(%rsp), %rdi
callq 0x557f0
movq %rax, 0x78(%rsp)
cmpq $0x0, 0x78(%rsp)
jne 0x54cce
movq 0x7034e(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x5c6f4(%rip), %rsi     # 0xb13a0
leaq 0x5c70b(%rip), %rdx     # 0xb13be
movl $0x4fa0, %ecx           # imm = 0x4FA0
movb $0x0, %al
callq 0x13ec0
movq 0x7032a(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x54cd0
cmpq $0x0, 0x78(%rsp)
jne 0x54ce8
movl $0x0, 0xb4(%rsp)
jmp 0x556ee
movl 0x84(%rsp), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
je 0x54d12
movq 0x98(%rsp), %rdi
movq 0x78(%rsp), %rsi
movl $0x1, %edx
callq 0x55840
jmp 0x54d26
movq 0x98(%rsp), %rdi
movq 0x78(%rsp), %rsi
xorl %edx, %edx
callq 0x55840
movq 0x78(%rsp), %rdi
addq $0x68, %rdi
movq 0x98(%rsp), %rsi
addq $0x2508, %rsi           # imm = 0x2508
movl $0x1, %edx
callq 0x55b50
movl 0x84(%rsp), %ecx
movq 0x78(%rsp), %rax
movl %ecx, 0x48(%rax)
movq 0x78(%rsp), %rax
movq 0xa4(%rsp), %rcx
movq %rcx, 0x4c(%rax)
movq 0xac(%rsp), %rcx
movq %rcx, 0x54(%rax)
movl 0x6c(%rsp), %ecx
movq 0x78(%rsp), %rax
movl %ecx, 0x4(%rax)
cmpq $0x3f, 0x58(%rsp)
jae 0x54d94
movq 0x58(%rsp), %rax
movq %rax, 0x8(%rsp)
jmp 0x54da0
movl $0x3f, %eax
movq %rax, 0x8(%rsp)
jmp 0x54da0
movq 0x8(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0x78(%rsp), %rdi
addq $0x8, %rdi
movq 0x90(%rsp), %rsi
movq 0x58(%rsp), %rdx
callq 0x2f750
movq 0x78(%rsp), %rax
movq 0x58(%rsp), %rcx
movb $0x0, 0x8(%rax,%rcx)
movq 0x78(%rsp), %rax
movq $0x0, 0x120(%rax)
movq 0x78(%rsp), %rax
movl $0x0, 0x1b0(%rax)
movq 0x98(%rsp), %rax
cmpq $0x0, 0x4778(%rax)
jne 0x54e19
movq 0x78(%rsp), %rcx
movq 0x98(%rsp), %rax
movq %rcx, 0x4778(%rax)
jmp 0x54f1f
movq 0x78(%rsp), %rax
movl 0x48(%rax), %ecx
andl $0xfffff800, %ecx       # imm = 0xFFFFF800
movl %ecx, 0x48(%rax)
movl 0x84(%rsp), %ecx
movq 0x78(%rsp), %rax
orl 0x48(%rax), %ecx
movl %ecx, 0x48(%rax)
movq 0x78(%rsp), %rax
movl 0x48(%rax), %eax
andl $0x6, %eax
cmpl $0x0, %eax
jne 0x54e6e
movq 0x78(%rsp), %rax
movq 0xa4(%rsp), %rcx
movq %rcx, 0x4c(%rax)
movq 0xac(%rsp), %rcx
movq %rcx, 0x54(%rax)
jmp 0x54e70
movq 0x78(%rsp), %rax
movl (%rax), %eax
movq 0x98(%rsp), %rcx
cmpl 0x4794(%rcx), %eax
jne 0x54eba
movq 0x70162(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x5c508(%rip), %rsi     # 0xb13a0
leaq 0x5c51f(%rip), %rdx     # 0xb13be
movl $0x4fbf, %ecx           # imm = 0x4FBF
movb $0x0, %al
callq 0x13ec0
movq 0x7013e(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x54ebc
movq 0x98(%rsp), %rax
movl 0x4794(%rax), %ecx
movq 0x78(%rsp), %rax
movl %ecx, (%rax)
movq 0x98(%rsp), %rax
cmpq $0x0, 0x4778(%rax)
jne 0x54f1d
movq 0x78(%rsp), %rax
movl 0x48(%rax), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
jne 0x54f1d
movq 0x78(%rsp), %rcx
movq 0x98(%rsp), %rax
movq %rcx, 0x4778(%rax)
movq 0x78(%rsp), %rcx
movq 0x98(%rsp), %rax
movq %rcx, 0x4770(%rax)
jmp 0x54f1f
movq 0x78(%rsp), %rax
movl 0x48(%rax), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
je 0x54f65
movq 0x78(%rsp), %rcx
movq 0x98(%rsp), %rax
movq %rcx, 0x4780(%rax)
movq 0x78(%rsp), %rax
movq $0x0, 0xa8(%rax)
movl $0x0, 0xb4(%rsp)
jmp 0x556ee
movq 0x98(%rsp), %rdi
movq 0x78(%rsp), %rsi
callq 0x55c50
movq 0x78(%rsp), %rax
movl 0x48(%rax), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
jne 0x5565f
movq 0x78(%rsp), %rax
movl 0x48(%rax), %eax
andl $0x400, %eax            # imm = 0x400
cmpl $0x0, %eax
jne 0x5565f
movq 0x78(%rsp), %rax
movq %rax, 0x48(%rsp)
movq 0x98(%rsp), %rax
movq 0x168(%rax), %rax
movss 0x8(%rax), %xmm0
movq 0x70(%rsp), %rax
movss 0x22a0(%rax), %xmm1
addss %xmm1, %xmm1
addss %xmm0, %xmm1
movq 0x70(%rsp), %rax
movss 0x22a8(%rax), %xmm0
addss %xmm0, %xmm0
addss %xmm1, %xmm0
movss %xmm0, 0x44(%rsp)
movq 0x78(%rsp), %rax
movl 0x48(%rax), %eax
andl $0x8000, %eax           # imm = 0x8000
cmpl $0x0, %eax
jne 0x5501c
movq 0x78(%rsp), %rax
movq 0x4c(%rax), %rcx
movq %rcx, 0x34(%rsp)
movq 0x54(%rax), %rax
movq %rax, 0x3c(%rsp)
jmp 0x55047
movq 0x78(%rsp), %rax
movss 0x4c(%rax), %xmm0
movss 0x50(%rax), %xmm1
movss 0x54(%rax), %xmm2
movss 0x44(%rsp), %xmm3
callq 0x151a0
movlpd %xmm0, 0x34(%rsp)
movlpd %xmm1, 0x3c(%rsp)
movq 0x98(%rsp), %rdi
movsd 0x34(%rsp), %xmm0
movsd 0x3c(%rsp), %xmm1
xorl %eax, %eax
xorl %esi, %esi
movl $0x1, %edx
callq 0x13780
movl %eax, 0x54(%rsp)
xorl %eax, %eax
cmpl $0x0, 0x54(%rsp)
movb %al, 0x7(%rsp)
je 0x55090
movq 0x98(%rsp), %rax
cmpl $0x0, 0x108(%rax)
setne %al
movb %al, 0x7(%rsp)
movb 0x7(%rsp), %al
movzbl %al, %eax
andl $0x1, %eax
movl %eax, 0x54(%rsp)
movq 0x98(%rsp), %rdi
movsd 0x34(%rsp), %xmm0
movsd 0x3c(%rsp), %xmm1
callq 0x15440
movl %eax, 0x50(%rsp)
movq 0x78(%rsp), %rax
movq 0x98(%rsp), %rcx
cmpq 0x4778(%rcx), %rax
je 0x552da
cmpl $0x0, 0x50(%rsp)
je 0x552da
movq 0x98(%rsp), %rax
cmpl $0x0, 0x104(%rax)
jne 0x552da
movq 0x78(%rsp), %rax
movq 0x1c8(%rax), %rax
movq %rax, 0x48(%rsp)
cmpq $0x0, 0x48(%rsp)
je 0x552d8
movq 0x48(%rsp), %rax
movl 0x48(%rax), %eax
andl $0x8000, %eax           # imm = 0x8000
cmpl $0x0, %eax
jne 0x5513d
movq 0x48(%rsp), %rax
movq 0x4c(%rax), %rcx
movq %rcx, 0x24(%rsp)
movq 0x54(%rax), %rax
movq %rax, 0x2c(%rsp)
jmp 0x55168
movq 0x48(%rsp), %rax
movss 0x4c(%rax), %xmm0
movss 0x50(%rax), %xmm1
movss 0x54(%rax), %xmm2
movss 0x44(%rsp), %xmm3
callq 0x151a0
movlpd %xmm0, 0x24(%rsp)
movlpd %xmm1, 0x2c(%rsp)
movss 0x24(%rsp), %xmm1
movss 0x34(%rsp), %xmm0
addss 0x3c(%rsp), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x551db
movss 0x34(%rsp), %xmm1
movss 0x24(%rsp), %xmm0
addss 0x2c(%rsp), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x551db
movss 0x28(%rsp), %xmm1
movss 0x38(%rsp), %xmm0
addss 0x40(%rsp), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x551db
movss 0x38(%rsp), %xmm1
movss 0x28(%rsp), %xmm0
addss 0x30(%rsp), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x551db
movq 0x48(%rsp), %rax
movl 0x48(%rax), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
jne 0x551db
jmp 0x552d8
movq 0x48(%rsp), %rax
cmpq $0x0, 0x120(%rax)
je 0x552c2
movq 0x48(%rsp), %rax
cmpl $0x0, 0x15c(%rax)
je 0x552c2
movq 0x48(%rsp), %rax
movl 0x48(%rax), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
jne 0x552c2
movq 0x48(%rsp), %rax
movq 0x120(%rax), %rax
movss 0x4c(%rax), %xmm1
movq 0x78(%rsp), %rax
movss 0x4c(%rax), %xmm0
addss 0x3c(%rsp), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x552c2
movq 0x78(%rsp), %rax
movss 0x4c(%rax), %xmm1
movq 0x48(%rsp), %rax
movq 0x120(%rax), %rax
movss 0x4c(%rax), %xmm0
movq 0x48(%rsp), %rax
movq 0x120(%rax), %rax
addss 0x54(%rax), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x552c2
movq 0x48(%rsp), %rax
movq 0x120(%rax), %rax
movss 0x50(%rax), %xmm1
movss 0x38(%rsp), %xmm0
addss 0x40(%rsp), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x552c2
movss 0x38(%rsp), %xmm1
movq 0x48(%rsp), %rax
movq 0x120(%rax), %rax
movss 0x50(%rax), %xmm0
movq 0x48(%rsp), %rax
movq 0x120(%rax), %rax
addss 0x58(%rax), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x552c2
jmp 0x552d8
movq 0x48(%rsp), %rax
movq 0x1c8(%rax), %rax
movq %rax, 0x48(%rsp)
jmp 0x55106
jmp 0x552da
cmpq $0x0, 0x48(%rsp)
je 0x55500
cmpl $0x0, 0x54(%rsp)
je 0x55500
movq 0x78(%rsp), %rax
movq 0x98(%rsp), %rcx
cmpq 0x4770(%rcx), %rax
je 0x55500
movq 0x78(%rsp), %rax
movq 0x1c8(%rax), %rax
movq %rax, 0x48(%rsp)
cmpq $0x0, 0x48(%rsp)
je 0x554fe
movq 0x48(%rsp), %rax
movl 0x48(%rax), %eax
andl $0x8000, %eax           # imm = 0x8000
cmpl $0x0, %eax
jne 0x55353
movq 0x48(%rsp), %rax
movq 0x4c(%rax), %rcx
movq %rcx, 0x14(%rsp)
movq 0x54(%rax), %rax
movq %rax, 0x1c(%rsp)
jmp 0x5537e
movq 0x48(%rsp), %rax
movss 0x4c(%rax), %xmm0
movss 0x50(%rax), %xmm1
movss 0x54(%rax), %xmm2
movss 0x44(%rsp), %xmm3
callq 0x151a0
movlpd %xmm0, 0x14(%rsp)
movlpd %xmm1, 0x1c(%rsp)
movss 0x14(%rsp), %xmm1
movq 0x98(%rsp), %rax
movss 0x144(%rax), %xmm0
ucomiss %xmm1, %xmm0
jb 0x5540d
movq 0x98(%rsp), %rax
movss 0x144(%rax), %xmm1
movss 0x14(%rsp), %xmm0
addss 0x1c(%rsp), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x5540d
movss 0x18(%rsp), %xmm1
movq 0x98(%rsp), %rax
movss 0x148(%rax), %xmm0
ucomiss %xmm1, %xmm0
jb 0x5540d
movq 0x98(%rsp), %rax
movss 0x148(%rax), %xmm1
movss 0x18(%rsp), %xmm0
addss 0x20(%rsp), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x5540d
movq 0x48(%rsp), %rax
movl 0x48(%rax), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
jne 0x5540d
jmp 0x554fe
movq 0x48(%rsp), %rax
cmpq $0x0, 0x120(%rax)
je 0x554e8
movq 0x48(%rsp), %rax
cmpl $0x0, 0x15c(%rax)
je 0x554e8
movq 0x48(%rsp), %rax
movl 0x48(%rax), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
jne 0x554e8
movq 0x48(%rsp), %rax
movq 0x120(%rax), %rax
movss 0x4c(%rax), %xmm1
movss 0x34(%rsp), %xmm0
addss 0x3c(%rsp), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x554e8
movss 0x34(%rsp), %xmm1
movq 0x48(%rsp), %rax
movq 0x120(%rax), %rax
movss 0x4c(%rax), %xmm0
movq 0x48(%rsp), %rax
movq 0x120(%rax), %rax
addss 0x54(%rax), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x554e8
movq 0x48(%rsp), %rax
movq 0x120(%rax), %rax
movss 0x50(%rax), %xmm1
movss 0x38(%rsp), %xmm0
addss 0x40(%rsp), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x554e8
movss 0x38(%rsp), %xmm1
movq 0x48(%rsp), %rax
movq 0x120(%rax), %rax
movss 0x50(%rax), %xmm0
movq 0x48(%rsp), %rax
movq 0x120(%rax), %rax
addss 0x58(%rax), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x554e8
jmp 0x554fe
movq 0x48(%rsp), %rax
movq 0x1c8(%rax), %rax
movq %rax, 0x48(%rsp)
jmp 0x5531c
jmp 0x55500
cmpq $0x0, 0x48(%rsp)
je 0x555a7
movq 0x78(%rsp), %rax
movl 0x48(%rax), %eax
andl $0x1000, %eax           # imm = 0x1000
cmpl $0x0, %eax
jne 0x555a7
movq 0x78(%rsp), %rax
movl 0x48(%rax), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
je 0x555a7
movq 0x78(%rsp), %rax
movl 0x48(%rax), %ecx
orl $0x1000, %ecx           # imm = 0x1000
movl %ecx, 0x48(%rax)
movq 0x48(%rsp), %rax
movl 0x48(%rax), %ecx
andl $0xffffefff, %ecx       # imm = 0xFFFFEFFF
movl %ecx, 0x48(%rax)
movq 0x48(%rsp), %rcx
movq 0x98(%rsp), %rax
movq %rcx, 0x4778(%rax)
movq 0x48(%rsp), %rax
movl 0x48(%rax), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
jne 0x555a2
movq 0x98(%rsp), %rdi
movq 0x48(%rsp), %rsi
callq 0x54440
movq 0x98(%rsp), %rdi
movq 0x48(%rsp), %rsi
xorl %edx, %edx
callq 0x55840
jmp 0x5565d
cmpq $0x0, 0x48(%rsp)
jne 0x55622
movq 0x98(%rsp), %rax
movq 0x4770(%rax), %rax
cmpq 0x78(%rsp), %rax
je 0x55622
movq 0x78(%rsp), %rax
movl 0x48(%rax), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
jne 0x555fd
movq 0x98(%rsp), %rdi
movq 0x78(%rsp), %rsi
callq 0x54440
movq 0x98(%rsp), %rdi
movq 0x78(%rsp), %rsi
xorl %edx, %edx
callq 0x55840
movq 0x78(%rsp), %rax
movl 0x48(%rax), %ecx
andl $0xffffefff, %ecx       # imm = 0xFFFFEFFF
movl %ecx, 0x48(%rax)
movq 0x78(%rsp), %rcx
movq 0x98(%rsp), %rax
movq %rcx, 0x4778(%rax)
movq 0x98(%rsp), %rax
movq 0x4770(%rax), %rax
cmpq 0x78(%rsp), %rax
je 0x5565b
movq 0x78(%rsp), %rax
movl 0x48(%rax), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
jne 0x5565b
movq 0x78(%rsp), %rax
movl 0x48(%rax), %ecx
orl $0x1000, %ecx           # imm = 0x1000
movl %ecx, 0x48(%rax)
jmp 0x5565d
jmp 0x5565f
movq 0x98(%rsp), %rdi
callq 0x55d00
movq %rax, %rcx
movq 0x78(%rsp), %rax
movq %rcx, 0xa8(%rax)
movq 0x78(%rsp), %rcx
movq 0x98(%rsp), %rax
movq %rcx, 0x4780(%rax)
movq 0x98(%rsp), %rdi
movq 0x88(%rsp), %rsi
movl $0x1, %edx
callq 0x55d50
movl %eax, 0x64(%rsp)
movq 0x78(%rsp), %rcx
addq $0x5c, %rcx
movq 0x78(%rsp), %rax
movq 0xa8(%rax), %rax
movq %rcx, 0x18(%rax)
movq 0x78(%rsp), %rcx
addq $0x5c, %rcx
addq $0x4, %rcx
movq 0x78(%rsp), %rax
movq 0xa8(%rax), %rax
movq %rcx, 0x20(%rax)
movl 0x64(%rsp), %eax
movl %eax, 0xb4(%rsp)
movl 0xb4(%rsp), %eax
addq $0xb8, %rsp
retq
nopl (%rax)