import pymem

pm = pymem.Pymem(43084)
base = 0x7ff6afc20000
igs = pm.read_ulonglong(base + 0x4430108)
area = pm.read_ulonglong(igs + 0x290)
if not (0x10000 <= area <= 0x7fffffffffff):
    area = pm.read_ulonglong(igs + 0x2a0)

print("AreaInstance:", hex(area))
# Search in area first 0x1000 bytes for string pointers
for off in range(0, 0x1000, 8):
    p = pm.read_ulonglong(area + off)
    if 0x100000000 <= p <= 0x7fffffffffff:
        try:
            # check string
            s = pm.read_bytes(p, 64).decode("utf-8", errors="ignore").split('\x00')[0]
            if len(s) >= 3 and s.isprintable():
                print(f"  +0x{off:x} -> {hex(p)}: \"{s}\"")
        except: pass
