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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
mov dword [0x4ad2ba04], ebx
mov eax, dword [esi]
cmp eax, ebx
push edi
mov dword [ebp - 8], 0x4ad34b6c
je 0x4ad0d980
push eax
call dword [fcn.4ad012dc]
pop ecx
mov dword [ebp - 4], eax
push dword [esi]
call fcn.4ad01a79
mov edi, eax
cmp word [edi], 0x3a
je 0x4ad16d09
push 0x250
call fcn.4ad01758
mov dword [esi + 0x14], eax
movzx edi, word [edi]
xor eax, eax
mov ax, word [0x4ad33b8c]
cmp di, ax
mov dword [ebp + 8], edi
je 0x4ad0f80c
push eax
push dword [esi]
call fcn.4ad01a53
mov edi, eax
test edi, edi
je 0x4ad0d94f
inc edi
inc edi
mov ebx, dword [fcn.4ad012b8]
push 0x4ad01a9c
push edi
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4ad0f80c
push 0x4ad01a94
push edi
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4ad0f80c
cmp dword [0x4ad2fa60], 4
jne 0x4ad0620b
cmp dword [0x4ad33b44], 1
je 0x4ad0620b
cmp dword [0x4ad33b48], 1
jne 0x4ad06233
and dword [0x4ad33b48], 0
push dword [esi]
call dword [0x4ad010e4]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x4ad062d6
and dword [0x4ad2ba04], 0
cmp ebx, 0xffffffff
je 0x4ad06233
test bl, 0x10
jne 0x4ad0f80c
mov edx, dword [esi]
xor ebx, ebx
inc ebx
xor edi, edi
mov ecx, edx
mov ax, word [ecx]
test ax, ax
je 0x4ad06258
cmp ax, word [0x4ad33b8c]
je 0x4ad062a7
cmp ax, 0x3a
je 0x4ad062ab
inc ecx
inc ecx
inc ebx
jmp 0x4ad0623c
test edi, edi
mov dword [esi + 8], edi
je 0x4ad0d976
cmp word [edi], ax
lea eax, [edi + 2]
je 0x4ad16dd9
mov dword [esi + 0xc], eax
push 0x2a
push edi
call fcn.4ad01323
test eax, eax
jne 0x4ad0c003
push 0x3f
push edi
call fcn.4ad01323
test eax, eax
jne 0x4ad0c003
push 0x2e
push edi
call fcn.4ad01323
mov dword [esi + 0x10], eax
pop edi
xor eax, eax
pop esi
inc eax
pop ebx
leave
ret 4
mov edi, ecx
jmp 0x4ad06253
cmp ebx, 2
jne 0x4ad06253
jmp 0x4ad062a7
call dword [fcn.4ad0112c]
mov dword [0x4ad2ba04], eax
jmp 0x4ad06225
or dword [esi + 0x18], 8
mov dword [0x4ad33af0], 1
jmp 0x4ad06292
mov edi, dword [esi]
test edi, edi
je 0x4ad0d988
push edi
call dword [fcn.4ad012dc]
pop ecx
cmp eax, 2
jb 0x4ad061bf
cmp word [edi + 2], 0x3a
jne 0x4ad061bf
jmp 0x4ad16dc5
mov dword [esi + 0xc], edx
mov edi, edx
jmp 0x4ad06272
mov dword [ebp - 4], ebx
jmp 0x4ad06174
xor eax, eax
jmp 0x4ad0d95d
xor eax, eax
jmp 0x4ad0f856
mov ax, word [0x4ad33b8c]
cmp word [ebp + 8], ax
je 0x4ad16dcd
push dword [esi]
call fcn.4ad0f881
test al, al
jne 0x4ad0f86e
mov edi, dword [ebp - 4]
lea edi, [edi + edi + 0xa]
push edi
call fcn.4ad01758
test eax, eax
je 0x4ad0d98c
mov eax, dword [esi]
test eax, eax
je 0x4ad0d98c
push eax
push edi
call fcn.4ad01758
push eax
call dword [fcn.4ad012d8]
pop ecx
pop ecx
test eax, eax
mov dword [esi], eax
je 0x4ad0f86e
cmp dword [ebp - 8], 0
je 0x4ad0f86e
push dword [ebp - 8]
push eax
call dword [fcn.4ad01284]
pop ecx
pop ecx
mov eax, dword [esi + 0x14]
mov dword [eax], 0x10
jmp 0x4ad06233
cmp dword [ebp - 4], 2
jle 0x4ad06187
mov word [edi], bx
push ebx
mov ebx, dword [0x4ad010f8]
dec edi
dec edi
call ebx
push 0x8000
push dword [esi]
mov dword [ebp - 0xc], eax
call fcn.4ad02e67
cmp eax, 0xffffffff
mov dword [ebp + 8], eax
je 0x4ad16d66
push eax
call fcn.4ad02c65
test eax, eax
jne 0x4ad16d4e
push dword [ebp + 8]
call fcn.4ad0f466
test eax, eax
je 0x4ad16d66
push dword [ebp + 8]
call fcn.4ad02c65
test eax, eax
jne 0x4ad16db3
push dword [ebp + 8]
call fcn.4ad0f466
test eax, eax
jmp 0x4ad16db1
inc edi
inc edi
mov word [edi], 0x3a
cmp dword [0x4ad2fa60], 4
jne 0x4ad16d9c
cmp dword [0x4ad33b40], 0
jne 0x4ad16d90
push dword [esi]
push 1
push 0x236b
call fcn.4ad05fb5
add esp, 0xc
mov dword [0x4ad33b38], 1
jmp 0x4ad16dad
push dword [esi]
push 1
push 0x236b
call fcn.4ad05fb5
add esp, 0xc
cmp dword [ebp + 8], 0xffffffff
je 0x4ad16dbb
push dword [ebp + 8]
call fcn.4ad02e00
push dword [ebp - 0xc]
call ebx
jmp 0x4ad06187
add edi, 4
jmp 0x4ad061bf
mov dword [ebp - 8], 0x4ad34b6e
jmp 0x4ad0f81c
mov eax, edi
jmp 0x4ad0626f