; ; FMOD_OS_File_Open from 0x1800c0d40 to 0x1800c0eaf (367 bytes) ; ; 6 xrefs: ; > sub_1800B41C0 @ 0x1800b41cf ; > sub_1800BEF40 @ 0x1800bf09c ; > sub_1800BF3B0 @ 0x1800bf4df ; > sub_180114370 @ 0x1801143dd ; > @ 0x180194348 ; > @ 0x1801fdb48 ; ; 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, 0x1800c0d40 push rbx ; +0x3, 0x1800c0d43 push rbp ; +0x4, 0x1800c0d44 push rsi ; +0x5, 0x1800c0d45 push rdi ; +0x6, 0x1800c0d46 push r14 ; +0x7, 0x1800c0d47 sub rsp, 270h ; +0x9, 0x1800c0d49 mov rax, cs:__security_cookie ; +0x10, 0x1800c0d50 xor rax, rsp ; +0x17, 0x1800c0d57 mov [rsp+298h+var_38], rax ; +0x1a, 0x1800c0d5a mov edi, edx ; +0x22, 0x1800c0d62 lea rax, [rsp+298h+WideCharStr] ; +0x24, 0x1800c0d64 xor ebp, ebp ; +0x29, 0x1800c0d69 mov [r11-40h], rax ; +0x2b, 0x1800c0d6b mov rdx, rcx; lpMultiByteStr ; +0x2f, 0x1800c0d6f mov [r11-48h], rbp ; +0x32, 0x1800c0d72 lea rcx, [rsp+298h+WideCharStr]; lpWideCharStr ; +0x36, 0x1800c0d76 mov [rsp+298h+WideCharStr], bp ; +0x3b, 0x1800c0d7b mov r14, r9 ; +0x40, 0x1800c0d80 mov rsi, r8 ; +0x43, 0x1800c0d83 call sub_1800C0900 ; +0x46, 0x1800c0d86 mov ebx, eax ; +0x4b, 0x1800c0d8b test eax, eax ; +0x4d, 0x1800c0d8d jnz loc_1800C0E5D ; +0x4f, 0x1800c0d8f mov eax, ebp ; +0x55, 0x1800c0d95 mov ebx, ebp ; +0x57, 0x1800c0d97 mov qword ptr [rsp+298h+FileSize], rax ; +0x59, 0x1800c0d99 test edi, edi ; +0x5e, 0x1800c0d9e jnz short loc_1800C0E10 ; +0x60, 0x1800c0da0 mov rcx, [rsp+298h+lpFileName]; lpFileName ; +0x62, 0x1800c0da2 lea r8d, [rbp+1]; dwShareMode ; +0x6a, 0x1800c0daa mov [rsp+298h+hTemplateFile], rbp; hTemplateFile ; +0x6e, 0x1800c0dae xor r9d, r9d; lpSecurityAttributes ; +0x73, 0x1800c0db3 mov [rsp+298h+dwFlagsAndAttributes], 80h; dwFlagsAndAttributes ; +0x76, 0x1800c0db6 mov edx, 80000000h; dwDesiredAccess ; +0x7e, 0x1800c0dbe mov [rsp+298h+dwCreationDisposition], 3; dwCreationDisposition ; +0x83, 0x1800c0dc3 call cs:CreateFileW ; +0x8b, 0x1800c0dcb mov rbx, rax ; +0x91, 0x1800c0dd1 cmp rax, 0FFFFFFFFFFFFFFFFh ; +0x94, 0x1800c0dd4 jnz short loc_1800C0DF9 ; +0x98, 0x1800c0dd8 call cs:GetLastError ; +0x9a, 0x1800c0dda lea ecx, [rax-2] ; +0xa0, 0x1800c0de0 cmp ecx, 1 ; +0xa3, 0x1800c0de3 jbe short loc_1800C0DF2 ; +0xa6, 0x1800c0de6 cmp eax, 7Bh ; '{' ; +0xa8, 0x1800c0de8 jz short loc_1800C0DF2 ; +0xab, 0x1800c0deb lea ebx, [rbp+0Dh] ; +0xad, 0x1800c0ded jmp short loc_1800C0E5D ; +0xb0, 0x1800c0df0 mov ebx, 12h ; +0xb2, 0x1800c0df2 jmp short loc_1800C0E5D ; +0xb7, 0x1800c0df7 lea rdx, [rsp+298h+FileSize]; lpFileSize ; +0xb9, 0x1800c0df9 mov rcx, rax; hFile ; +0xbe, 0x1800c0dfe call cs:GetFileSizeEx ; +0xc1, 0x1800c0e01 test eax, eax ; +0xc7, 0x1800c0e07 jnz short loc_1800C0E51 ; +0xc9, 0x1800c0e09 lea ebx, [rax+0Dh] ; +0xcb, 0x1800c0e0b jmp short loc_1800C0E5D ; +0xce, 0x1800c0e0e cmp edi, 1 ; +0xd0, 0x1800c0e10 jnz short loc_1800C0E56 ; +0xd3, 0x1800c0e13 mov rcx, [rsp+298h+lpFileName]; lpFileName ; +0xd5, 0x1800c0e15 xor r9d, r9d; lpSecurityAttributes ; +0xdd, 0x1800c0e1d mov [rsp+298h+hTemplateFile], rbp; hTemplateFile ; +0xe0, 0x1800c0e20 mov edx, 40000000h; dwDesiredAccess ; +0xe5, 0x1800c0e25 mov [rsp+298h+dwFlagsAndAttributes], 80h; dwFlagsAndAttributes ; +0xea, 0x1800c0e2a mov r8d, edi; dwShareMode ; +0xf2, 0x1800c0e32 mov [rsp+298h+dwCreationDisposition], 2; dwCreationDisposition ; +0xf5, 0x1800c0e35 call cs:CreateFileW ; +0xfd, 0x1800c0e3d mov rbx, rax ; +0x103, 0x1800c0e43 cmp rax, 0FFFFFFFFFFFFFFFFh ; +0x106, 0x1800c0e46 jnz short loc_1800C0E51 ; +0x10a, 0x1800c0e4a lea ebx, [rdi+0Ch] ; +0x10c, 0x1800c0e4c jmp short loc_1800C0E5D ; +0x10f, 0x1800c0e4f mov rax, qword ptr [rsp+298h+FileSize] ; +0x111, 0x1800c0e51 mov [r14], rbx ; +0x116, 0x1800c0e56 mov ebx, ebp ; +0x119, 0x1800c0e59 mov [rsi], eax ; +0x11b, 0x1800c0e5b mov rdx, [rsp+298h+var_48] ; +0x11d, 0x1800c0e5d test rdx, rdx ; +0x125, 0x1800c0e65 jz short loc_1800C0E8F ; +0x128, 0x1800c0e68 mov rcx, cs:off_1801AED20 ; +0x12a, 0x1800c0e6a lea r8, aCBuildagent1Wo_46; "C:\\buildagent1\\work\\570ad728b1678096"... ; +0x131, 0x1800c0e71 mov r9d, 0F1h ; +0x138, 0x1800c0e78 mov byte ptr [rsp+298h+dwCreationDisposition], 1 ; +0x13e, 0x1800c0e7e mov rcx, [rcx+1A0h] ; +0x143, 0x1800c0e83 call sub_1800B6AA0 ; +0x14a, 0x1800c0e8a mov eax, ebx ; +0x14f, 0x1800c0e8f mov rcx, [rsp+298h+var_38] ; +0x151, 0x1800c0e91 xor rcx, rsp; StackCookie ; +0x159, 0x1800c0e99 call __security_check_cookie ; +0x15c, 0x1800c0e9c add rsp, 270h ; +0x161, 0x1800c0ea1 pop r14 ; +0x168, 0x1800c0ea8 pop rdi ; +0x16a, 0x1800c0eaa pop rsi ; +0x16b, 0x1800c0eab pop rbp ; +0x16c, 0x1800c0eac pop rbx ; +0x16d, 0x1800c0ead retn ; +0x16e, 0x1800c0eae