// File: /workspace/github_c_makefile_star2_O2/0x0203[P]schack_poc/./nuklear_xlib.h
// Function: nk_xlib_render
NK_API void
nk_xlib_render(Drawable screen, struct nk_color clear)
{
    const struct nk_command *cmd;
    struct nk_context *ctx = &xlib.ctx;
    XSurface *surf = xlib.surf;

    nk_xsurf_clear(xlib.surf, nk_color_from_byte(&clear.r));
    nk_foreach(cmd, &xlib.ctx)
    {
        switch (cmd->type) {
        case NK_COMMAND_NOP: break;
        case NK_COMMAND_SCISSOR: {
            const struct nk_command_scissor *s =(const struct nk_command_scissor*)cmd;
            nk_xsurf_scissor(surf, s->x, s->y, s->w, s->h);
        } break;
        case NK_COMMAND_LINE: {
            const struct nk_command_line *l = (const struct nk_command_line *)cmd;
            nk_xsurf_stroke_line(surf, l->begin.x, l->begin.y, l->end.x,
                l->end.y, l->line_thickness, l->color);
        } break;
        case NK_COMMAND_RECT: {
            const struct nk_command_rect *r = (const struct nk_command_rect *)cmd;
            nk_xsurf_stroke_rect(surf, r->x, r->y, NK_MAX(r->w -r->line_thickness, 0),
                NK_MAX(r->h - r->line_thickness, 0), (unsigned short)r->rounding,
                r->line_thickness, r->color);
        } break;
        case NK_COMMAND_RECT_FILLED: {
            const struct nk_command_rect_filled *r = (const struct nk_command_rect_filled *)cmd;
            nk_xsurf_fill_rect(surf, r->x, r->y, r->w, r->h,
                (unsigned short)r->rounding, r->color);
        } break;
        case NK_COMMAND_CIRCLE: {
            const struct nk_command_circle *c = (const struct nk_command_circle *)cmd;
            nk_xsurf_stroke_circle(surf, c->x, c->y, c->w, c->h, c->line_thickness, c->color);
        } break;
        case NK_COMMAND_CIRCLE_FILLED: {
            const struct nk_command_circle_filled *c = (const struct nk_command_circle_filled *)cmd;
            nk_xsurf_fill_circle(surf, c->x, c->y, c->w, c->h, c->color);
        } break;
        case NK_COMMAND_TRIANGLE: {
            const struct nk_command_triangle*t = (const struct nk_command_triangle*)cmd;
            nk_xsurf_stroke_triangle(surf, t->a.x, t->a.y, t->b.x, t->b.y,
                t->c.x, t->c.y, t->line_thickness, t->color);
        } break;
        case NK_COMMAND_TRIANGLE_FILLED: {
            const struct nk_command_triangle_filled *t = (const struct nk_command_triangle_filled *)cmd;
            nk_xsurf_fill_triangle(surf, t->a.x, t->a.y, t->b.x, t->b.y,
                t->c.x, t->c.y, t->color);
        } break;
        case NK_COMMAND_POLYGON: {
            const struct nk_command_polygon *p =(const struct nk_command_polygon*)cmd;
            nk_xsurf_stroke_polygon(surf, p->points, p->point_count, p->line_thickness,p->color);
        } break;
        case NK_COMMAND_POLYGON_FILLED: {
            const struct nk_command_polygon_filled *p = (const struct nk_command_polygon_filled *)cmd;
            nk_xsurf_fill_polygon(surf, p->points, p->point_count, p->color);
        } break;
        case NK_COMMAND_POLYLINE: {
            const struct nk_command_polyline *p = (const struct nk_command_polyline *)cmd;
            nk_xsurf_stroke_polyline(surf, p->points, p->point_count, p->line_thickness, p->color);
        } break;
        case NK_COMMAND_TEXT: {
            const struct nk_command_text *t = (const struct nk_command_text*)cmd;
            nk_xsurf_draw_text(surf, t->x, t->y, t->w, t->h,
                (const char*)t->string, t->length,
                (XFont*)t->font->userdata.ptr,
                t->background, t->foreground);
        } break;
        case NK_COMMAND_CURVE: {
            const struct nk_command_curve *q = (const struct nk_command_curve *)cmd;
            nk_xsurf_stroke_curve(surf, q->begin, q->ctrl[0], q->ctrl[1],
                q->end, 22, q->line_thickness, q->color);
        } break;
        case NK_COMMAND_IMAGE: {
            const struct nk_command_image *i = (const struct nk_command_image *)cmd;
            nk_xsurf_draw_image(surf, i->x, i->y, i->w, i->h, i->img, i->col);
        } break;
        case NK_COMMAND_RECT_MULTI_COLOR:
        case NK_COMMAND_ARC:
        case NK_COMMAND_ARC_FILLED:
        case NK_COMMAND_CUSTOM:
        default: break;
        }
    }
    nk_clear(ctx);
    nk_xsurf_blit(screen, surf, surf->w, surf->h);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x298, %rsp            # imm = 0x298
movq %rdi, 0x88(%rsp)
movl %esi, %eax
shrl $0x10, %eax
movq 0x1daee(%rip), %r14     # 0x3b610
movzbl %sil, %ecx
shll $0x10, %ecx
andl $0xff00, %esi           # imm = 0xFF00
orl %esi, %ecx
movzbl %al, %edx
orl %ecx, %edx
movq (%r14), %rsi
movq 0x8(%r14), %rdi
callq 0x3270
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
movl 0x28(%r14), %r9d
movl 0x2c(%r14), %eax
movl %eax, (%rsp)
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x3280
leaq 0x19aa7(%rip), %rdi     # 0x37610
callq 0x9e91
movq %rax, %r12
pushq $0x1
popq %rbx
testq %r12, %r12
je 0x1e86c
movl (%r12), %eax
decl %eax
cmpl $0x10, %eax
ja 0x1e817
leaq 0x6b95(%rip), %rcx      # 0x24728
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x10(%r12), %xmm0
paddw 0x6725(%rip), %xmm0     # 0x242d0
movq %xmm0, 0x90(%rsp)
movq (%r14), %rsi
movq 0x8(%r14), %rdi
andl $0x0, (%rsp)
xorl %edx, %edx
xorl %ecx, %ecx
leaq 0x90(%rsp), %r8
movl %ebx, %r9d
callq 0x34e0
jmp 0x1e817
movq 0x18(%r12), %r15
testq %r15, %r15
je 0x1e817
movswl 0x10(%r12), %ebx
movswl 0x12(%r12), %ebp
movzwl 0x14(%r12), %eax
movzwl 0x16(%r12), %r13d
movq 0x10(%r15), %rdx
testq %rdx, %rdx
je 0x1dc2b
movq (%r14), %rsi
movq 0x8(%r14), %rdi
movl %eax, 0x20(%rsp)
callq 0x3120
movq (%r14), %rsi
movq 0x8(%r14), %rdi
movl %ebx, %edx
movl %ebp, %ecx
callq 0x3570
movl 0x20(%rsp), %eax
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
movq (%r15), %rcx
movl %r13d, 0x18(%rsp)
movl %eax, 0x10(%rsp)
movl %ebp, 0x8(%rsp)
movl %ebx, (%rsp)
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x33e0
movq (%r14), %rsi
movq 0x8(%r14), %rdi
xorl %edx, %edx
callq 0x3120
jmp 0x1e814
movzwl 0x14(%r12), %ebx
movl 0x10(%r12), %eax
movl %eax, %ecx
shrl $0x10, %ecx
movzbl %al, %edx
shll $0x10, %edx
andl $0xff00, %eax           # imm = 0xFF00
orl %edx, %eax
movzbl %cl, %edx
orl %eax, %edx
movq (%r14), %rsi
movq 0x8(%r14), %rdi
callq 0x3270
cmpw $0x80, %bx
movl $0x80, %eax
cmovbl %ebx, %eax
xorl %ecx, %ecx
cmpq %rcx, %rax
je 0x1dcba
movl 0x16(%r12,%rcx,4), %edx
movl %edx, 0x90(%rsp,%rcx,4)
incq %rcx
jmp 0x1dca4
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
andl $0x0, (%rsp)
leaq 0x90(%rsp), %rcx
movl %ebx, %r8d
pushq $0x2
popq %r9
callq 0x33f0
jmp 0x1e814
movzwl 0x12(%r12), %eax
movzwl 0x14(%r12), %ecx
movswl %ax, %r15d
movswl %cx, %r13d
movzwl 0x16(%r12), %ebx
movzwl 0x18(%r12), %eax
movq %rax, 0x20(%rsp)
movzwl 0x10(%r12), %ebp
movl 0x1a(%r12), %eax
movl %eax, %ecx
shrl $0x10, %ecx
movzbl %al, %edx
shll $0x10, %edx
andl $0xff00, %eax           # imm = 0xFF00
orl %edx, %eax
movzbl %cl, %edx
orl %eax, %edx
movq (%r14), %rsi
movq 0x8(%r14), %rdi
callq 0x3270
testl %ebp, %ebp
je 0x1e7f3
leal (%r15,%rbp), %eax
leal (%rbp,%r13), %ecx
movq %rbp, 0x30(%rsp)
addl %ebp, %ebp
movl %ebx, %edx
subl %ebp, %edx
movq 0x20(%rsp), %r8
movl %r8d, %esi
subl %ebp, %esi
movw %r15w, 0x90(%rsp)
movw %cx, 0x92(%rsp)
movw %ax, 0x94(%rsp)
movw %cx, 0x96(%rsp)
movw %ax, 0x98(%rsp)
movw %r13w, 0x9a(%rsp)
cwtl
movq %r15, %rdi
movswl %dx, %r15d
addl %eax, %r15d
movw %r15w, 0x9c(%rsp)
movw %r13w, 0x9e(%rsp)
movw %r15w, 0xa0(%rsp)
movw %cx, 0xa2(%rsp)
addl %edi, %ebx
movq %rdi, 0x50(%rsp)
movw %bx, 0xa4(%rsp)
movw %cx, 0xa6(%rsp)
movw %bx, 0xa8(%rsp)
movswl %cx, %ecx
movswl %si, %ebx
addl %ecx, %ebx
movw %bx, 0xaa(%rsp)
movw %r15w, 0xac(%rsp)
movw %bx, 0xae(%rsp)
movw %r15w, 0xb0(%rsp)
leal (%r13,%r8), %ecx
movq %r13, 0x40(%rsp)
movw %cx, 0xb2(%rsp)
movw %ax, 0xb4(%rsp)
movw %cx, 0xb6(%rsp)
movw %ax, 0xb8(%rsp)
movw %bx, 0xba(%rsp)
movw %di, 0xbc(%rsp)
movw %bx, 0xbe(%rsp)
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
andl $0x0, (%rsp)
leaq 0x90(%rsp), %rcx
pushq $0xc
popq %r8
pushq $0x2
popq %r9
callq 0x33f0
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
subl 0x30(%rsp), %r15d
andl $0x0, 0x8(%rsp)
movl $0x1680, %eax           # imm = 0x1680
movl %eax, 0x10(%rsp)
movl %ebp, (%rsp)
movl %r15d, %ecx
movl %r13d, %r8d
movl %ebp, %r9d
callq 0x3260
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
movl $0x1680, %eax           # imm = 0x1680
movl %eax, 0x10(%rsp)
movl %eax, 0x8(%rsp)
movl %ebp, (%rsp)
movq 0x50(%rsp), %r13
movl %r13d, %ecx
movq 0x40(%rsp), %r8
movl %ebp, %r9d
callq 0x3260
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
subl 0x30(%rsp), %ebx
movl $0x1680, %eax           # imm = 0x1680
movl %eax, 0x10(%rsp)
movl %ebp, (%rsp)
movl $0x2d00, 0x8(%rsp)      # imm = 0x2D00
movl %r13d, %ecx
movl %ebx, %r8d
movl %ebp, %r9d
callq 0x3260
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
movl $0x1680, %eax           # imm = 0x1680
movl %eax, 0x10(%rsp)
movl %ebp, (%rsp)
movl $0xffffe980, 0x8(%rsp)  # imm = 0xFFFFE980
movl %r15d, %ecx
movl %ebx, %r8d
movl %ebp, %r9d
callq 0x3260
jmp 0x1e814
movswl 0x20(%r12), %r15d
movswl 0x22(%r12), %ebp
movzwl 0x24(%r12), %eax
movl %eax, 0x30(%rsp)
movzwl 0x26(%r12), %ebx
movl 0x2c(%r12), %eax
movl %eax, 0x20(%rsp)
movq 0x10(%r12), %rax
movq (%rax), %r13
movl 0x18(%r12), %eax
movl 0x1c(%r12), %ecx
movl %ecx, 0x70(%rsp)
movl %eax, %ecx
shrl $0x10, %ecx
movzbl %al, %edx
shll $0x10, %edx
andl $0xff00, %eax           # imm = 0xFF00
orl %edx, %eax
movzbl %cl, %edx
orl %eax, %edx
movq (%r14), %rsi
movq 0x8(%r14), %rdi
callq 0x3270
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
movl %ebx, (%rsp)
pushq $0x1
popq %rbx
movl %r15d, 0x40(%rsp)
movl %r15d, %ecx
movl %ebp, 0x50(%rsp)
movl %ebp, %r8d
movl 0x30(%rsp), %r9d
callq 0x3280
testq %r13, %r13
sete %al
movl 0x20(%rsp), %ecx
movl %ecx, %r15d
testl %ecx, %ecx
sete %cl
orb %al, %cl
jne 0x1e817
movq %r13, %rsi
leaq 0x30(%r12), %rax
movq %rax, 0x30(%rsp)
movl 0x70(%rsp), %edx
movl %edx, %eax
shrl $0x10, %eax
movzbl %al, %eax
movl %edx, %ecx
andl $0xff00, %ecx           # imm = 0xFF00
movzbl %dl, %edx
shll $0x10, %edx
orl %ecx, %edx
orl %eax, %edx
movl 0x50(%rsp), %ebp
addl (%rsi), %ebp
movq (%r14), %rsi
movq 0x8(%r14), %rdi
callq 0x3270
movq 0x10(%r13), %rdx
movq (%r14), %rcx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
testq %rdx, %rdx
je 0x1e852
movl %r15d, 0x8(%rsp)
movq 0x30(%rsp), %rax
movq %rax, (%rsp)
movl 0x40(%rsp), %r8d
movl %ebp, %r9d
callq 0x3450
jmp 0x1e817
movswl 0x10(%r12), %eax
movl %eax, 0x20(%rsp)
movswl 0x12(%r12), %ebp
movzwl 0x16(%r12), %r15d
movzwl 0x18(%r12), %ebx
movzwl 0x14(%r12), %edx
movl 0x1a(%r12), %eax
movl %eax, %ecx
shrl $0x10, %ecx
movzbl %al, %esi
shll $0x10, %esi
andl $0xff00, %eax           # imm = 0xFF00
orl %esi, %eax
movzbl %cl, %r13d
orl %eax, %r13d
movq (%r14), %rsi
movq 0x8(%r14), %rdi
xorl %ecx, %ecx
pushq $0x1
popq %r8
xorl %r9d, %r9d
callq 0x3320
movq (%r14), %rsi
movq 0x8(%r14), %rdi
movq %r13, %rdx
callq 0x3270
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
andl $0x0, 0x8(%rsp)
movl %ebx, (%rsp)
pushq $0x1
popq %rbx
movl $0x5a00, 0x10(%rsp)     # imm = 0x5A00
movl 0x20(%rsp), %ecx
movl %ebp, %r8d
movl %r15d, %r9d
callq 0x3480
jmp 0x1e6bb
movzwl 0x16(%r12), %ebp
movzwl 0x14(%r12), %edx
movl 0x10(%r12), %eax
movl %eax, %ecx
shrl $0x10, %ecx
movzbl %al, %esi
shll $0x10, %esi
andl $0xff00, %eax           # imm = 0xFF00
orl %esi, %eax
movl %ebx, %r8d
movzbl %cl, %ebx
orl %eax, %ebx
movq (%r14), %rsi
movq 0x8(%r14), %rdi
xorl %ecx, %ecx
xorl %r9d, %r9d
callq 0x3320
movq (%r14), %rsi
movq 0x8(%r14), %rdi
movq %rbx, %rdx
callq 0x3270
cmpw $0x1, %bp
adcl $0x0, %ebp
movzwl %bp, %ebx
decl %ebx
xorl %eax, %eax
movq 0x8(%r14), %rdi
cmpq %rax, %rbx
je 0x1e16b
movq (%r14), %rdx
movq 0x20(%r14), %rsi
movswl 0x18(%r12,%rax,4), %ecx
movswl 0x1a(%r12,%rax,4), %r8d
leaq 0x1(%rax), %r15
movswl 0x1c(%r12,%rax,4), %r9d
movswl 0x1e(%r12,%rax,4), %eax
movl %eax, (%rsp)
callq 0x3230
movq %r15, %rax
jmp 0x1e132
movq (%r14), %rsi
jmp 0x1e775
movswl 0x14(%r12), %eax
movq %rax, 0x20(%rsp)
movswl 0x16(%r12), %eax
movq %rax, 0x30(%rsp)
movzwl 0x18(%r12), %r13d
movzwl 0x12(%r12), %ebp
subl %ebp, %r13d
testl %r13d, %r13d
movl $0x0, %eax
cmovlel %eax, %r13d
movzwl 0x1a(%r12), %ebx
subl %ebp, %ebx
testl %ebx, %ebx
cmovlel %eax, %ebx
movzwl 0x10(%r12), %r15d
movl 0x1c(%r12), %eax
movl %eax, %ecx
shrl $0x10, %ecx
movzbl %al, %edx
shll $0x10, %edx
andl $0xff00, %eax           # imm = 0xFF00
orl %edx, %eax
movzbl %cl, %edx
orl %eax, %edx
movq (%r14), %rsi
movq 0x8(%r14), %rdi
callq 0x3270
movq (%r14), %rsi
movq 0x8(%r14), %rdi
movl %ebp, %edx
xorl %ecx, %ecx
pushq $0x1
popq %r8
movl %r8d, %ebp
xorl %r9d, %r9d
callq 0x3320
testl %r15d, %r15d
je 0x1e82e
movq %r15, %rax
movq %rax, 0x40(%rsp)
movq 0x20(%rsp), %rax
addl %r15d, %eax
movq 0x30(%rsp), %rdx
leal (%r15,%rdx), %esi
movl %esi, 0x60(%rsp)
movq %rdx, %r8
addl %r15d, %r15d
movl %r13d, %r9d
subl %r15d, %r9d
movl %ebx, %ebp
subl %r15d, %ebp
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
movswl %ax, %ecx
movl %ecx, 0x70(%rsp)
movswl %r9w, %r9d
addl %ecx, %r9d
movl %r9d, 0x50(%rsp)
movl %r8d, (%rsp)
callq 0x3230
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
addl 0x20(%rsp), %r13d
movswl 0x60(%rsp), %r8d
movl %r8d, 0x60(%rsp)
movswl %bp, %ebp
addl %r8d, %ebp
movl %ebp, (%rsp)
movl %r13d, %ecx
movl %r13d, %r9d
callq 0x3230
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
addl 0x30(%rsp), %ebx
movl %ebx, (%rsp)
movl 0x70(%rsp), %ecx
movl %ebx, %r8d
movl 0x50(%rsp), %ebx
movl %ebx, %r9d
callq 0x3230
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
movl %ebp, (%rsp)
movq 0x20(%rsp), %r13
movl %r13d, %ecx
movl 0x60(%rsp), %r8d
movl %r13d, %r9d
callq 0x3230
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
subl 0x40(%rsp), %ebx
movl %ebx, 0x50(%rsp)
andl $0x0, 0x8(%rsp)
movl $0x1680, %eax           # imm = 0x1680
movl %eax, 0x10(%rsp)
movl %r15d, (%rsp)
movl %ebx, %ecx
movq 0x30(%rsp), %rbx
movl %ebx, %r8d
movl %r15d, %r9d
callq 0x3480
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
movl $0x1680, %eax           # imm = 0x1680
movl %eax, 0x10(%rsp)
movl %eax, 0x8(%rsp)
movl %r15d, (%rsp)
movl %r13d, %ecx
movl %ebx, %r8d
movl %r15d, %r9d
callq 0x3480
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
subl 0x40(%rsp), %ebp
movl $0x1680, %ebx           # imm = 0x1680
movl %ebx, 0x10(%rsp)
movl %r15d, (%rsp)
movl $0x2d00, 0x8(%rsp)      # imm = 0x2D00
movl %r13d, %ecx
movl %ebp, %r8d
movl %r15d, %r9d
callq 0x3480
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
movl %ebx, 0x10(%rsp)
movl %r15d, (%rsp)
movl $0xffffe980, 0x8(%rsp)  # imm = 0xFFFFE980
movl 0x50(%rsp), %ecx
movl %ebp, %r8d
movl %r15d, %r9d
callq 0x3480
movq (%r14), %rsi
movq 0x8(%r14), %rdi
pushq $0x1
popq %rdx
xorl %ecx, %ecx
movl %edx, %r8d
movl %edx, %ebx
jmp 0x1e77f
movl %ebx, %r8d
movzwl 0x10(%r12), %ebx
movl 0x1a(%r12), %r15d
movl 0x1e(%r12), %eax
movl %eax, 0x20(%rsp)
movl 0x12(%r12), %r13d
movl 0x16(%r12), %eax
movl %eax, 0x30(%rsp)
movl 0x22(%r12), %ebp
movd %r13d, %xmm0
movdqa %xmm0, 0x60(%rsp)
movq (%r14), %rsi
movq 0x8(%r14), %rdi
movl %ebx, %edx
xorl %ecx, %ecx
xorl %r9d, %r9d
callq 0x3320
movdqa 0x60(%rsp), %xmm5
shll $0x10, %r13d
movl 0x30(%rsp), %ecx
movl %ecx, %eax
shll $0x10, %eax
movd %r13d, %xmm0
punpckldq %xmm5, %xmm0    # xmm0 = xmm0[0],xmm5[0],xmm0[1],xmm5[1]
psrad $0x10, %xmm0
movd %r15d, %xmm1
shll $0x10, %r15d
movd %r15d, %xmm2
punpckldq %xmm1, %xmm2    # xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]
psrad $0x10, %xmm2
movl 0x20(%rsp), %edx
movd %edx, %xmm1
shll $0x10, %edx
movd %edx, %xmm3
punpckldq %xmm1, %xmm3    # xmm3 = xmm3[0],xmm1[0],xmm3[1],xmm1[1]
psrad $0x10, %xmm3
movd %ecx, %xmm1
movd %eax, %xmm4
punpckldq %xmm1, %xmm4    # xmm4 = xmm4[0],xmm1[0],xmm4[1],xmm1[1]
psrad $0x10, %xmm4
cvtdq2ps %xmm0, %xmm0
movaps %xmm0, 0x30(%rsp)
cvtdq2ps %xmm2, %xmm0
movaps %xmm0, 0x50(%rsp)
cvtdq2ps %xmm3, %xmm0
movaps %xmm0, 0x40(%rsp)
cvtdq2ps %xmm4, %xmm0
movaps %xmm0, 0x70(%rsp)
pushq $0x1
popq %r15
cmpl $0x17, %r15d
je 0x1e76e
cvtsi2ss %r15d, %xmm2
mulss 0x6113(%rip), %xmm2     # 0x24598
movss 0x60a7(%rip), %xmm3     # 0x24534
subss %xmm2, %xmm3
movaps %xmm3, %xmm1
mulss %xmm3, %xmm1
mulss %xmm3, %xmm1
movaps %xmm3, %xmm0
mulss 0x60e9(%rip), %xmm0     # 0x24590
mulss %xmm0, %xmm3
mulss %xmm2, %xmm3
mulss %xmm2, %xmm0
mulss %xmm2, %xmm0
movaps %xmm2, %xmm4
mulss %xmm2, %xmm4
mulss %xmm2, %xmm4
shufps $0x0, %xmm3, %xmm3      # xmm3 = xmm3[0,0,0,0]
mulps 0x50(%rsp), %xmm3
shufps $0x0, %xmm1, %xmm1      # xmm1 = xmm1[0,0,0,0]
mulps 0x30(%rsp), %xmm1
addps %xmm3, %xmm1
shufps $0x0, %xmm0, %xmm0      # xmm0 = xmm0[0,0,0,0]
mulps 0x40(%rsp), %xmm0
addps %xmm1, %xmm0
shufps $0x0, %xmm4, %xmm4      # xmm4 = xmm4[0,0,0,0]
mulps 0x70(%rsp), %xmm4
addps %xmm0, %xmm4
cvttps2dq %xmm4, %xmm0
movd %xmm0, %ecx
pextrw $0x2, %xmm0, %eax
packssdw %xmm0, %xmm0
movdqa %xmm0, 0x20(%rsp)
movd %xmm5, %edx
pextrw $0x1, %xmm5, %edi
movl %ebp, (%rsp)
movswl %ax, %r8d
movswl %dx, %esi
movswl %di, %edx
movq %r14, %rdi
movl %ebx, %r9d
callq 0x1e8c1
incl %r15d
movdqa 0x20(%rsp), %xmm5
jmp 0x1e46e
movswl 0x12(%r12), %esi
movswl 0x14(%r12), %edx
movswl 0x16(%r12), %ecx
movswl 0x18(%r12), %r8d
movzwl 0x10(%r12), %r9d
movl 0x1a(%r12), %eax
movl %eax, (%rsp)
movq %r14, %rdi
callq 0x1e8c1
jmp 0x1e817
movswl 0x10(%r12), %ebx
movswl 0x12(%r12), %ebp
movzwl 0x14(%r12), %r15d
movzwl 0x16(%r12), %r13d
movl 0x18(%r12), %eax
movl %eax, %ecx
shrl $0x10, %ecx
movzbl %al, %edx
shll $0x10, %edx
andl $0xff00, %eax           # imm = 0xFF00
orl %edx, %eax
movzbl %cl, %edx
orl %eax, %edx
movq (%r14), %rsi
movq 0x8(%r14), %rdi
callq 0x3270
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
andl $0x0, 0x8(%rsp)
movl %r13d, (%rsp)
movl $0x5a00, 0x10(%rsp)     # imm = 0x5A00
movl %ebx, %ecx
pushq $0x1
popq %rbx
movl %ebp, %r8d
movl %r15d, %r9d
callq 0x3260
jmp 0x1e817
movswl 0x12(%r12), %r13d
movl %r13d, 0x40(%rsp)
movswl 0x14(%r12), %eax
movl %eax, 0x50(%rsp)
movswl 0x16(%r12), %ebx
movswl 0x18(%r12), %ebp
movswl 0x1a(%r12), %eax
movl %eax, 0x20(%rsp)
movswl 0x1c(%r12), %eax
movl %eax, 0x30(%rsp)
movzwl 0x10(%r12), %r15d
movl 0x1e(%r12), %eax
movl %eax, %ecx
shrl $0x10, %ecx
movzbl %al, %edx
shll $0x10, %edx
andl $0xff00, %eax           # imm = 0xFF00
orl %edx, %eax
movzbl %cl, %edx
orl %eax, %edx
movq (%r14), %rsi
movq 0x8(%r14), %rdi
callq 0x3270
movq (%r14), %rsi
movq 0x8(%r14), %rdi
movl %r15d, %edx
xorl %ecx, %ecx
pushq $0x1
popq %r8
xorl %r9d, %r9d
callq 0x3320
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
movl %ebp, (%rsp)
movl %r13d, %ecx
movl 0x50(%rsp), %r13d
movl %r13d, %r8d
movl %ebx, %r9d
callq 0x3230
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
movl 0x30(%rsp), %r15d
movl %r15d, (%rsp)
movl %ebx, %ecx
pushq $0x1
popq %rbx
movl %ebp, %r8d
movl 0x20(%rsp), %ebp
movl %ebp, %r9d
callq 0x3230
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
movl %r13d, (%rsp)
movl %ebp, %ecx
movl %r15d, %r8d
movl 0x40(%rsp), %r9d
callq 0x3230
movq (%r14), %rsi
movq 0x8(%r14), %rdi
jmp 0x1e778
movzwl 0x16(%r12), %r15d
movl %ebx, %ebp
movzwl 0x14(%r12), %ebx
movl 0x10(%r12), %eax
movl %eax, %ecx
shrl $0x10, %ecx
movzbl %al, %edx
shll $0x10, %edx
andl $0xff00, %eax           # imm = 0xFF00
orl %edx, %eax
movzbl %cl, %edx
orl %eax, %edx
movq (%r14), %rsi
movq 0x8(%r14), %rdi
callq 0x3270
movq (%r14), %rsi
movq 0x8(%r14), %rdi
movl %ebx, %edx
xorl %ecx, %ecx
movl %ebp, %r8d
xorl %r9d, %r9d
callq 0x3320
xorl %eax, %eax
leaq 0x1(%rax), %rbx
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
cmpq %r15, %rbx
jae 0x1e74e
movswl 0x18(%r12,%rax,4), %ecx
movswl 0x1a(%r12,%rax,4), %r8d
movswl 0x1c(%r12,%rax,4), %r9d
movswl 0x1e(%r12,%rax,4), %eax
movl %eax, (%rsp)
callq 0x3230
movq %rbx, %rax
jmp 0x1e715
movswl 0x14(%r12,%r15,4), %ecx
movswl 0x16(%r12,%r15,4), %r8d
movswl 0x18(%r12), %r9d
movswl 0x1a(%r12), %eax
movl %eax, (%rsp)
callq 0x3230
movq (%r14), %rsi
movq 0x8(%r14), %rdi
pushq $0x1
popq %rbx
movl %ebx, %edx
xorl %ecx, %ecx
movl %ebx, %r8d
xorl %r9d, %r9d
callq 0x3320
jmp 0x1e817
movl 0x1c(%r12), %eax
movl %eax, %ecx
shrl $0x10, %ecx
movzbl %al, %edx
shll $0x10, %edx
andl $0xff00, %eax           # imm = 0xFF00
orl %edx, %eax
movzbl %cl, %edx
orl %eax, %edx
movq 0x10(%r12), %rax
movq %rax, 0x90(%rsp)
movl 0x18(%r12), %eax
movl %eax, 0x98(%rsp)
movq (%r14), %rsi
movq 0x8(%r14), %rdi
callq 0x3270
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
andl $0x0, (%rsp)
leaq 0x90(%rsp), %rcx
pushq $0x3
popq %r8
pushq $0x2
popq %r9
callq 0x33f0
jmp 0x1e817
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
movq 0x20(%rsp), %rax
movl %eax, (%rsp)
movl %r15d, %ecx
movl %r13d, %r8d
movl %ebx, %r9d
callq 0x3280
pushq $0x1
popq %rbx
leaq 0x18df2(%rip), %rdi     # 0x37610
movq %r12, %rsi
callq 0xa0c3
movq %rax, %r12
jmp 0x1db74
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
movl %ebx, (%rsp)
movq 0x20(%rsp), %rcx
movq 0x30(%rsp), %r8
movl %r13d, %r9d
callq 0x32e0
movl %ebp, %ebx
jmp 0x1e817
movl %r15d, (%rsp)
movq %rcx, %rdx
movl 0x40(%rsp), %ecx
movl %ebp, %r8d
movq 0x30(%rsp), %r9
callq 0x3030
jmp 0x1e817
leaq 0x18d9d(%rip), %rdi     # 0x37610
callq 0x9aa6
movl 0x28(%r14), %eax
movl 0x2c(%r14), %edx
movq (%r14), %rcx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
andl $0x0, 0x18(%rsp)
andl $0x0, 0x10(%rsp)
movl %edx, 0x8(%rsp)
movl %eax, (%rsp)
movq 0x88(%rsp), %rdx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x3210
addq $0x298, %rsp            # imm = 0x298
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq