// File: /workspace/github_cpp_makefile_star2_O2/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 0x2779(%rip), %xmm0     # 0xe1a0
leaq 0x50(%rsp), %rcx
movaps %xmm0, -0x30(%rcx)
xorps %xmm0, %xmm0
andq $0x0, -0x10(%rcx)
movaps %xmm0, -0x20(%rcx)
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
movaps 0x15b8(%rip), %xmm1     # 0xd010
movaps %xmm1, 0x30(%rcx)
orl $-0x1, 0x40(%rcx)
xorl %eax, %eax
movb %al, 0x44(%rcx)
andl $0x0, 0x58(%rcx)
movups %xmm0, 0x48(%rcx)
movaps 0x273c(%rip), %xmm2     # 0xe1b0
movaps %xmm2, 0x60(%rcx)
movaps %xmm0, 0x70(%rcx)
andq $0x0, 0x80(%rcx)
leaq 0xe0(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
movaps %xmm1, 0x30(%rcx)
orl $-0x1, 0x40(%rcx)
movb %al, 0x44(%rcx)
andl $0x0, 0x58(%rcx)
movups %xmm0, 0x48(%rcx)
movaps 0x2705(%rip), %xmm2     # 0xe1c0
movaps %xmm2, 0x60(%rcx)
movaps %xmm0, 0x70(%rcx)
andq $0x0, 0x80(%rcx)
leaq 0x170(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
movaps %xmm1, 0x30(%rcx)
orl $-0x1, 0x40(%rcx)
movb %al, 0x44(%rcx)
andl $0x0, 0x58(%rcx)
movups %xmm0, 0x48(%rcx)
movaps 0x26ce(%rip), %xmm2     # 0xe1d0
movaps %xmm2, 0x60(%rcx)
movaps %xmm0, 0x70(%rcx)
andq $0x0, 0x80(%rcx)
leaq 0x200(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
movaps %xmm1, 0x30(%rcx)
orl $-0x1, 0x40(%rcx)
movb %al, 0x44(%rcx)
andl $0x0, 0x58(%rcx)
movups %xmm0, 0x48(%rcx)
movaps 0x2697(%rip), %xmm2     # 0xe1e0
movaps %xmm2, 0x60(%rcx)
movaps %xmm0, 0x70(%rcx)
andq $0x0, 0x80(%rcx)
leaq 0x290(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
movaps %xmm1, 0x30(%rcx)
orl $-0x1, 0x40(%rcx)
movb %al, 0x44(%rcx)
andl $0x0, 0x58(%rcx)
movups %xmm0, 0x48(%rcx)
movaps 0x2660(%rip), %xmm2     # 0xe1f0
movaps %xmm2, 0x60(%rcx)
movaps %xmm0, 0x70(%rcx)
andq $0x0, 0x80(%rcx)
leaq 0x320(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
movaps %xmm1, 0x30(%rcx)
orl $-0x1, 0x40(%rcx)
movb %al, 0x44(%rcx)
andl $0x0, 0x58(%rcx)
movups %xmm0, 0x48(%rcx)
movaps 0x2629(%rip), %xmm2     # 0xe200
movaps %xmm2, 0x60(%rcx)
movaps %xmm0, 0x70(%rcx)
andq $0x0, 0x80(%rcx)
leaq 0x3b0(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
movaps %xmm1, 0x30(%rcx)
orl $-0x1, 0x40(%rcx)
movb %al, 0x44(%rcx)
andl $0x0, 0x58(%rcx)
movups %xmm0, 0x48(%rcx)
movaps 0x25f2(%rip), %xmm2     # 0xe210
movaps %xmm2, 0x60(%rcx)
movaps %xmm0, 0x70(%rcx)
andq $0x0, 0x80(%rcx)
leaq 0x440(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
movaps %xmm1, 0x30(%rcx)
orl $-0x1, 0x40(%rcx)
movb %al, 0x44(%rcx)
andl $0x0, 0x58(%rcx)
movups %xmm0, 0x48(%rcx)
movaps 0x25bb(%rip), %xmm2     # 0xe220
movaps %xmm2, 0x60(%rcx)
movaps %xmm0, 0x70(%rcx)
andq $0x0, 0x80(%rcx)
leaq 0x4d0(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
movaps %xmm1, 0x30(%rcx)
orl $-0x1, 0x40(%rcx)
movb %al, 0x44(%rcx)
andl $0x0, 0x58(%rcx)
movups %xmm0, 0x48(%rcx)
movaps 0x2584(%rip), %xmm2     # 0xe230
movaps %xmm2, 0x60(%rcx)
movaps %xmm0, 0x70(%rcx)
andq $0x0, 0x80(%rcx)
leaq 0x560(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
movaps %xmm1, 0x30(%rcx)
orl $-0x1, 0x40(%rcx)
movb %al, 0x44(%rcx)
andl $0x0, 0x58(%rcx)
movups %xmm0, 0x48(%rcx)
movaps 0x254d(%rip), %xmm2     # 0xe240
movaps %xmm2, 0x60(%rcx)
movaps %xmm0, 0x70(%rcx)
andq $0x0, 0x80(%rcx)
leaq 0x5f0(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
movaps %xmm1, 0x30(%rcx)
orl $-0x1, 0x40(%rcx)
movb %al, 0x44(%rcx)
andl $0x0, 0x58(%rcx)
movups %xmm0, 0x48(%rcx)
movaps 0x2516(%rip), %xmm2     # 0xe250
movaps %xmm2, 0x60(%rcx)
movaps %xmm0, 0x70(%rcx)
andq $0x0, 0x80(%rcx)
leaq 0x680(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
movaps %xmm1, 0x30(%rcx)
orl $-0x1, 0x40(%rcx)
movb %al, 0x44(%rcx)
andl $0x0, 0x58(%rcx)
movups %xmm0, 0x48(%rcx)
movaps 0x24df(%rip), %xmm2     # 0xe260
movaps %xmm2, 0x60(%rcx)
movaps %xmm0, 0x70(%rcx)
andq $0x0, 0x80(%rcx)
leaq 0x710(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
movaps %xmm1, 0x30(%rcx)
orl $-0x1, 0x40(%rcx)
movb %al, 0x44(%rcx)
andl $0x0, 0x58(%rcx)
movups %xmm0, 0x48(%rcx)
movaps 0x24a8(%rip), %xmm2     # 0xe270
movaps %xmm2, 0x60(%rcx)
movaps %xmm0, 0x70(%rcx)
andq $0x0, 0x80(%rcx)
leaq 0x7a0(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
movaps %xmm1, 0x30(%rcx)
orl $-0x1, 0x40(%rcx)
movb %al, 0x44(%rcx)
andl $0x0, 0x58(%rcx)
movups %xmm0, 0x48(%rcx)
movaps 0x2471(%rip), %xmm2     # 0xe280
movaps %xmm2, 0x60(%rcx)
movaps %xmm0, 0x70(%rcx)
andq $0x0, 0x80(%rcx)
leaq 0x830(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
movaps %xmm1, 0x30(%rcx)
orl $-0x1, 0x40(%rcx)
movb %al, 0x44(%rcx)
andl $0x0, 0x58(%rcx)
movups %xmm0, 0x48(%rcx)
movaps 0x243a(%rip), %xmm2     # 0xe290
movaps %xmm2, 0x60(%rcx)
movaps %xmm0, 0x70(%rcx)
andq $0x0, 0x80(%rcx)
leaq 0x8c0(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
movaps %xmm1, 0x30(%rcx)
orl $-0x1, 0x40(%rcx)
movb %al, 0x44(%rcx)
andl $0x0, 0x58(%rcx)
movups %xmm0, 0x48(%rcx)
movaps 0x2403(%rip), %xmm2     # 0xe2a0
movaps %xmm2, 0x60(%rcx)
movaps %xmm0, 0x70(%rcx)
andq $0x0, 0x80(%rcx)
leaq 0x950(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
movaps %xmm1, 0x30(%rcx)
orl $-0x1, 0x40(%rcx)
movb %al, 0x44(%rcx)
andl $0x0, 0x58(%rcx)
movups %xmm0, 0x48(%rcx)
movaps 0x23cc(%rip), %xmm2     # 0xe2b0
movaps %xmm2, 0x60(%rcx)
movaps %xmm0, 0x70(%rcx)
andq $0x0, 0x80(%rcx)
leaq 0x9e0(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
movaps %xmm1, 0x30(%rcx)
orl $-0x1, 0x40(%rcx)
movb %al, 0x44(%rcx)
andl $0x0, 0x58(%rcx)
movups %xmm0, 0x48(%rcx)
movaps 0x2395(%rip), %xmm2     # 0xe2c0
movaps %xmm2, 0x60(%rcx)
movaps %xmm0, 0x70(%rcx)
andq $0x0, 0x80(%rcx)
leaq 0xa70(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
movaps %xmm1, 0x30(%rcx)
orl $-0x1, 0x40(%rcx)
movb %al, 0x44(%rcx)
andl $0x0, 0x58(%rcx)
movups %xmm0, 0x48(%rcx)
movaps 0x235e(%rip), %xmm2     # 0xe2d0
movaps %xmm2, 0x60(%rcx)
movaps %xmm0, 0x70(%rcx)
andq $0x0, 0x80(%rcx)
leaq 0xb00(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
movaps %xmm1, 0x30(%rcx)
orl $-0x1, 0x40(%rcx)
movb %al, 0x44(%rcx)
andl $0x0, 0x58(%rcx)
movups %xmm0, 0x48(%rcx)
movaps 0x2327(%rip), %xmm2     # 0xe2e0
movaps %xmm2, 0x60(%rcx)
movaps %xmm0, 0x70(%rcx)
andq $0x0, 0x80(%rcx)
leaq 0xb90(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
movaps %xmm1, 0x30(%rcx)
orl $-0x1, 0x40(%rcx)
movb %al, 0x44(%rcx)
andl $0x0, 0x58(%rcx)
movups %xmm0, 0x48(%rcx)
movaps 0x22f0(%rip), %xmm2     # 0xe2f0
movaps %xmm2, 0x60(%rcx)
movaps %xmm0, 0x70(%rcx)
andq $0x0, 0x80(%rcx)
leaq 0xc20(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
movaps %xmm1, 0x30(%rcx)
orl $-0x1, 0x40(%rcx)
movb %al, 0x44(%rcx)
andl $0x0, 0x58(%rcx)
movups %xmm0, 0x48(%rcx)
movaps 0x22b9(%rip), %xmm2     # 0xe300
movaps %xmm2, 0x60(%rcx)
movaps %xmm0, 0x70(%rcx)
andq $0x0, 0x80(%rcx)
leaq 0xcb0(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
movaps %xmm1, 0x30(%rcx)
orl $-0x1, 0x40(%rcx)
movb %al, 0x44(%rcx)
andl $0x0, 0x58(%rcx)
movups %xmm0, 0x48(%rcx)
movaps 0x2282(%rip), %xmm2     # 0xe310
movaps %xmm2, 0x60(%rcx)
movaps %xmm0, 0x70(%rcx)
andq $0x0, 0x80(%rcx)
leaq 0xd40(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
movaps %xmm1, 0x30(%rcx)
orl $-0x1, 0x40(%rcx)
movb %al, 0x44(%rcx)
andl $0x0, 0x58(%rcx)
movups %xmm0, 0x48(%rcx)
movaps 0x224b(%rip), %xmm2     # 0xe320
movaps %xmm2, 0x60(%rcx)
movaps %xmm0, 0x70(%rcx)
andq $0x0, 0x80(%rcx)
leaq 0xdd0(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
movaps %xmm1, 0x30(%rcx)
orl $-0x1, 0x40(%rcx)
movb %al, 0x44(%rcx)
andl $0x0, 0x58(%rcx)
movups %xmm0, 0x48(%rcx)
movaps 0x2214(%rip), %xmm2     # 0xe330
movaps %xmm2, 0x60(%rcx)
movaps %xmm0, 0x70(%rcx)
andq $0x0, 0x80(%rcx)
leaq 0xe60(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
movaps %xmm1, 0x30(%rcx)
orl $-0x1, 0x40(%rcx)
movb %al, 0x44(%rcx)
andl $0x0, 0x58(%rcx)
movups %xmm0, 0x48(%rcx)
movaps 0x21dd(%rip), %xmm2     # 0xe340
movaps %xmm2, 0x60(%rcx)
movaps %xmm0, 0x70(%rcx)
andq $0x0, 0x80(%rcx)
leaq 0xef0(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
movaps %xmm1, 0x30(%rcx)
orl $-0x1, 0x40(%rcx)
movb %al, 0x44(%rcx)
andl $0x0, 0x58(%rcx)
movups %xmm0, 0x48(%rcx)
movaps 0x21a6(%rip), %xmm2     # 0xe350
movaps %xmm2, 0x60(%rcx)
movaps %xmm0, 0x70(%rcx)
andq $0x0, 0x80(%rcx)
leaq 0xf80(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
movaps %xmm1, 0x30(%rcx)
orl $-0x1, 0x40(%rcx)
movb %al, 0x44(%rcx)
movups %xmm0, 0x48(%rcx)
andl $0x0, 0x58(%rcx)
leaq 0x8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
pushq $0x1c
popq %rdx
leaq 0x7(%rsp), %rcx
callq 0xc3c0
movl $0xf30, %ebx            # imm = 0xF30
movq $-0x90, %r14
leaq (%rsp,%rbx), %rdi
addq $0x20, %rdi
callq 0x8736
addq %r14, %rbx
cmpq %r14, %rbx
jne 0xc20d
leaq 0x90(%rsp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
xorps %xmm0, %xmm0
movaps %xmm0, -0x70(%rax)
movaps %xmm0, -0x60(%rax)
movaps %xmm0, -0x50(%rax)
movaps %xmm0, -0x40(%rax)
movaps %xmm0, -0x30(%rax)
movaps %xmm0, -0x20(%rax)
andl $0x0, -0x10(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq 0xc0(%rsp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
leaq 0x108(%rsp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movaps %xmm0, -0x28(%rax)
movaps %xmm0, -0x18(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq 0x160(%rsp), %rax
movq %rax, -0x30(%rax)
movq $0x1, -0x28(%rax)
movaps %xmm0, -0x20(%rax)
movl $0x3f800000, -0x10(%rax) # imm = 0x3F800000
andl $0x0, 0x8(%rax)
movups %xmm0, -0x8(%rax)
movq 0x8(%rsp), %rbx
movq 0x10(%rsp), %r15
leaq 0x20(%rsp), %r14
cmpq %r15, %rbx
je 0xc2ea
movq %r14, %rdi
movq %rbx, %rsi
callq 0x5944
addq $0x90, %rbx
jmp 0xc2d1
leaq 0x20(%rsp), %rdi
callq 0x4958
testb %al, %al
je 0xc346
movq 0x58(%rsp), %rcx
movq 0x70(%rsp), %rax
subq 0x68(%rsp), %rax
pushq $0x70
popq %rsi
cqto
idivq %rsi
movq %rax, %rsi
movl 0x168(%rsp), %r8d
incl %r8d
subq 0x50(%rsp), %rcx
movl $0x90, %edi
movq %rcx, %rax
cqto
idivq %rdi
leaq 0x2045(%rip), %rdi      # 0xe37b
xorl %ebx, %ebx
movl %r8d, %edx
movl %eax, %ecx
xorl %eax, %eax
callq 0x2040
jmp 0xc355
leaq 0x2013(%rip), %rdi      # 0xe360
callq 0x21c0
pushq $-0x1
popq %rbx
leaq 0x20(%rsp), %rdi
callq 0xc3fc
leaq 0x8(%rsp), %rdi
callq 0xc45e
movl %ebx, %eax
addq $0xfe0, %rsp            # imm = 0xFE0
popq %rbx
popq %r14
popq %r15
retq
jmp 0xc3a1
movq %rax, %rbx
movl $0xf30, %r14d           # imm = 0xF30
movq $-0x90, %r15
leaq (%rsp,%r14), %rdi
addq $0x20, %rdi
callq 0x8736
addq %r15, %r14
cmpq %r15, %r14
jne 0xc38a
jmp 0xc3b8
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xc3fc
leaq 0x8(%rsp), %rdi
callq 0xc45e
movq %rbx, %rdi
callq 0x2200