Function at 0x4e02c0
Capabilities:
Check if file exists
Delete file
Get file attributes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4feffa
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x245c
call fcn.004f2fa0
mov eax, dword [0x540cc0]
push ebx
push esi
mov dword [esp + 0x2460], eax
mov eax, dword [ebp + 8]
push edi
push eax
mov ebx, ecx
call fcn.004ea4a0
test eax, eax
je 0x4e0846
push str.SHELL
mov ecx, ebx
call fcn.004ea090
test eax, eax
je 0x4e0846
mov ecx, ebx
call fcn.004e00f0
test eax, eax
je 0x4e0846
xor eax, eax
mov ecx, 0x808
lea edi, [esp + 0x40]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x10]
push ecx
push 0x5202b4
push str.SHELL
mov ecx, ebx
mov word [esp + 0x1c], 0x31
call fcn.004ea730
mov edi, dword [sym.imp.MSVCR71.dll__snprintf]
push eax
push 0x520204
lea edx, [esp + 0x105e]
push 0x3ff
push edx
call edi
add esp, 0x10
lea eax, [esp + 0x10]
push eax
push str.FILEPATH
push str.SHELL
mov ecx, ebx
call fcn.004ea730
push eax
push 0x520204
lea ecx, [esp + 0x5e]
push 0x3ff
push ecx
call edi
add esp, 0x10
lea edx, [esp + 0x10]
push edx
push str.LOCALTION
push str.SHELL
mov ecx, ebx
call fcn.004ea730
push eax
push 0x520204
lea eax, [esp + 0x1466]
push 0x3ff
push eax
call edi
add esp, 0x10
lea ecx, [esp + 0x10]
push ecx
push str.FILENAME
push str.SHELL
mov ecx, ebx
call fcn.004ea730
push eax
push 0x520204
lea edx, [esp + 0xc5e]
push 0x3ff
push edx
call edi
add esp, 0x10
lea eax, [esp + 0x10]
push eax
push str.REFERER
push str.SHELL
mov ecx, ebx
call fcn.004ea730
push eax
push 0x520204
lea ecx, [esp + 0x1866]
push 0x3ff
push ecx
call edi
add esp, 0x10
lea edx, [esp + 0x10]
push edx
push str.PARTIALPATH
push str.SHELL
mov ecx, ebx
call fcn.004ea730
push eax
push 0x520204
push 0x3ff
lea eax, [esp + 0x862]
push eax
call edi
add esp, 0x10
push 1
push str.ISFINISH
push str.SHELL
mov ecx, ebx
call fcn.004ea7d0
push 1
push str.HASPARTIAL
push str.SHELL
mov ecx, ebx
mov dword [esp + 0x4c], eax
call fcn.004ea7d0
xor edi, edi
push edi
push str.NOSIZE
push str.SHELL
mov ecx, ebx
mov esi, eax
call fcn.004ea7d0
push 1
push str.BLOCK
push str.SHELL
mov ecx, ebx
mov dword [esp + 0x24], eax
call fcn.004ea810
push 1
push str.DOWNLOADERNUM
push str.SHELL
mov ecx, ebx
mov dword [esp + 0x5e], eax
call fcn.004ea810
push 1
push str.ATTRIBUTE
push str.SHELL
mov ecx, ebx
mov dword [esp + 0x30], eax
call fcn.004ea810
push 1
push str.MSLURLSTATUS
push str.SHELL
mov ecx, ebx
mov dword [esp + 0x2c], eax
call fcn.004ea810
push 0xe
push str.SHELLSTATUS
push str.SHELL
mov ecx, ebx
mov dword [esp + 0x40], eax
call fcn.004ea810
push 1
push str.FILELENGTH
push str.SHELL
mov ecx, ebx
mov dword [esp + 0x38], eax
call fcn.004ea810
push 1
push str.FILECOMPLETED
push str.SHELL
mov ecx, ebx
mov dword [esp + 0x52], eax
call fcn.004ea810
push 0x2130
mov dword [esp + 0x4e], eax
call sub.MFC71.DLL_operator_new_1
add esp, 4
mov dword [esp + 0x28], eax
cmp eax, edi
mov dword [esp + 0x2474], edi
je 0x4e056a
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, eax
call fcn.004e7050
mov edi, eax
mov dword [esp + 0x14], edi
jmp 0x4e056e
mov dword [esp + 0x14], edi
test esi, esi
mov dword [esp + 0x2474], 0xffffffff
jne 0x4e05fb
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x4e05fb
mov edx, dword [edi]
lea eax, [esp + 0x185e]
push eax
push 5
push esi
lea ecx, [esp + 0x1062]
push ecx
lea eax, [esp + 0xc66]
push eax
mov ecx, edi
call dword [edx + 0x54]
mov eax, dword [esp + 0x20]
mov edx, dword [edi]
push eax
mov ecx, edi
call dword [edx + 0x1c]
mov esi, dword [ebp + 8]
mov eax, esi
lea edx, [eax + 1]
jmp 0x4e05c0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4e05c0
sub eax, edx
mov edx, dword [edi]
push eax
mov ecx, edi
call dword [edx + 0x108]
push eax
push esi
call dword [sym.imp.MSVCR71.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x4e05ea
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [esp + 0x2c]
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0xc]
jmp 0x4e08d2
lea edx, [esp + 0x856]
push edx
xor esi, esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x4e061a
mov eax, dword [esp + 0x4a]
cmp eax, dword [esp + 0x46]
jne 0x4e0625
mov ecx, ebx
call fcn.004dfdb0
test eax, eax
je 0x4e062a
mov esi, 1
mov edx, dword [esp + 0x40]
xor ecx, ecx
test edx, edx
mov edx, dword [esp + 0x18]
sete cl
test edx, ecx
jne 0x4e0641
test esi, esi
je 0x4e0679
lea eax, [esp + 0x856]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov edx, dword [edi]
push 0
push 5
push 0
lea eax, [esp + 0x1062]
push eax
lea ecx, [esp + 0xc66]
push ecx
mov ecx, edi
call dword [edx + 0x54]
mov dword [esp + 0x40], 0
jmp 0x4e0874
mov edx, dword [edi]
mov eax, 0x2020
lea esi, [esp + 0x40]
call fcn.004f2fa0
mov edi, esp
mov ecx, 0x808
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x2034]
mov ecx, esi
call dword [edx + 0x50]
lea ecx, [esp + 0x1c]
call dword [0x502480]
mov eax, dword [esp + 0x24]
test eax, eax
mov dword [esp + 0x2474], 1
mov dword [esp + 0x18], 0
jle 0x4e0804
jmp 0x4e06d0
xor eax, eax
mov ecx, 0x100
lea edi, [esp + 0x2060]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push str.DOWNLOADER__d
push ecx
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format]
add esp, 0xc
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push 1
mov edi, eax
push str.ISFINISH
push edi
mov ecx, ebx
call fcn.004ea7d0
push 1
push str.STATUS
push edi
mov ecx, ebx
mov dword [esp + 0x3c], eax
call fcn.004ea810
push 1
push str.START
push edi
mov ecx, ebx
mov dword [esp + 0x48], eax
call fcn.004ea810
push 1
push str.COMPLETED
push edi
mov ecx, ebx
mov esi, eax
call fcn.004ea810
fld qword [0x504d58]
sub esp, 8
fstp qword [esp]
push str.SPEED
push edi
mov ecx, ebx
mov dword [esp + 0x48], eax
call fcn.004ea870
fstp dword [esp + 0x28]
lea edx, [esp + 0x10]
push edx
push 0x5202b4
push edi
mov ecx, ebx
call fcn.004ea730
push eax
push 0x520204
lea eax, [esp + 0x2068]
push 0x3ff
push eax
call dword [sym.imp.MSVCR71.dll__snprintf]
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x24]
mov edx, dword [edi]
add esp, 0x10
push 0x20000
push 0
push 0
push eax
push esi
lea ecx, [esp + 0x1872]
push ecx
lea eax, [esp + 0x2078]
push eax
mov ecx, edi
call dword [edx + 0x144]
test eax, eax
je 0x4e0834
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0x418], ecx
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x4e07eb
mov ecx, dword [esp + 0x28]
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx + 0x84]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x4e06d0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
test eax, eax
mov ecx, esi
jne 0x4e084d
mov eax, dword [esi]
push 1
call dword [eax + 0xcc]
mov eax, dword [esp + 0x2c]
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0xc]
mov ecx, dword [esp + 0x46]
push ecx
push 0
mov ecx, esi
call fcn.004e1e30
jmp 0x4e085b
mov edx, dword [edi]
push 1
mov ecx, edi
call dword [edx]
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
xor eax, eax
jmp 0x4e08d4
mov edx, dword [esi]
call dword [edx + 0x68]
mov eax, dword [esi]
push 9
mov ecx, esi
call dword [eax + 0xc]
lea ecx, [esp + 0x1c]
mov dword [esp + 0x2474], 0xffffffff
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [edi]
push eax
mov ecx, edi
call dword [edx + 0x1c]
mov eax, dword [esp + 0x34]
cmp eax, 2
jne 0x4e089a
mov ecx, 1
mov dword [edi + 0x2100], ecx
mov dword [edi + 0x20fc], ecx
mov esi, dword [ebp + 8]
mov dword [edi + 0x210c], eax
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4e08a8
sub eax, edx
mov edx, dword [edi]
push eax
mov ecx, edi
call dword [edx + 0x108]
push eax
push esi
call dword [sym.imp.MSVCR71.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x4e08d2
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, edi
mov ecx, dword [esp + 0x246c]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x2464]
call fcn.004f2f91
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8