; ; FMOD::System::getGeometryOcclusion from 0x1800ad7b0 to 0x1800ad97c (460 bytes) ; ; 5 xrefs: ; > FMOD_System_GetGeometryOcclusion @ 0x1800c6b1b ; > @ 0x180189024 ; > @ 0x180189058 ; > @ 0x180194348 ; > @ 0x1801fc408 ; ; 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, 0x1800ad7b0 push rsi ; +0x3, 0x1800ad7b3 sub rsp, 180h ; +0x4, 0x1800ad7b4 mov rax, cs:__security_cookie ; +0xb, 0x1800ad7bb xor rax, rsp ; +0x12, 0x1800ad7c2 mov [rsp+188h+var_48], rax ; +0x15, 0x1800ad7c5 mov [r11-10h], rbx ; +0x1d, 0x1800ad7cd mov rbx, rdx ; +0x21, 0x1800ad7d1 mov [r11-18h], rbp ; +0x24, 0x1800ad7d4 lea rdx, [rsp+188h+var_150] ; +0x28, 0x1800ad7d8 mov [r11-28h], r12 ; +0x2d, 0x1800ad7dd mov rbp, r8 ; +0x31, 0x1800ad7e1 mov [r11-30h], r14 ; +0x34, 0x1800ad7e4 lea r8, [rsp+188h+var_158] ; +0x38, 0x1800ad7e8 mov [r11-38h], r15 ; +0x3d, 0x1800ad7ed mov r14, r9 ; +0x41, 0x1800ad7f1 mov r15, [rsp+188h+arg_20] ; +0x44, 0x1800ad7f4 mov r12, rcx ; +0x4c, 0x1800ad7fc mov [rsp+188h+var_158], 0 ; +0x4f, 0x1800ad7ff call ?validate@SystemI@FMOD@@SA?AW4FMOD_RESULT@@PEAVSystem@2@PEAPEAV12@PEAVSystemLockScope@2@@Z; FMOD::SystemI::validate(FMOD::System *,FMOD::SystemI * *,FMOD::SystemLockScope *) ; +0x58, 0x1800ad808 mov esi, eax ; +0x5d, 0x1800ad80d test eax, eax ; +0x5f, 0x1800ad80f jnz short loc_1800AD835 ; +0x61, 0x1800ad811 mov rcx, [rsp+188h+var_150] ; +0x63, 0x1800ad813 mov r9, r14 ; +0x68, 0x1800ad818 mov r8, rbp ; +0x6b, 0x1800ad81b mov [rsp+188h+var_168], r15 ; +0x6e, 0x1800ad81e mov rdx, rbx ; +0x73, 0x1800ad823 call sub_1800E4340 ; +0x76, 0x1800ad826 mov esi, eax ; +0x7b, 0x1800ad82b test eax, eax ; +0x7d, 0x1800ad82d jz loc_1800AD92A ; +0x7f, 0x1800ad82f mov rax, cs:off_1801AED20 ; +0x85, 0x1800ad835 test byte ptr [rax+10h], 80h ; +0x8c, 0x1800ad83c jz loc_1800AD92A ; +0x90, 0x1800ad840 mov [rsp+188h+var_20], rdi ; +0x96, 0x1800ad846 lea rcx, [rsp+188h+var_148] ; +0x9e, 0x1800ad84e mov edi, 100h ; +0xa3, 0x1800ad853 mov r8, rbx ; +0xa8, 0x1800ad858 mov edx, edi ; +0xab, 0x1800ad85b call sub_1800F31D0 ; +0xad, 0x1800ad85d movsxd rbx, eax ; +0xb2, 0x1800ad862 lea rcx, [rsp+188h+var_148] ; +0xb5, 0x1800ad865 mov edx, edi ; +0xba, 0x1800ad86a lea r8, asc_18014572C; ", " ; +0xbc, 0x1800ad86c sub edx, ebx ; +0xc3, 0x1800ad873 add rcx, rbx; void * ; +0xc5, 0x1800ad875 call sub_1800F2F70 ; +0xc8, 0x1800ad878 add ebx, eax ; +0xcd, 0x1800ad87d mov edx, edi ; +0xcf, 0x1800ad87f lea rax, [rsp+188h+var_148] ; +0xd1, 0x1800ad881 movsxd rcx, ebx ; +0xd6, 0x1800ad886 add rcx, rax ; +0xd9, 0x1800ad889 sub edx, ebx ; +0xdc, 0x1800ad88c mov r8, rbp ; +0xde, 0x1800ad88e call sub_1800F31D0 ; +0xe1, 0x1800ad891 add ebx, eax ; +0xe6, 0x1800ad896 lea rcx, [rsp+188h+var_148] ; +0xe8, 0x1800ad898 movsxd rax, ebx ; +0xed, 0x1800ad89d lea r8, asc_18014572C; ", " ; +0xf0, 0x1800ad8a0 mov edx, edi ; +0xf7, 0x1800ad8a7 add rcx, rax; void * ; +0xf9, 0x1800ad8a9 sub edx, ebx ; +0xfc, 0x1800ad8ac call sub_1800F2F70 ; +0xfe, 0x1800ad8ae add ebx, eax ; +0x103, 0x1800ad8b3 lea rcx, [rsp+188h+var_148] ; +0x105, 0x1800ad8b5 movsxd rax, ebx ; +0x10a, 0x1800ad8ba mov edx, edi ; +0x10d, 0x1800ad8bd add rcx, rax ; +0x10f, 0x1800ad8bf sub edx, ebx ; +0x112, 0x1800ad8c2 mov r8, r14 ; +0x114, 0x1800ad8c4 call sub_1800F30A0 ; +0x117, 0x1800ad8c7 add ebx, eax ; +0x11c, 0x1800ad8cc lea rcx, [rsp+188h+var_148] ; +0x11e, 0x1800ad8ce movsxd rax, ebx ; +0x123, 0x1800ad8d3 lea r8, asc_18014572C; ", " ; +0x126, 0x1800ad8d6 mov edx, edi ; +0x12d, 0x1800ad8dd add rcx, rax; void * ; +0x12f, 0x1800ad8df sub edx, ebx ; +0x132, 0x1800ad8e2 call sub_1800F2F70 ; +0x134, 0x1800ad8e4 add ebx, eax ; +0x139, 0x1800ad8e9 lea rcx, [rsp+188h+var_148] ; +0x13b, 0x1800ad8eb movsxd rax, ebx ; +0x140, 0x1800ad8f0 sub edi, ebx ; +0x143, 0x1800ad8f3 add rcx, rax ; +0x145, 0x1800ad8f5 mov edx, edi ; +0x148, 0x1800ad8f8 mov r8, r15 ; +0x14a, 0x1800ad8fa call sub_1800F30A0 ; +0x14d, 0x1800ad8fd lea rax, [rsp+188h+var_148] ; +0x152, 0x1800ad902 mov r8, r12 ; +0x157, 0x1800ad907 lea r9, aSystemGetgeome; "System::getGeometryOcclusion" ; +0x15a, 0x1800ad90a mov [rsp+188h+var_168], rax ; +0x161, 0x1800ad911 mov edx, 1 ; +0x166, 0x1800ad916 mov ecx, esi ; +0x16b, 0x1800ad91b call sub_1800B20E0 ; +0x16d, 0x1800ad91d mov rdi, [rsp+188h+var_20] ; +0x172, 0x1800ad922 mov rcx, [rsp+188h+var_158] ; +0x17a, 0x1800ad92a mov r15, [rsp+188h+var_38] ; +0x17f, 0x1800ad92f mov r14, [rsp+188h+var_30] ; +0x187, 0x1800ad937 mov r12, [rsp+188h+var_28] ; +0x18f, 0x1800ad93f mov rbp, [rsp+188h+var_18] ; +0x197, 0x1800ad947 mov rbx, [rsp+188h+var_10] ; +0x19f, 0x1800ad94f test rcx, rcx ; +0x1a7, 0x1800ad957 jz short loc_1800AD961 ; +0x1aa, 0x1800ad95a call sub_180102320 ; +0x1ac, 0x1800ad95c mov eax, esi ; +0x1b1, 0x1800ad961 mov rcx, [rsp+188h+var_48] ; +0x1b3, 0x1800ad963 xor rcx, rsp; StackCookie ; +0x1bb, 0x1800ad96b call __security_check_cookie ; +0x1be, 0x1800ad96e add rsp, 180h ; +0x1c3, 0x1800ad973 pop rsi ; +0x1ca, 0x1800ad97a retn ; +0x1cb, 0x1800ad97b