Function at 0x40e890
Capabilities:
Initialize winhttp library
Prepare http request
Receive http response
Send data
Send http request
Set http header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4259f8
mov eax, dword fs:[0]
push eax
sub esp, 0xf8
mov eax, dword [0x434008]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp + 0x18]
mov dword [ebp - 0xf4], ecx
mov ecx, dword [ebp + 0x20]
mov dword [ebp - 0xf8], ecx
mov ecx, dword [ebp + 0x24]
mov dword [ebp - 0xe4], 0
cmp dword [eax + 0x14], 8
mov dword [ebp - 0xfc], ecx
mov byte [ebp - 0xdd], 0
jb 0x40e8fb
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0xdc]
call fcn.0040e410
push 0
push 0
push 0
push 0
mov ecx, esi
mov dword [ebp - 4], 0
call fcn.00401c60
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov esi, eax
mov dword [ebp - 0x104], esi
test esi, esi
je 0x40ec01
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0xdc]
call fcn.0040e6f0
cmp dword [eax + 0x14], 8
jb 0x40e94b
mov eax, dword [eax]
push 0
push dword [ebp - 0xd8]
push eax
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov edi, eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x100], edi
cmp eax, 8
jb 0x40e978
inc eax
lea ecx, [ebp - 0x2c]
push eax
push dword [ebp - 0x2c]
call fcn.00401b20
xor eax, eax
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
test edi, edi
je 0x40ebfa
cmp dword [ebp - 0xdc], 2
mov edx, 0x100
mov eax, 0x800100
sete cl
test cl, cl
mov byte [ebp - 0xe5], cl
lea ecx, [ebp - 0xdc]
cmove eax, edx
mov dword [ebp - 0xec], eax
lea eax, [ebp - 0x74]
push eax
call fcn.0040e770
mov esi, eax
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0xdc]
mov dword [ebp - 0xe4], 1
call fcn.0040e730
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x44]
push esi
mov edx, eax
mov dword [ebp - 0xe4], 3
call fcn.0040ec30
add esp, 4
cmp dword [eax + 0x14], 8
jb 0x40ea0e
mov eax, dword [eax]
push dword [ebp - 0xec]
push 0
push 0
push 0
push eax
push str.POST
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov edi, eax
mov eax, dword [ebp - 0x30]
cmp eax, 8
jb 0x40ea3e
inc eax
lea ecx, [ebp - 0x44]
push eax
push dword [ebp - 0x44]
call fcn.00401b20
xor eax, eax
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x34], 0
cmp eax, 8
jb 0x40ea67
inc eax
lea ecx, [ebp - 0x5c]
push eax
push dword [ebp - 0x5c]
call fcn.00401b20
xor eax, eax
mov dword [ebp - 0x48], 7
mov word [ebp - 0x5c], ax
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x4c], 0
cmp eax, 8
jb 0x40ea93
inc eax
lea ecx, [ebp - 0x74]
push eax
push dword [ebp - 0x74]
call fcn.00401b20
xor eax, eax
mov dword [ebp - 0x60], 7
mov dword [ebp - 0x64], 0
mov word [ebp - 0x74], ax
test edi, edi
je 0x40ebe8
cmp byte [ebp - 0xe5], al
je 0x40eafa
mov dword [ebp - 0xe4], eax
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0xe4]
mov dword [ebp - 0xec], 4
push eax
push 0x1f
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpQueryOption]
or dword [ebp - 0xe4], 0x3100
lea eax, [ebp - 0xe4]
push 4
push eax
push 0x1f
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
push 4
lea eax, [ebp - 0xf0]
mov dword [ebp - 0xf0], 2
push eax
push 0x58
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
push dword [ebp - 0xf4]
lea ecx, [ebp - 0x8c]
call fcn.0040ecf0
add esp, 4
lea eax, [ebp - 0x8c]
cmp dword [ebp - 0x78], 8
cmovae eax, dword [ebp - 0x8c]
push 0x20000000
push 0xffffffffffffffff
push eax
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
mov eax, dword [ebp - 0x78]
cmp eax, 8
jb 0x40eb65
inc eax
lea ecx, [ebp - 0x8c]
push eax
push dword [ebp - 0x8c]
call fcn.00401b20
mov esi, dword [ebp + 0x1c]
push 0
push esi
push 0
push 0
push 0
push 0
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
je 0x40ebe1
mov dword [ebp - 0xe4], 0
test ebx, ebx
je 0x40ebb2
test esi, esi
je 0x40ebb2
lea eax, [ebp - 0xe4]
push eax
push esi
push ebx
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpWriteData]
test eax, eax
je 0x40ebb2
add ebx, dword [ebp - 0xe4]
sub esi, dword [ebp - 0xe4]
jne 0x40eb90
mov esi, dword [ebp - 0xf8]
test esi, esi
je 0x40ebda
push 0
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
je 0x40ebe1
mov edx, esi
mov ecx, edi
call fcn.0040e7b0
mov ecx, dword [ebp - 0xfc]
mov dword [ecx], eax
mov byte [ebp - 0xdd], 1
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push dword [ebp - 0x100]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov esi, dword [ebp - 0x104]
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
lea ecx, [ebp - 0xdc]
call fcn.0040e640
mov al, byte [ebp - 0xdd]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00411abb
mov esp, ebp
pop ebp
ret 0x24