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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x423a38
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x3420
call fcn.00422620
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
test ebx, ebx
mov dword [ebp - 0x10], esp
je 0x40fcd4
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x40fcd4
mov dx, word [0x42f1ac]
mov ecx, 0x7ff
xor eax, eax
lea edi, [ebp - 0x342e]
mov word [ebp - 0x3430], dx
mov word [ebp - 0x224], dx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x222]
mov word [ebp - 0x42c], dx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x42a]
lea edx, [ebp - 0x224]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x3430]
lea ecx, [ebp - 0x18]
push eax
push ecx
lea eax, [ebp - 0x42c]
push edx
push eax
push ebx
xor esi, esi
call fcn.0040f840
add esp, 0x14
mov dword [ebp - 4], esi
push esi
push esi
push esi
push esi
push esi
call dword [sym.imp.WININET.dll_InternetOpenW]
mov ebx, eax
test ebx, ebx
mov dword [ebp + 8], ebx
je 0x40fcc1
mov ecx, dword [ebp - 0x18]
push esi
push esi
push 3
push esi
push esi
lea edx, [ebp - 0x224]
push ecx
push edx
push ebx
call dword [sym.imp.WININET.dll_InternetConnectW]
test eax, eax
mov dword [ebp - 0x14], eax
je 0x40fca4
push esi
push 0x4400040
push esi
push esi
lea ecx, [ebp - 0x3430]
push str.HTTP_1.0
push ecx
push str.POST
push eax
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov edi, eax
test edi, edi
mov dword [ebp - 0x1c], edi
je 0x40fc9a
push 0xa0000000
push 0xd
push str.Accept:___r_n
push edi
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
mov esi, eax
test esi, esi
je 0x40fc93
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
push edx
push eax
push 0x31
push 0x42df58
push edi
call dword [sym.imp.WININET.dll_HttpSendRequestW]
mov esi, eax
test esi, esi
jne 0x40fbf8
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x2f88
jne 0x40fbf8
mov esi, 1
mov ebx, dword [sym.imp.WININET.dll_InternetReadFile]
test esi, esi
je 0x40fc90
lea ecx, [ebp + 0x10]
lea edx, [ebp - 0x1430]
push ecx
push 0x1000
push edx
push edi
call ebx
mov esi, eax
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x40fc90
mov byte [ebp + eax - 0x1430], 0
lea eax, [ebp - 0x1430]
push eax
lea ecx, [ebp + 0xc]
call sub.MFC42u.DLL_CString::CString_1
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 1
push ecx
mov ecx, dword [ebp + 0x14]
call fcn.00422210
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 0
call sub.MFC42u.DLL_CString::CString
jmp 0x40fbfe
mov ebx, dword [ebp + 8]
push edi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push ebx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret