// File: /workspace/github_cpp_makefile_star2_O1/realuptime[P]PolyDetector/main.cpp
// Function: main
int main(int argc, char **argv)
{
    std::vector<PolyLine> lines = {
        { { 0.481273, 19.263916, 0.000000 }, { 2.672669, -20.676010, 0.000000 } },
        { { -2.632347, 18.215017, 0.000000 }, { 5.508471, -21.049944, 0.000000 } },
        { { -17.857944, 5.812509, 0.000000 }, { 20.700626, -5.557483, 0.000000 } },
        { { -20.295795, -2.343559, 0.000000 }, { 19.730148, 2.348336, 0.000000 } },
        { { -20.073170, -2.086306, 0.000000 }, { 20.038513, 2.731704, 0.000000 } },
        { { -23.044189, -3.178784, 0.000000 }, { 16.882099, 3.613972, 0.000000 } },
        { { -23.059996, -7.303123, 0.000000 }, { 14.749506, 7.488816, 0.000000 } },
        { { -24.727707, -3.507834, 0.000000 }, { 15.546275, 2.365544, 0.000000 } },
        { { 18.502918, -8.634955, 0.000000 }, { -20.374165, -21.012856, 0.000000 } },
        { { 9.202598, 4.523481, 0.000000 }, { -7.426190, -32.843529, 0.000000 } },
        { { 20.847351, -7.539667, 0.000000 }, { -18.186256, -20.084688, 0.000000 } },
        { { 17.327255, -5.417993, 0.000000 }, { -19.222294, -24.215343, 0.000000 } },
        { { 15.582670, -8.607574, 0.000000 }, { -23.266512, -22.325489, 0.000000 } },
        { { -1.368334, -31.398386, 0.000000 }, { -13.871298, 7.963598, 0.000000 } },
        { { -1.544255, -29.319807, 0.000000 }, { -14.729448, 9.924440, 0.000000 } },
        { { -2.539731, -27.353601, 0.000000 }, { -13.925552, 12.553957, 0.000000 } },
        { { -3.332984, -26.400829, 0.000000 }, { -15.176960, 13.477487, 0.000000 } },
        { { -4.918091, -22.149073, 0.000000 }, { -14.987379, 18.316957, 0.000000 } },
        { { -4.509918, -21.885679, 0.000000 }, { -14.484156, 18.706865, 0.000000 } },
        { { -3.773709, -22.967257, 0.000000 }, { -16.725311, 16.880781, 0.000000 } },
        { { 11.133360, 1.055563, 0.000000 }, { -29.372477, -10.047474, 0.000000 } },
        { { -27.483515, -14.038325, 0.000000 }, { 9.971365, 5.185147, 0.000000 } },
        { { -6.512562, -22.113499, 0.000000 }, { -14.757652, 19.273197, 0.000000 } },
        { { -29.544163, -5.129999, 0.000000 }, { 11.304194, 5.856430, 0.000000 } },
        { { -29.245459, -2.901008, 0.000000 }, { 12.582209, 4.042094, 0.000000 } },
        { { -26.603186, -5.194456, 0.000000 }, { 14.157106, 6.840844, 0.000000 } },
        { { -26.637554, -3.911626, 0.000000 }, { 14.771155, 6.092309, 0.000000 } },
        { { -0.640467, -20.712761, 0.000000 }, { -9.923534, 20.965946, 0.000000 } },
    };

    PolyDetector pd;
	//pd.verbose = 1;
	
    for (auto &l : lines)
        pd.AddLine(l);

    if (!pd.DetectPolygons())
    {
        logoutf("%s", "WARN: cannot detect polys!");
        return -1;
    }
	
	logoutf("nPolys:%u dissolveSteps:%u lines:%u", uint32_t(pd.polys.size()), pd.dissolveCount + 1, uint32_t(pd.lines.size()));

#if 0
    for (auto &poly : pd.polys)
    {
        for (auto &p : poly.p)
        {
            logoutf("[%u] p:{%f %f}", poly.id, p.x, p.y);
        }
    }
#endif

    return 0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0xfe0, %rsp            # imm = 0xFE0
movaps 0x22d9(%rip), %xmm0     # 0x111d0
leaq 0x50(%rsp), %rdx
movaps %xmm0, -0x30(%rdx)
xorps %xmm0, %xmm0
movaps %xmm0, -0x20(%rdx)
xorl %eax, %eax
movq %rax, -0x10(%rdx)
movl %eax, (%rdx)
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
movaps 0x10ea(%rip), %xmm1     # 0x10010
movaps %xmm1, 0x30(%rdx)
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
movl %ecx, 0x40(%rdx)
movb %al, 0x44(%rdx)
movups %xmm0, 0x48(%rdx)
movl %eax, 0x58(%rdx)
movaps 0x229d(%rip), %xmm2     # 0x111e0
movaps %xmm2, 0x60(%rdx)
movaps %xmm0, 0x70(%rdx)
movq %rax, 0x80(%rdx)
leaq 0xe0(%rsp), %rdx
movl %eax, (%rdx)
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
movaps %xmm1, 0x30(%rdx)
movl %ecx, 0x40(%rdx)
movb %al, 0x44(%rdx)
movl %eax, 0x58(%rdx)
movups %xmm0, 0x48(%rdx)
movaps 0x226c(%rip), %xmm2     # 0x111f0
movaps %xmm2, 0x60(%rdx)
movq %rax, 0x80(%rdx)
movaps %xmm0, 0x70(%rdx)
leaq 0x170(%rsp), %rdx
movl %eax, (%rdx)
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
movaps %xmm1, 0x30(%rdx)
movl %ecx, 0x40(%rdx)
movb %al, 0x44(%rdx)
movups %xmm0, 0x48(%rdx)
movl %eax, 0x58(%rdx)
movaps 0x223b(%rip), %xmm2     # 0x11200
movaps %xmm2, 0x60(%rdx)
movq %rax, 0x80(%rdx)
movaps %xmm0, 0x70(%rdx)
leaq 0x200(%rsp), %rdx
movl %eax, (%rdx)
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
movaps %xmm1, 0x30(%rdx)
movl %ecx, 0x40(%rdx)
movb %al, 0x44(%rdx)
movl %eax, 0x58(%rdx)
movups %xmm0, 0x48(%rdx)
movaps 0x220a(%rip), %xmm2     # 0x11210
movaps %xmm2, 0x60(%rdx)
movq %rax, 0x80(%rdx)
movaps %xmm0, 0x70(%rdx)
leaq 0x290(%rsp), %rdx
movl %eax, (%rdx)
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
movaps %xmm1, 0x30(%rdx)
movl %ecx, 0x40(%rdx)
movb %al, 0x44(%rdx)
movl %eax, 0x58(%rdx)
movups %xmm0, 0x48(%rdx)
movaps 0x21d9(%rip), %xmm2     # 0x11220
movaps %xmm2, 0x60(%rdx)
movq %rax, 0x80(%rdx)
movaps %xmm0, 0x70(%rdx)
leaq 0x320(%rsp), %rdx
movl %eax, (%rdx)
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
movaps %xmm1, 0x30(%rdx)
movl %ecx, 0x40(%rdx)
movb %al, 0x44(%rdx)
movl %eax, 0x58(%rdx)
movups %xmm0, 0x48(%rdx)
movaps 0x21a8(%rip), %xmm2     # 0x11230
movaps %xmm2, 0x60(%rdx)
movq %rax, 0x80(%rdx)
movaps %xmm0, 0x70(%rdx)
leaq 0x3b0(%rsp), %rdx
movl %eax, (%rdx)
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
movaps %xmm1, 0x30(%rdx)
movl %ecx, 0x40(%rdx)
movb %al, 0x44(%rdx)
movl %eax, 0x58(%rdx)
movups %xmm0, 0x48(%rdx)
movaps 0x2177(%rip), %xmm2     # 0x11240
movaps %xmm2, 0x60(%rdx)
movq %rax, 0x80(%rdx)
movaps %xmm0, 0x70(%rdx)
leaq 0x440(%rsp), %rdx
movl %eax, (%rdx)
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
movaps %xmm1, 0x30(%rdx)
movl %ecx, 0x40(%rdx)
movb %al, 0x44(%rdx)
movl %eax, 0x58(%rdx)
movups %xmm0, 0x48(%rdx)
movaps 0x2146(%rip), %xmm2     # 0x11250
movaps %xmm2, 0x60(%rdx)
movq %rax, 0x80(%rdx)
movaps %xmm0, 0x70(%rdx)
leaq 0x4d0(%rsp), %rdx
movl %eax, (%rdx)
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
movaps %xmm1, 0x30(%rdx)
movl %ecx, 0x40(%rdx)
movb %al, 0x44(%rdx)
movl %eax, 0x58(%rdx)
movups %xmm0, 0x48(%rdx)
movaps 0x2115(%rip), %xmm2     # 0x11260
movaps %xmm2, 0x60(%rdx)
movq %rax, 0x80(%rdx)
movaps %xmm0, 0x70(%rdx)
leaq 0x560(%rsp), %rdx
movl %eax, (%rdx)
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
movaps %xmm1, 0x30(%rdx)
movl %ecx, 0x40(%rdx)
movb %al, 0x44(%rdx)
movl %eax, 0x58(%rdx)
movups %xmm0, 0x48(%rdx)
movaps 0x20e4(%rip), %xmm2     # 0x11270
movaps %xmm2, 0x60(%rdx)
movq %rax, 0x80(%rdx)
movaps %xmm0, 0x70(%rdx)
leaq 0x5f0(%rsp), %rdx
movl %eax, (%rdx)
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
movaps %xmm1, 0x30(%rdx)
movl %ecx, 0x40(%rdx)
movb %al, 0x44(%rdx)
movl %eax, 0x58(%rdx)
movups %xmm0, 0x48(%rdx)
movaps 0x20b3(%rip), %xmm2     # 0x11280
movaps %xmm2, 0x60(%rdx)
movq %rax, 0x80(%rdx)
movaps %xmm0, 0x70(%rdx)
leaq 0x680(%rsp), %rdx
movl %eax, (%rdx)
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
movaps %xmm1, 0x30(%rdx)
movl %ecx, 0x40(%rdx)
movb %al, 0x44(%rdx)
movl %eax, 0x58(%rdx)
movups %xmm0, 0x48(%rdx)
movaps 0x2082(%rip), %xmm2     # 0x11290
movaps %xmm2, 0x60(%rdx)
movq %rax, 0x80(%rdx)
movaps %xmm0, 0x70(%rdx)
leaq 0x710(%rsp), %rdx
movl %eax, (%rdx)
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
movaps %xmm1, 0x30(%rdx)
movl %ecx, 0x40(%rdx)
movb %al, 0x44(%rdx)
movl %eax, 0x58(%rdx)
movups %xmm0, 0x48(%rdx)
movaps 0x2051(%rip), %xmm2     # 0x112a0
movaps %xmm2, 0x60(%rdx)
movq %rax, 0x80(%rdx)
movaps %xmm0, 0x70(%rdx)
leaq 0x7a0(%rsp), %rdx
movl %eax, (%rdx)
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
movaps %xmm1, 0x30(%rdx)
movl %ecx, 0x40(%rdx)
movb %al, 0x44(%rdx)
movl %eax, 0x58(%rdx)
movups %xmm0, 0x48(%rdx)
movaps 0x2020(%rip), %xmm2     # 0x112b0
movaps %xmm2, 0x60(%rdx)
movq %rax, 0x80(%rdx)
movaps %xmm0, 0x70(%rdx)
leaq 0x830(%rsp), %rdx
movl %eax, (%rdx)
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
movaps %xmm1, 0x30(%rdx)
movl %ecx, 0x40(%rdx)
movb %al, 0x44(%rdx)
movl %eax, 0x58(%rdx)
movups %xmm0, 0x48(%rdx)
movaps 0x1fef(%rip), %xmm2     # 0x112c0
movaps %xmm2, 0x60(%rdx)
movq %rax, 0x80(%rdx)
movaps %xmm0, 0x70(%rdx)
leaq 0x8c0(%rsp), %rdx
movl %eax, (%rdx)
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
movaps %xmm1, 0x30(%rdx)
movl %ecx, 0x40(%rdx)
movb %al, 0x44(%rdx)
movl %eax, 0x58(%rdx)
movups %xmm0, 0x48(%rdx)
movaps 0x1fbe(%rip), %xmm2     # 0x112d0
movaps %xmm2, 0x60(%rdx)
movq %rax, 0x80(%rdx)
movaps %xmm0, 0x70(%rdx)
leaq 0x950(%rsp), %rdx
movl %eax, (%rdx)
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
movaps %xmm1, 0x30(%rdx)
movl %ecx, 0x40(%rdx)
movb %al, 0x44(%rdx)
movl %eax, 0x58(%rdx)
movups %xmm0, 0x48(%rdx)
movaps 0x1f8d(%rip), %xmm2     # 0x112e0
movaps %xmm2, 0x60(%rdx)
movq %rax, 0x80(%rdx)
movaps %xmm0, 0x70(%rdx)
leaq 0x9e0(%rsp), %rdx
movl %eax, (%rdx)
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
movaps %xmm1, 0x30(%rdx)
movl %ecx, 0x40(%rdx)
movb %al, 0x44(%rdx)
movl %eax, 0x58(%rdx)
movups %xmm0, 0x48(%rdx)
movaps 0x1f5c(%rip), %xmm2     # 0x112f0
movaps %xmm2, 0x60(%rdx)
movq %rax, 0x80(%rdx)
movaps %xmm0, 0x70(%rdx)
leaq 0xa70(%rsp), %rdx
movl %eax, (%rdx)
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
movaps %xmm1, 0x30(%rdx)
movl %ecx, 0x40(%rdx)
movb %al, 0x44(%rdx)
movl %eax, 0x58(%rdx)
movups %xmm0, 0x48(%rdx)
movaps 0x1f2b(%rip), %xmm2     # 0x11300
movaps %xmm2, 0x60(%rdx)
movq %rax, 0x80(%rdx)
movaps %xmm0, 0x70(%rdx)
leaq 0xb00(%rsp), %rdx
movl %eax, (%rdx)
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
movaps %xmm1, 0x30(%rdx)
movl %ecx, 0x40(%rdx)
movb %al, 0x44(%rdx)
movl %eax, 0x58(%rdx)
movups %xmm0, 0x48(%rdx)
movaps 0x1efa(%rip), %xmm2     # 0x11310
movaps %xmm2, 0x60(%rdx)
movq %rax, 0x80(%rdx)
movaps %xmm0, 0x70(%rdx)
leaq 0xb90(%rsp), %rdx
movl %eax, (%rdx)
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
movaps %xmm1, 0x30(%rdx)
movl %ecx, 0x40(%rdx)
movb %al, 0x44(%rdx)
movl %eax, 0x58(%rdx)
movups %xmm0, 0x48(%rdx)
movaps 0x1ec9(%rip), %xmm2     # 0x11320
movaps %xmm2, 0x60(%rdx)
movq %rax, 0x80(%rdx)
movaps %xmm0, 0x70(%rdx)
leaq 0xc20(%rsp), %rdx
movl %eax, (%rdx)
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
movaps %xmm1, 0x30(%rdx)
movl %ecx, 0x40(%rdx)
movb %al, 0x44(%rdx)
movl %eax, 0x58(%rdx)
movups %xmm0, 0x48(%rdx)
movaps 0x1e98(%rip), %xmm2     # 0x11330
movaps %xmm2, 0x60(%rdx)
movq %rax, 0x80(%rdx)
movaps %xmm0, 0x70(%rdx)
leaq 0xcb0(%rsp), %rdx
movl %eax, (%rdx)
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
movaps %xmm1, 0x30(%rdx)
movl %ecx, 0x40(%rdx)
movb %al, 0x44(%rdx)
movl %eax, 0x58(%rdx)
movups %xmm0, 0x48(%rdx)
movaps 0x1e67(%rip), %xmm2     # 0x11340
movaps %xmm2, 0x60(%rdx)
movq %rax, 0x80(%rdx)
movaps %xmm0, 0x70(%rdx)
leaq 0xd40(%rsp), %rdx
movl %eax, (%rdx)
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
movaps %xmm1, 0x30(%rdx)
movl %ecx, 0x40(%rdx)
movb %al, 0x44(%rdx)
movl %eax, 0x58(%rdx)
movups %xmm0, 0x48(%rdx)
movaps 0x1e36(%rip), %xmm2     # 0x11350
movaps %xmm2, 0x60(%rdx)
movq %rax, 0x80(%rdx)
movaps %xmm0, 0x70(%rdx)
leaq 0xdd0(%rsp), %rdx
movl %eax, (%rdx)
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
movaps %xmm1, 0x30(%rdx)
movl %ecx, 0x40(%rdx)
movb %al, 0x44(%rdx)
movl %eax, 0x58(%rdx)
movups %xmm0, 0x48(%rdx)
movaps 0x1e05(%rip), %xmm2     # 0x11360
movaps %xmm2, 0x60(%rdx)
movq %rax, 0x80(%rdx)
movaps %xmm0, 0x70(%rdx)
leaq 0xe60(%rsp), %rdx
movl %eax, (%rdx)
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
movaps %xmm1, 0x30(%rdx)
movl %ecx, 0x40(%rdx)
movb %al, 0x44(%rdx)
movl %eax, 0x58(%rdx)
movups %xmm0, 0x48(%rdx)
movaps 0x1dd4(%rip), %xmm2     # 0x11370
movaps %xmm2, 0x60(%rdx)
movq %rax, 0x80(%rdx)
movaps %xmm0, 0x70(%rdx)
leaq 0xef0(%rsp), %rdx
movl %eax, (%rdx)
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
movaps %xmm1, 0x30(%rdx)
movl %ecx, 0x40(%rdx)
movb %al, 0x44(%rdx)
movl %eax, 0x58(%rdx)
movups %xmm0, 0x48(%rdx)
movaps 0x1da3(%rip), %xmm2     # 0x11380
movaps %xmm2, 0x60(%rdx)
movq %rax, 0x80(%rdx)
movaps %xmm0, 0x70(%rdx)
leaq 0xf80(%rsp), %rdx
movl %eax, (%rdx)
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
movaps %xmm1, 0x30(%rdx)
movl %ecx, 0x40(%rdx)
movb %al, 0x44(%rdx)
movl %eax, 0x58(%rdx)
movups %xmm0, 0x48(%rdx)
leaq 0x8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x7(%rsp), %rcx
movl $0x1c, %edx
callq 0xf85c
movq $-0xfc0, %r14           # imm = 0xF040
leaq 0xf78(%rsp), %rbx
movq %rbx, %rdi
callq 0xc16e
movq -0x18(%rbx), %rdi
testq %rdi, %rdi
je 0xf655
callq 0x2140
addq $-0x90, %rbx
addq $0x90, %r14
jne 0xf63f
leaq 0x90(%rsp), %rcx
xorl %eax, %eax
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
xorps %xmm0, %xmm0
movaps %xmm0, -0x70(%rcx)
movaps %xmm0, -0x60(%rcx)
movaps %xmm0, -0x50(%rcx)
movaps %xmm0, -0x40(%rcx)
movaps %xmm0, -0x30(%rcx)
movaps %xmm0, -0x20(%rcx)
movl %eax, -0x10(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq 0xc0(%rsp), %rcx
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
leaq 0x108(%rsp), %rcx
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
movaps %xmm0, -0x28(%rcx)
movaps %xmm0, -0x18(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq 0x160(%rsp), %rcx
movq %rcx, -0x30(%rcx)
movq $0x1, -0x28(%rcx)
movaps %xmm0, -0x20(%rcx)
movl $0x3f800000, -0x10(%rcx) # imm = 0x3F800000
movups %xmm0, -0x8(%rcx)
movl %eax, 0x8(%rcx)
movq 0x8(%rsp), %rbx
movq 0x10(%rsp), %r15
cmpq %r15, %rbx
je 0xf728
leaq 0x20(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x6e6a
addq $0x90, %rbx
cmpq %r15, %rbx
jne 0xf711
leaq 0x20(%rsp), %rdi
callq 0x5a20
leaq 0x130(%rsp), %r14
testb %al, %al
je 0xf781
movq 0x58(%rsp), %rax
movq 0x70(%rsp), %rcx
subq 0x68(%rsp), %rcx
shrq $0x4, %rcx
imull $0xb6db6db7, %ecx, %esi # imm = 0xB6DB6DB7
movl 0x168(%rsp), %edx
incl %edx
subq 0x50(%rsp), %rax
shrq $0x4, %rax
imull $0x38e38e39, %eax, %ecx # imm = 0x38E38E39
leaq 0x1c35(%rip), %rdi      # 0x113ab
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x2030
jmp 0xf792
leaq 0x1c08(%rip), %rdi      # 0x11390
callq 0x21d0
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
movq %r14, %rdi
callq 0xf992
leaq 0x100(%rsp), %r14
movq %r14, %rdi
callq 0xf9b0
movq -0x18(%r14), %rdi
testq %rdi, %rdi
je 0xf7b8
callq 0x2140
leaq 0xb8(%rsp), %rdi
callq 0xf9b0
leaq 0x88(%rsp), %rdi
callq 0xf9b0
leaq 0x68(%rsp), %rdi
callq 0xf930
leaq 0x50(%rsp), %rdi
callq 0xf908
leaq 0x38(%rsp), %rdi
callq 0xf908
leaq 0x20(%rsp), %rdi
callq 0xf958
leaq 0x8(%rsp), %rdi
callq 0xf908
movl %ebx, %eax
addq $0xfe0, %rsp            # imm = 0xFE0
popq %rbx
popq %r14
popq %r15
retq
jmp 0xf83c
movq %rax, %rbx
movl $0xf30, %r14d           # imm = 0xF30
movq $-0x90, %r15
leaq (%rsp,%r14), %rdi
addq $0x20, %rdi
callq 0xb3aa
addq %r15, %r14
cmpq %r15, %r14
jne 0xf825
jmp 0xf853
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xf8a2
leaq 0x8(%rsp), %rdi
callq 0xf908
movq %rbx, %rdi
callq 0x2200
nop