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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x612234
mov eax, dword fs:[0]
push eax
sub esp, 0xa10
mov eax, dword [0x6c6f60]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x8c0], ecx
lea eax, [ebp - 0x420]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004d60d0
add esp, 8
lea edx, [ebp - 0x524]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.004d60d0
add esp, 8
mov byte [ebp - 0x7d5], 0
lea ecx, [ebp - 0x554]
call fcn.0048bfe0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x524]
push ecx
lea ecx, [ebp - 0x554]
call fcn.004a8ec0
lea ecx, [ebp - 0x53c]
call fcn.0048bfe0
mov byte [ebp - 4], 1
lea edx, [ebp - 0x554]
push edx
lea ecx, [ebp - 0x53c]
call fcn.0048bc60
push str..xml
lea ecx, [ebp - 0x53c]
call fcn.0048bc00
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x56c]
call fcn.0048bf00
mov byte [ebp - 4], 2
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x8bc], esp
lea edx, [ebp - 0x56c]
push edx
call fcn.0048c030
mov dword [ebp - 0x8b8], eax
call fcn.004d5f90
add esp, 0x18
mov byte [ebp - 0x7d7], al
movzx eax, byte [ebp - 0x7d7]
test eax, eax
je 0x4d4326
mov byte [ebp - 0x7d5], 1
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.KERNEL32.DLL_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4d4457
mov dword [ebp - 0x880], 0
push 0x6764de
push 0x6764d7
lea edx, [ebp - 0x420]
push edx
lea ecx, [ebp - 0x644]
call fcn.004a9540
mov byte [ebp - 4], 3
lea eax, [ebp - 0x880]
push eax
lea ecx, [ebp - 0x644]
call fcn.004aaa30
mov dword [ebp - 0x83c], eax
mov dword [ebp - 0x838], edx
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x8b4], esp
mov edx, dword [ebp + 0xc]
push edx
call fcn.0048b540
mov dword [ebp - 0x8a4], eax
call fcn.004da4f0
add esp, 0x18
mov dword [ebp - 0x834], eax
mov dword [ebp - 0x830], edx
mov eax, dword [ebp - 0x834]
mov dword [ebp - 0x844], eax
mov ecx, dword [ebp - 0x830]
mov dword [ebp - 0x840], ecx
mov edx, dword [ebp - 0x83c]
cmp edx, dword [ebp - 0x844]
jne 0x4d43e3
mov eax, dword [ebp - 0x838]
cmp eax, dword [ebp - 0x840]
je 0x4d4448
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.KERNEL32.DLL_DeleteFileW]
mov edx, dword [ebp + 0xc]
push edx
lea ecx, [ebp - 0x584]
call fcn.0048b540
mov byte [ebp - 4], 4
push 0x697c4c
lea ecx, [ebp - 0x584]
call fcn.004c4e70
lea ecx, [ebp - 0x584]
call fcn.0047ca20
push eax
call dword [sym.imp.KERNEL32.DLL_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4d4439
lea ecx, [ebp - 0x584]
call fcn.0047ca20
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteFileW]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x584]
call fcn.0047caf0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x644]
call fcn.004a8420
push 0xa
lea ecx, [ebp - 0x53c]
call fcn.0048b7e0
push eax
lea eax, [ebp - 0x524]
push eax
lea ecx, [ebp - 0x420]
push ecx
lea ecx, [ebp - 0x7d4]
call fcn.004a8490
mov byte [ebp - 4], 5
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x8c4], esp
push str.Download
call fcn.0048bf00
mov dword [ebp - 0x8a8], eax
movzx edx, byte [ebp - 0x7d5]
push edx
lea ecx, [ebp - 0x7d4]
call fcn.004a85b0
mov dword [ebp - 0x884], eax
cmp dword [ebp - 0x884], 1
je 0x4d452d
lea ecx, [ebp - 0x7d4]
call fcn.004a8730
push 0xffffffffffffffff
mov eax, dword [ebp - 0x784]
push eax
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
mov dword [ebp - 0x88c], 0xffffffff
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x7d4]
call fcn.004b2d60
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x56c]
call fcn.0048bcd0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x53c]
call fcn.0048bcd0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x554]
call fcn.0048bcd0
mov eax, dword [ebp - 0x88c]
jmp 0x4d4f4f
lea ecx, [ebp - 0x7d4]
call fcn.004a8710
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
xor ecx, ecx
mov dword [ebp - 0x7e0], eax
mov dword [ebp - 0x7dc], ecx
xorps xmm0, xmm0
movlpd qword [ebp - 0x7e8], xmm0
mov byte [ebp - 0x7d6], 0
movsd xmm0, qword [0x6a7328]
movsd qword [ebp - 0x874], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x87c], xmm0
mov edx, 1
test edx, edx
je 0x4d4f10
mov dword [ebp - 0x890], 0xffffffff
lea eax, [ebp - 0x890]
push eax
call dword [sym.imp.SensApi.dll_IsNetworkAlive]
test eax, eax
jne 0x4d460f
lea ecx, [ebp - 0x7d4]
call fcn.004a8730
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x784]
push ecx
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
mov dword [ebp - 0x82c], 0xfffffffe
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x7d4]
call fcn.004b2d60
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x56c]
call fcn.0048bcd0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x53c]
call fcn.0048bcd0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x554]
call fcn.0048bcd0
mov eax, dword [ebp - 0x82c]
jmp 0x4d4f4f
mov edx, dword [ebp - 0x770]
cmp edx, dword [ebp - 0x7e4]
jl 0x4d4760
jg 0x4d4635
mov eax, dword [ebp - 0x774]
cmp eax, dword [ebp - 0x7e8]
jbe 0x4d4760
mov ecx, dword [ebp - 0x774]
sub ecx, dword [ebp - 0x7e8]
mov edx, dword [ebp - 0x770]
sbb edx, dword [ebp - 0x7e4]
mov dword [ebp - 0x84c], ecx
mov dword [ebp - 0x848], edx
mov eax, dword [ebp - 0x77c]
xor ecx, ecx
sub eax, dword [ebp - 0x7e0]
sbb ecx, dword [ebp - 0x7dc]
mov dword [ebp - 0x7f4], eax
mov dword [ebp - 0x7f0], ecx
cmp dword [ebp - 0x7f0], 0
jl 0x4d472f
jg 0x4d4695
cmp dword [ebp - 0x7f4], 0
jbe 0x4d472f
mov edx, dword [ebp - 0x848]
mov ecx, dword [ebp - 0x84c]
call fcn.005ca510
divsd xmm0, qword [0x6a7318]
divsd xmm0, qword [0x6a7318]
mov edx, dword [ebp - 0x7f0]
mov ecx, dword [ebp - 0x7f4]
movsd qword [ebp - 0x8b0], xmm0
call fcn.005ca510
divsd xmm0, qword [0x6a7310]
movsd xmm1, qword [ebp - 0x8b0]
divsd xmm1, xmm0
movsd qword [ebp - 0x7fc], xmm1
movsd xmm0, qword [ebp - 0x7fc]
comisd xmm0, xmmword [ebp - 0x87c]
jbe 0x4d470d
movsd xmm0, qword [ebp - 0x7fc]
movsd qword [ebp - 0x87c], xmm0
movsd xmm0, qword [ebp - 0x874]
comisd xmm0, xmmword [ebp - 0x7fc]
jbe 0x4d472f
movsd xmm0, qword [ebp - 0x7fc]
movsd qword [ebp - 0x874], xmm0
mov edx, dword [ebp - 0x774]
mov dword [ebp - 0x7e8], edx
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x7e4], eax
mov ecx, dword [ebp - 0x77c]
xor edx, edx
mov dword [ebp - 0x7e0], ecx
mov dword [ebp - 0x7dc], edx
jmp 0x4d4898
mov eax, dword [ebp - 0x774]
cmp eax, dword [ebp - 0x7e8]
jne 0x4d4898
mov ecx, dword [ebp - 0x770]
cmp ecx, dword [ebp - 0x7e4]
jne 0x4d4898
mov edx, dword [ebp - 0x77c]
xor eax, eax
sub edx, dword [ebp - 0x7e0]
sbb eax, dword [ebp - 0x7dc]
mov dword [ebp - 0x854], edx
mov dword [ebp - 0x850], eax
cmp dword [ebp - 0x850], 0
jl 0x4d47f3
jg 0x4d47bb
cmp dword [ebp - 0x854], 0xbb8
jb 0x4d47f3
movzx ecx, byte [ebp - 0x7d6]
test ecx, ecx
jne 0x4d47f3
mov byte [ebp - 0x7d6], 1
push 0x697c6c
push 0x6764df
push 0x6764e6
push 0
push 0
push str.NoDownloadSpeed
push 0
call fcn.004dc890
mov ecx, eax
call fcn.004dc960
mov edx, dword [ebp - 0x77c]
xor eax, eax
sub edx, dword [ebp - 0x7e0]
sbb eax, dword [ebp - 0x7dc]
mov dword [ebp - 0x85c], edx
mov dword [ebp - 0x858], eax
cmp dword [ebp - 0x858], 0
jl 0x4d4898
jg 0x4d482a
cmp dword [ebp - 0x85c], 0x7530
jb 0x4d4898
lea ecx, [ebp - 0x7d4]
call fcn.004a8730
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x784]
push ecx
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
mov dword [ebp - 0x894], 0xfffffffd
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x7d4]
call fcn.004b2d60
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x56c]
call fcn.0048bcd0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x53c]
call fcn.0048bcd0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x554]
call fcn.0048bcd0
mov eax, dword [ebp - 0x894]
jmp 0x4d4f4f
lea ecx, [ebp - 0x720]
call fcn.0048f840
imul edx, eax, 3
cmp dword [ebp - 0x72c], edx
jbe 0x4d49d4
movzx eax, byte [ebp - 0x7d5]
test eax, eax
je 0x4d49d4
lea ecx, [ebp - 0x720]
call fcn.0048f840
mov dword [ebp - 0x89c], eax
push 0
push 2
push 0x697ce8
push 0x91
push 0x697c80
push 0x80
lea ecx, [ebp - 0x8fc]
call fcn.00485d60
mov dword [ebp - 0x898], eax
mov ecx, dword [ebp - 0x898]
mov dword [ebp - 0x8a0], ecx
mov byte [ebp - 4], 6
lea edx, [ebp - 0x89c]
push edx
push str.___3_
lea eax, [ebp - 0x72c]
push eax
push str.____cdn_fail:
mov ecx, dword [0x6c7c28]
push ecx
push 1
mov edx, dword [ebp - 0x8a0]
push edx
call fcn.00485e40
add esp, 0xc
mov ecx, eax
call fcn.0049bb80
mov ecx, eax
call fcn.0049bd40
mov ecx, eax
call fcn.0049bb80
mov ecx, eax
call fcn.0049bc10
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x8fc]
call fcn.00485de0
lea ecx, [ebp - 0x7d4]
call fcn.004a8730
push 0xffffffffffffffff
mov eax, dword [ebp - 0x784]
push eax
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
mov dword [ebp - 0x800], 0xfffffffc
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x7d4]
call fcn.004b2d60
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x56c]
call fcn.0048bcd0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x53c]
call fcn.0048bcd0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x554]
call fcn.0048bcd0
mov eax, dword [ebp - 0x800]
jmp 0x4d4f4f
cmp dword [ebp - 0x788], 0
jne 0x4d4ee2
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x784]
push ecx
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
lea ecx, [ebp - 0x7d4]
call fcn.004a8750
mov edx, dword [ebp - 0x770]
cmp edx, dword [ebp - 0x6a0]
jl 0x4d4e91
jg 0x4d4a21
mov eax, dword [ebp - 0x774]
cmp eax, dword [ebp - 0x6a4]
jb 0x4d4e91
movzx ecx, byte [ebp - 0x780]
test ecx, ecx
jne 0x4d4aa9
push 0
mov edx, dword [ebp - 0x6a0]
push edx
mov eax, dword [ebp - 0x6a4]
push eax
mov ecx, dword [ebp - 0x6a0]
push ecx
mov edx, dword [ebp - 0x6a4]
push edx
mov ecx, dword [0x6cf0a4]
call fcn.004b52b0
mov dword [ebp - 0x804], 1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x7d4]
call fcn.004b2d60
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x56c]
call fcn.0048bcd0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x53c]
call fcn.0048bcd0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x554]
call fcn.0048bcd0
mov eax, dword [ebp - 0x804]
jmp 0x4d4f4f
lea ecx, [ebp - 0x77c]
call fcn.004a83a0
mov dword [ebp - 0x864], eax
mov dword [ebp - 0x860], edx
mov edx, dword [ebp - 0x860]
mov ecx, dword [ebp - 0x864]
call fcn.005ca510
divsd xmm0, qword [0x6a7338]
movsd qword [ebp - 0x86c], xmm0
movsd xmm0, qword [ebp - 0x86c]
mulsd xmm0, qword [0x6a7308]
cvttsd2si eax, xmm0
cvtsi2sd xmm0, eax
divsd xmm0, qword [0x6a7308]
movsd qword [ebp - 0x86c], xmm0
mov byte [ebp - 0x114], 0
push 0x103
push 0
lea ecx, [ebp - 0x113]
push ecx
call fcn.005e2ec0
add esp, 4
movsd xmm0, qword [ebp - 0x86c]
movsd qword [esp], xmm0
push str._.1fMB_s
lea edx, [ebp - 0x114]
push edx
call fcn.0049bca0
add esp, 0x10
push 0
push 2
push 0x697d60
push 0xb0
push 0x697cc4
push 0x80
lea ecx, [ebp - 0x934]
call fcn.00485d60
mov dword [ebp - 0x808], eax
mov eax, dword [ebp - 0x808]
mov dword [ebp - 0x80c], eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x114]
push ecx
push str._Average_speed:
mov edx, dword [0x6c7c28]
push edx
push 1
mov eax, dword [ebp - 0x80c]
push eax
call fcn.00485e40
add esp, 0xc
mov ecx, eax
call fcn.0049bb80
mov ecx, eax
call fcn.0049bb80
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x934]
call fcn.00485de0
movzx ecx, byte [ebp - 0x7d5]
test ecx, ecx
je 0x4d4bd8
mov dword [ebp - 0x7ec], 0x697df0
jmp 0x4d4be2
mov dword [ebp - 0x7ec], str.Server
push 0
lea edx, [ebp - 0x114]
push edx
mov eax, dword [ebp - 0x7ec]
push eax
push str.DownloadSpeed
call fcn.004dc890
mov ecx, eax
call fcn.004dc930
push 1
push 3
lea ecx, [ebp - 0xa1c]
call fcn.0048cf20
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x72c]
push ecx
lea ecx, [ebp - 0xa0c]
call fcn.0048dc70
lea edx, [ebp - 0x5b4]
push edx
lea ecx, [ebp - 0xa1c]
call fcn.0048ce80
mov dword [ebp - 0x810], eax
mov eax, dword [ebp - 0x810]
mov dword [ebp - 0x818], eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x59c]
push ecx
lea ecx, [ebp - 0xa1c]
call fcn.0048ce80
mov dword [ebp - 0x814], eax
mov edx, dword [ebp - 0x814]
mov dword [ebp - 0x81c], edx
mov byte [ebp - 4], 0xa
push str.DownloaderInfo
mov ecx, dword [ebp - 0x818]
call fcn.0048b7e0
push eax
mov ecx, dword [ebp - 0x81c]
call fcn.0048b7e0
push eax
push 0
push 0
push str.TotalRequestTimes
push 0x2d05
call fcn.004dc890
mov ecx, eax
call fcn.004dc960
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x59c]
call fcn.0048bcd0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x5b4]
call fcn.0048bcd0
mov byte [ebp - 0x31c], 0
push 0x103
push 0
lea eax, [ebp - 0x31b]
push eax
call fcn.005e2ec0
add esp, 0xc
mov byte [ebp - 0x218], 0
push 0x103
push 0
lea ecx, [ebp - 0x217]
push ecx
call fcn.005e2ec0
add esp, 4
movsd xmm0, qword [ebp - 0x874]
movsd qword [esp], xmm0
push 0x697df4
lea edx, [ebp - 0x31c]
push edx
call fcn.0049bca0
add esp, 8
movsd xmm0, qword [ebp - 0x87c]
movsd qword [esp], xmm0
push str._.1f_MB_s
lea eax, [ebp - 0x218]
push eax
call fcn.0049bca0
add esp, 0x10
push 0x697e54
lea ecx, [ebp - 0x31c]
push ecx
push 0x6764e7
push 0
push 0
push str.DownloadRateMin
push 0
call fcn.004dc890
mov ecx, eax
call fcn.004dc960
push 0x697e40
lea edx, [ebp - 0x218]
push edx
push 0x6764ee
push 0
push 0
push str.DownloadRateMax
push 0
call fcn.004dc890
mov ecx, eax
call fcn.004dc960
push 0
push 2
push str.int___thiscall_CDownLoadImpl::SuperDownloadFile_const_wchar_t__const_wchar_t__const_wchar_t__
push 0xbd
push 0x697ecc
push 0x80
lea ecx, [ebp - 0x96c]
call fcn.00485d60
mov dword [ebp - 0x820], eax
mov eax, dword [ebp - 0x820]
mov dword [ebp - 0x824], eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x218]
push ecx
push 0x6980e8
lea edx, [ebp - 0x31c]
push edx
push str._Download_speed_range
mov eax, dword [0x6c7c28]
push eax
push 1
mov ecx, dword [ebp - 0x824]
push ecx
call fcn.00485e40
add esp, 0xc
mov ecx, eax
call fcn.0049bb80
mov ecx, eax
call fcn.0049bb80
mov ecx, eax
call fcn.0049bb80
mov ecx, eax
call fcn.0049bb80
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x96c]
call fcn.00485de0
mov dword [ebp - 0x828], 1
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xa1c]
call fcn.00480ab0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x7d4]
call fcn.004b2d60
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x56c]
call fcn.0048bcd0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x53c]
call fcn.0048bcd0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x554]
call fcn.0048bcd0
mov eax, dword [ebp - 0x828]
jmp 0x4d4f4f
mov dword [ebp - 0x888], 0xffffffff
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x7d4]
call fcn.004b2d60
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x56c]
call fcn.0048bcd0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x53c]
call fcn.0048bcd0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x554]
call fcn.0048bcd0
mov eax, dword [ebp - 0x888]
jmp 0x4d4f4f
push 0
mov edx, dword [ebp - 0x6a0]
push edx
mov eax, dword [ebp - 0x6a4]
push eax
mov ecx, dword [ebp - 0x770]
push ecx
mov edx, dword [ebp - 0x774]
push edx
mov ecx, dword [0x6cf0a4]
call fcn.004b52b0
jmp 0x4d4579
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x7d4]
call fcn.004b2d60
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x56c]
call fcn.0048bcd0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x53c]
call fcn.0048bcd0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x554]
call fcn.0048bcd0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005c950e
mov esp, ebp
pop ebp
ret 0xc