Function at 0x447060
Capabilities:
Check if file exists
Connect to http server
Create http request
Download and write a file
Read data from internet
Receive and write data from server to client
Receive data
Send data
Send http request
Timestomp file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48ac7b
mov eax, dword fs:[0]
push eax
sub esp, 0x880
mov eax, dword [0x4b06f0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x18]
mov esi, dword [ebp + 0x1c]
mov dword [ebp - 0x84c], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x850], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x848], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x860], eax
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push eax
mov dword [ebp - 0x854], edi
call fcn.0046fe20
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x420], ax
lea eax, [ebp - 0x41e]
push eax
call fcn.0046fe20
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x830], ax
lea eax, [ebp - 0x82e]
push eax
call fcn.0046fe20
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x628], ax
lea eax, [ebp - 0x626]
push eax
call fcn.0046fe20
mov ebx, dword [ebp + 0x28]
lea eax, [ebp - 0x830]
push edi
push 0x104
push eax
call fcn.00470452
add esp, 0x3c
lea eax, [ebp - 0x830]
push eax
call dword [sym.imp.SHLWAPI.dll_PathStripPathW]
push 0x5c
lea eax, [ebp - 0x628]
push eax
lea eax, [ebp - 0x420]
push eax
push esi
call fcn.0043db50
add esp, 0x10
lea eax, [ebp - 0x830]
cmp word [ebp - 0x628], 0
je 0x44717e
lea eax, [ebp - 0x628]
push eax
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov edi, dword [ebp + 0x14]
mov eax, dword [ebp + 0x24]
test edi, edi
jne 0x4471ac
test eax, eax
mov edi, 0x50
mov ecx, 0x1bb
cmovne edi, ecx
push ebx
push eax
push dword [ebp - 0x854]
push dword [ebp - 0x848]
push dword [ebp - 0x850]
push dword [ebp - 0x84c]
push str.DownloadHTMLFile____ServerName_s_Login_s_Pwd_s_SourceFile_s_Secure_d_Resume_d
call fcn.004699e0
lea eax, [ebp - 0x218]
push eax
push str.DownloadHTMLFile____TargetFile_s
call fcn.004699e0
mov esi, dword [sym.imp.WININET.dll_InternetSetOptionW]
lea eax, [ebp - 0x884]
add esp, 0x24
mov dword [ebp - 0x884], 0x3a98
mov dword [ebp - 0x888], 0x7530
push 4
push eax
push 5
push 0
call esi
push 4
lea eax, [ebp - 0x888]
push eax
push 6
push 0
call esi
cmp dword [0x4b6534], 0
mov dword [ebp - 0x844], 0
jne 0x44799b
push 0
push 0
push 0
push 0
push str.DownloadHTMLFile
call dword [sym.imp.WININET.dll_InternetOpenW]
mov esi, eax
mov dword [ebp - 0x864], esi
test esi, esi
je 0x44796c
cmp dword [0x4b6534], 0
jne 0x44796c
push 0
push dword [ebp - 0x860]
push 3
push dword [ebp - 0x848]
push dword [ebp - 0x850]
push edi
push dword [ebp - 0x84c]
push esi
call dword [sym.imp.WININET.dll_InternetConnectW]
mov dword [ebp - 0x860], eax
test eax, eax
je 0x447948
cmp dword [0x4b6534], 0
jne 0x447948
cmp dword [ebp + 0x24], 0
mov esi, 0x80400100
mov ecx, 0x80c03100
cmovne esi, ecx
test ebx, ebx
jne 0x4472bd
or esi, 0x4000000
lea ecx, [ebp - 0x870]
mov dword [ebp - 0x850], 0
push ecx
lea ecx, [ebp - 0x850]
mov dword [ebp - 0x878], 0
push ecx
push dword [ebp - 0x854]
mov dword [ebp - 0x874], 0
push esi
push eax
mov dword [ebp - 0x870], 0
mov dword [ebp - 0x86c], 0
call fcn.00447a50
mov edi, eax
add esp, 0x14
mov dword [ebp - 0x858], edi
test edi, edi
je 0x447356
push 0
push 0
push 0
push 0
mov edi, 0x2efc
push str.GetHttpInfo
push edi
call fcn.0043fba0
add esp, 0x18
mov ebx, dword [sym.imp.WININET.dll_InternetCloseHandle]
mov esi, dword [ebp - 0x864]
mov eax, dword [ebp - 0x860]
test eax, eax
je 0x44798b
push eax
call ebx
jmp 0x44798b
mov eax, dword [ebp - 0x870]
mov dword [ebp - 0x878], eax
mov eax, dword [ebp - 0x86c]
mov dword [ebp - 0x874], eax
test ebx, ebx
je 0x44745e
push 0
push 0x80
push 4
push 0
push 0
push 0x40000000
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x844], eax
cmp eax, 0xffffffff
je 0x447445
lea ecx, [ebp - 0x880]
push ecx
push 0
push 0
push eax
call dword [sym.imp.KERNEL32.dll_GetFileTime]
lea eax, [ebp - 0x840]
push eax
lea eax, [ebp - 0x880]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
movzx eax, word [ebp - 0x832]
push eax
movzx eax, word [ebp - 0x834]
push eax
movzx eax, word [ebp - 0x836]
push eax
movzx eax, word [ebp - 0x838]
push eax
movzx eax, word [ebp - 0x840]
push eax
movzx eax, word [ebp - 0x83e]
push eax
movzx eax, word [ebp - 0x83a]
push eax
push str.DownloadHTMLFile____stLastWriteTime_d__d__d____d:_d:_d__dms
call fcn.004699e0
add esp, 0x20
lea eax, [ebp - 0x870]
push eax
lea eax, [ebp - 0x880]
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
test eax, eax
je 0x447436
push str.DownloadHTMLFile____Files_are_not_on_the_same_date_
call fcn.004699e0
add esp, 4
jmp 0x44745c
push str.DownloadHTMLFile____Files_have_the_same_date_
call fcn.004699e0
add esp, 4
jmp 0x44745e
push 0
push 0
push 0
push 0
push str.CreateFile
push 0
call fcn.0043fba0
add esp, 0x18
xor ebx, ebx
push 0
push esi
push 0
push 0
push 0
push dword [ebp - 0x854]
push 0x4964bc
push dword [ebp - 0x860]
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov dword [ebp - 0x84c], eax
test eax, eax
je 0x447902
cmp dword [0x4b6534], 0
jne 0x447902
xor eax, eax
mov dword [ebp - 0x854], eax
test ebx, ebx
je 0x4474ba
lea eax, [ebp - 0x218]
push eax
call fcn.00467640
add esp, 4
mov dword [ebp - 0x854], eax
mov esi, dword [ebp - 0x850]
push eax
sub esi, eax
push str.DownloadHTMLFile____BytesDownloaded:__d
mov dword [ebp - 0x88c], esi
call fcn.004699e0
push esi
push str.DownloadHTMLFile____BytesToDownload:__d
call fcn.004699e0
mov eax, dword [0x4b0065]
add esp, 0x10
or eax, dword [0x4b0069]
jne 0x4474ff
push eax
push dword [ebp - 0x850]
mov ecx, 0x4b0010
call fcn.00428f60
test esi, esi
jne 0x447517
push 0x3e8
mov ecx, 0x4b0010
call fcn.00429240
jmp 0x44791b
mov esi, dword [ebp - 0x854]
cmp esi, dword [ebp - 0x850]
jbe 0x44758d
xor ebx, ebx
mov esi, dword [ebp - 0x84c]
push 0
push 0
push 0
push 0
push esi
call dword [sym.imp.WININET.dll_HttpSendRequestW]
push eax
push str.DownloadHTMLFile____HttpSendRequest____d
call fcn.004699e0
lea eax, [ebp - 0x858]
push eax
push esi
call fcn.00447ca0
mov edi, dword [ebp - 0x858]
add esp, 0x10
mov dword [ebp - 0x87c], edi
test edi, edi
jne 0x44791b
cmp eax, 0x12c
jb 0x4475f9
cmp eax, 0x194
mov edi, 5
mov ecx, 2
cmove edi, ecx
jmp 0x44791b
test ebx, ebx
je 0x447527
lea ecx, [ebp - 0x848]
call fcn.00443a60
push esi
lea eax, [ebp - 0x848]
mov dword [ebp - 4], 0
push str.Range:_bytes_d_
push eax
call fcn.00443fa0
mov eax, dword [ebp - 0x848]
add esp, 0xc
mov esi, dword [ebp - 0x84c]
push 0x10000000
push dword [eax - 0xc]
push eax
push esi
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
push eax
push str.DownloadHTMLFile____HttpAddRequestHeaders___d
call fcn.004699e0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x848]
call fcn.00443ac0
jmp 0x44752d
lea eax, [ebp - 0x420]
mov dword [ebp - 0x868], 0
push eax
mov esi, 1
mov dword [ebp - 0x85c], 0
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x447632
lea eax, [ebp - 0x420]
push eax
call fcn.0043b210
add esp, 4
test ebx, ebx
je 0x447665
mov eax, dword [ebp - 0x844]
push 2
push 0
push 0
push 0
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
jne 0x4476ef
push eax
push eax
push eax
push eax
push 0x496ea4
push eax
call fcn.0043fba0
add esp, 0x18
push str.DownloadHTMLFile____Mode_resume_disabled_
call fcn.004699e0
mov eax, dword [ebp - 0x844]
add esp, 4
mov ebx, dword [ebp - 0x850]
mov dword [ebp - 0x854], 0
test eax, eax
je 0x447693
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x844], eax
push 0
push 0
push 0
push 0
cmp eax, 0xffffffff
jne 0x4476e1
push str.CreateFile
push 0
call fcn.0043fba0
mov edi, eax
add esp, 0x18
mov eax, dword [ebp - 0x844]
jmp 0x447925
push dword [ebp - 0x84c]
call dword [sym.imp.WININET.dll_InternetSetFilePointer]
jmp 0x4476f5
mov ebx, dword [ebp - 0x88c]
push dword [ebp - 0x844]
push str.DownloadHTMLFile____CreateFile_d
call fcn.004699e0
mov ecx, dword [0x4b0081]
add esp, 8
add ecx, dword [ebp - 0x854]
mov eax, dword [0x4b0085]
adc eax, 0
mov dword [0x4b0081], ecx
push eax
push ecx
mov ecx, 0x4b0010
mov dword [0x4b0085], eax
call fcn.004293d0
mov eax, 0x100000
mov dword [ebp - 0x858], eax
test ebx, ebx
je 0x44774d
cmp ebx, eax
cmovb eax, ebx
mov dword [ebp - 0x858], eax
mov ebx, dword [ebp - 0x858]
xor ecx, ecx
mov eax, ebx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0046a792
mov ecx, eax
add esp, 4
mov eax, dword [ebp - 0x844]
mov dword [ebp - 0x848], ecx
mov dword [ecx], 0
cmp eax, 0xffffffff
je 0x4478e1
cmp dword [0x4b6534], 0
jne 0x4478c8
mov edi, eax
jmp 0x4477a6
mov ecx, dword [ebp - 0x848]
test esi, esi
je 0x4477ca
lea eax, [ebp - 0x85c]
push eax
push ebx
push ecx
push dword [ebp - 0x84c]
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x4477ca
mov esi, 1
jmp 0x4477cc
xor esi, esi
push esi
push dword [ebp - 0x85c]
push ebx
push str.DownloadHTMLFile____InternetReadFile_BUFLEN_d_BytesRead_d__d
call fcn.004699e0
mov eax, dword [ebp - 0x85c]
add esp, 0x10
test eax, eax
je 0x447873
test esi, esi
je 0x447873
cmp dword [0x4b6534], 0
jne 0x447873
push 0
lea ecx, [ebp - 0x868]
push ecx
push eax
push dword [ebp - 0x848]
push edi
call dword [sym.imp.KERNEL32.dll_WriteFile]
neg eax
sbb esi, esi
neg esi
push esi
push dword [ebp - 0x868]
push str.DownloadHTMLFile____WriteFile_BytesWritten_d__d
call fcn.004699e0
mov eax, dword [ebp - 0x868]
add esp, 0xc
cmp eax, dword [ebp - 0x85c]
jne 0x44784a
test esi, esi
je 0x44784a
mov esi, 1
jmp 0x44784c
xor esi, esi
mov ecx, dword [0x4b0081]
add ecx, eax
mov eax, dword [0x4b0085]
mov dword [0x4b0081], ecx
adc eax, 0
push eax
push ecx
mov ecx, 0x4b0010
mov dword [0x4b0085], eax
call fcn.004293d0
cmp dword [ebp - 0x85c], 0
je 0x44788d
test esi, esi
je 0x44788d
cmp dword [0x4b6534], 0
je 0x4477a0
push dword [ebp - 0x848]
call fcn.00471314
mov edi, dword [ebp - 0x87c]
add esp, 4
test esi, esi
jne 0x4478ac
mov edi, 0x17
jmp 0x44791b
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4478c2
lea edi, [eax + 2]
jmp 0x44791b
mov eax, dword [ebp - 0x844]
lea ecx, [ebp - 0x870]
push ecx
push 0
lea ecx, [ebp - 0x878]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_SetFileTime]
jmp 0x44791b
push 0
push 0
push 0
push 0
push str.CreateFile
push 0
call fcn.0043fba0
mov edi, eax
add esp, 0x18
mov eax, dword [ebp - 0x844]
jmp 0x447925
push 0
push 0
push 0
push 0
push str.HttpOpenRequest
push 0
call fcn.0043fba0
add esp, 0x18
mov edi, eax
mov eax, dword [ebp - 0x844]
test eax, eax
je 0x44792c
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x84c]
test eax, eax
je 0x447334
mov ebx, dword [sym.imp.WININET.dll_InternetCloseHandle]
push eax
call ebx
jmp 0x44733a
push 0
push 0
push 0
push 0
push str.InternetConnect
push 0
call fcn.0043fba0
mov ebx, dword [sym.imp.WININET.dll_InternetCloseHandle]
add esp, 0x18
mov edi, eax
jmp 0x447340
push 0
push 0
push 0
push 0
push str.InternetOpen
push 0
call fcn.0043fba0
mov ebx, dword [sym.imp.WININET.dll_InternetCloseHandle]
add esp, 0x18
mov edi, eax
test esi, esi
je 0x447992
push esi
call ebx
cmp dword [0x4b6534], 0
je 0x4479a0
mov edi, 0x4c7
push edi
push str.DownloadHTMLFile____End__d_
call fcn.004699e0
add esp, 8
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0046f33a
mov esp, ebp
pop ebp
ret