Function at 0x14000dde0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbx
push rsi
push rdi
sub rsp, 0x70
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
test rdx, rdx
je 0x14000e4e0
mov qword [rax + 0x20], rbp
lea rbp, [r8 + rdx]
mov qword [rax - 0x20], r14
mov qword [rax - 0x28], r15
mov r15, qword [rcx + 0x238]
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
test r15, r15
jne 0x14000de2e
lea r15, [rcx + 0x40]
movups xmm6, xmmword [rcx]
mov r14d, 0x100
movups xmm7, xmmword [rcx + 0x10]
movups xmm8, xmmword [rcx + 0x20]
movups xmm9, xmmword [rcx + 0x30]
add qword [rcx + 0x210], rsi
mov ecx, dword [rcx + 0x200]
sub r14d, ecx
cmp rsi, r14
ja 0x14000de74
add rcx, 0x100
add rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
add dword [rbx + 0x200], esi
jmp 0x14000e4b8
test ecx, ecx
je 0x14000e16d
add rcx, 0x100
mov r8, r14
add rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rbx + 0x208]
add rdi, r14
mov r11, qword [rbx + 0x218]
lea r14, [rbx + 0x100]
mov rdx, qword [rbx + 0x220]
mov r8, r11
sub r8, rax
mov r10d, 4
lea rcx, [r15 + rax*8]
mov r9, r14
cmp r8, r10
ja 0x14000e093
movdqa xmm3, xmmword [0x140310200]
lea rsi, [rdx + r15]
test r8, r8
je 0x14000dfb0
add rcx, 0x20
lea rax, [r9 + 0x10]
mov rdx, r8
nop dword [rax]
prefetcht0 byte [rax + 0x170]
movdqu xmm2, xmmword [rax - 0x10]
lea rax, [rax + 0x40]
movdqu xmm0, xmmword [rcx - 0x20]
lea rcx, [rcx + 8]
xorps xmm0, xmm2
pshufd xmm1, xmm0, 0x31
pmuludq xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
paddq xmm0, xmm6
movdqu xmm2, xmmword [rax - 0x40]
movdqa xmm6, xmm1
paddq xmm6, xmm0
movdqu xmm0, xmmword [rcx - 0x18]
xorps xmm0, xmm2
pshufd xmm1, xmm0, 0x31
pmuludq xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
paddq xmm0, xmm7
movdqu xmm2, xmmword [rax - 0x30]
movdqa xmm7, xmm1
paddq xmm7, xmm0
movdqu xmm0, xmmword [rcx - 8]
xorps xmm0, xmm2
pshufd xmm1, xmm0, 0x31
pmuludq xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
paddq xmm0, xmm8
movdqu xmm2, xmmword [rcx + 8]
movdqa xmm8, xmm1
paddq xmm8, xmm0
movdqu xmm0, xmmword [rax - 0x20]
xorps xmm2, xmm0
pshufd xmm0, xmm0, 0x4e
pshufd xmm1, xmm2, 0x31
paddq xmm9, xmm0
pmuludq xmm1, xmm2
paddq xmm9, xmm1
sub rdx, 1
jne 0x14000def0
nop word [rax + rax]
movdqu xmm0, xmmword [rsi]
mov rax, r8
sub r10, r8
movdqa xmm1, xmm6
shl rax, 6
psrlq xmm1, 0x2f
add r9, rax
xorps xmm1, xmm6
mov r8, r11
xorps xmm1, xmm0
mov rcx, r15
pshufd xmm6, xmm1, 0x31
pmuludq xmm1, xmm3
pmuludq xmm6, xmm3
movdqu xmm0, xmmword [rsi + 0x10]
psllq xmm6, 0x20
paddq xmm6, xmm1
movdqa xmm1, xmm7
psrlq xmm1, 0x2f
xorps xmm1, xmm7
xorps xmm1, xmm0
pshufd xmm7, xmm1, 0x31
pmuludq xmm1, xmm3
pmuludq xmm7, xmm3
movdqu xmm0, xmmword [rsi + 0x20]
psllq xmm7, 0x20
paddq xmm7, xmm1
movdqa xmm1, xmm8
psrlq xmm1, 0x2f
xorps xmm1, xmm8
xorps xmm1, xmm0
pshufd xmm8, xmm1, 0x31
pmuludq xmm1, xmm3
pmuludq xmm8, xmm3
movdqu xmm0, xmmword [rsi + 0x30]
psllq xmm8, 0x20
paddq xmm8, xmm1
movdqa xmm1, xmm9
psrlq xmm1, 0x2f
xorps xmm1, xmm9
xorps xmm1, xmm0
pshufd xmm9, xmm1, 0x31
pmuludq xmm9, xmm3
pmuludq xmm1, xmm3
psllq xmm9, 0x20
paddq xmm9, xmm1
cmp r10, r11
jae 0x14000ded5
mov qword [rbx + 0x208], 0
test r10, r10
je 0x14000e161
add rcx, 0x20
lea rax, [r9 + 0x10]
mov rdx, r10
nop
prefetcht0 byte [rax + 0x170]
movdqu xmm2, xmmword [rax - 0x10]
movdqu xmm0, xmmword [rcx - 0x20]
lea rcx, [rcx + 8]
movdqu xmm3, xmmword [rax + 0x10]
lea rax, [rax + 0x40]
xorps xmm0, xmm2
pshufd xmm1, xmm0, 0x31
pmuludq xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
paddq xmm0, xmm6
movdqu xmm2, xmmword [rax - 0x40]
movdqa xmm6, xmm1
paddq xmm6, xmm0
movdqu xmm0, xmmword [rcx - 0x18]
xorps xmm0, xmm2
pshufd xmm1, xmm0, 0x31
pmuludq xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
paddq xmm0, xmm7
movdqa xmm7, xmm1
movdqa xmm1, xmm3
paddq xmm7, xmm0
movdqu xmm0, xmmword [rcx - 8]
xorps xmm1, xmm0
pshufd xmm0, xmm3, 0x4e
pshufd xmm2, xmm1, 0x31
paddq xmm0, xmm8
pmuludq xmm2, xmm1
movdqa xmm8, xmm2
paddq xmm8, xmm0
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm2, xmmword [rcx + 8]
xorps xmm2, xmm0
pshufd xmm0, xmm0, 0x4e
pshufd xmm1, xmm2, 0x31
paddq xmm9, xmm0
pmuludq xmm1, xmm2
paddq xmm9, xmm1
sub rdx, 1
jne 0x14000e0a0
add qword [rbx + 0x208], r10
mov dword [rbx + 0x200], 0
jmp 0x14000e174
lea r14, [rbx + 0x100]
mov r9, rbp
sub r9, rdi
cmp r9, 0x100
jle 0x14000e48e
mov rax, qword [rbx + 0x208]
dec r9
mov r11, qword [rbx + 0x218]
mov rdx, qword [rbx + 0x220]
mov r8, r11
sub r8, rax
shr r9, 6
lea rcx, [r15 + rax*8]
cmp r9, r8
jb 0x14000e37e
movdqa xmm3, xmmword [0x140310200]
lea r10, [rdx + r15]
test r8, r8
je 0x14000e2a0
add rcx, 0x20
lea rax, [rdi + 0x10]
mov rdx, r8
nop word [rax + rax]
prefetcht0 byte [rax + 0x170]
movdqu xmm2, xmmword [rax - 0x10]
lea rax, [rax + 0x40]
movdqu xmm0, xmmword [rcx - 0x20]
lea rcx, [rcx + 8]
xorps xmm0, xmm2
pshufd xmm1, xmm0, 0x31
pmuludq xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
paddq xmm0, xmm6
movdqu xmm2, xmmword [rax - 0x40]
movdqa xmm6, xmm1
paddq xmm6, xmm0
movdqu xmm0, xmmword [rcx - 0x18]
xorps xmm0, xmm2
pshufd xmm1, xmm0, 0x31
pmuludq xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
paddq xmm0, xmm7
movdqu xmm2, xmmword [rax - 0x30]
movdqa xmm7, xmm1
paddq xmm7, xmm0
movdqu xmm0, xmmword [rcx - 8]
xorps xmm0, xmm2
pshufd xmm1, xmm0, 0x31
pmuludq xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
paddq xmm0, xmm8
movdqu xmm2, xmmword [rcx + 8]
movdqa xmm8, xmm1
paddq xmm8, xmm0
movdqu xmm0, xmmword [rax - 0x20]
xorps xmm2, xmm0
pshufd xmm0, xmm0, 0x4e
pshufd xmm1, xmm2, 0x31
paddq xmm9, xmm0
pmuludq xmm1, xmm2
paddq xmm9, xmm1
sub rdx, 1
jne 0x14000e1e0
nop word [rax + rax]
movdqu xmm0, xmmword [r10]
mov rax, r8
sub r9, r8
movdqa xmm1, xmm6
shl rax, 6
psrlq xmm1, 0x2f
add rdi, rax
xorps xmm1, xmm6
mov r8, r11
xorps xmm1, xmm0
mov rcx, r15
pshufd xmm6, xmm1, 0x31
pmuludq xmm1, xmm3
pmuludq xmm6, xmm3
movdqu xmm0, xmmword [r10 + 0x10]
psllq xmm6, 0x20
paddq xmm6, xmm1
movdqa xmm1, xmm7
psrlq xmm1, 0x2f
xorps xmm1, xmm7
xorps xmm1, xmm0
pshufd xmm7, xmm1, 0x31
pmuludq xmm1, xmm3
pmuludq xmm7, xmm3
movdqu xmm0, xmmword [r10 + 0x20]
psllq xmm7, 0x20
paddq xmm7, xmm1
movdqa xmm1, xmm8
psrlq xmm1, 0x2f
xorps xmm1, xmm8
xorps xmm1, xmm0
pshufd xmm8, xmm1, 0x31
pmuludq xmm1, xmm3
pmuludq xmm8, xmm3
movdqu xmm0, xmmword [r10 + 0x30]
psllq xmm8, 0x20
paddq xmm8, xmm1
movdqa xmm1, xmm9
psrlq xmm1, 0x2f
xorps xmm1, xmm9
xorps xmm1, xmm0
pshufd xmm9, xmm1, 0x31
pmuludq xmm9, xmm3
pmuludq xmm1, xmm3
psllq xmm9, 0x20
paddq xmm9, xmm1
cmp r9, r11
jae 0x14000e1c2
mov qword [rbx + 0x208], 0
test r9, r9
je 0x14000e462
add rcx, 0x20
lea rax, [rdi + 0x10]
mov rdx, r9
prefetcht0 byte [rax + 0x170]
movdqu xmm2, xmmword [rax - 0x10]
movdqu xmm0, xmmword [rcx - 0x20]
lea rcx, [rcx + 8]
movdqu xmm3, xmmword [rax + 0x10]
lea rax, [rax + 0x40]
xorps xmm0, xmm2
pshufd xmm1, xmm0, 0x31
pmuludq xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
paddq xmm0, xmm6
movdqu xmm2, xmmword [rax - 0x40]
movdqa xmm6, xmm1
paddq xmm6, xmm0
movdqu xmm0, xmmword [rcx - 0x18]
xorps xmm0, xmm2
pshufd xmm1, xmm0, 0x31
pmuludq xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
paddq xmm0, xmm7
movdqa xmm7, xmm1
movdqa xmm1, xmm3
paddq xmm7, xmm0
movdqu xmm0, xmmword [rcx - 8]
xorps xmm1, xmm0
pshufd xmm0, xmm3, 0x4e
pshufd xmm2, xmm1, 0x31
paddq xmm0, xmm8
pmuludq xmm2, xmm1
movdqa xmm8, xmm2
paddq xmm8, xmm0
movdqu xmm2, xmmword [rax - 0x20]
movdqu xmm0, xmmword [rcx + 8]
xorps xmm0, xmm2
pshufd xmm1, xmm0, 0x31
pmuludq xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
paddq xmm0, xmm9
movdqa xmm9, xmm1
paddq xmm9, xmm0
sub rdx, 1
jne 0x14000e392
mov rax, r9
shl rax, 6
add rdi, rax
add qword [rbx + 0x208], r9
movups xmm0, xmmword [rdi - 0x40]
movups xmmword [rbx + 0x1c0], xmm0
movups xmm1, xmmword [rdi - 0x30]
movups xmmword [rbx + 0x1d0], xmm1
movups xmm0, xmmword [rdi - 0x20]
movups xmmword [rbx + 0x1e0], xmm0
movups xmm1, xmmword [rdi - 0x10]
movups xmmword [rbx + 0x1f0], xmm1
mov r8, rbp
mov rdx, rdi
sub r8, rdi
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
sub ebp, edi
mov dword [rbx + 0x200], ebp
movups xmmword [rbx], xmm6
movups xmmword [rbx + 0x10], xmm7
movups xmmword [rbx + 0x20], xmm8
movups xmmword [rbx + 0x30], xmm9
movaps xmm8, xmmword [rsp + 0x30]
movaps xmm7, xmmword [rsp + 0x40]
movaps xmm6, xmmword [rsp + 0x50]
mov r15, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
mov rbp, qword [rsp + 0xa8]
movaps xmm9, xmmword [rsp + 0x20]
xor eax, eax
add rsp, 0x70
pop rdi
pop rsi
pop rbx
ret