Function at 0x47782c
Capabilities:
Connect to http server
Create http request
Get http content length
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd4
push ebx
push esi
xor edx, edx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x477c67
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x34], edx
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x3c], edx
xor eax, eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x8130], edx
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x8134], edx
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x8138], edx
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80a8]
call fcn.00405c90
push eax
call sub.wininet.dll_InternetOpenW
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x34], ebx
xor eax, eax
push ebp
push 0x477c3a
push dword fs:[eax]
mov dword fs:[eax], esp
test ebx, ebx
jne 0x4778e0
mov eax, dword [ebp - 4]
add eax, 0x80a4
mov edx, 0x477c78
call fcn.00405b10
call fcn.00404d24
jmp 0x477c41
xor ebx, ebx
push ebx
push 0
push 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x8108]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x8100]
push eax
mov eax, dword [ebp - 4]
mov ax, word [eax + 0x80fc]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80f4]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34]
push eax
call sub.wininet.dll_InternetConnectW
mov esi, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
test esi, esi
jne 0x477965
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80f4]
mov dword [ebp - 0x28], eax
mov byte [ebp - 0x24], 0xa
lea edx, [ebp - 0x28]
xor ecx, ecx
mov eax, 0x477cb0
call fcn.0040b8a0
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
add eax, 0x80a4
call fcn.00405c80
call fcn.00404d24
jmp 0x477c41
mov eax, dword [ebp - 4]
cmp word [eax + 0x80fc], 0x1bb
jne 0x47797c
mov dword [ebp - 8], 0x803100
jmp 0x477981
xor eax, eax
mov dword [ebp - 8], eax
or dword [ebp - 8], 0x80000000
mov eax, dword [ebp - 4]
call fcn.00479778
push 0
call sub.kernel32.dll_SetLastError
push ebx
mov eax, dword [ebp - 8]
push eax
push 0
push 0
push 0x477cd0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x8110]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x8078]
call fcn.00405c90
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
push eax
call sub.wininet.dll_HttpOpenRequestW
mov edx, dword [ebp - 4]
mov dword [edx + 0x3c], eax
call sub.kernel32.dll_GetLastError_1
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x477a0d
mov eax, dword [ebp - 0x10]
sub eax, 0x7a
je 0x4779f0
sub eax, 4
je 0x4779f0
sub eax, 0x39
jne 0x4779f7
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x477a0d
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
mov dword [eax + 0x80a0], edx
call fcn.00404d24
jmp 0x477c41
mov eax, dword [ebp - 4]
cmp dword [eax + 0x3c], 0
jne 0x477a32
mov eax, dword [ebp - 4]
add eax, 0x80a4
mov edx, 0x477ce8
call fcn.00405b10
call fcn.00404d24
jmp 0x477c41
mov eax, dword [ebp - 4]
call fcn.004798d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80a4]
xor edx, edx
call fcn.00405dbc
jne 0x477a58
mov eax, dword [ebp - 4]
cmp dword [eax + 0x80a0], 0
je 0x477a62
call fcn.00404d24
jmp 0x477c41
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x8040]
call fcn.0040564c
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x8040]
call fcn.0040584c
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00405ca0
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00405c90
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
push eax
call sub.wininet.dll_HttpSendRequestW
test eax, eax
jne 0x477b3a
call sub.kernel32.dll_GetLastError_1
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0x2f0d
jne 0x477b3a
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 8]
push eax
push 0x1f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
push eax
call sub.wininet.dll_InternetQueryOptionW
or dword [ebp - 8], 0x100
push 4
lea eax, [ebp - 8]
push eax
push 0x1f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
push eax
call sub.wininet.dll_InternetSetOptionW
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x8040]
call fcn.0040564c
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x8040]
call fcn.0040584c
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00405ca0
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00405c90
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
push eax
call sub.wininet.dll_HttpSendRequestW
test eax, eax
call sub.kernel32.dll_GetLastError_1
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jbe 0x477b4a
call fcn.00404d24
jmp 0x477c41
mov dword [ebp - 0x14], 4
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x80d8], edx
xor eax, eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 4]
add eax, 0x80d8
push eax
push 0x20000005
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
push eax
call sub.wininet.dll_HttpQueryInfoW
mov eax, dword [ebp - 4]
cmp dword [eax + 0x80d8], 0
jne 0x477b9c
mov eax, dword [ebp - 4]
mov dword [eax + 0x80d8], 1
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x80cc], edx
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x3c]
mov eax, dword [ebp - 4]
call fcn.004794a8
mov eax, dword [ebp - 4]
cmp dword [eax + 0x80d8], 1
ja 0x477c08
lea ecx, [ebp - 0x1c]
mov edx, 0x477d24
mov eax, dword [ebp - 4]
call fcn.0047a0d4
mov eax, dword [ebp - 0x1c]
xor edx, edx
call fcn.00405dbc
je 0x477c08
mov eax, dword [ebp - 0x1c]
mov edx, 0x477d54
call fcn.00405dbc
je 0x477c08
lea eax, [ebp - 0x2c]
mov edx, dword [ebp - 0x1c]
call fcn.00405614
mov eax, dword [ebp - 0x2c]
call fcn.0040a664
mov edx, dword [ebp - 4]
mov dword [edx + 0x80d8], eax
mov eax, dword [ebp - 4]
call fcn.00479744
mov eax, dword [ebp - 4]
call fcn.00479cd8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x477c41
mov eax, dword [ebp - 4]
call fcn.00479d90
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
mov dword [eax + 0x80a0], edx
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x477c6e
lea eax, [ebp - 0x2c]
call fcn.0040538c
lea eax, [ebp - 0x20]
call fcn.0040538c
lea eax, [ebp - 0x1c]
call fcn.00405ad4
ret