Function at 0x419a10
Capabilities:
Check for time delay via queryperformancecounter
Check http status code
Connect to http server
Create http request
Query remote server for available data
Read data from internet
Receive data
Send data
Send http request

Disassembly:
sub esp, 0x25c
mov eax, dword [0x4a7534]
xor eax, esp
mov dword [esp + 0x254], eax
mov eax, dword [esp + 0x264]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x26c]
push edi
push 0
push 0
push 0
push 0
push str.SpeedTest_0.4
mov dword [esp + 0x38], eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x58], edx
call dword [sym.imp.WININET.dll_InternetOpenW]
push 0
push 0
push 3
push 0
push 0
push 0x50
mov ebx, eax
push esi
push ebx
mov dword [esp + 0x38], ebx
call dword [sym.imp.WININET.dll_InternetConnectW]
push 0
mov esi, eax
call fcn.0044725c
add esp, 4
push edx
push eax
push str._st_st.php_time_d
push 0xff
lea eax, [esp + 0x70]
push 0xff
push eax
call fcn.004461af
add esp, 0x18
push 0
push 0x806cc200
push 0
push 0
push 0
lea ecx, [esp + 0x74]
push ecx
push 0x485ef0
push esi
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
lea edx, [esp + 0x58]
push edx
mov ebp, eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
fild dword [esp + 0x58]
mov ecx, dword [esp + 0x58]
test ecx, ecx
jge 0x419ae1
fadd qword [0x49b700]
fmul qword [0x49b710]
push 0
push 0
push 0
push 0
fstp qword [esp + 0x48]
push ebp
call dword [sym.imp.WININET.dll_HttpSendRequestW]
push 0xb
mov dword [esp + 0x20], 0xa
call fcn.004462ab
mov edi, dword [sym.imp.WININET.dll_HttpQueryInfoW]
add esp, 4
push 0
lea edx, [esp + 0x20]
push edx
mov esi, eax
push esi
push 0x13
push ebp
call edi
test eax, eax
jne 0x419b60
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
push esi
jne 0x419d6e
call fcn.004461ce
mov eax, dword [esp + 0x20]
add eax, 1
add esp, 4
push eax
call fcn.004462ab
add esp, 4
push 0
lea ecx, [esp + 0x20]
push ecx
mov esi, eax
push esi
push 0x13
push ebp
call edi
test eax, eax
je 0x419b25
mov edx, dword [esp + 0x1c]
push esi
mov byte [esi + edx], 0
call fcn.00447be7
add esp, 4
push esi
mov edi, eax
call fcn.004461ce
add esp, 4
cmp edi, 0xc8
jne 0x419d76
mov eax, dword [esp + 0x24]
push 0
push 0
lea ecx, [esp + 0x28]
push ecx
push ebp
mov byte [esp + 0x22], 1
mov dword [eax], 0
call dword [sym.imp.WININET.dll_InternetQueryDataAvailable]
test eax, eax
je 0x419ce4
nop
mov edx, dword [esp + 0x20]
add edx, 1
push edx
call fcn.004462ab
mov ecx, dword [esp + 0x24]
add esp, 4
mov ebx, eax
lea eax, [esp + 0x34]
push eax
push ecx
push ebx
push ebp
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x419d82
mov eax, dword [esp + 0x34]
test eax, eax
je 0x419ce0
mov ecx, dword [esp + 0x24]
add dword [ecx], eax
cmp byte [esp + 0x12], 0
mov byte [eax + ebx], 0
je 0x419c6b
push 0xa
push ebx
call fcn.00447d50
add esp, 8
test eax, eax
je 0x419d9b
mov byte [eax], 0
add eax, 1
mov edi, 0x485f20
mov esi, ebx
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x419db4
mov ecx, eax
lea esi, [ecx + 1]
lea ecx, [ecx]
mov dl, byte [ecx]
add ecx, 1
test dl, dl
jne 0x419c30
mov edi, dword [esp + 0x44]
push 0x200
push edi
sub ecx, esi
mov esi, ecx
push esi
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp esi, 0x1ff
jbe 0x419c60
mov esi, 0x1ff
mov word [edi + esi*2], 0
mov byte [esp + 0x12], 0
push ebx
call fcn.004461ce
add esp, 4
lea eax, [esp + 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ecx, dword [esp + 0x54]
sub ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x50]
test edx, edx
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul qword [0x49b700]
fild dword [esp + 0x50]
jge 0x419ca7
fadd qword [0x49b700]
mov eax, dword [esp + 0x28]
faddp st(1)
test eax, eax
fild dword [esp + 0x28]
jge 0x419cbb
fadd qword [0x49b700]
fsubp st(1)
fcomp qword [esp + 0x38]
fnstsw ax
test ah, 1
je 0x419ce0
push 0
push 0
lea ecx, [esp + 0x28]
push ecx
push ebp
call dword [sym.imp.WININET.dll_InternetQueryDataAvailable]
test eax, eax
jne 0x419bb0
mov ebx, dword [esp + 0x18]
lea edx, [esp + 0x48]
push edx
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x4c]
push ecx
push edx
push eax
call fcn.004199c0
fmul qword [0x49b708]
mov ecx, dword [esp + 0x58]
fild dword [esp + 0x58]
test ecx, ecx
jge 0x419d20
fadd qword [0x49b700]
fdivp st(1)
push ebx
fnstcw word [esp + 0x16]
movzx eax, word [esp + 0x16]
or eax, 0xc00
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x34]
fldcw word [esp + 0x18]
fistp qword [esp + 0x3c]
mov edx, dword [esp + 0x3c]
mov dword [eax], edx
fldcw word [esp + 0x16]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
xor eax, eax
mov ecx, dword [esp + 0x264]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00445c6a
add esp, 0x25c
ret 8
call fcn.004461ce
add esp, 4
push ebx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
or eax, 0xffffffff
jmp 0x419d53
push ebx
call fcn.004461ce
mov edx, dword [esp + 0x1c]
add esp, 4
push edx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
or eax, 0xffffffff
jmp 0x419d53
push ebx
call fcn.004461ce
mov eax, dword [esp + 0x1c]
add esp, 4
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
or eax, 0xffffffff
jmp 0x419d53
push ebx
call fcn.004461ce
mov ecx, dword [esp + 0x1c]
add esp, 4
push ecx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
or eax, 0xffffffff
jmp 0x419d53