Function at 0x43b9d0
Capabilities:
Check http status code
Connect to http server
Create http request
Get http content length
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf8
mov eax, dword [0x4d0b80]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
cmp dword [ebp + 8], 0
jne 0x43b9fc
cmp dword [ebp + 0xc], 0
jne 0x43b9fc
xor al, al
jmp 0x43bf5d
push str.ck_Wgu
mov ecx, dword [ebp - 8]
add ecx, 4
mov eax, dword [ebp - 8]
mov edx, dword [eax + 4]
mov eax, dword [edx + 4]
call eax
lea eax, [ebp - 9]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 8]
call fcn.0043c930
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x43ba32
xor al, al
jmp 0x43bf5d
mov byte [ebp - 0x11], 0
lea ecx, [ebp - 0x34]
call fcn.0043c050
lea ecx, [ebp - 0x50]
call fcn.0043c050
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x50]
push ecx
lea edx, [ebp - 0x34]
push edx
lea eax, [ebp - 0x54]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov ecx, dword [ebp - 8]
call fcn.0043ca20
movzx edx, al
test edx, edx
je 0x43bf06
cmp dword [ebp - 0x54], 3
je 0x43ba7d
cmp dword [ebp - 0x54], 4
jne 0x43bf06
push str.ck_W
mov ecx, dword [ebp - 8]
add ecx, 4
mov eax, dword [ebp - 8]
mov edx, dword [eax + 4]
mov eax, dword [edx + 4]
call eax
push 0
mov ecx, dword [ebp - 8]
call fcn.0043c910
push eax
mov ecx, dword [ebp - 8]
call fcn.0043c8f0
push eax
push 0
mov ecx, dword [ebp - 8]
call fcn.0043c8d0
push eax
call dword [sym.imp.WININET.dll_InternetOpenW]
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
je 0x43bf06
mov eax, dword [ebp - 0x58]
push eax
mov ecx, dword [ebp - 8]
call fcn.0043c180
push 0
push 0
push 3
push 0
push 0
movzx eax, word [ebp - 0x18]
push eax
lea ecx, [ebp - 0x34]
call fcn.0043c0f0
push eax
mov ecx, dword [ebp - 0x58]
push ecx
call dword [sym.imp.WININET.dll_InternetConnectW]
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
je 0x43befc
push 0x4b829c
mov ecx, dword [ebp - 8]
add ecx, 4
mov eax, dword [ebp - 8]
mov edx, dword [eax + 4]
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 0x64], 0x4b8294
mov dword [ebp - 0x60], 0
push 0
xor eax, eax
cmp dword [ebp - 0x54], 4
setne al
sub eax, 1
and eax, 0x800000
or eax, 0x84010100
push eax
lea ecx, [ebp - 0x64]
push ecx
push 0
push str.HTTP_1.0
lea ecx, [ebp - 0x50]
call fcn.0043c0f0
push eax
push 0x4c5de4
mov edx, dword [ebp - 0x5c]
push edx
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0
je 0x43bef2
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
push 0
push 0
mov edx, dword [ebp - 0x68]
push edx
call dword [sym.imp.WININET.dll_HttpSendRequestW]
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0
jne 0x43bbf8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0x2f0d
je 0x43bba7
cmp dword [ebp - 0x70], 0x2f19
jne 0x43bbf8
mov dword [ebp - 0x78], 4
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x74]
push ecx
push 0x1f
mov edx, dword [ebp - 0x68]
push edx
call dword [sym.imp.WININET.dll_InternetQueryOptionW]
mov eax, dword [ebp - 0x74]
or eax, 0x3180
mov dword [ebp - 0x74], eax
push 4
lea eax, [ebp - 0x74]
push eax
push 0x1f
mov ecx, dword [ebp - 0x68]
push ecx
call dword [sym.imp.WININET.dll_InternetSetOptionW]
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
push 0
push 0
mov edx, dword [ebp - 0x68]
push edx
call dword [sym.imp.WININET.dll_HttpSendRequestW]
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0
je 0x43bee8
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x80], 4
push 0
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x7c]
push ecx
push 0x20000013
mov edx, dword [ebp - 0x68]
push edx
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
cmp dword [ebp - 0x7c], 0xc8
jb 0x43bed2
cmp dword [ebp - 0x7c], 0x12b
ja 0x43bed2
push 0x4b8260
mov ecx, dword [ebp - 8]
add ecx, 4
mov eax, dword [ebp - 8]
mov edx, dword [eax + 4]
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 0x84], 4
push 0
lea eax, [ebp - 0x84]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
push 0x20000005
mov edx, dword [ebp - 0x68]
push edx
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x43bd0d
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
push ecx
mov ecx, dword [ebp - 8]
add ecx, 4
mov edx, dword [ebp - 8]
mov eax, dword [edx + 4]
mov edx, dword [eax + 0x10]
call edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
push ecx
call fcn.0044d4a4
add esp, 4
mov dword [ebp - 0xf8], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0xf8]
mov dword [edx], eax
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
je 0x43bd08
lea eax, [ebp - 0x88]
push eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x68]
push edx
call dword [sym.imp.WININET.dll_InternetReadFile]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
xor edx, edx
cmp ecx, dword [ebp - 0x88]
sete dl
mov byte [ebp - 0x11], dl
movzx eax, byte [ebp - 0x11]
test eax, eax
jne 0x43bd08
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x88]
mov dword [eax], ecx
jmp 0x43bed0
push 0xffffffffffffffff
mov ecx, dword [ebp - 8]
add ecx, 4
mov eax, dword [ebp - 8]
mov edx, dword [eax + 4]
mov eax, dword [edx + 0x10]
call eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 8]
shl ecx, 1
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x90], 0
mov eax, dword [ebp - 0x8c]
push eax
call fcn.0044d4a4
add esp, 4
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0xf4]
mov dword [ecx], edx
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
je 0x43beb7
mov eax, dword [ebp - 0x8c]
push eax
push 0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
call fcn.00450680
add esp, 0xc
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x98], 0
lea eax, [ebp - 0x98]
push eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp - 0x94]
push eax
mov ecx, dword [ebp - 0x68]
push ecx
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x43beb7
cmp dword [ebp - 0x98], 0
je 0x43beb7
mov eax, dword [ebp - 0x90]
add eax, dword [ebp - 0x98]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 8]
cmp eax, dword [ecx + 8]
jae 0x43bea0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x8c]
add ecx, dword [eax + 8]
mov dword [ebp - 0x8c], ecx
mov eax, dword [ebp - 0x8c]
push eax
call fcn.0044d4a4
add esp, 4
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0x9c], ecx
cmp dword [ebp - 0x9c], 0
je 0x43be7e
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x9c]
push eax
call fcn.00450960
add esp, 0xc
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0xec]
push edx
call fcn.00450942
add esp, 4
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x9c]
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x90]
mov dword [ebp - 0x94], ecx
jmp 0x43be9e
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov dword [ebp - 0xe8], ecx
mov edx, dword [ebp - 0xe8]
push edx
call fcn.00450942
add esp, 4
mov byte [ebp - 0x11], 0
jmp 0x43beb7
jmp 0x43beb2
mov eax, dword [ebp - 0x94]
add eax, dword [ebp - 0x98]
mov dword [ebp - 0x94], eax
jmp 0x43bd90
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x90]
mov dword [eax], ecx
mov eax, dword [ebp + 0x10]
xor ecx, ecx
cmp dword [eax], 0
setne cl
mov byte [ebp - 0x11], cl
jmp 0x43bee8
push 0x4b8240
mov ecx, dword [ebp - 8]
add ecx, 4
mov eax, dword [ebp - 8]
mov edx, dword [eax + 4]
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x68]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, dword [ebp - 0x5c]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, dword [ebp - 0x58]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
movzx eax, byte [ebp - 0x11]
push eax
push 0
mov ecx, dword [ebp - 8]
add ecx, 4
mov edx, dword [ebp - 8]
mov eax, dword [edx + 4]
mov edx, dword [eax + 0x14]
call edx
movzx eax, byte [ebp - 9]
test eax, eax
je 0x43bf3e
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.00450942
add esp, 4
mov al, byte [ebp - 0x11]
mov byte [ebp - 0xdd], al
lea ecx, [ebp - 0x50]
call fcn.0043c0d0
lea ecx, [ebp - 0x34]
call fcn.0043c0d0
mov al, byte [ebp - 0xdd]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004513b1
mov esp, ebp
pop ebp
ret 0x14