; ; sub_538A0 from 0x538a0 to 0x53990 (240 bytes) ; ; 1 xrefs: ; > @ 0x10c288 ; ; This function is hookable on this platform! ; ; Using BromaIDA 8.0.0 @ https:;github.com/Stazzical/BromaIDA ; Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https:;github.com/geode-sdk/bindings ; STR X21, [SP,#-0x10+var_20]! ; +0x0, 0x538a0 STP X20, X19, [SP,#0x20+var_10] ; +0x4, 0x538a4 STP X29, X30, [SP,#0x20+var_s0] ; +0x8, 0x538a8 LDR X8, [X0,#0x18] ; +0xc, 0x538ac ADD X29, SP, #0x20 ; +0x10, 0x538b0 MOV X21, X0 ; +0x14, 0x538b4 MOV X19, X1 ; +0x18, 0x538b8 LDR X20, [X8,#0x60] ; +0x1c, 0x538bc BL loc_525D0 ; +0x20, 0x538c0 CBZ W0, loc_538D0 ; +0x24, 0x538c4 LDP X29, X30, [SP,#0x20+var_s0] ; +0x28, 0x538c8 B loc_53E54 ; +0x2c, 0x538cc LDR X9, [X21,#0x28] ; +0x30, 0x538d0 CBZ X9, loc_53910 ; +0x34, 0x538d4 LDRB W10, [X21,#0x38] ; +0x38, 0x538d8 LSR X8, X19, #0x20 ; ' ' ; +0x3c, 0x538dc TBNZ W10, #0, loc_538F8 ; +0x40, 0x538e0 LDR W10, [X21,#0x54] ; +0x44, 0x538e4 CBZ W10, loc_538F8 ; +0x48, 0x538e8 LDP W9, W10, [X21,#0x58] ; +0x4c, 0x538ec ADD W9, W10, W9 ; +0x50, 0x538f0 B loc_538FC ; +0x54, 0x538f4 LDR W9, [X9,#0x44] ; +0x58, 0x538f8 SUB W9, W9, #1 ; +0x5c, 0x538fc CMP W9, W8 ; +0x60, 0x53900 B.CS loc_53910 ; +0x64, 0x53904 MOV W0, #0x20 ; ' ' ; +0x68, 0x53908 B loc_538C8 ; +0x6c, 0x5390c CBZ X19, loc_5392C ; +0x70, 0x53910 LDR X8, [X21,#0x18] ; +0x74, 0x53914 LDR W8, [X8,#0x48] ; +0x78, 0x53918 TBZ W8, #0x12, loc_5392C ; +0x7c, 0x5391c LDR W8, [X21,#0x3C] ; +0x80, 0x53920 ORR W8, W8, #0x20000 ; +0x84, 0x53924 STR W8, [X21,#0x3C] ; +0x88, 0x53928 LDR X0, [X21,#0x2E8] ; +0x8c, 0x5392c CBZ X0, loc_53944 ; +0x90, 0x53930 MOV W3, #1 ; +0x94, 0x53934 MOV X1, X19 ; +0x98, 0x53938 MOV W2, WZR ; +0x9c, 0x5393c B loc_53958 ; +0xa0, 0x53940 LDR X0, [X21,#0x30] ; +0xa4, 0x53944 CBZ X0, loc_53968 ; +0xa8, 0x53948 MOV W2, #1 ; +0xac, 0x5394c MOV W3, #1 ; +0xb0, 0x53950 MOV X1, X19 ; +0xb4, 0x53954 LDP X29, X30, [SP,#0x20+var_s0] ; +0xb8, 0x53958 LDP X20, X19, [SP,#0x20+var_10] ; +0xbc, 0x5395c LDR X21, [SP+0x20+var_20],#0x30 ; +0xc0, 0x53960 B sub_C98D8 ; +0xc4, 0x53964 LDR X8, [X21,#0x298] ; +0xc8, 0x53968 CBZ X8, loc_53978 ; +0xcc, 0x5396c ADD X0, X21, #0x70 ; 'p' ; +0xd0, 0x53970 B loc_53934 ; +0xd4, 0x53974 LDR X0, [X21,#0x2E0] ; +0xd8, 0x53978 CBNZ X0, loc_5394C ; +0xdc, 0x5397c MOV W2, #1 ; +0xe0, 0x53980 MOV W3, #1 ; +0xe4, 0x53984 MOV X0, X20 ; +0xe8, 0x53988 B loc_53954 ; +0xec, 0x5398c