Function at 0x140016c50
Capabilities:
Connect socket
Get local ipv4 addresses
Get socket information
Receive data
Receive data on socket

Disassembly:
jmp 0x140016c50
mov word [rsp + 0x20], r9w
mov qword [rsp + 0x18], r8
mov word [rsp + 0x10], dx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x1b8
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, gethostbyname
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x1d8]
mov rax, qword [0x1400298a8]
xor rax, rbp
mov qword [rbp + 0x178], rax
lea rcx, reloc.WS2_32.dll_accept
call fcn.1400012ad
mov qword [rbp + 0x48], 0
call qword [sym.imp.ucrtbased.dll__errno]
mov dword [rax], 0
movzx eax, word [rbp + 0x1b8]
movzx ecx, word [rbp + 0x1a8]
mov r9d, eax
mov r8, qword [rbp + 0x1b0]
mov edx, ecx
mov rcx, qword [rbp + 0x1a0]
call fcn.1400011ae
mov dword [rbp + 4], eax
cmp dword [rbp + 4], 0
jg 0x140016cf6
mov eax, 0xffffffff
jmp 0x14001712a
movzx eax, word [0x140029f50]
test eax, eax
je 0x140016d1a
movzx eax, word [rbp + 0x1b8]
test eax, eax
jne 0x140016d18
lea rcx, str.UDP_listen_needs__p_arg
call fcn.140001046
jmp 0x140016d40
movsxd rax, dword [rbp + 4]
mov edx, 1
mov rcx, rax
call sub.WS2_32.dll_listen
mov dword [rbp + 0x24], eax
cmp dword [rbp + 0x24], 0
jge 0x140016d40
lea rcx, str.local_listen_fuxored
call fcn.140001046
movzx eax, word [0x140029f54]
test eax, eax
je 0x140016e14
mov dword [rbp + 0x64], reloc.WS2_32.dll_recv
movsxd rax, dword [rbp + 4]
lea r8, [rbp + 0x64]
mov rdx, qword [0x140029f08]
mov rcx, rax
call sub.WS2_32.dll_getsockname
mov dword [rbp + 0x24], eax
cmp dword [rbp + 0x24], 0
jge 0x140016d82
lea rcx, str.local_getsockname_failed
call fcn.14000105f
lea rdx, str.listening_on__
mov rcx, qword [0x14002a768]
call sub.ucrtbased.dll_strcpy
mov rax, qword [0x140029f08]
cmp dword [rax + 4], 0
je 0x140016dc2
mov rax, qword [0x140029f08]
mov ecx, dword [rax + 4]
call sub.WS2_32.dll_inet_ntoa
mov rdx, rax
mov rcx, qword [0x14002a768]
call sub.ucrtbased.dll_strcat
jmp 0x140016dd5
lea rdx, [0x1400240b4]
mov rcx, qword [0x14002a768]
call sub.ucrtbased.dll_strcat
lea rdx, str.___d_...
mov rcx, qword [0x14002a768]
call sub.ucrtbased.dll_strcat
mov rax, qword [0x140029f08]
movzx ecx, word [rax + 2]
call sub.WS2_32.dll_ntohs
mov word [rbp + 0xa4], ax
movzx eax, word [rbp + 0xa4]
mov edx, eax
mov rcx, qword [0x14002a768]
call fcn.14000105f
movzx eax, word [0x140029f50]
test eax, eax
je 0x140016eb6
mov dword [rbp + 0x64], reloc.WS2_32.dll_recv
mov edx, dword [0x140029f58]
mov ecx, 2
call fcn.1400011fe
lea rcx, [0x140029de0]
mov rdx, rbp
add rdx, 0xffffffffffffffd0
call sub.VCRUNTIME140D.dll___intrinsic_setjmp
test eax, eax
jne 0x140016e8a
movsxd rax, dword [rbp + 4]
lea rcx, [rbp + 0x64]
mov qword [rsp + 0x28], rcx
mov rcx, qword [0x140029f10]
mov qword [rsp + 0x20], rcx
mov r9d, 2
mov r8d, 0x2000
mov rdx, qword [0x14002a768]
mov rcx, rax
call sub.WS2_32.dll_recvfrom
mov dword [rbp + 0x24], eax
jmp 0x140016e8f
jmp 0x1400170fc
xor edx, edx
xor ecx, ecx
call fcn.1400011fe
movsxd rax, dword [rbp + 4]
mov r8d, reloc.WS2_32.dll_recv
mov rdx, qword [0x140029f10]
mov rcx, rax
call sub.WS2_32.dll_connect
mov dword [rbp + 0x24], eax
jmp 0x140016f31
mov dword [rbp + 0x64], reloc.WS2_32.dll_recv
mov edx, dword [0x140029f58]
mov ecx, 2
call fcn.1400011fe
lea rcx, [0x140029de0]
mov rdx, rbp
add rdx, 0xffffffffffffffd0
call sub.VCRUNTIME140D.dll___intrinsic_setjmp
test eax, eax
jne 0x140016f00
movsxd rax, dword [rbp + 4]
lea r8, [rbp + 0x64]
mov rdx, qword [0x140029f10]
mov rcx, rax
call sub.WS2_32.dll_accept
mov dword [rbp + 0x24], eax
jmp 0x140016f05
jmp 0x1400170fc
xor edx, edx
xor ecx, ecx
call fcn.1400011fe
movsxd rax, dword [rbp + 4]
mov edx, 2
mov rcx, rax
call sub.WS2_32.dll_shutdown
movsxd rax, dword [rbp + 4]
mov rcx, rax
call sub.WS2_32.dll_closesocket
mov eax, dword [rbp + 0x24]
mov dword [rbp + 4], eax
cmp dword [rbp + 0x24], 0
jge 0x140016f3c
jmp 0x140017108
mov r8d, 0x40
xor edx, edx
mov rcx, qword [0x14002a768]
call sub.VCRUNTIME140D.dll_memset
mov eax, 1
imul rax, rax, 0x20
mov rcx, qword [0x14002a768]
add rcx, rax
mov rax, rcx
mov qword [rbp + 0x88], rax
mov dword [rbp + 0x64], reloc.WS2_32.dll_recv
movsxd rax, dword [rbp + 4]
lea r8, [rbp + 0x64]
mov rdx, qword [0x140029f08]
mov rcx, rax
call sub.WS2_32.dll_getsockname
mov dword [rbp + 0x24], eax
cmp dword [rbp + 0x24], 0
jge 0x140016fa0
lea rcx, str.post_rcv_getsockname_failed
call fcn.14000105f
mov rax, qword [0x140029f08]
mov ecx, dword [rax + 4]
call sub.WS2_32.dll_inet_ntoa
mov rdx, rax
mov rcx, qword [rbp + 0x88]
call sub.ucrtbased.dll_strcpy
mov rax, qword [0x140029f10]
movzx ecx, word [rax + 2]
call sub.WS2_32.dll_ntohs
mov word [rbp + 0xa4], ax
mov rax, qword [0x140029f10]
mov ecx, dword [rax + 4]
call sub.WS2_32.dll_inet_ntoa
mov rdx, rax
mov rcx, qword [0x14002a768]
call sub.ucrtbased.dll_strcpy
movzx eax, word [0x140029f44]
mov edx, eax
mov rcx, qword [0x14002a768]
call fcn.1400012d5
mov qword [rbp + 0x48], rax
call qword [sym.imp.ucrtbased.dll__errno]
mov dword [rax], 0
mov dword [rbp + 0x64], 0
cmp qword [rbp + 0x1a0], 0
je 0x140017053
mov rax, qword [rbp + 0x48]
add rax, 0x1c0
mov r8d, reloc.WS2_32.dll_recv
mov rdx, rax
mov rcx, qword [rbp + 0x1a0]
call sub.VCRUNTIME140D.dll_memcmp
test eax, eax
je 0x140017053
mov dword [rbp + 0x64], 1
movzx eax, word [rbp + 0x1a8]
test eax, eax
je 0x140017077
movzx eax, word [rbp + 0xa4]
movzx ecx, word [rbp + 0x1a8]
cmp eax, ecx
je 0x140017077
mov dword [rbp + 0x64], 1
cmp dword [rbp + 0x64], 0
je 0x1400170ba
movzx eax, word [rbp + 0xa4]
mov ecx, 0x18
imul rcx, rcx, 0
mov rdx, qword [rbp + 0x48]
lea rcx, [rdx + rcx + 0x100]
mov rdx, qword [rbp + 0x48]
mov dword [rsp + 0x20], eax
mov r9, rcx
mov r8, rdx
mov rdx, qword [rbp + 0x88]
lea rcx, str.invalid_connection_to___s__from__s___s___d
call fcn.140001046
movzx eax, word [rbp + 0xa4]
mov ecx, 0x18
imul rcx, rcx, 0
mov rdx, qword [rbp + 0x48]
lea rcx, [rdx + rcx + 0x100]
mov rdx, qword [rbp + 0x48]
mov dword [rsp + 0x20], eax
mov r9, rcx
mov r8, rdx
mov rdx, qword [rbp + 0x88]
lea rcx, str.connect_to___s__from__s___s___d
call fcn.14000105f
mov eax, dword [rbp + 4]
jmp 0x14001712a
call qword [sym.imp.ucrtbased.dll__errno]
mov dword [rax], 0x274c
movsxd rax, dword [rbp + 4]
mov edx, 2
mov rcx, rax
call sub.WS2_32.dll_shutdown
movsxd rax, dword [rbp + 4]
mov rcx, rax
call sub.WS2_32.dll_closesocket
mov eax, 0xffffffff
mov rdi, rax
lea rcx, [rbp - 0x30]
lea rdx, reloc.WS2_32.dll_accept
call fcn.14000124e
mov rax, rdi
mov rcx, qword [rbp + 0x178]
xor rcx, rbp
call fcn.140001154
lea rsp, [rbp + 0x188]
pop rdi
pop rbp
ret