Function at 0x401000
Capabilities:
Connect to http server
Create http request
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push 0xffffffffffffffff
push 0x4646ea
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x424
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x2c], 0
mov dword [esp + 0x43c], 1
mov eax, dword [0x47469c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], eax
push str.Mozilla_4.0__compatible__MSIE_8.0__Windows_NT_6.1__Trident_4.0_
lea ecx, [esp + 0x28]
mov byte [esp + 0x440], 6
call fcn.0045e434
lea eax, [esp + 0x14]
push 7
push eax
lea ecx, [esp + 0x450]
mov byte [esp + 0x444], 7
call fcn.0045d5f0
mov eax, dword [eax]
push str.http:__
push eax
call fcn.00451f6c
add esp, 8
lea ecx, [esp + 0x14]
test eax, eax
sete bl
call fcn.0045e3c6
test bl, bl
je 0x4010cf
lea ecx, [esp + 0x14]
push 7
push ecx
lea ecx, [esp + 0x450]
call fcn.0045d4bb
push eax
lea ecx, [esp + 0x44c]
mov byte [esp + 0x440], 8
call fcn.0045e4b3
lea ecx, [esp + 0x14]
mov byte [esp + 0x43c], 7
call fcn.0045e3c6
push 0x46f0b8
lea ecx, [esp + 0x44c]
call fcn.0045d68a
mov esi, eax
cmp esi, 0xffffffff
jne 0x401108
lea edx, [esp + 0x448]
lea ecx, [esp + 0x10]
push edx
call fcn.0045e4b3
push 0x46f0b8
lea ecx, [esp + 0x24]
call fcn.0045e503
jmp 0x401172
lea eax, [esp + 0x14]
push esi
push eax
lea ecx, [esp + 0x450]
call fcn.0045d5f0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x440], 9
call fcn.0045e4b3
lea ecx, [esp + 0x14]
mov byte [esp + 0x43c], 7
call fcn.0045e3c6
lea ecx, [esp + 0x14]
push esi
push ecx
lea ecx, [esp + 0x450]
call fcn.0045d4bb
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x440], 0xa
call fcn.0045e4b3
lea ecx, [esp + 0x14]
mov byte [esp + 0x43c], 7
call fcn.0045e3c6
push 0x46f0b4
lea ecx, [esp + 0x14]
call fcn.0045d68a
mov esi, eax
cmp esi, 0xffffffff
je 0x4011e3
lea edx, [esi + 1]
lea eax, [esp + 0x14]
push edx
push eax
lea ecx, [esp + 0x18]
call fcn.0045d4bb
mov eax, dword [eax]
push eax
call fcn.00451f61
add esp, 4
lea ecx, [esp + 0x14]
mov edi, eax
call fcn.0045e3c6
lea ecx, [esp + 0x14]
push esi
push ecx
lea ecx, [esp + 0x18]
call fcn.0045d5f0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x440], 0xb
call fcn.0045e4b3
lea ecx, [esp + 0x14]
mov byte [esp + 0x43c], 7
call fcn.0045e3c6
jmp 0x4011ea
mov edi, dword [esp + 0x460]
mov edx, dword [esp + 0x44c]
mov eax, dword [edx - 8]
test eax, eax
jne 0x401209
push 0x46f0b0
lea ecx, [esp + 0x450]
call fcn.0045e503
mov eax, dword [esp + 0x458]
push 0
push 0
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x401226
mov eax, dword [esp + 0x2c]
push 0
push 0
push eax
jmp 0x40122e
mov ecx, dword [esp + 0x2c]
push eax
push 3
push ecx
call dword [sym.imp.WININET.dll_InternetOpenA]
mov edx, dword [esp + 0x10]
push 0
push 0
push 3
push 0
push 0
mov ebp, eax
push edi
push edx
push ebp
call dword [sym.imp.WININET.dll_InternetConnectA]
mov ebx, eax
test ebx, ebx
je 0x401366
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x44c]
push 0
lea eax, [esp + 0x18]
push 0x84000100
push eax
push 0
push str.HTTP_1.0
push ecx
push edx
push ebx
mov dword [esp + 0x34], 0x46f0a0
mov dword [esp + 0x38], 0
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov esi, eax
test esi, esi
je 0x40135f
mov edx, dword [esp + 0x45c]
test edx, edx
je 0x4012b1
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jmp 0x4012b3
xor ecx, ecx
mov eax, dword [esp + 0x454]
mov dword [esp + 0x1c], ecx
push eax
mov eax, dword [esp + 0x454]
push eax
push ecx
push edx
push esi
call dword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
je 0x401358
lea ecx, [esp + 0x14]
lea edx, [esp + 0x1c]
push ecx
lea eax, [esp + 0x34]
push edx
push eax
push 0x13
push esi
mov dword [esp + 0x28], 0
mov dword [esp + 0x30], 0x64
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
test eax, eax
je 0x401358
cmp byte [esp + 0x30], 0x32
jne 0x401358
mov edi, dword [sym.imp.WININET.dll_InternetReadFile]
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x34]
push 0x400
push edx
push esi
call edi
test eax, eax
je 0x401358
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x401358
mov byte [esp + eax + 0x30], 0
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x2c]
call fcn.0045e756
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x30]
push ecx
push 0x400
push edx
push esi
call edi
test eax, eax
jne 0x401327
push esi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push ebx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
test ebp, ebp
je 0x401371
push ebp
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov esi, dword [esp + 0x444]
lea eax, [esp + 0x28]
push eax
mov ecx, esi
call fcn.0045e13b
mov dword [esp + 0x2c], 1
lea ecx, [esp + 0x24]
mov byte [esp + 0x43c], 6
call fcn.0045e3c6
lea ecx, [esp + 0x28]
mov byte [esp + 0x43c], 5
call fcn.0045e3c6
lea ecx, [esp + 0x20]
mov byte [esp + 0x43c], 4
call fcn.0045e3c6
lea ecx, [esp + 0x10]
mov byte [esp + 0x43c], 3
call fcn.0045e3c6
lea ecx, [esp + 0x448]
mov byte [esp + 0x43c], 2
call fcn.0045e3c6
lea ecx, [esp + 0x44c]
mov byte [esp + 0x43c], 1
call fcn.0045e3c6
lea ecx, [esp + 0x458]
mov byte [esp + 0x43c], 0
call fcn.0045e3c6
mov ecx, dword [esp + 0x434]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x430
ret