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

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
mov dword [rsp + 8], ecx
push rdi
sub rsp, 0x110
lea rdi, [rsp + 0x30]
mov ecx, gethostname
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov ecx, dword [rsp + 0x120]
mov rax, qword [0x140241cc0]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov dword [rsp + 0x94], reloc.WS2_32.dll_recv
mov dword [rsp + 0xb4], 1
mov r8d, 6
mov edx, 1
mov ecx, 2
call qword [sym.imp.WS2_32.dll_socket]
mov qword [rsp + 0x88], rax
cmp qword [rsp + 0x88], 0xffffffffffffffff
jne 0x1400a8c0d
mov eax, 0xffffffff
jmp 0x1400a8f4d
mov r8d, reloc.WS2_32.dll_recv
xor edx, edx
lea rcx, [rsp + 0x38]
call fcn.14012d430
mov eax, 2
mov word [rsp + 0x38], ax
mov ecx, 0x7f000001
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rsp + 0x3c], eax
xor eax, eax
mov word [rsp + 0x3a], ax
mov eax, 8
imul rax, rax, 1
mov rcx, qword [rsp + 0x138]
mov qword [rcx + rax], 0xffffffffffffffff
mov eax, 8
imul rax, rax, 0
mov rcx, qword [rsp + 0x138]
mov qword [rcx + rax], 0xffffffffffffffff
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0xb4]
mov r8d, 4
mov edx, 0xffff
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
jne 0x1400a8ca4
jmp 0x1400a8f04
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x38]
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
jne 0x1400a8cc7
jmp 0x1400a8f04
lea r8, [rsp + 0x94]
lea rdx, [rsp + 0x38]
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.WS2_32.dll_getsockname]
cmp eax, 0xffffffff
je 0x1400a8cf1
cmp dword [rsp + 0x94], 0x10
jge 0x1400a8cf6
jmp 0x1400a8f04
mov edx, 1
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.WS2_32.dll_listen]
cmp eax, 0xffffffff
jne 0x1400a8d13
jmp 0x1400a8f04
xor r8d, r8d
mov edx, 1
mov ecx, 2
call qword [sym.imp.WS2_32.dll_socket]
mov ecx, 8
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x138]
mov qword [rdx + rcx], rax
mov eax, 8
imul rax, rax, 0
mov rcx, qword [rsp + 0x138]
cmp qword [rcx + rax], 0xffffffffffffffff
jne 0x1400a8d58
jmp 0x1400a8f04
mov eax, 8
imul rax, rax, 0
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x38]
mov rcx, qword [rsp + 0x138]
mov rcx, qword [rcx + rax]
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x1400a8d88
jmp 0x1400a8f04
mov edx, 1
mov rcx, qword [rsp + 0x88]
call fcn.1400db510
test eax, eax
jge 0x1400a8da3
jmp 0x1400a8f04
mov eax, reloc.WS2_32.dll_recv
imul rax, rax, 0
mov rcx, qword [rsp + 0x88]
mov qword [rsp + rax + 0xd8], rcx
mov eax, reloc.WS2_32.dll_recv
imul rax, rax, 0
mov ecx, 0x300
mov word [rsp + rax + 0xe0], cx
mov eax, reloc.WS2_32.dll_recv
imul rax, rax, 0
xor ecx, ecx
mov word [rsp + rax + 0xe2], cx
mov r8d, 0x2710
mov edx, 1
lea rcx, [rsp + 0xd8]
call fcn.14009ee30
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.WS2_32.dll_accept]
mov ecx, 8
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x138]
mov qword [rdx + rcx], rax
mov eax, 8
imul rax, rax, 1
mov rcx, qword [rsp + 0x138]
cmp qword [rcx + rax], 0xffffffffffffffff
jne 0x1400a8e42
jmp 0x1400a8f04
mov dword [rsp + 0x94], reloc.WS2_32.dll_recv
mov eax, 8
imul rax, rax, 0
lea r8, [rsp + 0x94]
lea rdx, [rsp + 0x38]
mov rcx, qword [rsp + 0x138]
mov rcx, qword [rcx + rax]
call qword [sym.imp.WS2_32.dll_getsockname]
cmp eax, 0xffffffff
je 0x1400a8e84
cmp dword [rsp + 0x94], 0x10
jge 0x1400a8e86
jmp 0x1400a8f04
mov dword [rsp + 0x94], reloc.WS2_32.dll_recv
mov eax, 8
imul rax, rax, 1
lea r8, [rsp + 0x94]
lea rdx, [rsp + 0x68]
mov rcx, qword [rsp + 0x138]
mov rcx, qword [rcx + rax]
call qword [sym.imp.WS2_32.dll_getpeername]
cmp eax, 0xffffffff
je 0x1400a8ec8
cmp dword [rsp + 0x94], 0x10
jge 0x1400a8eca
jmp 0x1400a8f04
movzx eax, word [rsp + 0x38]
movzx ecx, word [rsp + 0x68]
cmp eax, ecx
jne 0x1400a8ef0
mov eax, dword [rsp + 0x6c]
cmp dword [rsp + 0x3c], eax
jne 0x1400a8ef0
movzx eax, word [rsp + 0x3a]
movzx ecx, word [rsp + 0x6a]
cmp eax, ecx
je 0x1400a8ef2
jmp 0x1400a8f04
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.WS2_32.dll_closesocket]
xor eax, eax
jmp 0x1400a8f4d
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.WS2_32.dll_closesocket]
mov eax, 8
imul rax, rax, 0
mov rcx, qword [rsp + 0x138]
mov rcx, qword [rcx + rax]
call qword [sym.imp.WS2_32.dll_closesocket]
mov eax, 8
imul rax, rax, 1
mov rcx, qword [rsp + 0x138]
mov rcx, qword [rcx + rax]
call qword [sym.imp.WS2_32.dll_closesocket]
mov eax, 0xffffffff
mov rdi, rax
mov rcx, rsp
lea rdx, reloc.WS2_32.dll_getpeername
call fcn.1400f66ec
mov rax, rdi
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.1400f5cb0
add rsp, 0x110
pop rdi
ret