"""Q27: dump FUN_1801bfac0 in FULL to disk (it is >20k chars and was cut in Q26).

It is the card-detail builder and the only function referencing FUT_UC_KITS,
'Stadium', 'Badge' AND FUT_UC_BALL, so its club arms should name every family
including the ball subtype that FUN_180119bd0 (cardtype 7 only) cannot reach.

Also dump FUN_180094580 (references FUT_UC_KITS, and Q19 flagged it testing
item+0x50 against 9 and 0xb) and FUN_180099490 ('Badge').

No truncation: written to files, lengths printed here.
"""
import os
import traceback

OUT = ("/tmp/claude-1000/-home-alex-Documents-OpenFUT/"
       "8e521ca1-ca3e-4138-bb96-df1744dd1d30/scratchpad/cards/dec")

try:
    os.makedirs(OUT, exist_ok=True)
    for a in (0x1801BFAC0, 0x180094580, 0x180099490, 0x18015FA80, 0x180102790,
              0x1800F6C40, 0x180084720):
        src = dec(a)
        p = os.path.join(OUT, "FUN_%x.c" % a)
        with open(p, "w") as f:
            f.write(src)
        print("  FUN_%x len=%d" % (a, len(src)))
except Exception:
    traceback.print_exc()
