"""DIMENSION 4, pass 14: rule out the four remaining candidate writers of a
qword at +0x10 that are also "item-shaped" (pass 13 x pass 5 cross-filter):
0x18009dc80, 0x1801aae50, 0x180156ac0, 0x180157050.
If none of them is writing an ITEM's +0x10, then the duplicate field is written
only by the four response deserializers and copied by the item assignment
operator FUN_1800515e0.
CONTROL: FUN_1800515e0 is printed too; it must show the +0x10 copy alongside the
other item members (+0x18 resourceId, +0x50, +0x5c, +0x8c, +0x90), which is what
makes it the item assignment operator rather than a coincidence.
"""
import traceback

OUT = "/tmp/claude-1000/-home-alex-Documents-OpenFUT/8e521ca1-ca3e-4138-bb96-df1744dd1d30/scratchpad/store/dup14_out.txt"

try:
    fh = open(OUT, "w")
    for a in (0x18009DC80, 0x1801AAE50, 0x180156AC0, 0x180157050):
        s = dec(a)
        fh.write("\n" + "#" * 70 + "\n# %#x len(src)=%d FULL\n" % (a, len(s)) + "#" * 70 + "\n")
        fh.write(s + "\n")
    s = dec(0x1800515E0)
    fh.write("\n" + "#" * 70 + "\n# CONTROL item assign 0x1800515e0 len(src)=%d FULL\n" % len(s)
             + "#" * 70 + "\n")
    fh.write(s + "\n")
    fh.close()
    print("WROTE", OUT)
except Exception:
    traceback.print_exc()
