; ; FMOD::DSP::getOutputChannelFormat from 0x1800a2690 to 0x1800a28f0 (608 bytes) ; ; 5 xrefs: ; > FMOD_DSP_GetOutputChannelFormat @ 0x1800c5d0b ; > @ 0x1801862e4 ; > @ 0x180186318 ; > @ 0x180194348 ; > @ 0x1801fb274 ; ; 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, 0x1800a2690 push rsi ; +0x3, 0x1800a2693 sub rsp, 1B0h ; +0x4, 0x1800a2694 mov rax, cs:__security_cookie ; +0xb, 0x1800a269b xor rax, rsp ; +0x12, 0x1800a26a2 mov [rsp+1B8h+var_58], rax ; +0x15, 0x1800a26a5 mov [r11-10h], rbx ; +0x1d, 0x1800a26ad mov ebx, edx ; +0x21, 0x1800a26b1 mov [r11-18h], rbp ; +0x23, 0x1800a26b3 lea rdx, [rsp+1B8h+var_170] ; +0x27, 0x1800a26b7 mov [r11-28h], r12 ; +0x2c, 0x1800a26bc mov ebp, r8d ; +0x30, 0x1800a26c0 mov r12, [rsp+1B8h+arg_28] ; +0x33, 0x1800a26c3 lea r8, [rsp+1B8h+var_178] ; +0x3b, 0x1800a26cb mov [r11-30h], r13 ; +0x40, 0x1800a26d0 mov r13, [rsp+1B8h+arg_30] ; +0x44, 0x1800a26d4 mov [r11-38h], r14 ; +0x4c, 0x1800a26dc mov r14d, r9d ; +0x50, 0x1800a26e0 mov [r11-40h], r15 ; +0x53, 0x1800a26e3 mov r15, [rsp+1B8h+arg_20] ; +0x57, 0x1800a26e7 mov [rsp+1B8h+var_168], rcx ; +0x5f, 0x1800a26ef mov [rsp+1B8h+var_178], 0 ; +0x64, 0x1800a26f4 call ?validate@DSPI@FMOD@@SA?AW4FMOD_RESULT@@PEAVDSP@2@PEAPEAV12@PEAVSystemLockScope@2@@Z; FMOD::DSPI::validate(FMOD::DSP *,FMOD::DSPI * *,FMOD::SystemLockScope *) ; +0x6d, 0x1800a26fd mov esi, eax ; +0x72, 0x1800a2702 test eax, eax ; +0x74, 0x1800a2704 jnz short loc_1800A2733 ; +0x76, 0x1800a2706 mov rcx, [rsp+1B8h+var_170] ; +0x78, 0x1800a2708 mov r9d, r14d ; +0x7d, 0x1800a270d mov [rsp+1B8h+var_188], r13 ; +0x80, 0x1800a2710 mov r8d, ebp ; +0x85, 0x1800a2715 mov [rsp+1B8h+var_190], r12 ; +0x88, 0x1800a2718 mov edx, ebx ; +0x8d, 0x1800a271d mov [rsp+1B8h+var_198], r15 ; +0x8f, 0x1800a271f call sub_1800976F0 ; +0x94, 0x1800a2724 mov esi, eax ; +0x99, 0x1800a2729 test eax, eax ; +0x9b, 0x1800a272b jz loc_1800A2896 ; +0x9d, 0x1800a272d mov rax, cs:off_1801AED20 ; +0xa3, 0x1800a2733 test byte ptr [rax+10h], 80h ; +0xaa, 0x1800a273a jz loc_1800A2896 ; +0xae, 0x1800a273e mov [rsp+1B8h+var_20], rdi ; +0xb4, 0x1800a2744 lea rcx, [rsp+1B8h+var_158] ; +0xbc, 0x1800a274c mov edi, 100h ; +0xc1, 0x1800a2751 mov r8d, ebx ; +0xc6, 0x1800a2756 mov edx, edi ; +0xc9, 0x1800a2759 call sub_1800F2EF0 ; +0xcb, 0x1800a275b movsxd rbx, eax ; +0xd0, 0x1800a2760 lea rcx, [rsp+1B8h+var_158] ; +0xd3, 0x1800a2763 mov edx, edi ; +0xd8, 0x1800a2768 lea r8, asc_18014572C; ", " ; +0xda, 0x1800a276a sub edx, ebx ; +0xe1, 0x1800a2771 add rcx, rbx; void * ; +0xe3, 0x1800a2773 call sub_1800F2F70 ; +0xe6, 0x1800a2776 add ebx, eax ; +0xeb, 0x1800a277b mov edx, edi ; +0xed, 0x1800a277d lea rax, [rsp+1B8h+var_158] ; +0xef, 0x1800a277f movsxd rcx, ebx ; +0xf4, 0x1800a2784 add rcx, rax ; +0xf7, 0x1800a2787 sub edx, ebx ; +0xfa, 0x1800a278a mov r8d, ebp ; +0xfc, 0x1800a278c call sub_1800F2EC0 ; +0xff, 0x1800a278f add ebx, eax ; +0x104, 0x1800a2794 lea rcx, [rsp+1B8h+var_158] ; +0x106, 0x1800a2796 movsxd rax, ebx ; +0x10b, 0x1800a279b lea r8, asc_18014572C; ", " ; +0x10e, 0x1800a279e mov edx, edi ; +0x115, 0x1800a27a5 add rcx, rax; void * ; +0x117, 0x1800a27a7 sub edx, ebx ; +0x11a, 0x1800a27aa call sub_1800F2F70 ; +0x11c, 0x1800a27ac add ebx, eax ; +0x121, 0x1800a27b1 lea rcx, [rsp+1B8h+var_158] ; +0x123, 0x1800a27b3 movsxd rax, ebx ; +0x128, 0x1800a27b8 mov edx, edi ; +0x12b, 0x1800a27bb add rcx, rax ; +0x12d, 0x1800a27bd sub edx, ebx ; +0x130, 0x1800a27c0 mov r8d, r14d ; +0x132, 0x1800a27c2 call sub_1800F2EC0 ; +0x135, 0x1800a27c5 add ebx, eax ; +0x13a, 0x1800a27ca lea rcx, [rsp+1B8h+var_158] ; +0x13c, 0x1800a27cc movsxd rax, ebx ; +0x141, 0x1800a27d1 lea r8, asc_18014572C; ", " ; +0x144, 0x1800a27d4 mov edx, edi ; +0x14b, 0x1800a27db add rcx, rax; void * ; +0x14d, 0x1800a27dd sub edx, ebx ; +0x150, 0x1800a27e0 call sub_1800F2F70 ; +0x152, 0x1800a27e2 add ebx, eax ; +0x157, 0x1800a27e7 lea rcx, [rsp+1B8h+var_158] ; +0x159, 0x1800a27e9 movsxd rax, ebx ; +0x15e, 0x1800a27ee mov edx, edi ; +0x161, 0x1800a27f1 add rcx, rax ; +0x163, 0x1800a27f3 sub edx, ebx ; +0x166, 0x1800a27f6 mov r8, r15 ; +0x168, 0x1800a27f8 call sub_1800F3060 ; +0x16b, 0x1800a27fb add ebx, eax ; +0x170, 0x1800a2800 lea rcx, [rsp+1B8h+var_158] ; +0x172, 0x1800a2802 movsxd rax, ebx ; +0x177, 0x1800a2807 lea r8, asc_18014572C; ", " ; +0x17a, 0x1800a280a mov edx, edi ; +0x181, 0x1800a2811 add rcx, rax; void * ; +0x183, 0x1800a2813 sub edx, ebx ; +0x186, 0x1800a2816 call sub_1800F2F70 ; +0x188, 0x1800a2818 add ebx, eax ; +0x18d, 0x1800a281d lea rcx, [rsp+1B8h+var_158] ; +0x18f, 0x1800a281f movsxd rax, ebx ; +0x194, 0x1800a2824 mov edx, edi ; +0x197, 0x1800a2827 add rcx, rax ; +0x199, 0x1800a2829 sub edx, ebx ; +0x19c, 0x1800a282c mov r8, r12 ; +0x19e, 0x1800a282e call sub_1800F3020 ; +0x1a1, 0x1800a2831 add ebx, eax ; +0x1a6, 0x1800a2836 lea rcx, [rsp+1B8h+var_158] ; +0x1a8, 0x1800a2838 movsxd rax, ebx ; +0x1ad, 0x1800a283d lea r8, asc_18014572C; ", " ; +0x1b0, 0x1800a2840 mov edx, edi ; +0x1b7, 0x1800a2847 add rcx, rax; void * ; +0x1b9, 0x1800a2849 sub edx, ebx ; +0x1bc, 0x1800a284c call sub_1800F2F70 ; +0x1be, 0x1800a284e add ebx, eax ; +0x1c3, 0x1800a2853 lea rcx, [rsp+1B8h+var_158] ; +0x1c5, 0x1800a2855 sub edi, ebx ; +0x1ca, 0x1800a285a movsxd rax, ebx ; +0x1cc, 0x1800a285c add rcx, rax ; +0x1cf, 0x1800a285f mov r8, r13 ; +0x1d2, 0x1800a2862 mov edx, edi ; +0x1d5, 0x1800a2865 call sub_1800F3230 ; +0x1d7, 0x1800a2867 mov r8, [rsp+1B8h+var_168] ; +0x1dc, 0x1800a286c lea rax, [rsp+1B8h+var_158] ; +0x1e1, 0x1800a2871 lea r9, aDspGetoutputch; "DSP::getOutputChannelFormat" ; +0x1e6, 0x1800a2876 mov [rsp+1B8h+var_198], rax ; +0x1ed, 0x1800a287d mov edx, 7 ; +0x1f2, 0x1800a2882 mov ecx, esi ; +0x1f7, 0x1800a2887 call sub_1800B20E0 ; +0x1f9, 0x1800a2889 mov rdi, [rsp+1B8h+var_20] ; +0x1fe, 0x1800a288e mov rcx, [rsp+1B8h+var_178] ; +0x206, 0x1800a2896 mov r15, [rsp+1B8h+var_40] ; +0x20b, 0x1800a289b mov r14, [rsp+1B8h+var_38] ; +0x213, 0x1800a28a3 mov r13, [rsp+1B8h+var_30] ; +0x21b, 0x1800a28ab mov r12, [rsp+1B8h+var_28] ; +0x223, 0x1800a28b3 mov rbp, [rsp+1B8h+var_18] ; +0x22b, 0x1800a28bb mov rbx, [rsp+1B8h+var_10] ; +0x233, 0x1800a28c3 test rcx, rcx ; +0x23b, 0x1800a28cb jz short loc_1800A28D5 ; +0x23e, 0x1800a28ce call sub_180102320 ; +0x240, 0x1800a28d0 mov eax, esi ; +0x245, 0x1800a28d5 mov rcx, [rsp+1B8h+var_58] ; +0x247, 0x1800a28d7 xor rcx, rsp; StackCookie ; +0x24f, 0x1800a28df call __security_check_cookie ; +0x252, 0x1800a28e2 add rsp, 1B0h ; +0x257, 0x1800a28e7 pop rsi ; +0x25e, 0x1800a28ee retn ; +0x25f, 0x1800a28ef