; ; sub_596C0 from 0x596c0 to 0x59774 (180 bytes) ; ; 10 xrefs: ; > sub_58828 @ 0x588a0 ; > sub_595BC @ 0x59620 ; > sub_5A244 @ 0x5a274 ; > sub_5C728 @ 0x5c730 ; > sub_8D6F8 @ 0x8f06c ; > sub_925EC @ 0x928a0 ; > sub_964C8 @ 0x964f0 ; > sub_A1024 @ 0xa104c ; > sub_A3828 @ 0xa39dc ; > FMOD::Channel::setFrequency @ 0xced4c ; ; 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 D8, [SP,#var_20]! ; +0x0, 0x596c0 FMOV W8, S0 ; +0x4, 0x596c4 MOV X1, X30 ; +0x8, 0x596c8 BL sub_5C748 ; +0xc, 0x596cc MOV X30, X1 ; +0x10, 0x596d0 STR X19, [SP,#0x20+var_18] ; +0x14, 0x596d4 STP X29, X30, [SP,#0x20+var_10] ; +0x18, 0x596d8 ADD X29, SP, #0x20+var_10 ; +0x1c, 0x596dc B.NE loc_596EC ; +0x20, 0x596e0 MOV W0, #0x1D ; +0x24, 0x596e4 B loc_59764 ; +0x28, 0x596e8 MOV X19, X0 ; +0x2c, 0x596ec LDR X0, [X0,#0x1D8] ; +0x30, 0x596f0 CBZ X0, loc_59760 ; +0x34, 0x596f4 LDR X8, [X19,#0x20] ; +0x38, 0x596f8 CBZ X8, loc_59760 ; +0x3c, 0x596fc LDP S2, S1, [X0,#0x64] ; +0x40, 0x59700 LDR S8, [X19,#0x22C] ; +0x44, 0x59704 FMAXNM S0, S1, S0 ; +0x48, 0x59708 FMINNM S0, S0, S2 ; +0x4c, 0x5970c STR S0, [X19,#0x22C] ; +0x50, 0x59710 LDR X8, [X0] ; +0x54, 0x59714 LDR X8, [X8,#0x70] ; +0x58, 0x59718 BLR X8 ; +0x5c, 0x5971c CBNZ W0, loc_59764 ; +0x60, 0x59720 LDR X8, [X19,#0x1F0] ; +0x64, 0x59724 CBZ X8, loc_59758 ; +0x68, 0x59728 FCMP S8, #0.0 ; +0x6c, 0x5972c B.GE loc_59740 ; +0x70, 0x59730 LDR S0, [X19,#0x22C] ; +0x74, 0x59734 FCMP S0, #0.0 ; +0x78, 0x59738 B.GT loc_59754 ; +0x7c, 0x5973c FCMP S8, #0.0 ; +0x80, 0x59740 B.LE loc_59758 ; +0x84, 0x59744 LDR S0, [X19,#0x22C] ; +0x88, 0x59748 FCMP S0, #0.0 ; +0x8c, 0x5974c B.GE loc_59758 ; +0x90, 0x59750 BL sub_5C71C ; +0x94, 0x59754 MOV W0, WZR ; +0x98, 0x59758 B loc_59764 ; +0x9c, 0x5975c MOV W0, #0x1E ; +0xa0, 0x59760 LDP X29, X30, [SP,#0x20+var_10] ; +0xa4, 0x59764 LDR X19, [SP,#0x20+var_18] ; +0xa8, 0x59768 LDR D8, [SP+0x20+var_20],#0x20 ; +0xac, 0x5976c RET ; +0xb0, 0x59770