"""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()