; ; sub_5C7E4 from 0x5c7e4 to 0x5c88c (168 bytes) ; ; 3 xrefs: ; > sub_94374 @ 0x94394 ; > sub_E4924 @ 0xe493c ; > sub_E4FD8 @ 0xe4ff0 ; ; 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, 0x5c7e4 STP X20, X19, [SP,#0x20+var_10] ; +0x4, 0x5c7e8 STP X29, X30, [SP,#0x20+var_s0] ; +0x8, 0x5c7ec ADRP X20, #off_10F7A0@PAGE ; +0xc, 0x5c7f0 LDR X8, [X0,#0x18] ; +0x10, 0x5c7f4 LDR X20, [X20,#off_10F7A0@PAGEOFF]; off_114000 ; +0x14, 0x5c7f8 MOV X19, X0 ; +0x18, 0x5c7fc ADD X29, SP, #0x20 ; +0x1c, 0x5c800 CBZ X8, loc_5C858 ; +0x20, 0x5c804 MOV X21, XZR ; +0x24, 0x5c808 LDRSW X8, [X19] ; +0x28, 0x5c80c CMP X21, X8 ; +0x2c, 0x5c810 B.GE loc_5C838 ; +0x30, 0x5c814 LDR X8, [X19,#0x18] ; +0x34, 0x5c818 LDR X0, [X8,X21,LSL#3] ; +0x38, 0x5c81c CBZ X0, loc_5C830 ; +0x3c, 0x5c820 LDR X8, [X0] ; +0x40, 0x5c824 LDR X8, [X8,#0x20] ; +0x44, 0x5c828 BLR X8 ; +0x48, 0x5c82c ADD X21, X21, #1 ; +0x4c, 0x5c830 B loc_5C80C ; +0x50, 0x5c834 LDR X8, [X20]; unk_11F800 ; +0x54, 0x5c838 LDR X1, [X19,#0x18] ; +0x58, 0x5c83c ADRL X2, aSrcFmodChannel_0; "../../src/fmod_channelpool.cpp" ; +0x5c, 0x5c840 LDR X0, [X8,#(qword_11F9B0 - 0x11F800)] ; +0x64, 0x5c848 MOV W3, #0x60 ; '`' ; +0x68, 0x5c84c MOV W4, #1 ; +0x6c, 0x5c850 BL sub_E2D74 ; +0x70, 0x5c854 LDR X8, [X20]; unk_11F800 ; +0x74, 0x5c858 ADRL X2, aSrcFmodChannel_0; "../../src/fmod_channelpool.cpp" ; +0x78, 0x5c85c MOV W3, #0x63 ; 'c' ; +0x80, 0x5c864 LDR X0, [X8,#(qword_11F9B0 - 0x11F800)] ; +0x84, 0x5c868 MOV W4, #1 ; +0x88, 0x5c86c MOV X1, X19 ; +0x8c, 0x5c870 BL sub_E2D74 ; +0x90, 0x5c874 LDP X29, X30, [SP,#0x20+var_s0] ; +0x94, 0x5c878 LDP X20, X19, [SP,#0x20+var_10] ; +0x98, 0x5c87c MOV W0, WZR ; +0x9c, 0x5c880 LDR X21, [SP+0x20+var_20],#0x30 ; +0xa0, 0x5c884 RET ; +0xa4, 0x5c888