Function at 0x14010a050
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
push rbx
push rdi
push r14
push r15
mov eax, 0xa8
call fcn.140150d80
sub rsp, rax
mov r15d, ecx
xor r14d, r14d
lea r8, [rsp + 0x88]
lea rdx, [rsp + 0x80]
xor ecx, ecx
mov edi, r14d
mov ebx, r14d
call fcn.1400e74a0
test eax, eax
je 0x14010a341
nop dword [rax]
mov eax, dword [rsp + 0x80]
shl eax, 0xa
test r15d, eax
je 0x14010a0b1
inc edi
inc ebx
lea r8, [rsp + 0x88]
lea rdx, [rsp + 0x80]
mov ecx, ebx
call fcn.1400e74a0
test eax, eax
jne 0x14010a0a0
test edi, edi
je 0x14010a341
mov ecx, dword [rsp + 0x130]
movsxd rbx, dword [rsp + 0x148]
mov qword [rsp + 0xd0], rbp
mov rbp, qword [rsp + 0x128]
mov eax, ecx
mov qword [rsp + 0xa0], rsi
mov rsi, qword [rsp + 0x138]
cdq
mov qword [rsp + 0x98], r12
idiv edi
cmp edi, 1
mov r8, rbx
cmove ecx, r14d
xor edx, edx
mov qword [rsp + 0x90], r13
mov dword [rsp + 0x130], ecx
mov rcx, rsi
movsxd r13, eax
call fcn.140152f60
lea r8, [rsp + 0x88]
lea rdx, [rsp + 0x80]
xor ecx, ecx
call fcn.1400e74a0
test eax, eax
je 0x14010a2e4
mov rdi, qword [rsp + 0x140]
nop
mov eax, dword [rsp + 0x80]
shl eax, 0xa
test r15d, eax
je 0x14010a2c1
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x14010a317
mov eax, dword [rsp + 0x120]
mov r8d, dword [rsp + 0x130]
mov r9, qword [rsp + 0xd8]
mov dword [rsp + 0x70], ebx
mov qword [rsp + 0x68], rdi
mov dword [rsp + 0x60], eax
mov rax, qword [rsp + 0x118]
and r8d, 1
mov rdx, rbp
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x110]
add r8d, r13d
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0x100]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x38], rax
mov eax, dword [rsp + 0xf0]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0xe0]
mov dword [rsp + 0x20], eax
call fcn.14010a380
test eax, eax
je 0x14010a339
xor eax, eax
add rbp, r13
mov r9d, eax
test ebx, ebx
jle 0x14010a29b
cmp ebx, 0x20
jb 0x14010a29b
mov edx, eax
lea eax, [rbx - 1]
movsxd rcx, eax
lea rax, [rcx + rdi]
lea r8, [rcx + rsi]
cmp rsi, rax
ja 0x14010a24a
cmp r8, rdi
jae 0x14010a29b
mov eax, ebx
and eax, 0x8000001f
jge 0x14010a25a
dec eax
or eax, 0xffffffe0
inc eax
mov r8d, ebx
sub r8d, eax
movsxd rax, edx
add r9, 0x20
movdqu xmm0, xmmword [rax + rsi]
movdqu xmm1, xmmword [rax + rdi]
pxor xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
lea eax, [rdx + 0x10]
add edx, 0x20
movsxd rcx, eax
movdqu xmm1, xmmword [rcx + rdi]
movdqu xmm0, xmmword [rcx + rsi]
pxor xmm1, xmm0
movdqu xmmword [rcx + rsi], xmm1
cmp edx, r8d
jl 0x14010a260
cmp r9, rbx
jge 0x14010a2c1
mov r8, rdi
mov rdx, rbx
lea rax, [r9 + rsi]
sub r8, rsi
sub rdx, r9
movzx ecx, byte [r8 + rax]
lea rax, [rax + 1]
xor byte [rax - 1], cl
dec rdx
jne 0x14010a2b0
inc r14d
lea r8, [rsp + 0x88]
lea rdx, [rsp + 0x80]
mov ecx, r14d
call fcn.1400e74a0
test eax, eax
jne 0x14010a160
mov eax, 1
mov r12, qword [rsp + 0x98]
mov rsi, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0xd0]
mov r13, qword [rsp + 0x90]
add rsp, 0xa8
pop r15
pop r14
pop rdi
pop rbx
ret
mov edx, 0x11c
lea r9, [0x14021d380]
mov ecx, reloc.WS2_32.dll_sendto
lea r8d, [rdx + 0x2a]
mov dword [rsp + 0x20], 0x114
call fcn.14004cd30
xor r14d, r14d
mov eax, r14d
jmp 0x14010a2e9
mov ecx, reloc.WS2_32.dll_sendto
lea r9, [0x14021d370]
mov edx, 0x11c
lea r8d, [rcx + 0x30]
mov dword [rsp + 0x20], 0x109
call fcn.14004cd30
mov eax, r14d
add rsp, 0xa8
pop r15
pop r14
pop rdi
pop rbx
ret