Function at 0x4031b5
Capabilities:
Get http content length
Read data from internet
Receive data

Disassembly:
push ebp
mov eax, 0x10138
lea ebp, [esp - 0x19c]
call fcn.00408290
mov eax, dword [0x422980]
push ebx
push esi
push edi
mov ebx, dword [ebp + 0x1a4]
mov esi, str.Accept:___r_n_r_n
lea edi, [ebp + 0x188]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor eax, ebp
mov dword [ebp + 0x198], eax
mov eax, dword [ebp + 0x1a8]
movsd dword es:[edi], dword [esi]
mov dword [ebp + 0x7c], eax
mov eax, dword [ebp + 0x1ac]
mov dword [ebp + 0x70], eax
mov eax, dword [ebp + 0x1b0]
movsd dword es:[edi], dword [esi]
xor esi, esi
push esi
mov dword [ebp + 0x80], eax
push 0x84000100
lea eax, [ebp + 0x188]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp + 0x188]
push eax
push dword [ebp + 0x7c]
push ebx
call dword [sym.imp.WININET.dll_InternetOpenUrlA]
mov edi, eax
cmp edi, esi
mov dword [ebp + 0x64], edi
jne 0x403242
xor eax, eax
inc eax
jmp 0x4033e1
push 0x41b64c
push dword [ebp + 0x70]
call fcn.0040984b
cmp eax, esi
pop ecx
pop ecx
mov dword [ebp + 0x7c], eax
jne 0x403260
push 2
pop eax
jmp 0x4033e1
push esi
lea eax, [ebp + 0x6c]
push eax
lea eax, [ebp + 0x74]
push eax
push 0x20000005
push edi
mov dword [ebp + 0x74], esi
mov dword [ebp + 0x6c], 4
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
test eax, eax
jne 0x403286
mov dword [ebp + 0x74], esi
push 0xa
pop ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x70], eax
lea eax, [ebp + 0x78]
push eax
push 0x4000
lea eax, [ebp - 0xff9c]
push eax
push edi
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x4033c9
mov edi, dword [sym.imp.USER32.dll_UpdateWindow]
cmp dword [ebp + 0x78], 0
push dword [ebp + 0x7c]
je 0x4033ce
push dword [ebp + 0x78]
lea eax, [ebp - 0xff9c]
push 1
push eax
call fcn.004097a3
mov ecx, dword [ebp + 0x74]
add esi, dword [ebp + 0x78]
add esp, 0x10
test ecx, ecx
je 0x40331d
cmp dword [ebp + 0x80], 0
je 0x403398
mov eax, esi
imul eax, eax, 0x64
xor edx, edx
div ecx
push 0
push eax
push 0x402
push dword [ebp + 0x1b8]
push dword [ebp + 0x80]
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
push dword [ebp + 0x80]
call edi
mov ecx, dword [ebp + 0x74]
cmp dword [ebp + 0x80], 0
je 0x403398
test esi, esi
mov dword [ebp + 0x68], esi
fild dword [ebp + 0x68]
jge 0x403336
fadd dword [0x41b648]
test ebx, ebx
mov dword [ebp + 0x68], ebx
fild dword [ebp + 0x68]
jge 0x403346
fadd dword [0x41b648]
fmul dword [0x41b644]
push ecx
push ecx
fdivp st(1)
shr ecx, 0xa
mov eax, esi
shr eax, 0xa
fmul dword [0x41b640]
fstp qword [esp]
push ecx
push eax
lea eax, [ebp + 0x84]
push str._d_KB____d_KB____1.1f_KB_s
push eax
call fcn.004081f7
add esp, 0x18
lea eax, [ebp + 0x84]
push eax
push dword [ebp + 0x1b4]
push dword [ebp + 0x80]
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
push dword [ebp + 0x80]
call edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
sub ebx, dword [ebp + 0x70]
jne 0x4033a8
push 0xa
pop ebx
lea eax, [ebp + 0x78]
push eax
push 0x4000
lea eax, [ebp - 0xff9c]
push eax
push dword [ebp + 0x64]
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x4032b7
push 3
pop esi
jmp 0x4033d6
call fcn.00409643
pop ecx
xor esi, esi
push dword [ebp + 0x7c]
call fcn.00409492
pop ecx
mov eax, esi
mov ecx, dword [ebp + 0x198]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00408280
add ebp, 0x19c
leave
ret