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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4ad55b
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x18d4
call fcn.0049e430
mov eax, dword [0x4c0390]
xor eax, esp
mov dword [esp + 0x18d0], eax
push ebx
push esi
push edi
mov eax, dword [0x4c0390]
xor eax, esp
push eax
lea eax, [esp + 0x18e8]
mov dword fs:[0], eax
cmp byte [0x4e591c], 0
mov edi, ecx
mov dword [esp + 0x10], edi
mov ebx, 1
je 0x41555c
push ebx
xor eax, eax
push 0x4e758c
mov word [0x4e798c], ax
call fcn.0044e6c0
cmp byte [0x4e6138], 0
jne 0x41558e
call fcn.00446970
xor ecx, ecx
mov esi, eax
cmp esi, ebx
setg cl
push ecx
push 0x4b1ba4
push str.General
call fcn.00456960
neg eax
sbb eax, eax
and eax, esi
mov dword [0x4e6134], eax
cmp dword [0x4dbc60], ebx
jne 0x415646
cmp byte [0x4e32b0], 0
je 0x415646
push 0x4b177c
push 0x4e758c
call fcn.0044df20
test al, al
jne 0x415646
push 0x4b1778
push 0x4e758c
call fcn.0044df20
test al, al
jne 0x415646
push 0x4b1774
push 0x4e758c
call fcn.0044df20
test al, al
jne 0x415632
push 0x4b19b8
push 0x4e758c
call fcn.0044df20
test al, al
jne 0x415632
mov eax, 0x4e758c
dec eax
lea ecx, [ecx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x415600
mov edx, dword [str..ext]
mov cl, byte [0x4b1770]
mov dword [eax], edx
mov byte [eax + 4], cl
cmp word [0x4e798c], 0
je 0x415632
push 0x4b1760
push 0x4e798c
call fcn.0046db40
push 0x4e758c
call fcn.0044f630
push 0x4e798c
call fcn.0044f650
mov eax, dword [0x4e5770]
mov ecx, dword [0x4e5774]
mov edx, eax
or edx, ecx
je 0x4156a0
cmp eax, 0x7fffffff
jne 0x415687
cmp ecx, eax
jne 0x415687
cmp byte [0x4e57a1], 0
jne 0x415687
push 0x4e758c
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x415687
xor eax, eax
mov dword [0x4e5770], eax
mov dword [0x4e5774], eax
mov eax, dword [0x4eaa58]
and eax, 0x18
je 0x4156a0
cmp dword [0x4e5758], 0
je 0x4156a0
or dword [0x4e5758], eax
cmp dword [0x4dbc60], ebx
jne 0x4156b1
cmp byte [0x4e2eb0], 0
jne 0x4156c2
push 0x4e2eb0
push 0x4e758c
mov ecx, edi
call fcn.004112f0
cmp byte [0x4e57a7], 0
je 0x4156ea
cmp dword [0x4e613c], 0
je 0x4156ea
push 0
push 0x4e57a8
push 0x4e798c
push 0x4e758c
call fcn.0044ea90
push 0x4e798c
push 0x4e758c
call fcn.0042f950
test al, al
je 0x4157a4
cmp dword [0x4dbc5c], 0
je 0x415710
mov byte [edi + 0x1c42], bl
push 0
push ebx
push 0x4e798c
push 0x4e758c
mov ecx, edi
call fcn.004145d0
cmp eax, ebx
jne 0x4157a4
lea esi, [edi + 0x320]
mov ecx, 0x28
lea edi, [esp + 0x14]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x41576b
cmp eax, ebx
je 0x41576b
push 0x30
push 0x65
call fcn.0045bde0
push eax
push 0x1fd
call fcn.0045bde0
push eax
mov eax, dword [0x4dc1c8]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x41587a
cmp dword [esp + 0x84], 0
jbe 0x4157a0
cmp byte [0x4e32b0], 0x2a
jne 0x4157a0
cmp byte [0x4e42b0], 0
jne 0x4157a0
cmp byte [0x4e6141], 0
jne 0x4157a0
cmp byte [0x4e6541], 0
jne 0x4157a0
mov byte [0x4e32b0], 0
mov edi, dword [esp + 0x10]
mov ecx, dword [0x4e613c]
push ecx
call fcn.0048ffe0
push 0x4e2ea0
lea ecx, [esp + 0xb8]
call fcn.00462990
mov dword [esp + 0x18f0], 0
mov edx, dword [ebp + 8]
push 0
push edx
push 0x4e758c
push 0
call fcn.00481a20
mov bl, al
mov eax, dword [0x4e613c]
mov ecx, dword [edi + eax*4 + 0x104]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
cmp dword [0x4dbc60], 0
jne 0x41580d
test bl, bl
je 0x41580d
mov ecx, dword [0x4db83c]
push ecx
call dword [sym.imp.USER32.dll_DestroyWindow]
lea edx, [esp + 0x14dc]
push edx
push 0x4e758c
call fcn.0042fa70
lea eax, [esp + 0x14dc]
push 0x5c
push eax
call fcn.0049dbd0
add esp, 8
test eax, eax
je 0x415849
lea ecx, [esp + 0x14dc]
cmp eax, ecx
je 0x415849
cmp byte [eax - 1], 0x3a
je 0x415849
mov byte [eax], 0
push 0
lea edx, [esp + 0x14e0]
push edx
push 0x2001
push 0x1000
call dword [sym.imp.SHELL32.dll_SHChangeNotify]
mov dword [esp + 0x18f0], 0xffffffff
lea ecx, [esp + 0xb4]
call fcn.0045f5c0
mov ecx, dword [esp + 0x18e8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x18d0]
xor ecx, esp
call fcn.0049dea6
mov esp, ebp
pop ebp
ret 4