// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/./nuklear/nuklear.h
// Function: nk_layout_widget_space
NK_LIB void
nk_layout_widget_space(struct nk_rect *bounds, const struct nk_context *ctx,
    struct nk_window *win, int modify)
{
    struct nk_panel *layout;
    const struct nk_style *style;

    struct nk_vec2 spacing;

    float item_offset = 0;
    float item_width = 0;
    float item_spacing = 0;
    float panel_space = 0;

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

    win = ctx->current;
    layout = win->layout;
    style = &ctx->style;
    NK_ASSERT(bounds);

    spacing = style->window.spacing;
    panel_space = nk_layout_row_calculate_usable_space(&ctx->style, layout->type,
                                            layout->bounds.w, layout->row.columns);

    #define NK_FRAC(x) (x - (float)(int)x) /* will be used to remove fookin gaps */
    /* calculate the width of one item inside the current layout space */
    switch (layout->row.type) {
    case NK_LAYOUT_DYNAMIC_FIXED: {
        /* scaling fixed size widgets item width */
        float w = NK_MAX(1.0f,panel_space) / (float)layout->row.columns;
        item_offset = (float)layout->row.index * w;
        item_width = w + NK_FRAC(item_offset);
        item_spacing = (float)layout->row.index * spacing.x;
    } break;
    case NK_LAYOUT_DYNAMIC_ROW: {
        /* scaling single ratio widget width */
        float w = layout->row.item_width * panel_space;
        item_offset = layout->row.item_offset;
        item_width = w + NK_FRAC(item_offset);
        item_spacing = 0;

        if (modify) {
            layout->row.item_offset += w + spacing.x;
            layout->row.filled += layout->row.item_width;
            layout->row.index = 0;
        }
    } break;
    case NK_LAYOUT_DYNAMIC_FREE: {
        /* panel width depended free widget placing */
        bounds->x = layout->at_x + (layout->bounds.w * layout->row.item.x);
        bounds->x -= (float)*layout->offset_x;
        bounds->y = layout->at_y + (layout->row.height * layout->row.item.y);
        bounds->y -= (float)*layout->offset_y;
        bounds->w = layout->bounds.w  * layout->row.item.w + NK_FRAC(bounds->x);
        bounds->h = layout->row.height * layout->row.item.h + NK_FRAC(bounds->y);
        return;
    }
    case NK_LAYOUT_DYNAMIC: {
        /* scaling arrays of panel width ratios for every widget */
        float ratio, w;
        NK_ASSERT(layout->row.ratio);
        ratio = (layout->row.ratio[layout->row.index] < 0) ?
            layout->row.item_width : layout->row.ratio[layout->row.index];

        w = (ratio * panel_space);
        item_spacing = (float)layout->row.index * spacing.x;
        item_offset = layout->row.item_offset;
        item_width = w + NK_FRAC(item_offset);

        if (modify) {
            layout->row.item_offset += w;
            layout->row.filled += ratio;
        }
    } break;
    case NK_LAYOUT_STATIC_FIXED: {
        /* non-scaling fixed widgets item width */
        item_width = layout->row.item_width;
        item_offset = (float)layout->row.index * item_width;
        item_spacing = (float)layout->row.index * spacing.x;
    } break;
    case NK_LAYOUT_STATIC_ROW: {
        /* scaling single ratio widget width */
        item_width = layout->row.item_width;
        item_offset = layout->row.item_offset;
        item_spacing = (float)layout->row.index * spacing.x;
        if (modify) layout->row.item_offset += item_width;
    } break;
    case NK_LAYOUT_STATIC_FREE: {
        /* free widget placing */
        bounds->x = layout->at_x + layout->row.item.x;
        bounds->w = layout->row.item.w;
        if (((bounds->x + bounds->w) > layout->max_x) && modify)
            layout->max_x = (bounds->x + bounds->w);
        bounds->x -= (float)*layout->offset_x;
        bounds->y = layout->at_y + layout->row.item.y;
        bounds->y -= (float)*layout->offset_y;
        bounds->h = layout->row.item.h;
        return;
    }
    case NK_LAYOUT_STATIC: {
        /* non-scaling array of panel pixel width for every widget */
        item_spacing = (float)layout->row.index * spacing.x;
        item_width = layout->row.ratio[layout->row.index];
        item_offset = layout->row.item_offset;
        if (modify) layout->row.item_offset += item_width;
    } break;
    case NK_LAYOUT_TEMPLATE: {
        /* stretchy row layout with combined dynamic/static widget width*/
        float w;
        NK_ASSERT(layout->row.index < layout->row.columns);
        NK_ASSERT(layout->row.index < NK_MAX_LAYOUT_ROW_TEMPLATE_COLUMNS);
        w = layout->row.templates[layout->row.index];
        item_offset = layout->row.item_offset;
        item_width = w + NK_FRAC(item_offset);
        item_spacing = (float)layout->row.index * spacing.x;
        if (modify) layout->row.item_offset += w;
    } break;
    #undef NK_FRAC
    default: NK_ASSERT(0); break;
    };

    /* set the bounds of the newly allocated widget */
    bounds->w = item_width;
    bounds->h = layout->row.height - spacing.y;
    bounds->y = layout->at_y - (float)*layout->offset_y;
    bounds->x = layout->at_x + item_offset + item_spacing;
    if (((bounds->x + bounds->w) > layout->max_x) && modify)
        layout->max_x = bounds->x + bounds->w;
    bounds->x -= (float)*layout->offset_x;
}

// Assembly:
subq $0x78, %rsp
movq %rdi, 0x70(%rsp)
movq %rsi, 0x68(%rsp)
movq %rdx, 0x60(%rsp)
movl %ecx, 0x5c(%rsp)
xorps %xmm0, %xmm0
movss %xmm0, 0x3c(%rsp)
xorps %xmm0, %xmm0
movss %xmm0, 0x38(%rsp)
xorps %xmm0, %xmm0
movss %xmm0, 0x34(%rsp)
xorps %xmm0, %xmm0
movss %xmm0, 0x30(%rsp)
cmpq $0x0, 0x68(%rsp)
jne 0x87e06
movq 0x3d216(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x295bc(%rip), %rsi     # 0xb13a0
leaq 0x295d3(%rip), %rdx     # 0xb13be
movl $0x5704, %ecx           # imm = 0x5704
movb $0x0, %al
callq 0x13ec0
movq 0x3d1f2(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x87e08
jmp 0x87e0a
movq 0x68(%rsp), %rax
cmpq $0x0, 0x4780(%rax)
jne 0x87e4c
movq 0x3d1d0(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x29576(%rip), %rsi     # 0xb13a0
leaq 0x2958d(%rip), %rdx     # 0xb13be
movl $0x5705, %ecx           # imm = 0x5705
movb $0x0, %al
callq 0x13ec0
movq 0x3d1ac(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x87e4e
jmp 0x87e50
movq 0x68(%rsp), %rax
movq 0x4780(%rax), %rax
cmpq $0x0, 0xa8(%rax)
jne 0x87e99
movq 0x3d183(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x29529(%rip), %rsi     # 0xb13a0
leaq 0x29540(%rip), %rdx     # 0xb13be
movl $0x5706, %ecx           # imm = 0x5706
movb $0x0, %al
callq 0x13ec0
movq 0x3d15f(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x87e9b
cmpq $0x0, 0x68(%rsp)
je 0x87ec8
movq 0x68(%rsp), %rax
cmpq $0x0, 0x4780(%rax)
je 0x87ec8
movq 0x68(%rsp), %rax
movq 0x4780(%rax), %rax
cmpq $0x0, 0xa8(%rax)
jne 0x87ecd
jmp 0x88797
movq 0x68(%rsp), %rax
movq 0x4780(%rax), %rax
movq %rax, 0x60(%rsp)
movq 0x60(%rsp), %rax
movq 0xa8(%rax), %rax
movq %rax, 0x50(%rsp)
movq 0x68(%rsp), %rax
addq $0x168, %rax            # imm = 0x168
movq %rax, 0x48(%rsp)
cmpq $0x0, 0x70(%rsp)
jne 0x87f3a
movq 0x3d0e2(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x29488(%rip), %rsi     # 0xb13a0
leaq 0x2949f(%rip), %rdx     # 0xb13be
movl $0x570d, %ecx           # imm = 0x570D
movb $0x0, %al
callq 0x13ec0
movq 0x3d0be(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x87f3c
movq 0x48(%rsp), %rax
movq 0x234c(%rax), %rax
movq %rax, 0x40(%rsp)
movq 0x68(%rsp), %rdi
addq $0x168, %rdi            # imm = 0x168
movq 0x50(%rsp), %rax
movl (%rax), %esi
movss 0x10(%rax), %xmm0
movl 0x80(%rax), %edx
callq 0x61210
movss %xmm0, 0x30(%rsp)
movq 0x50(%rsp), %rax
movl 0x70(%rax), %eax
movq %rax, 0x10(%rsp)
subq $0x8, %rax
ja 0x8868d
movq 0x10(%rsp), %rax
leaq 0x2582b(%rip), %rcx     # 0xad7c4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movss 0x30(%rsp), %xmm0
movss 0x25538(%rip), %xmm1    # 0xad4e8
ucomiss %xmm1, %xmm0
jbe 0x87fc3
movss 0x30(%rsp), %xmm0
movss %xmm0, 0xc(%rsp)
jmp 0x87fd3
movss 0x2551d(%rip), %xmm0    # 0xad4e8
movss %xmm0, 0xc(%rsp)
jmp 0x87fd3
movss 0xc(%rsp), %xmm0
movq 0x50(%rsp), %rax
cvtsi2ssl 0x80(%rax), %xmm1
divss %xmm1, %xmm0
movss %xmm0, 0x2c(%rsp)
movq 0x50(%rsp), %rax
cvtsi2ssl 0x74(%rax), %xmm0
mulss 0x2c(%rsp), %xmm0
movss %xmm0, 0x3c(%rsp)
movss 0x2c(%rsp), %xmm0
movss 0x3c(%rsp), %xmm1
cvttss2si 0x3c(%rsp), %eax
cvtsi2ss %eax, %xmm2
subss %xmm2, %xmm1
addss %xmm1, %xmm0
movss %xmm0, 0x38(%rsp)
movq 0x50(%rsp), %rax
cvtsi2ssl 0x74(%rax), %xmm0
mulss 0x40(%rsp), %xmm0
movss %xmm0, 0x34(%rsp)
jmp 0x886c4
movq 0x50(%rsp), %rax
movss 0x90(%rax), %xmm0
mulss 0x30(%rsp), %xmm0
movss %xmm0, 0x28(%rsp)
movq 0x50(%rsp), %rax
movss 0x98(%rax), %xmm0
movss %xmm0, 0x3c(%rsp)
movss 0x28(%rsp), %xmm0
movss 0x3c(%rsp), %xmm1
cvttss2si 0x3c(%rsp), %eax
cvtsi2ss %eax, %xmm2
subss %xmm2, %xmm1
addss %xmm1, %xmm0
movss %xmm0, 0x38(%rsp)
xorps %xmm0, %xmm0
movss %xmm0, 0x34(%rsp)
cmpl $0x0, 0x5c(%rsp)
je 0x880f4
movss 0x28(%rsp), %xmm0
addss 0x40(%rsp), %xmm0
movq 0x50(%rsp), %rax
addss 0x98(%rax), %xmm0
movss %xmm0, 0x98(%rax)
movq 0x50(%rsp), %rax
movss 0x90(%rax), %xmm0
movq 0x50(%rsp), %rax
addss 0x9c(%rax), %xmm0
movss %xmm0, 0x9c(%rax)
movq 0x50(%rsp), %rax
movl $0x0, 0x74(%rax)
jmp 0x886c4
movq 0x50(%rsp), %rax
movss 0x10(%rax), %xmm0
movss 0x28(%rax), %xmm1
movss 0xa0(%rax), %xmm2
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq 0x70(%rsp), %rax
movss %xmm0, (%rax)
movq 0x50(%rsp), %rax
movq 0x18(%rax), %rax
movl (%rax), %eax
cvtsi2ss %rax, %xmm1
movq 0x70(%rsp), %rax
movss (%rax), %xmm0
subss %xmm1, %xmm0
movss %xmm0, (%rax)
movq 0x50(%rsp), %rax
movss 0x2c(%rax), %xmm1
movss 0x78(%rax), %xmm0
movss 0xa4(%rax), %xmm2
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq 0x70(%rsp), %rax
movss %xmm0, 0x4(%rax)
movq 0x50(%rsp), %rax
movq 0x20(%rax), %rax
movl (%rax), %eax
cvtsi2ss %rax, %xmm1
movq 0x70(%rsp), %rax
movss 0x4(%rax), %xmm0
subss %xmm1, %xmm0
movss %xmm0, 0x4(%rax)
movq 0x50(%rsp), %rax
movss 0x10(%rax), %xmm0
movq 0x50(%rsp), %rax
movss 0xa8(%rax), %xmm2
movq 0x70(%rsp), %rax
movss (%rax), %xmm1
movq 0x70(%rsp), %rax
cvttss2si (%rax), %eax
cvtsi2ss %eax, %xmm3
subss %xmm3, %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq 0x70(%rsp), %rax
movss %xmm0, 0x8(%rax)
movq 0x50(%rsp), %rax
movss 0x78(%rax), %xmm0
movq 0x50(%rsp), %rax
movss 0xac(%rax), %xmm2
movq 0x70(%rsp), %rax
movss 0x4(%rax), %xmm1
movq 0x70(%rsp), %rax
cvttss2si 0x4(%rax), %eax
cvtsi2ss %eax, %xmm3
subss %xmm3, %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq 0x70(%rsp), %rax
movss %xmm0, 0xc(%rax)
jmp 0x88797
jmp 0x8821d
movq 0x50(%rsp), %rax
cmpq $0x0, 0x88(%rax)
jne 0x8825f
movq 0x3cdbd(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x29163(%rip), %rsi     # 0xb13a0
leaq 0x2917a(%rip), %rdx     # 0xb13be
movl $0x5737, %ecx           # imm = 0x5737
movb $0x0, %al
callq 0x13ec0
movq 0x3cd99(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x88261
movq 0x50(%rsp), %rax
movq 0x88(%rax), %rax
movq 0x50(%rsp), %rcx
movslq 0x74(%rcx), %rcx
xorps %xmm0, %xmm0
ucomiss (%rax,%rcx,4), %xmm0
jbe 0x88294
movq 0x50(%rsp), %rax
movss 0x90(%rax), %xmm0
movss %xmm0, 0x8(%rsp)
jmp 0x882b4
movq 0x50(%rsp), %rax
movq 0x88(%rax), %rax
movq 0x50(%rsp), %rcx
movslq 0x74(%rcx), %rcx
movss (%rax,%rcx,4), %xmm0
movss %xmm0, 0x8(%rsp)
movss 0x8(%rsp), %xmm0
movss %xmm0, 0x24(%rsp)
movss 0x24(%rsp), %xmm0
mulss 0x30(%rsp), %xmm0
movss %xmm0, 0x20(%rsp)
movq 0x50(%rsp), %rax
cvtsi2ssl 0x74(%rax), %xmm0
mulss 0x40(%rsp), %xmm0
movss %xmm0, 0x34(%rsp)
movq 0x50(%rsp), %rax
movss 0x98(%rax), %xmm0
movss %xmm0, 0x3c(%rsp)
movss 0x20(%rsp), %xmm0
movss 0x3c(%rsp), %xmm1
cvttss2si 0x3c(%rsp), %eax
cvtsi2ss %eax, %xmm2
subss %xmm2, %xmm1
addss %xmm1, %xmm0
movss %xmm0, 0x38(%rsp)
cmpl $0x0, 0x5c(%rsp)
je 0x8835c
movss 0x20(%rsp), %xmm0
movq 0x50(%rsp), %rax
addss 0x98(%rax), %xmm0
movss %xmm0, 0x98(%rax)
movss 0x24(%rsp), %xmm0
movq 0x50(%rsp), %rax
addss 0x9c(%rax), %xmm0
movss %xmm0, 0x9c(%rax)
jmp 0x886c4
movq 0x50(%rsp), %rax
movss 0x90(%rax), %xmm0
movss %xmm0, 0x38(%rsp)
movq 0x50(%rsp), %rax
cvtsi2ssl 0x74(%rax), %xmm0
mulss 0x38(%rsp), %xmm0
movss %xmm0, 0x3c(%rsp)
movq 0x50(%rsp), %rax
cvtsi2ssl 0x74(%rax), %xmm0
mulss 0x40(%rsp), %xmm0
movss %xmm0, 0x34(%rsp)
jmp 0x886c4
movq 0x50(%rsp), %rax
movss 0x90(%rax), %xmm0
movss %xmm0, 0x38(%rsp)
movq 0x50(%rsp), %rax
movss 0x98(%rax), %xmm0
movss %xmm0, 0x3c(%rsp)
movq 0x50(%rsp), %rax
cvtsi2ssl 0x74(%rax), %xmm0
mulss 0x40(%rsp), %xmm0
movss %xmm0, 0x34(%rsp)
cmpl $0x0, 0x5c(%rsp)
je 0x88403
movss 0x38(%rsp), %xmm0
movq 0x50(%rsp), %rax
addss 0x98(%rax), %xmm0
movss %xmm0, 0x98(%rax)
jmp 0x886c4
movq 0x50(%rsp), %rax
movss 0x28(%rax), %xmm0
movq 0x50(%rsp), %rax
addss 0xa0(%rax), %xmm0
movq 0x70(%rsp), %rax
movss %xmm0, (%rax)
movq 0x50(%rsp), %rax
movss 0xa8(%rax), %xmm0
movq 0x70(%rsp), %rax
movss %xmm0, 0x8(%rax)
movq 0x70(%rsp), %rax
movss (%rax), %xmm0
movq 0x70(%rsp), %rax
addss 0x8(%rax), %xmm0
movq 0x50(%rsp), %rax
ucomiss 0x30(%rax), %xmm0
jbe 0x88481
cmpl $0x0, 0x5c(%rsp)
je 0x88481
movq 0x70(%rsp), %rax
movss (%rax), %xmm0
movq 0x70(%rsp), %rax
addss 0x8(%rax), %xmm0
movq 0x50(%rsp), %rax
movss %xmm0, 0x30(%rax)
movq 0x50(%rsp), %rax
movq 0x18(%rax), %rax
movl (%rax), %eax
cvtsi2ss %rax, %xmm1
movq 0x70(%rsp), %rax
movss (%rax), %xmm0
subss %xmm1, %xmm0
movss %xmm0, (%rax)
movq 0x50(%rsp), %rax
movss 0x2c(%rax), %xmm0
movss 0xa4(%rax), %xmm1
addss %xmm1, %xmm0
movq 0x70(%rsp), %rax
movss %xmm0, 0x4(%rax)
movq 0x50(%rsp), %rax
movq 0x20(%rax), %rax
movl (%rax), %eax
cvtsi2ss %rax, %xmm1
movq 0x70(%rsp), %rax
movss 0x4(%rax), %xmm0
subss %xmm1, %xmm0
movss %xmm0, 0x4(%rax)
movq 0x50(%rsp), %rax
movss 0xac(%rax), %xmm0
movq 0x70(%rsp), %rax
movss %xmm0, 0xc(%rax)
jmp 0x88797
movq 0x50(%rsp), %rax
cvtsi2ssl 0x74(%rax), %xmm0
mulss 0x40(%rsp), %xmm0
movss %xmm0, 0x34(%rsp)
movq 0x50(%rsp), %rax
movq 0x88(%rax), %rax
movq 0x50(%rsp), %rcx
movslq 0x74(%rcx), %rcx
movss (%rax,%rcx,4), %xmm0
movss %xmm0, 0x38(%rsp)
movq 0x50(%rsp), %rax
movss 0x98(%rax), %xmm0
movss %xmm0, 0x3c(%rsp)
cmpl $0x0, 0x5c(%rsp)
je 0x8856c
movss 0x38(%rsp), %xmm0
movq 0x50(%rsp), %rax
addss 0x98(%rax), %xmm0
movss %xmm0, 0x98(%rax)
jmp 0x886c4
jmp 0x88573
movq 0x50(%rsp), %rax
movl 0x74(%rax), %eax
movq 0x50(%rsp), %rcx
cmpl 0x80(%rcx), %eax
jl 0x885bb
movq 0x3ca61(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x28e07(%rip), %rsi     # 0xb13a0
leaq 0x28e1e(%rip), %rdx     # 0xb13be
movl $0x5768, %ecx           # imm = 0x5768
movb $0x0, %al
callq 0x13ec0
movq 0x3ca3d(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x885bd
jmp 0x885bf
movq 0x50(%rsp), %rax
cmpl $0x10, 0x74(%rax)
jl 0x885fd
movq 0x3ca1f(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x28dc5(%rip), %rsi     # 0xb13a0
leaq 0x28ddc(%rip), %rdx     # 0xb13be
movl $0x5769, %ecx           # imm = 0x5769
movb $0x0, %al
callq 0x13ec0
movq 0x3c9fb(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x885ff
movq 0x50(%rsp), %rax
movq 0x50(%rsp), %rcx
movslq 0x74(%rcx), %rcx
movss 0xb4(%rax,%rcx,4), %xmm0
movss %xmm0, 0x1c(%rsp)
movq 0x50(%rsp), %rax
movss 0x98(%rax), %xmm0
movss %xmm0, 0x3c(%rsp)
movss 0x1c(%rsp), %xmm0
movss 0x3c(%rsp), %xmm1
cvttss2si 0x3c(%rsp), %eax
cvtsi2ss %eax, %xmm2
subss %xmm2, %xmm1
addss %xmm1, %xmm0
movss %xmm0, 0x38(%rsp)
movq 0x50(%rsp), %rax
cvtsi2ssl 0x74(%rax), %xmm0
mulss 0x40(%rsp), %xmm0
movss %xmm0, 0x34(%rsp)
cmpl $0x0, 0x5c(%rsp)
je 0x8868b
movss 0x1c(%rsp), %xmm0
movq 0x50(%rsp), %rax
addss 0x98(%rax), %xmm0
movss %xmm0, 0x98(%rax)
jmp 0x886c4
jmp 0x8868f
movq 0x3c95a(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x28d00(%rip), %rsi     # 0xb13a0
leaq 0x28d17(%rip), %rdx     # 0xb13be
movl $0x5771, %ecx           # imm = 0x5771
movb $0x0, %al
callq 0x13ec0
movq 0x3c936(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x886c4
movss 0x38(%rsp), %xmm0
movq 0x70(%rsp), %rax
movss %xmm0, 0x8(%rax)
movq 0x50(%rsp), %rax
movss 0x78(%rax), %xmm0
movss 0x44(%rsp), %xmm1
subss %xmm1, %xmm0
movq 0x70(%rsp), %rax
movss %xmm0, 0xc(%rax)
movq 0x50(%rsp), %rax
movss 0x2c(%rax), %xmm0
movq 0x20(%rax), %rax
movl (%rax), %eax
cvtsi2ss %rax, %xmm1
subss %xmm1, %xmm0
movq 0x70(%rsp), %rax
movss %xmm0, 0x4(%rax)
movq 0x50(%rsp), %rax
movss 0x28(%rax), %xmm0
addss 0x3c(%rsp), %xmm0
addss 0x34(%rsp), %xmm0
movq 0x70(%rsp), %rax
movss %xmm0, (%rax)
movq 0x70(%rsp), %rax
movss (%rax), %xmm0
movq 0x70(%rsp), %rax
addss 0x8(%rax), %xmm0
movq 0x50(%rsp), %rax
ucomiss 0x30(%rax), %xmm0
jbe 0x88776
cmpl $0x0, 0x5c(%rsp)
je 0x88776
movq 0x70(%rsp), %rax
movss (%rax), %xmm0
movq 0x70(%rsp), %rax
addss 0x8(%rax), %xmm0
movq 0x50(%rsp), %rax
movss %xmm0, 0x30(%rax)
movq 0x50(%rsp), %rax
movq 0x18(%rax), %rax
movl (%rax), %eax
cvtsi2ss %rax, %xmm1
movq 0x70(%rsp), %rax
movss (%rax), %xmm0
subss %xmm1, %xmm0
movss %xmm0, (%rax)
addq $0x78, %rsp
retq
nopl (%rax)