// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/./nuklear/nuklear.h
// Function: nk_draw_list_stroke_poly_line
NK_API void
nk_draw_list_stroke_poly_line(struct nk_draw_list *list, const struct nk_vec2 *points,
    const unsigned int points_count, struct nk_color color, enum nk_draw_list_stroke closed,
    float thickness, enum nk_anti_aliasing aliasing)
{
    nk_size count;
    int thick_line;
    struct nk_colorf col;
    struct nk_colorf col_trans;
    NK_ASSERT(list);
    if (!list || points_count < 2) return;

    color.a = (nk_byte)((float)color.a * list->config.global_alpha);
    count = points_count;
    if (!closed) count = points_count-1;
    thick_line = thickness > 1.0f;

#ifdef NK_INCLUDE_COMMAND_USERDATA
    nk_draw_list_push_userdata(list, list->userdata);
#endif

    color.a = (nk_byte)((float)color.a * list->config.global_alpha);
    nk_color_fv(&col.r, color);
    col_trans = col;
    col_trans.a = 0;

    if (aliasing == NK_ANTI_ALIASING_ON) {
        /* ANTI-ALIASED STROKE */
        const float AA_SIZE = 1.0f;
        NK_STORAGE const nk_size pnt_align = NK_ALIGNOF(struct nk_vec2);
        NK_STORAGE const nk_size pnt_size = sizeof(struct nk_vec2);

        /* allocate vertices and elements  */
        nk_size i1 = 0;
        nk_size vertex_offset;
        nk_size index = list->vertex_count;

        const nk_size idx_count = (thick_line) ?  (count * 18) : (count * 12);
        const nk_size vtx_count = (thick_line) ? (points_count * 4): (points_count *3);

        void *vtx = nk_draw_list_alloc_vertices(list, vtx_count);
        nk_draw_index *ids = nk_draw_list_alloc_elements(list, idx_count);

        nk_size size;
        struct nk_vec2 *normals, *temp;
        if (!vtx || !ids) return;

        /* temporary allocate normals + points */
        vertex_offset = (nk_size)((nk_byte*)vtx - (nk_byte*)list->vertices->memory.ptr);
        nk_buffer_mark(list->vertices, NK_BUFFER_FRONT);
        size = pnt_size * ((thick_line) ? 5 : 3) * points_count;
        normals = (struct nk_vec2*) nk_buffer_alloc(list->vertices, NK_BUFFER_FRONT, size, pnt_align);
        if (!normals) return;
        temp = normals + points_count;

        /* make sure vertex pointer is still correct */
        vtx = (void*)((nk_byte*)list->vertices->memory.ptr + vertex_offset);

        /* calculate normals */
        for (i1 = 0; i1 < count; ++i1) {
            const nk_size i2 = ((i1 + 1) == points_count) ? 0 : (i1 + 1);
            struct nk_vec2 diff = nk_vec2_sub(points[i2], points[i1]);
            float len;

            /* vec2 inverted length  */
            len = nk_vec2_len_sqr(diff);
            if (len != 0.0f)
                len = NK_INV_SQRT(len);
            else len = 1.0f;

            diff = nk_vec2_muls(diff, len);
            normals[i1].x = diff.y;
            normals[i1].y = -diff.x;
        }

        if (!closed)
            normals[points_count-1] = normals[points_count-2];

        if (!thick_line) {
            nk_size idx1, i;
            if (!closed) {
                struct nk_vec2 d;
                temp[0] = nk_vec2_add(points[0], nk_vec2_muls(normals[0], AA_SIZE));
                temp[1] = nk_vec2_sub(points[0], nk_vec2_muls(normals[0], AA_SIZE));
                d = nk_vec2_muls(normals[points_count-1], AA_SIZE);
                temp[(points_count-1) * 2 + 0] = nk_vec2_add(points[points_count-1], d);
                temp[(points_count-1) * 2 + 1] = nk_vec2_sub(points[points_count-1], d);
            }

            /* fill elements */
            idx1 = index;
            for (i1 = 0; i1 < count; i1++) {
                struct nk_vec2 dm;
                float dmr2;
                nk_size i2 = ((i1 + 1) == points_count) ? 0 : (i1 + 1);
                nk_size idx2 = ((i1+1) == points_count) ? index: (idx1 + 3);

                /* average normals */
                dm = nk_vec2_muls(nk_vec2_add(normals[i1], normals[i2]), 0.5f);
                dmr2 = dm.x * dm.x + dm.y* dm.y;
                if (dmr2 > 0.000001f) {
                    float scale = 1.0f/dmr2;
                    scale = NK_MIN(100.0f, scale);
                    dm = nk_vec2_muls(dm, scale);
                }

                dm = nk_vec2_muls(dm, AA_SIZE);
                temp[i2*2+0] = nk_vec2_add(points[i2], dm);
                temp[i2*2+1] = nk_vec2_sub(points[i2], dm);

                ids[0] = (nk_draw_index)(idx2 + 0); ids[1] = (nk_draw_index)(idx1+0);
                ids[2] = (nk_draw_index)(idx1 + 2); ids[3] = (nk_draw_index)(idx1+2);
                ids[4] = (nk_draw_index)(idx2 + 2); ids[5] = (nk_draw_index)(idx2+0);
                ids[6] = (nk_draw_index)(idx2 + 1); ids[7] = (nk_draw_index)(idx1+1);
                ids[8] = (nk_draw_index)(idx1 + 0); ids[9] = (nk_draw_index)(idx1+0);
                ids[10]= (nk_draw_index)(idx2 + 0); ids[11]= (nk_draw_index)(idx2+1);
                ids += 12;
                idx1 = idx2;
            }

            /* fill vertices */
            for (i = 0; i < points_count; ++i) {
                const struct nk_vec2 uv = list->config.tex_null.uv;
                vtx = nk_draw_vertex(vtx, &list->config, points[i], uv, col);
                vtx = nk_draw_vertex(vtx, &list->config, temp[i*2+0], uv, col_trans);
                vtx = nk_draw_vertex(vtx, &list->config, temp[i*2+1], uv, col_trans);
            }
        } else {
            nk_size idx1, i;
            const float half_inner_thickness = (thickness - AA_SIZE) * 0.5f;
            if (!closed) {
                struct nk_vec2 d1 = nk_vec2_muls(normals[0], half_inner_thickness + AA_SIZE);
                struct nk_vec2 d2 = nk_vec2_muls(normals[0], half_inner_thickness);

                temp[0] = nk_vec2_add(points[0], d1);
                temp[1] = nk_vec2_add(points[0], d2);
                temp[2] = nk_vec2_sub(points[0], d2);
                temp[3] = nk_vec2_sub(points[0], d1);

                d1 = nk_vec2_muls(normals[points_count-1], half_inner_thickness + AA_SIZE);
                d2 = nk_vec2_muls(normals[points_count-1], half_inner_thickness);

                temp[(points_count-1)*4+0] = nk_vec2_add(points[points_count-1], d1);
                temp[(points_count-1)*4+1] = nk_vec2_add(points[points_count-1], d2);
                temp[(points_count-1)*4+2] = nk_vec2_sub(points[points_count-1], d2);
                temp[(points_count-1)*4+3] = nk_vec2_sub(points[points_count-1], d1);
            }

            /* add all elements */
            idx1 = index;
            for (i1 = 0; i1 < count; ++i1) {
                struct nk_vec2 dm_out, dm_in;
                const nk_size i2 = ((i1+1) == points_count) ? 0: (i1 + 1);
                nk_size idx2 = ((i1+1) == points_count) ? index: (idx1 + 4);

                /* average normals */
                struct nk_vec2 dm = nk_vec2_muls(nk_vec2_add(normals[i1], normals[i2]), 0.5f);
                float dmr2 = dm.x * dm.x + dm.y* dm.y;
                if (dmr2 > 0.000001f) {
                    float scale = 1.0f/dmr2;
                    scale = NK_MIN(100.0f, scale);
                    dm = nk_vec2_muls(dm, scale);
                }

                dm_out = nk_vec2_muls(dm, ((half_inner_thickness) + AA_SIZE));
                dm_in = nk_vec2_muls(dm, half_inner_thickness);
                temp[i2*4+0] = nk_vec2_add(points[i2], dm_out);
                temp[i2*4+1] = nk_vec2_add(points[i2], dm_in);
                temp[i2*4+2] = nk_vec2_sub(points[i2], dm_in);
                temp[i2*4+3] = nk_vec2_sub(points[i2], dm_out);

                /* add indexes */
                ids[0] = (nk_draw_index)(idx2 + 1); ids[1] = (nk_draw_index)(idx1+1);
                ids[2] = (nk_draw_index)(idx1 + 2); ids[3] = (nk_draw_index)(idx1+2);
                ids[4] = (nk_draw_index)(idx2 + 2); ids[5] = (nk_draw_index)(idx2+1);
                ids[6] = (nk_draw_index)(idx2 + 1); ids[7] = (nk_draw_index)(idx1+1);
                ids[8] = (nk_draw_index)(idx1 + 0); ids[9] = (nk_draw_index)(idx1+0);
                ids[10]= (nk_draw_index)(idx2 + 0); ids[11] = (nk_draw_index)(idx2+1);
                ids[12]= (nk_draw_index)(idx2 + 2); ids[13] = (nk_draw_index)(idx1+2);
                ids[14]= (nk_draw_index)(idx1 + 3); ids[15] = (nk_draw_index)(idx1+3);
                ids[16]= (nk_draw_index)(idx2 + 3); ids[17] = (nk_draw_index)(idx2+2);
                ids += 18;
                idx1 = idx2;
            }

            /* add vertices */
            for (i = 0; i < points_count; ++i) {
                const struct nk_vec2 uv = list->config.tex_null.uv;
                vtx = nk_draw_vertex(vtx, &list->config, temp[i*4+0], uv, col_trans);
                vtx = nk_draw_vertex(vtx, &list->config, temp[i*4+1], uv, col);
                vtx = nk_draw_vertex(vtx, &list->config, temp[i*4+2], uv, col);
                vtx = nk_draw_vertex(vtx, &list->config, temp[i*4+3], uv, col_trans);
            }
        }
        /* free temporary normals + points */
        nk_buffer_reset(list->vertices, NK_BUFFER_FRONT);
    } else {
        /* NON ANTI-ALIASED STROKE */
        nk_size i1 = 0;
        nk_size idx = list->vertex_count;
        const nk_size idx_count = count * 6;
        const nk_size vtx_count = count * 4;
        void *vtx = nk_draw_list_alloc_vertices(list, vtx_count);
        nk_draw_index *ids = nk_draw_list_alloc_elements(list, idx_count);
        if (!vtx || !ids) return;

        for (i1 = 0; i1 < count; ++i1) {
            float dx, dy;
            const struct nk_vec2 uv = list->config.tex_null.uv;
            const nk_size i2 = ((i1+1) == points_count) ? 0 : i1 + 1;
            const struct nk_vec2 p1 = points[i1];
            const struct nk_vec2 p2 = points[i2];
            struct nk_vec2 diff = nk_vec2_sub(p2, p1);
            float len;

            /* vec2 inverted length  */
            len = nk_vec2_len_sqr(diff);
            if (len != 0.0f)
                len = NK_INV_SQRT(len);
            else len = 1.0f;
            diff = nk_vec2_muls(diff, len);

            /* add vertices */
            dx = diff.x * (thickness * 0.5f);
            dy = diff.y * (thickness * 0.5f);

            vtx = nk_draw_vertex(vtx, &list->config, nk_vec2(p1.x + dy, p1.y - dx), uv, col);
            vtx = nk_draw_vertex(vtx, &list->config, nk_vec2(p2.x + dy, p2.y - dx), uv, col);
            vtx = nk_draw_vertex(vtx, &list->config, nk_vec2(p2.x - dy, p2.y + dx), uv, col);
            vtx = nk_draw_vertex(vtx, &list->config, nk_vec2(p1.x - dy, p1.y + dx), uv, col);

            ids[0] = (nk_draw_index)(idx+0); ids[1] = (nk_draw_index)(idx+1);
            ids[2] = (nk_draw_index)(idx+2); ids[3] = (nk_draw_index)(idx+0);
            ids[4] = (nk_draw_index)(idx+2); ids[5] = (nk_draw_index)(idx+3);

            ids += 6;
            idx += 4;
        }
    }
}

// Assembly:
subq $0x4d8, %rsp            # imm = 0x4D8
movl %ecx, 0x4d4(%rsp)
movq %rdi, 0x4c8(%rsp)
movq %rsi, 0x4c0(%rsp)
movl %edx, 0x4bc(%rsp)
movl %r8d, 0x4b8(%rsp)
movss %xmm0, 0x4b4(%rsp)
movl %r9d, 0x4b0(%rsp)
cmpq $0x0, 0x4c8(%rsp)
jne 0x353bc
movq 0x8fc60(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x7c006(%rip), %rsi     # 0xb13a0
leaq 0x7c01d(%rip), %rdx     # 0xb13be
movl $0x26bc, %ecx           # imm = 0x26BC
movb $0x0, %al
callq 0x13ec0
movq 0x8fc3c(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x353be
cmpq $0x0, 0x4c8(%rsp)
je 0x353d3
cmpl $0x2, 0x4bc(%rsp)
jae 0x353d8
jmp 0x375eb
movzbl 0x4d7(%rsp), %eax
cvtsi2ss %eax, %xmm0
movq 0x4c8(%rsp), %rax
movss 0x70(%rax), %xmm1
mulss %xmm1, %xmm0
cvttss2si %xmm0, %eax
movb %al, 0x4d7(%rsp)
movl 0x4bc(%rsp), %eax
movq %rax, 0x4a8(%rsp)
cmpl $0x0, 0x4b8(%rsp)
jne 0x3542d
movl 0x4bc(%rsp), %eax
subl $0x1, %eax
movl %eax, %eax
movq %rax, 0x4a8(%rsp)
movss 0x4b4(%rsp), %xmm0
movss 0x780aa(%rip), %xmm1    # 0xad4e8
ucomiss %xmm1, %xmm0
seta %al
movzbl %al, %eax
movl %eax, 0x4a4(%rsp)
movzbl 0x4d7(%rsp), %eax
cvtsi2ss %eax, %xmm0
movq 0x4c8(%rsp), %rax
movss 0x70(%rax), %xmm1
mulss %xmm1, %xmm0
cvttss2si %xmm0, %eax
movb %al, 0x4d7(%rsp)
leaq 0x494(%rsp), %rdi
movl 0x4d4(%rsp), %esi
callq 0x13870
movq 0x494(%rsp), %rax
movq %rax, 0x484(%rsp)
movq 0x49c(%rsp), %rax
movq %rax, 0x48c(%rsp)
xorps %xmm0, %xmm0
movss %xmm0, 0x490(%rsp)
cmpl $0x1, 0x4b0(%rsp)
jne 0x37032
movss 0x7801c(%rip), %xmm0    # 0xad4e8
movss %xmm0, 0x480(%rsp)
movq $0x0, 0x478(%rsp)
movq 0x4c8(%rsp), %rax
movl 0xcc(%rax), %eax
movq %rax, 0x468(%rsp)
cmpl $0x0, 0x4a4(%rsp)
je 0x35514
imulq $0x12, 0x4a8(%rsp), %rax
movq %rax, 0x1b8(%rsp)
jmp 0x35525
imulq $0xc, 0x4a8(%rsp), %rax
movq %rax, 0x1b8(%rsp)
movq 0x1b8(%rsp), %rax
movq %rax, 0x460(%rsp)
cmpl $0x0, 0x4a4(%rsp)
je 0x35552
movl 0x4bc(%rsp), %eax
shll $0x2, %eax
movl %eax, 0x1b4(%rsp)
jmp 0x35561
imull $0x3, 0x4bc(%rsp), %eax
movl %eax, 0x1b4(%rsp)
movl 0x1b4(%rsp), %eax
movl %eax, %eax
movq %rax, 0x458(%rsp)
movq 0x4c8(%rsp), %rdi
movq 0x458(%rsp), %rsi
callq 0x37600
movq %rax, 0x450(%rsp)
movq 0x4c8(%rsp), %rdi
movq 0x460(%rsp), %rsi
callq 0x37730
movq %rax, 0x448(%rsp)
cmpq $0x0, 0x450(%rsp)
je 0x355c2
cmpq $0x0, 0x448(%rsp)
jne 0x355c7
jmp 0x375eb
movq 0x450(%rsp), %rax
movq 0x4c8(%rsp), %rcx
movq 0xb8(%rcx), %rcx
movq 0x40(%rcx), %rcx
subq %rcx, %rax
movq %rax, 0x470(%rsp)
movq 0x4c8(%rsp), %rax
movq 0xb8(%rax), %rdi
xorl %esi, %esi
callq 0x15110
movl 0x4a4(%rsp), %edx
movl $0x3, %eax
movl $0x5, %ecx
cmpl $0x0, %edx
cmovnel %ecx, %eax
cltq
shlq $0x3, %rax
movl 0x4bc(%rsp), %ecx
imulq %rcx, %rax
movq %rax, 0x440(%rsp)
movq 0x4c8(%rsp), %rax
movq 0xb8(%rax), %rdi
movq 0x440(%rsp), %rdx
xorl %esi, %esi
movl $0x4, %ecx
callq 0x2f2e0
movq %rax, 0x438(%rsp)
cmpq $0x0, 0x438(%rsp)
jne 0x3566e
jmp 0x375eb
movq 0x438(%rsp), %rax
movl 0x4bc(%rsp), %ecx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, 0x430(%rsp)
movq 0x4c8(%rsp), %rax
movq 0xb8(%rax), %rax
movq 0x40(%rax), %rax
addq 0x470(%rsp), %rax
movq %rax, 0x450(%rsp)
movq $0x0, 0x478(%rsp)
movq 0x478(%rsp), %rax
cmpq 0x4a8(%rsp), %rax
jae 0x35875
movq 0x478(%rsp), %rax
addq $0x1, %rax
movl 0x4bc(%rsp), %ecx
cmpq %rcx, %rax
jne 0x356f5
xorl %eax, %eax
movq %rax, 0x1a8(%rsp)
jmp 0x35709
movq 0x478(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x1a8(%rsp)
movq 0x1a8(%rsp), %rax
movq %rax, 0x428(%rsp)
movq 0x4c0(%rsp), %rax
movq 0x428(%rsp), %rdx
movq 0x478(%rsp), %rcx
movss (%rax,%rdx,8), %xmm0
movss 0x4(%rax,%rdx,8), %xmm1
movss (%rax,%rcx,8), %xmm3
movss 0x4(%rax,%rcx,8), %xmm2
subss %xmm3, %xmm0
subss %xmm2, %xmm1
callq 0x13460
movlpd %xmm0, 0x420(%rsp)
movss 0x420(%rsp), %xmm0
movss 0x420(%rsp), %xmm2
movss 0x424(%rsp), %xmm1
mulss 0x424(%rsp), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, 0x41c(%rsp)
movss 0x41c(%rsp), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x357a7
jp 0x357a7
jmp 0x357c0
movss 0x41c(%rsp), %xmm0
callq 0x37810
movss %xmm0, 0x41c(%rsp)
jmp 0x357d1
movss 0x77d20(%rip), %xmm0    # 0xad4e8
movss %xmm0, 0x41c(%rsp)
movss 0x41c(%rsp), %xmm2
movss 0x420(%rsp), %xmm0
movss 0x424(%rsp), %xmm1
mulss %xmm2, %xmm0
mulss %xmm2, %xmm1
callq 0x13460
movlpd %xmm0, 0x414(%rsp)
movq 0x414(%rsp), %rax
movq %rax, 0x420(%rsp)
movss 0x424(%rsp), %xmm0
movq 0x438(%rsp), %rax
movq 0x478(%rsp), %rcx
movss %xmm0, (%rax,%rcx,8)
movss 0x420(%rsp), %xmm0
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
movq 0x438(%rsp), %rax
movq 0x478(%rsp), %rcx
movss %xmm0, 0x4(%rax,%rcx,8)
movq 0x478(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x478(%rsp)
jmp 0x356bb
cmpl $0x0, 0x4b8(%rsp)
jne 0x358af
movq 0x438(%rsp), %rax
movl 0x4bc(%rsp), %ecx
subl $0x1, %ecx
movl %ecx, %ecx
movq 0x438(%rsp), %rdx
movl 0x4bc(%rsp), %esi
subl $0x2, %esi
movl %esi, %esi
movq (%rdx,%rsi,8), %rdx
movq %rdx, (%rax,%rcx,8)
cmpl $0x0, 0x4a4(%rsp)
jne 0x36271
cmpl $0x0, 0x4b8(%rsp)
jne 0x35bc2
movq 0x430(%rsp), %rax
movq %rax, 0x168(%rsp)
movq 0x4c0(%rsp), %rax
movss (%rax), %xmm0
movss %xmm0, 0x15c(%rsp)
movq 0x438(%rsp), %rax
movss (%rax), %xmm0
movss 0x4(%rax), %xmm1
callq 0x13460
movaps %xmm0, %xmm1
movss 0x15c(%rsp), %xmm0
movlpd %xmm1, 0x3e8(%rsp)
movss 0x3e8(%rsp), %xmm1
addss %xmm1, %xmm0
movss %xmm0, 0x164(%rsp)
movq 0x4c0(%rsp), %rax
movss 0x4(%rax), %xmm0
movss %xmm0, 0x160(%rsp)
movq 0x438(%rsp), %rax
movss (%rax), %xmm0
movss 0x4(%rax), %xmm1
callq 0x13460
movss 0x160(%rsp), %xmm1
movaps %xmm0, %xmm2
movss 0x164(%rsp), %xmm0
movlpd %xmm2, 0x3e0(%rsp)
movss 0x3e4(%rsp), %xmm2
addss %xmm2, %xmm1
callq 0x13460
movq 0x168(%rsp), %rax
movlpd %xmm0, 0x3f0(%rsp)
movq 0x3f0(%rsp), %rcx
movq %rcx, (%rax)
movq 0x430(%rsp), %rax
movq %rax, 0x180(%rsp)
movq 0x4c0(%rsp), %rax
movss (%rax), %xmm0
movss %xmm0, 0x174(%rsp)
movq 0x438(%rsp), %rax
movss (%rax), %xmm0
movss 0x4(%rax), %xmm1
callq 0x13460
movaps %xmm0, %xmm1
movss 0x174(%rsp), %xmm0
movlpd %xmm1, 0x3d0(%rsp)
movss 0x3d0(%rsp), %xmm1
subss %xmm1, %xmm0
movss %xmm0, 0x17c(%rsp)
movq 0x4c0(%rsp), %rax
movss 0x4(%rax), %xmm0
movss %xmm0, 0x178(%rsp)
movq 0x438(%rsp), %rax
movss (%rax), %xmm0
movss 0x4(%rax), %xmm1
callq 0x13460
movss 0x178(%rsp), %xmm1
movaps %xmm0, %xmm2
movss 0x17c(%rsp), %xmm0
movlpd %xmm2, 0x3c8(%rsp)
movss 0x3cc(%rsp), %xmm2
subss %xmm2, %xmm1
callq 0x13460
movq 0x180(%rsp), %rax
movlpd %xmm0, 0x3d8(%rsp)
movq 0x3d8(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq 0x438(%rsp), %rax
movl 0x4bc(%rsp), %ecx
decl %ecx
movss (%rax,%rcx,8), %xmm0
movss 0x4(%rax,%rcx,8), %xmm1
callq 0x13460
movlpd %xmm0, 0x3c0(%rsp)
movq 0x3c0(%rsp), %rax
movq %rax, 0x3f8(%rsp)
movq 0x430(%rsp), %rax
movq %rax, 0x190(%rsp)
movl 0x4bc(%rsp), %edx
movl %edx, %ecx
decl %ecx
movl %edx, %eax
leal -0x2(%rax,%rax), %eax
movq %rax, 0x188(%rsp)
movq 0x4c0(%rsp), %rax
movss (%rax,%rcx,8), %xmm0
movss 0x4(%rax,%rcx,8), %xmm1
movss 0x3f8(%rsp), %xmm3
movss 0x3fc(%rsp), %xmm2
addss %xmm3, %xmm0
addss %xmm2, %xmm1
callq 0x13460
movq 0x188(%rsp), %rcx
movq 0x190(%rsp), %rax
movlpd %xmm0, 0x3b8(%rsp)
movq 0x3b8(%rsp), %rdx
movq %rdx, (%rax,%rcx,8)
movq 0x430(%rsp), %rax
movq %rax, 0x1a0(%rsp)
movl 0x4bc(%rsp), %edx
movl %edx, %ecx
decl %ecx
movl %edx, %eax
leal -0x1(%rax,%rax), %eax
movq %rax, 0x198(%rsp)
movq 0x4c0(%rsp), %rax
movss (%rax,%rcx,8), %xmm0
movss 0x4(%rax,%rcx,8), %xmm1
movss 0x3f8(%rsp), %xmm3
movss 0x3fc(%rsp), %xmm2
subss %xmm3, %xmm0
subss %xmm2, %xmm1
callq 0x13460
movq 0x198(%rsp), %rcx
movq 0x1a0(%rsp), %rax
movlpd %xmm0, 0x3b0(%rsp)
movq 0x3b0(%rsp), %rdx
movq %rdx, (%rax,%rcx,8)
movq 0x468(%rsp), %rax
movq %rax, 0x408(%rsp)
movq $0x0, 0x478(%rsp)
movq 0x478(%rsp), %rax
cmpq 0x4a8(%rsp), %rax
jae 0x3611c
movq 0x478(%rsp), %rax
addq $0x1, %rax
movl 0x4bc(%rsp), %ecx
cmpq %rcx, %rax
jne 0x35c18
xorl %eax, %eax
movq %rax, 0x150(%rsp)
jmp 0x35c2c
movq 0x478(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x150(%rsp)
movq 0x150(%rsp), %rax
movq %rax, 0x398(%rsp)
movq 0x478(%rsp), %rax
addq $0x1, %rax
movl 0x4bc(%rsp), %ecx
cmpq %rcx, %rax
jne 0x35c66
movq 0x468(%rsp), %rax
movq %rax, 0x148(%rsp)
jmp 0x35c7a
movq 0x408(%rsp), %rax
addq $0x3, %rax
movq %rax, 0x148(%rsp)
movq 0x148(%rsp), %rax
movq %rax, 0x390(%rsp)
movq 0x438(%rsp), %rax
movq 0x478(%rsp), %rdx
movq 0x398(%rsp), %rcx
movss (%rax,%rdx,8), %xmm0
movss 0x4(%rax,%rdx,8), %xmm1
movss (%rax,%rcx,8), %xmm3
movss 0x4(%rax,%rcx,8), %xmm2
addss %xmm3, %xmm0
addss %xmm2, %xmm1
callq 0x13460
movlpd %xmm0, 0x380(%rsp)
movss 0x380(%rsp), %xmm0
movss 0x77835(%rip), %xmm1    # 0xad514
movss %xmm1, 0x140(%rsp)
mulss %xmm1, %xmm0
movss %xmm0, 0x144(%rsp)
movq 0x438(%rsp), %rax
movq 0x478(%rsp), %rdx
movq 0x398(%rsp), %rcx
movss (%rax,%rdx,8), %xmm0
movss 0x4(%rax,%rdx,8), %xmm1
movss (%rax,%rcx,8), %xmm3
movss 0x4(%rax,%rcx,8), %xmm2
addss %xmm3, %xmm0
addss %xmm2, %xmm1
callq 0x13460
movss 0x140(%rsp), %xmm2
movaps %xmm0, %xmm1
movss 0x144(%rsp), %xmm0
movlpd %xmm1, 0x378(%rsp)
movss 0x37c(%rsp), %xmm1
mulss %xmm2, %xmm1
callq 0x13460
movlpd %xmm0, 0x388(%rsp)
movq 0x388(%rsp), %rax
movq %rax, 0x3a8(%rsp)
movss 0x3a8(%rsp), %xmm0
movss 0x3a8(%rsp), %xmm2
movss 0x3ac(%rsp), %xmm1
mulss 0x3ac(%rsp), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, 0x3a4(%rsp)
movss 0x3a4(%rsp), %xmm0
movss 0x77759(%rip), %xmm1    # 0xad518
ucomiss %xmm1, %xmm0
jbe 0x35e70
movss 0x77718(%rip), %xmm0    # 0xad4e8
divss 0x3a4(%rsp), %xmm0
movss %xmm0, 0x374(%rsp)
movss 0x374(%rsp), %xmm0
movss 0x77729(%rip), %xmm1    # 0xad51c
ucomiss %xmm1, %xmm0
jbe 0x35e0b
movss 0x7771c(%rip), %xmm0    # 0xad51c
movss %xmm0, 0x13c(%rsp)
jmp 0x35e1d
movss 0x374(%rsp), %xmm0
movss %xmm0, 0x13c(%rsp)
movss 0x13c(%rsp), %xmm0
movss %xmm0, 0x374(%rsp)
movss 0x374(%rsp), %xmm2
movss 0x3a8(%rsp), %xmm0
movss 0x3ac(%rsp), %xmm1
mulss %xmm2, %xmm0
mulss %xmm2, %xmm1
callq 0x13460
movlpd %xmm0, 0x36c(%rsp)
movq 0x36c(%rsp), %rax
movq %rax, 0x3a8(%rsp)
movss 0x3a8(%rsp), %xmm0
movss 0x3ac(%rsp), %xmm1
callq 0x13460
movlpd %xmm0, 0x364(%rsp)
movq 0x364(%rsp), %rax
movq %rax, 0x3a8(%rsp)
movq 0x430(%rsp), %rax
movq %rax, 0x120(%rsp)
movq 0x398(%rsp), %rcx
movq %rcx, %rax
shlq $0x4, %rax
movq %rax, 0x118(%rsp)
movq 0x4c0(%rsp), %rax
movss (%rax,%rcx,8), %xmm0
movss 0x4(%rax,%rcx,8), %xmm1
movss 0x3a8(%rsp), %xmm3
movss 0x3ac(%rsp), %xmm2
addss %xmm3, %xmm0
addss %xmm2, %xmm1
callq 0x13460
movq 0x118(%rsp), %rcx
movq 0x120(%rsp), %rax
movlpd %xmm0, 0x35c(%rsp)
movq 0x35c(%rsp), %rdx
movq %rdx, (%rax,%rcx)
movq 0x430(%rsp), %rax
movq %rax, 0x130(%rsp)
movq 0x398(%rsp), %rcx
movq %rcx, %rax
addq %rax, %rax
movq %rax, 0x128(%rsp)
movq 0x4c0(%rsp), %rax
movss (%rax,%rcx,8), %xmm0
movss 0x4(%rax,%rcx,8), %xmm1
movss 0x3a8(%rsp), %xmm3
movss 0x3ac(%rsp), %xmm2
subss %xmm3, %xmm0
subss %xmm2, %xmm1
callq 0x13460
movq 0x128(%rsp), %rcx
movq 0x130(%rsp), %rax
movlpd %xmm0, 0x354(%rsp)
movq 0x354(%rsp), %rdx
movq %rdx, 0x8(%rax,%rcx,8)
movq 0x390(%rsp), %rax
addq $0x0, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, (%rax)
movq 0x408(%rsp), %rax
addq $0x0, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, 0x2(%rax)
movq 0x408(%rsp), %rax
addq $0x2, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, 0x4(%rax)
movq 0x408(%rsp), %rax
addq $0x2, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, 0x6(%rax)
movq 0x390(%rsp), %rax
addq $0x2, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, 0x8(%rax)
movq 0x390(%rsp), %rax
addq $0x0, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, 0xa(%rax)
movq 0x390(%rsp), %rax
addq $0x1, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, 0xc(%rax)
movq 0x408(%rsp), %rax
addq $0x1, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, 0xe(%rax)
movq 0x408(%rsp), %rax
addq $0x0, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, 0x10(%rax)
movq 0x408(%rsp), %rax
addq $0x0, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, 0x12(%rax)
movq 0x390(%rsp), %rax
addq $0x0, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, 0x14(%rax)
movq 0x390(%rsp), %rax
addq $0x1, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, 0x16(%rax)
movq 0x448(%rsp), %rax
addq $0x18, %rax
movq %rax, 0x448(%rsp)
movq 0x390(%rsp), %rax
movq %rax, 0x408(%rsp)
movq 0x478(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x478(%rsp)
jmp 0x35bde
movq $0x0, 0x400(%rsp)
movq 0x400(%rsp), %rax
movl 0x4bc(%rsp), %ecx
cmpq %rcx, %rax
jae 0x3626c
movq 0x4c8(%rsp), %rax
movq 0x90(%rax), %rax
movq %rax, 0x348(%rsp)
movq 0x450(%rsp), %rdi
movq 0x4c8(%rsp), %rsi
addq $0x70, %rsi
movq 0x4c0(%rsp), %rax
movq 0x400(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd 0x348(%rsp), %xmm1
movsd 0x494(%rsp), %xmm2
movsd 0x49c(%rsp), %xmm3
callq 0x378c0
movq %rax, 0x450(%rsp)
movq 0x450(%rsp), %rdi
movq 0x4c8(%rsp), %rsi
addq $0x70, %rsi
movq 0x430(%rsp), %rax
movq 0x400(%rsp), %rcx
shlq $0x4, %rcx
movsd (%rax,%rcx), %xmm0
movsd 0x348(%rsp), %xmm1
movsd 0x484(%rsp), %xmm2
movsd 0x48c(%rsp), %xmm3
callq 0x378c0
movq %rax, 0x450(%rsp)
movq 0x450(%rsp), %rdi
movq 0x4c8(%rsp), %rsi
addq $0x70, %rsi
movq 0x430(%rsp), %rax
movq 0x400(%rsp), %rcx
shlq $0x4, %rcx
movsd 0x8(%rax,%rcx), %xmm0
movsd 0x348(%rsp), %xmm1
movsd 0x484(%rsp), %xmm2
movsd 0x48c(%rsp), %xmm3
callq 0x378c0
movq %rax, 0x450(%rsp)
movq 0x400(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x400(%rsp)
jmp 0x36128
jmp 0x37017
movss 0x4b4(%rsp), %xmm0
movss 0x77266(%rip), %xmm1    # 0xad4e8
subss %xmm1, %xmm0
movss 0x77286(%rip), %xmm1    # 0xad514
mulss %xmm1, %xmm0
movss %xmm0, 0x334(%rsp)
cmpl $0x0, 0x4b8(%rsp)
jne 0x36745
movq 0x438(%rsp), %rax
movss 0x334(%rsp), %xmm2
movss 0x77226(%rip), %xmm0    # 0xad4e8
movss %xmm0, 0xd4(%rsp)
addss %xmm0, %xmm2
movss (%rax), %xmm0
movss 0x4(%rax), %xmm1
mulss %xmm2, %xmm0
mulss %xmm2, %xmm1
callq 0x13460
movlpd %xmm0, 0x328(%rsp)
movq 0x438(%rsp), %rax
movss 0x334(%rsp), %xmm2
movss (%rax), %xmm0
movss 0x4(%rax), %xmm1
mulss %xmm2, %xmm0
mulss %xmm2, %xmm1
callq 0x13460
movlpd %xmm0, 0x320(%rsp)
movq 0x430(%rsp), %rax
movq %rax, 0xb0(%rsp)
movq 0x4c0(%rsp), %rax
movss (%rax), %xmm0
movss 0x4(%rax), %xmm1
movss 0x328(%rsp), %xmm3
movss 0x32c(%rsp), %xmm2
addss %xmm3, %xmm0
addss %xmm2, %xmm1
callq 0x13460
movq 0xb0(%rsp), %rax
movlpd %xmm0, 0x318(%rsp)
movq 0x318(%rsp), %rcx
movq %rcx, (%rax)
movq 0x430(%rsp), %rax
movq %rax, 0xb8(%rsp)
movq 0x4c0(%rsp), %rax
movss (%rax), %xmm0
movss 0x4(%rax), %xmm1
movss 0x320(%rsp), %xmm3
movss 0x324(%rsp), %xmm2
addss %xmm3, %xmm0
addss %xmm2, %xmm1
callq 0x13460
movq 0xb8(%rsp), %rax
movlpd %xmm0, 0x310(%rsp)
movq 0x310(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq 0x430(%rsp), %rax
movq %rax, 0xc0(%rsp)
movq 0x4c0(%rsp), %rax
movss (%rax), %xmm0
movss 0x4(%rax), %xmm1
movss 0x320(%rsp), %xmm3
movss 0x324(%rsp), %xmm2
subss %xmm3, %xmm0
subss %xmm2, %xmm1
callq 0x13460
movq 0xc0(%rsp), %rax
movlpd %xmm0, 0x308(%rsp)
movq 0x308(%rsp), %rcx
movq %rcx, 0x10(%rax)
movq 0x430(%rsp), %rax
movq %rax, 0xc8(%rsp)
movq 0x4c0(%rsp), %rax
movss (%rax), %xmm0
movss 0x4(%rax), %xmm1
movss 0x328(%rsp), %xmm3
movss 0x32c(%rsp), %xmm2
subss %xmm3, %xmm0
subss %xmm2, %xmm1
callq 0x13460
movq 0xc8(%rsp), %rax
movaps %xmm0, %xmm1
movss 0xd4(%rsp), %xmm0
movlpd %xmm1, 0x300(%rsp)
movq 0x300(%rsp), %rcx
movq %rcx, 0x18(%rax)
movq 0x438(%rsp), %rax
movl 0x4bc(%rsp), %ecx
decl %ecx
movss 0x334(%rsp), %xmm2
addss %xmm0, %xmm2
movss (%rax,%rcx,8), %xmm0
movss 0x4(%rax,%rcx,8), %xmm1
mulss %xmm2, %xmm0
mulss %xmm2, %xmm1
callq 0x13460
movlpd %xmm0, 0x2f8(%rsp)
movq 0x2f8(%rsp), %rax
movq %rax, 0x328(%rsp)
movq 0x438(%rsp), %rax
movl 0x4bc(%rsp), %ecx
decl %ecx
movss 0x334(%rsp), %xmm2
movss (%rax,%rcx,8), %xmm0
movss 0x4(%rax,%rcx,8), %xmm1
mulss %xmm2, %xmm0
mulss %xmm2, %xmm1
callq 0x13460
movlpd %xmm0, 0x2f0(%rsp)
movq 0x2f0(%rsp), %rax
movq %rax, 0x320(%rsp)
movq 0x430(%rsp), %rax
movq %rax, 0xe0(%rsp)
movl 0x4bc(%rsp), %edx
movl %edx, %ecx
decl %ecx
movl %edx, %eax
leal -0x4(,%rax,4), %eax
movq %rax, 0xd8(%rsp)
movq 0x4c0(%rsp), %rax
movss (%rax,%rcx,8), %xmm0
movss 0x4(%rax,%rcx,8), %xmm1
movss 0x328(%rsp), %xmm3
movss 0x32c(%rsp), %xmm2
addss %xmm3, %xmm0
addss %xmm2, %xmm1
callq 0x13460
movq 0xd8(%rsp), %rcx
movq 0xe0(%rsp), %rax
movlpd %xmm0, 0x2e8(%rsp)
movq 0x2e8(%rsp), %rdx
movq %rdx, (%rax,%rcx,8)
movq 0x430(%rsp), %rax
movq %rax, 0xf0(%rsp)
movl 0x4bc(%rsp), %edx
movl %edx, %ecx
decl %ecx
movl %edx, %eax
leal -0x4(,%rax,4), %eax
movq %rax, 0xe8(%rsp)
movq 0x4c0(%rsp), %rax
movss (%rax,%rcx,8), %xmm0
movss 0x4(%rax,%rcx,8), %xmm1
movss 0x320(%rsp), %xmm3
movss 0x324(%rsp), %xmm2
addss %xmm3, %xmm0
addss %xmm2, %xmm1
callq 0x13460
movq 0xe8(%rsp), %rcx
movq 0xf0(%rsp), %rax
movlpd %xmm0, 0x2e0(%rsp)
movq 0x2e0(%rsp), %rdx
movq %rdx, 0x8(%rax,%rcx,8)
movq 0x430(%rsp), %rax
movq %rax, 0x100(%rsp)
movl 0x4bc(%rsp), %edx
movl %edx, %ecx
decl %ecx
movl %edx, %eax
leal -0x4(,%rax,4), %eax
movq %rax, 0xf8(%rsp)
movq 0x4c0(%rsp), %rax
movss (%rax,%rcx,8), %xmm0
movss 0x4(%rax,%rcx,8), %xmm1
movss 0x320(%rsp), %xmm3
movss 0x324(%rsp), %xmm2
subss %xmm3, %xmm0
subss %xmm2, %xmm1
callq 0x13460
movq 0xf8(%rsp), %rcx
movq 0x100(%rsp), %rax
movlpd %xmm0, 0x2d8(%rsp)
movq 0x2d8(%rsp), %rdx
movq %rdx, 0x10(%rax,%rcx,8)
movq 0x430(%rsp), %rax
movq %rax, 0x110(%rsp)
movl 0x4bc(%rsp), %edx
movl %edx, %ecx
decl %ecx
movl %edx, %eax
leal -0x1(,%rax,4), %eax
movq %rax, 0x108(%rsp)
movq 0x4c0(%rsp), %rax
movss (%rax,%rcx,8), %xmm0
movss 0x4(%rax,%rcx,8), %xmm1
movss 0x328(%rsp), %xmm3
movss 0x32c(%rsp), %xmm2
subss %xmm3, %xmm0
subss %xmm2, %xmm1
callq 0x13460
movq 0x108(%rsp), %rcx
movq 0x110(%rsp), %rax
movlpd %xmm0, 0x2d0(%rsp)
movq 0x2d0(%rsp), %rdx
movq %rdx, (%rax,%rcx,8)
movq 0x468(%rsp), %rax
movq %rax, 0x340(%rsp)
movq $0x0, 0x478(%rsp)
movq 0x478(%rsp), %rax
cmpq 0x4a8(%rsp), %rax
jae 0x36e6a
movq 0x478(%rsp), %rax
addq $0x1, %rax
movl 0x4bc(%rsp), %ecx
cmpq %rcx, %rax
jne 0x3679b
xorl %eax, %eax
movq %rax, 0xa8(%rsp)
jmp 0x367af
movq 0x478(%rsp), %rax
addq $0x1, %rax
movq %rax, 0xa8(%rsp)
movq 0xa8(%rsp), %rax
movq %rax, 0x2b8(%rsp)
movq 0x478(%rsp), %rax
addq $0x1, %rax
movl 0x4bc(%rsp), %ecx
cmpq %rcx, %rax
jne 0x367e9
movq 0x468(%rsp), %rax
movq %rax, 0xa0(%rsp)
jmp 0x367fd
movq 0x340(%rsp), %rax
addq $0x4, %rax
movq %rax, 0xa0(%rsp)
movq 0xa0(%rsp), %rax
movq %rax, 0x2b0(%rsp)
movq 0x438(%rsp), %rax
movq 0x478(%rsp), %rdx
movq 0x2b8(%rsp), %rcx
movss (%rax,%rdx,8), %xmm0
movss 0x4(%rax,%rdx,8), %xmm1
movss (%rax,%rcx,8), %xmm3
movss 0x4(%rax,%rcx,8), %xmm2
addss %xmm3, %xmm0
addss %xmm2, %xmm1
callq 0x13460
movlpd %xmm0, 0x2a0(%rsp)
movss 0x2a0(%rsp), %xmm0
movss 0x76cb2(%rip), %xmm1    # 0xad514
movss %xmm1, 0x98(%rsp)
mulss %xmm1, %xmm0
movss %xmm0, 0x9c(%rsp)
movq 0x438(%rsp), %rax
movq 0x478(%rsp), %rdx
movq 0x2b8(%rsp), %rcx
movss (%rax,%rdx,8), %xmm0
movss 0x4(%rax,%rdx,8), %xmm1
movss (%rax,%rcx,8), %xmm3
movss 0x4(%rax,%rcx,8), %xmm2
addss %xmm3, %xmm0
addss %xmm2, %xmm1
callq 0x13460
movss 0x98(%rsp), %xmm2
movaps %xmm0, %xmm1
movss 0x9c(%rsp), %xmm0
movlpd %xmm1, 0x298(%rsp)
movss 0x29c(%rsp), %xmm1
mulss %xmm2, %xmm1
callq 0x13460
movlpd %xmm0, 0x2a8(%rsp)
movss 0x2a8(%rsp), %xmm0
movss 0x2a8(%rsp), %xmm2
movss 0x2ac(%rsp), %xmm1
mulss 0x2ac(%rsp), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, 0x294(%rsp)
movss 0x294(%rsp), %xmm0
movss 0x76be6(%rip), %xmm1    # 0xad518
ucomiss %xmm1, %xmm0
jbe 0x369e3
movss 0x76ba5(%rip), %xmm0    # 0xad4e8
divss 0x294(%rsp), %xmm0
movss %xmm0, 0x290(%rsp)
movss 0x290(%rsp), %xmm0
movss 0x76bb6(%rip), %xmm1    # 0xad51c
ucomiss %xmm1, %xmm0
jbe 0x3697e
movss 0x76ba9(%rip), %xmm0    # 0xad51c
movss %xmm0, 0x94(%rsp)
jmp 0x36990
movss 0x290(%rsp), %xmm0
movss %xmm0, 0x94(%rsp)
movss 0x94(%rsp), %xmm0
movss %xmm0, 0x290(%rsp)
movss 0x290(%rsp), %xmm2
movss 0x2a8(%rsp), %xmm0
movss 0x2ac(%rsp), %xmm1
mulss %xmm2, %xmm0
mulss %xmm2, %xmm1
callq 0x13460
movlpd %xmm0, 0x288(%rsp)
movq 0x288(%rsp), %rax
movq %rax, 0x2a8(%rsp)
movss 0x334(%rsp), %xmm2
movss 0x76af4(%rip), %xmm0    # 0xad4e8
addss %xmm0, %xmm2
movss 0x2a8(%rsp), %xmm0
movss 0x2ac(%rsp), %xmm1
mulss %xmm2, %xmm0
mulss %xmm2, %xmm1
callq 0x13460
movlpd %xmm0, 0x280(%rsp)
movq 0x280(%rsp), %rax
movq %rax, 0x2c8(%rsp)
movss 0x334(%rsp), %xmm2
movss 0x2a8(%rsp), %xmm0
movss 0x2ac(%rsp), %xmm1
mulss %xmm2, %xmm0
mulss %xmm2, %xmm1
callq 0x13460
movlpd %xmm0, 0x278(%rsp)
movq 0x278(%rsp), %rax
movq %rax, 0x2c0(%rsp)
movq 0x430(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0x2b8(%rsp), %rcx
movq %rcx, %rax
shlq $0x5, %rax
movq %rax, 0x50(%rsp)
movq 0x4c0(%rsp), %rax
movss (%rax,%rcx,8), %xmm0
movss 0x4(%rax,%rcx,8), %xmm1
movss 0x2c8(%rsp), %xmm3
movss 0x2cc(%rsp), %xmm2
addss %xmm3, %xmm0
addss %xmm2, %xmm1
callq 0x13460
movq 0x50(%rsp), %rcx
movq 0x58(%rsp), %rax
movlpd %xmm0, 0x270(%rsp)
movq 0x270(%rsp), %rdx
movq %rdx, (%rax,%rcx)
movq 0x430(%rsp), %rax
movq %rax, 0x68(%rsp)
movq 0x2b8(%rsp), %rcx
movq %rcx, %rax
shlq $0x5, %rax
movq %rax, 0x60(%rsp)
movq 0x4c0(%rsp), %rax
movss (%rax,%rcx,8), %xmm0
movss 0x4(%rax,%rcx,8), %xmm1
movss 0x2c0(%rsp), %xmm3
movss 0x2c4(%rsp), %xmm2
addss %xmm3, %xmm0
addss %xmm2, %xmm1
callq 0x13460
movq 0x60(%rsp), %rcx
movq 0x68(%rsp), %rax
movlpd %xmm0, 0x268(%rsp)
movq 0x268(%rsp), %rdx
movq %rdx, 0x8(%rax,%rcx)
movq 0x430(%rsp), %rax
movq %rax, 0x78(%rsp)
movq 0x2b8(%rsp), %rcx
movq %rcx, %rax
shlq $0x5, %rax
movq %rax, 0x70(%rsp)
movq 0x4c0(%rsp), %rax
movss (%rax,%rcx,8), %xmm0
movss 0x4(%rax,%rcx,8), %xmm1
movss 0x2c0(%rsp), %xmm3
movss 0x2c4(%rsp), %xmm2
subss %xmm3, %xmm0
subss %xmm2, %xmm1
callq 0x13460
movq 0x70(%rsp), %rcx
movq 0x78(%rsp), %rax
movlpd %xmm0, 0x260(%rsp)
movq 0x260(%rsp), %rdx
movq %rdx, 0x10(%rax,%rcx)
movq 0x430(%rsp), %rax
movq %rax, 0x88(%rsp)
movq 0x2b8(%rsp), %rcx
movq %rcx, %rax
shlq $0x2, %rax
movq %rax, 0x80(%rsp)
movq 0x4c0(%rsp), %rax
movss (%rax,%rcx,8), %xmm0
movss 0x4(%rax,%rcx,8), %xmm1
movss 0x2c8(%rsp), %xmm3
movss 0x2cc(%rsp), %xmm2
subss %xmm3, %xmm0
subss %xmm2, %xmm1
callq 0x13460
movq 0x80(%rsp), %rcx
movq 0x88(%rsp), %rax
movlpd %xmm0, 0x258(%rsp)
movq 0x258(%rsp), %rdx
movq %rdx, 0x18(%rax,%rcx,8)
movq 0x2b0(%rsp), %rax
addq $0x1, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, (%rax)
movq 0x340(%rsp), %rax
addq $0x1, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, 0x2(%rax)
movq 0x340(%rsp), %rax
addq $0x2, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, 0x4(%rax)
movq 0x340(%rsp), %rax
addq $0x2, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, 0x6(%rax)
movq 0x2b0(%rsp), %rax
addq $0x2, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, 0x8(%rax)
movq 0x2b0(%rsp), %rax
addq $0x1, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, 0xa(%rax)
movq 0x2b0(%rsp), %rax
addq $0x1, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, 0xc(%rax)
movq 0x340(%rsp), %rax
addq $0x1, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, 0xe(%rax)
movq 0x340(%rsp), %rax
addq $0x0, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, 0x10(%rax)
movq 0x340(%rsp), %rax
addq $0x0, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, 0x12(%rax)
movq 0x2b0(%rsp), %rax
addq $0x0, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, 0x14(%rax)
movq 0x2b0(%rsp), %rax
addq $0x1, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, 0x16(%rax)
movq 0x2b0(%rsp), %rax
addq $0x2, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, 0x18(%rax)
movq 0x340(%rsp), %rax
addq $0x2, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, 0x1a(%rax)
movq 0x340(%rsp), %rax
addq $0x3, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, 0x1c(%rax)
movq 0x340(%rsp), %rax
addq $0x3, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, 0x1e(%rax)
movq 0x2b0(%rsp), %rax
addq $0x3, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, 0x20(%rax)
movq 0x2b0(%rsp), %rax
addq $0x2, %rax
movw %ax, %cx
movq 0x448(%rsp), %rax
movw %cx, 0x22(%rax)
movq 0x448(%rsp), %rax
addq $0x24, %rax
movq %rax, 0x448(%rsp)
movq 0x2b0(%rsp), %rax
movq %rax, 0x340(%rsp)
movq 0x478(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x478(%rsp)
jmp 0x36761
movq $0x0, 0x338(%rsp)
movq 0x338(%rsp), %rax
movl 0x4bc(%rsp), %ecx
cmpq %rcx, %rax
jae 0x37015
movq 0x4c8(%rsp), %rax
movq 0x90(%rax), %rax
movq %rax, 0x250(%rsp)
movq 0x450(%rsp), %rdi
movq 0x4c8(%rsp), %rsi
addq $0x70, %rsi
movq 0x430(%rsp), %rax
movq 0x338(%rsp), %rcx
shlq $0x5, %rcx
movsd (%rax,%rcx), %xmm0
movsd 0x250(%rsp), %xmm1
movsd 0x484(%rsp), %xmm2
movsd 0x48c(%rsp), %xmm3
callq 0x378c0
movq %rax, 0x450(%rsp)
movq 0x450(%rsp), %rdi
movq 0x4c8(%rsp), %rsi
addq $0x70, %rsi
movq 0x430(%rsp), %rax
movq 0x338(%rsp), %rcx
shlq $0x5, %rcx
movsd 0x8(%rax,%rcx), %xmm0
movsd 0x250(%rsp), %xmm1
movsd 0x494(%rsp), %xmm2
movsd 0x49c(%rsp), %xmm3
callq 0x378c0
movq %rax, 0x450(%rsp)
movq 0x450(%rsp), %rdi
movq 0x4c8(%rsp), %rsi
addq $0x70, %rsi
movq 0x430(%rsp), %rax
movq 0x338(%rsp), %rcx
shlq $0x5, %rcx
movsd 0x10(%rax,%rcx), %xmm0
movsd 0x250(%rsp), %xmm1
movsd 0x494(%rsp), %xmm2
movsd 0x49c(%rsp), %xmm3
callq 0x378c0
movq %rax, 0x450(%rsp)
movq 0x450(%rsp), %rdi
movq 0x4c8(%rsp), %rsi
addq $0x70, %rsi
movq 0x430(%rsp), %rax
movq 0x338(%rsp), %rcx
shlq $0x5, %rcx
movsd 0x18(%rax,%rcx), %xmm0
movsd 0x250(%rsp), %xmm1
movsd 0x484(%rsp), %xmm2
movsd 0x48c(%rsp), %xmm3
callq 0x378c0
movq %rax, 0x450(%rsp)
movq 0x338(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x338(%rsp)
jmp 0x36e76
jmp 0x37017
movq 0x4c8(%rsp), %rax
movq 0xb8(%rax), %rdi
xorl %esi, %esi
callq 0x13890
jmp 0x375eb
movq $0x0, 0x248(%rsp)
movq 0x4c8(%rsp), %rax
movl 0xcc(%rax), %eax
movq %rax, 0x240(%rsp)
imulq $0x6, 0x4a8(%rsp), %rax
movq %rax, 0x238(%rsp)
movq 0x4a8(%rsp), %rax
shlq $0x2, %rax
movq %rax, 0x230(%rsp)
movq 0x4c8(%rsp), %rdi
movq 0x230(%rsp), %rsi
callq 0x37600
movq %rax, 0x228(%rsp)
movq 0x4c8(%rsp), %rdi
movq 0x238(%rsp), %rsi
callq 0x37730
movq %rax, 0x220(%rsp)
cmpq $0x0, 0x228(%rsp)
je 0x370c9
cmpq $0x0, 0x220(%rsp)
jne 0x370ce
jmp 0x375eb
movq $0x0, 0x248(%rsp)
movq 0x248(%rsp), %rax
cmpq 0x4a8(%rsp), %rax
jae 0x375e9
movq 0x4c8(%rsp), %rax
movq 0x90(%rax), %rax
movq %rax, 0x210(%rsp)
movq 0x248(%rsp), %rax
addq $0x1, %rax
movl 0x4bc(%rsp), %ecx
cmpq %rcx, %rax
jne 0x37128
xorl %eax, %eax
movq %rax, 0x48(%rsp)
jmp 0x37139
movq 0x248(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x48(%rsp)
movq 0x48(%rsp), %rax
movq %rax, 0x208(%rsp)
movq 0x4c0(%rsp), %rax
movq 0x248(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x200(%rsp)
movq 0x4c0(%rsp), %rax
movq 0x208(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x1f8(%rsp)
movss 0x1f8(%rsp), %xmm0
movss 0x1fc(%rsp), %xmm1
movss 0x200(%rsp), %xmm3
movss 0x204(%rsp), %xmm2
subss %xmm3, %xmm0
subss %xmm2, %xmm1
callq 0x13460
movlpd %xmm0, 0x1f0(%rsp)
movss 0x1f0(%rsp), %xmm0
movss 0x1f0(%rsp), %xmm2
movss 0x1f4(%rsp), %xmm1
mulss 0x1f4(%rsp), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, 0x1ec(%rsp)
movss 0x1ec(%rsp), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x37202
jp 0x37202
jmp 0x3721b
movss 0x1ec(%rsp), %xmm0
callq 0x37810
movss %xmm0, 0x1ec(%rsp)
jmp 0x3722c
movss 0x762c5(%rip), %xmm0    # 0xad4e8
movss %xmm0, 0x1ec(%rsp)
movss 0x1ec(%rsp), %xmm2
movss 0x1f0(%rsp), %xmm0
movss 0x1f4(%rsp), %xmm1
mulss %xmm2, %xmm0
mulss %xmm2, %xmm1
callq 0x13460
movlpd %xmm0, 0x1e4(%rsp)
movq 0x1e4(%rsp), %rax
movq %rax, 0x1f0(%rsp)
movss 0x1f0(%rsp), %xmm0
movss 0x4b4(%rsp), %xmm1
movss 0x7628d(%rip), %xmm2    # 0xad514
mulss %xmm2, %xmm1
mulss %xmm1, %xmm0
movss %xmm0, 0x21c(%rsp)
movss 0x1f4(%rsp), %xmm0
movss 0x4b4(%rsp), %xmm1
mulss %xmm2, %xmm1
mulss %xmm1, %xmm0
movss %xmm0, 0x218(%rsp)
movq 0x228(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x4c8(%rsp), %rax
addq $0x70, %rax
movq %rax, 0x10(%rsp)
movss 0x218(%rsp), %xmm2
movss 0x200(%rsp), %xmm0
movss 0x204(%rsp), %xmm1
addss %xmm2, %xmm0
movss 0x21c(%rsp), %xmm2
subss %xmm2, %xmm1
callq 0x13460
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
movlpd %xmm0, 0x1dc(%rsp)
movsd 0x1dc(%rsp), %xmm0
movsd 0x210(%rsp), %xmm1
movsd 0x494(%rsp), %xmm2
movsd 0x49c(%rsp), %xmm3
callq 0x378c0
movq %rax, 0x228(%rsp)
movq 0x228(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x4c8(%rsp), %rax
addq $0x70, %rax
movq %rax, 0x20(%rsp)
movss 0x218(%rsp), %xmm2
movss 0x1f8(%rsp), %xmm0
movss 0x1fc(%rsp), %xmm1
addss %xmm2, %xmm0
movss 0x21c(%rsp), %xmm2
subss %xmm2, %xmm1
callq 0x13460
movq 0x18(%rsp), %rdi
movq 0x20(%rsp), %rsi
movlpd %xmm0, 0x1d4(%rsp)
movsd 0x1d4(%rsp), %xmm0
movsd 0x210(%rsp), %xmm1
movsd 0x494(%rsp), %xmm2
movsd 0x49c(%rsp), %xmm3
callq 0x378c0
movq %rax, 0x228(%rsp)
movq 0x228(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x4c8(%rsp), %rax
addq $0x70, %rax
movq %rax, 0x30(%rsp)
movss 0x218(%rsp), %xmm2
movss 0x1f8(%rsp), %xmm0
movss 0x1fc(%rsp), %xmm1
subss %xmm2, %xmm0
movss 0x21c(%rsp), %xmm2
addss %xmm2, %xmm1
callq 0x13460
movq 0x28(%rsp), %rdi
movq 0x30(%rsp), %rsi
movlpd %xmm0, 0x1cc(%rsp)
movsd 0x1cc(%rsp), %xmm0
movsd 0x210(%rsp), %xmm1
movsd 0x494(%rsp), %xmm2
movsd 0x49c(%rsp), %xmm3
callq 0x378c0
movq %rax, 0x228(%rsp)
movq 0x228(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0x4c8(%rsp), %rax
addq $0x70, %rax
movq %rax, 0x40(%rsp)
movss 0x218(%rsp), %xmm2
movss 0x200(%rsp), %xmm0
movss 0x204(%rsp), %xmm1
subss %xmm2, %xmm0
movss 0x21c(%rsp), %xmm2
addss %xmm2, %xmm1
callq 0x13460
movq 0x38(%rsp), %rdi
movq 0x40(%rsp), %rsi
movlpd %xmm0, 0x1c4(%rsp)
movsd 0x1c4(%rsp), %xmm0
movsd 0x210(%rsp), %xmm1
movsd 0x494(%rsp), %xmm2
movsd 0x49c(%rsp), %xmm3
callq 0x378c0
movq %rax, 0x228(%rsp)
movq 0x240(%rsp), %rax
addq $0x0, %rax
movw %ax, %cx
movq 0x220(%rsp), %rax
movw %cx, (%rax)
movq 0x240(%rsp), %rax
addq $0x1, %rax
movw %ax, %cx
movq 0x220(%rsp), %rax
movw %cx, 0x2(%rax)
movq 0x240(%rsp), %rax
addq $0x2, %rax
movw %ax, %cx
movq 0x220(%rsp), %rax
movw %cx, 0x4(%rax)
movq 0x240(%rsp), %rax
addq $0x0, %rax
movw %ax, %cx
movq 0x220(%rsp), %rax
movw %cx, 0x6(%rax)
movq 0x240(%rsp), %rax
addq $0x2, %rax
movw %ax, %cx
movq 0x220(%rsp), %rax
movw %cx, 0x8(%rax)
movq 0x240(%rsp), %rax
addq $0x3, %rax
movw %ax, %cx
movq 0x220(%rsp), %rax
movw %cx, 0xa(%rax)
movq 0x220(%rsp), %rax
addq $0xc, %rax
movq %rax, 0x220(%rsp)
movq 0x240(%rsp), %rax
addq $0x4, %rax
movq %rax, 0x240(%rsp)
movq 0x248(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x248(%rsp)
jmp 0x370da
jmp 0x375eb
addq $0x4d8, %rsp            # imm = 0x4D8
retq
nopw %cs:(%rax,%rax)