Function at 0x478fb0
Capabilities:
Check internet connectivity via wininet
Connect to http server
Create http request

Disassembly:
sub esp, 0x18
mov eax, dword [0x6eed24]
xor eax, esp
mov dword [esp + 0x14], eax
mov ax, word [esp + 0x20]
push esi
mov esi, ecx
mov ecx, dword [esp + 0x20]
push edi
push 0xffffffffffffffff
mov dword [esp + 0x10], ecx
push ecx
lea ecx, [esi + 0x18]
mov word [esi + 0x10], ax
call fcn.00403940
mov edi, dword [esp + 0x2c]
push 0
mov dword [esi + 0x14], edi
call dword [sym.imp.WININET.dll_InternetAttemptConnect]
test eax, eax
js 0x479248
cmp dword [esi + 0x40], 0
mov eax, dword [esi + 0x48]
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 3
mov eax, dword [esp + eax*4 + 0x10]
push ebp
mov dword [esp + 0xc], eax
jne 0x479023
xor edx, edx
jmp 0x47902f
mov edx, dword [esi + 0x3c]
test edx, edx
jne 0x47902f
mov edx, 0x649aa0
cmp dword [esi + 0x34], 0
jne 0x479039
xor ecx, ecx
jmp 0x479045
mov ecx, dword [esi + 0x30]
test ecx, ecx
jne 0x479045
mov ecx, 0x649aa0
push ebx
mov ebx, dword [esi + 0x24]
test ebx, ebx
jne 0x479052
mov ebx, 0x649aa0
mov eax, ecx
neg eax
sbb eax, eax
and eax, 3
cmp dword [esp + 0x10], 0xffffffff
je 0x479066
mov eax, dword [esp + 0x10]
push 0
push edx
push ecx
push eax
push ebx
call dword [sym.imp.WININET.dll_InternetOpenW]
mov ebx, eax
test ebx, ebx
jne 0x479094
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
js 0x4790bd
je 0x479094
movzx eax, ax
or eax, 0x83ff0000
test eax, eax
js 0x479246
push ebx
lea ecx, [esi + 8]
call fcn.0047bcd0
test eax, eax
jne 0x4790d6
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
js 0x479246
jne 0x4790b5
xor eax, eax
jmp 0x4790bd
movzx eax, ax
or eax, 0x83ff0000
test eax, eax
jns 0x4790ef
pop ebx
pop ebp
pop edi
pop esi
mov ecx, dword [esp + 0x14]
xor ecx, esp
call fcn.004b2558
add esp, 0x18
ret 0xc
push 4
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 1
push eax
push 0x4d
lea ecx, [esi + 8]
call fcn.0047c600
mov eax, dword [esi + 8]
test eax, eax
je 0x47910a
cmp eax, 0xffffffff
je 0x47910a
push 0x478d00
push eax
call dword [sym.imp.WININET.dll_InternetSetStatusCallbackW]
mov dword [esi + 0xc], eax
push 1
push 0x41
lea ecx, [esi + 8]
call fcn.0047c5b0
sub edi, 0
je 0x479131
sub edi, 1
je 0x47912a
sub edi, 1
jne 0x479152
lea edx, [edi + 4]
jmp 0x479136
mov edx, 3
jmp 0x479136
mov edx, 1
movzx eax, word [esi + 0x10]
mov ecx, eax
test ax, ax
jne 0x479185
mov eax, edx
sub eax, 1
je 0x47917a
sub eax, 2
je 0x479173
sub eax, 1
je 0x47916c
pop ebx
pop ebp
pop edi
mov eax, 0x80004005
pop esi
mov ecx, dword [esp + 0x14]
xor ecx, esp
call fcn.004b2558
add esp, 0x18
ret 0xc
mov eax, 0x1bb
jmp 0x47917f
mov eax, 0x50
jmp 0x47917f
mov eax, 0x15
mov word [esi + 0x10], ax
mov ecx, eax
cmp dword [esi + 0x5c], 0
movzx eax, cx
jne 0x479192
xor edi, edi
jmp 0x47919e
mov edi, dword [esi + 0x58]
test edi, edi
jne 0x47919e
mov edi, 0x649aa0
cmp dword [esi + 0x50], 0
movzx eax, ax
jne 0x4791ab
xor ecx, ecx
jmp 0x4791b7
mov ecx, dword [esi + 0x4c]
test ecx, ecx
jne 0x4791b7
mov ecx, 0x649aa0
cmp dword [esp + 0x14], 0
movzx ebx, ax
jne 0x4791db
pop ebx
pop ebp
pop edi
mov eax, 0x80070057
pop esi
mov ecx, dword [esp + 0x14]
xor ecx, esp
call fcn.004b2558
add esp, 0x18
ret 0xc
lea eax, [edx - 1]
neg eax
push esi
sbb eax, eax
and eax, 0xf8000000
add eax, 0x8000000
push eax
xor eax, eax
cmp edx, 1
setne al
lea eax, [eax*2 + 1]
push eax
push edi
push ecx
push ebx
push dword [esp + 0x2c]
push dword [esi + 8]
call dword [sym.imp.WININET.dll_InternetConnectW]
push eax
lea ecx, [esi + 4]
call fcn.0047bcd0
test eax, eax
jne 0x479244
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
js 0x479246
je 0x479244
pop ebx
pop ebp
movzx eax, ax
pop edi
or eax, 0x83ff0000
pop esi
mov ecx, dword [esp + 0x14]
xor ecx, esp
call fcn.004b2558
add esp, 0x18
ret 0xc
xor eax, eax
pop ebx
pop ebp
mov ecx, dword [esp + 0x1c]
pop edi
pop esi
xor ecx, esp
call fcn.004b2558
add esp, 0x18
ret 0xc