; ; sub_58C3C from 0x58c3c to 0x58d3c (256 bytes) ; ; 1 xrefs: ; > @ 0x10c470 ; ; 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, 0x58c3c STP X22, X21, [SP,#0x30+var_20] ; +0x4, 0x58c40 STP X20, X19, [SP,#0x30+var_10] ; +0x8, 0x58c44 STP X29, X30, [SP,#0x30+var_s0] ; +0xc, 0x58c48 LDR X8, [X0,#8] ; +0x10, 0x58c4c MOV W9, #0x18 ; +0x14, 0x58c50 MOV W21, W1 ; +0x18, 0x58c54 MOV X19, X0 ; +0x1c, 0x58c58 SMADDL X8, W1, W9, X8 ; +0x20, 0x58c5c MOV W9, #0x11FC0 ; +0x24, 0x58c60 LDR X8, [X8,X9] ; +0x2c, 0x58c68 SXTW X22, W21 ; +0x30, 0x58c6c ADD X29, SP, #0x30 ; +0x34, 0x58c70 CBZ X8, loc_58CAC ; +0x38, 0x58c74 ADD X8, X19, X22,LSL#2 ; +0x3c, 0x58c78 LDR S0, [X8,#0x13C] ; +0x40, 0x58c7c ADD X9, X19, X22,LSL#3 ; +0x44, 0x58c80 LDR X8, [X9,#0x150] ; +0x48, 0x58c84 ADD X20, X9, #0x150 ; +0x4c, 0x58c88 FCMP S0, #0.0 ; +0x50, 0x58c8c B.EQ loc_58CBC ; +0x54, 0x58c90 CBZ X8, loc_58D00 ; +0x58, 0x58c94 MOV X0, X19 ; +0x5c, 0x58c98 MOV W1, W21 ; +0x60, 0x58c9c BL sub_5875C ; +0x64, 0x58ca0 CBNZ W0, loc_58D34 ; +0x68, 0x58ca4 B loc_58CF8 ; +0x6c, 0x58ca8 ADD X8, X19, X22,LSL#3 ; +0x70, 0x58cac MOV W0, WZR ; +0x74, 0x58cb0 STR XZR, [X8,#0x150] ; +0x78, 0x58cb4 B loc_58D34 ; +0x7c, 0x58cb8 CBZ X8, loc_58CF8 ; +0x80, 0x58cbc LDR X8, [X19] ; +0x84, 0x58cc0 ADD X2, SP, #0x30+var_28 ; +0x88, 0x58cc4 MOV W1, #0xFFFFFFFE ; +0x8c, 0x58cc8 MOV X0, X19 ; +0x90, 0x58ccc BL sub_59358 ; +0x94, 0x58cd0 CBNZ W0, loc_58D34 ; +0x98, 0x58cd4 BL sub_593D0 ; +0x9c, 0x58cd8 LDR X1, [SP,#0x30+var_28] ; +0xa0, 0x58cdc LDR X0, [X8,X10] ; +0xa4, 0x58ce0 LDR X2, [X20] ; +0xa8, 0x58ce4 MOV W3, #4 ; +0xac, 0x58ce8 BL sub_CB928 ; +0xb0, 0x58cec CBNZ W0, loc_58D34 ; +0xb4, 0x58cf0 STR XZR, [X20] ; +0xb8, 0x58cf4 MOV W0, WZR ; +0xbc, 0x58cf8 B loc_58D34 ; +0xc0, 0x58cfc LDR X8, [X19] ; +0xc4, 0x58d00 ADD X2, SP, #0x30+var_28 ; +0xc8, 0x58d04 MOV W1, #0xFFFFFFFE ; +0xcc, 0x58d08 MOV X0, X19 ; +0xd0, 0x58d0c BL sub_59358 ; +0xd4, 0x58d10 CBNZ W0, loc_58D34 ; +0xd8, 0x58d14 BL sub_593D0 ; +0xdc, 0x58d18 LDR X0, [X8,X10] ; +0xe0, 0x58d1c LDR X1, [SP,#0x30+var_28] ; +0xe4, 0x58d20 MOV W3, #2 ; +0xe8, 0x58d24 MOV X2, X20 ; +0xec, 0x58d28 BL sub_59400 ; +0xf0, 0x58d2c CBZ W0, loc_58C98 ; +0xf4, 0x58d30 LDP X29, X30, [SP,#0x30+var_s0] ; +0xf8, 0x58d34 B loc_593C0 ; +0xfc, 0x58d38