Function at 0x4e2ff8
Capabilities:
Check internet connectivity via wininet
Create process on windows

Disassembly:
push ebp
mov ebp, esp
mov ecx, 8
push 0
push 0
dec ecx
jne 0x4e3000
push ecx
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x4e36da
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4f50bc]
mov edx, 0x4e36f0
call fcn.0040593c
jne 0x4e306c
push 0
lea eax, [ebp - 8]
push eax
call sub.wininet.dll_InternetGetConnectedState
test eax, eax
je 0x4e3060
mov eax, 0x4e36fc
call fcn.00448490
mov eax, dword [0x4ee208]
mov eax, dword [eax]
call fcn.00474aec
mov eax, dword [0x4ee208]
mov eax, dword [eax]
call fcn.00474dbc
jmp 0x4e36aa
mov eax, dword [0x4ee208]
mov eax, dword [eax]
call fcn.00474aec
mov eax, dword [0x4f508c]
mov edx, 0x4e3730
call fcn.0040593c
jne 0x4e36aa
call fcn.00403530
lea eax, [ebp - 4]
mov edx, 0x4e373c
call fcn.00405590
mov eax, 0x18
call fcn.00403558
mov edx, eax
inc edx
lea ecx, [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043e79c
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0xc]
mov edx, 1
call fcn.0043e7b8
mov edx, dword [ebp - 0xc]
lea eax, [ebp - 4]
call fcn.00405590
mov eax, 0x270f
call fcn.00403558
lea edx, [ebp - 0x2c]
call fcn.0040a7a8
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x28]
call fcn.004d4938
lea eax, [ebp - 0x28]
lea edx, [ebp - 0x18]
call fcn.004d49b0
mov eax, dword [ebp - 0x18]
push eax
mov eax, 5
call fcn.00403558
mov edx, eax
inc edx
lea ecx, [ebp - 0x14]
pop eax
call fcn.0043e79c
mov edx, dword [ebp - 0x14]
mov eax, 0x4f51b0
call fcn.0040554c
push dword [ebp - 4]
push 0x4e3760
push dword [0x4f51b0]
push 0x4e376c
mov eax, 0x4f51b0
mov edx, 4
call fcn.004058a8
mov eax, 0x270f
call fcn.00403558
lea edx, [ebp - 0x38]
call fcn.0040a7a8
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x28]
call fcn.004d4938
lea eax, [ebp - 0x28]
lea edx, [ebp - 0x34]
call fcn.004d49b0
mov eax, dword [ebp - 0x34]
push eax
mov eax, 0x14
call fcn.00403558
mov edx, eax
add edx, 0xa
lea ecx, [ebp - 0x30]
pop eax
call fcn.0043e79c
mov edx, dword [ebp - 0x30]
mov eax, 0x4f51b4
call fcn.0040554c
mov eax, dword [0x4f50fc]
mov edx, 0x4e36f0
call fcn.0040593c
mov eax, dword [0x4ee0d8]
mov eax, dword [eax]
call fcn.0040a8e4
mov ebx, eax
mov eax, dword [0x4f5160]
call fcn.0040a8e4
imul ebx, eax
mov eax, ebx
lea edx, [ebp - 0x3c]
call fcn.0040a7a8
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x4ee0d8]
call fcn.0040554c
mov eax, dword [0x4ee130]
mov eax, dword [eax]
call fcn.0040a8e4
mov ebx, eax
mov eax, dword [0x4f5160]
call fcn.0040a8e4
imul ebx, eax
mov eax, ebx
lea edx, [ebp - 0x40]
call fcn.0040a7a8
mov edx, dword [ebp - 0x40]
mov eax, dword [0x4ee130]
call fcn.0040554c
mov eax, dword [0x4ee208]
mov eax, dword [eax]
call fcn.00474aec
call fcn.004e2b88
mov eax, dword [0x4ee358]
mov eax, dword [eax]
call fcn.00471058
mov eax, dword [0x4f50f8]
call fcn.0040a8e4
cmp eax, 6
ja case.0x4e322b.0
jmp dword [eax*4 + 0x4e3232]
push 0
mov eax, dword [0x4f5088]
mov eax, dword [eax + 0x374]
call fcn.004c45d4
jmp 0x4e3405
push 0xbf800000
mov eax, dword [0x4f5088]
mov eax, dword [eax + 0x374]
call fcn.004c45d4
jmp 0x4e3405
push 0x3faaaaab
mov eax, dword [0x4f5088]
mov eax, dword [eax + 0x374]
call fcn.004c45d4
jmp 0x4e3405
push 0x3fe38e39
mov eax, dword [0x4f5088]
mov eax, dword [eax + 0x374]
call fcn.004c45d4
jmp 0x4e3405
push 0x3feccccd
mov eax, dword [0x4f5088]
mov eax, dword [eax + 0x374]
call fcn.004c45d4
jmp 0x4e3405
push 0x40166666
mov eax, dword [0x4f5088]
mov eax, dword [eax + 0x374]
call fcn.004c45d4
jmp 0x4e3405
push 0
mov eax, dword [0x4f5088]
mov eax, dword [eax + 0x374]
call fcn.004c45d4
mov eax, dword [0x4f5088]
mov eax, dword [eax + 0x36c]
xor edx, edx
call fcn.00456530
mov eax, dword [0x4f5088]
mov eax, dword [eax + 0x36c]
movzx edx, byte [0x4e3770]
call fcn.004562a4
mov eax, dword [0x4f5088]
mov eax, dword [eax + 0x36c]
mov edx, dword [0x4f51d4]
call fcn.004568a4
mov eax, dword [0x4f5088]
mov eax, dword [eax + 0x36c]
mov edx, dword [0x4f51d8]
call fcn.004568d8
mov dl, 2
mov eax, dword [0x4f5088]
call fcn.0046e24c
mov eax, dword [0x4f5088]
call fcn.00456b28
mov edx, dword [0x4f5088]
mov edx, dword [edx + 0x36c]
sub eax, dword [edx + 0x48]
sar eax, 1
jns 0x4e337a
adc eax, 0
mov dword [ebp - 0x44], eax
fild dword [ebp - 0x44]
call fcn.00403618
mov ebx, eax
mov eax, dword [0x4f5088]
call fcn.00456b6c
mov edx, dword [0x4f5088]
mov edx, dword [edx + 0x378]
sub eax, dword [edx + 0x4c]
mov edx, dword [0x4f5088]
mov edi, dword [edx + 0x36c]
sub eax, dword [edi + 0x4c]
sar eax, 1
jns 0x4e33b6
adc eax, 0
mov dword [ebp - 0x44], eax
fild dword [ebp - 0x44]
call fcn.00403618
mov esi, eax
test ebx, ebx
jl 0x4e33d2
mov eax, edi
mov edx, ebx
call fcn.0045683c
jmp 0x4e33db
mov eax, edi
xor edx, edx
call fcn.0045683c
test esi, esi
jl 0x4e33f3
mov eax, dword [0x4f5088]
mov eax, dword [eax + 0x36c]
mov edx, esi
call fcn.00456870
jmp 0x4e3405
mov eax, dword [0x4f5088]
mov eax, dword [eax + 0x36c]
xor edx, edx
call fcn.00456870
mov eax, dword [0x4f50f8]
call fcn.0040a8e4
mov edx, eax
mov eax, dword [0x4f5088]
mov eax, dword [eax + 0x3a0]
mov ecx, dword [eax]
call dword [ecx + 0xe0]
mov eax, dword [0x4f50f8]
mov edx, 0x4e377c
call fcn.0040593c
je 0x4e3549
mov eax, dword [0x4f5088]
mov eax, dword [eax + 0x36c]
xor edx, edx
call fcn.00456530
mov eax, dword [0x4f5088]
mov eax, dword [eax + 0x36c]
movzx edx, byte [0x4e3780]
call fcn.004562a4
mov eax, dword [0x4f5088]
mov eax, dword [eax + 0x36c]
xor edx, edx
call fcn.0045683c
mov eax, dword [0x4f5088]
mov eax, dword [eax + 0x36c]
xor edx, edx
call fcn.00456870
mov eax, dword [0x4f5088]
call fcn.00456b28
mov edx, eax
mov eax, dword [0x4f5088]
mov eax, dword [eax + 0x36c]
call fcn.004568a4
mov eax, dword [0x4f5088]
call fcn.00456b6c
mov edx, eax
mov eax, dword [0x4f5088]
mov eax, dword [eax + 0x378]
sub edx, dword [eax + 0x4c]
mov eax, dword [0x4f5088]
mov eax, dword [eax + 0x36c]
call fcn.004568d8
cmp dword [0x4f50f0], 0
je 0x4e352c
cmp dword [0x4f50f4], 0
je 0x4e352c
xor eax, eax
push ebp
push 0x4e3522
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4f50f4]
call fcn.0040a8e4
mov edx, eax
mov eax, dword [0x4f5088]
call fcn.004568a4
mov eax, dword [0x4f50f0]
call fcn.0040a8e4
mov edx, eax
mov eax, dword [0x4f5088]
call fcn.004568d8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4e352c
mov eax, dword [0x4f513c]
mov edx, 0x4e377c
call fcn.0040593c
jne 0x4e3549
mov dl, 3
mov eax, dword [0x4f5088]
call fcn.0046d750
mov eax, dword [0x4ee208]
mov eax, dword [eax]
call fcn.00474aec
mov eax, dword [0x4ee4d0]
cmp dword [eax], 0
je 0x4e35f7
xor eax, eax
push ebp
push 0x4e35ed
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4f5088]
call fcn.0046c434
mov ebx, eax
mov eax, dword [0x4f50d8]
call fcn.0040a8e4
add ebx, eax
mov edx, ebx
mov eax, dword [0x4ee15c]
mov eax, dword [eax]
call fcn.00471a64
mov eax, dword [0x4f5088]
call fcn.0046c454
mov ebx, eax
mov eax, dword [0x4f50dc]
call fcn.0040a8e4
add ebx, eax
mov edx, ebx
mov eax, dword [0x4ee15c]
mov eax, dword [eax]
call fcn.00471aa0
mov edx, dword [0x4ee4d0]
mov edx, dword [edx]
mov eax, dword [0x4ee15c]
mov eax, dword [eax]
mov eax, dword [eax + 0x360]
call fcn.004571ec
mov eax, dword [0x4ee15c]
mov eax, dword [eax]
call fcn.00471060
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4e35f7
mov eax, dword [0x4ee208]
mov eax, dword [eax]
call fcn.00474aec
cmp dword [0x4f5110], 0
je 0x4e3637
mov eax, dword [0x4f5110]
mov edx, 0x4e378c
call fcn.0040593c
je 0x4e3637
push 1
push 0
push 0
mov eax, dword [0x4f5110]
call fcn.004059a4
push eax
push 0
push 0
call sub.shell32.dll_ShellExecuteA
mov eax, dword [0x4f514c]
mov edx, 0x4e36f0
call fcn.0040593c
jne 0x4e3674
xor eax, eax
push ebp
push 0x4e366a
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.004491e4
mov edx, dword [eax]
call dword [edx + 0x18]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4e3674
mov eax, dword [0x4f5088]
mov eax, dword [eax + 0x364]
mov dl, 1
call fcn.004424d4
mov eax, dword [0x4f5088]
mov eax, dword [eax + 0x360]
mov dl, 1
call fcn.004424d4
mov eax, dword [0x4f5088]
mov eax, dword [eax + 0x3a4]
mov dl, 1
call fcn.004424d4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4e36e1
lea eax, [ebp - 0x40]
mov edx, 6
call fcn.0040551c
lea eax, [ebp - 0x18]
mov edx, 4
call fcn.0040551c
lea eax, [ebp - 4]
call fcn.004054f8
ret