Function at 0x401550
Capabilities:
Create http request
Read data from internet
Receive data

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
xor ebx, ebx
push ecx
lea esi, [ebp - 0x30]
sub esp, 0x88
mov dword [ebp - 0x64], 0
mov eax, dword [ecx + 4]
mov dword [ebp - 0x60], 0
mov edi, dword [ecx]
mov dword [esp + 0x10], ebx
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x70], eax
mov eax, 6
mov dword [esp + 0xc], eax
mov eax, str.Zippy
mov dword [esp + 8], eax
mov eax, 0xffffffff
mov dword [esp + 4], eax
lea eax, [ebp - 0x24]
mov dword [esp], eax
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
call fcn.00403550
sub esp, 0x14
mov dword [esp], 0x400
call sub.msvcrt.dll_malloc
mov ecx, 0x1a
mov edx, 0xffffffff
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp], 8
mov ebx, eax
xor eax, eax
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0xc], eax
call fcn.00401dd0
mov eax, 0x12
sub esp, 0x14
mov dword [esp + 4], eax
mov dword [esp], str.Connexion_Internet
call fcn.004040d0
xor edx, edx
sub esp, 8
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.00402c30
xor eax, eax
xor ecx, ecx
sub esp, 0xc
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp + 0x10], ecx
mov dword [esp], eax
call sub.WININET.DLL_InternetOpenA
mov dword [ebp - 0x74], eax
sub esp, 0x14
test eax, eax
je 0x401d32
xor eax, eax
mov ecx, 1
mov dword [esp + 0x10], eax
mov edx, 0xffffffff
xor eax, eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp], 8
call fcn.00401dd0
sub esp, 0x14
mov dword [esp], 0x4f
call fcn.00404070
xor edx, edx
sub esp, 4
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.00402c30
xor eax, eax
xor ecx, ecx
sub esp, 0xc
mov dword [esp + 0xc], eax
mov eax, 0xffffffff
mov dword [esp + 8], eax
mov eax, 0x23
mov dword [esp + 0x10], ecx
mov dword [esp + 4], eax
mov dword [esp], 8
call fcn.00401dd0
xor eax, eax
xor edx, edx
xor ecx, ecx
sub esp, 0x14
mov dword [esp + 0x14], eax
mov eax, 0x80000000
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov eax, dword [edi]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
call sub.WININET.DLL_InternetOpenUrlA
mov dword [ebp - 0x6c], eax
sub esp, 0x18
test eax, eax
je 0x401d60
mov dword [esp], 0x20
call fcn.00404070
xor edx, edx
mov ecx, 0xffffffff
sub esp, 4
mov dword [esp + 8], eax
mov eax, 0xffffffff
mov dword [esp + 4], eax
lea eax, [ebp - 0x3c]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
mov dword [esp], eax
call fcn.00403510
xor eax, eax
mov dword [ebp - 0x60], 0x20
sub esp, 0x14
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x60]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x3c]
mov dword [esp + 8], eax
mov eax, 5
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x6c]
mov dword [esp], eax
call sub.WININET.DLL_HttpQueryInfoA
lea eax, [ebp - 0x3c]
sub esp, 0x14
mov dword [esp], eax
call fcn.00404160
sub esp, 4
mov dword [esp], eax
call fcn.00403840
fstp qword [ebp - 0x48]
sub esp, 4
fld qword [ebp - 0x48]
fistp dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x60], eax
test eax, eax
jle 0x4019eb
mov dword [esp], edi
mov eax, 0xffffffff
mov dword [esp + 4], eax
call fcn.00404010
movsd xmm4, qword [0x40f1a0]
pxor xmm0, xmm0
xor edx, edx
xor ecx, ecx
cvtsi2sd xmm0, eax
mulsd xmm0, qword [0x40f198]
subsd xmm4, xmm0
movsd qword [ebp - 0x48], xmm4
sub esp, 8
fld qword [ebp - 0x48]
fistp dword [ebp - 0x58]
mov dword [esp + 0x10], edx
mov eax, dword [ebp - 0x58]
mov edx, 0xffffffff
mov dword [esp + 8], edx
mov edx, 1
mov dword [esp + 0xc], ecx
mov dword [esp], 8
test eax, eax
cmovle eax, edx
mov dword [esp + 4], eax
call fcn.00401dd0
mov ecx, 0x50
sub esp, 0x14
mov dword [esp + 4], ecx
mov dword [esp], edi
xor edi, edi
call fcn.00403f00
sub esp, 8
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.00402c30
mov edi, dword [ebp - 0x70]
mov eax, 0xffffffff
sub esp, 0xc
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.00404010
movsd xmm5, qword [0x40f1a0]
pxor xmm0, xmm0
xor edx, edx
xor ecx, ecx
cvtsi2sd xmm0, eax
mulsd xmm0, qword [0x40f198]
subsd xmm5, xmm0
movsd qword [ebp - 0x48], xmm5
sub esp, 8
fld qword [ebp - 0x48]
fistp dword [ebp - 0x54]
mov dword [esp + 0x10], edx
mov eax, dword [ebp - 0x54]
mov edx, 0xffffffff
mov dword [esp + 8], edx
mov edx, 1
mov dword [esp + 0xc], ecx
mov dword [esp], 0xe
test eax, eax
cmovg edx, eax
mov dword [esp + 4], edx
call fcn.00401dd0
xor ecx, ecx
sub esp, 0x14
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
xor edi, edi
mov dword [esp], 0
call fcn.00402c30
xor eax, eax
sub esp, 0xc
mov dword [esp + 8], edi
xor edi, edi
mov dword [esp + 4], eax
mov dword [esp], 0xff0000ff
call fcn.00402590
xor eax, eax
sub esp, 0xc
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0xc], eax
mov eax, 0xffffffff
mov dword [esp + 8], eax
mov eax, 4
mov dword [esp + 4], eax
mov dword [esp], 0xa
call fcn.00401dd0
mov edx, 1
sub esp, 0x14
mov dword [esp + 4], edx
mov dword [esp], 0x40f019
call fcn.004040d0
xor ecx, ecx
sub esp, 8
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.00402c30
xor eax, eax
sub esp, 0xc
mov dword [esp + 0xc], eax
mov eax, 0xffffffff
mov dword [esp + 8], eax
mov eax, 0x4c
mov dword [esp + 0x10], edi
xor edi, edi
mov dword [esp + 4], eax
mov dword [esp], 0xa
call fcn.00401dd0
mov eax, 1
sub esp, 0x14
mov dword [esp + 4], eax
mov dword [esp], 0x40f01b
call fcn.004040d0
xor edx, edx
sub esp, 8
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.00402c30
xor ecx, ecx
sub esp, 0xc
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov dword [esp], 0xff00ff00
call fcn.00402590
sub esp, 0xc
mov eax, 1
xor edi, edi
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0xc], eax
mov eax, 2
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x70]
mov dword [esp + 0x14], edi
xor edi, edi
mov dword [esp], eax
call fcn.00401f80
mov eax, 0x63
mov dword [ebp - 0x64], 0x63
sub esp, 0x18
jmp 0x401c58
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], 1
call fcn.00402310
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x60]
add edi, edx
mov edx, edi
sub esp, 0x10
test eax, eax
jle 0x401d00
pxor xmm0, xmm0
pxor xmm1, xmm1
cvtsi2sd xmm0, edi
cvtsi2sd xmm1, eax
movsd xmm2, qword [0x40f1b0]
divsd xmm0, xmm1
movsd xmm1, qword [0x40f1c8]
mulsd xmm0, qword [0x40f1a8]
andpd xmm1, xmm0
comisd xmm2, xmm1
jbe 0x401ace
addsd xmm1, xmm2
subsd xmm1, xmm2
movsd xmm2, qword [0x40f1c8]
andnpd xmm2, xmm0
orpd xmm1, xmm2
movsd xmm2, qword [0x40f1b8]
movapd xmm3, xmm1
cmpnlesd xmm3, xmm0
movapd xmm0, xmm3
andpd xmm0, xmm2
subsd xmm1, xmm0
movapd xmm0, xmm1
addsd xmm0, qword [0x40f1c0]
movsd qword [ebp - 0x48], xmm0
mov dword [ebp - 0x70], edx
fld qword [ebp - 0x48]
fistp dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x10], edx
mov edx, 0xffffffff
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 4], eax
mov dword [esp], 0xa
call fcn.00401dd0
mov ecx, 1
sub esp, 0x14
mov dword [esp + 4], ecx
mov dword [esp], 0x40f01d
call fcn.004040d0
xor edx, edx
sub esp, 8
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.00402c30
mov edx, dword [ebp - 0x70]
sub esp, 0xc
mov dword [esp], edx
call fcn.004039d0
xor ecx, ecx
mov edx, 0xffffffff
sub esp, 4
mov dword [esp + 0x10], ecx
mov ecx, 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp], esi
call fcn.00403510
xor eax, eax
sub esp, 0x14
mov dword [esp + 0x10], eax
mov eax, 0xb
mov dword [esp + 0xc], eax
mov eax, str._bytes_of
mov dword [esp + 8], eax
mov eax, 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00403590
mov eax, dword [ebp - 0x60]
sub esp, 0x14
mov dword [esp], eax
call fcn.004039d0
xor edx, edx
mov ecx, 0xffffffff
sub esp, 4
mov dword [esp + 8], eax
mov eax, 0xffffffff
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00403590
mov eax, 0xffffffff
sub esp, 0x14
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00404010
movsd xmm1, qword [0x40f1a0]
pxor xmm0, xmm0
xor edx, edx
xor ecx, ecx
cvtsi2sd xmm0, eax
mulsd xmm0, qword [0x40f198]
subsd xmm1, xmm0
movsd qword [ebp - 0x48], xmm1
sub esp, 8
fld qword [ebp - 0x48]
fistp dword [ebp - 0x50]
mov dword [esp + 0x10], edx
mov eax, dword [ebp - 0x50]
mov edx, 0xffffffff
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp], 0xc
mov dword [esp + 4], eax
call fcn.00401dd0
xor ecx, ecx
sub esp, 0x14
mov dword [esp + 8], ecx
mov dword [esp + 4], esi
mov dword [esp], 0
call fcn.00402c30
sub esp, 0xc
mov eax, dword [ebp - 0x64]
test eax, eax
jle 0x401c89
mov dword [esp + 4], ebx
lea eax, [ebp - 0x64]
mov ecx, 0x400
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x6c]
mov dword [esp + 8], ecx
mov dword [esp], eax
call sub.WININET.DLL_InternetReadFile
mov eax, dword [ebp - 0x64]
sub esp, 0x10
test eax, eax
jg 0x401a30
mov dword [esp], 1
call fcn.00401ec0
mov eax, dword [ebp - 0x6c]
sub esp, 4
mov dword [esp], eax
call sub.WININET.DLL_InternetCloseHandle
mov eax, dword [ebp - 0x74]
sub esp, 4
mov dword [esp], eax
call sub.WININET.DLL_InternetCloseHandle
sub esp, 4
mov dword [esp], ebx
call sub.msvcrt.dll_free
lea eax, [ebp - 0x24]
mov ebx, dword [ebp - 0x60]
mov dword [esp], eax
call fcn.00403e30
sub esp, 4
mov dword [esp], esi
call fcn.00403e30
lea eax, [ebp - 0x3c]
sub esp, 4
mov dword [esp], eax
call fcn.00403e30
sub esp, 4
lea esp, [ebp - 0x10]
mov eax, ebx
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret 8
mov dword [esp], 1
xor eax, eax
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0xc], eax
mov eax, 0xffffffff
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
call fcn.00401dd0
sub esp, 0x14
jmp 0x401c55
lea eax, [ebp - 0x24]
mov ebx, 0xffffffff
mov dword [esp], eax
call fcn.00403e30
sub esp, 4
mov dword [esp], esi
call fcn.00403e30
lea eax, [ebp - 0x3c]
sub esp, 4
mov dword [esp], eax
call fcn.00403e30
sub esp, 4
jmp 0x401ce6
lea eax, [ebp - 0x24]
mov ebx, 0xfffffffe
mov dword [esp], eax
call fcn.00403e30
sub esp, 4
mov dword [esp], esi
call fcn.00403e30
lea eax, [ebp - 0x3c]
sub esp, 4
mov dword [esp], eax
call fcn.00403e30
sub esp, 4
jmp 0x401ce6