Function at 0x4e3790
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 0x4e3798
push ecx
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x4e3e72
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4f60bc]
mov edx, 0x4e3e88
call fcn.0040593c
jne 0x4e3804
push 0
lea eax, [ebp - 8]
push eax
call sub.wininet.dll_InternetGetConnectedState
test eax, eax
je 0x4e37f8
mov eax, 0x4e3e94
call fcn.00448490
mov eax, dword [0x4ef20c]
mov eax, dword [eax]
call fcn.00474aec
mov eax, dword [0x4ef20c]
mov eax, dword [eax]
call fcn.00474dbc
jmp 0x4e3e42
mov eax, dword [0x4ef20c]
mov eax, dword [eax]
call fcn.00474aec
mov eax, dword [0x4f608c]
mov edx, 0x4e3ec8
call fcn.0040593c
jne 0x4e3e42
call fcn.00403530
lea eax, [ebp - 4]
mov edx, 0x4e3ed4
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.004d4960
lea eax, [ebp - 0x28]
lea edx, [ebp - 0x18]
call fcn.004d49d8
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, 0x4f61b0
call fcn.0040554c
push dword [ebp - 4]
push 0x4e3ef8
push dword [0x4f61b0]
push 0x4e3f04
mov eax, 0x4f61b0
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.004d4960
lea eax, [ebp - 0x28]
lea edx, [ebp - 0x34]
call fcn.004d49d8
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, 0x4f61b4
call fcn.0040554c
mov eax, dword [0x4f60fc]
mov edx, 0x4e3e88
call fcn.0040593c
mov eax, dword [0x4ef0dc]
mov eax, dword [eax]
call fcn.0040a8e4
mov ebx, eax
mov eax, dword [0x4f6160]
call fcn.0040a8e4
imul ebx, eax
mov eax, ebx
lea edx, [ebp - 0x3c]
call fcn.0040a7a8
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x4ef0dc]
call fcn.0040554c
mov eax, dword [0x4ef134]
mov eax, dword [eax]
call fcn.0040a8e4
mov ebx, eax
mov eax, dword [0x4f6160]
call fcn.0040a8e4
imul ebx, eax
mov eax, ebx
lea edx, [ebp - 0x40]
call fcn.0040a7a8
mov edx, dword [ebp - 0x40]
mov eax, dword [0x4ef134]
call fcn.0040554c
mov eax, dword [0x4ef20c]
mov eax, dword [eax]
call fcn.00474aec
call fcn.004e3320
mov eax, dword [0x4ef35c]
mov eax, dword [eax]
call fcn.00471058
mov eax, dword [0x4f60f8]
call fcn.0040a8e4
cmp eax, 6
ja case.0x4e39c3.0
jmp dword [eax*4 + 0x4e39ca]
push 0
mov eax, dword [0x4f6088]
mov eax, dword [eax + 0x374]
call fcn.004c45fc
jmp 0x4e3b9d
push 0xbf800000
mov eax, dword [0x4f6088]
mov eax, dword [eax + 0x374]
call fcn.004c45fc
jmp 0x4e3b9d
push 0x3faaaaab
mov eax, dword [0x4f6088]
mov eax, dword [eax + 0x374]
call fcn.004c45fc
jmp 0x4e3b9d
push 0x3fe38e39
mov eax, dword [0x4f6088]
mov eax, dword [eax + 0x374]
call fcn.004c45fc
jmp 0x4e3b9d
push 0x3feccccd
mov eax, dword [0x4f6088]
mov eax, dword [eax + 0x374]
call fcn.004c45fc
jmp 0x4e3b9d
push 0x40166666
mov eax, dword [0x4f6088]
mov eax, dword [eax + 0x374]
call fcn.004c45fc
jmp 0x4e3b9d
push 0
mov eax, dword [0x4f6088]
mov eax, dword [eax + 0x374]
call fcn.004c45fc
mov eax, dword [0x4f6088]
mov eax, dword [eax + 0x36c]
xor edx, edx
call fcn.00456530
mov eax, dword [0x4f6088]
mov eax, dword [eax + 0x36c]
movzx edx, byte [0x4e3f08]
call fcn.004562a4
mov eax, dword [0x4f6088]
mov eax, dword [eax + 0x36c]
mov edx, dword [0x4f61d4]
call fcn.004568a4
mov eax, dword [0x4f6088]
mov eax, dword [eax + 0x36c]
mov edx, dword [0x4f61d8]
call fcn.004568d8
mov dl, 2
mov eax, dword [0x4f6088]
call fcn.0046e24c
mov eax, dword [0x4f6088]
call fcn.00456b28
mov edx, dword [0x4f6088]
mov edx, dword [edx + 0x36c]
sub eax, dword [edx + 0x48]
sar eax, 1
jns 0x4e3b12
adc eax, 0
mov dword [ebp - 0x44], eax
fild dword [ebp - 0x44]
call fcn.00403618
mov ebx, eax
mov eax, dword [0x4f6088]
call fcn.00456b6c
mov edx, dword [0x4f6088]
mov edx, dword [edx + 0x378]
sub eax, dword [edx + 0x4c]
mov edx, dword [0x4f6088]
mov edi, dword [edx + 0x36c]
sub eax, dword [edi + 0x4c]
sar eax, 1
jns 0x4e3b4e
adc eax, 0
mov dword [ebp - 0x44], eax
fild dword [ebp - 0x44]
call fcn.00403618
mov esi, eax
test ebx, ebx
jl 0x4e3b6a
mov eax, edi
mov edx, ebx
call fcn.0045683c
jmp 0x4e3b73
mov eax, edi
xor edx, edx
call fcn.0045683c
test esi, esi
jl 0x4e3b8b
mov eax, dword [0x4f6088]
mov eax, dword [eax + 0x36c]
mov edx, esi
call fcn.00456870
jmp 0x4e3b9d
mov eax, dword [0x4f6088]
mov eax, dword [eax + 0x36c]
xor edx, edx
call fcn.00456870
mov eax, dword [0x4f60f8]
call fcn.0040a8e4
mov edx, eax
mov eax, dword [0x4f6088]
mov eax, dword [eax + 0x3a0]
mov ecx, dword [eax]
call dword [ecx + 0xe0]
mov eax, dword [0x4f60f8]
mov edx, 0x4e3f14
call fcn.0040593c
je 0x4e3ce1
mov eax, dword [0x4f6088]
mov eax, dword [eax + 0x36c]
xor edx, edx
call fcn.00456530
mov eax, dword [0x4f6088]
mov eax, dword [eax + 0x36c]
movzx edx, byte [0x4e3f18]
call fcn.004562a4
mov eax, dword [0x4f6088]
mov eax, dword [eax + 0x36c]
xor edx, edx
call fcn.0045683c
mov eax, dword [0x4f6088]
mov eax, dword [eax + 0x36c]
xor edx, edx
call fcn.00456870
mov eax, dword [0x4f6088]
call fcn.00456b28
mov edx, eax
mov eax, dword [0x4f6088]
mov eax, dword [eax + 0x36c]
call fcn.004568a4
mov eax, dword [0x4f6088]
call fcn.00456b6c
mov edx, eax
mov eax, dword [0x4f6088]
mov eax, dword [eax + 0x378]
sub edx, dword [eax + 0x4c]
mov eax, dword [0x4f6088]
mov eax, dword [eax + 0x36c]
call fcn.004568d8
cmp dword [0x4f60f0], 0
je 0x4e3cc4
cmp dword [0x4f60f4], 0
je 0x4e3cc4
xor eax, eax
push ebp
push 0x4e3cba
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4f60f4]
call fcn.0040a8e4
mov edx, eax
mov eax, dword [0x4f6088]
call fcn.004568a4
mov eax, dword [0x4f60f0]
call fcn.0040a8e4
mov edx, eax
mov eax, dword [0x4f6088]
call fcn.004568d8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4e3cc4
mov eax, dword [0x4f613c]
mov edx, 0x4e3f14
call fcn.0040593c
jne 0x4e3ce1
mov dl, 3
mov eax, dword [0x4f6088]
call fcn.0046d750
mov eax, dword [0x4ef20c]
mov eax, dword [eax]
call fcn.00474aec
mov eax, dword [0x4ef4d4]
cmp dword [eax], 0
je 0x4e3d8f
xor eax, eax
push ebp
push 0x4e3d85
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4f6088]
call fcn.0046c434
mov ebx, eax
mov eax, dword [0x4f60d8]
call fcn.0040a8e4
add ebx, eax
mov edx, ebx
mov eax, dword [0x4ef160]
mov eax, dword [eax]
call fcn.00471a64
mov eax, dword [0x4f6088]
call fcn.0046c454
mov ebx, eax
mov eax, dword [0x4f60dc]
call fcn.0040a8e4
add ebx, eax
mov edx, ebx
mov eax, dword [0x4ef160]
mov eax, dword [eax]
call fcn.00471aa0
mov edx, dword [0x4ef4d4]
mov edx, dword [edx]
mov eax, dword [0x4ef160]
mov eax, dword [eax]
mov eax, dword [eax + 0x360]
call fcn.004571ec
mov eax, dword [0x4ef160]
mov eax, dword [eax]
call fcn.00471060
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4e3d8f
mov eax, dword [0x4ef20c]
mov eax, dword [eax]
call fcn.00474aec
cmp dword [0x4f6110], 0
je 0x4e3dcf
mov eax, dword [0x4f6110]
mov edx, 0x4e3f24
call fcn.0040593c
je 0x4e3dcf
push 1
push 0
push 0
mov eax, dword [0x4f6110]
call fcn.004059a4
push eax
push 0
push 0
call sub.shell32.dll_ShellExecuteA
mov eax, dword [0x4f614c]
mov edx, 0x4e3e88
call fcn.0040593c
jne 0x4e3e0c
xor eax, eax
push ebp
push 0x4e3e02
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 0x4e3e0c
mov eax, dword [0x4f6088]
mov eax, dword [eax + 0x364]
mov dl, 1
call fcn.004424d4
mov eax, dword [0x4f6088]
mov eax, dword [eax + 0x360]
mov dl, 1
call fcn.004424d4
mov eax, dword [0x4f6088]
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 0x4e3e79
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