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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x210
and byte [ebp - 1], 0
push ebx
push esi
push edi
xor al, al
or edi, 0xffffffff
xor ebx, ebx
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x38]
mov si, word [ecx + ebx*2]
cmp si, 0x22
jne 0x4ad0cec3
xor eax, eax
cmp byte [ebp - 1], al
sete al
mov byte [ebp - 1], al
xor eax, eax
cmp byte [ebp - 1], al
sete al
test si, si
je 0x4ad0cf13
cmp byte [ebp - 1], 0
jne 0x4ad0cee1
test al, al
jne 0x4ad0cee1
push esi
push str._______t_
call fcn.4ad19418
test eax, eax
jne 0x4ad0cf13
cmp edi, 0xffffffff
jne 0x4ad0cf00
push esi
push 0x4ad1c668
call fcn.4ad19418
test eax, eax
je 0x4ad0cf00
cmp byte [0x4ad1cf7c], 0
je 0x4ad0cf13
mov edi, ebx
mov word [ebp + ebx*2 - 0x210], si
xor al, al
inc ebx
cmp ebx, 0x103
jb 0x4ad0cea0
test ebx, ebx
jne 0x4ad0cf1f
or eax, 0xffffffff
jmp 0x4ad0d0aa
and word [ebp + ebx*2 - 0x210], 0
cmp edi, 0xffffffff
je 0x4ad0cf4e
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4ad0cf43
test al, 0x10
je 0x4ad0cf4e
and word [ebp + edi*2 - 0x210], 0
mov ebx, edi
push dword [ebp + 0xc]
lea eax, [ebp - 0x210]
push eax
push 0x28
call fcn.4ad14118
mov esi, eax
cmp esi, 0xffffffff
mov dword [ebp - 8], esi
jne 0x4ad0cf84
push dword [ebp + 0xc]
lea eax, [ebp - 0x210]
push eax
push 0x2b
call fcn.4ad14118
cmp eax, 0x2b
jne 0x4ad0cf95
jmp 0x4ad0d0aa
cmp esi, 0x14
jne 0x4ad0cf95
mov edi, dword [ebp + 8]
mov dword [edi + 0x40], 1
jmp 0x4ad0cf98
mov edi, dword [ebp + 8]
and byte [ebp - 1], 0
and byte [ebp + 0xc], 0
cmp esi, 0xffffffff
jne 0x4ad0d018
xor ebx, ebx
and byte [ebp - 2], bl
mov eax, dword [edi + 0x38]
mov si, word [eax + ebx*2]
test si, si
je 0x4ad0d00e
cmp si, 0x22
jne 0x4ad0cfd2
xor eax, eax
cmp byte [ebp - 1], al
sete al
mov byte [ebp - 1], al
xor eax, eax
cmp byte [ebp - 1], al
sete al
mov byte [ebp + 0xc], al
test si, si
je 0x4ad0d00e
cmp byte [ebp - 1], 0
jne 0x4ad0d007
cmp byte [ebp + 0xc], 0
jne 0x4ad0d007
push esi
call dword [sym.imp.MSVCRT.dll_iswspace]
test eax, eax
pop ecx
jne 0x4ad0d00e
push esi
push 0x4ad1c628
call fcn.4ad19418
test eax, eax
jne 0x4ad0d00e
cmp si, word [0x4ad1c76c]
je 0x4ad0d00e
inc ebx
and byte [ebp + 0xc], 0
jmp 0x4ad0d012
mov byte [ebp - 2], 1
cmp byte [ebp - 2], 0
je 0x4ad0cfaa
mov eax, dword [edi + 0x38]
mov esi, dword [sym.imp.MSVCRT.dll_wcslen]
test eax, eax
je 0x4ad0d02d
push eax
call esi
pop ecx
mov edi, eax
jmp 0x4ad0d02f
xor edi, edi
cmp ebx, edi
je 0x4ad0d0a7
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x4ad0d043
push eax
call esi
pop ecx
jmp 0x4ad0d045
xor eax, eax
add eax, edi
shl eax, 1
push eax
call fcn.4ad0d9ca
mov esi, eax
test esi, esi
jne 0x4ad0d06b
push eax
push 0x2374
call fcn.4ad1393b
pop ecx
pop ecx
call fcn.4ad12ccb
test esi, esi
je 0x4ad0d084
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x38]
lea eax, [eax + ebx*2]
test eax, eax
je 0x4ad0d087
push eax
push esi
call dword [sym.imp.MSVCRT.dll_wcscpy]
pop ecx
pop ecx
jmp 0x4ad0d087
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x3c]
test eax, eax
je 0x4ad0d09c
test esi, esi
je 0x4ad0d09c
push eax
push esi
call dword [sym.imp.MSVCRT.dll_wcscat]
pop ecx
pop ecx
mov eax, dword [edi + 0x38]
mov dword [edi + 0x3c], esi
and word [eax + ebx*2], 0
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
leave
ret 8