Function at 0x1400013d0
Capabilities:
Convert ip address from string
Create udp socket
Encode data using xor
Generate random numbers using a mersenne twister
Initialize winsock library
Send data
Send data on socket

Disassembly:
push rbx
mov eax, 0x15b0
call fcn.140004960
sub rsp, rax
mov rax, qword [0x140008040]
xor rax, rsp
mov qword [rsp + 0x1580], rax
mov rbx, rcx
lea rdx, [rsp + 0x50]
mov ecx, 0x202
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x14000170f
mov qword [rsp + 0x15c8], rbp
mov r8d, sendto
mov qword [rsp + 0x15d8], rdi
mov edi, 2
mov edx, edi
mov ecx, edi
call qword [sym.imp.WS2_32.dll_socket]
mov rbp, rax
cmp rax, 0xffffffffffffffff
jne 0x140001445
call qword [sym.imp.WS2_32.dll_WSACleanup]
jmp 0x1400016ff
mov qword [rsp + 0x15d0], rsi
mov ecx, 0x1f90
mov qword [rsp + 0x15a8], r12
mov qword [rsp + 0x15a0], r13
mov qword [rsp + 0x1598], r14
mov qword [rsp + 0x1590], r15
mov word [rsp + 0x38], di
call qword [sym.imp.WS2_32.dll_htons]
cmp qword [rbx + 0x18], 0xf
mov word [rsp + 0x3a], ax
jbe 0x14000148c
mov rbx, qword [rbx]
lea r8, [rsp + 0x3c]
mov rdx, rbx
mov ecx, edi
call qword [sym.imp.WS2_32.dll_inet_pton]
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rsp + 0x1574], 0xffffffff
mov edx, 1
mov dword [rsp + 0x1f4], eax
nop dword [rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rsp + rdx*4 + 0x1f4], eax
inc rdx
cmp rdx, 0x270
jb 0x1400014c0
mov dword [rsp + 0x1f0], 0x270
movabs rdi, 0x7fffffff88ca6bff
movabs r13, 0x7fffffffffffffff
movabs r12, 0xb2f4fc0794908cf3
movabs r14, 0x4e94914f0000
movabs r15, 0x431bde82d7b634db
nop
mov ecx, 0x400
call fcn.140003a10
xor edx, edx
mov r8d, 0x400
mov rcx, rax
mov rsi, rax
call sub.VCRUNTIME140.dll_memset
xor ebx, ebx
nop
lea rcx, [rsp + 0x1f0]
call fcn.1400037f0
shr eax, 0x18
mov byte [rbx + rsi], al
inc rbx
cmp rbx, 0x400
jl 0x140001540
lea rax, [rsp + 0x38]
mov dword [rsp + 0x28], sendto
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8d, 0x400
mov rdx, rsi
mov rcx, rbp
call qword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
je 0x1400016b6
lea rcx, [rsp + 0x30]
call fcn.1400012f0
mov rax, qword [rsp + 0x30]
cmp rax, rdi
lea rdi, [rax + 0x77359400]
jl 0x1400015b0
mov rdi, r13
nop dword [rax]
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
mov rcx, rax
cmp rbx, 0x989680
jne 0x1400015d1
imul rax, rcx, 0x64
jmp 0x140001642
cmp rbx, 0x16e3600
jne 0x140001624
mov rax, r12
imul rcx
lea r8, [rcx + rdx]
sar r8, 0x18
mov rax, r8
shr rax, 0x3f
add r8, rax
imul rax, r8, 0x16e3600
sub rcx, rax
mov rax, r12
imul rcx, rcx, 0x3b9aca00
imul rcx
lea rax, [rcx + rdx]
sar rax, 0x18
mov rcx, rax
shr rcx, 0x3f
add rax, rcx
imul rcx, r8, 0x3b9aca00
jmp 0x14000163f
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rcx, rcx, 0x3b9aca00
add rax, rcx
cmp rax, rdi
jge 0x140001691
mov rcx, rdi
sub rcx, rax
cmp rcx, r14
jle 0x140001663
mov edx, 0x5265c00
mov ecx, edx
call sub.KERNEL32.dll_Sleep
jmp 0x1400015b0
mov rax, r15
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rax, rdx, 0xf4240
cmp rax, rcx
jge 0x140001685
inc edx
mov ecx, edx
call sub.KERNEL32.dll_Sleep
jmp 0x1400015b0
movabs rdi, 0x7fffffff88ca6bff
test rsi, rsi
je 0x140001520
mov edx, 0x400
mov rcx, rsi
call fcn.140003c8c
jmp 0x140001520
mov r15, qword [rsp + 0x1590]
mov r14, qword [rsp + 0x1598]
mov r13, qword [rsp + 0x15a0]
mov r12, qword [rsp + 0x15a8]
test rsi, rsi
je 0x1400016e8
mov edx, 0x400
mov rcx, rsi
call fcn.140003c8c
mov rcx, rbp
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov rsi, qword [rsp + 0x15d0]
mov rbp, qword [rsp + 0x15c8]
mov rdi, qword [rsp + 0x15d8]
mov rcx, qword [rsp + 0x1580]
xor rcx, rsp
call fcn.1400039f0
add rsp, 0x15b0
pop rbx
ret