"""Trace FutPurchaseDraftModeServerResponse beyond its known seven-int parser."""

cls = "FutPurchaseDraftModeServerResponse"
print("CLASS", cls, class_deser(cls))

seen = set()
for deser, vt, factory in class_deser(cls):
    print("\nVTABLE", hex(vt), "FACTORY", hex(factory), "DESER", hex(deser))
    print(vtable(vt, 32))
    for target in [factory, deser] + [t for _, t, name in vtable(vt, 32) if name]:
        if target in seen:
            continue
        seen.add(target)
        print("\n===", hex(target), fname(target), "===")
        print(dec(target, 300))
        print("XREFS", xrefs_to(target)[:100])

for target in (0x18014C090, 0x18014C260, 0x18014C820, 0x18014C8A0):
    if target in seen:
        continue
    print("\n=== CANDIDATE", hex(target), fname(target), "===")
    print(dec(target, 300))
    print("XREFS", xrefs_to(target)[:100])

print("QUERY_DONE")
