Function at 0x14007c5e0
Capabilities:
Create tcp socket
Get local ipv4 addresses
Get socket information
Set socket configuration

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x128]
sub rsp, 0x200
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x1402bdaf8]
xor rax, rsp
mov qword [rbp + 0xe0], rax
mov r13, rcx
call fcn.1400cba50
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov dword [rsp + 0x28], 1
xor r14d, r14d
mov dword [rsp + 0x20], r14d
xor r9d, r9d
lea edx, [r14 + 1]
mov edi, 2
lea r8d, [r14 + 6]
mov ecx, edi
call qword [sym.imp.WS2_32.dll_WSASocketW]
mov r15, rax
call fcn.1400cba50
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x48], rbx
movaps xmm6, xmmword [rsp + 0x40]
cmp r15, 0xffffffffffffffff
jne 0x14007c686
or r15, r15
jmp 0x14007c69a
mov dword [rsp + 0x40], r14d
call fcn.1400cba50
mov qword [rsp + 0x48], rax
movaps xmm6, xmmword [rsp + 0x40]
mov qword [rsp + 0x68], r15
lea r12, [fcn.140013a20]
cmp r15, 0xffffffffffffffff
jne 0x14007c741
mov rcx, r12
movd eax, xmm6
test eax, eax
cmove rcx, r14
test rcx, rcx
je 0x14007c741
lea rax, vtable.std::exception.0
mov qword [rbp - 0x70], rax
xor eax, eax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x60], rax
lea rdx, str.socket_select_interrupter
mov qword [rsp + 0x40], rdx
mov byte [rsp + 0x48], 1
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x40]
call qword [sym.imp.VCRUNTIME140.dll___std_exception_copy]
lea rax, vtable.boost::system::system_error.0
mov qword [rbp - 0x70], rax
movups xmmword [rbp - 0x58], xmm6
mov qword [rbp - 0x30], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x38], r14
mov byte [rbp - 0x48], 0
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x70]
call fcn.14004a380
nop
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.14004a3d0
lea rdx, [0x1402aaad0]
lea rcx, [rbp - 0x20]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
mov dword [rsp + 0x50], 1
cmp r15, 0xffffffffffffffff
je 0x14007c789
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x50]
mov edx, 0xffff
mov r8d, 4
mov rcx, r15
call qword [sym.imp.WS2_32.dll_setsockopt]
mov ebx, eax
call fcn.1400cba50
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
test ebx, ebx
jne 0x14007c78e
call fcn.1400cba50
mov esi, reloc.WS2_32.dll_recv
xor eax, eax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], rax
mov word [rsp + 0x78], di
mov ecx, 0x7f000001
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rsp + 0x7c], eax
mov word [rsp + 0x7a], r14w
cmp r15, 0xffffffffffffffff
jne 0x14007c7d7
call fcn.1400cba50
mov dword [rsp + 0x40], 0x2719
mov qword [rsp + 0x48], rax
movaps xmm6, xmmword [rsp + 0x40]
jmp 0x14007c825
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov r8d, esi
lea rdx, [rsp + 0x78]
mov rcx, r15
call qword [sym.imp.WS2_32.dll_bind]
mov edi, eax
call fcn.1400cba50
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x48], rbx
movaps xmm6, xmmword [rsp + 0x40]
test edi, edi
jne 0x14007c81c
call fcn.1400cba50
jmp 0x14007c8b6
cmp edi, 0xffffffff
jne 0x14007c8b6
mov rcx, r12
movd eax, xmm6
test eax, eax
cmove rcx, r14
test rcx, rcx
je 0x14007c8b6
lea rax, vtable.std::exception.0
mov qword [rbp - 0x70], rax
xor eax, eax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x60], rax
lea rdx, str.socket_select_interrupter
mov qword [rsp + 0x40], rdx
mov byte [rsp + 0x48], 1
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x40]
call qword [sym.imp.VCRUNTIME140.dll___std_exception_copy]
lea rax, vtable.boost::system::system_error.0
mov qword [rbp - 0x70], rax
movups xmmword [rbp - 0x58], xmm6
mov qword [rbp - 0x30], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x38], r14
mov byte [rbp - 0x48], 0
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x70]
call fcn.14004a380
nop
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.14004a3d0
lea rdx, [0x1402aaad0]
lea rcx, [rbp - 0x20]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
cmp r15, 0xffffffffffffffff
jne 0x14007c8da
call fcn.1400cba50
mov dword [rsp + 0x40], 0x2719
mov qword [rsp + 0x48], rax
movaps xmm6, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x40], xmm6
jmp 0x14007c94d
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov dword [rsp + 0x58], esi
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x78]
mov rcx, r15
call qword [sym.imp.WS2_32.dll_getsockname]
mov edi, eax
movsxd rsi, dword [rsp + 0x58]
call fcn.1400cba50
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x48], rbx
movaps xmm6, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x40], xmm6
test edi, edi
jne 0x14007c944
mov dword [rsp + 0x40], r14d
call fcn.1400cba50
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
jmp 0x14007c9de
cmp edi, 0xffffffff
jne 0x14007c9de
mov rcx, r12
movd eax, xmm6
test eax, eax
cmove rcx, r14
test rcx, rcx
je 0x14007c9de
lea rax, vtable.std::exception.0
mov qword [rbp - 0x70], rax
xor eax, eax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x60], rax
lea rdx, str.socket_select_interrupter
mov qword [rsp + 0x40], rdx
mov byte [rsp + 0x48], 1
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x40]
call qword [sym.imp.VCRUNTIME140.dll___std_exception_copy]
lea rax, vtable.boost::system::system_error.0
mov qword [rbp - 0x70], rax
movups xmmword [rbp - 0x58], xmm6
mov qword [rbp - 0x30], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x38], r14
mov byte [rbp - 0x48], 0
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x70]
call fcn.14004a380
nop
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.14004a3d0
lea rdx, [0x1402aaad0]
lea rcx, [rbp - 0x20]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_htonl]
cmp dword [rsp + 0x7c], eax
jne 0x14007c9fb
mov ecx, 0x7f000001
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rsp + 0x7c], eax
lea r8, [rsp + 0x40]
mov edx, 0x7fffffff
mov rcx, r15
call fcn.14007bad0
cmp eax, 0xffffffff
jne 0x14007ca35
mov rax, r12
cmp dword [rsp + 0x40], 0
cmove rax, r14
test rax, rax
je 0x14007ca35
lea rdx, str.socket_select_interrupter
lea rcx, [rsp + 0x40]
call fcn.1400270b0
int3
lea r9, [rsp + 0x40]
mov edx, 1
lea ecx, [rdx + 1]
lea r8d, [rdx + 5]
call fcn.14007bee0
mov rdi, rax
mov qword [rsp + 0x58], rax
cmp rax, 0xffffffffffffffff
jne 0x14007ca7c
mov rax, r12
cmp dword [rsp + 0x40], 0
cmove rax, r14
test rax, rax
je 0x14007ca7c
lea rdx, str.socket_select_interrupter
lea rcx, [rsp + 0x40]
call fcn.1400270b0
int3
lea r9, [rsp + 0x40]
mov r8, rsi
lea rdx, [rsp + 0x78]
mov rcx, rdi
call fcn.14007b7b0
cmp eax, 0xffffffff
jne 0x14007cab9
mov rax, r12
cmp dword [rsp + 0x40], 0
cmove rax, r14
test rax, rax
je 0x14007cab9
lea rdx, str.socket_select_interrupter
lea rcx, [rsp + 0x40]
call fcn.1400270b0
int3
lea r9, [rsp + 0x40]
mov rcx, r15
call fcn.14007b550
mov rbx, rax
mov qword [rsp + 0x70], rax
cmp rax, 0xffffffffffffffff
jne 0x14007caf7
mov rax, r12
cmp dword [rsp + 0x40], 0
cmove rax, r14
test rax, rax
je 0x14007caf7
lea rdx, str.socket_select_interrupter
lea rcx, [rsp + 0x40]
call fcn.1400270b0
int3
mov dword [rsp + 0x54], 1
mov byte [rsp + 0x30], 0
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x54]
lea rdx, [rsp + 0x30]
mov rcx, rdi
call fcn.14007c080
test eax, eax
je 0x14007cb47
mov rax, r12
cmp dword [rsp + 0x40], 0
cmove rax, r14
test rax, rax
je 0x14007cb47
lea rdx, str.socket_select_interrupter
lea rcx, [rsp + 0x40]
call fcn.1400270b0
int3
mov dword [rsp + 0x50], 1
cmp rdi, 0xffffffffffffffff
jne 0x14007cb74
call fcn.1400cba50
mov dword [rsp + 0x40], 0x2719
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
jmp 0x14007cbe7
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x50]
mov edx, 6
lea r8d, [rdx - 5]
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_setsockopt]
mov r14d, eax
call fcn.1400cba50
mov rsi, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x48], rsi
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
test r14d, r14d
jne 0x14007cbe4
xor r14d, r14d
mov dword [rsp + 0x40], r14d
call fcn.1400cba50
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
jmp 0x14007cbe7
xor r14d, r14d
mov dword [rsp + 0x54], 1
mov byte [rsp + 0x30], 0
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x54]
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.14007c080
test eax, eax
je 0x14007cc34
cmp dword [rsp + 0x40], 0
cmove r12, r14
test r12, r12
je 0x14007cc34
lea rdx, str.socket_select_interrupter
lea rcx, [rsp + 0x40]
call fcn.1400270b0
int3
mov dword [rsp + 0x50], 1
cmp rbx, 0xffffffffffffffff
je 0x14007cc7a
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x50]
mov edx, 6
lea r8d, [rdx - 5]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_setsockopt]
mov esi, eax
call fcn.1400cba50
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
test esi, esi
jne 0x14007cc7f
call fcn.1400cba50
mov qword [r13], rbx
mov qword [r13 + 8], rdi
cmp r15, 0xffffffffffffffff
je 0x14007ccb6
mov dword [rsp + 0x40], r14d
call fcn.1400cba50
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x30], 0
lea r9, [rsp + 0x40]
mov r8b, 1
lea rdx, [rsp + 0x30]
mov rcx, r15
call fcn.140029150
mov rcx, qword [rbp + 0xe0]
xor rcx, rsp
call fcn.1401cf6b0
lea r11, [rsp + 0x200]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret