; ; FMOD::DSP::setCallback from 0x1800a3780 to 0x1800a3850 (208 bytes) ; ; 3 xrefs: ; > FMOD_DSP_SetCallback @ 0x1800c5e49 ; > @ 0x180194348 ; > @ 0x1801fb3f4 ; ; 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, 0x1800a3780 mov [rsp+arg_18], rsi ; +0x5, 0x1800a3785 push rdi ; +0xa, 0x1800a378a sub rsp, 150h ; +0xb, 0x1800a378b mov rax, cs:__security_cookie ; +0x12, 0x1800a3792 xor rax, rsp ; +0x19, 0x1800a3799 mov [rsp+158h+var_18], rax ; +0x1c, 0x1800a379c mov rdi, rdx ; +0x24, 0x1800a37a4 mov [rsp+158h+var_128], 0 ; +0x27, 0x1800a37a7 lea rdx, [rsp+158h+var_120] ; +0x30, 0x1800a37b0 mov rsi, rcx ; +0x35, 0x1800a37b5 lea r8, [rsp+158h+var_128] ; +0x38, 0x1800a37b8 call ?validate@DSPI@FMOD@@SA?AW4FMOD_RESULT@@PEAVDSP@2@PEAPEAV12@PEAVSystemLockScope@2@@Z; FMOD::DSPI::validate(FMOD::DSP *,FMOD::DSPI * *,FMOD::SystemLockScope *) ; +0x3d, 0x1800a37bd mov ebx, eax ; +0x42, 0x1800a37c2 test eax, eax ; +0x44, 0x1800a37c4 jnz short loc_1800A37DB ; +0x46, 0x1800a37c6 mov rcx, [rsp+158h+var_120] ; +0x48, 0x1800a37c8 mov rdx, rdi ; +0x4d, 0x1800a37cd call sub_18009B820 ; +0x50, 0x1800a37d0 mov ebx, eax ; +0x55, 0x1800a37d5 test eax, eax ; +0x57, 0x1800a37d7 jz short loc_1800A381A ; +0x59, 0x1800a37d9 mov rax, cs:off_1801AED20 ; +0x5b, 0x1800a37db test byte ptr [rax+10h], 80h ; +0x62, 0x1800a37e2 jz short loc_1800A381A ; +0x66, 0x1800a37e6 mov r8, rdi ; +0x68, 0x1800a37e8 lea rcx, [rsp+158h+var_118] ; +0x6b, 0x1800a37eb mov edx, 100h ; +0x70, 0x1800a37f0 call sub_1800F3230 ; +0x75, 0x1800a37f5 lea rax, [rsp+158h+var_118] ; +0x7a, 0x1800a37fa mov r8, rsi ; +0x7f, 0x1800a37ff lea r9, aDspSetcallback; "DSP::setCallback" ; +0x82, 0x1800a3802 mov [rsp+158h+var_138], rax ; +0x89, 0x1800a3809 mov edx, 7 ; +0x8e, 0x1800a380e mov ecx, ebx ; +0x93, 0x1800a3813 call sub_1800B20E0 ; +0x95, 0x1800a3815 mov rcx, [rsp+158h+var_128] ; +0x9a, 0x1800a381a test rcx, rcx ; +0x9f, 0x1800a381f jz short loc_1800A3829 ; +0xa2, 0x1800a3822 call sub_180102320 ; +0xa4, 0x1800a3824 mov eax, ebx ; +0xa9, 0x1800a3829 mov rcx, [rsp+158h+var_18] ; +0xab, 0x1800a382b xor rcx, rsp; StackCookie ; +0xb3, 0x1800a3833 call __security_check_cookie ; +0xb6, 0x1800a3836 lea r11, [rsp+158h+var_8] ; +0xbb, 0x1800a383b mov rbx, [r11+20h] ; +0xc3, 0x1800a3843 mov rsi, [r11+28h] ; +0xc7, 0x1800a3847 mov rsp, r11 ; +0xcb, 0x1800a384b pop rdi ; +0xce, 0x1800a384e retn ; +0xcf, 0x1800a384f