Function at 0x140102160
Capabilities:
Create udp socket
Get local ipv4 addresses
Get socket information
Set socket configuration

Disassembly:
push rbp
mov rbp, rsp
push r14
mov r14, rdx
push r13
push r12
push rdi
push rsi
mov rsi, rcx
mov ecx, 0x58
push rbx
mov rbx, r8
and rsp, 0xfffffffffffffff0
sub rsp, 0xc0
call sub.msvcrt.dll_malloc
mov r12, rax
test rax, rax
je 0x140102335
lea rdx, [rsp + 0x60]
xor eax, eax
mov ecx, 0xb
mov rdi, rdx
rep stosq qword [rdi], rax
lea rax, [0x1401aa2e0]
mov rcx, 0xffffffffffffffff
mov qword [rsp + 0x68], rax
call fcn.1400d07c0
xor r8d, r8d
mov edx, 2
mov ecx, 2
mov dword [rax + 0x34], 5
mov r13, rax
mov qword [rax + 0x2e8], r12
mov qword [r12 + 0x40], rbx
mov qword [r12], rsi
mov qword [r12 + 0x38], r14
mov qword [r12 + 0x28], rax
mov rax, qword [rax + 0x38]
mov qword [r12 + 0x48], 0
mov qword [r12 + 0x30], rax
call qword [sym.imp.WS2_32.dll_socket]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x140102388
lea r9, [rsp + 0x44]
mov r8d, 0x1002
mov edx, 0xffff
mov rcx, rax
mov dword [rsp + 0x44], 0x1000
lea r14, [rsp + 0x50]
mov dword [rsp + 0x20], 4
call qword [sym.imp.WS2_32.dll_setsockopt]
lea r8, [rsp + 0x48]
mov rcx, rbx
mov edx, 0x8004667e
mov dword [rsp + 0x48], 1
call qword [sym.imp.WS2_32.dll_ioctlsocket]
mov eax, 2
mov ecx, 0x7f000001
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 0
mov word [rsp + 0x50], ax
call qword [sym.imp.WS2_32.dll_htonl]
mov r8d, 0x10
mov rdx, r14
mov rcx, rbx
mov dword [rsp + 0x54], eax
call qword [sym.imp.WS2_32.dll_bind]
test eax, eax
js 0x140102350
mov dword [rsp + 0x4c], 0x64
lea r8, [rsp + 0x4c]
mov rdx, r14
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_getsockname]
movzx eax, word [rsp + 0x52]
mov word [r12 + 0x10], ax
mov dword [rsp + 0x30], 0
lea rcx, [r12 + 0x48]
mov rdx, qword [0x1403ef600]
mov r9, r12
mov dword [rsp + 0x28], 0
lea r8, [0x140054880]
mov dword [rsp + 0x20], esi
call qword [sym.imp.KERNEL32.dll_CreateTimerQueueTimer]
test eax, eax
je 0x1401023d0
mov qword [r13], rbx
mov rax, qword [r12 + 0x28]
xor r8d, r8d
xor edx, edx
mov r9d, 6
xor ecx, ecx
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
lea rax, str.Create_timer_on_socket__d
mov qword [rsp + 0x20], rax
call fcn.14005a150
mov qword [r12 + 8], rbx
lea rsp, [rbp - 0x30]
mov rax, r12
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop rbp
ret
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r9d, 7
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x28], eax
lea rax, str.Bind_error:__d
lea r8, str.dap_timerfd
mov qword [rsp + 0x20], rax
call fcn.14005a150
jmp 0x1401022c9
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r9d, 7
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x28], eax
lea rax, str.Error_creating_socket_for_type_timer:__d
lea r8, str.dap_timerfd
mov qword [rsp + 0x20], rax
call fcn.14005a150
mov rcx, r12
xor r12d, r12d
call sub.msvcrt.dll_free
mov rcx, r13
call sub.msvcrt.dll_free
jmp 0x140102335
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, 8
lea r8, str.dap_timerfd
mov edx, 0xd9
mov dword [rsp + 0x28], eax
lea rax, str.Timer_not_set__error__lu
lea rcx, str.dap_timerfd_create
mov qword [rsp + 0x20], rax
call fcn.14005a150
mov rcx, r12
xor r12d, r12d
call sub.msvcrt.dll_free
jmp 0x140102335