; ; sub_589FC from 0x589fc to 0x58a70 (116 bytes) ; ; 2 xrefs: ; > sub_588B4 @ 0x58938 ; > FMOD::ChannelGroup::getGroup @ 0xd2210 ; ; 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 ; STR X21, [SP,#-0x10+var_20]! ; +0x0, 0x589fc ADD X21, X0, #0x190 ; +0x4, 0x58a00 MOV X0, X21 ; +0x8, 0x58a04 STP X20, X19, [SP,#0x20+var_10] ; +0xc, 0x58a08 STP X29, X30, [SP,#0x20+var_s0] ; +0x10, 0x58a0c ADD X29, SP, #0x20 ; +0x14, 0x58a10 MOV X19, X2 ; +0x18, 0x58a14 MOV W20, W1 ; +0x1c, 0x58a18 BL sub_59188 ; +0x20, 0x58a1c MOV W8, #0x1F ; +0x24, 0x58a20 CBZ X19, loc_58A60 ; +0x28, 0x58a24 TBNZ W20, #0x1F, loc_58A60 ; +0x2c, 0x58a28 CMP W0, W20 ; +0x30, 0x58a2c B.LE loc_58A60 ; +0x34, 0x58a30 MOV W8, WZR ; +0x38, 0x58a34 CMP W8, W0 ; +0x3c, 0x58a38 B.GE loc_58A5C ; +0x40, 0x58a3c LDR X21, [X21] ; +0x44, 0x58a40 CMP W20, W8 ; +0x48, 0x58a44 B.NE loc_58A54 ; +0x4c, 0x58a48 LDR X9, [X21,#0x10] ; +0x50, 0x58a4c STR X9, [X19] ; +0x54, 0x58a50 ADD W8, W8, #1 ; +0x58, 0x58a54 B loc_58A38 ; +0x5c, 0x58a58 MOV W8, WZR ; +0x60, 0x58a5c LDP X29, X30, [SP,#0x20+var_s0] ; +0x64, 0x58a60 LDP X20, X19, [SP,#0x20+var_10] ; +0x68, 0x58a64 MOV W0, W8 ; +0x6c, 0x58a68 B loc_59350 ; +0x70, 0x58a6c