Function at 0x1400010c0
Capabilities:
Get socket status
Initialize winsock library
Receive data
Receive data on socket
Send data
Send data on socket
Set socket configuration

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r14
lea rbp, [rsp - 0x1dd0]
mov eax, 0x1ed0
call fcn.1400126d0
sub rsp, rax
mov rax, qword [0x14001e008]
xor rax, rsp
mov qword [rbp + 0x1dc0], rax
xor r12d, r12d
mov qword [rsp + 0x1f00], r15
movsxd r15, ecx
mov rsi, rdx
mov edi, r12d
test ecx, ecx
jle 0x14000114c
mov ebx, r12d
nop dword [rax]
mov rax, qword [rsi + rbx*8]
cmp byte [rax], 0x2d
jne 0x140001142
cmp byte [rax + 1], 0x70
jne 0x140001142
cmp byte [rax + 2], r12b
jne 0x140001142
lea eax, [rdi + 1]
cmp eax, r15d
jg 0x140001142
mov rcx, qword [rsi + rbx*8 + 8]
inc rbx
mov edi, eax
call fcn.140005260
mov dword [0x14001ea30], eax
inc edi
inc rbx
cmp rbx, r15
jl 0x140001110
mov ecx, 0x202
lea rdx, [rbp + 0x370]
call qword [sym.imp.WS2_32.dll_WSAStartup]
mov r15, qword [rsp + 0x1f00]
test eax, eax
je 0x1400011c8
mov ecx, eax
call qword [sym.imp.WS2_32.dll_WSASetLastError]
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, 2
mov ebx, eax
call fcn.1400037d8
lea r8, str.WSAStartup__
mov r9d, ebx
lea rdx, str._n_Server__s_
mov rcx, rax
call fcn.140001010
mov eax, 1
mov rcx, qword [rbp + 0x1dc0]
xor rcx, rsp
call fcn.140001630
mov rbx, qword [rsp + 0x1f10]
add rsp, 0x1ed0
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret
mov edi, 2
xor ecx, ecx
mov word [rsp + 0x38], di
call qword [sym.imp.WS2_32.dll_htonl]
movzx ecx, word [0x14001ea30]
mov dword [rsp + 0x3c], eax
call qword [sym.imp.WS2_32.dll_htons]
lea edx, [rdi - 1]
mov ecx, edi
lea r8d, [rdi + 4]
mov word [rsp + 0x3a], ax
call qword [sym.imp.WS2_32.dll_socket]
mov r14, rax
cmp rax, 0xffffffffffffffff
jne 0x140001223
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, edi
mov ebx, eax
call fcn.1400037d8
lea r8, str.socket__
jmp 0x14000118b
lea r8, [rsp + 0x30]
mov dword [rsp + 0x30], 1
mov edx, 0x8004667e
mov rcx, r14
call qword [sym.imp.WS2_32.dll_ioctlsocket]
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x38]
mov rcx, r14
call qword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
jne 0x14000128d
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, edi
mov ebx, eax
call fcn.1400037d8
mov rcx, rax
lea r8, str.bind__
mov r9d, ebx
lea rdx, str._n_Server__s_
call fcn.140001010
mov rcx, r14
call qword [sym.imp.WS2_32.dll_closesocket]
jmp 0x14000119d
mov edx, 5
mov rcx, r14
call qword [sym.imp.WS2_32.dll_listen]
cmp eax, 0xffffffff
jne 0x1400012d1
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, edi
mov ebx, eax
call fcn.1400037d8
mov rcx, rax
lea r8, str.listen__
mov r9d, ebx
lea rdx, str._n_Server__s_
call fcn.140001010
mov rcx, r14
call qword [sym.imp.WS2_32.dll_closesocket]
mov r8d, dword [0x14001ea30]
lea rdx, str.127.0.0.1
lea rcx, [0x14001b5f8]
call fcn.140001060
mov dword [0x14001fbf0], r12d
nop dword [rax]
nop word [rax + rax]
mov eax, dword [0x14001fbf0]
mov edx, r12d
mov dword [rbp + 0x160], edx
mov r8d, 1
mov qword [rsp + 0x58], r14
mov r11, r14
mov dword [rsp + 0x50], r8d
test eax, eax
jle 0x1400013d1
lea r10, [rbp + 0x510]
mov ebx, eax
cmp dword [r10 + 8], 0x20
jne 0x140001376
mov ecx, r12d
test edx, edx
je 0x140001354
mov r9, qword [r10]
cmp qword [rbp + rcx*8 + 0x168], r9
je 0x140001354
inc ecx
cmp ecx, edx
jb 0x140001344
cmp ecx, edx
jne 0x140001376
cmp edx, 0x40
jae 0x140001376
mov rax, qword [r10]
mov qword [rbp + rcx*8 + 0x168], rax
mov edx, dword [rbp + 0x160]
inc edx
mov dword [rbp + 0x160], edx
mov eax, r12d
test r8d, r8d
je 0x140001391
mov r9, qword [r10]
mov ecx, eax
cmp qword [rsp + rcx*8 + 0x58], r9
je 0x140001391
inc eax
cmp eax, r8d
jb 0x140001381
cmp eax, r8d
jne 0x1400013b3
cmp r8d, 0x40
jae 0x1400013b3
mov ecx, eax
mov rax, qword [r10]
mov qword [rsp + rcx*8 + 0x58], rax
mov r8d, dword [rsp + 0x50]
inc r8d
mov dword [rsp + 0x50], r8d
mov rax, qword [r10]
add r10, 0x278
cmp r11, rax
cmova rax, r11
mov r11, rax
sub rbx, 1
jne 0x140001333
xor r9d, r9d
mov qword [rsp + 0x20], r12
lea r8, [rbp + 0x160]
xor ecx, ecx
lea rdx, [rsp + 0x50]
call qword [sym.imp.WS2_32.dll_select]
lea rdx, [rsp + 0x50]
mov rcx, r14
call qword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
jne 0x1400015c6
cmp dword [rsp + 0x50], r12d
jbe 0x1400014f1
mov ebx, r12d
cmp dword [0x14001fbf0], ebx
jle 0x1400014f1
mov rdi, r12
mov rcx, qword [rbp + rdi + 0x510]
lea rdx, [rsp + 0x50]
call qword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
je 0x1400014dc
movsxd rax, ebx
lea rsi, [rbp + 0x580]
imul rcx, rax, 0x278
xor r9d, r9d
mov r8d, 0x200
add rsi, rcx
mov rcx, qword [rbp + rdi + 0x510]
mov rdx, rsi
call qword [sym.imp.WS2_32.dll_recv]
lea ecx, [rax + 1]
cmp ecx, 1
jbe 0x1400014a2
movsxd rcx, eax
mov rdx, rsi
add rcx, rdi
mov byte [rbp + rcx + 0x580], r12b
lea rcx, [0x14001b630]
mov dword [rbp + rdi + 0x784], eax
mov dword [rbp + rdi + 0x518], 0x20
call fcn.140001060
jmp 0x1400014dc
mov rcx, qword [rbp + rdi + 0x510]
call qword [sym.imp.WS2_32.dll_closesocket]
mov edx, dword [0x14001fbf0]
dec edx
cmp ebx, edx
jge 0x1400014d6
mov r8, qword [rbp + rdi + 0x788]
mov ecx, edx
sub ecx, ebx
sub rcx, 1
jne 0x1400014c8
mov qword [rbp + rdi + 0x510], r8
mov dword [0x14001fbf0], edx
inc ebx
add rdi, 0x278
cmp ebx, dword [0x14001fbf0]
jl 0x140001420
cmp dword [rbp + 0x160], r12d
jbe 0x140001300
cmp dword [0x14001fbf0], r12d
mov edi, r12d
jle 0x140001300
lea rbx, [rbp + 0x510]
nop word [rax + rax]
mov rcx, qword [rbx]
lea rdx, [rbp + 0x160]
call qword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
je 0x1400015ac
cmp dword [rbx + 8], 0x20
jne 0x1400015ac
mov r8d, dword [rbx + 0x274]
lea rdx, [rbp + 0x580]
movsxd rax, edi
xor r9d, r9d
imul rcx, rax, 0x278
add rdx, rcx
mov rcx, qword [rbx]
call qword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x140001597
mov rcx, qword [rbx]
call qword [sym.imp.WS2_32.dll_closesocket]
mov edx, dword [0x14001fbf0]
dec edx
cmp edi, edx
jge 0x14000158f
mov r8, qword [rbx + 0x278]
mov ecx, edx
sub ecx, edi
sub rcx, 1
jne 0x140001586
mov qword [rbx], r8
mov dword [0x14001fbf0], edx
jmp 0x1400015ac
mov edx, eax
mov dword [rbx + 8], reloc.WS2_32.dll_recv
lea rcx, str._Server_
call fcn.140001060
inc edi
add rbx, 0x278
cmp edi, dword [0x14001fbf0]
jl 0x140001520
jmp 0x140001300
xor r8d, r8d
xor edx, edx
mov rcx, r14
call qword [sym.imp.WS2_32.dll_accept]
movsxd r8, dword [0x14001fbf0]
lea rcx, str._Server_accept_sockeID:_d_n
imul rdx, r8, 0x278
inc r8d
mov dword [0x14001fbf0], r8d
mov qword [rbp + rdx + 0x510], rax
mov dword [rbp + rdx + 0x518], reloc.WS2_32.dll_recv
mov rdx, rax
call fcn.140001060
jmp 0x140001300