Function at 0x4e23e4
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 0x4e23ec
push ecx
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x4e2ac6
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4f50b8]
mov edx, 0x4e2adc
call fcn.0040593c
jne 0x4e2458
push 0
lea eax, [ebp - 8]
push eax
call sub.wininet.dll_InternetGetConnectedState
test eax, eax
je 0x4e244c
mov eax, 0x4e2ae8
call fcn.00448454
mov eax, dword [0x4ee200]
mov eax, dword [eax]
call fcn.00474ab0
mov eax, dword [0x4ee200]
mov eax, dword [eax]
call fcn.00474d80
jmp 0x4e2a96
mov eax, dword [0x4ee200]
mov eax, dword [eax]
call fcn.00474ab0
mov eax, dword [0x4f5088]
mov edx, 0x4e2b1c
call fcn.0040593c
jne 0x4e2a96
call fcn.00403530
lea eax, [ebp - 4]
mov edx, 0x4e2b28
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.0043e760
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0xc]
mov edx, 1
call fcn.0043e77c
mov edx, dword [ebp - 0xc]
lea eax, [ebp - 4]
call fcn.00405590
mov eax, 0x270f
call fcn.00403558
lea edx, [ebp - 0x2c]
call fcn.0040a7a0
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x28]
call fcn.004d4928
lea eax, [ebp - 0x28]
lea edx, [ebp - 0x18]
call fcn.004d49a0
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.0043e760
mov edx, dword [ebp - 0x14]
mov eax, 0x4f5198
call fcn.0040554c
push dword [ebp - 4]
push 0x4e2b4c
push dword [0x4f5198]
push 0x4e2b58
mov eax, 0x4f5198
mov edx, 4
call fcn.004058a8
mov eax, 0x270f
call fcn.00403558
lea edx, [ebp - 0x38]
call fcn.0040a7a0
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x28]
call fcn.004d4928
lea eax, [ebp - 0x28]
lea edx, [ebp - 0x34]
call fcn.004d49a0
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.0043e760
mov edx, dword [ebp - 0x30]
mov eax, 0x4f519c
call fcn.0040554c
mov eax, dword [0x4f50f8]
mov edx, 0x4e2adc
call fcn.0040593c
mov eax, dword [0x4ee0d0]
mov eax, dword [eax]
call fcn.0040a8dc
mov ebx, eax
mov eax, dword [0x4f515c]
call fcn.0040a8dc
imul ebx, eax
mov eax, ebx
lea edx, [ebp - 0x3c]
call fcn.0040a7a0
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x4ee0d0]
call fcn.0040554c
mov eax, dword [0x4ee128]
mov eax, dword [eax]
call fcn.0040a8dc
mov ebx, eax
mov eax, dword [0x4f515c]
call fcn.0040a8dc
imul ebx, eax
mov eax, ebx
lea edx, [ebp - 0x40]
call fcn.0040a7a0
mov edx, dword [ebp - 0x40]
mov eax, dword [0x4ee128]
call fcn.0040554c
mov eax, dword [0x4ee200]
mov eax, dword [eax]
call fcn.00474ab0
call fcn.004e20bc
mov eax, dword [0x4ee350]
mov eax, dword [eax]
call fcn.0047101c
mov eax, dword [0x4f50f4]
call fcn.0040a8dc
cmp eax, 6
ja case.0x4e2617.0
jmp dword [eax*4 + 0x4e261e]
push 0
mov eax, dword [0x4f5084]
mov eax, dword [eax + 0x374]
call fcn.004c45c4
jmp 0x4e27f1
push 0xbf800000
mov eax, dword [0x4f5084]
mov eax, dword [eax + 0x374]
call fcn.004c45c4
jmp 0x4e27f1
push 0x3faaaaab
mov eax, dword [0x4f5084]
mov eax, dword [eax + 0x374]
call fcn.004c45c4
jmp 0x4e27f1
push 0x3fe38e39
mov eax, dword [0x4f5084]
mov eax, dword [eax + 0x374]
call fcn.004c45c4
jmp 0x4e27f1
push 0x3feccccd
mov eax, dword [0x4f5084]
mov eax, dword [eax + 0x374]
call fcn.004c45c4
jmp 0x4e27f1
push 0x40166666
mov eax, dword [0x4f5084]
mov eax, dword [eax + 0x374]
call fcn.004c45c4
jmp 0x4e27f1
push 0
mov eax, dword [0x4f5084]
mov eax, dword [eax + 0x374]
call fcn.004c45c4
mov eax, dword [0x4f5084]
mov eax, dword [eax + 0x36c]
xor edx, edx
call fcn.004564f4
mov eax, dword [0x4f5084]
mov eax, dword [eax + 0x36c]
movzx edx, byte [0x4e2b5c]
call fcn.00456268
mov eax, dword [0x4f5084]
mov eax, dword [eax + 0x36c]
mov edx, dword [0x4f51b8]
call fcn.00456868
mov eax, dword [0x4f5084]
mov eax, dword [eax + 0x36c]
mov edx, dword [0x4f51bc]
call fcn.0045689c
mov dl, 2
mov eax, dword [0x4f5084]
call fcn.0046e210
mov eax, dword [0x4f5084]
call fcn.00456aec
mov edx, dword [0x4f5084]
mov edx, dword [edx + 0x36c]
sub eax, dword [edx + 0x48]
sar eax, 1
jns 0x4e2766
adc eax, 0
mov dword [ebp - 0x44], eax
fild dword [ebp - 0x44]
call fcn.00403618
mov ebx, eax
mov eax, dword [0x4f5084]
call fcn.00456b30
mov edx, dword [0x4f5084]
mov edx, dword [edx + 0x378]
sub eax, dword [edx + 0x4c]
mov edx, dword [0x4f5084]
mov edi, dword [edx + 0x36c]
sub eax, dword [edi + 0x4c]
sar eax, 1
jns 0x4e27a2
adc eax, 0
mov dword [ebp - 0x44], eax
fild dword [ebp - 0x44]
call fcn.00403618
mov esi, eax
test ebx, ebx
jl 0x4e27be
mov eax, edi
mov edx, ebx
call fcn.00456800
jmp 0x4e27c7
mov eax, edi
xor edx, edx
call fcn.00456800
test esi, esi
jl 0x4e27df
mov eax, dword [0x4f5084]
mov eax, dword [eax + 0x36c]
mov edx, esi
call fcn.00456834
jmp 0x4e27f1
mov eax, dword [0x4f5084]
mov eax, dword [eax + 0x36c]
xor edx, edx
call fcn.00456834
mov eax, dword [0x4f50f4]
call fcn.0040a8dc
mov edx, eax
mov eax, dword [0x4f5084]
mov eax, dword [eax + 0x3a0]
mov ecx, dword [eax]
call dword [ecx + 0xe0]
mov eax, dword [0x4f50f4]
mov edx, 0x4e2b68
call fcn.0040593c
je 0x4e2935
mov eax, dword [0x4f5084]
mov eax, dword [eax + 0x36c]
xor edx, edx
call fcn.004564f4
mov eax, dword [0x4f5084]
mov eax, dword [eax + 0x36c]
movzx edx, byte [0x4e2b6c]
call fcn.00456268
mov eax, dword [0x4f5084]
mov eax, dword [eax + 0x36c]
xor edx, edx
call fcn.00456800
mov eax, dword [0x4f5084]
mov eax, dword [eax + 0x36c]
xor edx, edx
call fcn.00456834
mov eax, dword [0x4f5084]
call fcn.00456aec
mov edx, eax
mov eax, dword [0x4f5084]
mov eax, dword [eax + 0x36c]
call fcn.00456868
mov eax, dword [0x4f5084]
call fcn.00456b30
mov edx, eax
mov eax, dword [0x4f5084]
mov eax, dword [eax + 0x378]
sub edx, dword [eax + 0x4c]
mov eax, dword [0x4f5084]
mov eax, dword [eax + 0x36c]
call fcn.0045689c
cmp dword [0x4f50ec], 0
je 0x4e2918
cmp dword [0x4f50f0], 0
je 0x4e2918
xor eax, eax
push ebp
push 0x4e290e
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4f50f0]
call fcn.0040a8dc
mov edx, eax
mov eax, dword [0x4f5084]
call fcn.00456868
mov eax, dword [0x4f50ec]
call fcn.0040a8dc
mov edx, eax
mov eax, dword [0x4f5084]
call fcn.0045689c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4e2918
mov eax, dword [0x4f5138]
mov edx, 0x4e2b68
call fcn.0040593c
jne 0x4e2935
mov dl, 3
mov eax, dword [0x4f5084]
call fcn.0046d714
mov eax, dword [0x4ee200]
mov eax, dword [eax]
call fcn.00474ab0
mov eax, dword [0x4ee4c0]
cmp dword [eax], 0
je 0x4e29e3
xor eax, eax
push ebp
push 0x4e29d9
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4f5084]
call fcn.0046c3f8
mov ebx, eax
mov eax, dword [0x4f50d4]
call fcn.0040a8dc
add ebx, eax
mov edx, ebx
mov eax, dword [0x4ee154]
mov eax, dword [eax]
call fcn.00471a28
mov eax, dword [0x4f5084]
call fcn.0046c418
mov ebx, eax
mov eax, dword [0x4f50d8]
call fcn.0040a8dc
add ebx, eax
mov edx, ebx
mov eax, dword [0x4ee154]
mov eax, dword [eax]
call fcn.00471a64
mov edx, dword [0x4ee4c0]
mov edx, dword [edx]
mov eax, dword [0x4ee154]
mov eax, dword [eax]
mov eax, dword [eax + 0x360]
call fcn.004571b0
mov eax, dword [0x4ee154]
mov eax, dword [eax]
call fcn.00471024
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4e29e3
mov eax, dword [0x4ee200]
mov eax, dword [eax]
call fcn.00474ab0
cmp dword [0x4f510c], 0
je 0x4e2a23
mov eax, dword [0x4f510c]
mov edx, 0x4e2b78
call fcn.0040593c
je 0x4e2a23
push 1
push 0
push 0
mov eax, dword [0x4f510c]
call fcn.004059a4
push eax
push 0
push 0
call sub.shell32.dll_ShellExecuteA
mov eax, dword [0x4f5148]
mov edx, 0x4e2adc
call fcn.0040593c
jne 0x4e2a60
xor eax, eax
push ebp
push 0x4e2a56
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.004491a8
mov edx, dword [eax]
call dword [edx + 0x18]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4e2a60
mov eax, dword [0x4f5084]
mov eax, dword [eax + 0x364]
mov dl, 1
call fcn.00442498
mov eax, dword [0x4f5084]
mov eax, dword [eax + 0x360]
mov dl, 1
call fcn.00442498
mov eax, dword [0x4f5084]
mov eax, dword [eax + 0x3a4]
mov dl, 1
call fcn.00442498
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4e2acd
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