Function at 0x407ef0
Capabilities:
Initialize winsock library
Terminate process

Disassembly:
push 0xffffffffffffffff
push 0x413f4a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1a8
push esi
xor esi, esi
push fcn.00408810
push 1
mov dword [esp + 0x14], str.IPerfService
mov dword [esp + 0x18], 0x408700
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
call fcn.004087e0
push fcn.00408810
push esi
call fcn.004087e0
add esp, 0x10
lea eax, [esp + 0x1c]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
cmp eax, 0xffffffff
jne 0x407f70
push 0x7d
push str.srcmain.cpp
push str.WSAStartup
call fcn.00406bf0
add esp, 0xc
push 1
call fcn.004095b8
push ebx
push ebp
push edi
push 1
push 0x408780
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
push 0x407c60
call fcn.0040942c
push 0x50
call fcn.00409097
mov edi, eax
push 4
mov dword [esp + 0x20], edi
call fcn.00409097
add esp, 0xc
mov dword [esp + 0x10], eax
cmp eax, esi
mov dword [esp + 0x1c0], esi
je 0x407fba
push edi
mov ecx, eax
call fcn.00404500
mov esi, eax
mov ecx, esi
mov dword [esp + 0x1c0], 0xffffffff
call fcn.004050a0
mov ebp, dword [esp + 0x1cc]
mov ebx, dword [esp + 0x1c8]
push ebp
push ebx
mov ecx, esi
call fcn.004050e0
mov ecx, dword [esi]
mov eax, dword [ecx + 0x34]
test eax, eax
jne 0x4080eb
push 0xa0
call fcn.00409097
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov dword [esp + 0x1c0], 1
je 0x40801c
push edi
mov ecx, eax
call fcn.004016c0
mov edi, eax
jmp 0x40801e
xor edi, edi
mov byte [edi + 0x90], 1
mov eax, dword [esi]
cmp byte [eax + 0x44], 1
mov dword [esp + 0x1c0], 0xffffffff
jne 0x40804f
push ebp
push ebx
call fcn.00408330
mov edx, dword [edi]
add esp, 8
push 1
mov ecx, edi
call dword [edx]
jmp 0x408161
cmp byte [eax + 0x49], 1
jne 0x408078
call fcn.004084b0
test eax, eax
je 0x4080a0
push str.IPerf_Service_is_removed._n
call fcn.004090a5
mov eax, dword [edi]
add esp, 4
push 1
mov ecx, edi
call dword [eax]
jmp 0x408161
push ebp
push ebx
call fcn.00408610
add esp, 8
test eax, eax
je 0x4080a0
push str.IPerf_Service_already_exists._n
call fcn.004090a5
mov edx, dword [edi]
add esp, 4
push 1
mov ecx, edi
call dword [edx]
jmp 0x408161
add edi, 0x88
mov ecx, edi
call fcn.00406a40
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x28]
test ecx, ecx
jne 0x40815c
mov ecx, edi
call fcn.004069e0
call fcn.00407d40
mov eax, dword [0x41b368]
test eax, eax
jle 0x40815c
push str.Waiting_for_server_threads_to_complete._Interrupt_again_to_force_quit._n
call fcn.004090a5
push 0
call fcn.004097a8
add esp, 8
jmp 0x40815c
cmp eax, 1
jne 0x40813b
push 0x68
call fcn.00409097
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov dword [esp + 0x1c0], 2
je 0x408119
push edi
mov ecx, eax
call fcn.004065a0
mov edi, eax
jmp 0x40811b
xor edi, edi
lea ecx, [edi + 0x10]
mov dword [esp + 0x1c0], 0xffffffff
call fcn.00401e00
mov ecx, edi
mov byte [edi + 8], 1
call fcn.00406a40
jmp 0x40815c
lea ecx, [esp + 0x18]
push ecx
call dword [sym.imp.ADVAPI32.dll_StartServiceCtrlDispatcherA]
test eax, eax
jne 0x40815c
mov ebp, dword [ebp]
push ebp
push ebp
push str.Usage:__s___s_c_host___options__nTry___s___help_for_more_information._n
call fcn.004090a5
add esp, 0xc
call fcn.00406980
mov ecx, esi
call fcn.00408840
push esi
call fcn.00409092
mov ecx, dword [esp + 0x1bc]
add esp, 4
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
mov dword fs:[0], ecx
add esp, 0x1b4
ret