"""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")