; ; FMOD::System::getSpeakerPosition from 0x1800af0e0 to 0x1800af2aa (458 bytes) ; ; 5 xrefs: ; > FMOD_System_GetSpeakerPosition @ 0x1800c6c8d ; > @ 0x1801883a0 ; > @ 0x1801883d4 ; > @ 0x180194348 ; > @ 0x1801fc720 ; ; 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, 0x1800af0e0 push rsi ; +0x3, 0x1800af0e3 sub rsp, 180h ; +0x4, 0x1800af0e4 mov rax, cs:__security_cookie ; +0xb, 0x1800af0eb xor rax, rsp ; +0x12, 0x1800af0f2 mov [rsp+188h+var_48], rax ; +0x15, 0x1800af0f5 mov [r11-10h], rbx ; +0x1d, 0x1800af0fd mov ebx, edx ; +0x21, 0x1800af101 mov [r11-18h], rbp ; +0x23, 0x1800af103 lea rdx, [rsp+188h+var_150] ; +0x27, 0x1800af107 mov [r11-28h], r12 ; +0x2c, 0x1800af10c mov rbp, r8 ; +0x30, 0x1800af110 mov [r11-30h], r14 ; +0x33, 0x1800af113 lea r8, [rsp+188h+var_158] ; +0x37, 0x1800af117 mov [r11-38h], r15 ; +0x3c, 0x1800af11c mov r14, r9 ; +0x40, 0x1800af120 mov r15, [rsp+188h+arg_20] ; +0x43, 0x1800af123 mov r12, rcx ; +0x4b, 0x1800af12b mov [rsp+188h+var_158], 0 ; +0x4e, 0x1800af12e call ?validate@SystemI@FMOD@@SA?AW4FMOD_RESULT@@PEAVSystem@2@PEAPEAV12@PEAVSystemLockScope@2@@Z; FMOD::SystemI::validate(FMOD::System *,FMOD::SystemI * *,FMOD::SystemLockScope *) ; +0x57, 0x1800af137 mov esi, eax ; +0x5c, 0x1800af13c test eax, eax ; +0x5e, 0x1800af13e jnz short loc_1800AF163 ; +0x60, 0x1800af140 mov rcx, [rsp+188h+var_150] ; +0x62, 0x1800af142 mov r9, r14 ; +0x67, 0x1800af147 mov r8, rbp ; +0x6a, 0x1800af14a mov [rsp+188h+var_168], r15 ; +0x6d, 0x1800af14d mov edx, ebx ; +0x72, 0x1800af152 call sub_1800E4D00 ; +0x74, 0x1800af154 mov esi, eax ; +0x79, 0x1800af159 test eax, eax ; +0x7b, 0x1800af15b jz loc_1800AF258 ; +0x7d, 0x1800af15d mov rax, cs:off_1801AED20 ; +0x83, 0x1800af163 test byte ptr [rax+10h], 80h ; +0x8a, 0x1800af16a jz loc_1800AF258 ; +0x8e, 0x1800af16e mov [rsp+188h+var_20], rdi ; +0x94, 0x1800af174 lea rcx, [rsp+188h+var_148] ; +0x9c, 0x1800af17c mov edi, 100h ; +0xa1, 0x1800af181 mov r8d, ebx ; +0xa6, 0x1800af186 mov edx, edi ; +0xa9, 0x1800af189 call sub_1800F2EC0 ; +0xab, 0x1800af18b movsxd rbx, eax ; +0xb0, 0x1800af190 lea rcx, [rsp+188h+var_148] ; +0xb3, 0x1800af193 mov edx, edi ; +0xb8, 0x1800af198 lea r8, asc_18014572C; ", " ; +0xba, 0x1800af19a sub edx, ebx ; +0xc1, 0x1800af1a1 add rcx, rbx; void * ; +0xc3, 0x1800af1a3 call sub_1800F2F70 ; +0xc6, 0x1800af1a6 add ebx, eax ; +0xcb, 0x1800af1ab mov edx, edi ; +0xcd, 0x1800af1ad lea rax, [rsp+188h+var_148] ; +0xcf, 0x1800af1af movsxd rcx, ebx ; +0xd4, 0x1800af1b4 add rcx, rax ; +0xd7, 0x1800af1b7 sub edx, ebx ; +0xda, 0x1800af1ba mov r8, rbp ; +0xdc, 0x1800af1bc call sub_1800F30A0 ; +0xdf, 0x1800af1bf add ebx, eax ; +0xe4, 0x1800af1c4 lea rcx, [rsp+188h+var_148] ; +0xe6, 0x1800af1c6 movsxd rax, ebx ; +0xeb, 0x1800af1cb lea r8, asc_18014572C; ", " ; +0xee, 0x1800af1ce mov edx, edi ; +0xf5, 0x1800af1d5 add rcx, rax; void * ; +0xf7, 0x1800af1d7 sub edx, ebx ; +0xfa, 0x1800af1da call sub_1800F2F70 ; +0xfc, 0x1800af1dc add ebx, eax ; +0x101, 0x1800af1e1 lea rcx, [rsp+188h+var_148] ; +0x103, 0x1800af1e3 movsxd rax, ebx ; +0x108, 0x1800af1e8 mov edx, edi ; +0x10b, 0x1800af1eb add rcx, rax ; +0x10d, 0x1800af1ed sub edx, ebx ; +0x110, 0x1800af1f0 mov r8, r14 ; +0x112, 0x1800af1f2 call sub_1800F30A0 ; +0x115, 0x1800af1f5 add ebx, eax ; +0x11a, 0x1800af1fa lea rcx, [rsp+188h+var_148] ; +0x11c, 0x1800af1fc movsxd rax, ebx ; +0x121, 0x1800af201 lea r8, asc_18014572C; ", " ; +0x124, 0x1800af204 mov edx, edi ; +0x12b, 0x1800af20b add rcx, rax; void * ; +0x12d, 0x1800af20d sub edx, ebx ; +0x130, 0x1800af210 call sub_1800F2F70 ; +0x132, 0x1800af212 add ebx, eax ; +0x137, 0x1800af217 lea rcx, [rsp+188h+var_148] ; +0x139, 0x1800af219 movsxd rax, ebx ; +0x13e, 0x1800af21e sub edi, ebx ; +0x141, 0x1800af221 add rcx, rax ; +0x143, 0x1800af223 mov edx, edi ; +0x146, 0x1800af226 mov r8, r15 ; +0x148, 0x1800af228 call sub_1800F32C0 ; +0x14b, 0x1800af22b lea rax, [rsp+188h+var_148] ; +0x150, 0x1800af230 mov r8, r12 ; +0x155, 0x1800af235 lea r9, aSystemGetspeak_0; "System::getSpeakerPosition" ; +0x158, 0x1800af238 mov [rsp+188h+var_168], rax ; +0x15f, 0x1800af23f mov edx, 1 ; +0x164, 0x1800af244 mov ecx, esi ; +0x169, 0x1800af249 call sub_1800B20E0 ; +0x16b, 0x1800af24b mov rdi, [rsp+188h+var_20] ; +0x170, 0x1800af250 mov rcx, [rsp+188h+var_158] ; +0x178, 0x1800af258 mov r15, [rsp+188h+var_38] ; +0x17d, 0x1800af25d mov r14, [rsp+188h+var_30] ; +0x185, 0x1800af265 mov r12, [rsp+188h+var_28] ; +0x18d, 0x1800af26d mov rbp, [rsp+188h+var_18] ; +0x195, 0x1800af275 mov rbx, [rsp+188h+var_10] ; +0x19d, 0x1800af27d test rcx, rcx ; +0x1a5, 0x1800af285 jz short loc_1800AF28F ; +0x1a8, 0x1800af288 call sub_180102320 ; +0x1aa, 0x1800af28a mov eax, esi ; +0x1af, 0x1800af28f mov rcx, [rsp+188h+var_48] ; +0x1b1, 0x1800af291 xor rcx, rsp; StackCookie ; +0x1b9, 0x1800af299 call __security_check_cookie ; +0x1bc, 0x1800af29c add rsp, 180h ; +0x1c1, 0x1800af2a1 pop rsi ; +0x1c8, 0x1800af2a8 retn ; +0x1c9, 0x1800af2a9