; ; sub_58380 from 0x58380 to 0x5848c (268 bytes) ; ; 2 xrefs: ; > sub_584E4 @ 0x58568 ; > sub_7C13C @ 0x7c178 ; ; 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, 0x58380 STR X21, [SP,#0x30+var_18] ; +0x4, 0x58384 MOV W21, W2 ; +0x8, 0x58388 AND W2, W2, #1 ; +0xc, 0x5838c MOV W3, WZR ; +0x10, 0x58390 STR D8, [SP,#0x30+var_20] ; +0x14, 0x58394 STP X20, X19, [SP,#0x30+var_10] ; +0x18, 0x58398 STP X29, X30, [SP,#0x30+var_s0] ; +0x1c, 0x5839c ADD X29, SP, #0x30 ; +0x20, 0x583a0 MOV W20, W1 ; +0x24, 0x583a4 MOV X19, X0 ; +0x28, 0x583a8 BL sub_55DCC ; +0x2c, 0x583ac CBNZ W0, loc_58474 ; +0x30, 0x583b0 LDRB W8, [X19,#0x200] ; +0x34, 0x583b4 TBZ W8, #4, loc_583D0 ; +0x38, 0x583b8 AND W2, W21, #1 ; +0x3c, 0x583bc MOV X0, X19 ; +0x40, 0x583c0 MOV W1, W20 ; +0x44, 0x583c4 BL sub_54DB0 ; +0x48, 0x583c8 CBNZ W0, loc_58474 ; +0x4c, 0x583cc LDR X8, [X19] ; +0x50, 0x583d0 ADD X1, SP, #0x30+var_24 ; +0x54, 0x583d4 MOV X0, X19 ; +0x58, 0x583d8 LDR X8, [X8,#0x128] ; +0x5c, 0x583dc BLR X8 ; +0x60, 0x583e0 CBNZ W0, loc_58474 ; +0x64, 0x583e4 MOV W20, WZR ; +0x68, 0x583e8 FMOV S8, #1.0 ; +0x6c, 0x583ec LDR W8, [SP,#0x30+var_24] ; +0x70, 0x583f0 CMP W20, W8 ; +0x74, 0x583f4 B.GE loc_58448 ; +0x78, 0x583f8 LDR X8, [X19] ; +0x7c, 0x583fc MOV X2, SP ; +0x80, 0x58400 MOV X0, X19 ; +0x84, 0x58404 MOV W1, W20 ; +0x88, 0x58408 BL sub_59358 ; +0x8c, 0x5840c CBNZ W0, loc_58474 ; +0x90, 0x58410 LDR X0, [SP,#0x30+var_30] ; +0x94, 0x58414 CBZ X0, loc_58440 ; +0x98, 0x58418 LDR W8, [X0,#0x100] ; +0x9c, 0x5841c CMP W8, #0x23 ; '#' ; +0xa0, 0x58420 B.NE loc_58440 ; +0xa4, 0x58424 LDR X8, [X19,#0x20] ; +0xa8, 0x58428 MOV V0.16B, V8.16B ; +0xac, 0x5842c CBZ X8, loc_58438 ; +0xb0, 0x58430 LDR S0, [X8,#0x1E8] ; +0xb4, 0x58434 MOV W1, #8 ; +0xb8, 0x58438 BL sub_CBD5C ; +0xbc, 0x5843c ADD W20, W20, #1 ; +0xc0, 0x58440 B loc_583F0 ; +0xc4, 0x58444 LDR W8, [X19,#0x48] ; +0xc8, 0x58448 TBNZ W8, #2, loc_58460 ; +0xcc, 0x5844c LDR X0, [X19,#8] ; +0xd0, 0x58450 BL sub_55C5C ; +0xd4, 0x58454 TBZ W0, #0, loc_58470 ; +0xd8, 0x58458 LDR W8, [X19,#0x48] ; +0xdc, 0x5845c MOV W0, WZR ; +0xe0, 0x58460 AND W8, W8, #0xFFFFFFFB ; +0xe4, 0x58464 STR W8, [X19,#0x48] ; +0xe8, 0x58468 B loc_58474 ; +0xec, 0x5846c MOV W0, WZR ; +0xf0, 0x58470 LDP X29, X30, [SP,#0x30+var_s0] ; +0xf4, 0x58474 LDP X20, X19, [SP,#0x30+var_10] ; +0xf8, 0x58478 LDR X21, [SP,#0x30+var_18] ; +0xfc, 0x5847c LDR D8, [SP,#0x30+var_20] ; +0x100, 0x58480 ADD SP, SP, #0x40 ; '@' ; +0x104, 0x58484 RET ; +0x108, 0x58488