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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x208
push ebx
push esi
push edi
push dword [ebp + 0xc]
push 0x4ad0baf4
call fcn.4ad0210b
push eax
call fcn.4ad172cb
mov eax, dword [ebp + 8]
xor esi, esi
push esi
push esi
push dword [eax + 0x3c]
call fcn.4ad01580
push dword [ebp + 0xc]
mov ebx, eax
push ebx
call fcn.4ad172cb
test eax, eax
je 0x4ad178b2
mov ax, word [ebx]
inc ebx
inc ebx
test ax, ax
jne 0x4ad178a8
cmp word [ebx], si
mov edi, dword [sym.imp.msvcrt.dll_wcslen]
jne 0x4ad178cc
push 0x232a
call fcn.4ad1748e
mov esi, dword [ebp + 0x10]
jmp 0x4ad178e4
push ebx
call edi
mov esi, eax
cmp esi, 0x104
pop ecx
jbe 0x4ad178e4
push 0x232e
call fcn.4ad1748e
push ebx
call fcn.4ad0171e
test eax, eax
je 0x4ad178fe
push ebx
call fcn.4ad0171e
push eax
push ebx
call dword [sym.imp.msvcrt.dll_wcscpy]
pop ecx
pop ecx
push ebx
call fcn.4ad084d8
cmp eax, 1
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
jne 0x4ad17919
push dword [0x4ad28a04]
call fcn.4ad1748e
lea esi, [ebx + esi*2 + 2]
cmp word [esi], 0
jne 0x4ad17948
mov eax, dword [0x4ad30ae8]
mov ax, word [eax]
and word [ebp - 0x204], 0
mov word [ebp - 0x208], ax
mov word [ebp - 0x206], 0x3a
jmp 0x4ad17a0e
push esi
call edi
cmp word [esi + eax*2 + 2], 0
pop ecx
je 0x4ad1795b
push 0x232a
jmp 0x4ad1796b
push esi
call edi
cmp eax, 0x104
pop ecx
jbe 0x4ad17975
push 0x232e
call fcn.4ad1748e
jmp 0x4ad17a0e
push esi
call fcn.4ad0171e
test eax, eax
je 0x4ad1798f
push esi
call fcn.4ad0171e
push eax
push esi
call dword [sym.imp.msvcrt.dll_wcscpy]
pop ecx
pop ecx
mov ax, word [esi + 2]
cmp ax, 0x3a
je 0x4ad179fe
cmp word [esi], 0x5c
jne 0x4ad179a5
cmp ax, 0x5c
je 0x4ad179fe
mov eax, dword [0x4ad30ae8]
mov ax, word [eax]
and word [ebp - 0x204], 0
mov word [ebp - 0x208], ax
lea eax, [ebp - 0x208]
push eax
mov word [ebp - 0x206], 0x3a
call edi
push esi
mov dword [ebp + 0xc], eax
call edi
pop ecx
pop ecx
mov ecx, dword [ebp + 0xc]
lea eax, [eax + ecx + 1]
cmp eax, 0x104
jbe 0x4ad179ee
push 0x232e
call fcn.4ad1748e
lea eax, [ebp - 0x208]
push esi
push eax
call dword [sym.imp.msvcrt.dll_wcscat]
jmp 0x4ad17a0c
lea eax, [ebp - 0x208]
push esi
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
pop ecx
pop ecx
push dword [ebp + 0x20]
push ebx
push dword [ebp + 0x10]
call fcn.4ad01d5f
test eax, eax
je 0x4ad17a28
push 0x232e
call fcn.4ad1748e
mov esi, dword [ebp + 0x18]
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
test byte [eax], 0x10
jne 0x4ad17a81
xor eax, eax
mov ax, word [0x4ad30b84]
push eax
push dword [ebp + 0x10]
call fcn.4ad01b0c
mov ebx, eax
test ebx, ebx
je 0x4ad17a50
inc ebx
inc ebx
jmp 0x4ad17a53
mov ebx, dword [ebp + 0x10]
xor eax, eax
mov ax, word [0x4ad30b84]
push eax
mov eax, dword [esi]
push dword [eax + 0xc]
call fcn.4ad01b0c
test eax, eax
jne 0x4ad17a6f
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test ebx, ebx
je 0x4ad17a81
test eax, eax
je 0x4ad17a81
push eax
push ebx
call dword [sym.imp.msvcrt.dll_wcscpy]
pop ecx
pop ecx
push dword [ebp + 0x24]
mov ebx, dword [ebp + 0x14]
lea eax, [ebp - 0x208]
push eax
push ebx
call fcn.4ad01d5f
test eax, eax
je 0x4ad17aa2
push 0x232e
call fcn.4ad1748e
xor eax, eax
push eax
mov dword [ebp + 0xc], eax
mov dword [0x4ad28a04], eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov esi, dword [ebp + 0x1c]
and dword [esi], 0
push ebx
call fcn.4ad01d2c
mov ax, word [eax]
cmp ax, word [0x4ad30b84]
jne 0x4ad17ae4
test ebx, ebx
mov dword [ebp + 0xc], 1
je 0x4ad17adc
push ebx
call edi
pop ecx
jmp 0x4ad17ade
xor eax, eax
and word [ebx + eax*2 - 2], 0
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4ad17afe
test al, 0x10
je 0x4ad17b1d
xor eax, eax
inc eax
mov dword [esi], eax
mov dword [ebp + 0xc], eax
jmp 0x4ad17b1d
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov dword [0x4ad28a04], eax
je 0x4ad17b1d
cmp eax, 2
je 0x4ad17b1d
cmp eax, 3
je 0x4ad17b1d
push eax
call fcn.4ad1748e
xor esi, esi
cmp dword [ebp + 0xc], esi
je 0x4ad17b79
xor eax, eax
mov ax, word [0x4ad30b84]
push eax
push dword [ebp + 0x10]
call fcn.4ad01b0c
cmp eax, esi
mov dword [ebp + 0x10], eax
je 0x4ad17b42
push eax
call edi
pop ecx
mov esi, eax
test ebx, ebx
je 0x4ad17b4c
push ebx
call edi
pop ecx
jmp 0x4ad17b4e
xor eax, eax
lea eax, [eax + esi + 1]
cmp eax, 0x104
jbe 0x4ad17b63
push 0x232e
call fcn.4ad1748e
test ebx, ebx
je 0x4ad17b79
cmp dword [ebp + 0x10], 0
je 0x4ad17b79
push dword [ebp + 0x10]
push ebx
call dword [sym.imp.msvcrt.dll_wcscat]
pop ecx
pop ecx
pop edi
pop esi
xor eax, eax
pop ebx
leave
ret 0x20