Function at 0x14009d510
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov dword [rcx + 0x3cc], sendto
mov rbx, rcx
mov dword [rcx + 0x3d0], sendto
movups xmm0, xmmword [0x140219038]
movups xmmword [rcx + 0x3d8], xmm0
movups xmm1, xmmword [0x140219038]
movups xmmword [rcx + 0x3f8], xmm1
mov eax, dword [rcx + 0x3cc]
cmp eax, 0x10
je 0x14009d585
cmp eax, 0x18
mov eax, recvfrom
jne 0x14009d5a7
cmp dword [rbx + 0x3d0], 0x20
mov ecx, 0xc
cmovne eax, ecx
jmp 0x14009d5a7
mov edx, dword [rcx + 0x3d0]
cmp edx, 0x10
jne 0x14009d597
mov eax, 0xa
jmp 0x14009d5a7
cmp edx, 0x18
mov eax, recvfrom
mov ecx, 0xc
cmove eax, ecx
mov dword [rbx + 0x3d4], eax
lea rsi, [rbx + 0xc]
mov eax, dword [rbx + 0x3d0]
cdq
and edx, 3
add eax, edx
sar eax, 2
movsxd r15, eax
xor edi, edi
mov r14, r15
test r15d, r15d
jle 0x14009d5de
mov r8, r15
xor edx, edx
shl r8, 2
mov rcx, rsi
call fcn.1401467d0
mov eax, dword [rbx + 0x3d4]
inc edi
add rsi, 0x20
cmp edi, eax
jle 0x14009d5c8
xor edi, edi
test eax, eax
js 0x14009d626
lea rsi, [rbx + 0x1ec]
nop dword [rax + rax]
test r15d, r15d
jle 0x14009d616
mov r8, r15
xor edx, edx
shl r8, 2
mov rcx, rsi
call fcn.1401467d0
mov eax, dword [rbx + 0x3d4]
inc edi
add rsi, 0x20
cmp edi, eax
jle 0x14009d600
lea ebp, [rax + 1]
mov eax, dword [rbx + 0x3cc]
cdq
imul ebp, r15d
and edx, 3
lea rdi, [rbx + 0x418]
add eax, edx
lea rdx, str.asdfwetyhjuytrfd
sar eax, 2
movsxd r12, eax
test eax, eax
jle 0x14009d69f
mov r8d, r12d
nop dword [rax]
nop dword [rax + rax]
movzx ecx, byte [rdx]
lea rdi, [rdi + 4]
shl ecx, 0x18
lea rdx, [rdx + 4]
mov dword [rdi - 4], ecx
movzx eax, byte [rdx - 3]
shl eax, 0x10
or eax, ecx
mov dword [rdi - 4], eax
movzx ecx, byte [rdx - 2]
shl ecx, 8
or ecx, eax
mov dword [rdi - 4], ecx
movzx eax, byte [rdx - 1]
or ecx, eax
mov dword [rdi - 4], ecx
sub r8, 1
jne 0x14009d660
lea rdi, [rbx + 0x418]
xor r11d, r11d
lea r13, [0x140000000]
test r12d, r12d
jle 0x14009d6ff
xor r9d, r9d
cmp r11d, ebp
jge 0x14009d8e8
mov eax, r11d
inc r9
cdq
inc r11d
idiv r15d
movsxd rcx, eax
movsxd r8, edx
lea rdx, [r8 + rcx*8]
mov ecx, dword [rdi]
mov dword [rbx + rdx*4 + 0xc], ecx
mov ecx, dword [rbx + 0x3d4]
sub ecx, eax
movsxd rax, ecx
lea rcx, [r8 + rax*8]
mov eax, dword [rdi]
add rdi, 4
mov dword [rbx + rcx*4 + 0x1ec], eax
cmp r9, r12
jl 0x14009d6b1
lea rdi, [rbx + 0x418]
cmp r11d, ebp
jge 0x14009d8e8
lea r13, [0x1401f0d30]
lea r14, [0x140000000]
nop word [rax + rax]
mov r10d, dword [rbx + r12*4 + 0x414]
movzx edx, byte [r13]
lea r13, [r13 + 1]
movsxd r8, r10d
mov rax, r8
sar rax, 0x10
movzx ecx, al
mov rax, r8
sar rax, 8
movsx r9d, byte [rcx + r14 + 0x1ef7d0]
xor r9d, edx
movzx ecx, al
shl r9d, 8
movzx eax, byte [rcx + r14 + 0x1ef7d0]
xor r9d, eax
movzx eax, r8b
shl r9d, 8
movzx eax, byte [rax + r14 + 0x1ef7d0]
xor r9d, eax
mov eax, r10d
shr rax, 0x18
shl r9d, 8
movzx eax, byte [rax + r14 + 0x1ef7d0]
xor r9d, eax
xor dword [rdi], r9d
cmp r12d, 8
je 0x14009d7c7
cmp r12, 1
jle 0x14009d884
lea rcx, [rbx + 0x41c]
lea rdx, [r12 - 1]
nop
mov eax, dword [rcx - 4]
xor dword [rcx], eax
lea rcx, [rcx + 4]
sub rdx, 1
jne 0x14009d7b0
xor r9d, r9d
jmp 0x14009d88c
lea rcx, [rbx + 0x41c]
mov edx, 3
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rcx - 4]
xor dword [rcx], eax
lea rcx, [rcx + 4]
sub rdx, 1
jne 0x14009d7e0
mov eax, dword [rbx + 0x424]
mov ecx, eax
movsxd rdx, eax
shr rcx, 0x18
mov rax, rdx
sar rax, 0x10
movsx r8d, byte [rcx + r14 + 0x1ef7d0]
movzx ecx, al
shl r8d, 8
movzx eax, byte [rcx + r14 + 0x1ef7d0]
xor r8d, eax
mov rax, rdx
sar rax, 8
shl r8d, 8
movzx ecx, al
movzx eax, byte [rcx + r14 + 0x1ef7d0]
xor r8d, eax
movzx eax, dl
shl r8d, 8
movzx eax, byte [rax + r14 + 0x1ef7d0]
xor r8d, eax
xor dword [rbx + 0x428], r8d
cmp r12, 5
jle 0x14009d884
lea rax, [rbx + 0x42c]
lea rdx, [r12 - 5]
nop word [rax + rax]
mov ecx, dword [rax - 4]
xor dword [rax], ecx
lea rax, [rax + 4]
sub rdx, 1
jne 0x14009d870
xor r9d, r9d
jmp 0x14009d88c
xor r9d, r9d
test r12d, r12d
jle 0x14009d8d5
mov r10, rdi
nop
cmp r11d, ebp
jge 0x14009d8de
mov eax, r11d
inc r9
cdq
inc r11d
idiv r15d
movsxd rcx, eax
movsxd r8, edx
lea rdx, [r8 + rcx*8]
mov ecx, dword [r10]
mov dword [rbx + rdx*4 + 0xc], ecx
mov ecx, dword [rbx + 0x3d4]
sub ecx, eax
movsxd rax, ecx
lea rcx, [r8 + rax*8]
mov eax, dword [r10]
add r10, 4
mov dword [rbx + rcx*4 + 0x1ec], eax
cmp r9, r12
jl 0x14009d890
cmp r11d, ebp
jl 0x14009d720
mov r14, r15
lea r13, [0x140000000]
mov edi, 1
cmp dword [rbx + 0x3d4], edi
jle 0x14009d976
lea rsi, [rbx + 0x20c]
test r14, r14
jle 0x14009d962
mov r10, rsi
mov r11, r14
nop dword [rax + rax]
mov eax, dword [r10]
lea r10, [r10 + 4]
mov edx, eax
movsxd r9, eax
shr rdx, 0x18
mov rax, r9
sar rax, 0x10
movzx ecx, al
mov rax, r9
sar rax, 8
mov r8d, dword [r13 + rdx*4 + 0x1f1150]
xor r8d, dword [r13 + rcx*4 + 0x1ef8d0]
movzx ecx, al
movzx eax, r9b
xor r8d, dword [r13 + rcx*4 + 0x1f00d0]
xor r8d, dword [r13 + rax*4 + 0x1f0d50]
mov dword [r10 - 4], r8d
sub r11, 1
jne 0x14009d910
inc edi
add rsi, 0x20
cmp edi, dword [rbx + 0x3d4]
jl 0x14009d900
mov byte [rbx + 8], 1
jmp 0x14009d97a
mov byte [rbx + 8], dil
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret