; ; FMOD::DSP::disconnectFrom from 0x1800a1510 to 0x1800a1645 (309 bytes) ; ; 5 xrefs: ; > FMOD_DSP_DisconnectFrom @ 0x1800c5b29 ; > @ 0x180185ef4 ; > @ 0x180185f28 ; > @ 0x180194348 ; > @ 0x1801fb040 ; ; 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, 0x1800a1510 push rsi ; +0x3, 0x1800a1513 sub rsp, 170h ; +0x4, 0x1800a1514 mov rax, cs:__security_cookie ; +0xb, 0x1800a151b xor rax, rsp ; +0x12, 0x1800a1522 mov [rsp+178h+var_38], rax ; +0x15, 0x1800a1525 mov [r11-10h], rbx ; +0x1d, 0x1800a152d mov rbx, rdx ; +0x21, 0x1800a1531 mov [r11-18h], rbp ; +0x24, 0x1800a1534 lea rdx, [rsp+178h+var_140] ; +0x28, 0x1800a1538 mov rbp, r8 ; +0x2d, 0x1800a153d mov [r11-28h], r14 ; +0x30, 0x1800a1540 lea r8, [rsp+178h+var_148] ; +0x34, 0x1800a1544 mov [rsp+178h+var_148], 0 ; +0x39, 0x1800a1549 mov r14, rcx ; +0x42, 0x1800a1552 call ?validate@DSPI@FMOD@@SA?AW4FMOD_RESULT@@PEAVDSP@2@PEAPEAV12@PEAVSystemLockScope@2@@Z; FMOD::DSPI::validate(FMOD::DSP *,FMOD::DSPI * *,FMOD::SystemLockScope *) ; +0x45, 0x1800a1555 mov esi, eax ; +0x4a, 0x1800a155a test eax, eax ; +0x4c, 0x1800a155c jnz short loc_1800A157E ; +0x4e, 0x1800a155e mov rcx, [rsp+178h+var_140] ; +0x50, 0x1800a1560 lea r9d, [rax+4] ; +0x55, 0x1800a1565 mov r8, rbp ; +0x59, 0x1800a1569 mov rdx, rbx ; +0x5c, 0x1800a156c call sub_180096490 ; +0x5f, 0x1800a156f mov esi, eax ; +0x64, 0x1800a1574 test eax, eax ; +0x66, 0x1800a1576 jz loc_1800A1603 ; +0x68, 0x1800a1578 mov rax, cs:off_1801AED20 ; +0x6e, 0x1800a157e test byte ptr [rax+10h], 80h ; +0x75, 0x1800a1585 jz short loc_1800A1603 ; +0x79, 0x1800a1589 mov [rsp+178h+var_20], rdi ; +0x7b, 0x1800a158b lea rcx, [rsp+178h+var_138] ; +0x83, 0x1800a1593 mov edi, 100h ; +0x88, 0x1800a1598 mov r8, rbx ; +0x8d, 0x1800a159d mov edx, edi ; +0x90, 0x1800a15a0 call sub_1800F3230 ; +0x92, 0x1800a15a2 movsxd rbx, eax ; +0x97, 0x1800a15a7 lea rcx, [rsp+178h+var_138] ; +0x9a, 0x1800a15aa mov edx, edi ; +0x9f, 0x1800a15af lea r8, asc_18014572C; ", " ; +0xa1, 0x1800a15b1 sub edx, ebx ; +0xa8, 0x1800a15b8 add rcx, rbx; void * ; +0xaa, 0x1800a15ba call sub_1800F2F70 ; +0xad, 0x1800a15bd add ebx, eax ; +0xb2, 0x1800a15c2 lea rcx, [rsp+178h+var_138] ; +0xb4, 0x1800a15c4 movsxd rax, ebx ; +0xb9, 0x1800a15c9 sub edi, ebx ; +0xbc, 0x1800a15cc add rcx, rax ; +0xbe, 0x1800a15ce mov edx, edi ; +0xc1, 0x1800a15d1 mov r8, rbp ; +0xc3, 0x1800a15d3 call sub_1800F3230 ; +0xc6, 0x1800a15d6 lea rax, [rsp+178h+var_138] ; +0xcb, 0x1800a15db mov r8, r14 ; +0xd0, 0x1800a15e0 lea r9, aDspDisconnectf; "DSP::disconnectFrom" ; +0xd3, 0x1800a15e3 mov [rsp+178h+var_158], rax ; +0xda, 0x1800a15ea mov edx, 7 ; +0xdf, 0x1800a15ef mov ecx, esi ; +0xe4, 0x1800a15f4 call sub_1800B20E0 ; +0xe6, 0x1800a15f6 mov rdi, [rsp+178h+var_20] ; +0xeb, 0x1800a15fb mov rcx, [rsp+178h+var_148] ; +0xf3, 0x1800a1603 mov r14, [rsp+178h+var_28] ; +0xf8, 0x1800a1608 mov rbp, [rsp+178h+var_18] ; +0x100, 0x1800a1610 mov rbx, [rsp+178h+var_10] ; +0x108, 0x1800a1618 test rcx, rcx ; +0x110, 0x1800a1620 jz short loc_1800A162A ; +0x113, 0x1800a1623 call sub_180102320 ; +0x115, 0x1800a1625 mov eax, esi ; +0x11a, 0x1800a162a mov rcx, [rsp+178h+var_38] ; +0x11c, 0x1800a162c xor rcx, rsp; StackCookie ; +0x124, 0x1800a1634 call __security_check_cookie ; +0x127, 0x1800a1637 add rsp, 170h ; +0x12c, 0x1800a163c pop rsi ; +0x133, 0x1800a1643 retn ; +0x134, 0x1800a1644