// File: /workspace/github_c_makefile_star2_O3/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 0x1d34d(%rip), %r14     # 0x3d610
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 0x19306(%rip), %rdi     # 0x39610
callq 0xaedf
testq %rax, %rax
je 0x20fef
movq %rax, %r15
movl (%r15), %eax
decl %eax
cmpl $0x10, %eax
ja 0x20f5f
leaq 0x742c(%rip), %rcx      # 0x2775c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq (%r14), %rsi
movq 0x8(%r14), %rdi
movq 0x10(%r15), %xmm0
paddw 0x6fa2(%rip), %xmm0     # 0x272f0
movq %xmm0, 0x90(%rsp)
movl $0x0, (%rsp)
xorl %edx, %edx
xorl %ecx, %ecx
leaq 0x90(%rsp), %r8
movl $0x1, %r9d
callq 0x34e0
jmp 0x20f5f
movq 0x18(%r15), %r12
testq %r12, %r12
je 0x20f5f
movswl 0x10(%r15), %ebx
movswl 0x12(%r15), %ebp
movzwl 0x14(%r15), %eax
movzwl 0x16(%r15), %r13d
movq 0x10(%r12), %rdx
testq %rdx, %rdx
je 0x203c9
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 (%r12), %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 0x20f5f
movzwl 0x14(%r15), %ebx
movl 0x10(%r15), %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 %ebx, %ebx
je 0x2045c
leal -0x1(%rbx), %eax
cmpl $0x7f, %eax
movl $0x7f, %ecx
cmovael %ecx, %eax
incl %eax
xorl %ecx, %ecx
movl 0x16(%r15,%rcx,4), %edx
movl %edx, 0x90(%rsp,%rcx,4)
incq %rcx
cmpq %rcx, %rax
jne 0x20448
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
movl $0x0, (%rsp)
leaq 0x90(%rsp), %rcx
movl %ebx, %r8d
jmp 0x20f54
movzwl 0x12(%r15), %eax
movzwl 0x14(%r15), %ecx
movswl %ax, %ebx
movswl %cx, %r12d
movzwl 0x16(%r15), %r13d
movzwl 0x18(%r15), %eax
movq %rax, 0x20(%rsp)
movzwl 0x10(%r15), %ebp
movl 0x1a(%r15), %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 0x20f8e
movq %rbp, %rax
movq %rbp, %rdx
addl %ebx, %eax
leal (%rbp,%r12), %ecx
movq %rbx, %rdi
leal (,%rbp,2), %ebx
movq %rdx, 0x50(%rsp)
movl %r13d, %edx
subl %ebx, %edx
movq 0x20(%rsp), %r8
movl %r8d, %esi
subl %ebx, %esi
movw %di, 0x90(%rsp)
movw %cx, 0x92(%rsp)
movw %ax, 0x94(%rsp)
movw %cx, 0x96(%rsp)
movw %ax, 0x98(%rsp)
movw %r12w, 0x9a(%rsp)
cwtl
movq %r12, %r9
movswl %dx, %r12d
addl %eax, %r12d
movw %r12w, 0x9c(%rsp)
movw %r9w, 0x9e(%rsp)
movq %r9, 0x40(%rsp)
movw %r12w, 0xa0(%rsp)
movw %cx, 0xa2(%rsp)
movq %rdi, 0x30(%rsp)
addl %edi, %r13d
movw %r13w, 0xa4(%rsp)
movw %cx, 0xa6(%rsp)
movw %r13w, 0xa8(%rsp)
movswl %cx, %ecx
movswl %si, %r13d
addl %ecx, %r13d
movw %r13w, 0xaa(%rsp)
movw %r12w, 0xac(%rsp)
movw %r13w, 0xae(%rsp)
movw %r12w, 0xb0(%rsp)
leal (%r9,%r8), %ecx
movw %cx, 0xb2(%rsp)
movw %ax, 0xb4(%rsp)
movw %cx, 0xb6(%rsp)
movw %ax, 0xb8(%rsp)
movw %r13w, 0xba(%rsp)
movw %di, 0xbc(%rsp)
movw %r13w, 0xbe(%rsp)
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
xorl %eax, %eax
movl %eax, (%rsp)
leaq 0x90(%rsp), %rcx
movl $0xc, %r8d
movl $0x2, %r9d
callq 0x33f0
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
subl %ebp, %r12d
movl $0x1680, %eax           # imm = 0x1680
movl %eax, 0x10(%rsp)
xorl %eax, %eax
movl %eax, 0x8(%rsp)
movl %ebx, (%rsp)
movl %r12d, %ecx
movq 0x40(%rsp), %rbp
movl %ebp, %r8d
movl %ebx, %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 %ebx, (%rsp)
movq 0x30(%rsp), %rcx
movl %ebp, %r8d
movl %ebx, %r9d
callq 0x3260
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
subl 0x50(%rsp), %r13d
movl $0x1680, %ebp           # imm = 0x1680
movl %ebp, 0x10(%rsp)
movl %ebx, (%rsp)
movl $0x2d00, 0x8(%rsp)      # imm = 0x2D00
movq 0x30(%rsp), %rcx
movl %r13d, %r8d
movl %ebx, %r9d
callq 0x3260
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
movl %ebp, 0x10(%rsp)
movl %ebx, (%rsp)
movl $0xffffe980, 0x8(%rsp)  # imm = 0xFFFFE980
movl %r12d, %ecx
movl %r13d, %r8d
movl %ebx, %r9d
jmp 0x20d41
movswl 0x20(%r15), %eax
movl %eax, 0x30(%rsp)
movswl 0x22(%r15), %ebp
movzwl 0x24(%r15), %eax
movl %eax, 0x20(%rsp)
movzwl 0x26(%r15), %ebx
movl 0x2c(%r15), %r12d
movq 0x10(%r15), %rax
movq (%rax), %r13
movl 0x18(%r15), %eax
movl 0x1c(%r15), %ecx
movl %ecx, 0x40(%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)
movl %ebp, %ebx
movl 0x30(%rsp), %ebp
movl %ebp, %ecx
movl %ebx, %r8d
movl 0x20(%rsp), %r9d
callq 0x3280
testq %r13, %r13
sete %al
movl %r12d, 0x20(%rsp)
testl %r12d, %r12d
sete %cl
orb %al, %cl
jne 0x20f5f
leaq 0x30(%r15), %r12
movl 0x40(%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
addl (%r13), %ebx
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 0x20fd3
movl 0x20(%rsp), %eax
movl %eax, 0x8(%rsp)
movq %r12, (%rsp)
movl %ebp, %r8d
movl %ebx, %r9d
callq 0x3450
jmp 0x20f5f
movswl 0x10(%r15), %eax
movl %eax, 0x20(%rsp)
movswl 0x12(%r15), %ebp
movzwl 0x16(%r15), %r12d
movzwl 0x18(%r15), %ebx
movzwl 0x14(%r15), %edx
movl 0x1a(%r15), %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
movl $0x1, %r8d
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
movl %ebx, (%rsp)
movl $0x5a00, 0x10(%rsp)     # imm = 0x5A00
movl $0x0, 0x8(%rsp)
movl 0x20(%rsp), %ecx
movl %ebp, %r8d
jmp 0x20af9
movzwl 0x16(%r15), %r12d
movzwl 0x14(%r15), %edx
movl 0x10(%r15), %eax
movl %eax, %ecx
shrl $0x10, %ecx
movzbl %al, %esi
shll $0x10, %esi
andl $0xff00, %eax           # imm = 0xFF00
orl %esi, %eax
movzbl %cl, %ebx
orl %eax, %ebx
movq (%r14), %rsi
movq 0x8(%r14), %rdi
xorl %ecx, %ecx
movl $0x1, %r8d
xorl %r9d, %r9d
callq 0x3320
movq (%r14), %rsi
movq 0x8(%r14), %rdi
movq %rbx, %rdx
callq 0x3270
cmpq $0x2, %r12
jb 0x20ed8
decl %r12d
xorl %eax, %eax
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
movswl 0x18(%r15,%rax,4), %ecx
movswl 0x1a(%r15,%rax,4), %r8d
leaq 0x1(%rax), %rbx
movswl 0x1c(%r15,%rax,4), %r9d
movswl 0x1e(%r15,%rax,4), %eax
movl %eax, (%rsp)
callq 0x3230
movq %rbx, %rax
cmpq %rbx, %r12
jne 0x208ae
jmp 0x20ed8
movswl 0x14(%r15), %eax
movq %rax, 0x20(%rsp)
movswl 0x16(%r15), %eax
movq %rax, 0x30(%rsp)
movzwl 0x18(%r15), %ebp
movzwl 0x12(%r15), %ebx
subl %ebx, %ebp
testl %ebp, %ebp
movl $0x0, %eax
cmovlel %eax, %ebp
movzwl 0x1a(%r15), %r13d
subl %ebx, %r13d
testl %r13d, %r13d
cmovlel %eax, %r13d
movzwl 0x10(%r15), %r12d
movl 0x1c(%r15), %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 $0x1, %r8d
xorl %r9d, %r9d
callq 0x3320
testl %r12d, %r12d
je 0x20fb0
movq %r12, %rax
movq %rax, 0x50(%rsp)
movq 0x20(%rsp), %rax
addl %r12d, %eax
movq 0x30(%rsp), %rsi
leal (%r12,%rsi), %ecx
movl %ecx, 0x60(%rsp)
movq %rsi, %r8
addl %r12d, %r12d
movl %ebp, %r9d
subl %r12d, %r9d
movl %r13d, %ebx
subl %r12d, %ebx
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, 0x40(%rsp)
movl %r8d, (%rsp)
callq 0x3230
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
addl 0x20(%rsp), %ebp
movswl 0x60(%rsp), %r8d
movl %r8d, 0x60(%rsp)
movswl %bx, %ebx
addl %r8d, %ebx
movl %ebx, (%rsp)
movl %ebp, %ecx
movl %ebp, %r9d
callq 0x3230
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
addl 0x30(%rsp), %r13d
movl %r13d, (%rsp)
movl 0x70(%rsp), %ecx
movl %r13d, %r8d
movl 0x40(%rsp), %ebp
movl %ebp, %r9d
callq 0x3230
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
movl %ebx, (%rsp)
movq 0x20(%rsp), %rcx
movl 0x60(%rsp), %r8d
movl %ecx, %r9d
callq 0x3230
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
subl 0x50(%rsp), %ebp
movl %ebp, 0x40(%rsp)
movl $0x1680, %eax           # imm = 0x1680
movl %eax, 0x10(%rsp)
movl %r12d, (%rsp)
movl $0x0, 0x8(%rsp)
movl %ebp, %ecx
movq 0x30(%rsp), %r13
movl %r13d, %r8d
movl %r12d, %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 %r12d, (%rsp)
movq 0x20(%rsp), %rbp
movl %ebp, %ecx
movl %r13d, %r8d
movl %r12d, %r9d
callq 0x3480
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
subl 0x50(%rsp), %ebx
movl $0x1680, %r13d          # imm = 0x1680
movl %r13d, 0x10(%rsp)
movl %r12d, (%rsp)
movl $0x2d00, 0x8(%rsp)      # imm = 0x2D00
movl %ebp, %ecx
movl %ebx, %r8d
movl %r12d, %r9d
callq 0x3480
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
movl %r13d, 0x10(%rsp)
movl %r12d, (%rsp)
movl $0xffffe980, 0x8(%rsp)  # imm = 0xFFFFE980
movl 0x40(%rsp), %ecx
movl %ebx, %r8d
movl %r12d, %r9d
callq 0x3480
jmp 0x20ed8
movzwl 0x10(%r15), %ebp
movl 0x1a(%r15), %eax
movl %eax, 0x20(%rsp)
movl 0x1e(%r15), %eax
movl %eax, 0x30(%rsp)
movl 0x12(%r15), %r13d
movl 0x16(%r15), %eax
movl %eax, 0x40(%rsp)
movl 0x22(%r15), %ebx
movl %r13d, %eax
shrl $0x10, %eax
movd %eax, %xmm0
pinsrw $0x1, %r13d, %xmm0
movdqa %xmm0, 0x60(%rsp)
movq (%r14), %rsi
movq 0x8(%r14), %rdi
movl $0x1, %r12d
movl %ebp, %edx
xorl %ecx, %ecx
movl $0x1, %r8d
xorl %r9d, %r9d
callq 0x3320
movdqa 0x60(%rsp), %xmm5
movl 0x30(%rsp), %esi
movl %esi, %eax
shll $0x10, %eax
movl 0x40(%rsp), %edx
movl %edx, %ecx
shll $0x10, %ecx
movd %r13d, %xmm0
shll $0x10, %r13d
movd %r13d, %xmm1
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
psrad $0x10, %xmm0
movl 0x20(%rsp), %edi
movd %edi, %xmm1
shll $0x10, %edi
movd %edi, %xmm2
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
psrad $0x10, %xmm1
movd %esi, %xmm2
movd %eax, %xmm3
punpckldq %xmm3, %xmm2    # xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1]
psrad $0x10, %xmm2
movd %edx, %xmm3
movd %ecx, %xmm4
punpckldq %xmm4, %xmm3    # xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1]
psrad $0x10, %xmm3
cvtdq2ps %xmm0, %xmm0
movaps %xmm0, 0x30(%rsp)
cvtdq2ps %xmm1, %xmm0
movaps %xmm0, 0x40(%rsp)
cvtdq2ps %xmm2, %xmm0
movaps %xmm0, 0x50(%rsp)
cvtdq2ps %xmm3, %xmm0
movaps %xmm0, 0x70(%rsp)
xorps %xmm2, %xmm2
cvtsi2ss %r12d, %xmm2
mulss 0x69bf(%rip), %xmm2     # 0x275b8
movss 0x6953(%rip), %xmm3     # 0x27554
subss %xmm2, %xmm3
movaps %xmm3, %xmm1
mulss %xmm3, %xmm1
mulss %xmm3, %xmm1
movaps %xmm3, %xmm0
mulss 0x6991(%rip), %xmm0     # 0x275ac
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 0x40(%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 0x50(%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, %r8d
pextrw $0x2, %xmm0, %eax
packssdw %xmm0, %xmm0
movdqa %xmm0, 0x20(%rsp)
movd %xmm5, %edx
pextrw $0x1, %xmm5, %esi
movl %ebx, (%rsp)
movswl %ax, %ecx
movswl %si, %esi
movswl %dx, %edx
movq %r14, %rdi
movl %ebp, %r9d
callq 0x21047
incl %r12d
movaps 0x20(%rsp), %xmm5
cmpl $0x17, %r12d
jne 0x20be9
jmp 0x20ed8
movswl 0x12(%r15), %esi
movswl 0x14(%r15), %edx
movswl 0x16(%r15), %ecx
movswl 0x18(%r15), %r8d
movzwl 0x10(%r15), %r9d
movl 0x1a(%r15), %eax
movl %eax, (%rsp)
movq %r14, %rdi
callq 0x21047
jmp 0x20f5f
movswl 0x10(%r15), %ebx
movswl 0x12(%r15), %ebp
movzwl 0x14(%r15), %r12d
movzwl 0x16(%r15), %r13d
movl 0x18(%r15), %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
movl %r13d, (%rsp)
movl $0x5a00, 0x10(%rsp)     # imm = 0x5A00
movl $0x0, 0x8(%rsp)
movl %ebx, %ecx
movl %ebp, %r8d
movl %r12d, %r9d
callq 0x3260
jmp 0x20f5f
movswl 0x12(%r15), %r13d
movl %r13d, 0x50(%rsp)
movswl 0x14(%r15), %ebp
movswl 0x16(%r15), %eax
movl %eax, 0x40(%rsp)
movswl 0x18(%r15), %ebx
movswl 0x1a(%r15), %eax
movl %eax, 0x20(%rsp)
movswl 0x1c(%r15), %eax
movl %eax, 0x30(%rsp)
movzwl 0x10(%r15), %r12d
movl 0x1e(%r15), %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 %r12d, %edx
xorl %ecx, %ecx
movl $0x1, %r8d
xorl %r9d, %r9d
callq 0x3320
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
movl %ebx, (%rsp)
movl %r13d, %ecx
movl %ebp, %r8d
movl 0x40(%rsp), %r13d
movl %r13d, %r9d
callq 0x3230
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
movl 0x30(%rsp), %r12d
movl %r12d, (%rsp)
movl %r13d, %ecx
movl %ebx, %r8d
movl 0x20(%rsp), %ebx
movl %ebx, %r9d
callq 0x3230
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
movl %ebp, (%rsp)
movl %ebx, %ecx
movl %r12d, %r8d
movl 0x50(%rsp), %r9d
jmp 0x20ed3
movzwl 0x16(%r15), %r12d
movzwl 0x14(%r15), %ebx
movl 0x10(%r15), %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 $0x1, %r8d
xorl %r9d, %r9d
callq 0x3320
cmpq $0x2, %r12
jb 0x20eaf
leaq -0x1(%r12), %rbx
xorl %r13d, %r13d
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
movswl 0x18(%r15,%r13,4), %ecx
movswl 0x1a(%r15,%r13,4), %r8d
movswl 0x1c(%r15,%r13,4), %r9d
movswl 0x1e(%r15,%r13,4), %eax
movl %eax, (%rsp)
callq 0x3230
incq %r13
cmpq %r13, %rbx
jne 0x20e7c
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
movswl 0x14(%r15,%r12,4), %ecx
movswl 0x16(%r15,%r12,4), %r8d
movswl 0x18(%r15), %r9d
movswl 0x1a(%r15), %eax
movl %eax, (%rsp)
callq 0x3230
movq (%r14), %rsi
movq 0x8(%r14), %rdi
movl $0x1, %edx
xorl %ecx, %ecx
movl $0x1, %r8d
xorl %r9d, %r9d
callq 0x3320
jmp 0x20f5f
movl 0x1c(%r15), %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(%r15), %rax
movq %rax, 0x90(%rsp)
movl 0x18(%r15), %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
movl $0x0, (%rsp)
leaq 0x90(%rsp), %rcx
movl $0x3, %r8d
movl $0x2, %r9d
callq 0x33f0
cmpl $0x0, 0x1c6a2(%rip)     # 0x3d608
je 0x20fef
movq 0x8(%r15), %r15
cmpq 0x1a5d1(%rip), %r15     # 0x3b548
jae 0x20fef
movq 0x1a5b0(%rip), %rax     # 0x3b530
addq %rax, %r15
testq %rax, %rax
jne 0x2031b
jmp 0x20fef
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
movq 0x20(%rsp), %rax
movl %eax, (%rsp)
movl %ebx, %ecx
movl %r12d, %r8d
movl %r13d, %r9d
callq 0x3280
jmp 0x20f5f
movq (%r14), %rdx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
movl %r13d, (%rsp)
movq 0x20(%rsp), %rcx
movq 0x30(%rsp), %r8
movl %ebp, %r9d
callq 0x32e0
jmp 0x20f5f
movl 0x20(%rsp), %eax
movl %eax, (%rsp)
movq %rcx, %rdx
movl %ebp, %ecx
movl %ebx, %r8d
movq %r12, %r9
callq 0x3030
jmp 0x20f5f
leaq 0x1861a(%rip), %rdi     # 0x39610
callq 0xaa55
movl 0x28(%r14), %eax
movl 0x2c(%r14), %edx
movq (%r14), %rcx
movq 0x8(%r14), %rdi
movq 0x20(%r14), %rsi
xorl %r8d, %r8d
movl %r8d, 0x18(%rsp)
movl %r8d, 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