Log Started

Problem Statement
RAX: 0000.0000.0003.1337h
RCX: 0000.0000.3438.3137h
Result:
RDX: 0000.0000.0000.0000h
RAX: 0000.A093.F75E.A7D1h

oundary ondition 0 (the greatest positive multiplier)
RAX: 0000.0000.0003.1337h
RCX: 7FFF.FFFF.FFFF.FFFFh
Result:
RDX: 0000.0000.0000.0000h
RAX: 7FFF.FFFF.FFFC.ECC9h

oundary ondition 1 (the greatest unsigned multiplier)
RAX: 0000.0000.0003.1337h
RCX: FFFF.FFFF.FFFF.FFFFh
Result:
RDX: 0000.0000.0000.0000h
RAX: FFFF.FFFF.FFFC.ECC9h

Proved: Two-operand imul keeps rdx = 0 regardless to rax and rcx values

oundary ondition 2 (before the positive product overflow)
RAX: 0000.0000.0003.1337h
RCX: 0000.29A0.0F29.8D85h
Result:
RDX: 0000.0000.0000.0000h
RAX: 7FFF.FFFF.FFFD.4693h

oundary ondition 3 (after the positive product overflow)
RAX: 0000.0000.0003.1337h
RCX: 0000.29A0.0F29.8D86h
Result:
RDX: 0000.0000.0000.0000h
RAX: 8000.0000.0000.59CAh

Find the product overflow point
RAX: 0000.5340.1E53.1B0Bh

oundary ondition 4 (before the unsigned product overflow)
RAX: 0000.0000.0003.1337h
RCX: 0000.5340.1E53.1B0Bh
Result:
RDX: 0000.0000.0000.0000h
RAX: FFFF.FFFF.FFFD.A05Dh

oundary ondition 5 (after the unsigned product overflow)
RAX: 0000.0000.0003.1337h
RCX: 0000.5340.1E53.1B0Ch
Result:
RDX: 0000.0000.0000.0000h
RAX: 0000.0000.0000.B394h

Overflow point achieved. RAX is zeroed out

Check if the product (0A093F75EA7D1h) can be yielded again

oundary ondition 6 (Overflow_Point + 3438.3137h)
RAX: 0000.0000.0003.1337h
RCX: 0000.5340.528B.4C42h
Result:
RDX: 0000.0000.0000.0000h
RAX: 0000.A093.F75C.482Eh

oundary ondition 7 (Overflow_Point + 3438.3137h + 1)
RAX: 0000.0000.0003.1337h
RCX: 0000.5340.528B.4C43h
Result:
RDX: 0000.0000.0000.0000h
RAX: 0000.A093.F75F.5B65h

