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

Disassembly:
mov edi, ecx
jmp 0x4ad083c7
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 [0x4ad240e0], ebx
mov ecx, dword [esi]
mov eax, ecx
push edi
mov dword [ebp - 8], 0x4ad2482c
lea edx, [eax + 2]
mov di, word [eax]
inc eax
inc eax
cmp di, bx
jne 0x4ad082ea
sub eax, edx
sar eax, 1
push ecx
mov dword [ebp - 4], eax
call fcn.4ad01a37
mov edi, eax
cmp word [edi], 0x3a
je 0x4ad18dbf
push 0x250
call fcn.4ad01f03
mov dword [esi + 0x18], eax
movzx ecx, word [edi]
movzx eax, word [0x4ad40604]
cmp cx, ax
mov dword [ebp + 8], ecx
je 0x4ad0fd7d
push eax
push dword [esi]
call fcn.4ad01a11
mov edi, eax
test edi, edi
je 0x4ad1369a
inc edi
inc edi
mov ebx, dword [sym.imp.msvcrt.dll__wcsicmp]
push 0x4ad01c20
push edi
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4ad0fd7d
push 0x4ad01c18
push edi
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4ad0fd7d
cmp dword [0x4ad24058], 4
je 0x4ad0f478
push dword [esi]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x4ad0842d
and dword [0x4ad240e0], 0
cmp ebx, 0xffffffff
je 0x4ad083a3
test bl, 0x10
jne 0x4ad0fd7d
mov edx, dword [esi]
xor ebx, ebx
inc ebx
xor edi, edi
mov ecx, edx
movzx eax, word [ecx]
test ax, ax
je 0x4ad083cc
cmp ax, word [0x4ad40604]
je 0x4ad082ba
cmp ax, 0x3a
je 0x4ad08413
inc ecx
inc ecx
inc ebx
jmp 0x4ad083ac
test edi, edi
mov dword [esi + 0xc], edi
je 0x4ad135aa
cmp word [edi], ax
lea eax, [edi + 2]
je 0x4ad18e83
mov dword [esi + 0x10], eax
push 0x2a
push edi
call fcn.4ad014ac
test eax, eax
jne 0x4ad0841d
push 0x3f
push edi
call fcn.4ad014ac
test eax, eax
jne 0x4ad0841d
push 0x2e
push edi
call fcn.4ad014ac
mov dword [esi + 0x14], eax
pop edi
xor eax, eax
pop esi
inc eax
pop ebx
leave
ret 4
cmp ebx, 2
jne 0x4ad083c7
jmp 0x4ad082ba
or dword [esi + 0x1c], 8
mov dword [0x4ad240ac], 1
jmp 0x4ad083fe
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x4ad240e0], eax
jmp 0x4ad08395
cmp dword [0x4ad240a0], 1
je 0x4ad0837b
cmp dword [0x4ad2405c], 1
jne 0x4ad083a3
and dword [0x4ad2405c], 0
jmp 0x4ad0837b
mov ax, word [0x4ad40604]
cmp word [ebp + 8], ax
jne 0x4ad0fd90
mov dword [ebp - 8], 0x4ad2482e
push dword [esi]
call fcn.4ad0fdd4
test al, al
jne 0x4ad0fdc1
mov edi, dword [ebp - 4]
mov ebx, dword [esi]
add edi, 5
lea eax, [edi + edi]
push eax
call fcn.4ad01f03
push ebx
push edi
push eax
mov dword [esi], eax
call fcn.4ad01416
push dword [ebp - 8]
push edi
push dword [esi]
call fcn.4ad014d2
mov eax, dword [esi + 0x18]
mov dword [eax], 0x10
jmp 0x4ad083a3
mov dword [esi + 0x10], edx
mov edi, edx
jmp 0x4ad083e6
mov edi, dword [esi]
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x4ad136a1
sub eax, edx
sar eax, 1
cmp eax, 2
jb 0x4ad08344
cmp word [edi + 2], 0x3a
jne 0x4ad08344
jmp 0x4ad18e7b
cmp dword [ebp - 4], 2
jle 0x4ad0830d
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 [ebp - 0xc], eax
call fcn.4ad03f07
cmp eax, 0xffffffff
mov dword [ebp + 8], eax
je 0x4ad18e1c
push eax
call fcn.4ad015ca
test eax, eax
jne 0x4ad18e04
push dword [ebp + 8]
call fcn.4ad1f84b
test eax, eax
je 0x4ad18e1c
push dword [ebp + 8]
call fcn.4ad015ca
test eax, eax
jne 0x4ad18e69
push dword [ebp + 8]
call fcn.4ad1f84b
test eax, eax
jmp 0x4ad18e67
inc edi
inc edi
mov word [edi], 0x3a
cmp dword [0x4ad24058], 4
jne 0x4ad18e52
cmp dword [0x4ad240a4], 0
jne 0x4ad18e46
push dword [esi]
push 1
push 0x236b
call fcn.4ad080e2
add esp, 0xc
mov dword [0x4ad240a8], 1
jmp 0x4ad18e63
push dword [esi]
push 1
push 0x236b
call fcn.4ad080e2
add esp, 0xc
cmp dword [ebp + 8], 0xffffffff
je 0x4ad18e71
push dword [ebp + 8]
call fcn.4ad03ebc
push dword [ebp - 0xc]
call ebx
jmp 0x4ad0830d
add edi, 4
jmp 0x4ad08344
mov eax, edi
jmp 0x4ad083e3