; ; FMOD::Sound::setMusicChannelVolume from 0x1800a9eb0 to 0x1800aa022 (370 bytes) ; ; 5 xrefs: ; > FMOD_Sound_SetMusicChannelVolume @ 0x1800c67d9 ; > @ 0x18018768c ; > @ 0x1801876c0 ; > @ 0x180194348 ; > @ 0x1801fbdfc ; ; 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 r11, rsp ; +0x0, 0x1800a9eb0 push rsi ; +0x3, 0x1800a9eb3 sub rsp, 170h ; +0x4, 0x1800a9eb4 mov rax, cs:__security_cookie ; +0xb, 0x1800a9ebb xor rax, rsp ; +0x12, 0x1800a9ec2 mov [rsp+178h+var_38], rax ; +0x15, 0x1800a9ec5 mov [r11+20h], rbx ; +0x1d, 0x1800a9ecd lea r8, [rsp+178h+var_140] ; +0x21, 0x1800a9ed1 mov [r11-10h], rbp ; +0x26, 0x1800a9ed6 mov ebx, edx ; +0x2a, 0x1800a9eda movaps xmmword ptr [r11-28h], xmm6 ; +0x2c, 0x1800a9edc lea rdx, [rsp+178h+var_148] ; +0x31, 0x1800a9ee1 movaps xmm6, xmm2 ; +0x36, 0x1800a9ee6 mov [rsp+178h+var_140], 0 ; +0x39, 0x1800a9ee9 mov rbp, rcx ; +0x42, 0x1800a9ef2 call sub_1800E1460 ; +0x45, 0x1800a9ef5 mov esi, eax ; +0x4a, 0x1800a9efa test eax, eax ; +0x4c, 0x1800a9efc jnz short loc_1800A9F56 ; +0x4e, 0x1800a9efe mov rax, [rsp+178h+var_148] ; +0x50, 0x1800a9f00 mov ecx, [rax+110h] ; +0x55, 0x1800a9f05 nop ; +0x5b, 0x1800a9f0b test ecx, ecx ; +0x5c, 0x1800a9f0c jz short loc_1800A9F39 ; +0x5e, 0x1800a9f0e mov rax, [rsp+178h+var_148] ; +0x60, 0x1800a9f10 mov ecx, [rax+110h] ; +0x65, 0x1800a9f15 nop ; +0x6b, 0x1800a9f1b cmp ecx, 7 ; +0x6c, 0x1800a9f1c jz short loc_1800A9F39 ; +0x6f, 0x1800a9f1f mov rax, [rsp+178h+var_148] ; +0x71, 0x1800a9f21 mov ecx, [rax+110h] ; +0x76, 0x1800a9f26 nop ; +0x7c, 0x1800a9f2c cmp ecx, 5 ; +0x7d, 0x1800a9f2d jz short loc_1800A9F39 ; +0x80, 0x1800a9f30 mov esi, 2Eh ; '.' ; +0x82, 0x1800a9f32 jmp short loc_1800A9F56 ; +0x87, 0x1800a9f37 mov rcx, [rsp+178h+var_148] ; +0x89, 0x1800a9f39 movaps xmm2, xmm6 ; +0x8e, 0x1800a9f3e mov edx, ebx ; +0x91, 0x1800a9f41 mov rax, [rcx] ; +0x93, 0x1800a9f43 call qword ptr [rax+150h] ; +0x96, 0x1800a9f46 mov esi, eax ; +0x9c, 0x1800a9f4c test eax, eax ; +0x9e, 0x1800a9f4e jz loc_1800A9FDB ; +0xa0, 0x1800a9f50 mov rax, cs:off_1801AED20 ; +0xa6, 0x1800a9f56 test byte ptr [rax+10h], 80h ; +0xad, 0x1800a9f5d jz short loc_1800A9FDB ; +0xb1, 0x1800a9f61 mov [rsp+178h+var_18], rdi ; +0xb3, 0x1800a9f63 lea rcx, [rsp+178h+var_138] ; +0xbb, 0x1800a9f6b mov edi, 100h ; +0xc0, 0x1800a9f70 mov r8d, ebx ; +0xc5, 0x1800a9f75 mov edx, edi ; +0xc8, 0x1800a9f78 call sub_1800F2EC0 ; +0xca, 0x1800a9f7a movsxd rbx, eax ; +0xcf, 0x1800a9f7f lea rcx, [rsp+178h+var_138] ; +0xd2, 0x1800a9f82 mov edx, edi ; +0xd7, 0x1800a9f87 lea r8, asc_18014572C; ", " ; +0xd9, 0x1800a9f89 sub edx, ebx ; +0xe0, 0x1800a9f90 add rcx, rbx; void * ; +0xe2, 0x1800a9f92 call sub_1800F2F70 ; +0xe5, 0x1800a9f95 add ebx, eax ; +0xea, 0x1800a9f9a lea rcx, [rsp+178h+var_138] ; +0xec, 0x1800a9f9c movsxd rax, ebx ; +0xf1, 0x1800a9fa1 sub edi, ebx ; +0xf4, 0x1800a9fa4 add rcx, rax ; +0xf6, 0x1800a9fa6 mov edx, edi ; +0xf9, 0x1800a9fa9 movaps xmm2, xmm6 ; +0xfb, 0x1800a9fab call sub_1800F2F20 ; +0xfe, 0x1800a9fae lea rax, [rsp+178h+var_138] ; +0x103, 0x1800a9fb3 mov r8, rbp ; +0x108, 0x1800a9fb8 lea r9, aSoundSetmusicc; "Sound::setMusicChannelVolume" ; +0x10b, 0x1800a9fbb mov [rsp+178h+var_158], rax ; +0x112, 0x1800a9fc2 mov edx, 5 ; +0x117, 0x1800a9fc7 mov ecx, esi ; +0x11c, 0x1800a9fcc call sub_1800B20E0 ; +0x11e, 0x1800a9fce mov rdi, [rsp+178h+var_18] ; +0x123, 0x1800a9fd3 mov rcx, [rsp+178h+var_140] ; +0x12b, 0x1800a9fdb movaps xmm6, [rsp+178h+var_28] ; +0x130, 0x1800a9fe0 mov rbp, [rsp+178h+var_10] ; +0x138, 0x1800a9fe8 mov rbx, [rsp+178h+arg_18] ; +0x140, 0x1800a9ff0 test rcx, rcx ; +0x148, 0x1800a9ff8 jz short loc_1800AA007 ; +0x14b, 0x1800a9ffb mov edx, 0Ch ; +0x14d, 0x1800a9ffd call sub_180102300 ; +0x152, 0x1800aa002 mov eax, esi ; +0x157, 0x1800aa007 mov rcx, [rsp+178h+var_38] ; +0x159, 0x1800aa009 xor rcx, rsp; StackCookie ; +0x161, 0x1800aa011 call __security_check_cookie ; +0x164, 0x1800aa014 add rsp, 170h ; +0x169, 0x1800aa019 pop rsi ; +0x170, 0x1800aa020 retn ; +0x171, 0x1800aa021