Function at 0x10069fa5
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ebp + 0xc]
push esi
xor esi, esi
push edi
mov edi, dword [ebp + 8]
test ebx, 0xffff7fff
jne 0x1006a072
push edi
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x1006a01c
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
cmp eax, 3
jne 0x1006a005
mov ecx, edi
call fcn.10069d0c
mov esi, eax
test esi, esi
jne 0x10069ff9
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__errno]
mov dword [eax], 0x16
or eax, 0xffffffff
jmp 0x1006a157
push esi
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1006a01c
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, eax
call fcn.1006a813
push esi
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o_free]
pop ecx
jmp 0x10069ff1
test al, 0x10
je 0x1006a06e
xor ebx, ebx
push ebx
push 0x2000001
push 3
push ebx
push ebx
push ebx
test esi, esi
je 0x1006a03a
push esi
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_CreateFileW]
jmp 0x1006a041
push edi
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_CreateFileA]
push esi
mov edi, eax
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o_free]
pop ecx
cmp edi, 0xffffffff
jne 0x1006a05f
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, eax
call fcn.1006a813
jmp 0x10069ff1
push ebx
push edi
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__open_osfhandle]
pop ecx
pop ecx
jmp 0x1006a157
test esi, esi
jne 0x1006a0ea
push dword [ebp + 0x10]
push ebx
push edi
call fcn.10069cbe
mov esi, eax
add esp, 0xc
test esi, esi
jns 0x1006a155
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__errno]
cmp dword [eax], 0xd
jne 0x1006a0ce
test ebx, 0x100
je 0x1006a0ce
push edi
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1006a050
test al, 0x10
je 0x1006a0bd
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__errno]
mov dword [eax], 0x15
jmp 0x10069ff1
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__errno]
mov dword [eax], 0xd
jmp 0x10069ff1
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__errno]
cmp dword [eax], 2
jne 0x1006a155
mov ecx, edi
call fcn.10069d0c
mov esi, eax
test esi, esi
je 0x10069fe5
push dword [ebp + 0x10]
push ebx
push esi
call fcn.1003c208
mov edi, eax
add esp, 0xc
test edi, edi
jns 0x1006a149
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__errno]
cmp dword [eax], 0xd
jne 0x1006a149
test ebx, 0x100
je 0x1006a149
push esi
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1006a12b
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, eax
call fcn.1006a813
jmp 0x1006a149
test al, 0x10
je 0x1006a13d
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__errno]
mov dword [eax], 0x15
jmp 0x1006a149
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__errno]
mov dword [eax], 0xd
push esi
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o_free]
pop ecx
mov eax, edi
jmp 0x1006a157
mov eax, esi
pop edi
pop esi
pop ebx
pop ebp
ret