; ; sub_5A4DC from 0x5a4dc to 0x5a5dc (256 bytes) ; ; 3 xrefs: ; > sub_59CF0 @ 0x59d3c ; > sub_5B13C @ 0x5b198 ; > FMOD::Channel::getPosition @ 0xceba0 ; ; 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,#-0x10+var_30]! ; +0x0, 0x5a4dc STP X22, X21, [SP,#0x30+var_20] ; +0x4, 0x5a4e0 STP X20, X19, [SP,#0x30+var_10] ; +0x8, 0x5a4e4 STP X29, X30, [SP,#0x30+var_s0] ; +0xc, 0x5a4e8 ADD X29, SP, #0x30 ; +0x10, 0x5a4ec CBZ X1, loc_5A528 ; +0x14, 0x5a4f0 MOV X8, X0 ; +0x18, 0x5a4f4 LDR X0, [X0,#0x1D8] ; +0x1c, 0x5a4f8 CBZ X0, loc_5A5B0 ; +0x20, 0x5a4fc MOV W20, W2 ; +0x24, 0x5a500 MOV X19, X1 ; +0x28, 0x5a504 TST W2, #7 ; +0x2c, 0x5a508 B.EQ loc_5A530 ; +0x30, 0x5a50c LDR X9, [X0,#0x28] ; +0x34, 0x5a510 CBZ X9, loc_5A54C ; +0x38, 0x5a514 LDR W21, [X9,#0x68] ; +0x3c, 0x5a518 LDR W22, [X9,#0x28] ; +0x40, 0x5a51c LDR S8, [X9,#0x6C] ; +0x44, 0x5a520 B loc_5A568 ; +0x48, 0x5a524 MOV W0, #0x1F ; +0x4c, 0x5a528 B loc_5A5D4 ; +0x50, 0x5a52c LDR X8, [X0] ; +0x54, 0x5a530 MOV X1, X19 ; +0x58, 0x5a534 MOV W2, W20 ; +0x5c, 0x5a538 LDR X8, [X8,#0xE0] ; +0x60, 0x5a53c BLR X8 ; +0x64, 0x5a540 CBNZ W0, loc_5A5D4 ; +0x68, 0x5a544 B loc_5A5D0 ; +0x6c, 0x5a548 LDR X9, [X0,#0x30] ; +0x70, 0x5a54c CBZ X9, loc_5A5B0 ; +0x74, 0x5a550 LDR X8, [X8,#8] ; +0x78, 0x5a554 LDRH W21, [X9,#0x118] ; +0x7c, 0x5a558 MOV W22, #5 ; +0x80, 0x5a55c LDR S0, [X8,#0x6D0] ; +0x84, 0x5a560 SCVTF S8, S0 ; +0x88, 0x5a564 LDR X8, [X0] ; +0x8c, 0x5a568 ADD X1, SP, #0x30+var_28 ; +0x90, 0x5a56c LDR X8, [X8,#0x88] ; +0x94, 0x5a570 BLR X8 ; +0x98, 0x5a574 CBNZ W0, loc_5A5D4 ; +0x9c, 0x5a578 TBNZ W20, #2, loc_5A5B8 ; +0xa0, 0x5a57c LDR W8, [SP,#0x30+var_24] ; +0xa4, 0x5a580 TBZ W20, #0, loc_5A5A8 ; +0xa8, 0x5a584 MOV W9, #0x447A0000 ; +0xac, 0x5a588 UCVTF S0, W8 ; +0xb0, 0x5a58c FMOV S1, W9 ; +0xb4, 0x5a590 FMUL S0, S0, S1 ; +0xb8, 0x5a594 FDIV S0, S0, S8 ; +0xbc, 0x5a598 FMOV S1, #0.5 ; +0xc0, 0x5a59c FADD S0, S0, S1 ; +0xc4, 0x5a5a0 FCVTZU W8, S0 ; +0xc8, 0x5a5a4 STR W8, [X19] ; +0xcc, 0x5a5a8 B loc_5A5D0 ; +0xd0, 0x5a5ac MOV W0, #0x1E ; +0xd4, 0x5a5b0 B loc_5A5D4 ; +0xd8, 0x5a5b4 LDR W0, [SP,#0x30+var_24] ; +0xdc, 0x5a5b8 MOV W4, #1 ; +0xe0, 0x5a5bc MOV X1, X19 ; +0xe4, 0x5a5c0 MOV W2, W21 ; +0xe8, 0x5a5c4 MOV W3, W22 ; +0xec, 0x5a5c8 BL sub_5C280 ; +0xf0, 0x5a5cc MOV W0, WZR ; +0xf4, 0x5a5d0 LDP X29, X30, [SP,#0x30+var_s0] ; +0xf8, 0x5a5d4 B loc_5C5CC ; +0xfc, 0x5a5d8