; ; sub_54AD8 from 0x54ad8 to 0x54b70 (152 bytes) ; ; 1 xrefs: ; > @ 0x10c390 ; ; 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, 0x54ad8 STP X20, X19, [SP,#0x20+var_10] ; +0x4, 0x54adc STP X29, X30, [SP,#0x20+var_s0] ; +0x8, 0x54ae0 LDR X8, [X0,#0xC0] ; +0xc, 0x54ae4 ADD X29, SP, #0x20 ; +0x10, 0x54ae8 CBZ X8, loc_54B60 ; +0x14, 0x54aec MOV W19, W2 ; +0x18, 0x54af0 MOV X21, X0 ; +0x1c, 0x54af4 MOV W20, W1 ; +0x20, 0x54af8 BL loc_525F4 ; +0x24, 0x54afc CBNZ W0, loc_54B58 ; +0x28, 0x54b00 LDR X0, [X21,#0x28] ; +0x2c, 0x54b04 ADD W9, W20, W19 ; +0x30, 0x54b08 SUB W3, W9, #1 ; +0x34, 0x54b0c MOV W2, #2 ; +0x38, 0x54b10 LDR X8, [X0] ; +0x3c, 0x54b14 MOV W4, #2 ; +0x40, 0x54b18 MOV W1, W20 ; +0x44, 0x54b1c LDR X8, [X8,#0x138] ; +0x48, 0x54b20 BLR X8 ; +0x4c, 0x54b24 CBNZ W0, loc_54B58 ; +0x50, 0x54b28 LDR X8, [X21,#0x28] ; +0x54, 0x54b2c ADD X8, X8, #0x58 ; 'X' ; +0x58, 0x54b30 LDAR W8, [X8] ; +0x5c, 0x54b34 TBZ W8, #7, loc_54B58 ; +0x60, 0x54b38 LDR X0, [X21,#0xC0] ; +0x64, 0x54b3c MOV W1, W20 ; +0x68, 0x54b40 MOV W2, W19 ; +0x6c, 0x54b44 LDR X8, [X0] ; +0x70, 0x54b48 LDR X8, [X8,#0x90] ; +0x74, 0x54b4c BLR X8 ; +0x78, 0x54b50 CBNZ W0, loc_54B64 ; +0x7c, 0x54b54 MOV W0, WZR ; +0x80, 0x54b58 B loc_54B64 ; +0x84, 0x54b5c MOV W0, #0x1E ; +0x88, 0x54b60 LDP X29, X30, [SP,#0x20+var_s0] ; +0x8c, 0x54b64 LDP X20, X19, [SP,#0x20+var_10] ; +0x90, 0x54b68 B loc_54D08 ; +0x94, 0x54b6c