; ; FMOD::System::getFileUsage from 0x1800ad670 to 0x1800ad7ad (317 bytes) ; ; 5 xrefs: ; > FMOD_System_GetFileUsage @ 0x1800c6b09 ; > @ 0x1801887cc ; > @ 0x1801887dc ; > @ 0x180194348 ; > @ 0x1801fc3e4 ; ; 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 ; push rbx ; +0x0, 0x1800ad670 push rbp ; +0x2, 0x1800ad672 push rsi ; +0x3, 0x1800ad673 push r14 ; +0x4, 0x1800ad674 push r15 ; +0x6, 0x1800ad676 sub rsp, 160h ; +0x8, 0x1800ad678 mov rax, cs:__security_cookie ; +0xf, 0x1800ad67f xor rax, rsp ; +0x16, 0x1800ad686 mov [rsp+188h+var_48], rax ; +0x19, 0x1800ad689 mov rbp, r8 ; +0x21, 0x1800ad691 mov rbx, rdx ; +0x24, 0x1800ad694 xor r8d, r8d ; +0x27, 0x1800ad697 lea rdx, [rsp+188h+var_158] ; +0x2a, 0x1800ad69a mov r14, r9 ; +0x2f, 0x1800ad69f mov r15, rcx ; +0x32, 0x1800ad6a2 call ?validate@SystemI@FMOD@@SA?AW4FMOD_RESULT@@PEAVSystem@2@PEAPEAV12@PEAVSystemLockScope@2@@Z; FMOD::SystemI::validate(FMOD::System *,FMOD::SystemI * *,FMOD::SystemLockScope *) ; +0x35, 0x1800ad6a5 mov esi, eax ; +0x3a, 0x1800ad6aa test eax, eax ; +0x3c, 0x1800ad6ac jnz short loc_1800AD6CD ; +0x3e, 0x1800ad6ae mov rcx, [rsp+188h+var_158] ; +0x40, 0x1800ad6b0 mov r9, r14 ; +0x45, 0x1800ad6b5 mov r8, rbp ; +0x48, 0x1800ad6b8 mov rdx, rbx ; +0x4b, 0x1800ad6bb call sub_1800E4300 ; +0x4e, 0x1800ad6be mov esi, eax ; +0x53, 0x1800ad6c3 test eax, eax ; +0x55, 0x1800ad6c5 jz loc_1800AD78E ; +0x57, 0x1800ad6c7 mov rax, cs:off_1801AED20 ; +0x5d, 0x1800ad6cd test byte ptr [rax+10h], 80h ; +0x64, 0x1800ad6d4 jz loc_1800AD78C ; +0x68, 0x1800ad6d8 mov [rsp+188h+var_30], rdi ; +0x6e, 0x1800ad6de lea rcx, [rsp+188h+var_148] ; +0x76, 0x1800ad6e6 mov edi, 100h ; +0x7b, 0x1800ad6eb mov r8, rbx ; +0x80, 0x1800ad6f0 mov edx, edi ; +0x83, 0x1800ad6f3 call sub_1800F3240 ; +0x85, 0x1800ad6f5 movsxd rbx, eax ; +0x8a, 0x1800ad6fa lea rcx, [rsp+188h+var_148] ; +0x8d, 0x1800ad6fd mov edx, edi ; +0x92, 0x1800ad702 lea r8, asc_18014572C; ", " ; +0x94, 0x1800ad704 sub edx, ebx ; +0x9b, 0x1800ad70b add rcx, rbx; void * ; +0x9d, 0x1800ad70d call sub_1800F2F70 ; +0xa0, 0x1800ad710 add ebx, eax ; +0xa5, 0x1800ad715 mov edx, edi ; +0xa7, 0x1800ad717 lea rax, [rsp+188h+var_148] ; +0xa9, 0x1800ad719 movsxd rcx, ebx ; +0xae, 0x1800ad71e add rcx, rax ; +0xb1, 0x1800ad721 sub edx, ebx ; +0xb4, 0x1800ad724 mov r8, rbp ; +0xb6, 0x1800ad726 call sub_1800F3240 ; +0xb9, 0x1800ad729 add ebx, eax ; +0xbe, 0x1800ad72e lea rcx, [rsp+188h+var_148] ; +0xc0, 0x1800ad730 movsxd rax, ebx ; +0xc5, 0x1800ad735 lea r8, asc_18014572C; ", " ; +0xc8, 0x1800ad738 mov edx, edi ; +0xcf, 0x1800ad73f add rcx, rax; void * ; +0xd1, 0x1800ad741 sub edx, ebx ; +0xd4, 0x1800ad744 call sub_1800F2F70 ; +0xd6, 0x1800ad746 add ebx, eax ; +0xdb, 0x1800ad74b lea rcx, [rsp+188h+var_148] ; +0xdd, 0x1800ad74d movsxd rax, ebx ; +0xe2, 0x1800ad752 sub edi, ebx ; +0xe5, 0x1800ad755 add rcx, rax ; +0xe7, 0x1800ad757 mov edx, edi ; +0xea, 0x1800ad75a mov r8, r14 ; +0xec, 0x1800ad75c call sub_1800F3240 ; +0xef, 0x1800ad75f lea rax, [rsp+188h+var_148] ; +0xf4, 0x1800ad764 mov r8, r15 ; +0xf9, 0x1800ad769 lea r9, aSystemGetfileu; "System::getFileUsage" ; +0xfc, 0x1800ad76c mov [rsp+188h+var_168], rax ; +0x103, 0x1800ad773 mov edx, 1 ; +0x108, 0x1800ad778 mov ecx, esi ; +0x10d, 0x1800ad77d call sub_1800B20E0 ; +0x10f, 0x1800ad77f mov rdi, [rsp+188h+var_30] ; +0x114, 0x1800ad784 mov eax, esi ; +0x11c, 0x1800ad78c mov rcx, [rsp+188h+var_48] ; +0x11e, 0x1800ad78e xor rcx, rsp; StackCookie ; +0x126, 0x1800ad796 call __security_check_cookie ; +0x129, 0x1800ad799 add rsp, 160h ; +0x12e, 0x1800ad79e pop r15 ; +0x135, 0x1800ad7a5 pop r14 ; +0x137, 0x1800ad7a7 pop rsi ; +0x139, 0x1800ad7a9 pop rbp ; +0x13a, 0x1800ad7aa pop rbx ; +0x13b, 0x1800ad7ab retn ; +0x13c, 0x1800ad7ac