; ; FMOD::Sound::setMusicSpeed from 0x1800aa030 to 0x1800aa149 (281 bytes) ; ; 3 xrefs: ; > FMOD_Sound_SetMusicSpeed @ 0x1800c67e9 ; > @ 0x180194348 ; > @ 0x1801fbe38 ; ; 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 ; mov [rsp+arg_10], rbx ; +0x0, 0x1800aa030 push rdi ; +0x5, 0x1800aa035 sub rsp, 160h ; +0x6, 0x1800aa036 movaps [rsp+168h+var_18], xmm6 ; +0xd, 0x1800aa03d mov rax, cs:__security_cookie ; +0x15, 0x1800aa045 xor rax, rsp ; +0x1c, 0x1800aa04c mov [rsp+168h+var_28], rax ; +0x1f, 0x1800aa04f lea r8, [rsp+168h+var_130] ; +0x27, 0x1800aa057 mov [rsp+168h+var_130], 0 ; +0x2c, 0x1800aa05c lea rdx, [rsp+168h+var_138] ; +0x35, 0x1800aa065 movaps xmm6, xmm1 ; +0x3a, 0x1800aa06a mov rdi, rcx ; +0x3d, 0x1800aa06d call sub_1800E1460 ; +0x40, 0x1800aa070 mov ebx, eax ; +0x45, 0x1800aa075 test eax, eax ; +0x47, 0x1800aa077 jnz short loc_1800AA0CB ; +0x49, 0x1800aa079 mov rax, [rsp+168h+var_138] ; +0x4b, 0x1800aa07b mov ecx, [rax+110h] ; +0x50, 0x1800aa080 nop ; +0x56, 0x1800aa086 test ecx, ecx ; +0x57, 0x1800aa087 jz short loc_1800AA0B4 ; +0x59, 0x1800aa089 mov rax, [rsp+168h+var_138] ; +0x5b, 0x1800aa08b mov ecx, [rax+110h] ; +0x60, 0x1800aa090 nop ; +0x66, 0x1800aa096 cmp ecx, 7 ; +0x67, 0x1800aa097 jz short loc_1800AA0B4 ; +0x6a, 0x1800aa09a mov rax, [rsp+168h+var_138] ; +0x6c, 0x1800aa09c mov ecx, [rax+110h] ; +0x71, 0x1800aa0a1 nop ; +0x77, 0x1800aa0a7 cmp ecx, 5 ; +0x78, 0x1800aa0a8 jz short loc_1800AA0B4 ; +0x7b, 0x1800aa0ab mov ebx, 2Eh ; '.' ; +0x7d, 0x1800aa0ad jmp short loc_1800AA0CB ; +0x82, 0x1800aa0b2 mov rcx, [rsp+168h+var_138] ; +0x84, 0x1800aa0b4 movaps xmm1, xmm6 ; +0x89, 0x1800aa0b9 mov rax, [rcx] ; +0x8c, 0x1800aa0bc call qword ptr [rax+160h] ; +0x8f, 0x1800aa0bf mov ebx, eax ; +0x95, 0x1800aa0c5 test eax, eax ; +0x97, 0x1800aa0c7 jz short loc_1800AA10A ; +0x99, 0x1800aa0c9 mov rax, cs:off_1801AED20 ; +0x9b, 0x1800aa0cb test byte ptr [rax+10h], 80h ; +0xa2, 0x1800aa0d2 jz short loc_1800AA10A ; +0xa6, 0x1800aa0d6 movaps xmm2, xmm6 ; +0xa8, 0x1800aa0d8 lea rcx, [rsp+168h+var_128] ; +0xab, 0x1800aa0db mov edx, 100h ; +0xb0, 0x1800aa0e0 call sub_1800F2F20 ; +0xb5, 0x1800aa0e5 lea rax, [rsp+168h+var_128] ; +0xba, 0x1800aa0ea mov r8, rdi ; +0xbf, 0x1800aa0ef lea r9, aSoundSetmusics; "Sound::setMusicSpeed" ; +0xc2, 0x1800aa0f2 mov [rsp+168h+var_148], rax ; +0xc9, 0x1800aa0f9 mov edx, 5 ; +0xce, 0x1800aa0fe mov ecx, ebx ; +0xd3, 0x1800aa103 call sub_1800B20E0 ; +0xd5, 0x1800aa105 mov rcx, [rsp+168h+var_130] ; +0xda, 0x1800aa10a test rcx, rcx ; +0xdf, 0x1800aa10f jz short loc_1800AA11E ; +0xe2, 0x1800aa112 mov edx, 0Ch ; +0xe4, 0x1800aa114 call sub_180102300 ; +0xe9, 0x1800aa119 mov eax, ebx ; +0xee, 0x1800aa11e mov rcx, [rsp+168h+var_28] ; +0xf0, 0x1800aa120 xor rcx, rsp; StackCookie ; +0xf8, 0x1800aa128 call __security_check_cookie ; +0xfb, 0x1800aa12b mov rbx, [rsp+168h+arg_10] ; +0x100, 0x1800aa130 movaps xmm6, [rsp+168h+var_18] ; +0x108, 0x1800aa138 add rsp, 160h ; +0x110, 0x1800aa140 pop rdi ; +0x117, 0x1800aa147 retn ; +0x118, 0x1800aa148