Function at 0x140069760
Capabilities:
Act as tcp client
Connect tcp socket
Get local ipv4 addresses
Get socket information
Set socket configuration
Start tcp server

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x1402cf480]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov r13, rcx
call fcn.1400b35b0
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov dword [rsp + 0x28], 1
xor r12d, r12d
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea edx, [r12 + 1]
lea r8d, [r12 + 6]
mov r15d, 2
mov ecx, r15d
call qword [sym.imp.WS2_32.dll_WSASocketW]
mov r14, rax
call fcn.1400b35b0
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp - 0x50], eax
mov qword [rbp - 0x48], rbx
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x50], xmm0
mov rsi, 0xffffffffffffffff
cmp r14, rsi
jne 0x1400697fe
mov r14, rsi
jmp 0x140069817
mov dword [rbp - 0x50], r12d
call fcn.1400b35b0
mov qword [rbp - 0x48], rax
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x50], xmm0
mov eax, r12d
mov qword [rbp - 0x30], r14
cmp r14, 0xffffffffffffffff
jne 0x140069864
lea rdi, [fcn.140015200]
test eax, eax
cmove rdi, r12
test rdi, rdi
jne 0x140069d80
mov dword [rbp - 0x40], 1
call fcn.1400b35b0
mov qword [rbp - 0x18], r12
mov word [rbp - 0x20], r15w
mov ecx, 0x7f000001
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rbp - 0x1c], eax
mov word [rbp - 0x1e], r12w
jmp 0x140069d66
mov dword [rbp - 0x40], 1
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov dword [rsp + 0x20], 4
lea r9, [rbp - 0x40]
mov edx, 0xffff
mov r8d, 4
mov rcx, r14
call qword [sym.imp.WS2_32.dll_setsockopt]
mov ebx, eax
call fcn.1400b35b0
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
test ebx, ebx
jne 0x140069916
call fcn.1400b35b0
mov qword [rbp - 0x18], r12
mov word [rbp - 0x20], r15w
mov ecx, 0x7f000001
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rbp - 0x1c], eax
mov word [rbp - 0x1e], r12w
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp - 0x20]
mov rcx, r14
call qword [sym.imp.WS2_32.dll_bind]
mov r15d, eax
call fcn.1400b35b0
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, eax
mov dword [rbp - 0x50], eax
mov qword [rbp - 0x48], rbx
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x50], xmm0
lea rdi, [fcn.140015200]
test r15d, r15d
jne 0x14006993e
call fcn.1400b35b0
jmp 0x140069956
mov qword [rbp - 0x18], r12
mov word [rbp - 0x20], r15w
mov ecx, 0x7f000001
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rbp - 0x1c], eax
mov word [rbp - 0x1e], r12w
cmp r14, 0xffffffffffffffff
je 0x140069d66
jmp 0x1400698c5
cmp r15d, 0xffffffff
jne 0x140069956
mov rax, rdi
test ecx, ecx
cmove rax, r12
test rax, rax
jne 0x140069d80
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov dword [rbp - 0x38], reloc.WS2_32.dll_recv
lea r8, [rbp - 0x38]
lea rdx, [rbp - 0x20]
mov rcx, r14
call qword [sym.imp.WS2_32.dll_getsockname]
mov r15d, eax
movsxd r12, dword [rbp - 0x38]
call fcn.1400b35b0
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, eax
mov dword [rbp - 0x50], eax
mov qword [rbp - 0x48], rbx
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x50], xmm0
test r15d, r15d
jne 0x1400699a9
call fcn.1400b35b0
jmp 0x1400699c6
cmp r15d, 0xffffffff
jne 0x1400699c6
mov rax, rdi
test ecx, ecx
mov ecx, 0
cmove rax, rcx
test rax, rax
jne 0x140069d80
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_htonl]
cmp dword [rbp - 0x1c], eax
jne 0x1400699e1
mov ecx, 0x7f000001
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rbp - 0x1c], eax
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov edx, 0x7fffffff
mov rcx, r14
call qword [sym.imp.WS2_32.dll_listen]
mov r15d, eax
call fcn.1400b35b0
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, eax
mov dword [rbp - 0x50], eax
mov qword [rbp - 0x48], rbx
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x50], xmm0
test r15d, r15d
jne 0x140069a7b
call fcn.1400b35b0
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov dword [rsp + 0x28], 1
xor eax, eax
mov dword [rsp + 0x20], eax
xor r9d, r9d
lea edx, [rax + 1]
lea ecx, [rax + 2]
lea r8d, [rax + 6]
call qword [sym.imp.WS2_32.dll_WSASocketW]
mov r15, rax
call fcn.1400b35b0
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp - 0x50], eax
mov qword [rbp - 0x48], rbx
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x50], xmm0
xor ebx, ebx
cmp r15, 0xffffffffffffffff
jne 0x140069a9a
mov r15, rsi
jmp 0x140069ab1
cmp r15d, 0xffffffff
jne 0x140069a24
mov rax, rdi
test ecx, ecx
mov ecx, 0
cmove rax, rcx
test rax, rax
jne 0x140069d80
jmp 0x140069a24
mov dword [rbp - 0x50], ebx
call fcn.1400b35b0
mov qword [rbp - 0x48], rax
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x50], xmm0
mov eax, ebx
mov qword [rbp - 0x38], r15
cmp r15, 0xffffffffffffffff
je 0x140069d91
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov r8d, r12d
lea rdx, [rbp - 0x20]
mov rcx, r15
call qword [sym.imp.WS2_32.dll_connect]
mov r12d, eax
call fcn.1400b35b0
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, eax
mov dword [rbp - 0x50], eax
mov qword [rbp - 0x48], rbx
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x50], xmm0
test r12d, r12d
jne 0x140069c51
call fcn.1400b35b0
xor r12d, r12d
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
xor r8d, r8d
xor edx, edx
mov rcx, r14
call qword [sym.imp.WS2_32.dll_accept]
mov r14, rax
call fcn.1400b35b0
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, eax
mov dword [rbp - 0x50], eax
mov qword [rbp - 0x48], rbx
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x50], xmm0
cmp r14, 0xffffffffffffffff
je 0x140069b66
mov dword [rbp - 0x50], r12d
call fcn.1400b35b0
mov qword [rbp - 0x48], rax
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x50], xmm0
mov rsi, r14
mov ecx, r12d
mov qword [rbp - 0x28], rsi
cmp rsi, 0xffffffffffffffff
jne 0x140069b82
mov rax, rdi
test ecx, ecx
cmove rax, r12
test rax, rax
jne 0x140069ddf
mov dword [rbp - 0x3c], 1
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
lea r8, [rbp - 0x3c]
mov edx, 0x8004667e
mov rcx, r15
call qword [sym.imp.WS2_32.dll_ioctlsocket]
mov r14d, eax
call fcn.1400b35b0
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, eax
mov dword [rbp - 0x50], eax
mov qword [rbp - 0x48], rbx
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x50], xmm0
test r14d, r14d
js 0x140069be7
mov dword [rbp - 0x50], r12d
call fcn.1400b35b0
mov qword [rbp - 0x48], rax
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x50], xmm0
mov ecx, r12d
test r14d, r14d
je 0x140069bfb
mov rax, rdi
test ecx, ecx
cmove rax, r12
test rax, rax
jne 0x140069ddf
mov dword [rbp - 0x40], 1
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov dword [rsp + 0x20], 4
lea r9, [rbp - 0x40]
mov edx, 6
lea r8d, [rdx - 5]
mov rcx, r15
call qword [sym.imp.WS2_32.dll_setsockopt]
mov ebx, eax
call fcn.1400b35b0
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
test ebx, ebx
jne 0x140069c3e
call fcn.1400b35b0
mov dword [rbp - 0x3c], 1
cmp rsi, 0xffffffffffffffff
je 0x140069dc6
jmp 0x140069c78
cmp r12d, 0xffffffff
jne 0x140069b08
mov rax, rdi
test ecx, ecx
mov r12d, 0
cmove rax, r12
test rax, rax
jne 0x140069db5
jmp 0x140069b0b
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
lea r8, [rbp - 0x3c]
mov edx, 0x8004667e
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_ioctlsocket]
mov r14d, eax
call fcn.1400b35b0
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp - 0x50], eax
mov qword [rbp - 0x48], rbx
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x50], xmm0
test r14d, r14d
js 0x140069cd4
mov dword [rbp - 0x50], r12d
call fcn.1400b35b0
mov qword [rbp - 0x48], rax
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x50], xmm0
mov eax, r12d
test r14d, r14d
je 0x140069ce5
test eax, eax
cmove rdi, r12
test rdi, rdi
jne 0x140069ddf
mov dword [rbp - 0x40], 1
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov dword [rsp + 0x20], 4
lea r9, [rbp - 0x40]
mov edx, 6
lea r8d, [rdx - 5]
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_setsockopt]
mov ebx, eax
call fcn.1400b35b0
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
test ebx, ebx
jne 0x140069d28
call fcn.1400b35b0
mov qword [r13], rsi
mov qword [r13 + 8], r15
lea rcx, [rbp - 0x30]
call fcn.140069680
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1401fb000
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400b35b0
nop
mov dword [rbp - 0x50], 0x2719
mov qword [rbp - 0x48], rax
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x50], xmm0
lea rdx, str.socket_select_interrupter
lea rcx, [rbp - 0x50]
call fcn.140021d20
nop
test eax, eax
cmove rdi, rbx
test rdi, rdi
jne 0x140069db5
call fcn.1400b35b0
mov dword [rbp - 0x50], 0x2719
mov qword [rbp - 0x48], rax
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x50], xmm0
lea rdx, str.socket_select_interrupter
lea rcx, [rbp - 0x50]
call fcn.140021d20
nop
call fcn.1400b35b0
mov dword [rbp - 0x50], 0x2719
mov qword [rbp - 0x48], rax
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x50], xmm0
lea rdx, str.socket_select_interrupter
lea rcx, [rbp - 0x50]
call fcn.140021d20
int3