; ; FMOD::System::setSpeakerPosition from 0x1800b1af0 to 0x1800b1cbd (461 bytes) ; ; 5 xrefs: ; > FMOD_System_SetSpeakerPosition @ 0x1800c6f65 ; > @ 0x180188334 ; > @ 0x180188368 ; > @ 0x180194348 ; > @ 0x1801fcc24 ; ; 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, 0x1800b1af0 push rsi ; +0x3, 0x1800b1af3 sub rsp, 190h ; +0x4, 0x1800b1af4 mov rax, cs:__security_cookie ; +0xb, 0x1800b1afb xor rax, rsp ; +0x12, 0x1800b1b02 mov [rsp+198h+var_58], rax ; +0x15, 0x1800b1b05 mov [r11-10h], rbx ; +0x1d, 0x1800b1b0d lea r8, [rsp+198h+var_168] ; +0x21, 0x1800b1b11 mov [r11-18h], rbp ; +0x26, 0x1800b1b16 mov ebx, edx ; +0x2a, 0x1800b1b1a mov [r11-28h], r14 ; +0x2c, 0x1800b1b1c lea rdx, [rsp+198h+var_160] ; +0x30, 0x1800b1b20 movaps xmmword ptr [r11-38h], xmm6 ; +0x35, 0x1800b1b25 mov r14, rcx ; +0x3a, 0x1800b1b2a movaps xmmword ptr [r11-48h], xmm7 ; +0x3d, 0x1800b1b2d movaps xmm6, xmm2 ; +0x42, 0x1800b1b32 movaps xmm7, xmm3 ; +0x45, 0x1800b1b35 mov [rsp+198h+var_168], 0 ; +0x48, 0x1800b1b38 call ?validate@SystemI@FMOD@@SA?AW4FMOD_RESULT@@PEAVSystem@2@PEAPEAV12@PEAVSystemLockScope@2@@Z; FMOD::SystemI::validate(FMOD::System *,FMOD::SystemI * *,FMOD::SystemLockScope *) ; +0x51, 0x1800b1b41 movzx ebp, [rsp+198h+arg_20] ; +0x56, 0x1800b1b46 mov esi, eax ; +0x5e, 0x1800b1b4e test eax, eax ; +0x60, 0x1800b1b50 jnz short loc_1800B1B75 ; +0x62, 0x1800b1b52 mov rcx, [rsp+198h+var_160] ; +0x64, 0x1800b1b54 movaps xmm3, xmm7 ; +0x69, 0x1800b1b59 movaps xmm2, xmm6 ; +0x6c, 0x1800b1b5c mov byte ptr [rsp+198h+var_178], bpl ; +0x6f, 0x1800b1b5f mov edx, ebx ; +0x74, 0x1800b1b64 call sub_1800E7970 ; +0x76, 0x1800b1b66 mov esi, eax ; +0x7b, 0x1800b1b6b test eax, eax ; +0x7d, 0x1800b1b6d jz loc_1800B1C6B ; +0x7f, 0x1800b1b6f mov rax, cs:off_1801AED20 ; +0x85, 0x1800b1b75 test byte ptr [rax+10h], 80h ; +0x8c, 0x1800b1b7c jz loc_1800B1C6B ; +0x90, 0x1800b1b80 mov [rsp+198h+var_20], rdi ; +0x96, 0x1800b1b86 lea rcx, [rsp+198h+var_158] ; +0x9e, 0x1800b1b8e mov edi, 100h ; +0xa3, 0x1800b1b93 mov r8d, ebx ; +0xa8, 0x1800b1b98 mov edx, edi ; +0xab, 0x1800b1b9b call sub_1800F2EC0 ; +0xad, 0x1800b1b9d movsxd rbx, eax ; +0xb2, 0x1800b1ba2 lea rcx, [rsp+198h+var_158] ; +0xb5, 0x1800b1ba5 mov edx, edi ; +0xba, 0x1800b1baa lea r8, asc_18014572C; ", " ; +0xbc, 0x1800b1bac sub edx, ebx ; +0xc3, 0x1800b1bb3 add rcx, rbx; void * ; +0xc5, 0x1800b1bb5 call sub_1800F2F70 ; +0xc8, 0x1800b1bb8 add ebx, eax ; +0xcd, 0x1800b1bbd mov edx, edi ; +0xcf, 0x1800b1bbf lea rax, [rsp+198h+var_158] ; +0xd1, 0x1800b1bc1 movsxd rcx, ebx ; +0xd6, 0x1800b1bc6 add rcx, rax ; +0xd9, 0x1800b1bc9 sub edx, ebx ; +0xdc, 0x1800b1bcc movaps xmm2, xmm6 ; +0xde, 0x1800b1bce call sub_1800F2F20 ; +0xe1, 0x1800b1bd1 add ebx, eax ; +0xe6, 0x1800b1bd6 lea rcx, [rsp+198h+var_158] ; +0xe8, 0x1800b1bd8 movsxd rax, ebx ; +0xed, 0x1800b1bdd lea r8, asc_18014572C; ", " ; +0xf0, 0x1800b1be0 mov edx, edi ; +0xf7, 0x1800b1be7 add rcx, rax; void * ; +0xf9, 0x1800b1be9 sub edx, ebx ; +0xfc, 0x1800b1bec call sub_1800F2F70 ; +0xfe, 0x1800b1bee add ebx, eax ; +0x103, 0x1800b1bf3 lea rcx, [rsp+198h+var_158] ; +0x105, 0x1800b1bf5 movsxd rax, ebx ; +0x10a, 0x1800b1bfa mov edx, edi ; +0x10d, 0x1800b1bfd add rcx, rax ; +0x10f, 0x1800b1bff sub edx, ebx ; +0x112, 0x1800b1c02 movaps xmm2, xmm7 ; +0x114, 0x1800b1c04 call sub_1800F2F20 ; +0x117, 0x1800b1c07 add ebx, eax ; +0x11c, 0x1800b1c0c lea rcx, [rsp+198h+var_158] ; +0x11e, 0x1800b1c0e movsxd rax, ebx ; +0x123, 0x1800b1c13 lea r8, asc_18014572C; ", " ; +0x126, 0x1800b1c16 mov edx, edi ; +0x12d, 0x1800b1c1d add rcx, rax; void * ; +0x12f, 0x1800b1c1f sub edx, ebx ; +0x132, 0x1800b1c22 call sub_1800F2F70 ; +0x134, 0x1800b1c24 add ebx, eax ; +0x139, 0x1800b1c29 lea rcx, [rsp+198h+var_158] ; +0x13b, 0x1800b1c2b movsxd rax, ebx ; +0x140, 0x1800b1c30 sub edi, ebx ; +0x143, 0x1800b1c33 add rcx, rax; void * ; +0x145, 0x1800b1c35 mov edx, edi ; +0x148, 0x1800b1c38 movzx r8d, bpl ; +0x14a, 0x1800b1c3a call sub_1800F3320 ; +0x14e, 0x1800b1c3e lea rax, [rsp+198h+var_158] ; +0x153, 0x1800b1c43 mov r8, r14 ; +0x158, 0x1800b1c48 lea r9, aSystemSetspeak; "System::setSpeakerPosition" ; +0x15b, 0x1800b1c4b mov [rsp+198h+var_178], rax ; +0x162, 0x1800b1c52 mov edx, 1 ; +0x167, 0x1800b1c57 mov ecx, esi ; +0x16c, 0x1800b1c5c call sub_1800B20E0 ; +0x16e, 0x1800b1c5e mov rdi, [rsp+198h+var_20] ; +0x173, 0x1800b1c63 mov rcx, [rsp+198h+var_168] ; +0x17b, 0x1800b1c6b movaps xmm7, [rsp+198h+var_48] ; +0x180, 0x1800b1c70 movaps xmm6, [rsp+198h+var_38] ; +0x188, 0x1800b1c78 mov r14, [rsp+198h+var_28] ; +0x190, 0x1800b1c80 mov rbp, [rsp+198h+var_18] ; +0x198, 0x1800b1c88 mov rbx, [rsp+198h+var_10] ; +0x1a0, 0x1800b1c90 test rcx, rcx ; +0x1a8, 0x1800b1c98 jz short loc_1800B1CA2 ; +0x1ab, 0x1800b1c9b call sub_180102320 ; +0x1ad, 0x1800b1c9d mov eax, esi ; +0x1b2, 0x1800b1ca2 mov rcx, [rsp+198h+var_58] ; +0x1b4, 0x1800b1ca4 xor rcx, rsp; StackCookie ; +0x1bc, 0x1800b1cac call __security_check_cookie ; +0x1bf, 0x1800b1caf add rsp, 190h ; +0x1c4, 0x1800b1cb4 pop rsi ; +0x1cb, 0x1800b1cbb retn ; +0x1cc, 0x1800b1cbc