Function at 0x1400011c0
Capabilities:
Check mutex and terminate process on windows
Check mutex on windows
Create tcp socket
Enumerate processes
Initialize winsock library
Receive data
Receive data on socket
Send data
Send data on socket
Set console window title
Start tcp server
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x490]
sub rsp, 0x590
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x480], rax
xor r13d, r13d
mov dword [rsp + 0x20], r13d
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
test rax, rax
je 0x140001219
mov edx, 5
mov rcx, rax
call qword [sym.imp.USER32.dll_ShowWindow]
lea r8, str.GlobalMyUniqueServerMutex
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
mov rdi, rax
mov qword [rsp + 0x28], rax
test rax, rax
jne 0x14000125f
lea rdx, str.Failed_to_create_or_open_mutex.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001980
mov rcx, rax
lea rdx, [0x140001b60]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
jmp 0x1400018a9
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x140001294
lea rdx, str.Another_instance_is_already_running.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001980
mov rcx, rax
lea rdx, [0x140001b60]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
jmp 0x1400018a0
lea rcx, str._.___...___.___...____._.______..__
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
mov ecx, 0x202
lea rdx, [rbp + 0xe0]
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x1400012c0
lea rdx, str.WSAStartup_failed
jmp 0x140001273
mov edx, 1
mov esi, 2
mov r8d, 6
mov ecx, esi
call qword [sym.imp.WS2_32.dll_socket]
mov rbx, rax
mov qword [rsp + 0x20], rax
cmp rax, 0xffffffffffffffff
jne 0x14000130e
lea rdx, str.Socket_creation_failed
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001980
mov rcx, rax
lea rdx, [0x140001b60]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
jmp 0x14000189a
mov word [rbp + 0xd0], si
mov dword [rbp + 0xd4], r13d
mov ecx, 0x6987
call qword [sym.imp.WS2_32.dll_htons]
mov word [rbp + 0xd2], ax
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp + 0xd0]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
jne 0x140001355
lea rdx, str.Bind_failed
jmp 0x140001875
mov edx, 0x7fffffff
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_listen]
cmp eax, 0xffffffff
jne 0x140001374
lea rdx, str.Listen_failed
jmp 0x140001875
lea rdx, str.Server_is_listening_on_port_27015...
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140001980
mov rcx, rax
lea rdx, [0x140001b60]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_accept]
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x14000186e
lea rdx, str.Client_connected
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140001980
mov rcx, rax
lea rdx, [0x140001b60]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xor r9d, r9d
mov r8d, 0x200
lea rdx, [rbp + 0x280]
mov rcx, r12
call qword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x1400017e7
nop word [rax + rax]
mov ecx, eax
cmp rcx, 0x200
jae 0x1400018f9
mov byte [rbp + rcx + 0x280], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], 0
mov qword [rbp + 0x88], 0
lea rax, [rbp + 0x280]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140001442
lea rdx, [rbp + 0x280]
lea rcx, [rbp + 0x70]
call fcn.140001ba0
nop
lea rdx, str.Received_command:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140001980
lea rdx, [rbp + 0x70]
cmp qword [rbp + 0x88], 0xf
cmova rdx, qword [rbp + 0x70]
mov r8, qword [rbp + 0x80]
mov rcx, rax
call fcn.140001d10
lea rdx, [0x140001b60]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
lea r14, [rbp + 0x70]
mov rbx, qword [rbp + 0x70]
mov rsi, qword [rbp + 0x88]
cmp rsi, 0xf
cmova r14, rbx
mov r15, qword [rbp + 0x80]
cmp r15, 5
jb 0x14000178a
lea rdi, [r15 + r14]
lea r8, [rdi - 4]
sub r8, r14
mov edx, 0x6b
mov rcx, r14
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x14000178a
nop dword [rax]
cmp dword [rax], 0x6c6c696b
jne 0x1400014fe
cmp byte [rax + 4], 0x20
je 0x14000151f
inc rax
lea r8, [rdi - 4]
sub r8, rax
mov edx, 0x6b
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x1400014f0
jmp 0x14000178a
cmp rax, r14
jne 0x14000178a
xorps xmm0, xmm0
movups xmmword [rbp + 0xb0], xmm0
mov qword [rbp + 0xc0], 0
mov qword [rbp + 0xc8], 0
cmp r15, 5
jb 0x1400018f3
lea rax, [r15 - 5]
mov r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp + 0x70]
cmp rsi, 0xf
cmova rdx, rbx
add rdx, 5
lea rcx, [rbp + 0xb0]
call fcn.140001ba0
or r13d, 1
xor edx, edx
mov ecx, 2
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x1400015a6
lea rdx, str.Error:_Unable_to_create_process_snapshot
jmp 0x140001646
mov dword [rsp + 0x40], 0x130
lea rdx, [rsp + 0x40]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_Process32First]
test eax, eax
jne 0x1400015e0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, str.Error:_Unable_to_retrieve_first_process
jmp 0x140001646
lea rdx, [rbp + 0xb0]
cmp qword [rbp + 0xc8], 0xf
cmova rdx, qword [rbp + 0xb0]
lea rcx, [rsp + 0x6c]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
test eax, eax
jne 0x140001624
mov r8d, dword [rsp + 0x48]
xor edx, edx
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rdi, rax
test rax, rax
jne 0x1400017f9
lea rdx, [rsp + 0x40]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
jne 0x1400015e0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, str.Error:_Process_not_found
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001980
lea rdx, [0x140001b60]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xor al, al
lea rdx, str.Failed_to_terminate_process.
test al, al
lea rax, str.Process_terminated_successfully.
cmovne rdx, rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x90], xmm0
mov qword [rbp + 0xa0], 0
mov qword [rbp + 0xa8], 0
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rdx + r8], 0
jne 0x1400016a0
lea rcx, [rbp + 0x90]
call fcn.140001ba0
lea rdx, [rbp + 0x90]
cmp qword [rbp + 0xa8], 0xf
cmova rdx, qword [rbp + 0x90]
xor r9d, r9d
mov r8d, dword [rbp + 0xa0]
mov rcx, r12
call qword [sym.imp.WS2_32.dll_send]
mov rdx, qword [rbp + 0xa8]
cmp rdx, 0xf
jbe 0x140001721
inc rdx
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000171c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400018de
call fcn.1400021dc
mov qword [rbp + 0xa0], 0
mov qword [rbp + 0xa8], send
mov byte [rbp + 0x90], 0
mov rdx, qword [rbp + 0xc8]
cmp rdx, 0xf
jbe 0x14000177f
inc rdx
mov rcx, qword [rbp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000177a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400018e5
call fcn.1400021dc
mov rbx, qword [rbp + 0x70]
mov rsi, qword [rbp + 0x88]
cmp rsi, 0xf
jbe 0x1400017c1
lea rdx, [rsi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x1400017b9
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400018ec
mov rcx, rbx
call fcn.1400021dc
xor r9d, r9d
mov r8d, 0x200
lea rdx, [rbp + 0x280]
mov rcx, r12
call qword [sym.imp.WS2_32.dll_recv]
test eax, eax
jg 0x140001400
mov rbx, qword [rsp + 0x20]
jne 0x140001822
lea rdx, str.Client_disconnected
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
jmp 0x140001830
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov ebx, eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
setne al
jmp 0x140001664
lea rdx, str.Recv_failed
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001980
lea rdx, [0x140001b60]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, r12
call qword [sym.imp.WS2_32.dll_closesocket]
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_accept]
mov r12, rax
cmp rax, 0xffffffffffffffff
jne 0x1400013b2
mov rdi, qword [rsp + 0x28]
lea rdx, str.Accept_failed
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001980
lea rdx, [0x140001b60]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
mov rcx, qword [rbp + 0x480]
xor rcx, rsp
call fcn.140001ee0
lea r11, [rsp + 0x590]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.140001960
nop
call fcn.140002008
int3