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

Disassembly:
push 0x18
mov eax, 0x10050faa
call fcn.1003412c
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x14], ecx
or dword [ebp - 0x10], 0xffffffff
and dword [ebp - 4], 0
xor eax, eax
mov dword [ebp - 0x18], eax
push 0x100c6948
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
call fcn.100599f4
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 2
push 0x10007fcc
push eax
call fcn.1005a83c
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov esi, dword [ebp - 0x1c]
push 0x1002ac48
push esi
push edi
push eax
push 0x10006d60
push 4
call fcn.10036104
add esp, 0x18
mov byte [ebp - 4], 0
lea ecx, [esi - 0x10]
call fcn.1005bcd8
call fcn.10059daa
mov ebx, eax
test ebx, ebx
js 0x100693b2
push 0x100c6948
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 3
call fcn.100599f4
push dword [ebp - 0x14]
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 4
push 0x1002ac80
push eax
call fcn.1005a83c
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov esi, dword [ebp - 0x1c]
push 0x1002ac48
push esi
push edi
push eax
push 0x10006d60
push 3
call fcn.10036104
add esp, 0x18
mov byte [ebp - 4], 0
lea ecx, [esi - 0x10]
call fcn.1005bcd8
mov edi, dword [ebp - 0x14]
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x100691eb
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, 0x80070000
test eax, eax
jle 0x10069182
movzx eax, ax
or eax, esi
test eax, eax
jns 0x1006919f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0x10069197
movzx ebx, bx
or ebx, esi
test ebx, ebx
jns 0x100693b2
jmp 0x100691a4
mov ebx, 0x80004005
push 0x100c6948
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 5
call fcn.100599f4
test edi, edi
mov byte [ebp - 4], 6
mov eax, 0x10006dd0
cmovne eax, edi
push eax
push 0x1002acc8
lea eax, [ebp - 0x1c]
push eax
call fcn.1005a83c
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov esi, dword [ebp - 0x1c]
jmp 0x1006938e
test al, 0x10
je 0x10069251
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, 0x80070000
test eax, eax
jle 0x10069205
movzx eax, ax
or eax, esi
test eax, eax
jns 0x10069222
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0x1006921a
movzx ebx, bx
or ebx, esi
test ebx, ebx
jns 0x100693b2
jmp 0x10069227
mov ebx, 0x80004005
push 0x100c6948
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 7
call fcn.100599f4
test edi, edi
mov byte [ebp - 4], 8
mov eax, 0x10006dd0
cmovne eax, edi
push eax
push 0x1002ad18
jmp 0x100691c9
cmp dword [ebp - 0x20], 0
je 0x10069353
cmp dword [ebp + 8], 0
je 0x10069353
push 0x100060f0
push 0x34
call fcn.10033ef8
mov dword [ebp - 0x1c], eax
pop ecx
pop ecx
test eax, eax
je 0x10069347
mov ecx, eax
call fcn.10085b06
mov edi, eax
mov dword [ebp - 0x18], edi
test edi, edi
je 0x1006934c
push 1
lea ecx, [ebp - 0x10]
call fcn.10093c91
mov ebx, eax
test ebx, ebx
js 0x100693b2
lea eax, [ebp - 0x10]
mov ecx, edi
push eax
push dword [ebp - 0x14]
call fcn.10087c37
mov ebx, eax
test ebx, ebx
js 0x100693b2
mov ecx, dword [0x100c669c]
mov edx, edi
call fcn.1005a6af
mov ebx, eax
test ebx, ebx
js 0x100693b2
mov eax, dword [edi]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x100c7310]
mov ecx, edi
call esi
mov ebx, eax
test ebx, ebx
js 0x100693b2
mov eax, dword [edi]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x100c7310]
mov ecx, edi
call esi
mov ebx, eax
test ebx, ebx
jns 0x10069331
push 0x100c6948
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xb
call fcn.100599f4
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0xc
push 0x1002adb8
push eax
call fcn.1005a83c
pop ecx
pop ecx
jmp 0x100691d5
mov ecx, dword [ebp - 0x20]
mov eax, dword [edi + 0x2c]
mov dword [ecx], eax
mov ecx, dword [ebp + 8]
mov eax, dword [edi + 0x30]
mov dword [ecx], eax
and dword [edi + 0x2c], 0
jmp 0x100693b2
xor eax, eax
mov dword [ebp - 0x18], eax
mov ebx, 0x8007000e
jmp 0x100693b2
mov ebx, 0x80070057
push 0x100c6948
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 9
call fcn.100599f4
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0xa
push 0x1002ad60
push eax
call fcn.1005a83c
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov esi, dword [ebp - 0x20]
push ebx
push 0x1002ac48
push esi
push edi
push eax
push 0x10006d20
push 1
call fcn.10036104
add esp, 0x1c
mov byte [ebp - 4], 0
lea ecx, [esi - 0x10]
call fcn.1005bcd8
mov edi, dword [ebp - 0x18]
mov edx, ebx
mov ecx, edi
call fcn.10062697
test edi, edi
je 0x100693d4
mov eax, dword [edi]
push 1
mov esi, dword [eax]
mov ecx, esi
call dword [0x100c7310]
mov ecx, edi
call esi
push 0x100c6948
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xd
call fcn.100599f4
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0xe
push 0x100085f0
push eax
call fcn.1005a83c
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov esi, dword [ebp - 0x20]
push 0x1002ac48
push esi
push edi
push eax
push 0x10006d60
push 4
call fcn.10036104
add esp, 0x18
lea ecx, [esi - 0x10]
call fcn.1005bcd8
cmp dword [ebp - 0x10], 0xffffffff
je 0x10069438
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
call fcn.100340e8
ret 4