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

Disassembly:
push ecx
push ecx
push ebx
push ebp
push esi
mov esi, dword [esp + 0x18]
xor ebx, ebx
mov dword [0x4ad28a04], ebx
mov eax, dword [esi]
cmp eax, ebx
push edi
mov dword [esp + 0x10], 0x4ad31888
je 0x4ad0e492
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
pop ecx
mov dword [esp + 0x1c], eax
push dword [esi]
call fcn.4ad01d2c
mov edi, eax
cmp word [edi], 0x3a
je 0x4ad13470
push 0x250
call fcn.4ad01566
mov dword [esi + 0x14], eax
mov di, word [edi]
xor eax, eax
mov ax, word [0x4ad30b84]
cmp di, ax
je 0x4ad098c3
push eax
push dword [esi]
call fcn.4ad01b0c
mov ebp, eax
test ebp, ebp
je 0x4ad0e461
inc ebp
inc ebp
mov ebx, dword [sym.imp.msvcrt.dll__wcsicmp]
push 0x4ad0b9f0
push ebp
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4ad098c3
push 0x4ad0b9e8
push ebp
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4ad098c3
cmp dword [0x4ad2ca60], 4
je 0x4ad1352d
push dword [esi]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x4ad0cc6b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x4ad28a04], eax
cmp ebx, 0xffffffff
jne 0x4ad0cc77
mov edx, dword [esi]
xor ebp, ebp
inc ebp
xor edi, edi
mov ecx, edx
mov ax, word [ecx]
test ax, ax
je 0x4ad07ddb
cmp ax, word [0x4ad30b84]
je 0x4ad07e2a
cmp ax, 0x3a
je 0x4ad0876f
inc ecx
inc ecx
inc ebp
jmp 0x4ad07dbb
test edi, edi
mov dword [esi + 8], edi
je 0x4ad0e488
cmp word [edi], ax
lea eax, [edi + 2]
je 0x4ad13560
mov dword [esi + 0xc], eax
push 0x2a
push edi
call fcn.4ad012e4
test eax, eax
je 0x4ad0cc85
or dword [esi + 0x18], 8
mov dword [0x4ad30af0], 1
push 0x2e
push edi
call fcn.4ad012e4
pop edi
mov dword [esi + 0x10], eax
pop esi
xor eax, eax
pop ebp
inc eax
pop ebx
pop ecx
pop ecx
ret 4
mov edi, ecx
jmp 0x4ad07dd6
cmp ebp, 2
jne 0x4ad07dd6
jmp 0x4ad07e2a
cmp di, word [0x4ad30b84]
je 0x4ad13553
push dword [esi]
call fcn.4ad09933
test al, al
jne 0x4ad09925
mov edi, dword [esp + 0x1c]
lea edi, [edi + edi + 0xa]
push edi
call fcn.4ad01566
test eax, eax
je 0x4ad0e49f
mov eax, dword [esi]
test eax, eax
je 0x4ad0e49f
push eax
push edi
call fcn.4ad01566
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
pop ecx
pop ecx
test eax, eax
mov dword [esi], eax
je 0x4ad09925
cmp dword [esp + 0x10], 0
je 0x4ad09925
push dword [esp + 0x10]
push eax
call dword [sym.imp.msvcrt.dll_wcscat]
pop ecx
pop ecx
mov eax, dword [esi + 0x14]
mov dword [eax], 0x10
jmp 0x4ad07db2
and dword [0x4ad28a04], 0
jmp 0x4ad07da9
test bl, 0x10
je 0x4ad07db2
jmp 0x4ad098c3
push 0x3f
push edi
call fcn.4ad012e4
test eax, eax
je 0x4ad07e13
jmp 0x4ad07e05
mov ebp, dword [esi]
test ebp, ebp
je 0x4ad0e49b
push ebp
call dword [sym.imp.msvcrt.dll_wcslen]
pop ecx
cmp eax, 2
jb 0x4ad07d54
cmp word [ebp + 2], 0x3a
jne 0x4ad07d54
jmp 0x4ad13525
mov dword [esi + 0xc], edx
mov edi, edx
jmp 0x4ad07df5
mov dword [esp + 0x1c], ebx
jmp 0x4ad07d0c
xor eax, eax
jmp 0x4ad0e46f
xor eax, eax
jmp 0x4ad0990b
cmp dword [esp + 0x1c], 2
jle 0x4ad07d1f
mov word [edi], bx
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_SetErrorMode]
dec edi
dec edi
call ebx
push 0x8000
push dword [esi]
mov dword [esp + 0x1c], eax
call fcn.4ad03480
mov ebp, eax
cmp ebp, 0xffffffff
je 0x4ad134c8
push ebp
call fcn.4ad01eec
test eax, eax
jne 0x4ad134b4
push ebp
call fcn.4ad0ee4c
test eax, eax
je 0x4ad134c8
push ebp
call fcn.4ad01eec
test eax, eax
jne 0x4ad13514
push ebp
call fcn.4ad0ee4c
test eax, eax
jmp 0x4ad13512
inc edi
inc edi
mov word [edi], 0x3a
cmp dword [0x4ad2ca60], 4
jne 0x4ad134fe
cmp dword [0x4ad30b40], 0
jne 0x4ad134f2
push dword [esi]
push 1
push 0x236b
call fcn.4ad0b54d
add esp, 0xc
mov dword [0x4ad30b38], 1
jmp 0x4ad1350f
push dword [esi]
push 1
push 0x236b
call fcn.4ad0b54d
add esp, 0xc
cmp ebp, 0xffffffff
je 0x4ad1351a
push ebp
call fcn.4ad0355e
push dword [esp + 0x14]
call ebx
jmp 0x4ad07d1f
add ebp, 4
jmp 0x4ad07d54
cmp dword [0x4ad30b44], 1
je 0x4ad07d8b
cmp dword [0x4ad30b48], 1
jne 0x4ad07db2
and dword [0x4ad30b48], 0
jmp 0x4ad07d8b
mov dword [esp + 0x10], 0x4ad3188a
jmp 0x4ad098d0
mov eax, edi
jmp 0x4ad07df2