Function at 0x406000
Capabilities:
Check os version
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1b4
push esi
push edi
lea edi, [ebp - 0x1b4]
mov ecx, 0x6d
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [0x42228c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1a8], eax
mov ecx, dword [ebp + 8]
shl ecx, 2
push ecx
call fcn.004084f3
add esp, 4
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 8], 0
jmp 0x406057
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
cmp eax, dword [ebp + 8]
jae 0x406076
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 8]
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + eax*4]
mov dword [edx + ecx*4], eax
jmp 0x40604e
mov ecx, dword [ebp - 0x1b0]
push ecx
lea edx, [ebp - 0x1a8]
push edx
call fcn.00404220
add esp, 8
mov eax, dword [ebp - 0x1b0]
push eax
call fcn.00408360
add esp, 4
mov dword [ebp - 0x1b0], 0
lea ecx, [ebp - 0x19c]
push ecx
push 0x202
call sub.WS2_32.dll_WSAStartup
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp esi, esp
call fcn.00415464
and eax, 0xffff
movzx edx, ax
and edx, 0xff
movzx eax, dl
cmp eax, 6
jae 0x4060f8
push str._nPsPing_requires_Windows_Vista_or_higher._n_n
call fcn.00408815
add eax, 0x40
push eax
call fcn.00408781
add esp, 8
push 0xffffffffffffffff
call fcn.00408e09
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00405740
add esp, 8
movzx eax, al
test eax, eax
jne 0x406116
push 0xffffffffffffffff
call fcn.00408e09
mov esi, esp
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
cmp esi, esp
call fcn.00415464
mov dword [0x4276fc], eax
mov esi, esp
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
cmp esi, esp
call fcn.00415464
mov dword [0x427700], eax
mov esi, esp
push 1
push 0x404b70
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
cmp esi, esp
call fcn.00415464
mov ecx, dword [0x42772c]
mov dword [ebp - 0x1b4], ecx
cmp dword [ebp - 0x1b4], 6
ja case.default.0x406183
mov edx, dword [ebp - 0x1b4]
jmp dword [edx*4 + 0x4062f4]
mov eax, dword [0x427728]
push eax
movzx ecx, word [0x427724]
push ecx
mov edx, dword [0x422fe8]
push edx
mov eax, dword [0x422fe4]
push eax
mov ecx, dword [0x422fec]
push ecx
mov edx, dword [0x422fe0]
push edx
push 0x427730
push 0x427a20
call fcn.00402a20
add esp, 0x20
jmp case.default.0x406183
mov eax, dword [0x427728]
push eax
mov ecx, dword [0x422fe8]
push ecx
mov edx, dword [0x422fe4]
push edx
mov eax, dword [0x422fec]
push eax
mov ecx, dword [0x422fe0]
push ecx
push 0x427730
push 0x427a20
call fcn.004031b0
add esp, 0x1c
jmp case.default.0x406183
mov edx, dword [0x427728]
push edx
mov eax, dword [0x422fe8]
push eax
mov ecx, dword [0x427704]
push ecx
mov edx, dword [0x427724]
push edx
mov eax, dword [0x422fec]
push eax
mov ecx, dword [0x422fe0]
push ecx
push 0x427730
push 0x427a20
mov edx, dword [0x42772c]
push edx
call fcn.004037a0
add esp, 0x24
jmp case.default.0x406183
push str.Type_Control_C_to_exit._n
call fcn.004089ca
add esp, 4
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push 0
push 0x427730
push 0x427a20
mov eax, dword [0x42772c]
push eax
call fcn.004037a0
add esp, 0x24
movzx ecx, al
test ecx, ecx
je case.default.0x406183
push 0x41e758
call fcn.004089ca
add esp, 4
jmp 0x406252
jmp 0x406290
xor eax, eax
push edx
mov ecx, ebp
push eax
lea edx, [0x4062c0]
call fcn.00415487
pop eax
pop edx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00407dba
add esp, 0x1b4
cmp ebp, esp
call fcn.00415464
mov esp, ebp
pop ebp
ret