"""DIMENSION 4, pass 18: name the flow that FUN_18009bc40 belongs to.
FUN_18009c1f0 installs FUN_18009c360 as a completion delegate; decompile it and
its caller chain, and print any string literals, to confirm (or refute) the
"sign loan player" attribution inferred from adjacency to FUN_18009b480
(LOAN_SIGNED / FUT_LoanPlayerSigned) and from the HTTP-403 -> GotoAlreadySignedPopup
branch."""
import traceback
OUT = "/tmp/claude-1000/-home-alex-Documents-OpenFUT/8e521ca1-ca3e-4138-bb96-df1744dd1d30/scratchpad/store/dup18_out.txt"
try:
    fh = open(OUT, "w")
    todo = [0x18009C1F0]
    seen = set()
    for _ in range(3):
        nxt = []
        for a in todo:
            if a in seen:
                continue
            seen.add(a)
            s = dec(a)
            fh.write("\n%s\n# %#x len(src)=%d FULL\n%s\n%s\n" % ("#"*70, a, len(s), "#"*70, s))
            fh.write("-- callers:\n")
            for frm, typ, fn, ent in xrefs_to(a):
                fh.write("     %#x %s in %s @ %#x\n" % (frm, typ, fn, ent))
                if ent:
                    nxt.append(ent)
        todo = nxt
    fh.close(); print("WROTE", OUT)
except Exception:
    traceback.print_exc()
