Function at 0x4ad01922
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 ebx, 0xffffffff
xor edi, edi
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x38]
mov si, word [ecx + edi*2]
cmp si, 0x22
je 0x4ad0b9be
test si, si
je 0x4ad01996
cmp byte [ebp - 1], 0
jne 0x4ad0196b
test al, al
jne 0x4ad0196b
push esi
push str._______t_
call fcn.4ad012e4
test eax, eax
jne 0x4ad01996
cmp ebx, 0xffffffff
jne 0x4ad01983
push esi
push 0x4ad30c08
call fcn.4ad012e4
test eax, eax
jne 0x4ad05431
xor al, al
mov word [ebp + edi*2 - 0x210], si
inc edi
cmp edi, 0x103
jb 0x4ad01939
test edi, edi
je 0x4ad1213c
and word [ebp + edi*2 - 0x210], 0
cmp ebx, 0xffffffff
jne 0x4ad0540b
push dword [ebp + 0xc]
lea eax, [ebp - 0x210]
push eax
push 0x28
call fcn.4ad018e5
mov esi, eax
cmp esi, 0xffffffff
mov dword [ebp - 8], esi
je 0x4ad04227
cmp esi, 0x14
je 0x4ad05cf0
mov ebx, dword [ebp + 8]
and byte [ebp - 1], 0
and byte [ebp + 0xf], 0
cmp esi, 0xffffffff
je 0x4ad04246
mov eax, dword [ebx + 0x38]
test eax, eax
mov esi, dword [sym.imp.msvcrt.dll_wcslen]
je 0x4ad0e9db
push eax
call esi
pop ecx
mov ebx, eax
cmp edi, ebx
jne 0x4ad0e03e
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
leave
ret 8
push dword [ebp + 0xc]
lea eax, [ebp - 0x210]
push eax
push 0x2b
call fcn.4ad018e5
cmp eax, 0x2b
jne 0x4ad019d8
jmp 0x4ad01a0e
xor edi, edi
and byte [ebp - 2], 0
mov eax, dword [ebx + 0x38]
mov si, word [eax + edi*2]
test si, si
je 0x4ad042a2
cmp si, 0x22
je 0x4ad0b9d2
cmp byte [ebp - 1], 0
jne 0x4ad04292
cmp byte [ebp + 0xf], 0
jne 0x4ad04292
push esi
call dword [sym.imp.msvcrt.dll_iswspace]
test eax, eax
pop ecx
jne 0x4ad042a2
push esi
push 0x4ad30b74
call fcn.4ad012e4
test eax, eax
jne 0x4ad042a2
cmp si, word [0x4ad30b7c]
je 0x4ad042a2
inc edi
and byte [ebp + 0xf], 0
cmp byte [ebp - 2], 0
je 0x4ad0424c
jmp 0x4ad019ec
mov byte [ebp - 2], 1
jmp 0x4ad04297
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x4ad0e9ce
and word [ebp + ebx*2 - 0x210], 0
mov edi, ebx
jmp 0x4ad019b0
cmp byte [0x4ad2ca64], 0
je 0x4ad01996
mov ebx, edi
jmp 0x4ad01983
mov ebx, dword [ebp + 8]
mov dword [ebx + 0x40], 1
jmp 0x4ad019db
cmp byte [ebp - 1], 0
sete al
test al, al
mov byte [ebp - 1], al
sete al
jmp 0x4ad0194d
cmp byte [ebp - 1], 0
sete al
test al, al
mov byte [ebp - 1], al
sete byte [ebp + 0xf]
jmp 0x4ad04262
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x4ad0e9e2
push eax
call esi
pop ecx
add eax, ebx
shl eax, 1
push eax
call fcn.4ad01302
mov esi, eax
test esi, esi
je 0x4ad12144
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x38]
lea eax, [eax + edi*2]
test eax, eax
je 0x4ad0e07b
push eax
push esi
call dword [sym.imp.msvcrt.dll_wcscpy]
pop ecx
pop ecx
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x4ad0e090
test esi, esi
je 0x4ad0e090
push eax
push esi
call dword [sym.imp.msvcrt.dll_wcscat]
pop ecx
pop ecx
mov eax, dword [ebx + 0x38]
mov dword [ebx + 0x3c], esi
and word [eax + edi*2], 0
jmp 0x4ad01a0b
test al, 0x10
je 0x4ad019b0
jmp 0x4ad05421
xor ebx, ebx
jmp 0x4ad01a03
xor eax, eax
jmp 0x4ad0e050
or eax, 0xffffffff
jmp 0x4ad01a0e
push eax
push 0x2374
call fcn.4ad0b54d
pop ecx
pop ecx
call fcn.4ad1b2e7
mov ebx, dword [ebp + 8]
jmp 0x4ad0e07b