; ; sub_57B24 from 0x57b24 to 0x57c48 (292 bytes) ; ; 1 xrefs: ; > @ 0x10c5e0 ; ; 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, #0x60 ; +0x0, 0x57b24 STP X24, X23, [SP,#0x50+var_30] ; +0x4, 0x57b28 STP X22, X21, [SP,#0x50+var_20] ; +0x8, 0x57b2c STP X20, X19, [SP,#0x50+var_10] ; +0xc, 0x57b30 STP X29, X30, [SP,#0x50+var_s0] ; +0x10, 0x57b34 LDR X8, [X0] ; +0x14, 0x57b38 STR X25, [SP,#0x50+var_40] ; +0x18, 0x57b3c LDP X19, X25, [X0,#0x60] ; +0x1c, 0x57b40 LDR X24, [X0,#0x70] ; +0x20, 0x57b44 LDR X8, [X8,#0x18] ; +0x24, 0x57b48 MOV X23, X1 ; +0x28, 0x57b4c MOV X1, SP ; +0x2c, 0x57b50 ADD X29, SP, #0x50 ; +0x30, 0x57b54 MOV X22, X2 ; +0x34, 0x57b58 MOV X21, X0 ; +0x38, 0x57b5c BLR X8 ; +0x3c, 0x57b60 CBZ W0, loc_57B84 ; +0x40, 0x57b64 LDP X29, X30, [SP,#0x50+var_s0] ; +0x44, 0x57b68 LDP X20, X19, [SP,#0x50+var_10] ; +0x48, 0x57b6c LDP X22, X21, [SP,#0x50+var_20] ; +0x4c, 0x57b70 LDP X24, X23, [SP,#0x50+var_30] ; +0x50, 0x57b74 LDR X25, [SP,#0x50+var_40] ; +0x54, 0x57b78 ADD SP, SP, #0x60 ; '`' ; +0x58, 0x57b7c RET ; +0x5c, 0x57b80 CMP X23, #0 ; +0x60, 0x57b84 CSEL X20, X23, X19, NE ; +0x64, 0x57b88 CMP X22, #0 ; +0x68, 0x57b8c CSEL X8, X25, X22, EQ ; +0x6c, 0x57b90 STP X20, X8, [X21,#0x60] ; +0x70, 0x57b94 STR X24, [X21,#0x70] ; +0x74, 0x57b98 CBZ X23, loc_57C40 ; +0x78, 0x57b9c ADD X1, SP, #0x50+var_38 ; +0x7c, 0x57ba0 ADD X2, SP, #0x50+var_48 ; +0x80, 0x57ba4 ADD X3, SP, #0x50+var_4C ; +0x84, 0x57ba8 MOV X0, X19 ; +0x88, 0x57bac BL sub_C7F9C ; +0x8c, 0x57bb0 CBNZ W0, loc_57B68 ; +0x90, 0x57bb4 LDR X1, [SP,#0x50+var_38] ; +0x94, 0x57bb8 LDR X2, [SP,#0x50+var_48] ; +0x98, 0x57bbc LDRB W3, [SP,#0x50+var_4C] ; +0x9c, 0x57bc0 MOV X0, X20 ; +0xa0, 0x57bc4 BL sub_C7EB4 ; +0xa4, 0x57bc8 CBNZ W0, loc_57B68 ; +0xa8, 0x57bcc LDR S0, [X21,#0x34] ; +0xac, 0x57bd0 MOV W1, #1 ; +0xb0, 0x57bd4 MOV X0, X20 ; +0xb4, 0x57bd8 BL sub_CC714 ; +0xb8, 0x57bdc CBNZ W0, loc_57B68 ; +0xbc, 0x57be0 MOV X0, X19 ; +0xc0, 0x57be4 MOV X1, XZR ; +0xc4, 0x57be8 MOV X2, XZR ; +0xc8, 0x57bec MOV W3, WZR ; +0xcc, 0x57bf0 BL sub_C7EB4 ; +0xd0, 0x57bf4 CBNZ W0, loc_57B68 ; +0xd4, 0x57bf8 FMOV S0, #1.0 ; +0xd8, 0x57bfc MOV W1, #1 ; +0xdc, 0x57c00 MOV X0, X19 ; +0xe0, 0x57c04 BL sub_CC714 ; +0xe4, 0x57c08 CBNZ W0, loc_57B68 ; +0xe8, 0x57c0c LDRB W8, [SP,#0x50+var_50] ; +0xec, 0x57c10 MOV W2, #1 ; +0xf0, 0x57c14 MOV X0, X20 ; +0xf4, 0x57c18 CMP W8, #0 ; +0xf8, 0x57c1c CSET W1, EQ ; +0xfc, 0x57c20 BL sub_C7D1C ; +0x100, 0x57c24 CBNZ W0, loc_57B68 ; +0x104, 0x57c28 MOV W1, #1 ; +0x108, 0x57c2c MOV W2, #1 ; +0x10c, 0x57c30 MOV X0, X19 ; +0x110, 0x57c34 BL sub_C7D1C ; +0x114, 0x57c38 CBNZ W0, loc_57B68 ; +0x118, 0x57c3c MOV W0, WZR ; +0x11c, 0x57c40 B loc_57B68 ; +0x120, 0x57c44