; ; sub_581C4 from 0x581c4 to 0x5836c (424 bytes) ; ; 3 xrefs: ; > sub_57F50 @ 0x58168 ; > sub_762B0 @ 0x764a4 ; > FMOD::ChannelGroup::addGroup @ 0xd20cc ; ; 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, 0x581c4 STP X24, X23, [SP,#0x50+var_30] ; +0x4, 0x581c8 MOV W23, #0x1F ; +0x8, 0x581cc STP X22, X21, [SP,#0x50+var_20] ; +0xc, 0x581d0 STP X20, X19, [SP,#0x50+var_10] ; +0x10, 0x581d4 STP X29, X30, [SP,#0x50+var_s0] ; +0x14, 0x581d8 ADD X29, SP, #0x50 ; +0x18, 0x581dc CBZ X1, loc_58268 ; +0x1c, 0x581e0 MOV X19, X1 ; +0x20, 0x581e4 MOV X20, X0 ; +0x24, 0x581e8 CMP X1, X0 ; +0x28, 0x581ec B.EQ loc_58268 ; +0x2c, 0x581f0 LDR X8, [X19,#0x20] ; +0x30, 0x581f4 CMP X8, X20 ; +0x34, 0x581f8 B.EQ loc_58264 ; +0x38, 0x581fc LDR X8, [X20,#8] ; +0x3c, 0x58200 MOV W9, #2 ; +0x40, 0x58204 MOV X0, SP ; +0x44, 0x58208 MOV X22, X3 ; +0x48, 0x5820c MOV W21, W2 ; +0x4c, 0x58210 STRB WZR, [SP,#0x50+var_44] ; +0x50, 0x58214 STR X8, [SP,#0x50+var_50] ; +0x54, 0x58218 STR W9, [SP,#0x50+var_48] ; +0x58, 0x5821c BL sub_520A0 ; +0x5c, 0x58220 LDP X8, X9, [X19,#0x178] ; +0x60, 0x58224 ADD X24, X19, #0x178 ; +0x64, 0x58228 ADD X2, SP, #0x50+var_38 ; +0x68, 0x5822c MOV X0, X19 ; +0x6c, 0x58230 STR X8, [X9] ; +0x70, 0x58234 LDR X8, [X19,#0x178] ; +0x74, 0x58238 MOV W1, WZR ; +0x78, 0x5823c STR X9, [X8,#8] ; +0x7c, 0x58240 LDR X8, [X19] ; +0x80, 0x58244 STP X24, X24, [X19,#0x178] ; +0x84, 0x58248 BL sub_59358 ; +0x88, 0x5824c MOV W23, W0 ; +0x8c, 0x58250 CBZ W0, loc_58284 ; +0x90, 0x58254 MOV X0, SP ; +0x94, 0x58258 BL sub_51F94 ; +0x98, 0x5825c B loc_58268 ; +0x9c, 0x58260 MOV W23, WZR ; +0xa0, 0x58264 MOV W0, W23 ; +0xa4, 0x58268 LDP X29, X30, [SP,#0x50+var_s0] ; +0xa8, 0x5826c LDP X20, X19, [SP,#0x50+var_10] ; +0xac, 0x58270 LDP X22, X21, [SP,#0x50+var_20] ; +0xb0, 0x58274 LDP X24, X23, [SP,#0x50+var_30] ; +0xb4, 0x58278 ADD SP, SP, #0x60 ; '`' ; +0xb8, 0x5827c RET ; +0xbc, 0x58280 LDR X0, [X19,#0x20] ; +0xc0, 0x58284 CBZ X0, loc_582D0 ; +0xc4, 0x58288 STR XZR, [SP,#0x50+var_40] ; +0xc8, 0x5828c LDR X8, [X0] ; +0xcc, 0x58290 ADD X2, SP, #0x50+var_40 ; +0xd0, 0x58294 MOV W1, #0xFFFFFFFD ; +0xd4, 0x58298 BL sub_59358 ; +0xd8, 0x5829c MOV W23, W0 ; +0xdc, 0x582a0 CBNZ W0, loc_58258 ; +0xe0, 0x582a4 LDR X8, [SP,#0x50+var_40] ; +0xe4, 0x582a8 ADD X8, X8, #0x64 ; 'd' ; +0xe8, 0x582ac LDAR W8, [X8] ; +0xec, 0x582b0 TBNZ W8, #0xA, loc_582D0 ; +0xf0, 0x582b4 LDP X0, X1, [SP,#0x50+var_40] ; +0xf4, 0x582b8 MOV X2, XZR ; +0xf8, 0x582bc MOV W3, WZR ; +0xfc, 0x582c0 BL sub_CB928 ; +0x100, 0x582c4 MOV W23, W0 ; +0x104, 0x582c8 CBNZ W0, loc_58258 ; +0x108, 0x582cc LDR X8, [X20,#0x198] ; +0x10c, 0x582d0 ADD X9, X20, #0x190 ; +0x110, 0x582d4 ADD X2, SP, #0x50+var_40 ; +0x114, 0x582d8 MOV W1, #0xFFFFFFFD ; +0x118, 0x582dc STP X9, X8, [X19,#0x178] ; +0x11c, 0x582e0 STR X24, [X20,#0x198] ; +0x120, 0x582e4 LDR X8, [X19,#0x180] ; +0x124, 0x582e8 MOV X0, X20 ; +0x128, 0x582ec STR X24, [X8] ; +0x12c, 0x582f0 STR X19, [X19,#0x188] ; +0x130, 0x582f4 LDR X8, [X20] ; +0x134, 0x582f8 BL sub_59358 ; +0x138, 0x582fc MOV W23, W0 ; +0x13c, 0x58300 CBNZ W0, loc_58258 ; +0x140, 0x58304 LDR X1, [SP,#0x50+var_38] ; +0x144, 0x58308 CBZ X1, loc_5833C ; +0x148, 0x5830c LDR X0, [SP,#0x50+var_40] ; +0x14c, 0x58310 MOV X2, X22 ; +0x150, 0x58314 MOV W3, WZR ; +0x154, 0x58318 BL sub_59400 ; +0x158, 0x5831c MOV W23, W0 ; +0x15c, 0x58320 CBNZ W0, loc_58258 ; +0x160, 0x58324 TBZ W21, #0, loc_5833C ; +0x164, 0x58328 LDR X8, [SP,#0x50+var_40] ; +0x168, 0x5832c MOV X0, X19 ; +0x16c, 0x58330 ADD X1, X8, #8 ; +0x170, 0x58334 BL sub_57C48 ; +0x174, 0x58338 STR X20, [X19,#0x20] ; +0x178, 0x5833c LDR W8, [X20,#0x48] ; +0x17c, 0x58340 MOV X0, X19 ; +0x180, 0x58344 UBFX W1, W8, #4, #1 ; +0x184, 0x58348 BL sub_585B0 ; +0x188, 0x5834c MOV X0, X19 ; +0x18c, 0x58350 BL sub_57CC0 ; +0x190, 0x58354 MOV W23, W0 ; +0x194, 0x58358 CBNZ W0, loc_58258 ; +0x198, 0x5835c MOV X0, X19 ; +0x19c, 0x58360 BL sub_58828 ; +0x1a0, 0x58364 B loc_58258 ; +0x1a4, 0x58368