"""Q20: the functions that test cardtype==7 / cardsubtypeid in {9,10,11}.

Q19 (control passed: it recovered FUN_18011e3c0's 0x91/0x94/0x96 on a +0x50 field)
flagged:
  FUN_1800f6c40   direct  [+0x4c]==7  AND  [+0x50]==9
  FUN_180084720   direct  [+0x50]==9  and  [+0x50]==0xb
  FUN_180094580   near    [+0x50] 9 / 0xb / 3
  FUN_18015fa80   direct  [+0x50]==9
  FUN_1801362e0   direct  [+0x4c] 1 / 2 / 7
Decompile each. Whatever these do with subtypes 9/10/11 is the club-family
behaviour, and a loc key or asset id in any arm names the family.

CONTROL: FUN_1801362e0 is one of the merge's arms (called from FUN_180141660 case 2,
the manager arm) so it must be a DB lookup on carddbid; if it is not, the +0x4c
attribution is on a different struct and these hits are noise.
"""
import traceback

try:
    for a in (0x1800F6C40, 0x180084720, 0x180094580, 0x18015FA80, 0x1801362E0):
        src = dec(a)
        print("=" * 78)
        print("FUN_%x len=%d" % (a, len(src)))
        print(src if len(src) < 12000 else src[:12000] + "\n...[cut, len above]")
except Exception:
    traceback.print_exc()
