Function at 0x4169c0
Capabilities:
Connect to http server
Create http request
Parse url
Read data from internet
Receive data
Reference http user-agent string
Send data
Send http request

Disassembly:
push ebp
lea ebp, [esp - 0xd44]
sub esp, 0xd44
push 0xffffffffffffffff
push 0x43faa3
mov eax, dword fs:[0]
push eax
push ecx
mov eax, dword [0x455084]
xor eax, ebp
mov dword [ebp + 0xd40], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 0xd4c]
mov dword [ebp - 0x10], esi
xor eax, eax
mov dword [ebp - 4], eax
push eax
push eax
push eax
push 1
push str.Mozilla_5.0
call dword [sym.imp.WININET.dll_InternetOpenA]
lea ecx, [ebp + 0x54]
mov edi, eax
call fcn.0040a8c8
mov byte [ebp - 4], 2
test edi, edi
je 0x416c39
push 0x3c
pop ebx
push ebx
lea eax, [ebp]
push 0
push eax
call fcn.0041fa70
lea eax, [ebp + 0xc40]
mov dword [ebp], ebx
add esp, 0xc
mov dword [ebp + 0x10], eax
lea eax, [ebp + 0x70]
mov dword [ebp + 0x14], 0x100
mov dword [ebp + 0x2c], eax
lea ecx, [ebp + 0xd50]
lea eax, [ebp]
mov dword [ebp + 0x30], 0x400
push eax
xor ebx, ebx
push ebx
push ebx
call fcn.00411c32
push eax
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
test eax, eax
jne 0x416ab0
push 0x4075d6
push str.Failed_to_parse_URL
push 0x456908
call fcn.00401a50
pop ecx
pop ecx
mov ecx, eax
call fcn.0040c25e
push edi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push 0x44091d
mov ecx, esi
call fcn.0040a89e
jmp 0x416c6f
cmp dword [ebp + 0xc], 4
mov ecx, 0x1bb
push ebx
push ebx
push 3
push ebx
push ebx
push 0x50
pop eax
cmove eax, ecx
movzx eax, ax
push eax
push dword [ebp + 0x10]
push edi
call dword [sym.imp.WININET.dll_InternetConnectA]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x416c05
push ebx
push 0x80800000
push ebx
push ebx
push ebx
push dword [ebp + 0x2c]
push str.POST
push eax
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov ebx, eax
test ebx, ebx
je 0x416bcf
push str.Content_Type:_application_x_www_form_urlencoded
lea ecx, [ebp + 0x3c]
call fcn.0040a89e
lea ecx, [ebp + 0xd68]
mov byte [ebp - 4], 3
call fcn.004156a7
push eax
lea ecx, [ebp + 0xd68]
call fcn.00411c32
push eax
lea ecx, [ebp + 0x3c]
call fcn.004156a7
push eax
lea ecx, [ebp + 0x3c]
call fcn.00411c32
push eax
push ebx
call dword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
je 0x416b93
lea eax, [ebp + 0x6c]
push eax
push 0x7d0
lea eax, [ebp + 0x470]
push eax
push ebx
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x416b7b
push dword [ebp + 0x6c]
lea eax, [ebp + 0x470]
push eax
lea ecx, [ebp + 0x54]
call fcn.0041165c
cmp dword [ebp + 0x6c], 0
ja 0x416b46
jmp 0x416bbe
push 0x4075d6
push str.Error_reading_from_server
push 0x456908
call fcn.00401a50
pop ecx
pop ecx
jmp 0x416bb7
push 0x4075d6
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.HttpSendRequestA_failed_with_error:
push 0x456908
call fcn.00401a50
pop ecx
pop ecx
mov ecx, eax
call fcn.0040c176
mov ecx, eax
call fcn.0040c25e
push ebx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
lea ecx, [ebp + 0x3c]
call fcn.0040bb6d
jmp 0x416bfa
push 0x4075d6
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.HttpOpenRequestA_failed_with_error:
push 0x456908
call fcn.00401a50
pop ecx
pop ecx
mov ecx, eax
call fcn.0040c176
mov ecx, eax
call fcn.0040c25e
push dword [ebp - 0x10]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
jmp 0x416c30
push 0x4075d6
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.InternetConnectA_failed_with_error:
push 0x456908
call fcn.00401a50
pop ecx
pop ecx
mov ecx, eax
call fcn.0040c176
mov ecx, eax
call fcn.0040c25e
push edi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
jmp 0x416c64
push 0x4075d6
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.InternetOpenA_failed_with_error:
push 0x456908
call fcn.00401a50
pop ecx
pop ecx
mov ecx, eax
call fcn.0040c176
mov ecx, eax
call fcn.0040c25e
lea eax, [ebp + 0x54]
mov ecx, esi
push eax
call fcn.0040a7ce
lea ecx, [ebp + 0x54]
call fcn.0040bb6d
lea ecx, [ebp + 0xd50]
call fcn.0040bb6d
lea ecx, [ebp + 0xd68]
call fcn.0040bb6d
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0xd40]
xor ecx, ebp
call fcn.0041c7df
add ebp, 0xd44
leave
ret