"""Q9: the five functions that carry club-subtype immediates individually.

Q5's scalar scan cannot see jump-table switches (its control, FUN_1800d8330, was
missed), but everything it DID find is a real immediate in an instruction. Those
functions are:
  FUN_1801017e0  0x1e 0x91 0x92 0x93 0x94
  FUN_180108c00  0x1e 0x91 0x94 0x96
  FUN_18011e3c0  0x91 0x94 0x96
  FUN_18011e9d0  0x91 0x94 0x96
  FUN_18013af30  0x1e 0x1f 0x94
  FUN_180067d00  0x94 0x95 0x96
Plus the range test found in Q8 inside the item deserializer at line 738:
  (int)cardsubtypeid - 0x91U < 4   ->  {0x91,0x92,0x93,0x94} take a custom-image path.

Decompile all six in full. Anything that ties one of these constants to a loc key,
an asset path or a UI slot is the mapping.

CONTROL: FUN_18013af30 must contain 0x1e/0x1f/0x94 somewhere in its text; if a
decompile comes back without the constants the scan attributed to it, the scan's
function attribution is wrong.
"""
import traceback

try:
    for a in (0x1801017E0, 0x180108C00, 0x18011E3C0, 0x18011E9D0, 0x18013AF30,
              0x180067D00):
        src = dec(a)
        print("=" * 78)
        print("FUN_%x len=%d" % (a, len(src)))
        print(src)
except Exception:
    traceback.print_exc()
