; ; FMOD::System::get3DListenerAttributes from 0x1800ac7d0 to 0x1800ac9e9 (537 bytes) ; ; 6 xrefs: ; > FMOD_System_Get3DListenerAttributes @ 0x1800c6a3b ; > @ 0x180188654 ; > @ 0x180188688 ; > @ 0x180194348 ; > @ 0x1801fc204 ; > @ 0x1801fc210 ; ; 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, 0x1800ac7d0 push rsi ; +0x3, 0x1800ac7d3 sub rsp, 190h ; +0x4, 0x1800ac7d4 mov rax, cs:__security_cookie ; +0xb, 0x1800ac7db xor rax, rsp ; +0x12, 0x1800ac7e2 mov [rsp+198h+var_58], rax ; +0x15, 0x1800ac7e5 mov [r11-10h], rbx ; +0x1d, 0x1800ac7ed mov ebx, edx ; +0x21, 0x1800ac7f1 mov [r11-18h], rbp ; +0x23, 0x1800ac7f3 lea rdx, [rsp+198h+var_160] ; +0x27, 0x1800ac7f7 mov [r11-28h], r12 ; +0x2c, 0x1800ac7fc mov rbp, r8 ; +0x30, 0x1800ac800 mov r12, [rsp+198h+arg_28] ; +0x33, 0x1800ac803 lea r8, [rsp+198h+var_168] ; +0x3b, 0x1800ac80b mov [r11-30h], r13 ; +0x40, 0x1800ac810 mov r13, rcx ; +0x44, 0x1800ac814 mov [r11-38h], r14 ; +0x47, 0x1800ac817 mov r14, r9 ; +0x4b, 0x1800ac81b mov [r11-40h], r15 ; +0x4e, 0x1800ac81e mov r15, [rsp+198h+arg_20] ; +0x52, 0x1800ac822 mov [rsp+198h+var_168], 0 ; +0x5a, 0x1800ac82a call ?validate@SystemI@FMOD@@SA?AW4FMOD_RESULT@@PEAVSystem@2@PEAPEAV12@PEAVSystemLockScope@2@@Z; FMOD::SystemI::validate(FMOD::System *,FMOD::SystemI * *,FMOD::SystemLockScope *) ; +0x63, 0x1800ac833 mov esi, eax ; +0x68, 0x1800ac838 test eax, eax ; +0x6a, 0x1800ac83a jnz short loc_1800AC864 ; +0x6c, 0x1800ac83c mov rcx, [rsp+198h+var_160] ; +0x6e, 0x1800ac83e mov r9, r14 ; +0x73, 0x1800ac843 mov [rsp+198h+var_170], r12 ; +0x76, 0x1800ac846 mov r8, rbp ; +0x7b, 0x1800ac84b mov edx, ebx ; +0x7e, 0x1800ac84e mov [rsp+198h+var_178], r15 ; +0x80, 0x1800ac850 call sub_1800E3CD0 ; +0x85, 0x1800ac855 mov esi, eax ; +0x8a, 0x1800ac85a test eax, eax ; +0x8c, 0x1800ac85c jz loc_1800AC98F ; +0x8e, 0x1800ac85e mov rax, cs:off_1801AED20 ; +0x94, 0x1800ac864 test byte ptr [rax+10h], 80h ; +0x9b, 0x1800ac86b jz loc_1800AC98F ; +0x9f, 0x1800ac86f mov [rsp+198h+var_20], rdi ; +0xa5, 0x1800ac875 lea rcx, [rsp+198h+var_158] ; +0xad, 0x1800ac87d mov edi, 100h ; +0xb2, 0x1800ac882 mov r8d, ebx ; +0xb7, 0x1800ac887 mov edx, edi ; +0xba, 0x1800ac88a call sub_1800F2EC0 ; +0xbc, 0x1800ac88c movsxd rbx, eax ; +0xc1, 0x1800ac891 lea rcx, [rsp+198h+var_158] ; +0xc4, 0x1800ac894 mov edx, edi ; +0xc9, 0x1800ac899 lea r8, asc_18014572C; ", " ; +0xcb, 0x1800ac89b sub edx, ebx ; +0xd2, 0x1800ac8a2 add rcx, rbx; void * ; +0xd4, 0x1800ac8a4 call sub_1800F2F70 ; +0xd7, 0x1800ac8a7 add ebx, eax ; +0xdc, 0x1800ac8ac mov edx, edi ; +0xde, 0x1800ac8ae lea rax, [rsp+198h+var_158] ; +0xe0, 0x1800ac8b0 movsxd rcx, ebx ; +0xe5, 0x1800ac8b5 add rcx, rax ; +0xe8, 0x1800ac8b8 sub edx, ebx ; +0xeb, 0x1800ac8bb mov r8, rbp ; +0xed, 0x1800ac8bd call sub_1800F31D0 ; +0xf0, 0x1800ac8c0 add ebx, eax ; +0xf5, 0x1800ac8c5 lea rcx, [rsp+198h+var_158] ; +0xf7, 0x1800ac8c7 movsxd rax, ebx ; +0xfc, 0x1800ac8cc lea r8, asc_18014572C; ", " ; +0xff, 0x1800ac8cf mov edx, edi ; +0x106, 0x1800ac8d6 add rcx, rax; void * ; +0x108, 0x1800ac8d8 sub edx, ebx ; +0x10b, 0x1800ac8db call sub_1800F2F70 ; +0x10d, 0x1800ac8dd add ebx, eax ; +0x112, 0x1800ac8e2 lea rcx, [rsp+198h+var_158] ; +0x114, 0x1800ac8e4 movsxd rax, ebx ; +0x119, 0x1800ac8e9 mov edx, edi ; +0x11c, 0x1800ac8ec add rcx, rax ; +0x11e, 0x1800ac8ee sub edx, ebx ; +0x121, 0x1800ac8f1 mov r8, r14 ; +0x123, 0x1800ac8f3 call sub_1800F31D0 ; +0x126, 0x1800ac8f6 add ebx, eax ; +0x12b, 0x1800ac8fb lea rcx, [rsp+198h+var_158] ; +0x12d, 0x1800ac8fd movsxd rax, ebx ; +0x132, 0x1800ac902 lea r8, asc_18014572C; ", " ; +0x135, 0x1800ac905 mov edx, edi ; +0x13c, 0x1800ac90c add rcx, rax; void * ; +0x13e, 0x1800ac90e sub edx, ebx ; +0x141, 0x1800ac911 call sub_1800F2F70 ; +0x143, 0x1800ac913 add ebx, eax ; +0x148, 0x1800ac918 lea rcx, [rsp+198h+var_158] ; +0x14a, 0x1800ac91a movsxd rax, ebx ; +0x14f, 0x1800ac91f mov edx, edi ; +0x152, 0x1800ac922 add rcx, rax ; +0x154, 0x1800ac924 sub edx, ebx ; +0x157, 0x1800ac927 mov r8, r15 ; +0x159, 0x1800ac929 call sub_1800F31D0 ; +0x15c, 0x1800ac92c add ebx, eax ; +0x161, 0x1800ac931 lea rcx, [rsp+198h+var_158] ; +0x163, 0x1800ac933 movsxd rax, ebx ; +0x168, 0x1800ac938 lea r8, asc_18014572C; ", " ; +0x16b, 0x1800ac93b mov edx, edi ; +0x172, 0x1800ac942 add rcx, rax; void * ; +0x174, 0x1800ac944 sub edx, ebx ; +0x177, 0x1800ac947 call sub_1800F2F70 ; +0x179, 0x1800ac949 add ebx, eax ; +0x17e, 0x1800ac94e lea rcx, [rsp+198h+var_158] ; +0x180, 0x1800ac950 movsxd rax, ebx ; +0x185, 0x1800ac955 sub edi, ebx ; +0x188, 0x1800ac958 add rcx, rax ; +0x18a, 0x1800ac95a mov edx, edi ; +0x18d, 0x1800ac95d mov r8, r12 ; +0x18f, 0x1800ac95f call sub_1800F31D0 ; +0x192, 0x1800ac962 lea rax, [rsp+198h+var_158] ; +0x197, 0x1800ac967 mov r8, r13 ; +0x19c, 0x1800ac96c lea r9, aSystemGet3dlis; "System::get3DListenerAttributes" ; +0x19f, 0x1800ac96f mov [rsp+198h+var_178], rax ; +0x1a6, 0x1800ac976 mov edx, 1 ; +0x1ab, 0x1800ac97b mov ecx, esi ; +0x1b0, 0x1800ac980 call sub_1800B20E0 ; +0x1b2, 0x1800ac982 mov rdi, [rsp+198h+var_20] ; +0x1b7, 0x1800ac987 mov rcx, [rsp+198h+var_168] ; +0x1bf, 0x1800ac98f mov r15, [rsp+198h+var_40] ; +0x1c4, 0x1800ac994 mov r14, [rsp+198h+var_38] ; +0x1cc, 0x1800ac99c mov r13, [rsp+198h+var_30] ; +0x1d4, 0x1800ac9a4 mov r12, [rsp+198h+var_28] ; +0x1dc, 0x1800ac9ac mov rbp, [rsp+198h+var_18] ; +0x1e4, 0x1800ac9b4 mov rbx, [rsp+198h+var_10] ; +0x1ec, 0x1800ac9bc test rcx, rcx ; +0x1f4, 0x1800ac9c4 jz short loc_1800AC9CE ; +0x1f7, 0x1800ac9c7 call sub_180102320 ; +0x1f9, 0x1800ac9c9 mov eax, esi ; +0x1fe, 0x1800ac9ce mov rcx, [rsp+198h+var_58] ; +0x200, 0x1800ac9d0 xor rcx, rsp; StackCookie ; +0x208, 0x1800ac9d8 call __security_check_cookie ; +0x20b, 0x1800ac9db add rsp, 190h ; +0x210, 0x1800ac9e0 pop rsi ; +0x217, 0x1800ac9e7 retn ; +0x218, 0x1800ac9e8