; ; FMOD::ChannelControl::addDSP from 0x18000a2b0 to 0x18000a3e3 (307 bytes) ; ; 6 xrefs: ; > FMOD_ChannelGroup_AddDSP @ 0x1800c4e19 ; > FMOD_Channel_AddDSP @ 0x1800c53f9 ; > @ 0x18017e220 ; > @ 0x18017e254 ; > @ 0x180194348 ; > @ 0x1801f6498 ; ; 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, 0x18000a2b0 push rsi ; +0x3, 0x18000a2b3 sub rsp, 170h ; +0x4, 0x18000a2b4 mov rax, cs:__security_cookie ; +0xb, 0x18000a2bb xor rax, rsp ; +0x12, 0x18000a2c2 mov [rsp+178h+var_38], rax ; +0x15, 0x18000a2c5 mov [r11-10h], rbx ; +0x1d, 0x18000a2cd mov ebx, edx ; +0x21, 0x18000a2d1 mov [r11-18h], rbp ; +0x23, 0x18000a2d3 lea rdx, [rsp+178h+var_140] ; +0x27, 0x18000a2d7 mov rbp, r8 ; +0x2c, 0x18000a2dc mov [r11-28h], r14 ; +0x2f, 0x18000a2df lea r8, [rsp+178h+var_148] ; +0x33, 0x18000a2e3 mov [rsp+178h+var_148], 0 ; +0x38, 0x18000a2e8 mov r14, rcx ; +0x41, 0x18000a2f1 call sub_180012360 ; +0x44, 0x18000a2f4 mov esi, eax ; +0x49, 0x18000a2f9 test eax, eax ; +0x4b, 0x18000a2fb jnz short loc_18000A31C ; +0x4d, 0x18000a2fd mov rcx, [rsp+178h+var_140] ; +0x4f, 0x18000a2ff mov r8, rbp ; +0x54, 0x18000a304 mov edx, ebx ; +0x57, 0x18000a307 mov rax, [rcx] ; +0x59, 0x18000a309 call qword ptr [rax+110h] ; +0x5c, 0x18000a30c mov esi, eax ; +0x62, 0x18000a312 test eax, eax ; +0x64, 0x18000a314 jz loc_18000A3A1 ; +0x66, 0x18000a316 mov rax, cs:off_1801AED20 ; +0x6c, 0x18000a31c test byte ptr [rax+10h], 80h ; +0x73, 0x18000a323 jz short loc_18000A3A1 ; +0x77, 0x18000a327 mov [rsp+178h+var_20], rdi ; +0x79, 0x18000a329 lea rcx, [rsp+178h+var_138] ; +0x81, 0x18000a331 mov edi, 100h ; +0x86, 0x18000a336 mov r8d, ebx ; +0x8b, 0x18000a33b mov edx, edi ; +0x8e, 0x18000a33e call sub_1800F2EC0 ; +0x90, 0x18000a340 movsxd rbx, eax ; +0x95, 0x18000a345 lea rcx, [rsp+178h+var_138] ; +0x98, 0x18000a348 mov edx, edi ; +0x9d, 0x18000a34d lea r8, asc_18014572C; ", " ; +0x9f, 0x18000a34f sub edx, ebx ; +0xa6, 0x18000a356 add rcx, rbx; void * ; +0xa8, 0x18000a358 call sub_1800F2F70 ; +0xab, 0x18000a35b add ebx, eax ; +0xb0, 0x18000a360 lea rcx, [rsp+178h+var_138] ; +0xb2, 0x18000a362 movsxd rax, ebx ; +0xb7, 0x18000a367 sub edi, ebx ; +0xba, 0x18000a36a add rcx, rax ; +0xbc, 0x18000a36c mov edx, edi ; +0xbf, 0x18000a36f mov r8, rbp ; +0xc1, 0x18000a371 call sub_1800F3230 ; +0xc4, 0x18000a374 lea rax, [rsp+178h+var_138] ; +0xc9, 0x18000a379 mov r8, r14 ; +0xce, 0x18000a37e lea r9, aChannelcontrol; "ChannelControl::addDSP" ; +0xd1, 0x18000a381 mov [rsp+178h+var_158], rax ; +0xd8, 0x18000a388 mov edx, 4 ; +0xdd, 0x18000a38d mov ecx, esi ; +0xe2, 0x18000a392 call sub_1800B20E0 ; +0xe4, 0x18000a394 mov rdi, [rsp+178h+var_20] ; +0xe9, 0x18000a399 mov rcx, [rsp+178h+var_148] ; +0xf1, 0x18000a3a1 mov r14, [rsp+178h+var_28] ; +0xf6, 0x18000a3a6 mov rbp, [rsp+178h+var_18] ; +0xfe, 0x18000a3ae mov rbx, [rsp+178h+var_10] ; +0x106, 0x18000a3b6 test rcx, rcx ; +0x10e, 0x18000a3be jz short loc_18000A3C8 ; +0x111, 0x18000a3c1 call sub_180102320 ; +0x113, 0x18000a3c3 mov eax, esi ; +0x118, 0x18000a3c8 mov rcx, [rsp+178h+var_38] ; +0x11a, 0x18000a3ca xor rcx, rsp; StackCookie ; +0x122, 0x18000a3d2 call __security_check_cookie ; +0x125, 0x18000a3d5 add rsp, 170h ; +0x12a, 0x18000a3da pop rsi ; +0x131, 0x18000a3e1 retn ; +0x132, 0x18000a3e2