; ; sub_5C2E0 from 0x5c2e0 to 0x5c3a0 (192 bytes) ; ; 1 xrefs: ; > @ 0x10c6f8 ; ; 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 ; SUB SP, SP, #0x40 ; +0x0, 0x5c2e0 STP X20, X19, [SP,#0x30+var_10] ; +0x4, 0x5c2e4 MOV X19, X2 ; +0x8, 0x5c2e8 MOV X20, X0 ; +0xc, 0x5c2ec STR X21, [SP,#0x30+var_20] ; +0x10, 0x5c2f0 STP X29, X30, [SP,#0x30+var_s0] ; +0x14, 0x5c2f4 ADD X29, SP, #0x30 ; +0x18, 0x5c2f8 CBZ X1, loc_5C330 ; +0x1c, 0x5c2fc LDR X8, [X20] ; +0x20, 0x5c300 MOV X21, X1 ; +0x24, 0x5c304 ADD X2, SP, #0x30+var_18 ; +0x28, 0x5c308 MOV W1, #0xFFFFFFFD ; +0x2c, 0x5c30c LDR X8, [X8,#0x120] ; +0x30, 0x5c310 MOV X0, X20 ; +0x34, 0x5c314 BLR X8 ; +0x38, 0x5c318 CBNZ W0, loc_5C398 ; +0x3c, 0x5c31c LDR X8, [SP,#0x30+var_18] ; +0x40, 0x5c320 CBZ X8, loc_5C374 ; +0x44, 0x5c324 LDR X8, [X8,#0x10] ; +0x48, 0x5c328 STR X8, [X21] ; +0x4c, 0x5c32c CBZ X19, loc_5C36C ; +0x50, 0x5c330 LDR X0, [X20,#0x20] ; +0x54, 0x5c334 STR XZR, [SP,#0x30+var_18] ; +0x58, 0x5c338 CBZ X0, loc_5C394 ; +0x5c, 0x5c33c LDR X8, [X0] ; +0x60, 0x5c340 ADD X2, SP, #0x30+var_18 ; +0x64, 0x5c344 MOV W1, #0xFFFFFFFD ; +0x68, 0x5c348 BL sub_5C50C ; +0x6c, 0x5c34c CBNZ W0, loc_5C398 ; +0x70, 0x5c350 LDR X8, [SP,#0x30+var_18] ; +0x74, 0x5c354 CBZ X8, loc_5C394 ; +0x78, 0x5c358 LDR X8, [X8,#0x10] ; +0x7c, 0x5c35c MOV W0, WZR ; +0x80, 0x5c360 STR X8, [X19] ; +0x84, 0x5c364 B loc_5C398 ; +0x88, 0x5c368 MOV W0, WZR ; +0x8c, 0x5c36c B loc_5C398 ; +0x90, 0x5c370 LDR X8, [X20] ; +0x94, 0x5c374 ADD X2, SP, #0x30+var_28 ; +0x98, 0x5c378 MOV W1, #0xFFFFFFFF ; +0x9c, 0x5c37c MOV X0, X20 ; +0xa0, 0x5c380 BL sub_5C50C ; +0xa4, 0x5c384 CBNZ W0, loc_5C398 ; +0xa8, 0x5c388 LDR X8, [SP,#0x30+var_28] ; +0xac, 0x5c38c CBNZ X8, loc_5C328 ; +0xb0, 0x5c390 MOV W0, #9 ; +0xb4, 0x5c394 LDP X29, X30, [SP,#0x30+var_s0] ; +0xb8, 0x5c398 B loc_5C5BC ; +0xbc, 0x5c39c