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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x612514
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.004d62e0
add esp, 8
lea edx, [ebp - 0x524]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.004d62e0
add esp, 8
mov byte [ebp - 0x7d5], 0
lea ecx, [ebp - 0x554]
call fcn.0048c940
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x524]
push ecx
lea ecx, [ebp - 0x554]
call fcn.004a9090
lea ecx, [ebp - 0x53c]
call fcn.0048c940
mov byte [ebp - 4], 1
lea edx, [ebp - 0x554]
push edx
lea ecx, [ebp - 0x53c]
call fcn.0048c770
push 0x697a10
lea ecx, [ebp - 0x53c]
call fcn.0048c710
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x56c]
call fcn.0047c100
mov byte [ebp - 4], 2
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x8bc], esp
lea edx, [ebp - 0x56c]
push edx
call fcn.0048c990
mov dword [ebp - 0x8b8], eax
call fcn.004d61a0
add esp, 0x18
mov byte [ebp - 0x7d7], al
movzx eax, byte [ebp - 0x7d7]
test eax, eax
je 0x4d4536
mov byte [ebp - 0x7d5], 1
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.KERNEL32.DLL_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4d4667
mov dword [ebp - 0x880], 0
push 0x6764de
push 0x6764df
lea edx, [ebp - 0x420]
push edx
lea ecx, [ebp - 0x644]
call fcn.004a9710
mov byte [ebp - 4], 3
lea eax, [ebp - 0x880]
push eax
lea ecx, [ebp - 0x644]
call fcn.004aac00
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.0048c140
mov dword [ebp - 0x8a4], eax
call fcn.004da7e0
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 0x4d45f3
mov eax, dword [ebp - 0x838]
cmp eax, dword [ebp - 0x840]
je 0x4d4658
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.0048c140
mov byte [ebp - 4], 4
push str..xml
lea ecx, [ebp - 0x584]
call fcn.004c5060
lea ecx, [ebp - 0x584]
call fcn.0047db80
push eax
call dword [sym.imp.KERNEL32.DLL_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4d4649
lea ecx, [ebp - 0x584]
call fcn.0047db80
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteFileW]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x584]
call fcn.0047dc50
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x644]
call fcn.004a85f0
push 0xa
lea ecx, [ebp - 0x53c]
call fcn.0047bff0
push eax
lea eax, [ebp - 0x524]
push eax
lea ecx, [ebp - 0x420]
push ecx
lea ecx, [ebp - 0x7d4]
call fcn.004a8660
mov byte [ebp - 4], 5
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x8c4], esp
push str.Download
call fcn.0047c100
mov dword [ebp - 0x8a8], eax
movzx edx, byte [ebp - 0x7d5]
push edx
lea ecx, [ebp - 0x7d4]
call fcn.004a8780
mov dword [ebp - 0x884], eax
cmp dword [ebp - 0x884], 1
je 0x4d473d
lea ecx, [ebp - 0x7d4]
call fcn.004a8900
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.004b2f40
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x56c]
call fcn.0047c030
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x53c]
call fcn.0047c030
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x554]
call fcn.0047c030
mov eax, dword [ebp - 0x88c]
jmp 0x4d515f
lea ecx, [ebp - 0x7d4]
call fcn.004a88e0
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 [0x6a7138]
movsd qword [ebp - 0x874], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x87c], xmm0
mov edx, 1
test edx, edx
je 0x4d5120
mov dword [ebp - 0x890], 0xffffffff
lea eax, [ebp - 0x890]
push eax
call dword [sym.imp.SensApi.dll_IsNetworkAlive]
test eax, eax
jne 0x4d481f
lea ecx, [ebp - 0x7d4]
call fcn.004a8900
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.004b2f40
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x56c]
call fcn.0047c030
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x53c]
call fcn.0047c030
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x554]
call fcn.0047c030
mov eax, dword [ebp - 0x82c]
jmp 0x4d515f
mov edx, dword [ebp - 0x770]
cmp edx, dword [ebp - 0x7e4]
jl 0x4d4970
jg 0x4d4845
mov eax, dword [ebp - 0x774]
cmp eax, dword [ebp - 0x7e8]
jbe 0x4d4970
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 0x4d493f
jg 0x4d48a5
cmp dword [ebp - 0x7f4], 0
jbe 0x4d493f
mov edx, dword [ebp - 0x848]
mov ecx, dword [ebp - 0x84c]
call fcn.005ca790
divsd xmm0, qword [0x6a7128]
divsd xmm0, qword [0x6a7128]
mov edx, dword [ebp - 0x7f0]
mov ecx, dword [ebp - 0x7f4]
movsd qword [ebp - 0x8b0], xmm0
call fcn.005ca790
divsd xmm0, qword [0x6a7120]
movsd xmm1, qword [ebp - 0x8b0]
divsd xmm1, xmm0
movsd qword [ebp - 0x7fc], xmm1
movsd xmm0, qword [ebp - 0x7fc]
comisd xmm0, xmmword [ebp - 0x87c]
jbe 0x4d491d
movsd xmm0, qword [ebp - 0x7fc]
movsd qword [ebp - 0x87c], xmm0
movsd xmm0, qword [ebp - 0x874]
comisd xmm0, xmmword [ebp - 0x7fc]
jbe 0x4d493f
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 0x4d4aa8
mov eax, dword [ebp - 0x774]
cmp eax, dword [ebp - 0x7e8]
jne 0x4d4aa8
mov ecx, dword [ebp - 0x770]
cmp ecx, dword [ebp - 0x7e4]
jne 0x4d4aa8
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 0x4d4a03
jg 0x4d49cb
cmp dword [ebp - 0x854], 0xbb8
jb 0x4d4a03
movzx ecx, byte [ebp - 0x7d6]
test ecx, ecx
jne 0x4d4a03
mov byte [ebp - 0x7d6], 1
push 0x697a50
push 0x6764e6
push 0x6764e7
push 0
push 0
push str.NoDownloadSpeed
push 0
call fcn.004dcb80
mov ecx, eax
call fcn.004dcc50
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 0x4d4aa8
jg 0x4d4a3a
cmp dword [ebp - 0x85c], 0x7530
jb 0x4d4aa8
lea ecx, [ebp - 0x7d4]
call fcn.004a8900
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.004b2f40
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x56c]
call fcn.0047c030
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x53c]
call fcn.0047c030
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x554]
call fcn.0047c030
mov eax, dword [ebp - 0x894]
jmp 0x4d515f
lea ecx, [ebp - 0x720]
call fcn.004901a0
imul edx, eax, 3
cmp dword [ebp - 0x72c], edx
jbe 0x4d4be4
movzx eax, byte [ebp - 0x7d5]
test eax, eax
je 0x4d4be4
lea ecx, [ebp - 0x720]
call fcn.004901a0
mov dword [ebp - 0x89c], eax
push 0
push 2
push 0x697a80
push 0x91
push 0x697af8
push 0x80
lea ecx, [ebp - 0x8fc]
call fcn.00486a40
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.00486b20
add esp, 0xc
mov ecx, eax
call fcn.0049bd50
mov ecx, eax
call fcn.0049bf10
mov ecx, eax
call fcn.0049bd50
mov ecx, eax
call fcn.0049bde0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x8fc]
call fcn.00486ac0
lea ecx, [ebp - 0x7d4]
call fcn.004a8900
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.004b2f40
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x56c]
call fcn.0047c030
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x53c]
call fcn.0047c030
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x554]
call fcn.0047c030
mov eax, dword [ebp - 0x800]
jmp 0x4d515f
cmp dword [ebp - 0x788], 0
jne 0x4d50f2
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x784]
push ecx
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
lea ecx, [ebp - 0x7d4]
call fcn.004a8920
mov edx, dword [ebp - 0x770]
cmp edx, dword [ebp - 0x6a0]
jl 0x4d50a1
jg 0x4d4c31
mov eax, dword [ebp - 0x774]
cmp eax, dword [ebp - 0x6a4]
jb 0x4d50a1
movzx ecx, byte [ebp - 0x780]
test ecx, ecx
jne 0x4d4cb9
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.004b5490
mov dword [ebp - 0x804], 1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x7d4]
call fcn.004b2f40
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x56c]
call fcn.0047c030
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x53c]
call fcn.0047c030
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x554]
call fcn.0047c030
mov eax, dword [ebp - 0x804]
jmp 0x4d515f
lea ecx, [ebp - 0x77c]
call fcn.004a8570
mov dword [ebp - 0x864], eax
mov dword [ebp - 0x860], edx
mov edx, dword [ebp - 0x860]
mov ecx, dword [ebp - 0x864]
call fcn.005ca790
divsd xmm0, qword [0x6a7148]
movsd qword [ebp - 0x86c], xmm0
movsd xmm0, qword [ebp - 0x86c]
mulsd xmm0, qword [0x6a7118]
cvttsd2si eax, xmm0
cvtsi2sd xmm0, eax
divsd xmm0, qword [0x6a7118]
movsd qword [ebp - 0x86c], xmm0
mov byte [ebp - 0x114], 0
push 0x103
push 0
lea ecx, [ebp - 0x113]
push ecx
call fcn.005e3180
add esp, 4
movsd xmm0, qword [ebp - 0x86c]
movsd qword [esp], xmm0
push str._.1fMB_s
lea edx, [ebp - 0x114]
push edx
call fcn.0049be70
add esp, 0x10
push 0
push 2
push 0x697b68
push 0xb0
push 0x697b44
push 0x80
lea ecx, [ebp - 0x934]
call fcn.00486a40
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.00486b20
add esp, 0xc
mov ecx, eax
call fcn.0049bd50
mov ecx, eax
call fcn.0049bd50
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x934]
call fcn.00486ac0
movzx ecx, byte [ebp - 0x7d5]
test ecx, ecx
je 0x4d4de8
mov dword [ebp - 0x7ec], 0x697b40
jmp 0x4d4df2
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.004dcb80
mov ecx, eax
call fcn.004dcc20
push 1
push 3
lea ecx, [ebp - 0xa1c]
call fcn.0048d880
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x72c]
push ecx
lea ecx, [ebp - 0xa0c]
call fcn.0048e5d0
lea edx, [ebp - 0x5b4]
push edx
lea ecx, [ebp - 0xa1c]
call fcn.0048d7e0
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.0048d7e0
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.0047bff0
push eax
mov ecx, dword [ebp - 0x81c]
call fcn.0047bff0
push eax
push 0
push 0
push str.TotalRequestTimes
push 0x2d05
call fcn.004dcb80
mov ecx, eax
call fcn.004dcc50
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x59c]
call fcn.0047c030
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x5b4]
call fcn.0047c030
mov byte [ebp - 0x31c], 0
push 0x103
push 0
lea eax, [ebp - 0x31b]
push eax
call fcn.005e3180
add esp, 0xc
mov byte [ebp - 0x218], 0
push 0x103
push 0
lea ecx, [ebp - 0x217]
push ecx
call fcn.005e3180
add esp, 4
movsd xmm0, qword [ebp - 0x874]
movsd qword [esp], xmm0
push 0x697c1c
lea edx, [ebp - 0x31c]
push edx
call fcn.0049be70
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.0049be70
add esp, 0x10
push 0x697c08
lea ecx, [ebp - 0x31c]
push ecx
push 0x6764ee
push 0
push 0
push str.DownloadRateMin
push 0
call fcn.004dcb80
mov ecx, eax
call fcn.004dcc50
push 0x697c54
lea edx, [ebp - 0x218]
push edx
push 0x6764ef
push 0
push 0
push str.DownloadRateMax
push 0
call fcn.004dcb80
mov ecx, eax
call fcn.004dcc50
push 0
push 2
push str.int___thiscall_CDownLoadImpl::SuperDownloadFile_const_wchar_t__const_wchar_t__const_wchar_t__
push 0xbd
push 0x697c84
push 0x80
lea ecx, [ebp - 0x96c]
call fcn.00486a40
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 0x697c80
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.00486b20
add esp, 0xc
mov ecx, eax
call fcn.0049bd50
mov ecx, eax
call fcn.0049bd50
mov ecx, eax
call fcn.0049bd50
mov ecx, eax
call fcn.0049bd50
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x96c]
call fcn.00486ac0
mov dword [ebp - 0x828], 1
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xa1c]
call fcn.00481790
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x7d4]
call fcn.004b2f40
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x56c]
call fcn.0047c030
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x53c]
call fcn.0047c030
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x554]
call fcn.0047c030
mov eax, dword [ebp - 0x828]
jmp 0x4d515f
mov dword [ebp - 0x888], 0xffffffff
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x7d4]
call fcn.004b2f40
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x56c]
call fcn.0047c030
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x53c]
call fcn.0047c030
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x554]
call fcn.0047c030
mov eax, dword [ebp - 0x888]
jmp 0x4d515f
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.004b5490
jmp 0x4d4789
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x7d4]
call fcn.004b2f40
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x56c]
call fcn.0047c030
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x53c]
call fcn.0047c030
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x554]
call fcn.0047c030
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005c978e
mov esp, ebp
pop ebp
ret 0xc