; ; sub_5D1CC from 0x5d1cc to 0x5d26c (160 bytes) ; ; 1 xrefs: ; > sub_54DB0 @ 0x54f08 ; ; 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, #0x30 ; +0x0, 0x5d1cc STP X20, X19, [SP,#0x20+var_10] ; +0x4, 0x5d1d0 STP X29, X30, [SP,#0x20+var_s0] ; +0x8, 0x5d1d4 LDR X8, [X0,#0x150] ; +0xc, 0x5d1d8 ADD X29, SP, #0x20 ; +0x10, 0x5d1dc CBZ X8, loc_5D260 ; +0x14, 0x5d1e0 MOV X19, X1 ; +0x18, 0x5d1e4 MOV X20, X0 ; +0x1c, 0x5d1e8 ADD X1, SP, #0x20+var_18 ; +0x20, 0x5d1ec MOV X0, X19 ; +0x24, 0x5d1f0 MOV X2, XZR ; +0x28, 0x5d1f4 BL ._ZN4FMOD8ChannelI8validateEPNS_7ChannelEPPS0_PNS_15SystemLockScopeE; FMOD::ChannelI::validate(FMOD::Channel *,FMOD::ChannelI**,FMOD::SystemLockScope *) ; +0x2c, 0x5d1f8 CBZ W0, loc_5D234 ; +0x30, 0x5d1fc MOV X1, SP ; +0x34, 0x5d200 MOV X0, X19 ; +0x38, 0x5d204 MOV X2, XZR ; +0x3c, 0x5d208 BL sub_579DC ; +0x40, 0x5d20c CBNZ W0, loc_5D260 ; +0x44, 0x5d210 LDR X8, [SP,#0x20+var_20] ; +0x48, 0x5d214 LDR W9, [X8,#0x220] ; +0x4c, 0x5d218 CMP W9, #1 ; +0x50, 0x5d21c B.NE loc_5D260 ; +0x54, 0x5d220 ADD X0, X8, #0x208 ; +0x58, 0x5d224 MOV W9, #2 ; +0x5c, 0x5d228 STR W9, [X8,#0x220] ; +0x60, 0x5d22c B loc_5D264 ; +0x64, 0x5d230 LDR X8, [SP,#0x20+var_18] ; +0x68, 0x5d234 LDR X9, [X20,#0x150] ; +0x6c, 0x5d238 LDRSW X8, [X8,#0x1D0] ; +0x70, 0x5d23c ADD X0, X9, X8,LSL#6 ; +0x74, 0x5d240 MOV X8, X0 ; +0x78, 0x5d244 LDR W9, [X8,#0x18]! ; +0x7c, 0x5d248 CMP W9, #1 ; +0x80, 0x5d24c B.NE loc_5D260 ; +0x84, 0x5d250 MOV W9, #2 ; +0x88, 0x5d254 STR W9, [X8] ; +0x8c, 0x5d258 B loc_5D264 ; +0x90, 0x5d25c MOV X0, XZR ; +0x94, 0x5d260 LDP X29, X30, [SP,#0x20+var_s0] ; +0x98, 0x5d264 B loc_5D4D4 ; +0x9c, 0x5d268