; ; FMOD::ChannelControl::getDSPClock from 0x18000b2f0 to 0x18000b416 (294 bytes) ; ; 6 xrefs: ; > FMOD_ChannelGroup_GetDSPClock @ 0x1800c4f59 ; > FMOD_Channel_GetDSPClock @ 0x1800c5529 ; > @ 0x18017df64 ; > @ 0x18017df74 ; > @ 0x180194348 ; > @ 0x1801f66f0 ; ; 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 ; push rbx ; +0x0, 0x18000b2f0 push rbp ; +0x2, 0x18000b2f2 push rsi ; +0x3, 0x18000b2f3 push r14 ; +0x4, 0x18000b2f4 sub rsp, 158h ; +0x6, 0x18000b2f6 mov rax, cs:__security_cookie ; +0xd, 0x18000b2fd xor rax, rsp ; +0x14, 0x18000b304 mov [rsp+178h+var_38], rax ; +0x17, 0x18000b307 mov rbp, r8 ; +0x1f, 0x18000b30f mov rbx, rdx ; +0x22, 0x18000b312 xor r8d, r8d ; +0x25, 0x18000b315 lea rdx, [rsp+178h+var_148] ; +0x28, 0x18000b318 mov r14, rcx ; +0x2d, 0x18000b31d call sub_180012360 ; +0x30, 0x18000b320 mov esi, eax ; +0x35, 0x18000b325 test eax, eax ; +0x37, 0x18000b327 jnz short loc_18000B372 ; +0x39, 0x18000b329 mov rcx, [rsp+178h+var_148] ; +0x3b, 0x18000b32b mov r8, rbp ; +0x40, 0x18000b330 mov rdx, rbx ; +0x43, 0x18000b333 mov rax, [rcx] ; +0x46, 0x18000b336 call qword ptr [rax+0D8h] ; +0x49, 0x18000b339 mov esi, eax ; +0x4f, 0x18000b33f test eax, eax ; +0x51, 0x18000b341 jnz short loc_18000B372 ; +0x53, 0x18000b343 test rbx, rbx ; +0x55, 0x18000b345 jz short loc_18000B34E ; +0x58, 0x18000b348 shr qword ptr [rbx], 14h ; +0x5a, 0x18000b34a test rbp, rbp ; +0x5e, 0x18000b34e jz short loc_18000B358 ; +0x61, 0x18000b351 shr qword ptr [rbp+0], 14h ; +0x63, 0x18000b353 xor r8d, r8d ; +0x68, 0x18000b358 lea rdx, [rsp+178h+var_148] ; +0x6b, 0x18000b35b mov rcx, r14 ; +0x70, 0x18000b360 call sub_180012360 ; +0x73, 0x18000b363 mov esi, eax ; +0x78, 0x18000b368 test eax, eax ; +0x7a, 0x18000b36a jz loc_18000B3F9 ; +0x7c, 0x18000b36c mov rax, cs:off_1801AED20 ; +0x82, 0x18000b372 test byte ptr [rax+10h], 80h ; +0x89, 0x18000b379 jz short loc_18000B3F7 ; +0x8d, 0x18000b37d mov [rsp+178h+var_28], rdi ; +0x8f, 0x18000b37f lea rcx, [rsp+178h+var_138] ; +0x97, 0x18000b387 mov edi, 100h ; +0x9c, 0x18000b38c mov r8, rbx ; +0xa1, 0x18000b391 mov edx, edi ; +0xa4, 0x18000b394 call sub_1800F3280 ; +0xa6, 0x18000b396 movsxd rbx, eax ; +0xab, 0x18000b39b lea rcx, [rsp+178h+var_138] ; +0xae, 0x18000b39e mov edx, edi ; +0xb3, 0x18000b3a3 lea r8, asc_18014572C; ", " ; +0xb5, 0x18000b3a5 sub edx, ebx ; +0xbc, 0x18000b3ac add rcx, rbx; void * ; +0xbe, 0x18000b3ae call sub_1800F2F70 ; +0xc1, 0x18000b3b1 add ebx, eax ; +0xc6, 0x18000b3b6 lea rcx, [rsp+178h+var_138] ; +0xc8, 0x18000b3b8 movsxd rax, ebx ; +0xcd, 0x18000b3bd sub edi, ebx ; +0xd0, 0x18000b3c0 add rcx, rax ; +0xd2, 0x18000b3c2 mov edx, edi ; +0xd5, 0x18000b3c5 mov r8, rbp ; +0xd7, 0x18000b3c7 call sub_1800F3280 ; +0xda, 0x18000b3ca lea rax, [rsp+178h+var_138] ; +0xdf, 0x18000b3cf mov r8, r14 ; +0xe4, 0x18000b3d4 lea r9, aChannelcontrol_13; "ChannelControl::getDSPClock" ; +0xe7, 0x18000b3d7 mov [rsp+178h+var_158], rax ; +0xee, 0x18000b3de mov edx, 4 ; +0xf3, 0x18000b3e3 mov ecx, esi ; +0xf8, 0x18000b3e8 call sub_1800B20E0 ; +0xfa, 0x18000b3ea mov rdi, [rsp+178h+var_28] ; +0xff, 0x18000b3ef mov eax, esi ; +0x107, 0x18000b3f7 mov rcx, [rsp+178h+var_38] ; +0x109, 0x18000b3f9 xor rcx, rsp; StackCookie ; +0x111, 0x18000b401 call __security_check_cookie ; +0x114, 0x18000b404 add rsp, 158h ; +0x119, 0x18000b409 pop r14 ; +0x120, 0x18000b410 pop rsi ; +0x122, 0x18000b412 pop rbp ; +0x123, 0x18000b413 pop rbx ; +0x124, 0x18000b414 retn ; +0x125, 0x18000b415