Function at 0x425cc0
Capabilities:
Create http request
Download and write a file
Read data from internet
Receive and write data from server to client
Receive data
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x484b40
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0x68c
mov eax, dword [0x4a2120]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0x410
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x644], 0
mov dword [ebp - 0x648], 0
mov dword [ebp - 0x64c], 0
cmp dword [ebp + 0xc], 0
je 0x425d44
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x698], eax
jmp 0x425d4e
mov dword [ebp - 0x698], 0x496fb0
cmp dword [ebp + 8], 0
je 0x425d5f
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x69c], ecx
jmp 0x425d69
mov dword [ebp - 0x69c], 0x496fb0
mov edx, dword [ebp - 0x698]
push edx
mov eax, dword [ebp - 0x69c]
push eax
push str.SaveHTTPFile__s___s__In
push 0x80
push 0x4a4ae8
call fcn.00401600
add esp, 0x14
push 0x104
push 0
lea eax, [ebp - 0x438]
push eax
call fcn.004308d0
add esp, 0xc
push 0x208
push 0
lea eax, [ebp - 0x640]
push eax
call fcn.004308d0
add esp, 0xc
mov dword [ebp - 4], 0
cmp dword [ebp + 0xc], 0
je 0x425dee
mov eax, dword [ebp + 0xc]
push eax
call fcn.00430fc7
add esp, 4
test eax, eax
je 0x425dee
push 0x489d74
mov eax, dword [ebp + 0xc]
push eax
call fcn.004315d8
add esp, 8
mov dword [ebp - 0x648], eax
cmp dword [ebp - 0x648], 0
je 0x425e10
mov eax, dword [ebp - 0x648]
push eax
call fcn.00431496
add esp, 4
mov dword [ebp - 0x648], 0
cmp dword [ebp + 0xc], 0
je 0x425e3d
mov eax, dword [ebp + 0xc]
push eax
call fcn.00430fc7
add esp, 4
test eax, eax
je 0x425e3d
push 0x489d6c
mov eax, dword [ebp + 0xc]
push eax
call fcn.004315d8
add esp, 8
mov dword [ebp - 0x648], eax
cmp dword [ebp + 8], 0
je 0x42607b
mov eax, dword [ebp + 8]
movzx ecx, word [eax]
test ecx, ecx
je 0x42607b
cmp dword [ebp - 0x648], 0
je 0x42607b
push 0
push 0
push 0
push 0
push str.SaveHTTPFile
call dword [sym.imp.WININET.dll_InternetOpenW]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x425e87
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x1c], 0
je 0x425ed6
cmp dword [ebp - 0x28], 0
jne 0x425ed6
push 0
push 0x8400f300
push 0
push 0
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
call dword [sym.imp.WININET.dll_InternetOpenUrlW]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x425ed6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
push eax
push str.SaveHTTPFile___:_InternetOpenUrl___err___d
push 0x10
push 0x4a4ae8
call fcn.00401600
add esp, 0x10
cmp dword [ebp - 0x20], 0
je 0x42607b
cmp dword [ebp - 0x28], 0
jne 0x42607b
mov dword [ebp - 0x18], 1
cmp dword [ebp - 0x24], 0
je 0x42607b
cmp dword [ebp - 0x18], 0
je 0x42607b
mov dword [ebp - 0x24], 0x410
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x24]
push ecx
lea edx, [ebp - 0x438]
push edx
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.WININET.dll_InternetReadFile]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x42604b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x2ee3
jne 0x426031
mov dword [ebp - 0x24], 0x104
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x640]
push ecx
lea edx, [ebp - 0x28]
push edx
call dword [sym.imp.WININET.dll_InternetGetLastResponseInfoW]
test eax, eax
jne 0x426010
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x42600e
mov eax, dword [ebp - 0x24]
add eax, 1
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0042edaf
add esp, 4
mov dword [ebp - 0x698], eax
mov eax, dword [ebp - 0x698]
mov dword [ebp - 0x694], eax
mov ecx, dword [ebp - 0x694]
mov dword [ebp - 0x644], ecx
cmp dword [ebp - 0x644], 0
je 0x42600e
mov eax, dword [ebp - 0x24]
lea ecx, [eax + eax + 2]
push ecx
push 0
mov edx, dword [ebp - 0x644]
push edx
call fcn.004308d0
add esp, 0xc
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x644]
push ecx
lea edx, [ebp - 0x28]
push edx
call dword [sym.imp.WININET.dll_InternetGetLastResponseInfoW]
mov eax, dword [ebp - 0x644]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
push str.SaveHTTPFile___extended_err___d___s
push 0x10
push 0x4a4ae8
call fcn.00401600
add esp, 0x14
jmp 0x42602f
lea eax, [ebp - 0x640]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
push str.SaveHTTPFile___extended_err___d___s
push 0x10
push 0x4a4ae8
call fcn.00401600
add esp, 0x14
jmp 0x426049
mov eax, dword [ebp - 0x28]
push eax
push str.SaveHTTPFile___err___d
push 0x10
push 0x4a4ae8
call fcn.00401600
add esp, 0x10
jmp 0x426076
mov eax, dword [ebp - 0x648]
push eax
mov ecx, dword [ebp - 0x24]
push ecx
push 1
lea edx, [ebp - 0x438]
push edx
call fcn.0043139d
add esp, 0x10
mov eax, dword [ebp - 0x64c]
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x64c], eax
jmp 0x425ef1
jmp 0x4260a5
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x648], 0
je 0x4260c4
mov eax, dword [ebp - 0x648]
push eax
call fcn.00431496
add esp, 4
cmp dword [ebp - 0x644], 0
je 0x4260e8
mov eax, dword [ebp - 0x644]
mov dword [ebp - 0x690], eax
mov ecx, dword [ebp - 0x690]
push ecx
call fcn.00431230
add esp, 4
cmp dword [ebp - 0x20], 0
je 0x4260f8
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [ebp - 0x1c], 0
je 0x426108
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [ebp - 0x28], 0
jne 0x42613b
push 0
mov eax, dword [ebp + 0xc]
push eax
call fcn.00431218
add esp, 8
test eax, eax
je 0x42613b
mov dword [ebp - 0x28], 2
push str.SaveHTTPFile___:_IIS_ret_is_OK_while_file_could_not_be_written.
push 0x10
push 0x4a4ae8
call fcn.00401600
add esp, 0xc
cmp dword [ebp - 0x28], 0
jne 0x426165
cmp dword [ebp - 0x64c], 0
jne 0x426165
mov dword [ebp - 0x28], 0xd
push str.SaveHTTPFile___:_IIS_ret_is_OK_while_file_could_not_be_red_or_is_empty.
push 0x10
push 0x4a4ae8
call fcn.00401600
add esp, 0xc
mov eax, dword [ebp - 0x28]
push eax
push str.SaveHTTPFile___Out__ret__0__OK____d
push 0x80
push 0x4a4ae8
call fcn.00401600
add esp, 0x10
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0043094a
mov esp, ebp
pop ebp
ret