Function at 0x4095e6
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 0x54afbc
mov eax, dword fs:[0]
push eax
sub esp, 0xf4
mov eax, dword [0x59de90]
xor eax, ebp
mov dword [ebp - 0x28], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push dword [ebp + 8]
lea ecx, [ebp - 0xc4]
call fcn.00409388
and dword [ebp - 4], 0
mov eax, dword [ebp + 0xc]
and dword [eax], 0
mov eax, dword [ebp + 0x10]
and dword [eax], 0
cmp dword [ebp + 0x14], 0
je 0x409640
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x190
and dword [ebp - 0x24], 0
and dword [ebp - 0x80], 0
and dword [ebp - 0x74], 0
mov byte [ebp - 0x79], 0
and dword [ebp - 0x20], 0
and dword [ebp - 0x78], 0
lea ecx, [ebp - 0x1c]
call fcn.00417fe6
mov byte [ebp - 4], 1
mov byte [ebp - 0x6c], 0
push 0x3f
push 0
lea eax, [ebp - 0x6b]
push eax
call fcn.00527ae0
add esp, 0xc
mov dword [ebp - 0xc8], 0x3f
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.WININET.dll_InternetOpenA]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x4096a0
jmp 0x409a02
push 0
push 0
push 3
push 0
push 0
lea ecx, [ebp - 0xc4]
call fcn.0040956b
push eax
lea ecx, [ebp - 0xc4]
call fcn.0040955a
push eax
push dword [ebp - 0x24]
call dword [sym.imp.WININET.dll_InternetConnectA]
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0
jne 0x4096d9
jmp 0x409a02
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0xc4]
call fcn.0040957b
push eax
push 0x57800c
push dword [ebp - 0x80]
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
jne 0x40970b
jmp 0x409a02
push 0x20000000
push 0xffffffffffffffff
push str.Content_Type:_application_x_www_form_urlencoded
push dword [ebp - 0x74]
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersA]
push 0x20000000
push 0xffffffffffffffff
push str.Accept_Encoding:_gzip_deflate_sdch
push dword [ebp - 0x74]
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersA]
push 0
push 0
push 0
push 0
push dword [ebp - 0x74]
call dword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
jne 0x40974f
jmp 0x409a02
mov esi, str.Content_Encoding
lea edi, [ebp - 0x6c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
push 0
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x6c]
push eax
push 0xffff
push dword [ebp - 0x74]
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
mov dword [ebp - 0xf0], str.gzip
lea eax, [ebp - 0x6c]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf4]
mov al, byte [eax]
mov byte [ebp - 0xf5], al
mov ecx, dword [ebp - 0xf0]
cmp al, byte [ecx]
jne 0x4097e5
cmp byte [ebp - 0xf5], 0
je 0x4097dc
mov eax, dword [ebp - 0xf4]
mov al, byte [eax + 1]
mov byte [ebp - 0xf6], al
mov ecx, dword [ebp - 0xf0]
cmp al, byte [ecx + 1]
jne 0x4097e5
add dword [ebp - 0xf4], 2
add dword [ebp - 0xf0], 2
cmp byte [ebp - 0xf6], 0
jne 0x40978a
and dword [ebp - 0xfc], 0
jmp 0x4097f0
sbb eax, eax
sbb eax, 0xffffffff
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
jne 0x409809
mov byte [ebp - 0x79], 1
cmp dword [ebp + 0x14], 0
je 0x409833
mov dword [ebp - 0xcc], 4
push 0
lea eax, [ebp - 0xcc]
push eax
push dword [ebp + 0x14]
push 0x20000013
push dword [ebp - 0x74]
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
push 0xffff
lea ecx, [ebp - 0xd4]
call fcn.0040958f
lea eax, [ebp - 0x70]
push eax
push dword [ebp - 0xd0]
push dword [ebp - 0xd4]
push dword [ebp - 0x74]
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x409865
jmp 0x409a02
cmp dword [ebp - 0x70], 0
jne 0x409870
jmp 0x409909
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xd0], eax
movzx eax, byte [ebp - 0x79]
test eax, eax
je 0x4098e3
mov eax, dword [ebp - 0xd0]
imul eax, eax, 0xa
push eax
lea ecx, [ebp - 0xdc]
call fcn.0040958f
lea eax, [ebp - 0xd8]
push eax
push dword [ebp - 0xdc]
push dword [ebp - 0xd0]
push dword [ebp - 0xd4]
call fcn.00411048
add esp, 0x10
lea ecx, [ebp - 0xd4]
call fcn.004095be
lea eax, [ebp - 0xdc]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00409ad9
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
add eax, dword [ebp - 0xd8]
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
jmp 0x4098ff
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00409ad9
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
add eax, dword [ebp - 0x70]
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
cmp dword [ebp - 0x70], 0
ja 0x409833
cmp dword [ebp - 0x24], 0
je 0x409918
push dword [ebp - 0x24]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [ebp - 0x80], 0
je 0x409927
push dword [ebp - 0x80]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [ebp - 0x74], 0
je 0x409936
push dword [ebp - 0x74]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
inc eax
push eax
call fcn.00426499
pop ecx
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0xe8]
mov dword [eax], ecx
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
inc eax
push eax
push 0
mov eax, dword [ebp + 0xc]
push dword [eax]
call fcn.00527ae0
add esp, 0xc
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [ebp - 0x78], eax
and dword [ebp - 0x20], 0
jmp 0x40997f
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x1c]
call fcn.00409aac
cmp dword [ebp - 0x20], eax
jae 0x4099d8
push dword [ebp - 0x20]
lea ecx, [ebp - 0x1c]
call fcn.00409ac3
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xe0], eax
push dword [ebp - 0xe0]
push dword [ebp - 0xe4]
push dword [ebp - 0x78]
call fcn.0052b500
add esp, 0xc
mov eax, dword [ebp - 0x78]
add eax, dword [ebp - 0xe0]
mov dword [ebp - 0x78], eax
lea ecx, [ebp - 0xe4]
call fcn.004095be
jmp 0x409978
mov byte [ebp - 0xe9], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call fcn.00409a93
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xc4]
call fcn.004228dc
mov al, byte [ebp - 0xe9]
jmp 0x409a57
cmp dword [ebp - 0x24], 0
je 0x409a11
push dword [ebp - 0x24]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [ebp - 0x80], 0
je 0x409a20
push dword [ebp - 0x80]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [ebp - 0x74], 0
je 0x409a2f
push dword [ebp - 0x74]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov byte [ebp - 0xea], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call fcn.00409a93
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xc4]
call fcn.004228dc
mov al, byte [ebp - 0xea]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x28]
xor ecx, ebp
call fcn.00524b49
leave
ret